joist-core 2.2.0-next.3 → 2.2.0-next.5

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 (86) hide show
  1. package/build/BaseEntity.js +1 -1
  2. package/build/BaseEntity.js.map +1 -1
  3. package/build/EntityManager.d.ts +2 -0
  4. package/build/EntityManager.d.ts.map +1 -1
  5. package/build/EntityManager.js +139 -78
  6. package/build/EntityManager.js.map +1 -1
  7. package/build/EntityMetadata.d.ts +17 -1
  8. package/build/EntityMetadata.d.ts.map +1 -1
  9. package/build/EntityMetadata.js.map +1 -1
  10. package/build/IndexManager.d.ts +2 -2
  11. package/build/IndexManager.d.ts.map +1 -1
  12. package/build/IndexManager.js +22 -16
  13. package/build/IndexManager.js.map +1 -1
  14. package/build/InstanceData.d.ts +14 -2
  15. package/build/InstanceData.d.ts.map +1 -1
  16. package/build/InstanceData.js +34 -3
  17. package/build/InstanceData.js.map +1 -1
  18. package/build/IsLoadedCache.d.ts.map +1 -1
  19. package/build/IsLoadedCache.js +14 -17
  20. package/build/IsLoadedCache.js.map +1 -1
  21. package/build/QueryParser.collectionJoins.js +8 -2
  22. package/build/QueryParser.collectionJoins.js.map +1 -1
  23. package/build/QueryParser.d.ts +4 -2
  24. package/build/QueryParser.d.ts.map +1 -1
  25. package/build/QueryParser.js.map +1 -1
  26. package/build/QueryParser.pruning.d.ts.map +1 -1
  27. package/build/QueryParser.pruning.js +8 -1
  28. package/build/QueryParser.pruning.js.map +1 -1
  29. package/build/ReactionsManager.d.ts +2 -1
  30. package/build/ReactionsManager.d.ts.map +1 -1
  31. package/build/ReactionsManager.js +53 -49
  32. package/build/ReactionsManager.js.map +1 -1
  33. package/build/configure.d.ts +3 -3
  34. package/build/configure.d.ts.map +1 -1
  35. package/build/configure.js +64 -0
  36. package/build/configure.js.map +1 -1
  37. package/build/dataloaders/fastWhereFilterHash.d.ts +15 -0
  38. package/build/dataloaders/fastWhereFilterHash.d.ts.map +1 -0
  39. package/build/dataloaders/fastWhereFilterHash.js +164 -0
  40. package/build/dataloaders/fastWhereFilterHash.js.map +1 -0
  41. package/build/dataloaders/fastWhereFilterHash.test.d.ts +2 -0
  42. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +1 -0
  43. package/build/dataloaders/fastWhereFilterHash.test.js +59 -0
  44. package/build/dataloaders/fastWhereFilterHash.test.js.map +1 -0
  45. package/build/dataloaders/findCountDataLoader.d.ts +1 -2
  46. package/build/dataloaders/findCountDataLoader.d.ts.map +1 -1
  47. package/build/dataloaders/findCountDataLoader.js +16 -13
  48. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  49. package/build/dataloaders/findDataLoader.d.ts +7 -4
  50. package/build/dataloaders/findDataLoader.d.ts.map +1 -1
  51. package/build/dataloaders/findDataLoader.js +85 -80
  52. package/build/dataloaders/findDataLoader.js.map +1 -1
  53. package/build/dataloaders/findIdsDataLoader.d.ts +1 -2
  54. package/build/dataloaders/findIdsDataLoader.d.ts.map +1 -1
  55. package/build/dataloaders/findIdsDataLoader.js +16 -15
  56. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  57. package/build/dataloaders/findOrCreateDataLoader.js +1 -1
  58. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  59. package/build/dataloaders/findPaginatedDataLoader.d.ts +1 -2
  60. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -1
  61. package/build/dataloaders/findPaginatedDataLoader.js +25 -23
  62. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  63. package/build/drivers/EntityWriter.js +13 -7
  64. package/build/drivers/EntityWriter.js.map +1 -1
  65. package/build/drivers/buildRawQuery.d.ts.map +1 -1
  66. package/build/drivers/buildRawQuery.js +5 -1
  67. package/build/drivers/buildRawQuery.js.map +1 -1
  68. package/build/fields.d.ts.map +1 -1
  69. package/build/fields.js +16 -6
  70. package/build/fields.js.map +1 -1
  71. package/build/keys.d.ts.map +1 -1
  72. package/build/keys.js +8 -6
  73. package/build/keys.js.map +1 -1
  74. package/build/loadHints.d.ts +9 -0
  75. package/build/loadHints.d.ts.map +1 -1
  76. package/build/loadHints.js +63 -9
  77. package/build/loadHints.js.map +1 -1
  78. package/build/utils.d.ts +2 -0
  79. package/build/utils.d.ts.map +1 -1
  80. package/build/utils.js +12 -0
  81. package/build/utils.js.map +1 -1
  82. package/package.json +3 -5
  83. package/build/caches.d.ts +0 -6
  84. package/build/caches.d.ts.map +0 -1
  85. package/build/caches.js +0 -42
  86. package/build/caches.js.map +0 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isNew = isNew;
