@squidcloud/local-backend 1.0.45 → 1.0.46
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/common/src/index.d.ts +0 -1
- package/dist/common/src/index.js +0 -1
- package/dist/common/src/index.js.map +1 -1
- package/dist/common/src/query/base-query-builder.d.ts +39 -1
- package/dist/common/src/query/base-query-builder.js +254 -1
- package/dist/common/src/query/base-query-builder.js.map +1 -1
- package/dist/common/src/query/query-context.d.ts +29 -6
- package/dist/common/src/query/query-context.js +5 -4
- package/dist/common/src/query/query-context.js.map +1 -1
- package/dist/common/src/query.types.d.ts +20 -38
- package/dist/common/src/query.types.js +91 -72
- package/dist/common/src/query.types.js.map +1 -1
- package/dist/common/src/types.d.ts +8 -2
- package/dist/internal-common/src/shutdown.manager.js +0 -1
- package/dist/internal-common/src/shutdown.manager.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/common/src/query.schemas.d.ts +0 -6
- package/dist/common/src/query.schemas.js +0 -97
- package/dist/common/src/query.schemas.js.map +0 -1
|
@@ -1,83 +1,102 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseQuerySubscriptionId = exports.getQuerySubscriptionId = exports.compareOperator = exports.
|
|
4
|
-
const nullish_1 = require("./utils/nullish");
|
|
5
|
-
const object_1 = require("./utils/object");
|
|
3
|
+
exports.parseQuerySubscriptionId = exports.getQuerySubscriptionId = exports.compareOperator = exports.QueryMappingManager = exports.encodeCondition = exports.isSimpleCondition = void 0;
|
|
6
4
|
const serialization_1 = require("./utils/serialization");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
function isSimpleCondition(condition) {
|
|
7
|
+
return 'fieldName' in condition;
|
|
8
|
+
}
|
|
9
|
+
exports.isSimpleCondition = isSimpleCondition;
|
|
10
|
+
function encodeCondition(condition) {
|
|
11
|
+
return (0, serialization_1.normalizeJsonAsString)(condition);
|
|
12
|
+
}
|
|
13
|
+
exports.encodeCondition = encodeCondition;
|
|
14
|
+
const sampleQueryMapping = {
|
|
15
|
+
unconditional: ['cid_123'],
|
|
16
|
+
conditional: {
|
|
17
|
+
[encodeCondition({
|
|
18
|
+
fields: [
|
|
19
|
+
{
|
|
20
|
+
fieldName: 'name',
|
|
21
|
+
operator: '>',
|
|
22
|
+
value: 'Yossi',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
fieldName: 'age',
|
|
26
|
+
operator: '<',
|
|
27
|
+
value: 10,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
})]: ['cid_sort_order'],
|
|
31
|
+
[encodeCondition({
|
|
32
|
+
fieldName: 'age',
|
|
33
|
+
operator: '==',
|
|
34
|
+
value: 10,
|
|
35
|
+
})]: ['cid_321'],
|
|
36
|
+
[encodeCondition({
|
|
37
|
+
fieldName: 'age',
|
|
38
|
+
operator: '==',
|
|
39
|
+
value: 11,
|
|
40
|
+
})]: ['cid_321'],
|
|
41
|
+
[encodeCondition({
|
|
42
|
+
fieldName: 'age',
|
|
43
|
+
operator: '==',
|
|
44
|
+
value: 12,
|
|
45
|
+
})]: ['cid_321'],
|
|
46
|
+
[encodeCondition({
|
|
47
|
+
fieldName: 'age',
|
|
48
|
+
operator: '>',
|
|
49
|
+
value: 20,
|
|
50
|
+
})]: ['cid_456', 'cid_789'],
|
|
51
|
+
[encodeCondition({
|
|
52
|
+
fieldName: 'age',
|
|
53
|
+
operator: '<',
|
|
54
|
+
value: 20,
|
|
55
|
+
})]: ['cid_789'],
|
|
56
|
+
[encodeCondition({
|
|
57
|
+
fieldName: 'name',
|
|
58
|
+
operator: '!=',
|
|
59
|
+
value: 'Yossi',
|
|
60
|
+
})]: ['cid_not_in'],
|
|
61
|
+
[encodeCondition({
|
|
62
|
+
fieldName: 'name',
|
|
63
|
+
operator: '!=',
|
|
64
|
+
value: 'Nir',
|
|
65
|
+
})]: ['cid_not_in'],
|
|
66
|
+
},
|
|
67
|
+
queriesMetadata: {
|
|
68
|
+
cid_123: {
|
|
69
|
+
condCount: 0,
|
|
70
|
+
},
|
|
71
|
+
cid_321: {
|
|
72
|
+
condCount: 1,
|
|
73
|
+
},
|
|
74
|
+
cid_456: {
|
|
75
|
+
condCount: 1,
|
|
76
|
+
},
|
|
77
|
+
cid_789: {
|
|
78
|
+
condCount: 2,
|
|
79
|
+
},
|
|
80
|
+
cid_sort_order: {
|
|
81
|
+
condCount: 1,
|
|
82
|
+
},
|
|
83
|
+
cid_not_in: {
|
|
84
|
+
condCount: 2,
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
};
|
|
7
88
|
class QueryMappingManager {
|
|
8
89
|
}
|
|
9
90
|
exports.QueryMappingManager = QueryMappingManager;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return findQueriesForDocumentSync(mapping, doc);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.SimpleQueryMappingManager = SimpleQueryMappingManager;
|
|
19
|
-
function findQueriesForDocumentSync(mapping, doc) {
|
|
20
|
-
var _a;
|
|
21
|
-
const result = [...(mapping.unconditional || [])];
|
|
22
|
-
const ignoredMappedId = new Set();
|
|
23
|
-
const mappedIdFoundMap = new Map();
|
|
24
|
-
for (const [encodedFieldName, fieldMapping] of Object.entries(mapping.conditional || {})) {
|
|
25
|
-
const fieldName = (0, serialization_1.decodeValueForMapping)(encodedFieldName);
|
|
26
|
-
for (const [operator, operatorMapping] of Object.entries(fieldMapping)) {
|
|
27
|
-
const matchedMappedId = [];
|
|
28
|
-
const valueInDocument = (_a = (0, object_1.getInPath)(doc, fieldName)) !== null && _a !== void 0 ? _a : null;
|
|
29
|
-
const encodedValueInDocument = (0, serialization_1.encodeValueForMapping)(valueInDocument);
|
|
30
|
-
switch (operator) {
|
|
31
|
-
case '==': {
|
|
32
|
-
matchedMappedId.push(...(operatorMapping[encodedValueInDocument] || []));
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
case '!=': {
|
|
36
|
-
const matchedSubscriptionIds = operatorMapping[encodedValueInDocument] || [];
|
|
37
|
-
matchedSubscriptionIds.forEach((qsi) => ignoredMappedId.add(qsi));
|
|
38
|
-
const restOfValues = Object.entries(operatorMapping).filter(([value]) => value !== encodedValueInDocument);
|
|
39
|
-
for (const [ignored, mappedId] of restOfValues) {
|
|
40
|
-
matchedMappedId.push(...mappedId);
|
|
41
|
-
}
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
case '<':
|
|
45
|
-
case '<=':
|
|
46
|
-
case '>':
|
|
47
|
-
case '>=':
|
|
48
|
-
case 'like':
|
|
49
|
-
case 'not like':
|
|
50
|
-
case 'like_cs':
|
|
51
|
-
case 'not like_cs': {
|
|
52
|
-
if ((0, nullish_1.isNotNullish)(valueInDocument)) {
|
|
53
|
-
matchedMappedId.push(...Object.entries(operatorMapping)
|
|
54
|
-
.filter(([conditionValue]) => compareOperator((0, serialization_1.decodeValueForMapping)(conditionValue), valueInDocument, operator))
|
|
55
|
-
.reduce((current, [ignored, matchedMappedId]) => {
|
|
56
|
-
current.push(...matchedMappedId);
|
|
57
|
-
return current;
|
|
58
|
-
}, []));
|
|
59
|
-
}
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
default:
|
|
63
|
-
throw new Error('Unsupported operator: ' + operator);
|
|
64
|
-
}
|
|
65
|
-
for (const mappedId of matchedMappedId) {
|
|
66
|
-
mappedIdFoundMap.set(mappedId, (mappedIdFoundMap.get(mappedId) || 0) + 1);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
91
|
+
function compareOperator(conditionValue, valueInDocument, operator) {
|
|
92
|
+
conditionValue = conditionValue instanceof Date ? conditionValue.getTime() : conditionValue !== null && conditionValue !== void 0 ? conditionValue : null;
|
|
93
|
+
valueInDocument = valueInDocument instanceof Date ? valueInDocument.getTime() : valueInDocument !== null && valueInDocument !== void 0 ? valueInDocument : null;
|
|
94
|
+
if (operator === '==') {
|
|
95
|
+
return lodash_1.default.isEqual(conditionValue, valueInDocument);
|
|
69
96
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
continue;
|
|
73
|
-
if (matchCount >= mapping.queriesMetadata[mappedId].condCount) {
|
|
74
|
-
result.push(mappedId);
|
|
75
|
-
}
|
|
97
|
+
if (operator === '!=') {
|
|
98
|
+
return !lodash_1.default.isEqual(conditionValue, valueInDocument);
|
|
76
99
|
}
|
|
77
|
-
return result;
|
|
78
|
-
}
|
|
79
|
-
exports.findQueriesForDocumentSync = findQueriesForDocumentSync;
|
|
80
|
-
function compareOperator(conditionValue, valueInDocument, operator) {
|
|
81
100
|
if (conditionValue === null || valueInDocument === null)
|
|
82
101
|
return false;
|
|
83
102
|
switch (operator) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.types.js","sourceRoot":"","sources":["../../../../common/src/query.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"query.types.js","sourceRoot":"","sources":["../../../../common/src/query.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,14 @@ export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
|
8
8
|
export type WithRequired<T, K extends keyof T> = T & {
|
|
9
9
|
[P in K]-?: T[P];
|
|
10
10
|
};
|
|
11
|
+
type PropertiesWithPrefix<Prefix extends string> = {
|
|
12
|
+
[key in `${Prefix}${string}`]: any;
|
|
13
|
+
};
|
|
11
14
|
type Pred = [0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
12
|
-
export type
|
|
13
|
-
[k in keyof T]-?: k extends string | number ?
|
|
15
|
+
export type DeepRecord<T, RemainingDepth extends number & keyof Pred = 5, Prefix extends string = ''> = RemainingDepth extends 0 ? PropertiesWithPrefix<Prefix> : {
|
|
16
|
+
[k in keyof T]-?: k extends string | number ? Record<`${Prefix}${k}`, T[k]> | (Required<T>[k] extends any[] ? never : Required<T>[k] extends object ? DeepRecord<Required<T>[k], Pred[RemainingDepth], `${Prefix}${k}.`> : never) : never;
|
|
14
17
|
}[keyof T];
|
|
18
|
+
export type UnionKeys<T> = T extends any ? keyof T : never;
|
|
19
|
+
export type FieldOf<T, K extends UnionKeys<T>> = Extract<T, Record<K, any>>[K];
|
|
20
|
+
export type Paths<T> = UnionKeys<DeepRecord<T>>;
|
|
15
21
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.manager.js","sourceRoot":"","sources":["../../../../internal-common/src/shutdown.manager.ts"],"names":[],"mappings":";;;AACA,+CAAmC;AACnC,+BAAmE;AAInE,MAAa,eAAe;IAS1B;QALQ,UAAK,GAAwB,EAAE,CAAC;QAChC,oBAAe,GAAG,KAAK,CAAC;QACf,iBAAY,GAAG,IAAI,cAAO,EAAiC,CAAC;QAC5D,mBAAc,GAAG,IAAI,cAAO,EAAQ,CAAC;QAOpD,IAAI,sBAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YAChC,sBAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAChD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;QACD,sBAAO,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC,CAAC;QACpH,sBAAO,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CACxD,IAAI,CAAC,WAAW,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAC9D,CAAC;QACF,qCAAqC,EAAE,CAAC;IAC1C,CAAC;IAED,kBAAkB,CAAC,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"shutdown.manager.js","sourceRoot":"","sources":["../../../../internal-common/src/shutdown.manager.ts"],"names":[],"mappings":"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"}
|