queryA = new BasicQuery({
filter: new BasicQuery.And({name: "Justin", age: 35}),
page: new BasicQuery.PageRange(0, Infinity)
sort: "name asc"
})
queryB = new BasicQuery({
filter: new And({name: "Justin"}),
page: new BasicQuery.PageRange(0, Infinity)
sort: "name asc"
})
set.isSubset(queryA, queryB) //-> true
Current problems:
- You have to build this yourself.
- It assumes
OR
var makeEnum = require("can-query/types/make-enum");
Colors = makeEnum(["red","green", "blue"])
var redGreen = new Colors(["red","green"]);
var blue = new Colors(["blue");
set.union(redGreen, blue) //-> set.UNIVERSAL
// THIS SHOULD ACTUALLY BE:
set.union(redGreen, blue) //-> new Colors(["red", "green", "blue"])
// OTHERWISE; we can't really do `memberOf`?
Once you have Colors
:
queryA = new BasicQuery({
filter: new BasicQuery.And({
name: "Justin",
colors: new Colors(["red"])
})
})
queryB = new BasicQuery({
filter: new BasicQuery.And({
name: "Justin",
colors: new Colors(["blue"])
})
})
set.union(queryA, queryB) //->
//new BasicQuery({
// filter: new BasicQuery.And({
// name: "Justin",
// colors: new Colors(["red","blue"])
// })
//})
queryA = set.UNIVERSAL
queryB = new BasicQuery({
filter: new BasicQuery.And({
name: "Justin",
})
})
set.difference(queryA, queryB) //->
// new BasicQuery({
// filter: new BasicQuery.And({
// name: new BasicQuery.Not("Justin"),
// })
// })
- created mostly as experiement
- How do we feed in types, and what transformations are allowed?
- Where does
index
and such go?
var query = new Query({
logic: {
And: And,
Or: Or,
Not: Not
},
schema: {
colors: Colors
}
});