@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 +1 -2
- package/index.esm.js +6 -5
- package/index.js +6 -5
- package/package.json +1 -1
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,
|
|
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(
|
|
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(
|
|
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));
|