@wix/filter-builder 1.0.15 → 1.0.17
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 +16 -22
- package/dist/cjs/__tests__/filter.spec.js.map +1 -1
- package/dist/cjs/__tests__/query-optimizer.spec.js +0 -4
- package/dist/cjs/__tests__/query-optimizer.spec.js.map +1 -1
- package/dist/cjs/clone.js +0 -6
- package/dist/cjs/clone.js.map +1 -1
- package/dist/cjs/filter-builder.js +0 -8
- package/dist/cjs/filter-builder.js.map +1 -1
- package/dist/cjs/filter-mixin.js +29 -94
- package/dist/cjs/filter-mixin.js.map +1 -1
- package/dist/cjs/filter-validator.js +0 -25
- package/dist/cjs/filter-validator.js.map +1 -1
- package/dist/cjs/index.js +0 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/query-optimiser.js +12 -57
- package/dist/cjs/query-optimiser.js.map +1 -1
- package/dist/cjs/type-utils.js +0 -14
- package/dist/cjs/type-utils.js.map +1 -1
- package/dist/cjs/validator.js.map +1 -1
- package/dist/cjs/wix-data-encoder.js +0 -2
- package/dist/cjs/wix-data-encoder.js.map +1 -1
- package/dist/statics/filter-builder.umd.js +170 -170
- 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/package.json +8 -8
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _chai = _interopRequireDefault(require("chai"));
|
|
6
|
-
|
|
7
5
|
var _ = require("..");
|
|
8
|
-
|
|
9
6
|
const expect = _chai.default.expect;
|
|
10
|
-
|
|
11
7
|
function inAnd(...args) {
|
|
12
8
|
return {
|
|
13
9
|
$and: args
|
|
14
10
|
};
|
|
15
11
|
}
|
|
16
|
-
|
|
17
12
|
describe('filter', function () {
|
|
18
13
|
const filter = (0, _.filterBuilder)();
|
|
19
14
|
describe('custom encoders', function () {
|
|
@@ -30,7 +25,6 @@ describe('filter', function () {
|
|
|
30
25
|
});
|
|
31
26
|
it('encode with custom encoder', function () {
|
|
32
27
|
const encoder = () => 3;
|
|
33
|
-
|
|
34
28
|
const filterWithEncoder = (0, _.filterBuilder)({
|
|
35
29
|
encoder
|
|
36
30
|
});
|
|
@@ -136,24 +130,24 @@ describe('filter', function () {
|
|
|
136
130
|
expect(() => filter.le('x')._build()).to.throw('Invalid .le usage. .le requires two parameters.');
|
|
137
131
|
expect(() => filter.startsWith('x')._build()).to.throw('Invalid .startsWith usage. .startsWith requires two parameters.');
|
|
138
132
|
expect(() => filter.endsWith('x')._build()).to.throw('Invalid .endsWith usage. .endsWith requires two parameters.');
|
|
139
|
-
expect(() => filter.contains('x')._build()).to.throw('Invalid .contains usage. .contains requires two parameters.');
|
|
140
|
-
|
|
141
|
-
expect(() => filter.isNotEmpty()._build()).to.throw('Invalid .isNotEmpty usage. .isNotEmpty requires one parameter.');
|
|
142
|
-
|
|
133
|
+
expect(() => filter.contains('x')._build()).to.throw('Invalid .contains usage. .contains requires two parameters.');
|
|
134
|
+
// @ts-expect-error
|
|
135
|
+
expect(() => filter.isNotEmpty()._build()).to.throw('Invalid .isNotEmpty usage. .isNotEmpty requires one parameter.');
|
|
136
|
+
// @ts-expect-error
|
|
143
137
|
expect(() => filter.isEmpty()._build()).to.throw('Invalid .isEmpty usage. .isEmpty requires one parameter.');
|
|
144
138
|
expect(() => filter.isNotEmpty(1)._build()).to.throw('Invalid .isNotEmpty field value [Number]. .isNotEmpty field must be a String.');
|
|
145
|
-
expect(() => filter.isEmpty(1)._build()).to.throw('Invalid .isEmpty field value [Number]. .isEmpty field must be a String.');
|
|
146
|
-
|
|
147
|
-
expect(() => filter.or()._build()).to.throw('Invalid .or usage. .or requires one parameter.');
|
|
148
|
-
|
|
149
|
-
expect(() => filter.and()._build()).to.throw('Invalid .and usage. .and requires one parameter.');
|
|
150
|
-
|
|
151
|
-
expect(() => filter.not()._build()).to.throw('Invalid .not usage. .not requires one parameter.');
|
|
152
|
-
|
|
153
|
-
expect(() => filter.between()._build()).to.throw('Invalid .between usage. .between requires three parameters.');
|
|
154
|
-
|
|
155
|
-
expect(() => filter.between('x')._build()).to.throw('Invalid .between usage. .between requires three parameters.');
|
|
156
|
-
|
|
139
|
+
expect(() => filter.isEmpty(1)._build()).to.throw('Invalid .isEmpty field value [Number]. .isEmpty field must be a String.');
|
|
140
|
+
// @ts-expect-error
|
|
141
|
+
expect(() => filter.or()._build()).to.throw('Invalid .or usage. .or requires one parameter.');
|
|
142
|
+
// @ts-expect-error
|
|
143
|
+
expect(() => filter.and()._build()).to.throw('Invalid .and usage. .and requires one parameter.');
|
|
144
|
+
// @ts-expect-error
|
|
145
|
+
expect(() => filter.not()._build()).to.throw('Invalid .not usage. .not requires one parameter.');
|
|
146
|
+
// @ts-expect-error
|
|
147
|
+
expect(() => filter.between()._build()).to.throw('Invalid .between usage. .between requires three parameters.');
|
|
148
|
+
// @ts-expect-error
|
|
149
|
+
expect(() => filter.between('x')._build()).to.throw('Invalid .between usage. .between requires three parameters.');
|
|
150
|
+
// @ts-expect-error
|
|
157
151
|
expect(() => filter.between('x', 'x')._build()).to.throw('Invalid .between usage. .between requires three parameters.');
|
|
158
152
|
expect(() => filter.hasSome('x')._build()).to.throw('Invalid .hasSome usage. .hasSome requires at least two parameters.');
|
|
159
153
|
expect(() => filter.hasAll('x')._build()).to.throw('Invalid .hasAll usage. .hasAll requires at least two parameters.');
|
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
1
|
+
{"version":3,"names":["_chai","_interopRequireDefault","require","_","expect","chai","inAnd","args","$and","describe","filter","filterBuilder","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"],"sources":["../../../src/__tests__/filter.spec.ts"],"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"],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _chai = _interopRequireDefault(require("chai"));
|
|
6
|
-
|
|
7
5
|
var _queryOptimiser = require("../query-optimiser");
|
|
8
|
-
|
|
9
6
|
const expect = _chai.default.expect;
|
|
10
7
|
describe('query optimisations', () => {
|
|
11
8
|
describe('$and with single element', () => {
|
|
@@ -142,7 +139,6 @@ describe('query optimisations', () => {
|
|
|
142
139
|
});
|
|
143
140
|
});
|
|
144
141
|
});
|
|
145
|
-
|
|
146
142
|
function testCase(description, input, expectedOutput) {
|
|
147
143
|
it(description, () => {
|
|
148
144
|
const actualOutput = (0, _queryOptimiser.optimisedQuery)(input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_chai","_interopRequireDefault","require","_queryOptimiser","expect","chai","describe","testCase","$and","a","b","$lte","it","actualOutput","optimised","to","be","eql","$or","x","Date","description","input","expectedOutput"],"sources":["../../../src/__tests__/query-optimizer.spec.ts"],"sourcesContent":["import chai from 'chai'\nimport { optimisedQuery as optimised } from '../query-optimiser'\n\nconst expect = chai.expect\n\ndescribe('query optimisations', () => {\n describe('$and with single element', () => {\n testCase('gets unwrapped', { $and: [{ a: 1 }] }, { a: 1 })\n })\n\n describe('$and with object pieces', () => {\n testCase(\n 'gets unwrapped as object',\n { $and: [{ a: 1 }, { b: 2 }] },\n { a: 1, b: 2 }\n )\n testCase(\n 'remains if keys overlap',\n { $and: [{ a: 1 }, { b: 2 }, { a: 1 }] },\n { $and: [{ a: 1 }, { b: 2 }, { a: 1 }] }\n )\n testCase(\n \"nested operators don't get merged\",\n { $and: [{ a: 1 }, { $lte: 4 }, { b: 2 }] },\n { $and: [{ a: 1, b: 2 }, { $lte: 4 }] }\n )\n it('merges empty objects', () => {\n const actualOutput = optimised({ $and: [{}, {}, {}] })\n expect(actualOutput).to.be.eql({})\n })\n })\n\n describe('empty $and', () => {\n testCase('is removed', { $and: [{ $and: [] }] }, {})\n testCase('is removed when nested', { $and: [{ $and: [] }] }, {})\n })\n\n describe('nested $and', () => {\n testCase(\n 'get flattened',\n {\n $and: [{ a: 1 }, { $and: [{ a: 1 }] }, { $and: [{ a: 1 }, { a: 1 }] }],\n },\n { $and: [{ a: 1 }, { a: 1 }, { a: 1 }, { a: 1 }] }\n )\n })\n\n describe('nested $or', () => {\n testCase(\n 'get flattened',\n { $or: [{ a: 1 }, { $or: [{ a: 1 }] }, { $or: [{ a: 1 }, { a: 1 }] }] },\n { $or: [{ a: 1 }, { a: 1 }, { a: 1 }, { a: 1 }] }\n )\n })\n\n describe('type compatibility', () => {\n testCase(\n 'maintains date objects',\n { x: [new Date('2020-01-01T00:00:00Z')] },\n { x: [new Date('2020-01-01T00:00:00Z')] }\n )\n })\n})\n\nfunction testCase(description, input, expectedOutput) {\n it(description, () => {\n const actualOutput = optimised(input)\n expect(actualOutput).to.be.eql(expectedOutput)\n })\n}\n"],"mappings":"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"}
|
package/dist/cjs/clone.js
CHANGED
|
@@ -2,26 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = clone;
|
|
5
|
-
|
|
6
5
|
var _typeUtils = require("./type-utils");
|
|
7
|
-
|
|
8
6
|
function clone(obj) {
|
|
9
7
|
if (obj == null || typeof obj !== 'object') {
|
|
10
8
|
return obj;
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
let temp = null;
|
|
14
|
-
|
|
15
11
|
if ((0, _typeUtils.isDate)(obj)) {
|
|
16
12
|
temp = new Date(obj.getTime());
|
|
17
13
|
} else {
|
|
18
14
|
temp = obj.constructor();
|
|
19
|
-
|
|
20
15
|
for (const key in obj) {
|
|
21
16
|
temp[key] = clone(obj[key]);
|
|
22
17
|
}
|
|
23
18
|
}
|
|
24
|
-
|
|
25
19
|
return temp;
|
|
26
20
|
}
|
|
27
21
|
//# sourceMappingURL=clone.js.map
|
package/dist/cjs/clone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_typeUtils","require","clone","obj","temp","isDate","Date","getTime","constructor","key"],"sources":["../../src/clone.ts"],"sourcesContent":["import { isDate } from './type-utils'\n\nexport default function clone(obj) {\n if (obj == null || typeof obj !== 'object') {\n return obj\n }\n\n let temp: any = null\n\n if (isDate(obj)) {\n temp = new Date(obj.getTime())\n } else {\n temp = obj.constructor()\n for (const key in obj) {\n temp[key] = clone(obj[key])\n }\n }\n\n return temp\n}\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEe,SAASC,KAAKA,CAACC,GAAG,EAAE;EACjC,IAAIA,GAAG,IAAI,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC1C,OAAOA,GAAG;EACZ;EAEA,IAAIC,IAAS,GAAG,IAAI;EAEpB,IAAI,IAAAC,iBAAM,EAACF,GAAG,CAAC,EAAE;IACfC,IAAI,GAAG,IAAIE,IAAI,CAACH,GAAG,CAACI,OAAO,EAAE,CAAC;EAChC,CAAC,MAAM;IACLH,IAAI,GAAGD,GAAG,CAACK,WAAW,EAAE;IACxB,KAAK,MAAMC,GAAG,IAAIN,GAAG,EAAE;MACrBC,IAAI,CAACK,GAAG,CAAC,GAAGP,KAAK,CAACC,GAAG,CAACM,GAAG,CAAC,CAAC;IAC7B;EACF;EAEA,OAAOL,IAAI;AACb"}
|
|
@@ -1,30 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
exports.__esModule = true;
|
|
6
5
|
exports.default = exports.FilterBuilder = void 0;
|
|
7
6
|
exports.filterBuilder = filterBuilder;
|
|
8
|
-
|
|
9
7
|
var _filterMixin = _interopRequireDefault(require("./filter-mixin"));
|
|
10
|
-
|
|
11
8
|
class FilterBuilder extends (0, _filterMixin.default)() {
|
|
12
9
|
get constructorName() {
|
|
13
10
|
return 'FilterBuilder';
|
|
14
11
|
}
|
|
15
|
-
|
|
16
12
|
_build() {
|
|
17
13
|
return this.getFilterModel();
|
|
18
14
|
}
|
|
19
|
-
|
|
20
15
|
}
|
|
21
|
-
|
|
22
16
|
exports.FilterBuilder = FilterBuilder;
|
|
23
|
-
|
|
24
17
|
function filterBuilder(params = {}) {
|
|
25
18
|
return new FilterBuilder(params);
|
|
26
19
|
}
|
|
27
|
-
|
|
28
20
|
var _default = filterBuilder;
|
|
29
21
|
exports.default = _default;
|
|
30
22
|
//# sourceMappingURL=filter-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_filterMixin","_interopRequireDefault","require","FilterBuilder","filterMixin","constructorName","_build","getFilterModel","exports","filterBuilder","params","_default","default"],"sources":["../../src/filter-builder.ts"],"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"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,MAAMC,aAAa,SAAS,IAAAC,oBAAW,GAAE,CAAC;EAC/C,IAAIC,eAAeA,CAAA,EAAG;IACpB,OAAO,eAAe;EACxB;EAEAC,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACC,cAAc,EAAE;EAC9B;AACF;AAACC,OAAA,CAAAL,aAAA,GAAAA,aAAA;AAEM,SAASM,aAAaA,CAACC,MAAM,GAAG,CAAC,CAAC,EAAE;EACzC,OAAO,IAAIP,aAAa,CAACO,MAAM,CAAC;AAClC;AAAC,IAAAC,QAAA,GAEcF,aAAa;AAAAD,OAAA,CAAAI,OAAA,GAAAD,QAAA"}
|