@signalium/query 1.1.0 → 1.1.1
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/CHANGELOG.md +6 -0
- package/dist/cjs/development/index.js +40 -0
- package/dist/cjs/development/index.js.map +1 -1
- package/dist/cjs/production/index.js +40 -0
- package/dist/cjs/production/index.js.map +1 -1
- package/dist/esm/EntityMap.d.ts.map +1 -1
- package/dist/esm/development/index.js +40 -0
- package/dist/esm/development/index.js.map +1 -1
- package/dist/esm/production/index.js +40 -0
- package/dist/esm/production/index.js.map +1 -1
- package/dist/esm/proxy.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityMap.d.ts","sourceRoot":"","sources":["../../src/EntityMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,QAAQ,EAAY,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA4BpD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAU3D,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAA2D;IACtE,OAAO,CAAC,WAAW,CAAc;IAEjC;;;OAGG;IACH,OAAO,CAAC,wBAAwB,CAA8C;gBAElE,WAAW,EAAE,WAAW;IAIpC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,YAAY,GAAG,SAAS;IAIxE,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAsBpE,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,YAAY;IAWnE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB;IAgBrF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,YAAY;
|
|
1
|
+
{"version":3,"file":"EntityMap.d.ts","sourceRoot":"","sources":["../../src/EntityMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,QAAQ,EAAY,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA4BpD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAU3D,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAA2D;IACtE,OAAO,CAAC,WAAW,CAAc;IAEjC;;;OAGG;IACH,OAAO,CAAC,wBAAwB,CAA8C;gBAElE,WAAW,EAAE,WAAW;IAIpC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,YAAY,GAAG,SAAS;IAIxE,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IAsBpE,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,YAAY;IAWnE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB;IAgBrF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,YAAY;IA2B9G;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA+BlF;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAsB/C;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/C,OAAO,CAAC,iBAAiB;CA2C1B"}
|
|
@@ -910,6 +910,43 @@ function createEntityProxy(id, entityRecord, def, entityRelay, scopeOwner, warn
|
|
|
910
910
|
if (!Object.hasOwnProperty.call(shape, prop)) {
|
|
911
911
|
return value;
|
|
912
912
|
}
|
|
913
|
+
if (value && typeof value === "object") {
|
|
914
|
+
const ownerWithHydrate = scopeOwner;
|
|
915
|
+
if (typeof value.__entityRef === "number") {
|
|
916
|
+
const nestedRecord = ownerWithHydrate.hydrateEntity?.(
|
|
917
|
+
value.__entityRef,
|
|
918
|
+
propDef
|
|
919
|
+
);
|
|
920
|
+
if (nestedRecord && nestedRecord.proxy) {
|
|
921
|
+
cache.set(prop, nestedRecord.proxy);
|
|
922
|
+
return nestedRecord.proxy;
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
926
|
+
const firstItem = value[0];
|
|
927
|
+
if (firstItem && typeof firstItem === "object" && typeof firstItem.__entityRef === "number") {
|
|
928
|
+
const arrayTypeDef = propDef;
|
|
929
|
+
const isArrayType = typeof arrayTypeDef.mask === "number" && (arrayTypeDef.mask & Mask.ARRAY) !== 0;
|
|
930
|
+
const itemDef = isArrayType ? arrayTypeDef.shape : void 0;
|
|
931
|
+
if (itemDef) {
|
|
932
|
+
const hydratedArray = value.map((item) => {
|
|
933
|
+
if (item && typeof item === "object" && typeof item.__entityRef === "number") {
|
|
934
|
+
const nestedRecord = ownerWithHydrate.hydrateEntity?.(
|
|
935
|
+
item.__entityRef,
|
|
936
|
+
itemDef
|
|
937
|
+
);
|
|
938
|
+
if (nestedRecord && nestedRecord.proxy) {
|
|
939
|
+
return nestedRecord.proxy;
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
return item;
|
|
943
|
+
});
|
|
944
|
+
cache.set(prop, hydratedArray);
|
|
945
|
+
return hydratedArray;
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
}
|
|
913
950
|
const parsed = parseValue(value, propDef, `[[${desc}]].${prop}`, false, warn);
|
|
914
951
|
cache.set(prop, parsed);
|
|
915
952
|
return parsed;
|
|
@@ -1050,6 +1087,9 @@ class EntityStore {
|
|
|
1050
1087
|
record.data = mergeValues(record.data, obj);
|
|
1051
1088
|
record.notifier.notify();
|
|
1052
1089
|
record.cache.clear();
|
|
1090
|
+
if (record.proxy === void 0) {
|
|
1091
|
+
record.proxy = this.createEntityProxy(record, shape);
|
|
1092
|
+
}
|
|
1053
1093
|
}
|
|
1054
1094
|
record.entityRefs = entityRefs;
|
|
1055
1095
|
return record;
|