@wix/filter-builder 1.0.9 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/__tests__/filter.spec.js +23 -0
- package/dist/cjs/__tests__/filter.spec.js.map +1 -1
- package/dist/cjs/filter-builder.js +2 -2
- package/dist/cjs/filter-builder.js.map +1 -1
- package/dist/cjs/filter-mixin.js +7 -5
- package/dist/cjs/filter-mixin.js.map +1 -1
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/wix-data-encoder.js +17 -0
- package/dist/cjs/wix-data-encoder.js.map +1 -0
- package/dist/esm/__tests__/filter.spec.js +17 -1
- package/dist/esm/__tests__/filter.spec.js.map +1 -1
- package/dist/esm/filter-builder.js +3 -2
- package/dist/esm/filter-builder.js.map +1 -1
- package/dist/esm/filter-mixin.js +7 -7
- package/dist/esm/filter-mixin.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/wix-data-encoder.js +10 -0
- package/dist/esm/wix-data-encoder.js.map +1 -0
- package/dist/statics/filter-builder.umd.js +9 -6
- package/dist/statics/filter-builder.umd.js.map +1 -1
- package/dist/statics/filter-builder.umd.min.js +1 -1
- package/dist/statics/filter-builder.umd.min.js.map +1 -1
- package/dist/statics/manifest.json +1 -1
- package/dist/statics/manifest.min.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/filter-builder.d.ts +4 -2
- package/dist/types/filter-builder.d.ts.map +1 -1
- package/dist/types/filter-mixin.d.ts +3 -1
- package/dist/types/filter-mixin.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/wix-data-encoder.d.ts +2 -0
- package/dist/types/wix-data-encoder.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -16,6 +16,29 @@ function inAnd(...args) {
|
|
|
16
16
|
|
|
17
17
|
describe('filter', function () {
|
|
18
18
|
const filter = (0, _.filterBuilder)();
|
|
19
|
+
describe('custom encoders', function () {
|
|
20
|
+
it('encode date with wixDataEncoder', function () {
|
|
21
|
+
const now = new Date();
|
|
22
|
+
const filterWithEncoder = (0, _.filterBuilder)({
|
|
23
|
+
encoder: _.wixDataEncoder
|
|
24
|
+
});
|
|
25
|
+
expect(filterWithEncoder.eq('x', now).getFilterModel()).to.be.eql({
|
|
26
|
+
x: {
|
|
27
|
+
$date: now.toJSON()
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
it('encode with custom encoder', function () {
|
|
32
|
+
const encoder = () => 3;
|
|
33
|
+
|
|
34
|
+
const filterWithEncoder = (0, _.filterBuilder)({
|
|
35
|
+
encoder
|
|
36
|
+
});
|
|
37
|
+
expect(filterWithEncoder.eq('x', 'a').getFilterModel()).to.be.eql({
|
|
38
|
+
x: 3
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
19
42
|
describe('filter comparison operators', function () {
|
|
20
43
|
it('should produce the correct filter tree', function () {
|
|
21
44
|
expect(filter.eq('x', 1).getFilterModel()).to.be.eql({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/__tests__/filter.spec.ts"],"names":["expect","chai","inAnd","args","$and","describe","filter","it","eq","getFilterModel","to","be","eql","x","ne","$ne","gt","$gt","ge","$gte","lt","$lt","le","$lte","isNotEmpty","isEmpty","startsWith","$startsWith","endsWith","$endsWith","contains","$contains","hasSome","$hasSome","hasAll","$hasAll","not","throw","Error","filterTreeGetters","forEach","filterTreeGetter","_build","or","and","between","a","$or","f","y","z","filterTree","$not","field","startDate","Date","endDate","setYear","getYear","invalidExamples","undefined","first","second","firstType","secondType","newFilter","setFilterModel","equal","invalidFilter","invalidArguments"],"mappings":"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","sourcesContent":["import chai from 'chai'\nimport { filterBuilder } from '..'\n\nconst expect = chai.expect\n\nfunction inAnd(...args) {\n return { $and: args }\n}\n\ndescribe('filter', function () {\n const filter = filterBuilder()\n\n describe('filter comparison operators', function () {\n it('should produce the correct filter tree', function () {\n expect(filter.eq('x', 1).getFilterModel()).to.be.eql({ x: 1 })\n expect(filter.ne('x', 1).getFilterModel()).to.be.eql({ x: { $ne: 1 } })\n expect(filter.gt('x', 1).getFilterModel()).to.be.eql({ x: { $gt: 1 } })\n expect(filter.ge('x', 1).getFilterModel()).to.be.eql({ x: { $gte: 1 } })\n expect(filter.lt('x', 1).getFilterModel()).to.be.eql({ x: { $lt: 1 } })\n expect(filter.le('x', 1).getFilterModel()).to.be.eql({ x: { $lte: 1 } })\n expect(filter.isNotEmpty('x').getFilterModel()).to.be.eql({\n x: { $ne: null },\n })\n expect(filter.isEmpty('x').getFilterModel()).to.be.eql({ x: null })\n expect(filter.startsWith('x', 'A').getFilterModel()).to.be.eql({\n x: { $startsWith: 'A' },\n })\n expect(filter.endsWith('x', 'A').getFilterModel()).to.be.eql({\n x: { $endsWith: 'A' },\n })\n expect(filter.contains('x', 'A').getFilterModel()).to.be.eql({\n x: { $contains: 'A' },\n })\n expect(filter.hasSome('x', [1, 2]).getFilterModel()).to.be.eql({\n x: { $hasSome: [1, 2] },\n })\n expect(filter.hasSome('x', 1, 2).getFilterModel()).to.be.eql({\n x: { $hasSome: [1, 2] },\n })\n expect(filter.hasAll('x', [1, 2]).getFilterModel()).to.be.eql({\n x: { $hasAll: [1, 2] },\n })\n expect(filter.hasAll('x', 1, 2).getFilterModel()).to.be.eql({\n x: { $hasAll: [1, 2] },\n })\n })\n\n it('should accept valid arguments for all types of queries', function () {\n expect(() => filter.eq('x', 0)).to.not.throw(Error)\n expect(() => filter.ne('x', 0)).to.not.throw(Error)\n expect(() => filter.gt('x', 0)).to.not.throw(Error)\n expect(() => filter.ge('x', 0)).to.not.throw(Error)\n expect(() => filter.lt('x', 0)).to.not.throw(Error)\n expect(() => filter.le('x', 0)).to.not.throw(Error)\n expect(() => filter.startsWith('x', '')).to.not.throw(Error)\n expect(() => filter.endsWith('x', '')).to.not.throw(Error)\n expect(() => filter.contains('x', '')).to.not.throw(Error)\n })\n\n const filterTreeGetters = ['_build', 'getFilterModel']\n filterTreeGetters.forEach(function (filterTreeGetter) {\n describe(filterTreeGetter, function () {\n it('should throw error if builder is called with too little arguments', function () {\n expect(() => filter.eq('x')._build()).to.throw(\n 'Invalid .eq usage. .eq requires two parameters.'\n )\n expect(() => filter.ne('x')._build()).to.throw(\n 'Invalid .ne usage. .ne requires two parameters.'\n )\n expect(() => filter.gt('x')._build()).to.throw(\n 'Invalid .gt usage. .gt requires two parameters.'\n )\n expect(() => filter.ge('x')._build()).to.throw(\n 'Invalid .ge usage. .ge requires two parameters.'\n )\n expect(() => filter.lt('x')._build()).to.throw(\n 'Invalid .lt usage. .lt requires two parameters.'\n )\n expect(() => filter.le('x')._build()).to.throw(\n 'Invalid .le usage. .le requires two parameters.'\n )\n expect(() => filter.startsWith('x')._build()).to.throw(\n 'Invalid .startsWith usage. .startsWith requires two parameters.'\n )\n expect(() => filter.endsWith('x')._build()).to.throw(\n 'Invalid .endsWith usage. .endsWith requires two parameters.'\n )\n expect(() => filter.contains('x')._build()).to.throw(\n 'Invalid .contains usage. .contains requires two parameters.'\n )\n // @ts-expect-error\n expect(() => filter.isNotEmpty()._build()).to.throw(\n 'Invalid .isNotEmpty usage. .isNotEmpty requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.isEmpty()._build()).to.throw(\n 'Invalid .isEmpty usage. .isEmpty requires one parameter.'\n )\n expect(() => filter.isNotEmpty(1)._build()).to.throw(\n 'Invalid .isNotEmpty field value [Number]. .isNotEmpty field must be a String.'\n )\n expect(() => filter.isEmpty(1)._build()).to.throw(\n 'Invalid .isEmpty field value [Number]. .isEmpty field must be a String.'\n )\n // @ts-expect-error\n expect(() => filter.or()._build()).to.throw(\n 'Invalid .or usage. .or requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.and()._build()).to.throw(\n 'Invalid .and usage. .and requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.not()._build()).to.throw(\n 'Invalid .not usage. .not requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.between()._build()).to.throw(\n 'Invalid .between usage. .between requires three parameters.'\n )\n // @ts-expect-error\n expect(() => filter.between('x')._build()).to.throw(\n 'Invalid .between usage. .between requires three parameters.'\n )\n // @ts-expect-error\n expect(() => filter.between('x', 'x')._build()).to.throw(\n 'Invalid .between usage. .between requires three parameters.'\n )\n expect(() => filter.hasSome('x')._build()).to.throw(\n 'Invalid .hasSome usage. .hasSome requires at least two parameters.'\n )\n expect(() => filter.hasAll('x')._build()).to.throw(\n 'Invalid .hasAll usage. .hasAll requires at least two parameters.'\n )\n })\n\n it('should validate the type of the other query', function () {\n expect(() => filter.or(null)._build()).to.throw(\n 'Invalid .or parameter [Null]. .or expects FilterBuilder only.'\n )\n expect(() => filter.or({})._build()).to.throw(\n 'Invalid .or parameter [Object]. .or expects FilterBuilder only.'\n )\n expect(() => filter.or([])._build()).to.throw(\n 'Invalid .or parameter [Array]. .or expects FilterBuilder only.'\n )\n expect(() => filter.not(null)._build()).to.throw(\n 'Invalid .not parameter [Null]. .not expects FilterBuilder only'\n )\n expect(() => filter.not({})._build()).to.throw(\n 'Invalid .not parameter [Object]. .not expects FilterBuilder only'\n )\n expect(() => filter.not([])._build()).to.throw(\n 'Invalid .not parameter [Array]. .not expects FilterBuilder only'\n )\n })\n\n it('should return filter tree', function () {\n expect(\n filter.ge('a', 'b').eq('a', 1).le('a', 4)[filterTreeGetter]()\n ).to.be.eql({\n $and: [{ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } }],\n })\n expect(\n filter\n .eq('a', 1)\n .lt('a', 2)\n .or(filter.ge('a', 'b'))\n [filterTreeGetter]()\n ).to.be.eql({\n $or: [\n { $and: [{ a: 1 }, { a: { $lt: 2 } }] },\n { a: { $gte: 'b' } },\n ],\n })\n expect(filter.eq('a', 3).ne('a', 2)[filterTreeGetter]()).to.be.eql(\n inAnd({ a: 3 }, { a: { $ne: 2 } })\n )\n })\n })\n })\n })\n\n describe('filter.or', function () {\n it('should produce correct filter tree', function () {\n const f = filter.eq('x', 1).or(filter.eq('y', 2))\n\n expect(f.getFilterModel()).to.be.eql({ $or: [{ x: 1 }, { y: 2 }] })\n expect(f.eq('z', 3).getFilterModel()).to.be.eql(\n inAnd({ $or: [{ x: 1 }, { y: 2 }] }, { z: 3 })\n )\n })\n\n it('should produce valid query if used directly', function () {\n const f = filter.or(filter.eq('x', 1))\n\n expect(f.filterTree).to.be.eql(inAnd({ $or: [inAnd({ x: 1 })] }))\n })\n })\n\n describe('filter.and', function () {\n it('should produce correct filter tree', function () {\n const f = filter.eq('x', 1).and(filter.eq('y', 2))\n\n expect(f.getFilterModel()).to.be.eql({ x: 1, y: 2 })\n expect(f.eq('x', 3).getFilterModel()).to.be.eql({\n $and: [{ x: 1 }, { y: 2 }, { x: 3 }],\n })\n })\n\n it('should produce valid query if used directly', function () {\n const f = filter.and(filter.eq('x', 1))\n\n expect(f.filterTree).to.be.eql(inAnd({ $and: [{ x: 1 }] }))\n })\n })\n\n describe('filter.not', function () {\n it('should produce the correct filter tree', function () {\n const f = filter.eq('x', 1).not(filter.eq('y', 2).eq('z', 3))\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ x: 1 }, { $not: [{ y: 2, z: 3 }] })\n )\n })\n })\n\n describe('between', function () {\n it('should produce the correct filter tree for numbers', function () {\n const f = filter.between('field', 1, 3)\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ field: { $gte: 1 } }, { field: { $lt: 3 } })\n )\n })\n\n it('should produce the correct filter tree for dates', function () {\n const startDate: any = new Date()\n const endDate: any = new Date()\n endDate.setYear(startDate.getYear() + 1)\n const f = filter.between('field', startDate, endDate)\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ field: { $gte: startDate } }, { field: { $lt: endDate } })\n )\n })\n\n it('should produce the correct filter tree for strings', function () {\n const f = filter.between('field', 'start', 'end')\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ field: { $gte: 'start' } }, { field: { $lt: 'end' } })\n )\n })\n\n describe('validation', function () {\n const filterTreeGetters = ['_build', 'getFilterModel']\n filterTreeGetters.forEach(function (filterTreeGetter) {\n describe(filterTreeGetter, function () {\n const invalidExamples = [\n [1, new Date(), 'Number', 'Date'],\n [1, '2015-02-02', 'Number', 'String'],\n [new Date(), '2015-01-01', 'Date', 'String'],\n [null, new Date(), 'Null', 'Date'],\n [undefined, new Date(), 'Undefined', 'Date'],\n ]\n\n invalidExamples.forEach(function ([\n first,\n second,\n firstType,\n secondType,\n ]) {\n it(\n \"should reject invalid query.between('x',\" +\n first +\n ',' +\n second +\n ')',\n function () {\n expect(function () {\n filter.between('x', first, second)[filterTreeGetter]()\n }).to.throw(\n `Invalid .between parameter values [${firstType}] and [${secondType}]. Both parameters must be of the same type.`\n )\n expect(function () {\n filter.between('x', second, first)[filterTreeGetter]()\n }).to.throw(\n `Invalid .between parameter values [${secondType}] and [${firstType}]. Both parameters must be of the same type.`\n )\n }\n )\n })\n })\n })\n })\n })\n\n describe('setFilterModel', function () {\n it('should return a new filter instance with the new filterTree value set', function () {\n const newFilter = filter.setFilterModel(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n\n expect(newFilter).not.to.equal(filter)\n })\n\n it('should set filterTree to the filterModel value when the value is a valid filterTree', function () {\n const newFilter = filter.setFilterModel(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n\n expect(newFilter.getFilterModel()).to.be.eql(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n })\n\n it('should set filterTree to the filterModel value even when the value is not a valid filterTree', function () {\n const newFilter = filter.setFilterModel(5)\n\n expect(newFilter.getFilterModel()).to.be.eql(5)\n })\n\n it('should set invalidArguments to an empty array when the value is a valid filterTree', function () {\n const invalidFilter = filter.eq('x')\n const newFilter = invalidFilter.setFilterModel(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n\n expect(newFilter.invalidArguments).to.be.eql([])\n })\n\n it('should set invalidArguments to an empty array when the value is not a valid filterTree', function () {\n const invalidFilter = filter.eq('x')\n const newFilter = invalidFilter.setFilterModel(5)\n\n expect(newFilter.invalidArguments).to.be.eql([])\n })\n })\n})\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/__tests__/filter.spec.ts"],"names":["expect","chai","inAnd","args","$and","describe","filter","it","now","Date","filterWithEncoder","encoder","wixDataEncoder","eq","getFilterModel","to","be","eql","x","$date","toJSON","ne","$ne","gt","$gt","ge","$gte","lt","$lt","le","$lte","isNotEmpty","isEmpty","startsWith","$startsWith","endsWith","$endsWith","contains","$contains","hasSome","$hasSome","hasAll","$hasAll","not","throw","Error","filterTreeGetters","forEach","filterTreeGetter","_build","or","and","between","a","$or","f","y","z","filterTree","$not","field","startDate","endDate","setYear","getYear","invalidExamples","undefined","first","second","firstType","secondType","newFilter","setFilterModel","equal","invalidFilter","invalidArguments"],"mappings":"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","sourcesContent":["import chai from 'chai'\nimport { filterBuilder, wixDataEncoder } from '..'\n\nconst expect = chai.expect\n\nfunction inAnd(...args) {\n return { $and: args }\n}\n\ndescribe('filter', function () {\n const filter = filterBuilder()\n\n describe('custom encoders', function () {\n it('encode date with wixDataEncoder', function () {\n const now = new Date()\n const filterWithEncoder = filterBuilder({ encoder: wixDataEncoder })\n\n expect(filterWithEncoder.eq('x', now).getFilterModel()).to.be.eql({\n x: { $date: now.toJSON() },\n })\n })\n\n it('encode with custom encoder', function () {\n const encoder = () => 3\n const filterWithEncoder = filterBuilder({ encoder })\n\n expect(filterWithEncoder.eq('x', 'a').getFilterModel()).to.be.eql({\n x: 3,\n })\n })\n })\n\n describe('filter comparison operators', function () {\n it('should produce the correct filter tree', function () {\n expect(filter.eq('x', 1).getFilterModel()).to.be.eql({ x: 1 })\n expect(filter.ne('x', 1).getFilterModel()).to.be.eql({ x: { $ne: 1 } })\n expect(filter.gt('x', 1).getFilterModel()).to.be.eql({ x: { $gt: 1 } })\n expect(filter.ge('x', 1).getFilterModel()).to.be.eql({ x: { $gte: 1 } })\n expect(filter.lt('x', 1).getFilterModel()).to.be.eql({ x: { $lt: 1 } })\n expect(filter.le('x', 1).getFilterModel()).to.be.eql({ x: { $lte: 1 } })\n expect(filter.isNotEmpty('x').getFilterModel()).to.be.eql({\n x: { $ne: null },\n })\n expect(filter.isEmpty('x').getFilterModel()).to.be.eql({ x: null })\n expect(filter.startsWith('x', 'A').getFilterModel()).to.be.eql({\n x: { $startsWith: 'A' },\n })\n expect(filter.endsWith('x', 'A').getFilterModel()).to.be.eql({\n x: { $endsWith: 'A' },\n })\n expect(filter.contains('x', 'A').getFilterModel()).to.be.eql({\n x: { $contains: 'A' },\n })\n expect(filter.hasSome('x', [1, 2]).getFilterModel()).to.be.eql({\n x: { $hasSome: [1, 2] },\n })\n expect(filter.hasSome('x', 1, 2).getFilterModel()).to.be.eql({\n x: { $hasSome: [1, 2] },\n })\n expect(filter.hasAll('x', [1, 2]).getFilterModel()).to.be.eql({\n x: { $hasAll: [1, 2] },\n })\n expect(filter.hasAll('x', 1, 2).getFilterModel()).to.be.eql({\n x: { $hasAll: [1, 2] },\n })\n })\n\n it('should accept valid arguments for all types of queries', function () {\n expect(() => filter.eq('x', 0)).to.not.throw(Error)\n expect(() => filter.ne('x', 0)).to.not.throw(Error)\n expect(() => filter.gt('x', 0)).to.not.throw(Error)\n expect(() => filter.ge('x', 0)).to.not.throw(Error)\n expect(() => filter.lt('x', 0)).to.not.throw(Error)\n expect(() => filter.le('x', 0)).to.not.throw(Error)\n expect(() => filter.startsWith('x', '')).to.not.throw(Error)\n expect(() => filter.endsWith('x', '')).to.not.throw(Error)\n expect(() => filter.contains('x', '')).to.not.throw(Error)\n })\n\n const filterTreeGetters = ['_build', 'getFilterModel']\n filterTreeGetters.forEach(function (filterTreeGetter) {\n describe(filterTreeGetter, function () {\n it('should throw error if builder is called with too little arguments', function () {\n expect(() => filter.eq('x')._build()).to.throw(\n 'Invalid .eq usage. .eq requires two parameters.'\n )\n expect(() => filter.ne('x')._build()).to.throw(\n 'Invalid .ne usage. .ne requires two parameters.'\n )\n expect(() => filter.gt('x')._build()).to.throw(\n 'Invalid .gt usage. .gt requires two parameters.'\n )\n expect(() => filter.ge('x')._build()).to.throw(\n 'Invalid .ge usage. .ge requires two parameters.'\n )\n expect(() => filter.lt('x')._build()).to.throw(\n 'Invalid .lt usage. .lt requires two parameters.'\n )\n expect(() => filter.le('x')._build()).to.throw(\n 'Invalid .le usage. .le requires two parameters.'\n )\n expect(() => filter.startsWith('x')._build()).to.throw(\n 'Invalid .startsWith usage. .startsWith requires two parameters.'\n )\n expect(() => filter.endsWith('x')._build()).to.throw(\n 'Invalid .endsWith usage. .endsWith requires two parameters.'\n )\n expect(() => filter.contains('x')._build()).to.throw(\n 'Invalid .contains usage. .contains requires two parameters.'\n )\n // @ts-expect-error\n expect(() => filter.isNotEmpty()._build()).to.throw(\n 'Invalid .isNotEmpty usage. .isNotEmpty requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.isEmpty()._build()).to.throw(\n 'Invalid .isEmpty usage. .isEmpty requires one parameter.'\n )\n expect(() => filter.isNotEmpty(1)._build()).to.throw(\n 'Invalid .isNotEmpty field value [Number]. .isNotEmpty field must be a String.'\n )\n expect(() => filter.isEmpty(1)._build()).to.throw(\n 'Invalid .isEmpty field value [Number]. .isEmpty field must be a String.'\n )\n // @ts-expect-error\n expect(() => filter.or()._build()).to.throw(\n 'Invalid .or usage. .or requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.and()._build()).to.throw(\n 'Invalid .and usage. .and requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.not()._build()).to.throw(\n 'Invalid .not usage. .not requires one parameter.'\n )\n // @ts-expect-error\n expect(() => filter.between()._build()).to.throw(\n 'Invalid .between usage. .between requires three parameters.'\n )\n // @ts-expect-error\n expect(() => filter.between('x')._build()).to.throw(\n 'Invalid .between usage. .between requires three parameters.'\n )\n // @ts-expect-error\n expect(() => filter.between('x', 'x')._build()).to.throw(\n 'Invalid .between usage. .between requires three parameters.'\n )\n expect(() => filter.hasSome('x')._build()).to.throw(\n 'Invalid .hasSome usage. .hasSome requires at least two parameters.'\n )\n expect(() => filter.hasAll('x')._build()).to.throw(\n 'Invalid .hasAll usage. .hasAll requires at least two parameters.'\n )\n })\n\n it('should validate the type of the other query', function () {\n expect(() => filter.or(null)._build()).to.throw(\n 'Invalid .or parameter [Null]. .or expects FilterBuilder only.'\n )\n expect(() => filter.or({})._build()).to.throw(\n 'Invalid .or parameter [Object]. .or expects FilterBuilder only.'\n )\n expect(() => filter.or([])._build()).to.throw(\n 'Invalid .or parameter [Array]. .or expects FilterBuilder only.'\n )\n expect(() => filter.not(null)._build()).to.throw(\n 'Invalid .not parameter [Null]. .not expects FilterBuilder only'\n )\n expect(() => filter.not({})._build()).to.throw(\n 'Invalid .not parameter [Object]. .not expects FilterBuilder only'\n )\n expect(() => filter.not([])._build()).to.throw(\n 'Invalid .not parameter [Array]. .not expects FilterBuilder only'\n )\n })\n\n it('should return filter tree', function () {\n expect(\n filter.ge('a', 'b').eq('a', 1).le('a', 4)[filterTreeGetter]()\n ).to.be.eql({\n $and: [{ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } }],\n })\n expect(\n filter\n .eq('a', 1)\n .lt('a', 2)\n .or(filter.ge('a', 'b'))\n [filterTreeGetter]()\n ).to.be.eql({\n $or: [\n { $and: [{ a: 1 }, { a: { $lt: 2 } }] },\n { a: { $gte: 'b' } },\n ],\n })\n expect(filter.eq('a', 3).ne('a', 2)[filterTreeGetter]()).to.be.eql(\n inAnd({ a: 3 }, { a: { $ne: 2 } })\n )\n })\n })\n })\n })\n\n describe('filter.or', function () {\n it('should produce correct filter tree', function () {\n const f = filter.eq('x', 1).or(filter.eq('y', 2))\n\n expect(f.getFilterModel()).to.be.eql({ $or: [{ x: 1 }, { y: 2 }] })\n expect(f.eq('z', 3).getFilterModel()).to.be.eql(\n inAnd({ $or: [{ x: 1 }, { y: 2 }] }, { z: 3 })\n )\n })\n\n it('should produce valid query if used directly', function () {\n const f = filter.or(filter.eq('x', 1))\n\n expect(f.filterTree).to.be.eql(inAnd({ $or: [inAnd({ x: 1 })] }))\n })\n })\n\n describe('filter.and', function () {\n it('should produce correct filter tree', function () {\n const f = filter.eq('x', 1).and(filter.eq('y', 2))\n\n expect(f.getFilterModel()).to.be.eql({ x: 1, y: 2 })\n expect(f.eq('x', 3).getFilterModel()).to.be.eql({\n $and: [{ x: 1 }, { y: 2 }, { x: 3 }],\n })\n })\n\n it('should produce valid query if used directly', function () {\n const f = filter.and(filter.eq('x', 1))\n\n expect(f.filterTree).to.be.eql(inAnd({ $and: [{ x: 1 }] }))\n })\n })\n\n describe('filter.not', function () {\n it('should produce the correct filter tree', function () {\n const f = filter.eq('x', 1).not(filter.eq('y', 2).eq('z', 3))\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ x: 1 }, { $not: [{ y: 2, z: 3 }] })\n )\n })\n })\n\n describe('between', function () {\n it('should produce the correct filter tree for numbers', function () {\n const f = filter.between('field', 1, 3)\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ field: { $gte: 1 } }, { field: { $lt: 3 } })\n )\n })\n\n it('should produce the correct filter tree for dates', function () {\n const startDate: any = new Date()\n const endDate: any = new Date()\n endDate.setYear(startDate.getYear() + 1)\n const f = filter.between('field', startDate, endDate)\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ field: { $gte: startDate } }, { field: { $lt: endDate } })\n )\n })\n\n it('should produce the correct filter tree for strings', function () {\n const f = filter.between('field', 'start', 'end')\n\n expect(f.getFilterModel()).to.be.eql(\n inAnd({ field: { $gte: 'start' } }, { field: { $lt: 'end' } })\n )\n })\n\n describe('validation', function () {\n const filterTreeGetters = ['_build', 'getFilterModel']\n filterTreeGetters.forEach(function (filterTreeGetter) {\n describe(filterTreeGetter, function () {\n const invalidExamples = [\n [1, new Date(), 'Number', 'Date'],\n [1, '2015-02-02', 'Number', 'String'],\n [new Date(), '2015-01-01', 'Date', 'String'],\n [null, new Date(), 'Null', 'Date'],\n [undefined, new Date(), 'Undefined', 'Date'],\n ]\n\n invalidExamples.forEach(function ([\n first,\n second,\n firstType,\n secondType,\n ]) {\n it(\n \"should reject invalid query.between('x',\" +\n first +\n ',' +\n second +\n ')',\n function () {\n expect(function () {\n filter.between('x', first, second)[filterTreeGetter]()\n }).to.throw(\n `Invalid .between parameter values [${firstType}] and [${secondType}]. Both parameters must be of the same type.`\n )\n expect(function () {\n filter.between('x', second, first)[filterTreeGetter]()\n }).to.throw(\n `Invalid .between parameter values [${secondType}] and [${firstType}]. Both parameters must be of the same type.`\n )\n }\n )\n })\n })\n })\n })\n })\n\n describe('setFilterModel', function () {\n it('should return a new filter instance with the new filterTree value set', function () {\n const newFilter = filter.setFilterModel(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n\n expect(newFilter).not.to.equal(filter)\n })\n\n it('should set filterTree to the filterModel value when the value is a valid filterTree', function () {\n const newFilter = filter.setFilterModel(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n\n expect(newFilter.getFilterModel()).to.be.eql(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n })\n\n it('should set filterTree to the filterModel value even when the value is not a valid filterTree', function () {\n const newFilter = filter.setFilterModel(5)\n\n expect(newFilter.getFilterModel()).to.be.eql(5)\n })\n\n it('should set invalidArguments to an empty array when the value is a valid filterTree', function () {\n const invalidFilter = filter.eq('x')\n const newFilter = invalidFilter.setFilterModel(\n inAnd({ a: { $gte: 'b' } }, { a: 1 }, { a: { $lte: 4 } })\n )\n\n expect(newFilter.invalidArguments).to.be.eql([])\n })\n\n it('should set invalidArguments to an empty array when the value is not a valid filterTree', function () {\n const invalidFilter = filter.eq('x')\n const newFilter = invalidFilter.setFilterModel(5)\n\n expect(newFilter.invalidArguments).to.be.eql([])\n })\n })\n})\n"]}
|
|
@@ -21,8 +21,8 @@ class FilterBuilder extends (0, _filterMixin.default)() {
|
|
|
21
21
|
|
|
22
22
|
exports.FilterBuilder = FilterBuilder;
|
|
23
23
|
|
|
24
|
-
function filterBuilder() {
|
|
25
|
-
return new FilterBuilder(
|
|
24
|
+
function filterBuilder(params = {}) {
|
|
25
|
+
return new FilterBuilder(params);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
var _default = filterBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/filter-builder.ts"],"names":["FilterBuilder","constructorName","_build","getFilterModel","filterBuilder"],"mappings":";;;;;;;;AAAA;;AAEO,MAAMA,aAAN,SAA4B,2BAA5B,CAA0C;AAC5B,MAAfC,eAAe,GAAG;AACpB,WAAO,eAAP;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACP,WAAO,KAAKC,cAAL,EAAP;AACD;;AAP8C;;;;AAU1C,SAASC,aAAT,
|
|
1
|
+
{"version":3,"sources":["../../src/filter-builder.ts"],"names":["FilterBuilder","constructorName","_build","getFilterModel","filterBuilder","params"],"mappings":";;;;;;;;AAAA;;AAEO,MAAMA,aAAN,SAA4B,2BAA5B,CAA0C;AAC5B,MAAfC,eAAe,GAAG;AACpB,WAAO,eAAP;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACP,WAAO,KAAKC,cAAL,EAAP;AACD;;AAP8C;;;;AAU1C,SAASC,aAAT,CAAuBC,MAAM,GAAG,EAAhC,EAAoC;AACzC,SAAO,IAAIL,aAAJ,CAAkBK,MAAlB,CAAP;AACD;;eAEcD,a","sourcesContent":["import filterMixin from './filter-mixin'\n\nexport class FilterBuilder extends filterMixin() {\n get constructorName() {\n return 'FilterBuilder'\n }\n\n _build() {\n return this.getFilterModel()\n }\n}\n\nexport function filterBuilder(params = {}) {\n return new FilterBuilder(params)\n}\n\nexport default filterBuilder\n"]}
|
package/dist/cjs/filter-mixin.js
CHANGED
|
@@ -20,10 +20,12 @@ const filterMixin = (Base = class {}) => class extends Base {
|
|
|
20
20
|
super(obj);
|
|
21
21
|
(0, _defineProperty2.default)(this, "filterTree", void 0);
|
|
22
22
|
(0, _defineProperty2.default)(this, "invalidArguments", void 0);
|
|
23
|
+
(0, _defineProperty2.default)(this, "encoder", void 0);
|
|
23
24
|
this.filterTree = obj.filterTree || {
|
|
24
25
|
$and: []
|
|
25
26
|
};
|
|
26
27
|
this.invalidArguments = obj.invalidArguments || [];
|
|
28
|
+
this.encoder = obj.encoder || {};
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
eq(...args) {
|
|
@@ -239,18 +241,18 @@ const filterMixin = (Base = class {}) => class extends Base {
|
|
|
239
241
|
if (filterOperatorName !== '$eq') {
|
|
240
242
|
const newFilter = {};
|
|
241
243
|
newFilter[field] = {};
|
|
242
|
-
newFilter[field][filterOperatorName] = this.
|
|
244
|
+
newFilter[field][filterOperatorName] = this._encode(operand);
|
|
243
245
|
return newFilter;
|
|
244
246
|
} else {
|
|
245
247
|
const newFilter = {};
|
|
246
|
-
newFilter[field] = this.
|
|
248
|
+
newFilter[field] = this._encode(operand);
|
|
247
249
|
return newFilter;
|
|
248
250
|
}
|
|
249
251
|
}
|
|
250
252
|
|
|
251
|
-
|
|
252
|
-
if ((0, _typeUtils.
|
|
253
|
-
return
|
|
253
|
+
_encode(operand) {
|
|
254
|
+
if ((0, _typeUtils.isFunction)(this.encoder)) {
|
|
255
|
+
return this.encoder(operand);
|
|
254
256
|
} else {
|
|
255
257
|
return operand;
|
|
256
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/filter-mixin.ts"],"names":["filterMixin","Base","constructor","obj","filterTree","$and","invalidArguments","eq","args","_binaryAnd","ne","ge","_AndLogicalEquivalence","gt","le","lt","isNotEmpty","field","_filterValidator","arityIsOne","arguments","validFieldName","validateAndAggregate","newInvalidArguments","valid","_copy","isEmpty","startsWith","_AndStringOperand","endsWith","contains","hasSome","_AndSetOperand","hasAll","or","orQuery","isInstanceOfSameClass","prefix","isEmptyAnd","inAnd","$or","concat","and","andQuery","not","notQuery","newFilterTree","notClause","$not","resultingFilter","inAndOptimized","between","rangeStart","rangeEnd","arityIsThree","sameType","typeIsStringNumberOrDate","getFilterModel","length","Error","join","setFilterModel","filterModel","filterOperatorSymbol","operatorName","Array","prototype","slice","call","operand","arityIsTwo","_makeNewFilter","filterOperatorName","typeIsString","rawOperands","operands","arityIsAtLeastTwo","typeIsStringNumberOrDateForAll","serializableOperand","undefined","newFilter","_buildFilter","push","result","isEmptyObject","_replaceRefs","map","op","FilterValidator","isConjunctiveFormFilter","Object","keys","reduce","aggr","val","node"],"mappings":"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","sourcesContent":["import { isArray } from './type-utils'\nimport clone from './clone'\nimport { FilterValidator } from './filter-validator'\nimport { Validator } from './validator'\nimport { optimisedQuery } from './query-optimiser'\n\nconst filterMixin = (Base: any = class {}) =>\n class extends Base {\n filterTree\n invalidArguments\n\n constructor(obj: { filterTree?; invalidArguments? } = {}) {\n super(obj)\n this.filterTree = obj.filterTree || { $and: [] }\n this.invalidArguments = obj.invalidArguments || []\n }\n\n eq(...args) {\n return this._binaryAnd('$eq', '.eq', args)\n }\n\n ne(...args) {\n return this._binaryAnd('$ne', '.ne', args)\n }\n\n ge(...args) {\n return this._AndLogicalEquivalence('$gte', '.ge', args)\n }\n\n gt(...args) {\n return this._AndLogicalEquivalence('$gt', '.gt', args)\n }\n\n le(...args) {\n return this._AndLogicalEquivalence('$lte', '.le', args)\n }\n\n lt(...args) {\n return this._AndLogicalEquivalence('$lt', '.lt', args)\n }\n\n isNotEmpty(field) {\n const [newInvalidArguments, valid] = this._filterValidator('.isNotEmpty')\n .arityIsOne(arguments)\n .validFieldName(field)\n .validateAndAggregate()\n\n if (valid) {\n return this.ne(field, null)\n }\n\n return this._copy(this.filterTree, newInvalidArguments)\n }\n\n isEmpty(field) {\n const [newInvalidArguments, valid] = this._filterValidator('.isEmpty')\n .arityIsOne(arguments)\n .validFieldName(field)\n .validateAndAggregate()\n\n if (valid) {\n return this.eq(field, null)\n }\n\n return this._copy(this.filterTree, newInvalidArguments)\n }\n\n startsWith(...args) {\n return this._AndStringOperand('$startsWith', '.startsWith', args)\n }\n\n endsWith(...args) {\n return this._AndStringOperand('$endsWith', '.endsWith', args)\n }\n\n contains(...args) {\n return this._AndStringOperand('$contains', '.contains', args)\n }\n\n hasSome(...args) {\n return this._AndSetOperand('$hasSome', '.hasSome', args)\n }\n\n hasAll(...args) {\n return this._AndSetOperand('$hasAll', '.hasAll', args)\n }\n\n or(orQuery) {\n const [newInvalidArguments, valid] = this._filterValidator('.or')\n .arityIsOne(arguments)\n .isInstanceOfSameClass(orQuery)\n .validateAndAggregate()\n\n if (valid) {\n const prefix = isEmptyAnd(this.filterTree) ? [] : [this.filterTree]\n return this._copy(\n inAnd({ $or: [...prefix, orQuery.filterTree] }),\n newInvalidArguments.concat(orQuery.invalidArguments)\n )\n } else {\n return this._copy(this.filterTree, newInvalidArguments)\n }\n }\n\n and(andQuery) {\n const [newInvalidArguments, valid] = this._filterValidator('.and')\n .arityIsOne(arguments)\n .isInstanceOfSameClass(andQuery)\n .validateAndAggregate()\n\n if (valid) {\n const prefix = isEmptyAnd(this.filterTree) ? [] : [this.filterTree]\n return this._copy(\n inAnd(...prefix, andQuery.filterTree),\n newInvalidArguments.concat(andQuery.invalidArguments)\n )\n } else {\n return this._copy(this.filterTree, newInvalidArguments)\n }\n }\n\n not(notQuery) {\n const [newInvalidArguments, valid] = this._filterValidator('.not')\n .arityIsOne(arguments)\n .isInstanceOfSameClass(notQuery)\n .validateAndAggregate()\n\n if (valid) {\n const newFilterTree = clone(this.filterTree)\n const notClause = { $not: [notQuery.filterTree] }\n const resultingFilter = inAndOptimized(newFilterTree, notClause)\n\n return this._copy(\n resultingFilter,\n newInvalidArguments.concat(notQuery.invalidArguments)\n )\n } else {\n return this._copy(this.filterTree, newInvalidArguments)\n }\n }\n\n between(field, rangeStart, rangeEnd) {\n const [newInvalidArguments, valid] = this._filterValidator('.between')\n .arityIsThree(arguments)\n .sameType(rangeStart, rangeEnd)\n .typeIsStringNumberOrDate(rangeStart)\n .typeIsStringNumberOrDate(rangeEnd)\n .validateAndAggregate()\n\n if (valid) {\n return this.ge(field, rangeStart).lt(field, rangeEnd)\n }\n\n return this._copy(this.filterTree, newInvalidArguments)\n }\n\n getFilterModel() {\n if (this.invalidArguments.length > 0) {\n throw new Error(this.invalidArguments.join(' '))\n }\n return optimisedQuery(this.filterTree)\n }\n\n setFilterModel(filterModel) {\n return this._copy(filterModel, [])\n }\n\n _binaryAnd(filterOperatorSymbol, operatorName, args) {\n const [field, operand] = Array.prototype.slice.call(args)\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsTwo(args)\n .validFieldName(field)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorSymbol,\n operand\n )\n\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _AndLogicalEquivalence(filterOperatorSymbol, operatorName, args) {\n const [field, operand] = Array.prototype.slice.call(args)\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsTwo(args)\n .validFieldName(field)\n .typeIsStringNumberOrDate(operand)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorSymbol,\n operand\n )\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _AndStringOperand(filterOperatorName, operatorName, args) {\n const [field, operand] = Array.prototype.slice.call(args)\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsTwo(args)\n .validFieldName(field)\n .typeIsString(operand)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorName,\n operand\n )\n\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _AndSetOperand(filterOperatorName, operatorName, args) {\n const [field, ...rawOperands] = Array.prototype.slice.call(args)\n const operands = isArray(rawOperands[0]) ? rawOperands[0] : rawOperands\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsAtLeastTwo(args)\n .validFieldName(field)\n .typeIsStringNumberOrDateForAll(operands)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorName,\n operands\n )\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _makeNewFilter(field, filterOperatorName, operand) {\n const newFilterTree = clone(this.filterTree)\n\n // filters with 'undefined' value are lost during serialization,\n // e.g. { val: { $ne: undefined } | translates to { val: {} }\n // Replacing 'undefined' with 'null' retains the filter.\n const serializableOperand = operand === undefined ? null : operand\n const newFilter = this._buildFilter(\n field,\n filterOperatorName,\n serializableOperand\n )\n\n if (isArray(newFilterTree.$and)) {\n newFilterTree.$and.push(newFilter)\n return newFilterTree\n } else {\n const result = isEmptyObject(newFilterTree)\n ? inAnd(newFilter)\n : inAnd(newFilterTree, newFilter)\n return result\n }\n }\n\n _buildFilter(field, filterOperatorName, operand) {\n if (filterOperatorName !== '$eq') {\n const newFilter = {}\n newFilter[field] = {}\n newFilter[field][filterOperatorName] = this._replaceRefs(operand)\n return newFilter\n } else {\n const newFilter = {}\n newFilter[field] = this._replaceRefs(operand)\n return newFilter\n }\n }\n\n _replaceRefs(operand) {\n if (isArray(operand)) {\n return operand.map((op) => this._replaceRefs(op))\n } else {\n return operand\n }\n }\n\n _copy(filterTree, invalidArguments) {\n // @ts-ignore-next-line\n return new this.constructor({ ...this, filterTree, invalidArguments })\n }\n\n _filterValidator(filterOperatorName): Validator {\n return new FilterValidator(\n filterOperatorName,\n this.invalidArguments,\n this.constructor\n )\n }\n }\n\nfunction isConjunctiveFormFilter(filterTree) {\n return isArray(filterTree.$and)\n}\n\nfunction isEmptyObject(obj) {\n return Object.keys(obj).length === 0\n}\n\nfunction inAnd(...args) {\n return {\n $and: args,\n }\n}\n\nfunction inAndOptimized(...args) {\n return {\n $and: args.reduce(\n (aggr, val) =>\n isConjunctiveFormFilter(val)\n ? aggr.concat(val.$and)\n : aggr.concat([val]),\n []\n ),\n }\n}\n\nfunction isEmptyAnd(node) {\n return node && node.$and && node.$and.length === 0\n}\n\nexport default filterMixin\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/filter-mixin.ts"],"names":["filterMixin","Base","constructor","obj","filterTree","$and","invalidArguments","encoder","eq","args","_binaryAnd","ne","ge","_AndLogicalEquivalence","gt","le","lt","isNotEmpty","field","_filterValidator","arityIsOne","arguments","validFieldName","validateAndAggregate","newInvalidArguments","valid","_copy","isEmpty","startsWith","_AndStringOperand","endsWith","contains","hasSome","_AndSetOperand","hasAll","or","orQuery","isInstanceOfSameClass","prefix","isEmptyAnd","inAnd","$or","concat","and","andQuery","not","notQuery","newFilterTree","notClause","$not","resultingFilter","inAndOptimized","between","rangeStart","rangeEnd","arityIsThree","sameType","typeIsStringNumberOrDate","getFilterModel","length","Error","join","setFilterModel","filterModel","filterOperatorSymbol","operatorName","Array","prototype","slice","call","operand","arityIsTwo","_makeNewFilter","filterOperatorName","typeIsString","rawOperands","operands","arityIsAtLeastTwo","typeIsStringNumberOrDateForAll","serializableOperand","undefined","newFilter","_buildFilter","push","result","isEmptyObject","_encode","FilterValidator","isConjunctiveFormFilter","Object","keys","reduce","aggr","val","node"],"mappings":"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","sourcesContent":["import { isArray, isFunction } from './type-utils'\nimport clone from './clone'\nimport { FilterValidator } from './filter-validator'\nimport { Validator } from './validator'\nimport { optimisedQuery } from './query-optimiser'\n\nconst filterMixin = (Base: any = class {}) =>\n class extends Base {\n filterTree\n invalidArguments\n encoder\n\n constructor(obj: { filterTree?; invalidArguments?; encoder? } = {}) {\n super(obj)\n this.filterTree = obj.filterTree || { $and: [] }\n this.invalidArguments = obj.invalidArguments || []\n this.encoder = obj.encoder || {}\n }\n\n eq(...args) {\n return this._binaryAnd('$eq', '.eq', args)\n }\n\n ne(...args) {\n return this._binaryAnd('$ne', '.ne', args)\n }\n\n ge(...args) {\n return this._AndLogicalEquivalence('$gte', '.ge', args)\n }\n\n gt(...args) {\n return this._AndLogicalEquivalence('$gt', '.gt', args)\n }\n\n le(...args) {\n return this._AndLogicalEquivalence('$lte', '.le', args)\n }\n\n lt(...args) {\n return this._AndLogicalEquivalence('$lt', '.lt', args)\n }\n\n isNotEmpty(field) {\n const [newInvalidArguments, valid] = this._filterValidator('.isNotEmpty')\n .arityIsOne(arguments)\n .validFieldName(field)\n .validateAndAggregate()\n\n if (valid) {\n return this.ne(field, null)\n }\n\n return this._copy(this.filterTree, newInvalidArguments)\n }\n\n isEmpty(field) {\n const [newInvalidArguments, valid] = this._filterValidator('.isEmpty')\n .arityIsOne(arguments)\n .validFieldName(field)\n .validateAndAggregate()\n\n if (valid) {\n return this.eq(field, null)\n }\n\n return this._copy(this.filterTree, newInvalidArguments)\n }\n\n startsWith(...args) {\n return this._AndStringOperand('$startsWith', '.startsWith', args)\n }\n\n endsWith(...args) {\n return this._AndStringOperand('$endsWith', '.endsWith', args)\n }\n\n contains(...args) {\n return this._AndStringOperand('$contains', '.contains', args)\n }\n\n hasSome(...args) {\n return this._AndSetOperand('$hasSome', '.hasSome', args)\n }\n\n hasAll(...args) {\n return this._AndSetOperand('$hasAll', '.hasAll', args)\n }\n\n or(orQuery) {\n const [newInvalidArguments, valid] = this._filterValidator('.or')\n .arityIsOne(arguments)\n .isInstanceOfSameClass(orQuery)\n .validateAndAggregate()\n\n if (valid) {\n const prefix = isEmptyAnd(this.filterTree) ? [] : [this.filterTree]\n return this._copy(\n inAnd({ $or: [...prefix, orQuery.filterTree] }),\n newInvalidArguments.concat(orQuery.invalidArguments)\n )\n } else {\n return this._copy(this.filterTree, newInvalidArguments)\n }\n }\n\n and(andQuery) {\n const [newInvalidArguments, valid] = this._filterValidator('.and')\n .arityIsOne(arguments)\n .isInstanceOfSameClass(andQuery)\n .validateAndAggregate()\n\n if (valid) {\n const prefix = isEmptyAnd(this.filterTree) ? [] : [this.filterTree]\n return this._copy(\n inAnd(...prefix, andQuery.filterTree),\n newInvalidArguments.concat(andQuery.invalidArguments)\n )\n } else {\n return this._copy(this.filterTree, newInvalidArguments)\n }\n }\n\n not(notQuery) {\n const [newInvalidArguments, valid] = this._filterValidator('.not')\n .arityIsOne(arguments)\n .isInstanceOfSameClass(notQuery)\n .validateAndAggregate()\n\n if (valid) {\n const newFilterTree = clone(this.filterTree)\n const notClause = { $not: [notQuery.filterTree] }\n const resultingFilter = inAndOptimized(newFilterTree, notClause)\n\n return this._copy(\n resultingFilter,\n newInvalidArguments.concat(notQuery.invalidArguments)\n )\n } else {\n return this._copy(this.filterTree, newInvalidArguments)\n }\n }\n\n between(field, rangeStart, rangeEnd) {\n const [newInvalidArguments, valid] = this._filterValidator('.between')\n .arityIsThree(arguments)\n .sameType(rangeStart, rangeEnd)\n .typeIsStringNumberOrDate(rangeStart)\n .typeIsStringNumberOrDate(rangeEnd)\n .validateAndAggregate()\n\n if (valid) {\n return this.ge(field, rangeStart).lt(field, rangeEnd)\n }\n\n return this._copy(this.filterTree, newInvalidArguments)\n }\n\n getFilterModel() {\n if (this.invalidArguments.length > 0) {\n throw new Error(this.invalidArguments.join(' '))\n }\n return optimisedQuery(this.filterTree)\n }\n\n setFilterModel(filterModel) {\n return this._copy(filterModel, [])\n }\n\n _binaryAnd(filterOperatorSymbol, operatorName, args) {\n const [field, operand] = Array.prototype.slice.call(args)\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsTwo(args)\n .validFieldName(field)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorSymbol,\n operand\n )\n\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _AndLogicalEquivalence(filterOperatorSymbol, operatorName, args) {\n const [field, operand] = Array.prototype.slice.call(args)\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsTwo(args)\n .validFieldName(field)\n .typeIsStringNumberOrDate(operand)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorSymbol,\n operand\n )\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _AndStringOperand(filterOperatorName, operatorName, args) {\n const [field, operand] = Array.prototype.slice.call(args)\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsTwo(args)\n .validFieldName(field)\n .typeIsString(operand)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorName,\n operand\n )\n\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _AndSetOperand(filterOperatorName, operatorName, args) {\n const [field, ...rawOperands] = Array.prototype.slice.call(args)\n const operands = isArray(rawOperands[0]) ? rawOperands[0] : rawOperands\n\n const [newInvalidArguments] = this._filterValidator(operatorName)\n .arityIsAtLeastTwo(args)\n .validFieldName(field)\n .typeIsStringNumberOrDateForAll(operands)\n .validateAndAggregate()\n\n const newFilterTree = this._makeNewFilter(\n field,\n filterOperatorName,\n operands\n )\n return this._copy(newFilterTree, newInvalidArguments)\n }\n\n _makeNewFilter(field, filterOperatorName, operand) {\n const newFilterTree = clone(this.filterTree)\n\n // filters with 'undefined' value are lost during serialization,\n // e.g. { val: { $ne: undefined } | translates to { val: {} }\n // Replacing 'undefined' with 'null' retains the filter.\n const serializableOperand = operand === undefined ? null : operand\n const newFilter = this._buildFilter(\n field,\n filterOperatorName,\n serializableOperand\n )\n\n if (isArray(newFilterTree.$and)) {\n newFilterTree.$and.push(newFilter)\n return newFilterTree\n } else {\n const result = isEmptyObject(newFilterTree)\n ? inAnd(newFilter)\n : inAnd(newFilterTree, newFilter)\n return result\n }\n }\n\n _buildFilter(field, filterOperatorName, operand) {\n if (filterOperatorName !== '$eq') {\n const newFilter = {}\n newFilter[field] = {}\n newFilter[field][filterOperatorName] = this._encode(operand)\n return newFilter\n } else {\n const newFilter = {}\n newFilter[field] = this._encode(operand)\n return newFilter\n }\n }\n\n _encode(operand) {\n if (isFunction(this.encoder)) {\n return this.encoder(operand)\n } else {\n return operand\n }\n }\n\n _copy(filterTree, invalidArguments) {\n // @ts-ignore-next-line\n return new this.constructor({ ...this, filterTree, invalidArguments })\n }\n\n _filterValidator(filterOperatorName): Validator {\n return new FilterValidator(\n filterOperatorName,\n this.invalidArguments,\n this.constructor\n )\n }\n }\n\nfunction isConjunctiveFormFilter(filterTree) {\n return isArray(filterTree.$and)\n}\n\nfunction isEmptyObject(obj) {\n return Object.keys(obj).length === 0\n}\n\nfunction inAnd(...args) {\n return {\n $and: args,\n }\n}\n\nfunction inAndOptimized(...args) {\n return {\n $and: args.reduce(\n (aggr, val) =>\n isConjunctiveFormFilter(val)\n ? aggr.concat(val.$and)\n : aggr.concat([val]),\n []\n ),\n }\n}\n\nfunction isEmptyAnd(node) {\n return node && node.$and && node.$and.length === 0\n}\n\nexport default filterMixin\n"]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -20,6 +20,10 @@ exports.optimiseQuery = _queryOptimiser.optimisedQuery;
|
|
|
20
20
|
var _validator = require("./validator");
|
|
21
21
|
|
|
22
22
|
exports.Validator = _validator.Validator;
|
|
23
|
+
|
|
24
|
+
var _wixDataEncoder = require("./wix-data-encoder");
|
|
25
|
+
|
|
26
|
+
exports.wixDataEncoder = _wixDataEncoder.wixDataEncoder;
|
|
23
27
|
var _default = _filterBuilder.filterBuilder;
|
|
24
28
|
exports.default = _default;
|
|
25
29
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":["filterBuilder"],"mappings":";;;;;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;eAIeA,4B","sourcesContent":["import { filterBuilder } from './filter-builder'\nimport filterMixin from './filter-mixin'\nimport { optimisedQuery as optimiseQuery } from './query-optimiser'\nimport { Validator } from './validator'\n\nexport { filterMixin, filterBuilder, optimiseQuery, Validator }\n\nexport default filterBuilder\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":["filterBuilder"],"mappings":";;;;;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;eAIeA,4B","sourcesContent":["import { filterBuilder } from './filter-builder'\nimport filterMixin from './filter-mixin'\nimport { optimisedQuery as optimiseQuery } from './query-optimiser'\nimport { Validator } from './validator'\nimport { wixDataEncoder } from './wix-data-encoder'\n\nexport { filterMixin, filterBuilder, optimiseQuery, Validator, wixDataEncoder }\n\nexport default filterBuilder\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.wixDataEncoder = wixDataEncoder;
|
|
5
|
+
|
|
6
|
+
var _typeUtils = require("./type-utils");
|
|
7
|
+
|
|
8
|
+
function wixDataEncoder(operand) {
|
|
9
|
+
if ((0, _typeUtils.isDate)(operand)) {
|
|
10
|
+
return {
|
|
11
|
+
$date: operand.toJSON()
|
|
12
|
+
};
|
|
13
|
+
} else {
|
|
14
|
+
return operand;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=wix-data-encoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/wix-data-encoder.ts"],"names":["wixDataEncoder","operand","$date","toJSON"],"mappings":";;;;;AAAA;;AAEO,SAASA,cAAT,CAAwBC,OAAxB,EAAiC;AACtC,MAAI,uBAAOA,OAAP,CAAJ,EAAqB;AACnB,WAAO;AAAEC,MAAAA,KAAK,EAAED,OAAO,CAACE,MAAR;AAAT,KAAP;AACD,GAFD,MAEO;AACL,WAAOF,OAAP;AACD;AACF","sourcesContent":["import { isDate } from './type-utils'\n\nexport function wixDataEncoder(operand) {\n if (isDate(operand)) {\n return { $date: operand.toJSON() }\n } else {\n return operand\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chai from 'chai';
|
|
2
|
-
import { filterBuilder } from '..';
|
|
2
|
+
import { filterBuilder, wixDataEncoder } from '..';
|
|
3
3
|
var expect = chai.expect;
|
|
4
4
|
function inAnd() {
|
|
5
5
|
var args = [];
|
|
@@ -10,6 +10,22 @@ function inAnd() {
|
|
|
10
10
|
}
|
|
11
11
|
describe('filter', function () {
|
|
12
12
|
var filter = filterBuilder();
|
|
13
|
+
describe('custom encoders', function () {
|
|
14
|
+
it('encode date with wixDataEncoder', function () {
|
|
15
|
+
var now = new Date();
|
|
16
|
+
var filterWithEncoder = filterBuilder({ encoder: wixDataEncoder });
|
|
17
|
+
expect(filterWithEncoder.eq('x', now).getFilterModel()).to.be.eql({
|
|
18
|
+
x: { $date: now.toJSON() },
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
it('encode with custom encoder', function () {
|
|
22
|
+
var encoder = function () { return 3; };
|
|
23
|
+
var filterWithEncoder = filterBuilder({ encoder: encoder });
|
|
24
|
+
expect(filterWithEncoder.eq('x', 'a').getFilterModel()).to.be.eql({
|
|
25
|
+
x: 3,
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
});
|
|
13
29
|
describe('filter comparison operators', function () {
|
|
14
30
|
it('should produce the correct filter tree', function () {
|
|
15
31
|
expect(filter.eq('x', 1).getFilterModel()).to.be.eql({ x: 1 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.spec.js","sourceRoot":"","sources":["../../../src/__tests__/filter.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filter.spec.js","sourceRoot":"","sources":["../../../src/__tests__/filter.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,9 @@ var FilterBuilder = (function (_super) {
|
|
|
18
18
|
return FilterBuilder;
|
|
19
19
|
}(filterMixin()));
|
|
20
20
|
export { FilterBuilder };
|
|
21
|
-
export function filterBuilder() {
|
|
22
|
-
|
|
21
|
+
export function filterBuilder(params) {
|
|
22
|
+
if (params === void 0) { params = {}; }
|
|
23
|
+
return new FilterBuilder(params);
|
|
23
24
|
}
|
|
24
25
|
export default filterBuilder;
|
|
25
26
|
//# sourceMappingURL=filter-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-builder.js","sourceRoot":"","sources":["../../src/filter-builder.ts"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC;IAAmC,iCAAa;IAAhD;;IAQA,CAAC;IAPC,sBAAI,0CAAe;aAAnB;YACE,OAAO,eAAe,CAAA;QACxB,CAAC;;;OAAA;IAED,8BAAM,GAAN;QACE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IACH,oBAAC;AAAD,CAAC,AARD,CAAmC,WAAW,EAAE,GAQ/C;;AAED,MAAM,UAAU,aAAa;
|
|
1
|
+
{"version":3,"file":"filter-builder.js","sourceRoot":"","sources":["../../src/filter-builder.ts"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC;IAAmC,iCAAa;IAAhD;;IAQA,CAAC;IAPC,sBAAI,0CAAe;aAAnB;YACE,OAAO,eAAe,CAAA;QACxB,CAAC;;;OAAA;IAED,8BAAM,GAAN;QACE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IACH,oBAAC;AAAD,CAAC,AARD,CAAmC,WAAW,EAAE,GAQ/C;;AAED,MAAM,UAAU,aAAa,CAAC,MAAW;IAAX,uBAAA,EAAA,WAAW;IACvC,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC;AAED,eAAe,aAAa,CAAA"}
|
package/dist/esm/filter-mixin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __assign, __extends, __spreadArray } from "tslib";
|
|
2
|
-
import { isArray } from './type-utils';
|
|
2
|
+
import { isArray, isFunction } from './type-utils';
|
|
3
3
|
import clone from './clone';
|
|
4
4
|
import { FilterValidator } from './filter-validator';
|
|
5
5
|
import { optimisedQuery } from './query-optimiser';
|
|
@@ -16,6 +16,7 @@ var filterMixin = function (Base) {
|
|
|
16
16
|
var _this = _super.call(this, obj) || this;
|
|
17
17
|
_this.filterTree = obj.filterTree || { $and: [] };
|
|
18
18
|
_this.invalidArguments = obj.invalidArguments || [];
|
|
19
|
+
_this.encoder = obj.encoder || {};
|
|
19
20
|
return _this;
|
|
20
21
|
}
|
|
21
22
|
class_2.prototype.eq = function () {
|
|
@@ -236,19 +237,18 @@ var filterMixin = function (Base) {
|
|
|
236
237
|
if (filterOperatorName !== '$eq') {
|
|
237
238
|
var newFilter = {};
|
|
238
239
|
newFilter[field] = {};
|
|
239
|
-
newFilter[field][filterOperatorName] = this.
|
|
240
|
+
newFilter[field][filterOperatorName] = this._encode(operand);
|
|
240
241
|
return newFilter;
|
|
241
242
|
}
|
|
242
243
|
else {
|
|
243
244
|
var newFilter = {};
|
|
244
|
-
newFilter[field] = this.
|
|
245
|
+
newFilter[field] = this._encode(operand);
|
|
245
246
|
return newFilter;
|
|
246
247
|
}
|
|
247
248
|
};
|
|
248
|
-
class_2.prototype.
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
return operand.map(function (op) { return _this._replaceRefs(op); });
|
|
249
|
+
class_2.prototype._encode = function (operand) {
|
|
250
|
+
if (isFunction(this.encoder)) {
|
|
251
|
+
return this.encoder(operand);
|
|
252
252
|
}
|
|
253
253
|
else {
|
|
254
254
|
return operand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-mixin.js","sourceRoot":"","sources":["../../src/filter-mixin.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"filter-mixin.js","sourceRoot":"","sources":["../../src/filter-mixin.ts"],"names":[],"mappings":"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"}
|