@omegup/msync 0.1.65 → 0.1.67

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.
@@ -1,4 +1,4 @@
1
- import type { IdHKT, Omit, Exclude, OPick, RWCollection, Timestamp } from '../../types';
1
+ import type { IdHKT, Omit, Exclude, OPick, RWCollection } from '../../types';
2
2
  import type { doc, ID, N, O, rawItem, Rec, Replace, RORec, StrKey } from '../../types/json';
3
3
  import { type ExprsExact } from '../expression/concat';
4
4
  import type { Delta, Expr, IsDeleted, Model, RawStages, StreamRunnerParam, TS } from '../types';
@@ -18,9 +18,9 @@ type Result<P> = Expr<P, unknown, {
18
18
  new: P;
19
19
  }>;
20
20
  type Update<P, Out> = (...args: Args<P, Out>) => Result<P>;
21
- type UpdateF<P, Out> = <K extends keyof IsDeleted>(...args: Args<Replace<P, RORec<K, Timestamp>>, Out>) => Result<Replace<P, RORec<K, Timestamp>>>;
21
+ type UpdateF<P, Out> = <K extends keyof IsDeleted>(...args: Args<Replace<P, RORec<K, Date>>, Out>) => Result<Replace<P, RORec<K, Date>>>;
22
22
  export declare const getSubsetMatchForExt: <Out extends Model, P extends O & ID & TS, E extends Record<keyof E, rawItem>>(ext: Exact<E, IdHKT>) => null | Expr<boolean, Rec<'old' | 'merged', Out | Replace<Out, P>>>;
23
- export declare const getWhenMatchedForMerge: <Out extends Model, P extends O & ID & TS, K extends keyof IsDeleted>(whenNotMatched: 'discard' | 'fail' | 'insert', update: Update<Replace<P, RORec<K, Timestamp>>, Out>, canWrite: Expr<boolean, Rec<'old' | 'merged', Out | Replace<Out, P>>> | null) => RawStages<O, Out, Out | Replace<Out, P>, RORec<'new', Replace<P, RORec<K, Timestamp>>>>;
23
+ export declare const getWhenMatchedForMerge: <Out extends Model, P extends O & ID & TS, K extends keyof IsDeleted>(whenNotMatched: 'discard' | 'fail' | 'insert', update: Update<Replace<P, RORec<K, Date>>, Out>, canWrite: Expr<boolean, Rec<'old' | 'merged', Out | Replace<Out, P>>> | null) => RawStages<O, Out, Out | Replace<Out, P>, RORec<'new', Replace<P, RORec<K, Date>>>>;
24
24
  export declare const getWhenMatched: <Out extends Model, P extends O & ID & TS>(whenNotMatched: 'discard' | 'fail' | 'insert', canWrite: Expr<boolean, Rec<'old' | 'merged', Out | Replace<Out, P>>> | null) => RawStages<O, Rec<'old' | 'merged', Out | Replace<Out, P>>, Out | Replace<Out, P>>;
25
25
  type MergeCollection<V extends O, Out extends Model> = {
26
26
  coll: RWCollection<Out | Replace<Out, Patch<V>> | Replace<Patch<V>, IsDeleted>, Out>;
@@ -7,8 +7,8 @@ export declare const current: Expr<Timestamp, unknown>;
7
7
  export declare const $let: <T, D, C, V extends object>(vars: ExprsExact<V, D, C>, inExpr: Expr<T, D, C & V>) => Expr<T, D, C>;
8
8
  export declare const nil: Expr<null, unknown>;
9
9
  export declare const $getField: {
10
- <T, K extends StrKey<T>, D, C = unknown>(expr: Expr<T, D, C>, field: K): Expr<T[K], D, C>;
11
- <T, K extends StrKey<T>, D, C = unknown>(expr: Expr<T | N, D, C>, field: K): Expr<T[K] | null, D, C>;
10
+ <T, K extends StrKey<T>, D, C = unknown>(expr: Expr<T, D, C>, field: K | Expr<K, D, C>): Expr<T[K], D, C>;
11
+ <T, K extends StrKey<T>, D, C = unknown>(expr: Expr<T | N, D, C>, field: K | Expr<K, D, C>): Expr<T[K] | null, D, C>;
12
12
  };
13
13
  export type AddO<T> = T extends notObj ? T : T extends Array<infer U> ? Arr<AddO<U>> : O<{
14
14
  [K in keyof T]: AddO<T[K]>;
@@ -46,12 +46,12 @@ export type TS = {
46
46
  readonly touchedAt: Timestamp;
47
47
  };
48
48
  export type IsDeleted = {
49
- readonly deletedAt: Timestamp;
49
+ readonly deletedAt: Date;
50
50
  };
51
51
  export type DDel = IsDeleted & ID & TS;
52
52
  export type Del = O<DDel>;
53
53
  export type DeletedAt = {
54
- readonly deletedAt?: Timestamp | null | undefined;
54
+ readonly deletedAt?: Date | null | undefined;
55
55
  };
56
56
  export type D = O<DeletedAt & ID>;
57
57
  export type Model = D & TS;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegup/msync",
3
- "version": "0.1.65",
3
+ "version": "0.1.67",
4
4
  "description": "Keeps derived MongoDB data in sync with the documents it comes from.",
5
5
  "repository": {
6
6
  "type": "git",