@valkey/valkey-glide-darwin-arm64 1.3.0-rc2 → 1.3.0
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/node_modules/glide-rs/glide-rs.darwin-arm64.node +0 -0
- package/package.json +1 -1
- package/rust-client/node_modules/mingo/README.md +81 -42
- package/rust-client/node_modules/mingo/dist/cjs/aggregator.js +10 -14
- package/rust-client/node_modules/mingo/dist/cjs/core.js +8 -13
- package/rust-client/node_modules/mingo/dist/cjs/cursor.js +24 -12
- package/rust-client/node_modules/mingo/dist/cjs/operators/_predicates.js +0 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/bottomN.js +3 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/accumulator/topN.js +3 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/expression/array/sortArray.js +3 -2
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/fill.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/lookup.js +3 -4
- package/rust-client/node_modules/mingo/dist/cjs/operators/pipeline/project.js +78 -85
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/_internal.js +22 -0
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/addToSet.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/bit.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/currentDate.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/inc.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/max.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/min.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/mul.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/pop.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/pull.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/pullAll.js +2 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/push.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/rename.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/set.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/operators/update/unset.js +1 -1
- package/rust-client/node_modules/mingo/dist/cjs/query.js +10 -14
- package/rust-client/node_modules/mingo/dist/cjs/updater.js +5 -19
- package/rust-client/node_modules/mingo/dist/cjs/util.js +30 -18
- package/rust-client/node_modules/mingo/dist/esm/aggregator.js +11 -15
- package/rust-client/node_modules/mingo/dist/esm/core.js +8 -13
- package/rust-client/node_modules/mingo/dist/esm/cursor.js +27 -13
- package/rust-client/node_modules/mingo/dist/esm/operators/_predicates.js +0 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/bottomN.js +3 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/accumulator/topN.js +3 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/expression/array/sortArray.js +3 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/fill.js +1 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/lookup.js +3 -4
- package/rust-client/node_modules/mingo/dist/esm/operators/pipeline/project.js +80 -87
- package/rust-client/node_modules/mingo/dist/esm/operators/update/_internal.js +11 -0
- package/rust-client/node_modules/mingo/dist/esm/operators/update/addToSet.js +7 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/bit.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/currentDate.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/inc.js +2 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/max.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/min.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/mul.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/pop.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/pull.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/pullAll.js +2 -1
- package/rust-client/node_modules/mingo/dist/esm/operators/update/push.js +7 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/rename.js +6 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/set.js +7 -2
- package/rust-client/node_modules/mingo/dist/esm/operators/update/unset.js +2 -2
- package/rust-client/node_modules/mingo/dist/esm/query.js +11 -15
- package/rust-client/node_modules/mingo/dist/esm/updater.js +5 -19
- package/rust-client/node_modules/mingo/dist/esm/util.js +30 -18
- package/rust-client/node_modules/mingo/dist/types/aggregator.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/core.d.ts +10 -35
- package/rust-client/node_modules/mingo/dist/types/operators/pipeline/project.d.ts +2 -1
- package/rust-client/node_modules/mingo/dist/types/operators/update/_internal.d.ts +1 -0
- package/rust-client/node_modules/mingo/dist/types/query.d.ts +1 -1
- package/rust-client/node_modules/mingo/dist/types/util.d.ts +3 -3
- package/rust-client/node_modules/mingo/package.json +1 -1
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { isEqual } from "../../util";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
applyUpdate,
|
|
4
|
+
clone,
|
|
5
|
+
UPDATE_OPTIONS,
|
|
6
|
+
walkExpression
|
|
7
|
+
} from "./_internal";
|
|
8
|
+
const $set = (obj, expr, arrayFilters = [], options = UPDATE_OPTIONS) => {
|
|
4
9
|
return walkExpression(expr, arrayFilters, options, (val, node, queries) => {
|
|
5
10
|
return applyUpdate(
|
|
6
11
|
obj,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { has, isArray } from "../../util";
|
|
2
|
-
import { applyUpdate, walkExpression } from "./_internal";
|
|
3
|
-
const $unset = (obj, expr, arrayFilters = [], options =
|
|
2
|
+
import { applyUpdate, UPDATE_OPTIONS, walkExpression } from "./_internal";
|
|
3
|
+
const $unset = (obj, expr, arrayFilters = [], options = UPDATE_OPTIONS) => {
|
|
4
4
|
return walkExpression(expr, arrayFilters, options, (_, node, queries) => {
|
|
5
5
|
return applyUpdate(obj, node, queries, (o, k) => {
|
|
6
6
|
if (!has(o, k)) return false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getOperator, initOptions } from "./core";
|
|
2
2
|
import { Cursor } from "./cursor";
|
|
3
|
-
import { assert, isObject, isOperator,
|
|
3
|
+
import { assert, cloneDeep, isObject, isOperator, normalize } from "./util";
|
|
4
4
|
const TOP_LEVEL_OPS = new Set(
|
|
5
5
|
Array.from(["$and", "$or", "$nor", "$expr", "$jsonSchema"])
|
|
6
6
|
);
|
|
@@ -9,7 +9,7 @@ class Query {
|
|
|
9
9
|
#options;
|
|
10
10
|
#condition;
|
|
11
11
|
constructor(condition, options) {
|
|
12
|
-
this.#condition = condition;
|
|
12
|
+
this.#condition = cloneDeep(condition);
|
|
13
13
|
this.#options = initOptions(options);
|
|
14
14
|
this.#compiled = [];
|
|
15
15
|
this.compile();
|
|
@@ -22,6 +22,10 @@ class Query {
|
|
|
22
22
|
const whereOperator = {};
|
|
23
23
|
for (const [field, expr] of Object.entries(this.#condition)) {
|
|
24
24
|
if ("$where" === field) {
|
|
25
|
+
assert(
|
|
26
|
+
this.#options.scriptEnabled,
|
|
27
|
+
"$where operator requires 'scriptEnabled' option to be true."
|
|
28
|
+
);
|
|
25
29
|
Object.assign(whereOperator, { field, expr });
|
|
26
30
|
} else if (TOP_LEVEL_OPS.has(field)) {
|
|
27
31
|
this.processOperator(field, field, expr);
|
|
@@ -44,25 +48,17 @@ class Query {
|
|
|
44
48
|
}
|
|
45
49
|
processOperator(field, operator, value) {
|
|
46
50
|
const call = getOperator("query", operator, this.#options);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
const fn = call(field, value, this.#options);
|
|
51
|
-
this.#compiled.push(fn);
|
|
51
|
+
assert(!!call, `unknown query operator ${operator}`);
|
|
52
|
+
this.#compiled.push(call(field, value, this.#options));
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* Checks if the object passes the query criteria. Returns true if so, false otherwise.
|
|
55
56
|
*
|
|
56
57
|
* @param obj The object to test
|
|
57
|
-
* @returns {boolean}
|
|
58
|
+
* @returns {boolean}
|
|
58
59
|
*/
|
|
59
60
|
test(obj) {
|
|
60
|
-
|
|
61
|
-
if (!this.#compiled[i](obj)) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return true;
|
|
61
|
+
return this.#compiled.every((p) => p(obj));
|
|
66
62
|
}
|
|
67
63
|
/**
|
|
68
64
|
* Returns a cursor to select matching documents from the input source.
|
|
@@ -74,7 +70,7 @@ class Query {
|
|
|
74
70
|
find(collection, projection) {
|
|
75
71
|
return new Cursor(
|
|
76
72
|
collection,
|
|
77
|
-
(
|
|
73
|
+
(o) => this.test(o),
|
|
78
74
|
projection || {},
|
|
79
75
|
this.#options
|
|
80
76
|
);
|
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
import { initOptions } from "./core";
|
|
2
|
-
import * as booleanOperators from "./operators/expression/boolean";
|
|
3
|
-
import * as comparisonOperators from "./operators/expression/comparison";
|
|
4
|
-
import * as queryOperators from "./operators/query";
|
|
5
1
|
import * as UPDATE_OPERATORS from "./operators/update";
|
|
2
|
+
import { UPDATE_OPTIONS } from "./operators/update/_internal";
|
|
6
3
|
import { Query } from "./query";
|
|
7
4
|
import { assert, has } from "./util";
|
|
8
5
|
function createUpdater(defaultOptions) {
|
|
9
|
-
defaultOptions = defaultOptions
|
|
10
|
-
|
|
11
|
-
...defaultOptions,
|
|
12
|
-
queryOptions: initOptions(defaultOptions.queryOptions)
|
|
13
|
-
};
|
|
14
|
-
defaultOptions.queryOptions.context.addQueryOps(queryOperators).addExpressionOps(booleanOperators).addExpressionOps(comparisonOperators);
|
|
15
|
-
return (obj, expr, arrayFilters = [], condition = {}, options = {}) => {
|
|
16
|
-
const opts = Object.assign({ cloneMode: "copy" }, defaultOptions, options);
|
|
17
|
-
Object.assign(opts, {
|
|
18
|
-
queryOptions: initOptions(
|
|
19
|
-
Object.assign({ useStrictMode: false }, opts?.queryOptions)
|
|
20
|
-
)
|
|
21
|
-
});
|
|
6
|
+
defaultOptions = defaultOptions ?? UPDATE_OPTIONS;
|
|
7
|
+
return (obj, expr, arrayFilters = [], condition = {}, options = defaultOptions) => {
|
|
22
8
|
const entry = Object.entries(expr);
|
|
23
9
|
assert(
|
|
24
10
|
entry.length === 1,
|
|
@@ -31,10 +17,10 @@ function createUpdater(defaultOptions) {
|
|
|
31
17
|
);
|
|
32
18
|
const mutate = UPDATE_OPERATORS[op];
|
|
33
19
|
if (Object.keys(condition).length) {
|
|
34
|
-
const q =
|
|
20
|
+
const q = new Query(condition, options.queryOptions);
|
|
35
21
|
if (!q.test(obj)) return [];
|
|
36
22
|
}
|
|
37
|
-
return mutate(obj, args, arrayFilters,
|
|
23
|
+
return mutate(obj, args, arrayFilters, options);
|
|
38
24
|
};
|
|
39
25
|
}
|
|
40
26
|
const update = createUpdater();
|
|
@@ -11,9 +11,6 @@ const DEFAULT_HASH_FUNCTION = (value) => {
|
|
|
11
11
|
while (i) hash = (hash << 5) - hash ^ s.charCodeAt(--i);
|
|
12
12
|
return hash >>> 0;
|
|
13
13
|
};
|
|
14
|
-
const objectProto = Object.prototype;
|
|
15
|
-
const arrayProto = Array.prototype;
|
|
16
|
-
const getPrototypeOf = Object.getPrototypeOf;
|
|
17
14
|
const isPrimitive = (v) => typeof v !== "object" && typeof v !== "function" || v === null;
|
|
18
15
|
const isScalar = (v) => isPrimitive(v) || isDate(v) || isRegExp(v);
|
|
19
16
|
const SORT_ORDER = {
|
|
@@ -123,7 +120,7 @@ function assert(condition, message) {
|
|
|
123
120
|
if (!condition) throw new MingoError(message);
|
|
124
121
|
}
|
|
125
122
|
const typeOf = (v) => {
|
|
126
|
-
const s =
|
|
123
|
+
const s = Object.prototype.toString.call(v);
|
|
127
124
|
const t = s.substring(8, s.length - 1).toLowerCase();
|
|
128
125
|
if (t !== "object") return t;
|
|
129
126
|
const ctor = v.constructor;
|
|
@@ -148,7 +145,7 @@ const isNil = (v) => v === null || v === void 0;
|
|
|
148
145
|
const truthy = (arg, strict = true) => !!arg || strict && arg === "";
|
|
149
146
|
const isEmpty = (x) => isNil(x) || isString(x) && !x || isArray(x) && x.length === 0 || isObject(x) && Object.keys(x).length === 0;
|
|
150
147
|
const ensureArray = (x) => isArray(x) ? x : [x];
|
|
151
|
-
const has = (obj, prop) => !!obj &&
|
|
148
|
+
const has = (obj, prop) => !!obj && Object.prototype.hasOwnProperty.call(obj, prop);
|
|
152
149
|
const isTypedArray = (v) => typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView(v);
|
|
153
150
|
const cloneDeep = (v, refs) => {
|
|
154
151
|
if (isNil(v) || isBoolean(v) || isNumber(v) || isString(v)) return v;
|
|
@@ -223,23 +220,39 @@ function flatten(xs, depth = 1) {
|
|
|
223
220
|
flatten2(xs, depth);
|
|
224
221
|
return arr;
|
|
225
222
|
}
|
|
223
|
+
const objToString = Object.prototype.toString;
|
|
224
|
+
function hasCustomToString(o) {
|
|
225
|
+
if (isTypedArray(o)) return true;
|
|
226
|
+
if (typeof o.toString === "function") {
|
|
227
|
+
let proto = Object.getPrototypeOf(o);
|
|
228
|
+
while (proto !== null) {
|
|
229
|
+
if (has(proto, "toString") && proto.toString !== objToString) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
proto = Object.getPrototypeOf(proto);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
226
237
|
function isEqual(a, b) {
|
|
227
238
|
if (a === b || Object.is(a, b)) return true;
|
|
228
|
-
|
|
229
|
-
if (
|
|
230
|
-
|
|
231
|
-
|
|
239
|
+
if (a === null || b === null) return false;
|
|
240
|
+
if (typeof a !== typeof b) return false;
|
|
241
|
+
if (typeof a !== "object") return false;
|
|
242
|
+
if (a.constructor !== b.constructor) return false;
|
|
243
|
+
if (a instanceof Date) return +a === +b;
|
|
244
|
+
if (a instanceof RegExp) return a.toString() === b.toString();
|
|
245
|
+
const ctor = a.constructor;
|
|
232
246
|
if (ctor === Array || ctor === Object) {
|
|
233
|
-
const aKeys = Object.keys(a);
|
|
234
|
-
const bKeys = Object.keys(b);
|
|
247
|
+
const aKeys = Object.keys(a).sort();
|
|
248
|
+
const bKeys = Object.keys(b).sort();
|
|
235
249
|
if (aKeys.length !== bKeys.length) return false;
|
|
236
|
-
|
|
237
|
-
|
|
250
|
+
for (let i = 0, k = aKeys[i]; i < aKeys.length; k = aKeys[++i]) {
|
|
251
|
+
if (k !== bKeys[i] || !isEqual(a[k], b[k])) return false;
|
|
252
|
+
}
|
|
238
253
|
return true;
|
|
239
254
|
}
|
|
240
|
-
|
|
241
|
-
const cmp = isTypedArray(a) || proto !== objectProto && proto !== arrayProto && has(proto, "toString");
|
|
242
|
-
return cmp && a.toString() === b.toString();
|
|
255
|
+
return hasCustomToString(a) && a.toString() === b.toString();
|
|
243
256
|
}
|
|
244
257
|
function unique(input, hashFunction = DEFAULT_HASH_FUNCTION) {
|
|
245
258
|
const m = ValueMap.init(hashFunction);
|
|
@@ -264,8 +277,7 @@ const stringify = (v, refs) => {
|
|
|
264
277
|
const keys = Object.keys(v).sort();
|
|
265
278
|
return "{" + keys.map((k) => `${k}:${stringify(v[k], refs)}`).join() + "}";
|
|
266
279
|
}
|
|
267
|
-
|
|
268
|
-
if (proto !== objectProto && proto !== arrayProto && has(proto, "toString")) {
|
|
280
|
+
if (hasCustomToString(v)) {
|
|
269
281
|
return typeOf(v) + "(" + JSON.stringify(v.toString()) + ")";
|
|
270
282
|
}
|
|
271
283
|
throw new Error(
|
|
@@ -14,7 +14,7 @@ export declare class Aggregator {
|
|
|
14
14
|
/**
|
|
15
15
|
* Returns an {@link Iterator} for lazy evaluation of the pipeline.
|
|
16
16
|
*
|
|
17
|
-
* @param
|
|
17
|
+
* @param collection An array or iterator object
|
|
18
18
|
* @returns {Iterator} an iterator object
|
|
19
19
|
*/
|
|
20
20
|
stream(collection: Source, options?: Options): Iterator;
|
|
@@ -22,38 +22,17 @@ export interface CollationSpec {
|
|
|
22
22
|
*/
|
|
23
23
|
export type JsonSchemaValidator = (schema: AnyObject) => Predicate<AnyObject>;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
* Each mode has different trade offs for; immutability, reference sharing, and performance.
|
|
25
|
+
* Specified how input and output documents are processed.
|
|
27
26
|
*/
|
|
28
27
|
export declare enum ProcessingMode {
|
|
29
|
-
/**
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* Clones inputs prior to processing.
|
|
38
|
-
* This option will return output objects with shared graphs in their path if specific operators are used.
|
|
39
|
-
* Use this option to keep the input collection immutable.
|
|
40
|
-
*
|
|
41
|
-
*/
|
|
42
|
-
CLONE_INPUT = "CLONE_INPUT",
|
|
43
|
-
/**
|
|
44
|
-
* Clones the output to return distinct objects with no shared paths.
|
|
45
|
-
* This option modifies the input collection and during processing.
|
|
46
|
-
*/
|
|
47
|
-
CLONE_OUTPUT = "CLONE_OUTPUT",
|
|
48
|
-
/**
|
|
49
|
-
* Turn off cloning and modifies the input collection as needed.
|
|
50
|
-
* This option will also return output objects with shared paths in their graph when specific operators are used.
|
|
51
|
-
* This option provides the greatest speedup for the biggest tradeoff.
|
|
52
|
-
* When using the aggregation pipeline, you can use the "$out" operator to collect immutable intermediate results.
|
|
53
|
-
*
|
|
54
|
-
* @default
|
|
55
|
-
*/
|
|
56
|
-
CLONE_OFF = "CLONE_OFF"
|
|
28
|
+
/** Do not clone inputs or outputs. Resulting documents may share references. @default */
|
|
29
|
+
CLONE_OFF = 0,
|
|
30
|
+
/** Clone input documents to maintain immutability of original input. */
|
|
31
|
+
CLONE_INPUT = 1,
|
|
32
|
+
/** Clone output documents to ensure distinct objects without shared references. */
|
|
33
|
+
CLONE_OUTPUT = 2,
|
|
34
|
+
/** Clone input and output documents. */
|
|
35
|
+
CLONE_ALL = 3
|
|
57
36
|
}
|
|
58
37
|
/**
|
|
59
38
|
* Generic options interface passed down to all operators
|
|
@@ -67,7 +46,7 @@ export interface Options {
|
|
|
67
46
|
readonly processingMode: ProcessingMode;
|
|
68
47
|
/** Enforces strict MongoDB compatibilty. See README. @default true. */
|
|
69
48
|
readonly useStrictMode: boolean;
|
|
70
|
-
/** Enable or disable custom script execution
|
|
49
|
+
/** Enable or disable custom script execution using `$where`, `$accumulator`, and `$function` operators. @default true. */
|
|
71
50
|
readonly scriptEnabled: boolean;
|
|
72
51
|
/** Enable or disable falling back to the global context for operators. @default true. */
|
|
73
52
|
readonly useGlobalContext: boolean;
|
|
@@ -94,10 +73,6 @@ export declare class ComputeOptions implements Options {
|
|
|
94
73
|
private constructor();
|
|
95
74
|
/**
|
|
96
75
|
* Initialize new ComputeOptions.
|
|
97
|
-
*
|
|
98
|
-
* @param options
|
|
99
|
-
* @param root
|
|
100
|
-
* @param local
|
|
101
76
|
* @returns {ComputeOptions}
|
|
102
77
|
*/
|
|
103
78
|
static init(options: Options, root?: Any, local?: LocalData): ComputeOptions;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PipelineOperator } from "../../core";
|
|
2
2
|
/**
|
|
3
|
-
* Reshapes each document in the stream, such as by adding new fields or removing existing fields.
|
|
3
|
+
* Reshapes each document in the stream, such as by adding new fields or removing existing fields.
|
|
4
|
+
* For each input document, outputs one document.
|
|
4
5
|
*
|
|
5
6
|
* See {@link https://www.mongodb.com/docs/manual/reference/operator/aggregation/project usage}.
|
|
6
7
|
*
|
|
@@ -2,6 +2,7 @@ import { CloneMode, UpdateOptions } from "../../core";
|
|
|
2
2
|
import { Query } from "../../query";
|
|
3
3
|
import { Any, AnyObject, ArrayOrObject, Callback } from "../../types";
|
|
4
4
|
import { WalkOptions } from "../../util";
|
|
5
|
+
export declare const UPDATE_OPTIONS: UpdateOptions;
|
|
5
6
|
export declare const clone: (mode: CloneMode, val: Any) => Any;
|
|
6
7
|
export type PathNode = {
|
|
7
8
|
selector: string;
|
|
@@ -18,7 +18,7 @@ export declare class Query {
|
|
|
18
18
|
* Checks if the object passes the query criteria. Returns true if so, false otherwise.
|
|
19
19
|
*
|
|
20
20
|
* @param obj The object to test
|
|
21
|
-
* @returns {boolean}
|
|
21
|
+
* @returns {boolean}
|
|
22
22
|
*/
|
|
23
23
|
test<T>(obj: T): boolean;
|
|
24
24
|
/**
|
|
@@ -108,9 +108,9 @@ export declare function flatten(xs: Any[], depth?: number): Any[];
|
|
|
108
108
|
* For user-defined objects this checks for only referential equality so
|
|
109
109
|
* two different instances with the same values are not equal.
|
|
110
110
|
*
|
|
111
|
-
* @param
|
|
112
|
-
* @param
|
|
113
|
-
* @return
|
|
111
|
+
* @param a The first value
|
|
112
|
+
* @param b The second value
|
|
113
|
+
* @return True if values are equivalent, false otherwise.
|
|
114
114
|
*/
|
|
115
115
|
export declare function isEqual(a: Any, b: Any): boolean;
|
|
116
116
|
/**
|