@omegup/msync 0.0.10 → 0.0.11

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 CHANGED
@@ -102,7 +102,6 @@ type D = O<{
102
102
  readonly deletedAt?: Timestamp | null | undefined;
103
103
  } & ID>;
104
104
  type Model = D & TS;
105
- type OutInput<T, A = T | null> = ID & Rec<'after', A>;
106
105
  type BA = 'before' | 'after';
107
106
  type PreDelta<T, K extends BA = BA, E = unknown> = Rec<K, T> & E;
108
107
  type Delta<T, K extends BA = BA, E = ID> = PreDelta<T | null, K, E>;
@@ -476,7 +475,7 @@ type ND = {
476
475
  readonly deletedAt?: null;
477
476
  };
478
477
  type Merge<T extends ID> = (T & ND & TS) | Del;
479
- declare const $upsert: <T extends doc>(out: RWCollection<Merge<T>>) => RawStages<unknown, OutInput<T>, "out">;
478
+ declare const $upsert: <T extends doc>(out: RWCollection<Merge<T>>) => RawStages<unknown, Delta<T>, "out">;
480
479
 
481
480
  type DeltaPipe<Q extends O, T extends Q, F extends HKT<O2>, G extends HKT<O3>> = {
482
481
  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>;
package/index.esm.js CHANGED
@@ -1030,18 +1030,18 @@ const $mergeId = () => (out, keys, id) => {
1030
1030
  })).stages;
1031
1031
  };
1032
1032
  const $simpleMerge = () => (out, keys) => $mergeId()(out, keys, root().of('_id').expr());
1033
- const $merge = () => (out, keys) => $mergeId()(out, keys, assertNotNull(root()
1033
+ const $merge = () => (out, keys) => $mergeId()(out, keys, assertNotNull$1(root()
1034
1034
  .of('before')
1035
1035
  .of('_id')
1036
1036
  .expr()));
1037
- const assertNotNull = (expr) => expr;
1037
+ const assertNotNull$1 = (expr) => expr;
1038
1038
 
1039
1039
  const $upsert = (out) => {
1040
- const replacer = ite(eqTyped(root().of('after').expr(), nil), field({
1040
+ const replacer = ite(eq(root().of('after').expr())(nil), field({
1041
1041
  deletedAt: ['deletedAt', current],
1042
- _id: ['_id', root().of('_id').expr()],
1042
+ _id: ['_id', assertNotNull(root().of('before').of('_id').expr())],
1043
1043
  touchedAt: ['touchedAt', current],
1044
- }), mergeObjects(root().of('after').expr(), field({ deletedAt: ['deletedAt', nil], touchedAt: ['touchedAt', current] })));
1044
+ }), mergeObjects(assertNotNull(root().of('after').expr()), field({ deletedAt: ['deletedAt', nil], touchedAt: ['touchedAt', current] })));
1045
1045
  return link()
1046
1046
  .with($replaceWith_(replacer))
1047
1047
  .with($merge_({
@@ -1051,6 +1051,7 @@ const $upsert = (out) => {
1051
1051
  whenNotMatched: 'insert',
1052
1052
  })).stages;
1053
1053
  };
1054
+ const assertNotNull = (expr) => expr;
1054
1055
 
1055
1056
  const T = (s) => `Timestamp(${parseInt(`${BigInt(s) / 2n ** 32n}`)}, ${parseInt(`${BigInt(s) % 2n ** 32n}`)})`;
1056
1057
  const replace = (s) => s.replace(/\{"\$timestamp":"(\d+)"\}/g, (_, d) => T(d));
package/index.js CHANGED
@@ -1032,18 +1032,18 @@ const $mergeId = () => (out, keys, id) => {
1032
1032
  })).stages;
1033
1033
  };
1034
1034
  const $simpleMerge = () => (out, keys) => $mergeId()(out, keys, root().of('_id').expr());
1035
- const $merge = () => (out, keys) => $mergeId()(out, keys, assertNotNull(root()
1035
+ const $merge = () => (out, keys) => $mergeId()(out, keys, assertNotNull$1(root()
1036
1036
  .of('before')
1037
1037
  .of('_id')
1038
1038
  .expr()));
1039
- const assertNotNull = (expr) => expr;
1039
+ const assertNotNull$1 = (expr) => expr;
1040
1040
 
1041
1041
  const $upsert = (out) => {
1042
- const replacer = ite(eqTyped(root().of('after').expr(), nil), field({
1042
+ const replacer = ite(eq(root().of('after').expr())(nil), field({
1043
1043
  deletedAt: ['deletedAt', current],
1044
- _id: ['_id', root().of('_id').expr()],
1044
+ _id: ['_id', assertNotNull(root().of('before').of('_id').expr())],
1045
1045
  touchedAt: ['touchedAt', current],
1046
- }), mergeObjects(root().of('after').expr(), field({ deletedAt: ['deletedAt', nil], touchedAt: ['touchedAt', current] })));
1046
+ }), mergeObjects(assertNotNull(root().of('after').expr()), field({ deletedAt: ['deletedAt', nil], touchedAt: ['touchedAt', current] })));
1047
1047
  return link()
1048
1048
  .with($replaceWith_(replacer))
1049
1049
  .with($merge_({
@@ -1053,6 +1053,7 @@ const $upsert = (out) => {
1053
1053
  whenNotMatched: 'insert',
1054
1054
  })).stages;
1055
1055
  };
1056
+ const assertNotNull = (expr) => expr;
1056
1057
 
1057
1058
  const T = (s) => `Timestamp(${parseInt(`${BigInt(s) / 2n ** 32n}`)}, ${parseInt(`${BigInt(s) % 2n ** 32n}`)})`;
1058
1059
  const replace = (s) => s.replace(/\{"\$timestamp":"(\d+)"\}/g, (_, d) => T(d));
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "module": "index.esm.js",
4
4
  "typings": "index.d.ts",
5
5
  "name": "@omegup/msync",
6
- "version": "0.0.10",
6
+ "version": "0.0.11",
7
7
  "dependencies": {
8
8
  "dayjs": "^1.11.9",
9
9
  "dotenv": "^16.3.1",