@omegup/msync 0.1.49 → 0.1.51
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/index.d.ts +92 -7
- package/index.esm.js +23 -5
- package/index.js +44 -4
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -13,10 +13,10 @@ type rawItem = jsonPrim | raw | U;
|
|
|
13
13
|
type Undef<I extends N> = I | (I extends never ? I : notObj);
|
|
14
14
|
declare const object: unique symbol;
|
|
15
15
|
declare const array$1: unique symbol;
|
|
16
|
-
type A = {
|
|
16
|
+
type A$1 = {
|
|
17
17
|
[Type]: typeof array$1;
|
|
18
18
|
};
|
|
19
|
-
type Arr<T, N extends number = number> = A & {
|
|
19
|
+
type Arr<T, N extends number = number> = A$1 & {
|
|
20
20
|
readonly [_ in N]: T;
|
|
21
21
|
};
|
|
22
22
|
type Obj = {
|
|
@@ -29,6 +29,9 @@ type RORec<K extends keyof never, T = unknown> = {
|
|
|
29
29
|
type PRRec<K extends keyof never, T = unknown> = {
|
|
30
30
|
[P in K]?: T;
|
|
31
31
|
};
|
|
32
|
+
type Par$1<K extends string, V extends Rec<K, jsonItem>> = {
|
|
33
|
+
readonly [k in K]?: V[k] | N;
|
|
34
|
+
};
|
|
32
35
|
type Rec<K extends string, T = unknown> = O<RORec<K, T>>;
|
|
33
36
|
type O2 = readonly [O, O];
|
|
34
37
|
type O3 = readonly [O, O, O];
|
|
@@ -208,21 +211,45 @@ type BoolExpr<in D1, in D2, in Ctx = unknown> = {
|
|
|
208
211
|
};
|
|
209
212
|
};
|
|
210
213
|
|
|
214
|
+
declare const map: <T, K extends string & keyof T, V extends RORec<K, unknown>>(x: Pick<T, K>, f: <P extends K>(v: T[P], k: P) => V[P]) => V;
|
|
211
215
|
type ExactPart<T, F extends HKT<T[StrKey<T>]>> = MapOPart<T, MappedHKT<T, F>>;
|
|
216
|
+
type ExactPart1<T, F extends HKT<StrKey<T>>> = {
|
|
217
|
+
readonly [K in StrKey<T>]: App<F, K>;
|
|
218
|
+
};
|
|
219
|
+
type s$3 = string;
|
|
220
|
+
type MapKDom<RK extends MapKDom<RK, F>, F extends HKT<StrKey<RK>>> = MapO<RK, F> & {
|
|
221
|
+
readonly [P in s$3]?: readonly [keyof RK, unknown];
|
|
222
|
+
};
|
|
212
223
|
type ExactKeys<K extends string> = Exact<RORec<K, 1>, IdHKT>;
|
|
213
224
|
type MapO<T, F extends HKT<K>, K extends StrKey<T> = StrKey<T>> = MapOPart<T, F, K> & {
|
|
214
225
|
readonly [P: string]: readonly [K, unknown];
|
|
215
226
|
};
|
|
227
|
+
type MapK<K extends s$3, F extends HKT<K>> = MapO<RORec<K>, F>;
|
|
216
228
|
type MapOPart<T, F extends HKT<K>, K extends keyof T = StrKey<T>> = {
|
|
217
229
|
readonly [P in K]: readonly [P, App<F, P & string>];
|
|
218
230
|
};
|
|
231
|
+
type MapKPart1<T, F extends HKT<K>, K extends StrKey<T> = StrKey<T>> = {
|
|
232
|
+
readonly [P in K]: App<F, P>;
|
|
233
|
+
};
|
|
219
234
|
type Exact<T, F extends HKT<T[StrKey<T>]>> = MapO<T, MappedHKT<T, F>>;
|
|
220
235
|
interface MappedHKT<T, F extends HKT<T[StrKey<T>]>> extends HKT<StrKey<T>> {
|
|
221
236
|
readonly out: App<F, T[I<StrKey<T>, this>]>;
|
|
222
237
|
}
|
|
238
|
+
declare const mapExactToObject0: <T, F extends HKT<K>, G extends HKT<K>, K extends StrKey<T> = StrKey<T>>(x: MapO<T, F, K>, f: <P extends K>(v: App<F, P>, k: P) => App<G, P>) => MapKPart1<T, G, K>;
|
|
239
|
+
declare const mapExactToObject1: <K extends string, F extends HKT<K>, G extends HKT<K>>(x: MapK<K, F>, f: <P extends K>(v: App<F, P>, k: P) => App<G, P>) => MapKPart1<RORec<K>, G>;
|
|
240
|
+
interface WithKey1<K extends string, G extends HKT<K>> extends HKT<K> {
|
|
241
|
+
readonly out: readonly [I<K, this>, App<G, I<K, this>>];
|
|
242
|
+
}
|
|
243
|
+
declare const mapExact0: <T, F extends HKT<StrKey<T>>, G extends HKT<StrKey<T>>>(x: MapO<T, F>, f: <P extends StrKey<T>>(v: App<F, P>, k: P) => App<G, P>) => MapO<T, G>;
|
|
244
|
+
declare const mapExact1: <K extends s$3, F extends HKT<K>, G extends HKT<K>>(x: MapK<K, F>, f: <P extends K>(v: App<F, P>, k: P) => App<G, P>) => MapK<K, G>;
|
|
245
|
+
declare const mapExactToObject: <T, F extends HKT<T[StrKey<T>]>, G extends HKT<StrKey<T>>>(x: Exact<T, F>, f: <P extends StrKey<T>>(v: App<F, T[P]>, k: P) => App<G, P>) => ExactPart1<T, G>;
|
|
246
|
+
declare const mapExact: <T, F extends HKT<T[StrKey<T>]>, G extends HKT<T[StrKey<T>]>>(x: Exact<T, F>, f: <P extends StrKey<T>>(v: App<F, T[P]>, k: P) => App<G, T[P]>) => Exact<T, G>;
|
|
247
|
+
type Dom$1<T, V> = HKT<T[StrKey<T>] | V[StrKey<V>]>;
|
|
248
|
+
declare const spread: <T, V, F extends Dom$1<T, V>, E = unknown, No extends keyof V = never>(a: Exact<Omit<T, No>, F>, b: Exact<V, F>) => Exact<V & Omit<T, keyof V> & Pick<E, symbol & keyof E>, F>;
|
|
223
249
|
interface MergeHKT<T, V, F1 extends HKT<StrKey<Omit<T, No>>>, F2 extends HKT<StrKey<V>>, No extends keyof V = never> extends HKT<StrKey<V & Omit<T, No>>> {
|
|
224
250
|
readonly out: I<StrKey<V & Omit<T, No>>, this> extends StrKey<V> ? App<F2, I<StrKey<V>, this>> : App<F1, I<StrKey<Omit<T, No>>, this>>;
|
|
225
251
|
}
|
|
252
|
+
declare const spread0: <T, V, F1 extends HKT<StrKey<Omit<T, No>>>, F2 extends HKT<StrKey<V>>, E = unknown, No extends keyof V = never>(a: MapO<Omit<T, No>, F1>, b: MapO<V, F2>) => MapO<V & Omit<T, No> & Pick<E, symbol & keyof E>, MergeHKT<T, V, F1, F2, No>>;
|
|
226
253
|
|
|
227
254
|
declare const AccumulatorRaw: unique symbol;
|
|
228
255
|
interface AccumulatorRaw<in Doc, out T, in C = unknown> extends RawObj {
|
|
@@ -288,12 +315,51 @@ type App<F extends HKT<X>, X> = (F & {
|
|
|
288
315
|
readonly in: (x: X) => void;
|
|
289
316
|
})['out'];
|
|
290
317
|
type I<Dom, F extends HKT<Dom>> = F['in'] extends (x: infer X extends Dom) => void ? X : never;
|
|
318
|
+
interface ArrHKT<Dom = unknown> extends HKT<Dom> {
|
|
319
|
+
readonly out: readonly I<Dom, this>[];
|
|
320
|
+
}
|
|
291
321
|
interface IdHKT<Dom = unknown> extends HKT<Dom> {
|
|
292
322
|
readonly out: I<Dom, this>;
|
|
293
323
|
}
|
|
324
|
+
interface RConstHKT<Im, Dom = Im> extends HKT<Im, HKT<Dom, Im>> {
|
|
325
|
+
readonly out: ConstHKT<I<Im, this>, Dom>;
|
|
326
|
+
}
|
|
327
|
+
interface ConstHKT<Im, Dom = unknown> extends HKT<Dom, Im> {
|
|
328
|
+
readonly out: Im;
|
|
329
|
+
}
|
|
330
|
+
type ApplyF<Dom, Im, T extends [Dom, HKT<Dom, Im>]> = App<T[1], T[0]>;
|
|
331
|
+
interface ApplyHKT<Dom, Im> extends HKT<[Dom, HKT<Dom, Im>], Im> {
|
|
332
|
+
readonly out: ApplyF<Dom, Im, I<[Dom, HKT<Dom, Im>], this>>;
|
|
333
|
+
}
|
|
334
|
+
interface µ<X extends [HKT<A, B>, HKT<B, C>], A = unknown, B = unknown, C = unknown> extends HKT<A, C> {
|
|
335
|
+
readonly out: App<X[1], App<X[0], I<A, this>>>;
|
|
336
|
+
}
|
|
294
337
|
type AppMap<F extends HKT<Dom>, X extends readonly Dom[], Dom = unknown> = readonly App<F, Dom>[] & {
|
|
295
338
|
[I in keyof X]: App<F, X[I]>;
|
|
296
339
|
};
|
|
340
|
+
type AppMapRW<F extends HKT<Dom>, X extends readonly Dom[], Dom = unknown> = App<F, Dom>[] & {
|
|
341
|
+
[I in keyof X]: App<F, X[I]>;
|
|
342
|
+
};
|
|
343
|
+
interface PromiseHKT<Dom = unknown> extends HKT<Dom> {
|
|
344
|
+
readonly out: PromiseLike<I<Dom, this>>;
|
|
345
|
+
}
|
|
346
|
+
interface DeepFieldHKT<R, T, K extends keyof T, F extends HKT<R, T>> extends HKT<R, T[K]> {
|
|
347
|
+
readonly out: App<F, I<R, this>>[K];
|
|
348
|
+
}
|
|
349
|
+
interface FieldHKT<K extends string> extends DeepFieldHKT<Record<K, unknown>, Record<K, unknown>, K, IdHKT<Record<K, unknown>>> {
|
|
350
|
+
}
|
|
351
|
+
interface RecordHKT<K extends string, Dom = unknown> extends HKT<Dom, Record<K, Dom>> {
|
|
352
|
+
readonly out: Record<K, I<Dom, this>>;
|
|
353
|
+
}
|
|
354
|
+
interface RecHKT<K extends string, Dom = unknown, E = unknown> extends HKT<Dom, Rec<K, Dom>> {
|
|
355
|
+
readonly out: Rec<K, I<Dom, this>> & E;
|
|
356
|
+
}
|
|
357
|
+
interface UBeforeHKT<Dom = unknown> extends HKT<Dom, UBefore<Dom>> {
|
|
358
|
+
readonly out: UBefore<I<Dom, this>>;
|
|
359
|
+
}
|
|
360
|
+
interface And<E> extends HKT {
|
|
361
|
+
readonly out: E & I<unknown, this>;
|
|
362
|
+
}
|
|
297
363
|
|
|
298
364
|
declare const RawStage: unique symbol;
|
|
299
365
|
declare module 'mongodb' {
|
|
@@ -379,6 +445,27 @@ declare const $entries: <D extends O, V, C = unknown>(expr: Expr<AddO<PushDict<V
|
|
|
379
445
|
v: V;
|
|
380
446
|
}[]>, D, C>;
|
|
381
447
|
|
|
448
|
+
type Equal<Dom, T extends Dom, V extends Dom> = {
|
|
449
|
+
forward: <F extends HKT<Dom>>(x: App<F, T>) => App<F, V>;
|
|
450
|
+
forward1: (x: T) => V;
|
|
451
|
+
backward: <F extends HKT<Dom>>(x: App<F, V>) => App<F, T>;
|
|
452
|
+
backward1: (x: V) => T;
|
|
453
|
+
};
|
|
454
|
+
declare const sym: <Dom, T extends Dom, V extends Dom>(eq: Equal<Dom, T, V>) => Equal<Dom, V, T>;
|
|
455
|
+
declare const reflex: <Dom, T extends Dom>() => Equal<Dom, T, T>;
|
|
456
|
+
declare const eqExtends: <Im, T, U, F extends HKT<T, Im>, G extends HKT<T, Im>, H extends HKT<T, Im>, M extends Im>(_1: Equal<Im, App<F, T & U>, M | App<G, T & U>>, _2: Equal<Im, App<F, Exclude<T, U>>, M | App<H, Exclude<T, U>>>) => Equal<Im, App<F, T>, M | (T extends U ? App<G, T> : App<H, T>)>;
|
|
457
|
+
declare const fromEq: <Dom, T extends Dom, V extends Dom>(eq: Pick<Equal<Dom, T, V>, "forward" | "backward">) => Equal<Dom, T, V>;
|
|
458
|
+
declare const literalsEqaul: <T extends keyof any | boolean | N, V extends T>(_: AsLiteral<T> & V) => Equal<T, T, V>;
|
|
459
|
+
declare const omitRORec: <K extends string, E extends string, R extends string, T extends unknown>() => Equal<unknown, RORec<Exclude<K, E | R>, T>, Omit<RORec<Exclude<K, E | R>, T>, R>>;
|
|
460
|
+
type s$2 = keyof any;
|
|
461
|
+
declare const omitPick: <K extends s$2, E extends s$2, R extends s$2, T extends RORec<Exclude<K, E | R>, unknown>>() => Equal<unknown, Pick<T, Exclude<K, E | R>>, Omit<Pick<T, Exclude<K, E | R>>, R>>;
|
|
462
|
+
declare const omitExclude: <K extends s$2, E extends s$2, R extends s$2, T extends RORec<Exclude<K, E | R>, unknown>>() => Equal<unknown, Omit<T, E & Exclude<K, keyof T>>, Omit<Pick<T, Exclude<K, E | R>>, R>>;
|
|
463
|
+
declare const renamedFields: <K extends s$2, F extends HKT<K, s$2>, G extends HKT<App<F, K>>>() => Equal<string | number | symbol, keyof { [P in K as App<F, P>]: App<G, P>; }, App<F, K>>;
|
|
464
|
+
declare const translateOmit: <T, K extends string, Q extends string, P extends string>() => Equal<unknown, Omit<Omit<T, K | Q>, P>, Omit<Omit<T, K | Q>, Q | P>>;
|
|
465
|
+
declare const excludeIdem: <K extends s$2, E extends s$2, S extends E = E>() => Equal<Exclude<K, E>, Exclude<K, E>, Exclude<Exclude<K, E>, S>>;
|
|
466
|
+
declare const eqPar: <K extends string, T extends Rec<K, jsonItem>, K2 extends K>() => Equal<unknown, Par$1<K2, T>, Par$1<K, T>>;
|
|
467
|
+
declare const notExtendExcluded: <Key extends keyof any, Others extends keyof any, Source extends keyof any, Denied extends keyof any, F extends HKT<Others | Exclude<Source, Denied | Key>, Dom>, Else extends Dom, Dom = unknown>() => Equal<Dom, Key extends Others | Exclude<Source, Key | Denied> ? App<F, Key> : Else, Key extends Others ? App<F, Key> : Else>;
|
|
468
|
+
|
|
382
469
|
type DeltaPipe<Q extends O, T extends Q, F extends HKT<O2>, G extends HKT<O3>> = {
|
|
383
470
|
with: <Q2 extends O, V extends Q2>(map: (a: Stream<Q, T, F, G>) => Stream<Q | Q2, V, F, G>) => DeltaPipe<Q | Q2, V, F, G>;
|
|
384
471
|
then: <Q2 extends O, V extends Q2>(next: App<G, [Q2 | T, T, V]>) => DeltaPipe<Q | Q2, V, F, G>;
|
|
@@ -548,9 +635,7 @@ declare const createIndex: (collection: {
|
|
|
548
635
|
}, indexSpec: IndexSpecification, op?: CreateIndexesOptions) => Promise<void>;
|
|
549
636
|
|
|
550
637
|
declare const noop: () => void;
|
|
551
|
-
declare const map1: <K extends string, Im>(k: AsLiteral<K>, to: Im) =>
|
|
552
|
-
readonly [_: string]: [K, Im];
|
|
553
|
-
};
|
|
638
|
+
declare const map1: <K extends string, Im>(k: AsLiteral<K>, to: Im) => MapO<RORec<K, Im>, ConstHKT<Im>, K>;
|
|
554
639
|
|
|
555
640
|
declare const $group_: <V extends O>() => <ID, T extends O, C = unknown>(id: Expr<ID, T, C>, args: Accumulators<T, V, C>) => RawStages<O, T, Rec<"_id", ID> & V, C, 1>;
|
|
556
641
|
|
|
@@ -742,5 +827,5 @@ declare const enablePreAndPostImages: <T extends doc>(coll: Collection<T>) => Pr
|
|
|
742
827
|
declare const prepare: (testName?: string) => Promise<MongoClient$1>;
|
|
743
828
|
declare const makeCol: <T extends ID>(docs: readonly OptionalUnlessRequiredId<T>[], database: Db, name?: string) => Promise<Collection<T>>;
|
|
744
829
|
|
|
745
|
-
export { $accumulator, $and, $countDict, $countDictArray, $entries, $eq, $exists, $expr, $getField, $group, $groupId, $groupMerge, $group_, $gt, $gtTs, $gte, $gteTs, $ifNull, $in, $insert, $insertPart, $insertX, $keys, $let, $lookup, $lt, $lte, $map, $map0, $map1, $match, $matchDelta, $merge, $merge2, $mergeId, $mergePart, $merge_, $ne, $nin, $nor, $or, $outerLookup, $pushDict, $rand, $reduce, $replaceWith, $set, $simpleInsert, $simpleMerge, $simpleMergePart, $substr, $sum, $type, $unwind, $unwindDelta, Expr, Field, Machine, Type, add, and, anyElementTrue, array, ceil, comp, concat, concatArray, createIndex, ctx, current, dateAdd, dateDiff, dateLt, datePart, dayAndMonthPart, divide, emptyDelta, enablePreAndPostImages, eq, eqTyped, except, exprMapVal, field, fieldF, fieldM, filter, filterDefined, first, firstSure, floor, from, func, getWhenMatched, getWhenMatchedForMerge, gt, gte, inArray, isArray, ite, joinIdOf, last, log, lt, lte, makeCol, map1, mapFromPlainDateTime, mapToPlainDateTime, mapVal, matchDelta, max, maxDate, mergeExact, mergeExact0, mergeExpr, mergeObjects, minDate, monthPart, multiply, ne, nil, noop, not, notNull, now, or, padLeft, pair, prepare, rand, range, regex, root, set, setField, single, size, slice, sortArray, staging, startOf, str, sub, subtract, to, toInt, val, weekPart, wrap, year };
|
|
746
|
-
export type { Accumulators, AddO, Arr, AsLiteral, Delta, DeltaAccumulator, DeltaAccumulators, DeltaStages, ExactKeys, ExprHKT, Exprs, ExprsExact, ExprsExactHKT, ExprsPart, ID, JoinId, Loose, Merge, MergeArgs, MergeInto, MergeMapOArgs, Model, MongoTypeNames, N, NullToOBJ, O, OPick, OPickD, Patch, RORec, RawStages, Rec, Replace, SnapshotStreamExecutionResult, StrKey, Strict, TS, WriteonlyCollection, doc, jsonPrim, notArr };
|
|
830
|
+
export { $accumulator, $and, $countDict, $countDictArray, $entries, $eq, $exists, $expr, $getField, $group, $groupId, $groupMerge, $group_, $gt, $gtTs, $gte, $gteTs, $ifNull, $in, $insert, $insertPart, $insertX, $keys, $let, $lookup, $lt, $lte, $map, $map0, $map1, $match, $matchDelta, $merge, $merge2, $mergeId, $mergePart, $merge_, $ne, $nin, $nor, $or, $outerLookup, $pushDict, $rand, $reduce, $replaceWith, $set, $simpleInsert, $simpleMerge, $simpleMergePart, $substr, $sum, $type, $unwind, $unwindDelta, Expr, Field, Machine, Type, add, and, anyElementTrue, array, ceil, comp, concat, concatArray, createIndex, ctx, current, dateAdd, dateDiff, dateLt, datePart, dayAndMonthPart, divide, emptyDelta, enablePreAndPostImages, eq, eqExtends, eqPar, eqTyped, except, excludeIdem, exprMapVal, field, fieldF, fieldM, filter, filterDefined, first, firstSure, floor, from, fromEq, func, getWhenMatched, getWhenMatchedForMerge, gt, gte, inArray, isArray, ite, joinIdOf, last, literalsEqaul, log, lt, lte, makeCol, map, map1, mapExact, mapExact0, mapExact1, mapExactToObject, mapExactToObject0, mapExactToObject1, mapFromPlainDateTime, mapToPlainDateTime, mapVal, matchDelta, max, maxDate, mergeExact, mergeExact0, mergeExpr, mergeObjects, minDate, monthPart, multiply, ne, nil, noop, not, notExtendExcluded, notNull, now, omitExclude, omitPick, omitRORec, or, padLeft, pair, prepare, rand, range, reflex, regex, renamedFields, root, set, setField, single, size, slice, sortArray, spread, spread0, staging, startOf, str, sub, subtract, sym, to, toInt, translateOmit, val, weekPart, wrap, year };
|
|
831
|
+
export type { Accumulators, AddO, And, App, AppMap, AppMapRW, ApplyHKT, Arr, ArrHKT, AsLiteral, ConstHKT, DeepFieldHKT, Delta, DeltaAccumulator, DeltaAccumulatorHKT, DeltaAccumulators, DeltaStages, Equal, Exact, ExactKeys, ExactPart, ExactPart1, ExprHKT, Exprs, ExprsExact, ExprsExactHKT, ExprsPart, FieldHKT, HKT, I, ID, IdHKT, JoinId, Loose, MapK, MapKDom, MapKPart1, MapO, MapOPart, MappedHKT, Merge, MergeArgs, MergeHKT, MergeInto, MergeMapOArgs, Model, MongoTypeNames, N, NullToOBJ, O, OPick, OPickD, Patch, PromiseHKT, RConstHKT, RORec, RawStages, Rec, RecHKT, RecordHKT, Replace, SnapshotStreamExecutionResult, StrKey, Strict, TS, UBeforeHKT, WithKey1, WriteonlyCollection, doc, jsonPrim, notArr, µ };
|
package/index.esm.js
CHANGED
|
@@ -409,17 +409,35 @@ const fieldF = () => (exprs) => Object.keys(exprs).length
|
|
|
409
409
|
: val({});
|
|
410
410
|
const field = fieldF();
|
|
411
411
|
|
|
412
|
-
const
|
|
413
|
-
|
|
414
|
-
forward:
|
|
412
|
+
const sym = (eq) => ({
|
|
413
|
+
backward: eq.forward,
|
|
414
|
+
forward: eq.backward,
|
|
415
|
+
backward1: eq.forward1,
|
|
416
|
+
forward1: eq.backward1,
|
|
417
|
+
});
|
|
418
|
+
const reflex = () => ({
|
|
415
419
|
backward: id,
|
|
416
|
-
|
|
420
|
+
forward: id,
|
|
417
421
|
backward1: id,
|
|
422
|
+
forward1: id,
|
|
423
|
+
});
|
|
424
|
+
const id = (x) => x;
|
|
425
|
+
const assertEqual = () => reflex();
|
|
426
|
+
const eqExtends = (_1, _2) => assertEqual();
|
|
427
|
+
const fromEq = (eq) => ({
|
|
428
|
+
...eq,
|
|
429
|
+
backward1: (eq.backward),
|
|
430
|
+
forward1: (eq.forward),
|
|
418
431
|
});
|
|
419
432
|
const literalsEqaul = (_) => assertEqual();
|
|
420
433
|
const omitRORec = () => assertEqual();
|
|
421
434
|
const omitPick = () => assertEqual();
|
|
435
|
+
const omitExclude = () => assertEqual();
|
|
436
|
+
const renamedFields = () => assertEqual();
|
|
422
437
|
const translateOmit = () => assertEqual();
|
|
438
|
+
const excludeIdem = () => assertEqual();
|
|
439
|
+
const eqPar = () => assertEqual();
|
|
440
|
+
const notExtendExcluded = () => assertEqual();
|
|
423
441
|
|
|
424
442
|
const size = (expr) => asExpr({
|
|
425
443
|
raw: f => asExprRaw({ $size: expr.raw(f).get() }),
|
|
@@ -2456,4 +2474,4 @@ const makeCol = async (docs, database, name) => {
|
|
|
2456
2474
|
}
|
|
2457
2475
|
};
|
|
2458
2476
|
|
|
2459
|
-
export { $accumulator, $and, $countDict, $countDictArray, $entries, $eq, $exists, $expr, $getField, $group, $groupId, $groupMerge, $group_, $gt, $gtTs, $gte, $gteTs, $ifNull, $in, $insert, $insertPart, $insertX, $keys, $let, $lookup, $lt, $lte, $map, $map0, $map1, $match, $matchDelta, $merge, $merge2, $mergeId, $mergePart, $merge_, $ne, $nin, $nor, $or, $outerLookup, $pushDict, $rand, $reduce, $replaceWith, $set, $simpleInsert, $simpleMerge, $simpleMergePart, $substr, $sum, $type, $unwind, $unwindDelta, Field, Machine, add, and, anyElementTrue, array, ceil, comp, concat, concatArray, createIndex, ctx, current, dateAdd, dateDiff, dateLt, datePart, dayAndMonthPart, divide, emptyDelta, enablePreAndPostImages, eq, eqTyped, except, exprMapVal, field, fieldF, fieldM, filter, filterDefined, first$1 as first, firstSure, floor, from, func, getWhenMatched, getWhenMatchedForMerge, gt, gte, inArray, isArray, ite, joinIdOf, last, log, lt, lte, makeCol, map1, mapFromPlainDateTime, mapToPlainDateTime, mapVal, matchDelta, max, maxDate, mergeExact, mergeExact0, mergeExpr, mergeObjects, minDate, monthPart, multiply, ne, nil, noop, not, notNull, now, or, padLeft, pair, prepare, rand, range, regex, root, set, setField, single, size, slice, sortArray, staging, startOf, str, sub, subtract, to, toInt, val, weekPart, wrap, year };
|
|
2477
|
+
export { $accumulator, $and, $countDict, $countDictArray, $entries, $eq, $exists, $expr, $getField, $group, $groupId, $groupMerge, $group_, $gt, $gtTs, $gte, $gteTs, $ifNull, $in, $insert, $insertPart, $insertX, $keys, $let, $lookup, $lt, $lte, $map, $map0, $map1, $match, $matchDelta, $merge, $merge2, $mergeId, $mergePart, $merge_, $ne, $nin, $nor, $or, $outerLookup, $pushDict, $rand, $reduce, $replaceWith, $set, $simpleInsert, $simpleMerge, $simpleMergePart, $substr, $sum, $type, $unwind, $unwindDelta, Field, Machine, add, and, anyElementTrue, array, ceil, comp, concat, concatArray, createIndex, ctx, current, dateAdd, dateDiff, dateLt, datePart, dayAndMonthPart, divide, emptyDelta, enablePreAndPostImages, eq, eqExtends, eqPar, eqTyped, except, excludeIdem, exprMapVal, field, fieldF, fieldM, filter, filterDefined, first$1 as first, firstSure, floor, from, fromEq, func, getWhenMatched, getWhenMatchedForMerge, gt, gte, inArray, isArray, ite, joinIdOf, last, literalsEqaul, log, lt, lte, makeCol, map, map1, mapExact, mapExact0, mapExact1, mapExactToObject, mapExactToObject0, mapExactToObject1, mapFromPlainDateTime, mapToPlainDateTime, mapVal, matchDelta, max, maxDate, mergeExact, mergeExact0, mergeExpr, mergeObjects, minDate, monthPart, multiply, ne, nil, noop, not, notExtendExcluded, notNull, now, omitExclude, omitPick, omitRORec, or, padLeft, pair, prepare, rand, range, reflex, regex, renamedFields, root, set, setField, single, size, slice, sortArray, spread, spread0, staging, startOf, str, sub, subtract, sym, to, toInt, translateOmit, val, weekPart, wrap, year };
|
package/index.js
CHANGED
|
@@ -411,17 +411,35 @@ const fieldF = () => (exprs) => Object.keys(exprs).length
|
|
|
411
411
|
: val({});
|
|
412
412
|
const field = fieldF();
|
|
413
413
|
|
|
414
|
-
const
|
|
415
|
-
|
|
416
|
-
forward:
|
|
414
|
+
const sym = (eq) => ({
|
|
415
|
+
backward: eq.forward,
|
|
416
|
+
forward: eq.backward,
|
|
417
|
+
backward1: eq.forward1,
|
|
418
|
+
forward1: eq.backward1,
|
|
419
|
+
});
|
|
420
|
+
const reflex = () => ({
|
|
417
421
|
backward: id,
|
|
418
|
-
|
|
422
|
+
forward: id,
|
|
419
423
|
backward1: id,
|
|
424
|
+
forward1: id,
|
|
425
|
+
});
|
|
426
|
+
const id = (x) => x;
|
|
427
|
+
const assertEqual = () => reflex();
|
|
428
|
+
const eqExtends = (_1, _2) => assertEqual();
|
|
429
|
+
const fromEq = (eq) => ({
|
|
430
|
+
...eq,
|
|
431
|
+
backward1: (eq.backward),
|
|
432
|
+
forward1: (eq.forward),
|
|
420
433
|
});
|
|
421
434
|
const literalsEqaul = (_) => assertEqual();
|
|
422
435
|
const omitRORec = () => assertEqual();
|
|
423
436
|
const omitPick = () => assertEqual();
|
|
437
|
+
const omitExclude = () => assertEqual();
|
|
438
|
+
const renamedFields = () => assertEqual();
|
|
424
439
|
const translateOmit = () => assertEqual();
|
|
440
|
+
const excludeIdem = () => assertEqual();
|
|
441
|
+
const eqPar = () => assertEqual();
|
|
442
|
+
const notExtendExcluded = () => assertEqual();
|
|
425
443
|
|
|
426
444
|
const size = (expr) => asExpr({
|
|
427
445
|
raw: f => asExprRaw({ $size: expr.raw(f).get() }),
|
|
@@ -2535,8 +2553,11 @@ exports.divide = divide;
|
|
|
2535
2553
|
exports.emptyDelta = emptyDelta;
|
|
2536
2554
|
exports.enablePreAndPostImages = enablePreAndPostImages;
|
|
2537
2555
|
exports.eq = eq;
|
|
2556
|
+
exports.eqExtends = eqExtends;
|
|
2557
|
+
exports.eqPar = eqPar;
|
|
2538
2558
|
exports.eqTyped = eqTyped;
|
|
2539
2559
|
exports.except = except;
|
|
2560
|
+
exports.excludeIdem = excludeIdem;
|
|
2540
2561
|
exports.exprMapVal = exprMapVal;
|
|
2541
2562
|
exports.field = field;
|
|
2542
2563
|
exports.fieldF = fieldF;
|
|
@@ -2547,6 +2568,7 @@ exports.first = first$1;
|
|
|
2547
2568
|
exports.firstSure = firstSure;
|
|
2548
2569
|
exports.floor = floor;
|
|
2549
2570
|
exports.from = from;
|
|
2571
|
+
exports.fromEq = fromEq;
|
|
2550
2572
|
exports.func = func;
|
|
2551
2573
|
exports.getWhenMatched = getWhenMatched;
|
|
2552
2574
|
exports.getWhenMatchedForMerge = getWhenMatchedForMerge;
|
|
@@ -2557,11 +2579,19 @@ exports.isArray = isArray;
|
|
|
2557
2579
|
exports.ite = ite;
|
|
2558
2580
|
exports.joinIdOf = joinIdOf;
|
|
2559
2581
|
exports.last = last;
|
|
2582
|
+
exports.literalsEqaul = literalsEqaul;
|
|
2560
2583
|
exports.log = log;
|
|
2561
2584
|
exports.lt = lt;
|
|
2562
2585
|
exports.lte = lte;
|
|
2563
2586
|
exports.makeCol = makeCol;
|
|
2587
|
+
exports.map = map;
|
|
2564
2588
|
exports.map1 = map1;
|
|
2589
|
+
exports.mapExact = mapExact;
|
|
2590
|
+
exports.mapExact0 = mapExact0;
|
|
2591
|
+
exports.mapExact1 = mapExact1;
|
|
2592
|
+
exports.mapExactToObject = mapExactToObject;
|
|
2593
|
+
exports.mapExactToObject0 = mapExactToObject0;
|
|
2594
|
+
exports.mapExactToObject1 = mapExactToObject1;
|
|
2565
2595
|
exports.mapFromPlainDateTime = mapFromPlainDateTime;
|
|
2566
2596
|
exports.mapToPlainDateTime = mapToPlainDateTime;
|
|
2567
2597
|
exports.mapVal = mapVal;
|
|
@@ -2579,15 +2609,21 @@ exports.ne = ne;
|
|
|
2579
2609
|
exports.nil = nil;
|
|
2580
2610
|
exports.noop = noop;
|
|
2581
2611
|
exports.not = not;
|
|
2612
|
+
exports.notExtendExcluded = notExtendExcluded;
|
|
2582
2613
|
exports.notNull = notNull;
|
|
2583
2614
|
exports.now = now;
|
|
2615
|
+
exports.omitExclude = omitExclude;
|
|
2616
|
+
exports.omitPick = omitPick;
|
|
2617
|
+
exports.omitRORec = omitRORec;
|
|
2584
2618
|
exports.or = or;
|
|
2585
2619
|
exports.padLeft = padLeft;
|
|
2586
2620
|
exports.pair = pair;
|
|
2587
2621
|
exports.prepare = prepare;
|
|
2588
2622
|
exports.rand = rand;
|
|
2589
2623
|
exports.range = range;
|
|
2624
|
+
exports.reflex = reflex;
|
|
2590
2625
|
exports.regex = regex;
|
|
2626
|
+
exports.renamedFields = renamedFields;
|
|
2591
2627
|
exports.root = root;
|
|
2592
2628
|
exports.set = set;
|
|
2593
2629
|
exports.setField = setField;
|
|
@@ -2595,13 +2631,17 @@ exports.single = single;
|
|
|
2595
2631
|
exports.size = size;
|
|
2596
2632
|
exports.slice = slice;
|
|
2597
2633
|
exports.sortArray = sortArray;
|
|
2634
|
+
exports.spread = spread;
|
|
2635
|
+
exports.spread0 = spread0;
|
|
2598
2636
|
exports.staging = staging;
|
|
2599
2637
|
exports.startOf = startOf;
|
|
2600
2638
|
exports.str = str;
|
|
2601
2639
|
exports.sub = sub;
|
|
2602
2640
|
exports.subtract = subtract;
|
|
2641
|
+
exports.sym = sym;
|
|
2603
2642
|
exports.to = to;
|
|
2604
2643
|
exports.toInt = toInt;
|
|
2644
|
+
exports.translateOmit = translateOmit;
|
|
2605
2645
|
exports.val = val;
|
|
2606
2646
|
exports.weekPart = weekPart;
|
|
2607
2647
|
exports.wrap = wrap;
|