joist-core 2.1.0-next.42 → 2.1.0-next.43

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 +1 @@
1
- {"version":3,"file":"resurrection.d.ts","sourceRoot":"","sources":["../src/resurrection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAgB,MAAM,iBAAiB,CAAC;AAI9F,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CA2BxB"}
1
+ {"version":3,"file":"resurrection.d.ts","sourceRoot":"","sources":["../src/resurrection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAgB,MAAM,iBAAiB,CAAC;AAI9F,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAyBxB"}
@@ -21,7 +21,7 @@ async function findExistingIfUniqueBy(em, constructor, input) {
21
21
  const meta = (0, EntityMetadata_1.getMetadata)(constructor);
22
22
  const candidates = getUniqueByCandidates(meta, input);
23
23
  for (const where of candidates) {
24
- const inMemory = em.filterEntities(constructor, where);
24
+ const inMemory = onlySoftDeleted(em.filterEntities(constructor, where));
25
25
  if (inMemory.length > 1) {
26
26
  throw new EntityManager_1.TooManyError(`Found more than one existing ${meta.type} with ${whereAsString(where)}`);
27
27
  }
@@ -33,7 +33,7 @@ async function findExistingIfUniqueBy(em, constructor, input) {
33
33
  const hasNewEntityParam = Object.values(where).some((value) => (0, Entity_1.isEntity)(value) && value.isNewEntity);
34
34
  if (hasNewEntityParam)
35
35
  continue;
36
- const entities = (await em.find(constructor, where, { softDeletes: "include" })).filter((entity) => !entity.isDeletedEntity);
36
+ const entities = onlySoftDeleted(await em.find(constructor, where, { softDeletes: "include" }));
37
37
  if (entities.length > 1) {
38
38
  throw new EntityManager_1.TooManyError(`Found more than one existing ${meta.type} with ${whereAsString(where)}`);
39
39
  }
@@ -44,6 +44,10 @@ async function findExistingIfUniqueBy(em, constructor, input) {
44
44
  }
45
45
  return undefined;
46
46
  }
47
+ /** Returns soft-deleted entities that are safe for upsert to resurrect. */
48
+ function onlySoftDeleted(entities) {
49
+ return entities.filter((entity) => !entity.isDeletedEntity && entity.isSoftDeletedEntity);
50
+ }
47
51
  /** Builds pushdown-safe where clauses from configured identity fields. */
48
52
  function getUniqueByCandidates(meta, input) {
49
53
  return (meta.uniqueBy ?? (0, EntityMetadata_1.getBaseMeta)(meta).uniqueBy ?? []).flatMap((fields) => {
@@ -1 +1 @@
1
- {"version":3,"file":"resurrection.js","sourceRoot":"","sources":["../src/resurrection.ts"],"names":[],"mappings":";;AAMA,wDAKC;AAMD,wDA+BC;AAhDD,qCAA4C;AAC5C,mDAA8F;AAC9F,qDAAmF;AACnF,qCAAoC;AAEpC,yFAAyF;AACzF,SAAgB,sBAAsB,CAAC,MAAc;IACnD,MAAM,SAAS,GAAG,IAAA,4BAAW,EAAC,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC;IAC9E,IAAI,SAAS,IAAK,MAAc,CAAC,mBAAmB,EAAE,CAAC;QACrD,IAAA,iBAAQ,EAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAC1C,EAAgC,EAChC,WAA8C,EAC9C,KAAa;IAEb,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,WAAW,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,CAAC,WAAkB,EAAE,KAAY,CAAQ,CAAC;QAC5E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,4BAAY,CAAC,gCAAgC,IAAI,CAAC,IAAI,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,wGAAwG;QACxG,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QACrG,IAAI,iBAAiB;YAAE,SAAS;QAEhC,MAAM,QAAQ,GAAG,CAAC,MAAO,EAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAC9F,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CACrC,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,4BAAY,CAAC,gCAAgC,IAAI,CAAC,IAAI,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,0EAA0E;AAC1E,SAAS,qBAAqB,CAAC,IAAoB,EAAE,KAAa;IAChE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5E,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrD,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iDAAiD;AACjD,SAAS,gBAAgB,CAAC,KAAY,EAAE,KAAa;IACnD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,sBAAsB,CAAE,KAAiC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACjE,OAAO,sBAAsB,CAAE,KAAiC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gHAAgH;AAChH,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QACzF,OAAQ,KAA0B,CAAC,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kFAAkF;AAClF,SAAS,wBAAwB,CAAC,KAAY;IAC5C,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9G,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"resurrection.js","sourceRoot":"","sources":["../src/resurrection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-core",
3
- "version": "2.1.0-next.42",
3
+ "version": "2.1.0-next.43",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "build"
21
21
  ],
22
22
  "peerDependencies": {
23
- "joist-utils": "2.1.0-next.42"
23
+ "joist-utils": "2.1.0-next.43"
24
24
  },
25
25
  "dependencies": {
26
26
  "@types/object-hash": "^3.0.6",