@diister/quick-permission 0.9.0-beta.5
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/LICENSE +21 -0
- package/README.md +747 -0
- package/aggregation.ts +114 -0
- package/core/filtering.ts +70 -0
- package/core/matching.ts +82 -0
- package/core/merging.ts +143 -0
- package/dist/aggregation.d.ts +62 -0
- package/dist/aggregation.d.ts.map +1 -0
- package/dist/aggregation.js +97 -0
- package/dist/aggregation.js.map +1 -0
- package/dist/core/filtering.d.ts +35 -0
- package/dist/core/filtering.d.ts.map +1 -0
- package/dist/core/filtering.js +62 -0
- package/dist/core/filtering.js.map +1 -0
- package/dist/core/matching.d.ts +31 -0
- package/dist/core/matching.d.ts.map +1 -0
- package/dist/core/matching.js +75 -0
- package/dist/core/matching.js.map +1 -0
- package/dist/core/merging.d.ts +29 -0
- package/dist/core/merging.d.ts.map +1 -0
- package/dist/core/merging.js +124 -0
- package/dist/core/merging.js.map +1 -0
- package/dist/indirect-aggregation.d.ts +41 -0
- package/dist/indirect-aggregation.d.ts.map +1 -0
- package/dist/indirect-aggregation.js +185 -0
- package/dist/indirect-aggregation.js.map +1 -0
- package/dist/indirect-resource.d.ts +126 -0
- package/dist/indirect-resource.d.ts.map +1 -0
- package/dist/indirect-resource.js +109 -0
- package/dist/indirect-resource.js.map +1 -0
- package/dist/mod.d.ts +25 -0
- package/dist/mod.d.ts.map +1 -0
- package/dist/mod.js +25 -0
- package/dist/mod.js.map +1 -0
- package/dist/mongo-query.d.ts +38 -0
- package/dist/mongo-query.d.ts.map +1 -0
- package/dist/mongo-query.js +88 -0
- package/dist/mongo-query.js.map +1 -0
- package/dist/permission.d.ts +57 -0
- package/dist/permission.d.ts.map +1 -0
- package/dist/permission.js +60 -0
- package/dist/permission.js.map +1 -0
- package/dist/resource.d.ts +48 -0
- package/dist/resource.d.ts.map +1 -0
- package/dist/resource.js +298 -0
- package/dist/resource.js.map +1 -0
- package/dist/rules.d.ts +106 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/rules.js +183 -0
- package/dist/rules.js.map +1 -0
- package/dist/sift/core.d.ts +104 -0
- package/dist/sift/core.d.ts.map +1 -0
- package/dist/sift/core.js +248 -0
- package/dist/sift/core.js.map +1 -0
- package/dist/sift/index.d.ts +10 -0
- package/dist/sift/index.d.ts.map +1 -0
- package/dist/sift/index.js +18 -0
- package/dist/sift/index.js.map +1 -0
- package/dist/sift/operations.d.ts +87 -0
- package/dist/sift/operations.d.ts.map +1 -0
- package/dist/sift/operations.js +257 -0
- package/dist/sift/operations.js.map +1 -0
- package/dist/sift/utils.d.ts +12 -0
- package/dist/sift/utils.d.ts.map +1 -0
- package/dist/sift/utils.js +80 -0
- package/dist/sift/utils.js.map +1 -0
- package/dist/system.d.ts +113 -0
- package/dist/system.d.ts.map +1 -0
- package/dist/system.js +712 -0
- package/dist/system.js.map +1 -0
- package/dist/target.d.ts +18 -0
- package/dist/target.d.ts.map +1 -0
- package/dist/target.js +41 -0
- package/dist/target.js.map +1 -0
- package/dist/types.d.ts +345 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/indirect-aggregation.ts +216 -0
- package/indirect-resource.ts +205 -0
- package/mod.ts +81 -0
- package/mongo-query.ts +94 -0
- package/package.json +58 -0
- package/permission.ts +88 -0
- package/resource.ts +352 -0
- package/rules.ts +241 -0
- package/sift/MIT-LICENSE.txt +20 -0
- package/sift/core.ts +551 -0
- package/sift/index.ts +62 -0
- package/sift/operations.ts +449 -0
- package/sift/utils.ts +96 -0
- package/system.ts +974 -0
- package/target.ts +84 -0
- package/types.ts +408 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { type Comparator, type Key } from "./utils.ts";
|
|
2
|
+
export interface Operation<TItem> {
|
|
3
|
+
readonly keep: boolean;
|
|
4
|
+
readonly done: boolean;
|
|
5
|
+
propop: boolean;
|
|
6
|
+
reset(): void;
|
|
7
|
+
next(item: TItem, key?: Key, owner?: unknown, root?: boolean, leaf?: boolean): void;
|
|
8
|
+
}
|
|
9
|
+
export type Tester = (item: unknown, key?: Key, owner?: unknown, root?: boolean, leaf?: boolean) => boolean;
|
|
10
|
+
export interface NamedOperation {
|
|
11
|
+
name: string;
|
|
12
|
+
}
|
|
13
|
+
export type OperationCreator<TItem> = (params: unknown, parentQuery: unknown, options: Options, name: string) => Operation<TItem>;
|
|
14
|
+
export type BasicValueQuery<TValue> = {
|
|
15
|
+
$eq?: TValue;
|
|
16
|
+
$ne?: TValue;
|
|
17
|
+
$lt?: TValue;
|
|
18
|
+
$gt?: TValue;
|
|
19
|
+
$lte?: TValue;
|
|
20
|
+
$gte?: TValue;
|
|
21
|
+
$in?: TValue[];
|
|
22
|
+
$nin?: TValue[];
|
|
23
|
+
$all?: TValue[];
|
|
24
|
+
$mod?: [number, number];
|
|
25
|
+
$exists?: boolean;
|
|
26
|
+
$regex?: string | RegExp;
|
|
27
|
+
$size?: number;
|
|
28
|
+
$options?: "i" | "g" | "m" | "u";
|
|
29
|
+
$type?: Function;
|
|
30
|
+
$not?: NestedQuery<TValue>;
|
|
31
|
+
$or?: NestedQuery<TValue>[];
|
|
32
|
+
$nor?: NestedQuery<TValue>[];
|
|
33
|
+
$and?: NestedQuery<TValue>[];
|
|
34
|
+
};
|
|
35
|
+
export type ArrayValueQuery<TValue> = {
|
|
36
|
+
$elemMatch?: Query<TValue>;
|
|
37
|
+
} & BasicValueQuery<TValue>;
|
|
38
|
+
type Unpacked<T> = T extends (infer U)[] ? U : T;
|
|
39
|
+
export type ValueQuery<TValue> = TValue extends Array<unknown> ? ArrayValueQuery<Unpacked<TValue>> : BasicValueQuery<TValue>;
|
|
40
|
+
type NotObject = string | number | Date | boolean | Array<unknown>;
|
|
41
|
+
export type ShapeQuery<TItemSchema> = TItemSchema extends NotObject ? {} : {
|
|
42
|
+
[k in keyof TItemSchema]?: TItemSchema[k] | ValueQuery<TItemSchema[k]>;
|
|
43
|
+
};
|
|
44
|
+
export type NestedQuery<TItemSchema> = ValueQuery<TItemSchema> & ShapeQuery<TItemSchema>;
|
|
45
|
+
export type Query<TItemSchema> = TItemSchema | RegExp | NestedQuery<TItemSchema>;
|
|
46
|
+
export type QueryOperators<TValue = unknown> = keyof ValueQuery<TValue>;
|
|
47
|
+
export declare abstract class BaseOperation<TParams, TItem = unknown> implements Operation<TItem> {
|
|
48
|
+
keep: boolean;
|
|
49
|
+
done: boolean;
|
|
50
|
+
abstract propop: boolean;
|
|
51
|
+
readonly params: TParams;
|
|
52
|
+
readonly owneryQuery: unknown;
|
|
53
|
+
readonly options: Options;
|
|
54
|
+
readonly name?: string;
|
|
55
|
+
constructor(params: TParams, owneryQuery: unknown, options: Options, name?: string);
|
|
56
|
+
protected init(): void;
|
|
57
|
+
reset(): void;
|
|
58
|
+
abstract next(item: TItem, key?: Key, parent?: unknown, root?: boolean, leaf?: boolean): void;
|
|
59
|
+
}
|
|
60
|
+
declare abstract class GroupOperation extends BaseOperation<unknown> {
|
|
61
|
+
readonly children: Operation<unknown>[];
|
|
62
|
+
constructor(params: unknown, owneryQuery: unknown, options: Options, children: Operation<unknown>[]);
|
|
63
|
+
reset(): void;
|
|
64
|
+
abstract next(item: unknown, key?: Key, owner?: unknown, root?: boolean, leaf?: boolean): void;
|
|
65
|
+
protected childrenNext(item: unknown, key: Key | undefined, owner: unknown, root: boolean, leaf?: boolean): void;
|
|
66
|
+
}
|
|
67
|
+
export declare abstract class NamedGroupOperation extends GroupOperation implements NamedOperation {
|
|
68
|
+
abstract propop: boolean;
|
|
69
|
+
readonly name: string;
|
|
70
|
+
constructor(params: unknown, owneryQuery: unknown, options: Options, children: Operation<unknown>[], name: string);
|
|
71
|
+
}
|
|
72
|
+
export declare class QueryOperation<TItem> extends GroupOperation {
|
|
73
|
+
readonly propop = true;
|
|
74
|
+
next(item: TItem, key?: Key, parent?: unknown, root?: boolean): void;
|
|
75
|
+
}
|
|
76
|
+
export declare class NestedOperation extends GroupOperation {
|
|
77
|
+
readonly propop = true;
|
|
78
|
+
readonly keyPath: Key[];
|
|
79
|
+
constructor(keyPath: Key[], params: unknown, owneryQuery: unknown, options: Options, children: Operation<unknown>[]);
|
|
80
|
+
next(item: unknown, key?: Key, parent?: unknown): void;
|
|
81
|
+
private _nextNestedValue;
|
|
82
|
+
}
|
|
83
|
+
export declare const createTester: (a: unknown, compare: Comparator) => Tester;
|
|
84
|
+
export declare class EqualsOperation<TParam> extends BaseOperation<TParam> {
|
|
85
|
+
readonly propop = true;
|
|
86
|
+
private _test;
|
|
87
|
+
init(): void;
|
|
88
|
+
next(item: unknown, key?: Key, parent?: unknown): void;
|
|
89
|
+
}
|
|
90
|
+
export declare const createEqualsOperation: (params: unknown, owneryQuery: unknown, options: Options) => EqualsOperation<unknown>;
|
|
91
|
+
export declare const numericalOperationCreator: (createNumericalOperation: OperationCreator<unknown>) => OperationCreator<unknown>;
|
|
92
|
+
export declare const numericalOperation: (createTester: (value: unknown) => Tester) => OperationCreator<unknown>;
|
|
93
|
+
export type Options = {
|
|
94
|
+
operations: {
|
|
95
|
+
[identifier: string]: OperationCreator<any>;
|
|
96
|
+
};
|
|
97
|
+
compare: (a: unknown, b: unknown) => boolean;
|
|
98
|
+
};
|
|
99
|
+
export declare const containsOperation: (query: unknown, options: Options) => boolean;
|
|
100
|
+
export declare const createQueryOperation: <TItem, TSchema = TItem>(query: Query<TSchema>, owneryQuery?: unknown, { compare, operations }?: Partial<Options>) => QueryOperation<TItem>;
|
|
101
|
+
export declare const createOperationTester: <TItem>(operation: Operation<TItem>) => (item: TItem, key?: Key, owner?: unknown) => boolean;
|
|
102
|
+
export declare const createQueryTester: <TItem, TSchema = TItem>(query: Query<TSchema>, options?: Partial<Options>) => ((item: TItem, key?: Key, owner?: unknown) => boolean);
|
|
103
|
+
export {};
|
|
104
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../sift/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
// Vendored from sift.js (https://github.com/crcn/sift.js) — MIT licensed.
|
|
2
|
+
// `$where` operator removed (security: arbitrary code execution).
|
|
3
|
+
//
|
|
4
|
+
// Deviates from upstream in one mechanical way: constructor parameter
|
|
5
|
+
// properties are written out as explicit fields. Node's type stripping cannot
|
|
6
|
+
// erase that syntax, so upstream's form made this file unloadable as raw
|
|
7
|
+
// TypeScript there — and the suite runs on Node to cover a second engine.
|
|
8
|
+
import { comparable, equals, isArray, isProperty, isVanillaObject, } from "./utils.js";
|
|
9
|
+
// Walks each value at a key path for nested ops, e.g. { "person.address": { $eq: "x" } }.
|
|
10
|
+
const walkKeyPathValues = (item, keyPath, next, depth, key, owner) => {
|
|
11
|
+
const currentKey = keyPath[depth];
|
|
12
|
+
// If array and currentKey is non-numeric / not own prop, fan out across elements.
|
|
13
|
+
// Falls through for cases like { $eq: [1, 2, 3] } against [1, 2, 3].
|
|
14
|
+
if (isArray(item) &&
|
|
15
|
+
isNaN(Number(currentKey)) &&
|
|
16
|
+
!isProperty(item, currentKey)) {
|
|
17
|
+
for (let i = 0, { length } = item; i < length; i++) {
|
|
18
|
+
// Returning false from `next` terminates the walk — for operations,
|
|
19
|
+
// that means the search criterion was met.
|
|
20
|
+
if (!walkKeyPathValues(item[i], keyPath, next, depth, i, item)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (depth === keyPath.length || item == null) {
|
|
26
|
+
return next(item, key, owner, depth === 0, depth === keyPath.length);
|
|
27
|
+
}
|
|
28
|
+
return walkKeyPathValues(item[currentKey], keyPath, next, depth + 1, currentKey, item);
|
|
29
|
+
};
|
|
30
|
+
export class BaseOperation {
|
|
31
|
+
keep = false;
|
|
32
|
+
done = false;
|
|
33
|
+
params;
|
|
34
|
+
owneryQuery;
|
|
35
|
+
options;
|
|
36
|
+
name;
|
|
37
|
+
// Fields are assigned manually (not via parameter properties) so they're
|
|
38
|
+
// available inside init(), which runs from this constructor before subclass
|
|
39
|
+
// field initializers fire under TS's `useDefineForClassFields` semantics.
|
|
40
|
+
constructor(params, owneryQuery, options, name) {
|
|
41
|
+
this.params = params;
|
|
42
|
+
this.owneryQuery = owneryQuery;
|
|
43
|
+
this.options = options;
|
|
44
|
+
this.name = name;
|
|
45
|
+
this.init();
|
|
46
|
+
}
|
|
47
|
+
init() { }
|
|
48
|
+
reset() {
|
|
49
|
+
this.done = false;
|
|
50
|
+
this.keep = false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
class GroupOperation extends BaseOperation {
|
|
54
|
+
children;
|
|
55
|
+
constructor(params, owneryQuery, options, children) {
|
|
56
|
+
super(params, owneryQuery, options);
|
|
57
|
+
this.children = children;
|
|
58
|
+
}
|
|
59
|
+
reset() {
|
|
60
|
+
this.keep = false;
|
|
61
|
+
this.done = false;
|
|
62
|
+
for (let i = 0, { length } = this.children; i < length; i++) {
|
|
63
|
+
this.children[i].reset();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
childrenNext(item, key, owner, root, leaf) {
|
|
67
|
+
let done = true;
|
|
68
|
+
let keep = true;
|
|
69
|
+
for (let i = 0, { length } = this.children; i < length; i++) {
|
|
70
|
+
const childOperation = this.children[i];
|
|
71
|
+
if (!childOperation.done) {
|
|
72
|
+
childOperation.next(item, key, owner, root, leaf);
|
|
73
|
+
}
|
|
74
|
+
if (!childOperation.keep) {
|
|
75
|
+
keep = false;
|
|
76
|
+
}
|
|
77
|
+
if (childOperation.done) {
|
|
78
|
+
if (!childOperation.keep) {
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
done = false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.done = done;
|
|
87
|
+
this.keep = keep;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export class NamedGroupOperation extends GroupOperation {
|
|
91
|
+
name;
|
|
92
|
+
constructor(params, owneryQuery, options, children, name) {
|
|
93
|
+
super(params, owneryQuery, options, children);
|
|
94
|
+
this.name = name;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export class QueryOperation extends GroupOperation {
|
|
98
|
+
propop = true;
|
|
99
|
+
next(item, key, parent, root) {
|
|
100
|
+
this.childrenNext(item, key, parent, root ?? false);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export class NestedOperation extends GroupOperation {
|
|
104
|
+
propop = true;
|
|
105
|
+
keyPath;
|
|
106
|
+
constructor(keyPath, params, owneryQuery, options, children) {
|
|
107
|
+
super(params, owneryQuery, options, children);
|
|
108
|
+
this.keyPath = keyPath;
|
|
109
|
+
}
|
|
110
|
+
next(item, key, parent) {
|
|
111
|
+
walkKeyPathValues(item, this.keyPath, this._nextNestedValue, 0, key, parent);
|
|
112
|
+
}
|
|
113
|
+
_nextNestedValue = (value, key, owner, root, leaf) => {
|
|
114
|
+
this.childrenNext(value, key, owner, root ?? false, leaf);
|
|
115
|
+
return !this.done;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export const createTester = (a, compare) => {
|
|
119
|
+
if (a instanceof Function) {
|
|
120
|
+
return a;
|
|
121
|
+
}
|
|
122
|
+
if (a instanceof RegExp) {
|
|
123
|
+
return (b) => {
|
|
124
|
+
const result = typeof b === "string" && a.test(b);
|
|
125
|
+
a.lastIndex = 0;
|
|
126
|
+
return result;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const comparableA = comparable(a);
|
|
130
|
+
return (b) => compare(comparableA, comparable(b));
|
|
131
|
+
};
|
|
132
|
+
export class EqualsOperation extends BaseOperation {
|
|
133
|
+
propop = true;
|
|
134
|
+
init() {
|
|
135
|
+
// Params can be a raw value, RegExp, or a custom tester function.
|
|
136
|
+
this._test = createTester(this.params, this.options.compare);
|
|
137
|
+
}
|
|
138
|
+
next(item, key, parent) {
|
|
139
|
+
if (!Array.isArray(parent) ||
|
|
140
|
+
Object.prototype.hasOwnProperty.call(parent, key)) {
|
|
141
|
+
if (this._test(item, key, parent)) {
|
|
142
|
+
this.done = true;
|
|
143
|
+
this.keep = true;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
export const createEqualsOperation = (params, owneryQuery, options) => new EqualsOperation(params, owneryQuery, options);
|
|
149
|
+
export const numericalOperationCreator = (createNumericalOperation) => (params, owneryQuery, options, name) => {
|
|
150
|
+
return createNumericalOperation(params, owneryQuery, options, name);
|
|
151
|
+
};
|
|
152
|
+
export const numericalOperation = (createTester) => numericalOperationCreator((params, owneryQuery, options, name) => {
|
|
153
|
+
const typeofParams = typeof comparable(params);
|
|
154
|
+
const test = createTester(params);
|
|
155
|
+
return new EqualsOperation(((b) => {
|
|
156
|
+
const actualValue = b == null ? null : b;
|
|
157
|
+
return (typeof comparable(actualValue) === typeofParams && test(actualValue));
|
|
158
|
+
// EqualsOperation accepts a Tester as params; cast retains that contract.
|
|
159
|
+
}), owneryQuery, options, name);
|
|
160
|
+
});
|
|
161
|
+
const createNamedOperation = (name, params, parentQuery, options) => {
|
|
162
|
+
const operationCreator = options.operations[name];
|
|
163
|
+
if (!operationCreator) {
|
|
164
|
+
throwUnsupportedOperation(name);
|
|
165
|
+
}
|
|
166
|
+
return operationCreator(params, parentQuery, options, name);
|
|
167
|
+
};
|
|
168
|
+
const throwUnsupportedOperation = (name) => {
|
|
169
|
+
throw new Error(`Unsupported operation: ${name}`);
|
|
170
|
+
};
|
|
171
|
+
export const containsOperation = (query, options) => {
|
|
172
|
+
if (query == null || typeof query !== "object")
|
|
173
|
+
return false;
|
|
174
|
+
for (const key in query) {
|
|
175
|
+
if (Object.prototype.hasOwnProperty.call(options.operations, key) ||
|
|
176
|
+
key.charAt(0) === "$") {
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return false;
|
|
181
|
+
};
|
|
182
|
+
const createNestedOperation = (keyPath, nestedQuery, parentKey, owneryQuery, options) => {
|
|
183
|
+
if (containsOperation(nestedQuery, options)) {
|
|
184
|
+
const [selfOperations, nestedOperations] = createQueryOperations(nestedQuery, parentKey, options);
|
|
185
|
+
if (nestedOperations.length) {
|
|
186
|
+
throw new Error(`Property queries must contain only operations, or exact objects.`);
|
|
187
|
+
}
|
|
188
|
+
return new NestedOperation(keyPath, nestedQuery, owneryQuery, options, selfOperations);
|
|
189
|
+
}
|
|
190
|
+
return new NestedOperation(keyPath, nestedQuery, owneryQuery, options, [
|
|
191
|
+
new EqualsOperation(nestedQuery, owneryQuery, options),
|
|
192
|
+
]);
|
|
193
|
+
};
|
|
194
|
+
export const createQueryOperation = (query, owneryQuery = null, { compare, operations } = {}) => {
|
|
195
|
+
const options = {
|
|
196
|
+
compare: compare || equals,
|
|
197
|
+
operations: Object.assign({}, operations || {}),
|
|
198
|
+
};
|
|
199
|
+
const [selfOperations, nestedOperations] = createQueryOperations(query, null, options);
|
|
200
|
+
const ops = [];
|
|
201
|
+
if (selfOperations.length) {
|
|
202
|
+
ops.push(new NestedOperation([], query, owneryQuery, options, selfOperations));
|
|
203
|
+
}
|
|
204
|
+
ops.push(...nestedOperations);
|
|
205
|
+
if (ops.length === 1) {
|
|
206
|
+
return ops[0];
|
|
207
|
+
}
|
|
208
|
+
return new QueryOperation(query, owneryQuery, options, ops);
|
|
209
|
+
};
|
|
210
|
+
const createQueryOperations = (query, parentKey, options) => {
|
|
211
|
+
const selfOperations = [];
|
|
212
|
+
const nestedOperations = [];
|
|
213
|
+
if (!isVanillaObject(query)) {
|
|
214
|
+
selfOperations.push(new EqualsOperation(query, query, options));
|
|
215
|
+
return [selfOperations, nestedOperations];
|
|
216
|
+
}
|
|
217
|
+
const queryObj = query;
|
|
218
|
+
for (const key in queryObj) {
|
|
219
|
+
if (Object.prototype.hasOwnProperty.call(options.operations, key)) {
|
|
220
|
+
const op = createNamedOperation(key, queryObj[key], queryObj, options);
|
|
221
|
+
if (op) {
|
|
222
|
+
if (!op.propop && parentKey && !options.operations[parentKey]) {
|
|
223
|
+
throw new Error(`Malformed query. ${key} cannot be matched against property.`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// A null op may just be a flag for another operation (like $options).
|
|
227
|
+
if (op != null) {
|
|
228
|
+
selfOperations.push(op);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else if (key.charAt(0) === "$") {
|
|
232
|
+
throwUnsupportedOperation(key);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
nestedOperations.push(createNestedOperation(key.split("."), queryObj[key], key, queryObj, options));
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return [selfOperations, nestedOperations];
|
|
239
|
+
};
|
|
240
|
+
export const createOperationTester = (operation) => (item, key, owner) => {
|
|
241
|
+
operation.reset();
|
|
242
|
+
operation.next(item, key, owner);
|
|
243
|
+
return operation.keep;
|
|
244
|
+
};
|
|
245
|
+
export const createQueryTester = (query, options = {}) => {
|
|
246
|
+
return createOperationTester(createQueryOperation(query, null, options));
|
|
247
|
+
};
|
|
248
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../sift/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createEqualsOperation, createOperationTester, createQueryOperation, createQueryTester, EqualsOperation, type Options } from "./core.ts";
|
|
2
|
+
import type { ArrayValueQuery, BasicValueQuery, NestedQuery, Query, QueryOperators, ShapeQuery, ValueQuery } from "./core.ts";
|
|
3
|
+
import type { Key } from "./utils.ts";
|
|
4
|
+
declare const createDefaultQueryOperation: <TItem, TSchema extends TItem = TItem>(query: Query<TSchema>, ownerQuery: unknown, { compare, operations }?: Partial<Options>) => import("./core.ts").QueryOperation<TItem>;
|
|
5
|
+
declare const createDefaultQueryTester: <TItem, TSchema extends TItem = TItem>(query: Query<TSchema>, options?: Partial<Options>) => ((item: TItem, key?: Key, owner?: unknown) => boolean);
|
|
6
|
+
export { createDefaultQueryOperation, createEqualsOperation, createOperationTester, createQueryOperation, createQueryTester, EqualsOperation, };
|
|
7
|
+
export type { ArrayValueQuery, BasicValueQuery, NestedQuery, Query, QueryOperators, ShapeQuery, ValueQuery, };
|
|
8
|
+
export * from "./operations.ts";
|
|
9
|
+
export default createDefaultQueryTester;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sift/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,KAAK,OAAO,EACb,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,WAAW,EACX,KAAK,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACX,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAA,MAAM,2BAA2B,GAAI,KAAK,EAAE,OAAO,SAAS,KAAK,GAAG,KAAK,EACvE,OAAO,KAAK,CAAC,OAAO,CAAC,EACrB,YAAY,OAAO,EACnB,0BAAyB,OAAO,CAAC,OAAO,CAAM,8CAM/C,CAAC;AAEF,QAAA,MAAM,wBAAwB,GAAI,KAAK,EAAE,OAAO,SAAS,KAAK,GAAG,KAAK,EACpE,OAAO,KAAK,CAAC,OAAO,CAAC,EACrB,UAAS,OAAO,CAAC,OAAO,CAAM,KAC7B,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAGvD,CAAC;AAEF,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAChB,CAAC;AACF,YAAY,EACV,eAAe,EACf,eAAe,EACf,WAAW,EACX,KAAK,EACL,cAAc,EACd,UAAU,EACV,UAAU,GACX,CAAC;AACF,cAAc,iBAAiB,CAAC;AAEhC,eAAe,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Vendored from sift.js (https://github.com/crcn/sift.js) — MIT licensed.
|
|
2
|
+
// `$where` operator removed (security: arbitrary code execution).
|
|
3
|
+
import * as defaultOperations from "./operations.js";
|
|
4
|
+
import { createEqualsOperation, createOperationTester, createQueryOperation, createQueryTester, EqualsOperation, } from "./core.js";
|
|
5
|
+
const createDefaultQueryOperation = (query, ownerQuery, { compare, operations } = {}) => {
|
|
6
|
+
return createQueryOperation(query, ownerQuery, {
|
|
7
|
+
compare,
|
|
8
|
+
operations: Object.assign({}, defaultOperations, operations || {}),
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
const createDefaultQueryTester = (query, options = {}) => {
|
|
12
|
+
const op = createDefaultQueryOperation(query, null, options);
|
|
13
|
+
return createOperationTester(op);
|
|
14
|
+
};
|
|
15
|
+
export { createDefaultQueryOperation, createEqualsOperation, createOperationTester, createQueryOperation, createQueryTester, EqualsOperation, };
|
|
16
|
+
export * from "./operations.js";
|
|
17
|
+
export default createDefaultQueryTester;
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../sift/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,kEAAkE;AAElE,OAAO,KAAK,iBAAiB,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAEhB,MAAM,WAAW,CAAC;AAYnB,MAAM,2BAA2B,GAAG,CAClC,KAAqB,EACrB,UAAmB,EACnB,EAAE,OAAO,EAAE,UAAU,KAAuB,EAAE,EAC9C,EAAE;IACF,OAAO,oBAAoB,CAAiB,KAAK,EAAE,UAAU,EAAE;QAC7D,OAAO;QACP,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAC;KACnE,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,KAAqB,EACrB,UAA4B,EAAE,EAC0B,EAAE;IAC1D,MAAM,EAAE,GAAG,2BAA2B,CAAiB,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,qBAAqB,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAChB,CAAC;AAUF,cAAc,iBAAiB,CAAC;AAEhC,eAAe,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { BaseOperation, EqualsOperation, NamedGroupOperation, type Options, type Query } from "./core.ts";
|
|
2
|
+
import { type Key } from "./utils.ts";
|
|
3
|
+
declare class $Ne extends BaseOperation<unknown> {
|
|
4
|
+
readonly propop = true;
|
|
5
|
+
private _test;
|
|
6
|
+
init(): void;
|
|
7
|
+
reset(): void;
|
|
8
|
+
next(item: unknown): void;
|
|
9
|
+
}
|
|
10
|
+
declare class $ElemMatch extends BaseOperation<Query<unknown>> {
|
|
11
|
+
readonly propop = true;
|
|
12
|
+
private _queryOperation;
|
|
13
|
+
init(): void;
|
|
14
|
+
reset(): void;
|
|
15
|
+
next(item: unknown): void;
|
|
16
|
+
}
|
|
17
|
+
declare class $Not extends BaseOperation<Query<unknown>> {
|
|
18
|
+
readonly propop = true;
|
|
19
|
+
private _queryOperation;
|
|
20
|
+
init(): void;
|
|
21
|
+
reset(): void;
|
|
22
|
+
next(item: unknown, key?: Key, owner?: unknown, root?: boolean): void;
|
|
23
|
+
}
|
|
24
|
+
export declare class $Size extends BaseOperation<number> {
|
|
25
|
+
readonly propop = true;
|
|
26
|
+
next(item: unknown): void;
|
|
27
|
+
}
|
|
28
|
+
declare class $Or extends BaseOperation<Query<unknown>[]> {
|
|
29
|
+
readonly propop = false;
|
|
30
|
+
private _ops;
|
|
31
|
+
init(): void;
|
|
32
|
+
reset(): void;
|
|
33
|
+
next(item: unknown, key?: Key, owner?: unknown): void;
|
|
34
|
+
}
|
|
35
|
+
declare class $Nor extends $Or {
|
|
36
|
+
readonly propop = false;
|
|
37
|
+
next(item: unknown, key?: Key, owner?: unknown): void;
|
|
38
|
+
}
|
|
39
|
+
declare class $In extends BaseOperation<unknown> {
|
|
40
|
+
readonly propop = true;
|
|
41
|
+
private _testers;
|
|
42
|
+
init(): void;
|
|
43
|
+
next(item: unknown, _key?: Key, _owner?: unknown): void;
|
|
44
|
+
}
|
|
45
|
+
declare class $Nin extends BaseOperation<unknown> {
|
|
46
|
+
readonly propop = true;
|
|
47
|
+
private _in;
|
|
48
|
+
constructor(params: unknown, ownerQuery: unknown, options: Options, name: string);
|
|
49
|
+
next(item: unknown, key?: Key, owner?: unknown, root?: boolean): void;
|
|
50
|
+
reset(): void;
|
|
51
|
+
}
|
|
52
|
+
declare class $Exists extends BaseOperation<boolean> {
|
|
53
|
+
readonly propop = true;
|
|
54
|
+
next(_item: unknown, key?: Key, owner?: unknown, _root?: boolean, leaf?: boolean): void;
|
|
55
|
+
}
|
|
56
|
+
declare class $And extends NamedGroupOperation {
|
|
57
|
+
readonly propop = false;
|
|
58
|
+
constructor(params: Query<unknown>[], owneryQuery: Query<unknown>, options: Options, name: string);
|
|
59
|
+
next(item: unknown, key?: Key, owner?: unknown, root?: boolean): void;
|
|
60
|
+
}
|
|
61
|
+
declare class $All extends NamedGroupOperation {
|
|
62
|
+
readonly propop = true;
|
|
63
|
+
constructor(params: Query<unknown>[], owneryQuery: Query<unknown>, options: Options, name: string);
|
|
64
|
+
next(item: unknown, key?: Key, owner?: unknown, root?: boolean): void;
|
|
65
|
+
}
|
|
66
|
+
export declare const $eq: (params: unknown, owneryQuery: Query<unknown>, options: Options) => EqualsOperation<unknown>;
|
|
67
|
+
export declare const $ne: (params: unknown, owneryQuery: Query<unknown>, options: Options, name: string) => $Ne;
|
|
68
|
+
export declare const $or: (params: Query<unknown>[], owneryQuery: Query<unknown>, options: Options, name: string) => $Or;
|
|
69
|
+
export declare const $nor: (params: Query<unknown>[], owneryQuery: Query<unknown>, options: Options, name: string) => $Nor;
|
|
70
|
+
export declare const $elemMatch: (params: unknown, owneryQuery: Query<unknown>, options: Options, name: string) => $ElemMatch;
|
|
71
|
+
export declare const $nin: (params: unknown, owneryQuery: Query<unknown>, options: Options, name: string) => $Nin;
|
|
72
|
+
export declare const $in: (params: unknown, owneryQuery: Query<unknown>, options: Options, name: string) => $In;
|
|
73
|
+
export declare const $lt: import("./core.ts").OperationCreator<unknown>;
|
|
74
|
+
export declare const $lte: import("./core.ts").OperationCreator<unknown>;
|
|
75
|
+
export declare const $gt: import("./core.ts").OperationCreator<unknown>;
|
|
76
|
+
export declare const $gte: import("./core.ts").OperationCreator<unknown>;
|
|
77
|
+
export declare const $mod: (modParams: number[], owneryQuery: Query<unknown>, options: Options) => EqualsOperation<unknown>;
|
|
78
|
+
export declare const $exists: (params: boolean, owneryQuery: Query<unknown>, options: Options, name: string) => $Exists;
|
|
79
|
+
export declare const $regex: (pattern: string, owneryQuery: Query<unknown>, options: Options) => EqualsOperation<RegExp>;
|
|
80
|
+
export declare const $not: (params: unknown, owneryQuery: Query<unknown>, options: Options, name: string) => $Not;
|
|
81
|
+
export declare const $type: (clazz: Function | string, owneryQuery: Query<unknown>, options: Options) => EqualsOperation<unknown>;
|
|
82
|
+
export declare const $and: (params: Query<unknown>[], ownerQuery: Query<unknown>, options: Options, name: string) => $And;
|
|
83
|
+
export declare const $all: (params: Query<unknown>[], ownerQuery: Query<unknown>, options: Options, name: string) => $All;
|
|
84
|
+
export declare const $size: (params: number, ownerQuery: Query<unknown>, options: Options) => $Size;
|
|
85
|
+
export declare const $options: () => null;
|
|
86
|
+
export {};
|
|
87
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../sift/operations.ts"],"names":[],"mappings":"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"}
|