4
4
  exports.isLoaded = isLoaded;
5
+ exports.isLoadedForPopulate = isLoadedForPopulate;
5
6
  exports.maybePopulateThen = maybePopulateThen;
6
7
  exports.assertLoaded = assertLoaded;
7
8
  exports.ensureLoaded = ensureLoaded;
@@ -19,25 +20,78 @@ function isLoaded(entity, hint) {
19
20
  return entity[hint].isLoaded;
20
21
  }
21
22
  else if (Array.isArray(hint)) {
22
- return hint.every((key) => entity[key].isLoaded);
23
+ for (const key of hint) {
24
+ if (!entity[key].isLoaded)
25
+ return false;
26
+ }
27
+ return true;
23
28
  }
24
29
  else if (typeof hint === "object") {
25
- return Object.entries(hint).every(([key, nestedHint]) => {
30
+ for (const entry of Object.entries(hint)) {
31
+ const [key, nestedHint] = entry;
26
32
  const relation = (0, reactiveHints_1.getRelationFromMaybePolyKey)(entity, key);
27
33
  if (!relation || typeof relation.load !== "function")
28
- return true;
34
+ continue;
29
35
  if (relation.isLoaded) {
30
36
  const result = relation.get;
31
- return Array.isArray(result)
32
- ? result.every((entity) => isLoaded(entity, nestedHint))
33
- : result
34
- ? isLoaded(result, nestedHint)
35
- : true;
37
+ if (Array.isArray(result)) {
38
+ for (const entity of result) {
39
+ if (!isLoaded(entity, nestedHint))
40
+ return false;
41
+ }
42
+ }
43
+ else if (result && !isLoaded(result, nestedHint)) {
44
+ return false;
45
+ }
36
46
  }
37
47
  else {
38
48
  return false;
39
49
  }
40
- });
50
+ }
51
+ return true;
52
+ }
53
+ else {
54
+ throw new Error(`Unexpected hint ${hint}`);
55
+ }
56
+ }
57
+ /**
58
+ * Recursively checks if a relation-only populate hint is loaded on an entity.
59
+ *
60
+ * Unlike `isLoaded`, this returns `false` for non-loadable/primitive leaves instead of ignoring them, because
61
+ * `ReactiveField.load` calls `em.populate` with load hints converted from reactive hints, i.e. `{ firstName: {} }`.
62
+ * Treating those primitive leaves as loaded would let `EntityManager.populate` skip the batchloader path and change
63
+ * reactive recalculation ordering, so the populate fast-path only applies to true relation populate hints.
64
+ */
65
+ function isLoadedForPopulate(entity, hint) {
66
+ if (typeof hint === "string") {
67
+ const relation = (0, reactiveHints_1.getRelationFromMaybePolyKey)(entity, hint);
68
+ return !!relation && typeof relation.load === "function" && relation.isLoaded;
69
+ }
70
+ else if (Array.isArray(hint)) {
71
+ for (const key of hint) {
72
+ if (!isLoadedForPopulate(entity, key))
73
+ return false;
74
+ }
75
+ return true;
76
+ }
77
+ else if (typeof hint === "object") {
78
+ for (const entry of Object.entries(hint)) {
79
+ const [key, nestedHint] = entry;
80
+ const relation = (0, reactiveHints_1.getRelationFromMaybePolyKey)(entity, key);
81
+ if (!relation || typeof relation.load !== "function" || !relation.isLoaded)
82
+ return false;
83
+ const result = relation.get;
84
+ if (Array.isArray(result)) {
85
+ for (const entity of result) {
86
+ if (!isLoadedForPopulate(entity, nestedHint))
87
+ return false;
88
+ }
89
+ }
90
+ else if (result && !isLoadedForPopulate(result, nestedHint)) {
91
+ return false;
92
+ }
93
+ }
94
+ return true;
41
95
  }
42
96
  else {
43
97
  throw new Error(`Unexpected hint ${hint}`);
@@ -1 +1 @@
1
- {"version":3,"file":"loadHints.js","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":";;AAoIA,sBAEC;AA6DD,4BAuBC;AAED,8CAMC;AAOD,oCAKC;AAOD,oCAGC;AAOD,oCAEC;AA/PD,mDAA8D;AAiB9D,mCAA8D;AAE9D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AA8G1B,mGAAmG;AACnG,SAAgB,KAAK,CAAmB,CAAI;IAC1C,OAAO,CAAC,CAAC,WAAW,CAAC;AACvB,CAAC;AA4DD,oFAAoF;AACpF,SAAgB,QAAQ,CAA0C,MAAS,EAAE,IAAO;IAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IACxC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAQ,IAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,MAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,IAAA,2CAA2B,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YAClE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBACxD,CAAC,CAAC,MAAM;wBACN,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;wBAC9B,CAAC,CAAC,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAC/B,MAAS,EACT,IAAO,EACP,EAA+B;IAE/B,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,MAAS,EACT,IAAO;IAEP,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,IAAA,YAAI,EAAC,GAAG,MAAM,CAAC,EAAE,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAgD,MAAS,EAAE,IAAO;IAC5F,YAAY,CAAO,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAgD,MAAS,EAAE,IAAO;IAC5F,OAAO,MAAsB,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"loadHints.js","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":"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"}
package/build/utils.d.ts CHANGED
@@ -17,6 +17,8 @@ export type MaybePromise<T> = T | Promise<T>;
17
17
  export declare function maybePromiseThen<T, U>(promiseOrObj: MaybePromise<T>, callback: (obj: T) => U): MaybePromise<U>;
18
18
  export declare function failIfAnyRejected<T>(results: PromiseSettledResult<T>[]): T[];
19
19
  export declare function getOrSet<T extends Record<keyof unknown, unknown>>(record: T, key: keyof T, defaultValue: T[keyof T] | (() => T[keyof T])): T[keyof T];
20
+ /** Defines a getter that replaces itself with its computed value on first access. */
21
+ export declare function defineLazyGetter<T extends object, K extends keyof T>(obj: T, key: K, build: () => T[K]): void;
20
22
  /**
21
23
  * A utility to ensure a Promise-returning method actually returns a promise and doesn't
22
24
  * early exit. Using `async function` guarantees these semantics, but sometimes we avoid
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE9G;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAO5E;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,OAAO,EAAE,OAAO,CAAC,EAC/D,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,MAAM,CAAC,EACZ,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAC5C,CAAC,CAAC,MAAM,CAAC,CAAC,CAKZ;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMrD;AAED,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAE5C;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAKhD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAEjE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAIlD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAEzC;AAED,0CAA0C;AAC1C,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1C;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAUrH;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAO1G;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAM3D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAWvF;AAGD,wBAAgB,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,EAAE,CAEtE;AAGD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEtD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAE3C;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAEzD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CA8B1E;AAED,2FAA2F;AAE3F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CASnE;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOnE;AAED,2GAA2G;AAC3G,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAGD,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAUtF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/build/utils.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.maybePromiseThen = maybePromiseThen;
4
4
  exports.failIfAnyRejected = failIfAnyRejected;
5
5
  exports.getOrSet = getOrSet;
6
+ exports.defineLazyGetter = defineLazyGetter;
6
7
  exports.tryResolve = tryResolve;
7
8
  exports.fail = fail;
8
9
  exports.remove = remove;
@@ -54,6 +55,17 @@ function getOrSet(record, key, defaultValue) {
54
55
  }
55
56
  return record[key];
56
57
  }
58
+ /** Defines a getter that replaces itself with its computed value on first access. */
59
+ function defineLazyGetter(obj, key, build) {
60
+ Object.defineProperty(obj, key, {
61
+ configurable: true,
62
+ get: function getLazyProperty() {
63
+ const value = build();
64
+ Object.defineProperty(obj, key, { configurable: true, value });
65
+ return value;
66
+ },
67
+ });
68
+ }
57
69
  /**
58
70
  * A utility to ensure a Promise-returning method actually returns a promise and doesn't
59
71
  * early exit. Using `async function` guarantees these semantics, but sometimes we avoid
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAoBA,4CAEC;AAED,8CAOC;AAED,4BASC;AAGD,4CASC;AAOD,gCAMC;AAED,oBAEC;AAED,wBAKC;AAED,kCAEC;AAED,4BAIC;AAED,sBAEC;AAGD,wBAEC;AAED,0BAUC;AAED,0BAOC;AAED,0BAMC;AAED,8BAWC;AAGD,0BAEC;AAKD,kCAEC;AAED,oCAKC;AAWD,sBAEC;AAED,sCA8BC;AAID,oDASC;AAKD,4CAOC;AAGD,4BAEC;AAGD,sCAUC;AApPD,mDAA4C;AAE5C,2CAA2D;AAI3D;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAO,YAA6B,EAAE,QAAuB;IAC3F,OAAO,YAAY,YAAY,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChG,CAAC;AAED,SAAgB,iBAAiB,CAAI,OAAkC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC/D,mEAAmE;IACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC3D,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA+B,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,QAAQ,CACtB,MAAS,EACT,GAAY,EACZ,YAA6C;IAE7C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,qFAAqF;AACrF,SAAgB,gBAAgB,CAAsC,GAAM,EAAE,GAAM,EAAE,KAAiB;IACrG,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;QAC9B,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,SAAS,eAAe;YAC3B,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAI,EAAW;IACvC,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAgB,IAAI,CAAC,OAAgB;IACnC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,MAAM,CAAI,KAAU,EAAE,CAAI;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QACf,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAI,KAAsB,EAAE,CAAI;IACzD,IAAI,KAAK;QAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,QAAQ,CAAI,KAAU,EAAE,CAAI;IAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAgB,KAAK,CAAI,KAAU;IACjC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,0CAA0C;AAC1C,SAAgB,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,OAAO,CAAuB,IAAkB,EAAE,EAAe,EAAE,OAAqB;IACtG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,OAAO,CAAuB,IAAS,EAAE,EAAe,EAAE,OAAqB;IAC7F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,OAAO,CAAI,IAAc,EAAE,CAAS;IAClD,MAAM,MAAM,GAAG,EAAW,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,SAAS,CAAI,KAAuB,EAAE,CAAqB;IACzE,MAAM,YAAY,GAAQ,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAQ,EAAE,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,wFAAwF;AACxF,SAAgB,OAAO,CAAI,UAAsC;IAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACtH,CAAC;AAKD,SAAgB,WAAW,CAAC,CAAQ;IAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,KAAK,CAAmB,MAAS;IAC/C,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,aAAa,CAAC,EAAO,EAAE,EAAO,EAAE,SAAkB;IAChE,MAAM,CAAC,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,IAAA,2BAAe,EAAC,EAAE,CAAC,EAAE,CAAC;QACxB,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,IAAA,2BAAe,EAAC,EAAE,CAAC,EAAE,CAAC;QACxB,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,IAAA,uBAAW,EAAC,EAAE,CAAC,IAAI,IAAA,uBAAW,EAAC,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,WAAW,CAAC;QAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,WAAW,CAAC;QAC3D,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,yDAAyD;YACnF,IAAI,MAAM;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sDAAsD;QACnF,CAAC;QACD,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC;QACnF,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,IAAA,yBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,IAAA,yBAAS,EAAC,EAAE,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;QACpD,OAAO,CAAE,EAAW,CAAC,OAAO,EAAE,GAAI,EAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,iEAAiE;AACjE,SAAgB,oBAAoB,CAAC,MAAW,EAAE,MAAW;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChB,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,GAAG,KAAK,CAAC;AACtB,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,uDAAuD;IACvD,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnG,mDAAmD;IACnD,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,kEAAkE;IAClE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,2GAA2G;AAC3G,SAAgB,QAAQ,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,0DAA0D;AAC1D,SAAgB,aAAa,CAAoB,IAA6B;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAK,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-core",
3
- "version": "2.2.0-next.3",
3
+ "version": "2.2.0-next.5",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,13 +20,11 @@
20
20
  "build"
21
21
  ],
22
22
  "peerDependencies": {
23
- "joist-utils": "2.2.0-next.3"
23
+ "joist-utils": "2.2.0-next.5"
24
24
  },
25
25
  "dependencies": {
26
- "@types/object-hash": "^3.0.6",
27
26
  "ansis": "^4.3.0",
28
- "dataloader": "^2.2.3",
29
- "object-hash": "^3.0.0"
27
+ "dataloader": "^2.2.3"
30
28
  },
31
29
  "devDependencies": {
32
30
  "@swc/core": "^1.15.33",
package/build/caches.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import { Reactable, ReactiveRule } from "./config";
2
- import { EntityMetadata } from "./EntityMetadata";
3
- export declare function getReactables(meta: EntityMetadata): Reactable[];
4
- export declare function getReactablesIncludingReadOnly(meta: EntityMetadata): Reactable[];
5
- export declare function getReactiveRules(meta: EntityMetadata): ReactiveRule[];
6
- //# sourceMappingURL=caches.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"caches.d.ts","sourceRoot":"","sources":["../src/caches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,cAAc,EAA+C,MAAM,kBAAkB,CAAC;AAO/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,CAS/D;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,CAOhF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,CAYrE"}
package/build/caches.js DELETED
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getReactables = getReactables;
4
- exports.getReactablesIncludingReadOnly = getReactablesIncludingReadOnly;
5
- exports.getReactiveRules = getReactiveRules;
6
- const EntityMetadata_1 = require("./EntityMetadata");
7
- // We calculate these all the time, so cache them for good measure.
8
- const reactableCache = new WeakMap();
9
- const reactableWithReadOnlyCache = new WeakMap();
10
- const reactiveRuleCache = new WeakMap();
11
- function getReactables(meta) {
12
- let fields = reactableCache.get(meta);
13
- if (fields === undefined) {
14
- fields = (0, EntityMetadata_1.getBaseAndSelfMetas)(meta)
15
- .flatMap((m) => m.config.__data.reactables)
16
- .filter((r) => !r.isReadOnly);
17
- reactableCache.set(meta, fields);
18
- }
19
- return fields;
20
- }
21
- function getReactablesIncludingReadOnly(meta) {
22
- let fields = reactableWithReadOnlyCache.get(meta);
23
- if (fields === undefined) {
24
- fields = (0, EntityMetadata_1.getBaseAndSelfMetas)(meta).flatMap((m) => m.config.__data.reactables);
25
- reactableWithReadOnlyCache.set(meta, fields);
26
- }
27
- return fields;
28
- }
29
- function getReactiveRules(meta) {
30
- let rules = reactiveRuleCache.get(meta);
31
- if (rules === undefined) {
32
- // We use "AndSub" because `getReactiveRules` is called with `todo.metadata`, which is always
33
- // the root type, but ofc we don't want to skip subtype rules.
34
- //
35
- // I had considered filtering this list with `rr.fields.length > 0`, but even rules with 100%
36
- // immutable fields (so all read-only, and so not "reactive") need to run on initial entity creation.
37
- rules = (0, EntityMetadata_1.getBaseSelfAndSubMetas)(meta).flatMap((m) => m.config.__data.reactiveRules);
38
- reactiveRuleCache.set(meta, rules);
39
- }
40
- return rules;
41
- }
42
- //# sourceMappingURL=caches.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"caches.js","sourceRoot":"","sources":["../src/caches.ts"],"names":[],"mappings":";;AAQA,sCASC;AAED,wEAOC;AAED,4CAYC;AAvCD,qDAA+F;AAE/F,mEAAmE;AACnE,MAAM,cAAc,GAAyC,IAAI,OAAO,EAAE,CAAC;AAC3E,MAAM,0BAA0B,GAAyC,IAAI,OAAO,EAAE,CAAC;AACvF,MAAM,iBAAiB,GAA4C,IAAI,OAAO,EAAE,CAAC;AAEjF,SAAgB,aAAa,CAAC,IAAoB;IAChD,IAAI,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,IAAA,oCAAmB,EAAC,IAAI,CAAC;aAC/B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAChC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,8BAA8B,CAAC,IAAoB;IACjE,IAAI,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,IAAA,oCAAmB,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9E,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAoB;IACnD,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,6FAA6F;QAC7F,8DAA8D;QAC9D,EAAE;QACF,6FAA6F;QAC7F,qGAAqG;QACrG,KAAK,GAAG,IAAA,uCAAsB,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnF,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}