@omegup/msync 0.0.99 → 0.1.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.
Files changed (3) hide show
  1. package/index.esm.js +12 -3
  2. package/index.js +12 -3
  3. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -1367,10 +1367,11 @@ const $replaceWith = (expr) => ({
1367
1367
  const $mergeX = (out, keys, f, map, whenNotMatched = 'fail', ext) => {
1368
1368
  const patch = mapExact(keys, v => sub(v, f));
1369
1369
  const filter = mapExactToObject(ext, v => ({ $eq: v }));
1370
+ const setDeleted = whenNotMatched === 'discard';
1370
1371
  const replacer = map(field(omitPick().backward(spread(patch, {
1371
1372
  _id: ['_id', f.of('_id').expr()],
1372
1373
  touchedAt: ['touchedAt', current],
1373
- deletedAt: ['deletedAt', current],
1374
+ deletedAt: [setDeleted ? 'deletedAt' : 'touchedAt', current],
1374
1375
  }))));
1375
1376
  return {
1376
1377
  raw: (first) => link()
@@ -1383,8 +1384,16 @@ const $mergeX = (out, keys, f, map, whenNotMatched = 'fail', ext) => {
1383
1384
  whenMatched: asStages([
1384
1385
  {
1385
1386
  $replaceWith: {
1386
- old: { $mergeObjects: ['$$ROOT', { deletedAt: '$deletedAt' }] },
1387
- merged: { $mergeObjects: ['$$ROOT', '$$new', { deletedAt: '$deletedAt' }] },
1387
+ old: setDeleted
1388
+ ? { $mergeObjects: ['$$ROOT', { deletedAt: '$deletedAt' }] }
1389
+ : '$$ROOT',
1390
+ merged: {
1391
+ $mergeObjects: [
1392
+ '$$ROOT',
1393
+ '$$new',
1394
+ ...(setDeleted ? [{ deletedAt: '$deletedAt' }] : []),
1395
+ ],
1396
+ },
1388
1397
  },
1389
1398
  },
1390
1399
  {
package/index.js CHANGED
@@ -1369,10 +1369,11 @@ const $replaceWith = (expr) => ({
1369
1369
  const $mergeX = (out, keys, f, map, whenNotMatched = 'fail', ext) => {
1370
1370
  const patch = mapExact(keys, v => sub(v, f));
1371
1371
  const filter = mapExactToObject(ext, v => ({ $eq: v }));
1372
+ const setDeleted = whenNotMatched === 'discard';
1372
1373
  const replacer = map(field(omitPick().backward(spread(patch, {
1373
1374
  _id: ['_id', f.of('_id').expr()],
1374
1375
  touchedAt: ['touchedAt', current],
1375
- deletedAt: ['deletedAt', current],
1376
+ deletedAt: [setDeleted ? 'deletedAt' : 'touchedAt', current],
1376
1377
  }))));
1377
1378
  return {
1378
1379
  raw: (first) => link()
@@ -1385,8 +1386,16 @@ const $mergeX = (out, keys, f, map, whenNotMatched = 'fail', ext) => {
1385
1386
  whenMatched: asStages([
1386
1387
  {
1387
1388
  $replaceWith: {
1388
- old: { $mergeObjects: ['$$ROOT', { deletedAt: '$deletedAt' }] },
1389
- merged: { $mergeObjects: ['$$ROOT', '$$new', { deletedAt: '$deletedAt' }] },
1389
+ old: setDeleted
1390
+ ? { $mergeObjects: ['$$ROOT', { deletedAt: '$deletedAt' }] }
1391
+ : '$$ROOT',
1392
+ merged: {
1393
+ $mergeObjects: [
1394
+ '$$ROOT',
1395
+ '$$new',
1396
+ ...(setDeleted ? [{ deletedAt: '$deletedAt' }] : []),
1397
+ ],
1398
+ },
1390
1399
  },
1391
1400
  },
1392
1401
  {
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.99",
6
+ "version": "0.1.0",
7
7
  "dependencies": {
8
8
  "dayjs": "^1.11.9",
9
9
  "dotenv": "^16.3.1",