@proteinjs/db 1.14.0 → 1.14.2

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 CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.14.2](https://github.com/proteinjs/db/compare/@proteinjs/db@1.14.1...@proteinjs/db@1.14.2) (2025-04-15)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * `ReferenceCache` updated typings of `setMultiple` and `reloadTable` to be constrained by `T` ([26108cf](https://github.com/proteinjs/db/commit/26108cfd5b4429a52166ca3c8359dcbce62d99d1))
12
+
13
+
14
+
15
+
16
+
6
17
  # [1.14.0](https://github.com/proteinjs/db/compare/@proteinjs/db@1.13.0...@proteinjs/db@1.14.0) (2025-04-02)
7
18
 
8
19
 
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './src/Columns';
5
5
  export * from './src/Record';
6
6
  export * from './src/reference/ReferenceArray';
7
7
  export * from './src/reference/Reference';
8
+ export * from './src/reference/ReferenceCache';
8
9
  export * from './src/RecordIterator';
9
10
  export * from './src/source/SourceRecord';
10
11
  export * from './src/QueryBuilderFactory';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAE5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AAExD,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AAEjD,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAE5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AAExD,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AAEjD,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ __exportStar(require("./src/Columns"), exports);
21
21
  __exportStar(require("./src/Record"), exports);
22
22
  __exportStar(require("./src/reference/ReferenceArray"), exports);
23
23
  __exportStar(require("./src/reference/Reference"), exports);
24
+ __exportStar(require("./src/reference/ReferenceCache"), exports);
24
25
  __exportStar(require("./src/RecordIterator"), exports);
25
26
  __exportStar(require("./src/source/SourceRecord"), exports);
26
27
  __exportStar(require("./src/QueryBuilderFactory"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,uDAAqC;AACrC,gDAA8B;AAC9B,+CAA6B;AAC7B,iEAA+C;AAC/C,4DAA0C;AAC1C,uDAAqC;AACrC,4DAA0C;AAC1C,4DAA0C;AAC1C,qDAAmC;AACnC,gEAA8C;AAC9C,sEAAoD;AACpD,8EAA4D;AAE5D,gEAA8C;AAC9C,8DAA4C;AAC5C,4DAA0C;AAE1C,sDAAoC;AACpC,8DAA4C;AAE5C,2DAAyC;AACzC,wEAAsD;AACtD,0EAAwD;AAExD,oEAAkD;AAClD,4DAA0C;AAC1C,mEAAiD;AACjD,yEAAuD;AACvD,mEAAiD;AAEjD,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,uDAAqC;AACrC,gDAA8B;AAC9B,+CAA6B;AAC7B,iEAA+C;AAC/C,4DAA0C;AAC1C,iEAA+C;AAC/C,uDAAqC;AACrC,4DAA0C;AAC1C,4DAA0C;AAC1C,qDAAmC;AACnC,gEAA8C;AAC9C,sEAAoD;AACpD,8EAA4D;AAE5D,gEAA8C;AAC9C,8DAA4C;AAC5C,4DAA0C;AAE1C,sDAAoC;AACpC,8DAA4C;AAE5C,2DAAyC;AACzC,wEAAsD;AACtD,0EAAwD;AAExD,oEAAkD;AAClD,4DAA0C;AAC1C,mEAAiD;AACjD,yEAAuD;AACvD,mEAAiD;AAEjD,sDAAoC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Columns.d.ts","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Columns.d.ts","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ var ReferenceArray_1 = require("./reference/ReferenceArray");
73
73
  var Db_1 = require("./Db");
74
74
  var Reference_1 = require("./reference/Reference");
75
75
  var QueryBuilderFactory_1 = require("./QueryBuilderFactory");
76
+ var serializer_1 = require("@proteinjs/serializer");
76
77
  var IntegerColumn = /** @class */ (function () {
77
78
  function IntegerColumn(name, options, large) {
78
79
  if (large === void 0) { large = false; }
@@ -242,7 +243,7 @@ var ObjectColumn = /** @class */ (function (_super) {
242
243
  if (fieldValue === undefined || fieldValue == null) {
243
244
  return [2 /*return*/, null];
244
245
  }
245
- return [2 /*return*/, JSON.stringify(fieldValue)];
246
+ return [2 /*return*/, serializer_1.Serializer.serialize(fieldValue)];
246
247
  });
247
248
  });
248
249
  };
@@ -252,7 +253,7 @@ var ObjectColumn = /** @class */ (function (_super) {
252
253
  if (serializedFieldValue === undefined || serializedFieldValue == null) {
253
254
  return [2 /*return*/, null];
254
255
  }
255
- return [2 /*return*/, JSON.parse(serializedFieldValue)];
256
+ return [2 /*return*/, serializer_1.Serializer.deserialize(serializedFieldValue)];
256
257
  });
257
258
  });
258
259
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Columns.js","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Columns.js","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,6BAAoC;AACpC,iCAA2F;AAE3F,6DAA4D;AAC5D,2BAA0B;AAC1B,mDAAkD;AAClD,6DAA4D;AAC5D,oDAAmD;AAEnD;IACE,uBACS,IAAY,EACZ,OAAuB,EACvB,KAAa;QAAb,sBAAA,EAAA,aAAa;QAFb,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,UAAK,GAAL,KAAK,CAAQ;IACnB,CAAC;IACN,oBAAC;AAAD,CAAC,AAND,IAMC;AANY,sCAAa;AAQ1B;IACE,sBACS,IAAY,EACZ,OAAuB,EACvB,SAA+B;QAA/B,0BAAA,EAAA,eAA+B;QAF/B,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,cAAS,GAAT,SAAS,CAAsB;QAEtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAC1B;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,SAAS,KAAK,KAAK;aAC5B;SACF,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AAfD,IAeC;AAfY,oCAAY;AAiBzB;IACE,qBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IACN,kBAAC;AAAD,CAAC,AALD,IAKC;AALY,kCAAW;AAOxB;IACE,uBACS,IAAY,EACZ,OAAuB,EACvB,KAAa;QAAb,sBAAA,EAAA,aAAa;QAFb,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,UAAK,GAAL,KAAK,CAAQ;IACnB,CAAC;IACN,oBAAC;AAAD,CAAC,AAND,IAMC;AANY,sCAAa;AAQ1B;IACE,uBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IAEE,iCAAS,GAAf,UAAgB,UAAsC;;;gBACpD,IAAI,UAAU,EAAE;oBACd,sBAAO,IAAI,EAAC;iBACb;gBAED,IAAI,UAAU,KAAK,KAAK,EAAE;oBACxB,sBAAO,KAAK,EAAC;iBACd;gBAED,sBAAO,IAAI,EAAC;;;KACb;IAEK,mCAAW,GAAjB,UAAkB,oBAAoC;;;gBACpD,IAAI,oBAAoB,EAAE;oBACxB,sBAAO,IAAI,EAAC;iBACb;gBAED,IAAI,oBAAoB,KAAK,KAAK,EAAE;oBAClC,sBAAO,KAAK,EAAC;iBACd;gBAED,sBAAO,IAAI,EAAC;;;KACb;IACH,oBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,sCAAa;AA+B1B;IACE,oBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IACN,iBAAC;AAAD,CAAC,AALD,IAKC;AALY,gCAAU;AAOvB;IACE,wBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IAEE,kCAAS,GAAf,UAAgB,UAA4C;;;gBAC1D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,gBAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACnF,sBAAO,IAAI,EAAC;iBACb;gBAED,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE;oBAC5C,sBAAO,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAC;iBACpC;gBAED,sBAAO,UAAU,CAAC,MAAM,EAAE,EAAC;;;KAC5B;IAEK,oCAAW,GAAjB,UAAkB,oBAAiC;;;gBACjD,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,KAAK,IAAI,EAAE;oBACvE,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,IAAA,gBAAM,EAAC,oBAAoB,CAAC,EAAC;;;KACrC;IACH,qBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,wCAAc;AA2B3B;IACE,sBACS,IAAY,EACZ,OAAuB,EACvB,SAA0B;QAF1B,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,cAAS,GAAT,SAAS,CAAiB;QAEjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAC1B;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AAfD,IAeC;AAfY,oCAAY;AAiBzB;IAAgC,8BAAY;IAC1C,oBAAY,IAAY,EAAE,OAAuB;QAAjD,YACE,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,YAAY,EAAE;gBAAY,sBAAA,IAAA,SAAM,GAAE,EAAA;qBAAA;YAClC,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,EACD,EAAE,CACH,SACF;;IAAD,CAAC;IACH,iBAAC;AAAD,CAAC,AAhBD,CAAgC,YAAY,GAgB3C;AAhBY,gCAAU;AAkBvB;IAAoC,kCAAY;IAC9C,wBAAY,IAAY,EAAE,OAAuB;eAC/C,kBAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACH,qBAAC;AAAD,CAAC,AAJD,CAAoC,YAAY,GAI/C;AAJY,wCAAc;AAM3B;IAAqC,gCAAe;IAClD,sBAAY,IAAY,EAAE,OAAuB;eAC/C,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,EACD,KAAK,CACN;IACH,CAAC;IAEK,gCAAS,GAAf,UAAgB,UAAgC;;;gBAC9C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;oBAClD,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,uBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC;;;KACzC;IAEK,kCAAW,GAAjB,UAAkB,oBAA4B;;;gBAC5C,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,IAAI,IAAI,EAAE;oBACtE,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,uBAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAC;;;KACrD;IACH,mBAAC;AAAD,CAAC,AA/BD,CAAqC,YAAY,GA+BhD;AA/BY,oCAAY;AAiCzB;IAAoC,+BAAiB;IACnD,qBAAY,IAAY,EAAE,OAAuB;eAC/C,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,CACF;IACH,CAAC;IACH,kBAAC;AAAD,CAAC,AAdD,CAAoC,YAAY,GAc/C;AAdY,kCAAW;AAgBxB;IAA4D,wCAA+B;IACzF;;;;;;;OAOG;IACH,8BACE,IAAY,EACL,cAAsB,EACtB,aAAsB,EAC7B,OAAuB;QAJzB,YAME,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,CACF,SACF;QAfQ,oBAAc,GAAd,cAAc,CAAQ;QACtB,mBAAa,GAAb,aAAa,CAAS;;IAc/B,CAAC;IAEK,wCAAS,GAAf,UAAgB,UAAgD;;;;;;wBAC9D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;4BAClD,sBAAO,IAAI,EAAC;yBACb;wBAEG,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;wBAEhC,yFAAyF;wBACzF,IAAI,UAAU,CAAC,QAAQ,EAAE;4BACvB,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,CAAC;yBAC5D;wBAEM,qBAAM,iBAAM,SAAS,YAAC,SAAgB,CAAC,EAAA;4BAA9C,sBAAO,SAAuC,EAAC;;;;KAChD;IAEK,0CAAW,GAAjB,UAAkB,oBAA4B;;;;;4BACjC,qBAAM,iBAAM,WAAW,YAAC,oBAAoB,CAAC,EAAA;;wBAApD,GAAG,GAAG,CAAC,SAA6C,CAAoB;wBAC5E,IAAI,GAAG,KAAK,IAAI,EAAE;4BAChB,GAAG,GAAG,EAAE,CAAC;yBACV;wBAED,sBAAO,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAC;;;;KACrD;IAEK,2CAAY,GAAlB,UAAmB,KAAiB,EAAE,kBAA0B,EAAE,OAAc;;;;;;wBAC9E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,sBAAO;yBACR;wBAEK,iBAAiB,GAAa,EAAE,CAAC;8BACX,EAAP,mBAAO;;;6BAAP,CAAA,qBAAO,CAAA;wBAAjB,MAAM;wBACT,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAA2B,CAAC;wBACnD,qBAAM,cAAc,CAAC,GAAG,EAAE,EAAA;;wBAA7C,gBAAgB,GAAG,SAA0B;wBACnD,WAA8C,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;4BAArC,eAAe;4BACxB,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;yBAC5C;;;wBALkB,IAAO,CAAA;;;wBAQ5B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChC,sBAAO;yBACR;wBAEK,cAAc,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAClD,EAAE,GAAG,IAAI,yCAAmB,EAAE;6BACjC,eAAe,CAAC,cAAc,CAAC;6BAC/B,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBACxE,qBAAM,IAAI,OAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;;;KAC3C;IACH,2BAAC;AAAD,CAAC,AA5ED,CAA4D,YAAY,GA4EvE;AA5EY,oDAAoB;AA8EjC;IAAuD,mCAA0B;IAC/E;;;;;;;OAOG;IACH,yBACE,IAAY,EACL,cAAsB,EACtB,aAAsB,EAC7B,OAAuB;QAJzB,YAME,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,EACD,EAAE,CACH,SACF;QAhBQ,oBAAc,GAAd,cAAc,CAAQ;QACtB,mBAAa,GAAb,aAAa,CAAS;;IAe/B,CAAC;IAEK,mCAAS,GAAf,UAAgB,UAA2C;;;gBACzD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;oBACrE,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,UAAU,CAAC,GAAG,EAAC;;;KACvB;IAEK,qCAAW,GAAjB,UAAkB,oBAA4B;;;;gBACtC,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;gBAC3E,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE;oBAC1B,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,SAAyB,EAAC;;;KAClC;IAEK,sCAAY,GAAlB,UAAmB,KAAiB,EAAE,kBAA0B,EAAE,OAAc;;;;;;wBAC9E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,sBAAO;yBACR;wBAEK,iBAAiB,GAAa,EAAE,CAAC;wBACvC,WAA4B,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;4BAAnB,MAAM;4BACT,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAsB,CAAC;4BAClE,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,EAAE;gCAC9B,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;6BACvC;yBACF;wBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChC,sBAAO;yBACR;wBAEK,cAAc,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAClD,EAAE,GAAG,IAAI,yCAAmB,EAAE;6BACjC,eAAe,CAAC,cAAc,CAAC;6BAC/B,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBACxE,qBAAM,IAAI,OAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;;;KAC3C;IACH,sBAAC;AAAD,CAAC,AArED,CAAuD,YAAY,GAqElE;AArEY,0CAAe;AAuE5B,iFAAiF;AACjF;IAAqD,mDAAoB;IACvE,yCACE,IAAY,EACL,mBAA2B,EAClC,OAAuB;QAHzB,iBA4EC;QAvEC,IAAM,eAAe,yBAChB,OAAO,KACV,YAAY,EAAE,UAAO,KAAiB,EAAE,MAAW;;;;;;4BAC3C,eAAe,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACrD,kBAAkB,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;4BAC7E,IAAI,CAAC,eAAe,EAAE;gCACpB,MAAM,IAAI,KAAK,CAAC,iBAAU,IAAI,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;6BAC/F;4BACD,IAAI,CAAC,kBAAkB,EAAE;gCACvB,MAAM,IAAI,KAAK,CAAC,iBAAU,mBAAmB,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;6BAC9G;iCAGG,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAA3B,wBAA2B;kCACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;4BAAG,qBAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;4BAAzC,KAAA,SAAyC,CAAA;;;4BAAG,KAAA,MAAA,MAAM,CAAC,eAAe,CAAC,mCAAI,IAAI,CAAA;;gCAA1G,0BAA2G;;4BAI7F,kBAAkB,GAAK,MAAM,CAAC,kBAAkB,CAAC,OAA/B,CAAgC;4BAElE,IAAI,CAAC,kBAAkB,EAAE;gCACvB,MAAM,IAAI,KAAK,CACb,gGAAyF,mBAAmB,CAAE,CAC/G,CAAC;6BACH;4BAED,+FAA+F;4BAC/F,MAAM,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC;kCACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;4BAAG,qBAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;4BAAzC,KAAA,SAAyC,CAAA;;;4BAAG,KAAA,kBAAkB,CAAA;;gCAA7F,0BAA8F;;;iBAC/F,EACD,WAAW,EAAE,UAAO,KAAiB,EAAE,SAAc;;;;oBAC7C,eAAe,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACrD,kBAAkB,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;oBAC7E,IAAI,CAAC,eAAe,EAAE;wBACpB,MAAM,IAAI,KAAK,CAAC,iBAAU,IAAI,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;qBAC/F;oBACD,IAAI,CAAC,kBAAkB,EAAE;wBACvB,MAAM,IAAI,KAAK,CAAC,iBAAU,mBAAmB,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;qBAC9G;oBAED,oEAAoE;oBACpE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;wBAClC,sBAAO,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,wDAAG,KAAK,EAAE,SAAS,CAAC,mCAAI,SAAS,CAAC,eAAe,CAAC,mCAAI,SAAS,EAAC;qBAC5F;oBAGe,YAAY,GAAK,SAAS,CAAC,kBAAkB,CAAC,OAAlC,CAAmC;oBAE/D,IAAI,CAAC,YAAY,EAAE;wBACjB,MAAM,IAAI,KAAK,CACb,gGAAyF,mBAAmB,CAAE,CAC/G,CAAC;qBACH;oBAED,kGAAkG;oBAClG,SAAS,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;oBAC1C,sBAAO,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,wDAAG,KAAK,EAAE,SAAS,CAAC,mCAAI,YAAY,EAAC;;iBACjE,GACF,CAAC;gBAEF,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,eAAe,CAChB,CACF;QAzEM,yBAAmB,GAAnB,mBAAmB,CAAQ;;IA0EpC,CAAC;IACH,sCAAC;AAAD,CAAC,AA9ED,CAAqD,YAAY,GA8EhE;AA9EY,0EAA+B;AAgF5C;;;;;;;;;;;;;;;GAeG;AAEH;IAA8D,0CAA0B;IACtF,gCACE,IAAY,EACL,sBAA8B,EAC9B,aAA8B,EACrC,OAAuB;QADhB,8BAAA,EAAA,qBAA8B;QAHvC,YAME,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,EACD,EAAE,CACH,SACF;QAhBQ,4BAAsB,GAAtB,sBAAsB,CAAQ;QAC9B,mBAAa,GAAb,aAAa,CAAiB;;IAevC,CAAC;IAEK,0CAAS,GAAf,UAAgB,UAA2C;;;gBACzD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;oBACrE,sBAAO,IAAI,EAAC;iBACb;gBAED,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACzD,MAAM,IAAI,KAAK,CAAC,iEAA0D,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;iBACxF;gBAED,sBAAO,UAAU,CAAC,GAAG,EAAC;;;KACvB;IAEK,4CAAW,GAAjB,UAAkB,oBAA4B,EAAE,gBAAqB;;;;gBAC7D,SAAS,GAAG,IAAI,qBAAS,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;gBAC1D,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE;oBAC1B,sBAAO,IAAI,EAAC;iBACb;gBAEK,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAChE,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,yCAAkC,IAAI,CAAC,sBAAsB,4BAAkB,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;iBAC7G;gBAED,sBAAO,IAAI,qBAAS,CAAI,SAAS,EAAE,oBAAoB,CAAC,EAAC;;;KAC1D;IAEK,6CAAY,GAAlB,UACE,KAAiB,EACjB,kBAA0B,EAC1B,OAAc,EACd,QAA4C,EAC5C,EAAO;;;;;;wBAEP,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,sBAAO;yBACR;wBAEK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAW,CAAC;wBAC/C,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAE,EAAE,CAAC;wBAGhC,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;wBAEpD,WAA4B,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;4BAAnB,MAAM;4BACT,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAsB,CAAC;4BAClE,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gCACxC,SAAS;6BACV;4BAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gCAC1C,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;6BAC3C;4BACD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;yBAC5D;wBAGK,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;wBACtD,OAAO,CAAC,GAAG,CAAC,6BAAsB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAE,CAAC,CAAC;8BACvB,EAAP,mBAAO;;;6BAAP,CAAA,qBAAO,CAAA;wBAA3B,kBAAgB,EAAf,SAAS,QAAA,EAAE,GAAG,QAAA;6BACpB,CAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA,EAAd,wBAAc;wBACV,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;wBACvC,EAAE,GAAG,IAAI,yCAAmB,EAAE;6BACjC,eAAe,CAAC,cAAc,CAAC;6BAC/B,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1D,qBAAM,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;;;wBANjB,IAAO,CAAA;;;;;;KASvC;IACH,6BAAC;AAAD,CAAC,AAzFD,CAA8D,YAAY,GAyFzE;AAzFY,wDAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC;;;;;;;;;;GAUG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,wBAAwB;IAIjE,MAAM,EAAE,MAAM;IACd,GAAG,CAAC;IACJ,OAAO,CAAC;IALV,cAAc,SAAyB;gBAGrC,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,oBAAQ,EACZ,OAAO,CAAC,eAAG;IAGpB,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAItF,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUnC,WAAW,IAAI,CAAC,GAAG,SAAS;IAI5B,GAAG,CAAC,MAAM,EAAE,CAAC;CAId"}
1
+ {"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAKnC;;;;;;;;;;GAUG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,wBAAwB;IAIjE,MAAM,EAAE,MAAM;IACd,GAAG,CAAC;IACJ,OAAO,CAAC;IALV,cAAc,SAAyB;gBAGrC,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,oBAAQ,EACZ,OAAO,CAAC,eAAG;IAGpB,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAItF,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAmBnC,WAAW,IAAI,CAAC,GAAG,SAAS;IAW5B,GAAG,CAAC,MAAM,EAAE,CAAC;CAId"}
@@ -40,6 +40,7 @@ exports.Reference = void 0;
40
40
  var Db_1 = require("../Db");
41
41
  var Table_1 = require("../Table");
42
42
  var ReferenceSerializer_1 = require("../serializers/ReferenceSerializer");
43
+ var ReferenceCache_1 = require("./ReferenceCache");
43
44
  /**
44
45
  * The object returned by Db functions for each field of type ReferenceColumn in a record.
45
46
  * The reason for this is to make loading of reference records on-demand. For theoretically
@@ -63,11 +64,19 @@ var Reference = /** @class */ (function () {
63
64
  };
64
65
  Reference.prototype.get = function () {
65
66
  return __awaiter(this, void 0, void 0, function () {
66
- var table, db, _a;
67
+ var cachedObject, table, db, _a;
67
68
  return __generator(this, function (_b) {
68
69
  switch (_b.label) {
69
70
  case 0:
70
71
  if (!(!this._object && this._id)) return [3 /*break*/, 2];
72
+ cachedObject = ReferenceCache_1.ReferenceCache.get().get(this._table, this._id);
73
+ if (cachedObject) {
74
+ /**
75
+ * We don't want to cache this reference in `this._object` in case the reference
76
+ * is replaced in `ReferenceCache`.
77
+ */
78
+ return [2 /*return*/, cachedObject];
79
+ }
71
80
  table = (0, Table_1.tableByName)(this._table);
72
81
  db = (0, Db_1.getDb)();
73
82
  _a = this;
@@ -81,6 +90,12 @@ var Reference = /** @class */ (function () {
81
90
  });
82
91
  };
83
92
  Reference.prototype.getIfExists = function () {
93
+ if (!this._object && this._id) {
94
+ var cachedObject = ReferenceCache_1.ReferenceCache.get().get(this._table, this._id);
95
+ if (cachedObject) {
96
+ return cachedObject;
97
+ }
98
+ }
84
99
  return this._object;
85
100
  };
86
101
  Reference.prototype.set = function (object) {
@@ -1 +1 @@
1
- {"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4BAA8B;AAE9B,kCAAuC;AACvC,0EAA2E;AAE3E;;;;;;;;;;GAUG;AACH;IAGE,mBACS,MAAc,EACd,GAAY,EACZ,OAAW;QAFX,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAS;QACZ,YAAO,GAAP,OAAO,CAAI;QALb,mBAAc,GAAG,2CAAqB,CAAC;IAM3C,CAAC;IAEG,oBAAU,GAAjB,UAAoC,KAAa,EAAE,MAAyC;QAC1F,OAAO,IAAI,SAAS,CAAI,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAW,CAAC,CAAC;IACzD,CAAC;IAEK,uBAAG,GAAT;;;;;;6BACM,CAAA,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAA,EAAzB,wBAAyB;wBACrB,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjC,EAAE,GAAG,IAAA,UAAK,GAAE,CAAC;wBACnB,KAAA,IAAI,CAAA;wBAAW,qBAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAApD,GAAK,OAAO,GAAG,SAAqC,CAAC;;4BAGvD,sBAAO,IAAI,CAAC,OAAO,EAAC;;;;KACrB;IAED,+BAAW,GAAX;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,uBAAG,GAAH,UAAI,MAAS;QACX,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC;IACH,gBAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,8BAAS"}
1
+ {"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../../src/reference/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4BAA8B;AAE9B,kCAAuC;AACvC,0EAA2E;AAC3E,mDAAkD;AAElD;;;;;;;;;;GAUG;AACH;IAGE,mBACS,MAAc,EACd,GAAY,EACZ,OAAW;QAFX,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAS;QACZ,YAAO,GAAP,OAAO,CAAI;QALb,mBAAc,GAAG,2CAAqB,CAAC;IAM3C,CAAC;IAEG,oBAAU,GAAjB,UAAoC,KAAa,EAAE,MAAyC;QAC1F,OAAO,IAAI,SAAS,CAAI,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAW,CAAC,CAAC;IACzD,CAAC;IAEK,uBAAG,GAAT;;;;;;6BACM,CAAA,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAA,EAAzB,wBAAyB;wBACrB,YAAY,GAAG,+BAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxE,IAAI,YAAY,EAAE;4BAChB;;;+BAGG;4BACH,sBAAO,YAAY,EAAC;yBACrB;wBAEK,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjC,EAAE,GAAG,IAAA,UAAK,GAAE,CAAC;wBACnB,KAAA,IAAI,CAAA;wBAAW,qBAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAApD,GAAK,OAAO,GAAG,SAAqC,CAAC;;4BAGvD,sBAAO,IAAI,CAAC,OAAO,EAAC;;;;KACrB;IAED,+BAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;YAC7B,IAAM,YAAY,GAAG,+BAAc,CAAC,GAAG,EAAE,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,YAAY,EAAE;gBAChB,OAAO,YAAY,CAAC;aACrB;SACF;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,uBAAG,GAAH,UAAI,MAAS;QACX,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC;IACH,gBAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,8BAAS"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * A way to cache referenced objects. Cached objects are consumed within `Reference`.
3
+ *
4
+ * A common way to use this would be to cache shared reference data on the client. Without
5
+ * this, reference data would be unique per `Reference` object, since `Reference.get` fetches
6
+ * a new instance of an object over the wire.
7
+ */
8
+ export declare class ReferenceCache {
9
+ private cache;
10
+ /**
11
+ * Returns the singleton instance of ReferenceCache
12
+ *
13
+ * @returns The global ReferenceCache instance
14
+ */
15
+ static get(): ReferenceCache;
16
+ /**
17
+ * Returns the global object based on environment
18
+ *
19
+ * @returns The global object (window in browser, globalThis elsewhere)
20
+ */
21
+ private static getGlobal;
22
+ /**
23
+ * Gets a record from the cache for a specific table by ID
24
+ *
25
+ * @param table Name of the table containing the record
26
+ * @param id ID of the record to retrieve
27
+ * @returns The cached record or undefined if not found
28
+ */
29
+ get<T>(table: string, id: string): T | undefined;
30
+ /**
31
+ * Sets a single record in the cache
32
+ *
33
+ * @param table Name of the table to add the record to
34
+ * @param id ID of the record
35
+ * @param record The record data to store
36
+ */
37
+ set(table: string, id: string, record: any): void;
38
+ /**
39
+ * Ensures a table exists in the cache
40
+ *
41
+ * @param table Name of the table to initialize if needed
42
+ */
43
+ private ensureTableExists;
44
+ /**
45
+ * Clears all cached records for a specific table
46
+ *
47
+ * @param table Name of the table to clear from cache
48
+ */
49
+ clearTable(table: string): void;
50
+ /**
51
+ * Sets multiple records for a specific table at once
52
+ *
53
+ * @param table Name of the table to add records to
54
+ * @param records Either an array of records or an object mapping record IDs to their values
55
+ */
56
+ setMultiple<T extends {
57
+ [key: string]: any;
58
+ } & {
59
+ id: string;
60
+ }>(table: string, records: T[] | {
61
+ [id: string]: T;
62
+ }): void;
63
+ /**
64
+ * Reloads a table by clearing it and then setting the provided records
65
+ *
66
+ * @param table Name of the table to reload
67
+ * @param records Either an array of records or an object mapping record IDs to their values
68
+ */
69
+ reloadTable<T extends {
70
+ [key: string]: any;
71
+ } & {
72
+ id: string;
73
+ }>(table: string, records: T[] | {
74
+ [id: string]: T;
75
+ }): void;
76
+ }
77
+ //# sourceMappingURL=ReferenceCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceCache.d.ts","sourceRoot":"","sources":["../../../src/reference/ReferenceCache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAkD;IAE/D;;;;OAIG;IACH,MAAM,CAAC,GAAG,IAAI,cAAc;IAQ5B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAQxB;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIhD;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAKjD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM/B;;;;;OAKG;IACH,WAAW,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAC3D,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,EAAE,GAAG;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE,GACjC,IAAI;IAgBP;;;;;OAKG;IACH,WAAW,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAC3D,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,EAAE,GAAG;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE,GACjC,IAAI;CAIR"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReferenceCache = void 0;
4
+ /**
5
+ * A way to cache referenced objects. Cached objects are consumed within `Reference`.
6
+ *
7
+ * A common way to use this would be to cache shared reference data on the client. Without
8
+ * this, reference data would be unique per `Reference` object, since `Reference.get` fetches
9
+ * a new instance of an object over the wire.
10
+ */
11
+ var ReferenceCache = /** @class */ (function () {
12
+ function ReferenceCache() {
13
+ this.cache = {};
14
+ }
15
+ /**
16
+ * Returns the singleton instance of ReferenceCache
17
+ *
18
+ * @returns The global ReferenceCache instance
19
+ */
20
+ ReferenceCache.get = function () {
21
+ if (!ReferenceCache.getGlobal().__proteinjs_db_ReferenceCache) {
22
+ ReferenceCache.getGlobal().__proteinjs_db_ReferenceCache = new ReferenceCache();
23
+ }
24
+ return ReferenceCache.getGlobal().__proteinjs_db_ReferenceCache;
25
+ };
26
+ /**
27
+ * Returns the global object based on environment
28
+ *
29
+ * @returns The global object (window in browser, globalThis elsewhere)
30
+ */
31
+ ReferenceCache.getGlobal = function () {
32
+ if (typeof window !== 'undefined') {
33
+ return window;
34
+ }
35
+ return globalThis;
36
+ };
37
+ /**
38
+ * Gets a record from the cache for a specific table by ID
39
+ *
40
+ * @param table Name of the table containing the record
41
+ * @param id ID of the record to retrieve
42
+ * @returns The cached record or undefined if not found
43
+ */
44
+ ReferenceCache.prototype.get = function (table, id) {
45
+ var _a;
46
+ return (_a = this.cache[table]) === null || _a === void 0 ? void 0 : _a[id];
47
+ };
48
+ /**
49
+ * Sets a single record in the cache
50
+ *
51
+ * @param table Name of the table to add the record to
52
+ * @param id ID of the record
53
+ * @param record The record data to store
54
+ */
55
+ ReferenceCache.prototype.set = function (table, id, record) {
56
+ this.ensureTableExists(table);
57
+ this.cache[table][id] = record;
58
+ };
59
+ /**
60
+ * Ensures a table exists in the cache
61
+ *
62
+ * @param table Name of the table to initialize if needed
63
+ */
64
+ ReferenceCache.prototype.ensureTableExists = function (table) {
65
+ if (!this.cache[table]) {
66
+ this.cache[table] = {};
67
+ }
68
+ };
69
+ /**
70
+ * Clears all cached records for a specific table
71
+ *
72
+ * @param table Name of the table to clear from cache
73
+ */
74
+ ReferenceCache.prototype.clearTable = function (table) {
75
+ if (this.cache[table]) {
76
+ delete this.cache[table];
77
+ }
78
+ };
79
+ /**
80
+ * Sets multiple records for a specific table at once
81
+ *
82
+ * @param table Name of the table to add records to
83
+ * @param records Either an array of records or an object mapping record IDs to their values
84
+ */
85
+ ReferenceCache.prototype.setMultiple = function (table, records) {
86
+ this.ensureTableExists(table);
87
+ if (Array.isArray(records)) {
88
+ // Handle array input
89
+ for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {
90
+ var record = records_1[_i];
91
+ this.cache[table][record.id] = record;
92
+ }
93
+ }
94
+ else {
95
+ // Handle map/object input
96
+ for (var _a = 0, _b = Object.entries(records); _a < _b.length; _a++) {
97
+ var _c = _b[_a], id = _c[0], record = _c[1];
98
+ this.cache[table][id] = record;
99
+ }
100
+ }
101
+ };
102
+ /**
103
+ * Reloads a table by clearing it and then setting the provided records
104
+ *
105
+ * @param table Name of the table to reload
106
+ * @param records Either an array of records or an object mapping record IDs to their values
107
+ */
108
+ ReferenceCache.prototype.reloadTable = function (table, records) {
109
+ this.clearTable(table);
110
+ this.setMultiple(table, records);
111
+ };
112
+ return ReferenceCache;
113
+ }());
114
+ exports.ReferenceCache = ReferenceCache;
115
+ //# sourceMappingURL=ReferenceCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceCache.js","sourceRoot":"","sources":["../../../src/reference/ReferenceCache.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH;IAAA;QACU,UAAK,GAA+C,EAAE,CAAC;IA+GjE,CAAC;IA7GC;;;;OAIG;IACI,kBAAG,GAAV;QACE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,6BAA6B,EAAE;YAC7D,cAAc,CAAC,SAAS,EAAE,CAAC,6BAA6B,GAAG,IAAI,cAAc,EAAE,CAAC;SACjF;QAED,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,6BAA6B,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACY,wBAAS,GAAxB;QACE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,OAAO,MAAM,CAAC;SACf;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,4BAAG,GAAH,UAAO,KAAa,EAAE,EAAU;;QAC9B,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAG,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,4BAAG,GAAH,UAAI,KAAa,EAAE,EAAU,EAAE,MAAW;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACK,0CAAiB,GAAzB,UAA0B,KAAa;QACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SACxB;IACH,CAAC;IAED;;;;OAIG;IACH,mCAAU,GAAV,UAAW,KAAa;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAED;;;;;OAKG;IACH,oCAAW,GAAX,UACE,KAAa,EACb,OAAkC;QAElC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,qBAAqB;YACrB,KAAqB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;gBAAzB,IAAM,MAAM,gBAAA;gBACf,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;aACvC;SACF;aAAM;YACL,0BAA0B;YAC1B,KAA2B,UAAuB,EAAvB,KAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;gBAAzC,IAAA,WAAY,EAAX,EAAE,QAAA,EAAE,MAAM,QAAA;gBACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;aAChC;SACF;IACH,CAAC;IAED;;;;;OAKG;IACH,oCAAW,GAAX,UACE,KAAa,EACb,OAAkC;QAElC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACH,qBAAC;AAAD,CAAC,AAhHD,IAgHC;AAhHY,wCAAc"}
package/index.ts CHANGED
@@ -5,6 +5,7 @@ export * from './src/Columns';
5
5
  export * from './src/Record';
6
6
  export * from './src/reference/ReferenceArray';
7
7
  export * from './src/reference/Reference';
8
+ export * from './src/reference/ReferenceCache';
8
9
  export * from './src/RecordIterator';
9
10
  export * from './src/source/SourceRecord';
10
11
  export * from './src/QueryBuilderFactory';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/db",
3
- "version": "1.14.0",
3
+ "version": "1.14.2",
4
4
  "description": "Db",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -22,19 +22,19 @@
22
22
  "test": "jest"
23
23
  },
24
24
  "dependencies": {
25
- "@proteinjs/db-query": "^1.2.9",
26
- "@proteinjs/logger": "1.0.6",
27
- "@proteinjs/reflection": "1.1.9",
28
- "@proteinjs/serializer": "1.0.15",
29
- "@proteinjs/server-api": "1.5.0",
30
- "@proteinjs/service": "1.2.0",
31
- "@proteinjs/user-auth": "1.1.1",
32
- "@proteinjs/util": "1.4.1",
25
+ "@proteinjs/db-query": "^1.2.10",
26
+ "@proteinjs/logger": "1.0.7",
27
+ "@proteinjs/reflection": "1.1.10",
28
+ "@proteinjs/serializer": "1.0.16",
29
+ "@proteinjs/server-api": "1.5.1",
30
+ "@proteinjs/service": "1.2.1",
31
+ "@proteinjs/user-auth": "1.1.2",
32
+ "@proteinjs/util": "1.5.0",
33
33
  "moment": "2.29.4",
34
34
  "uuid": "8.3.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@proteinjs/reflection-build": "1.0.24",
37
+ "@proteinjs/reflection-build": "1.0.25",
38
38
  "@types/jest": "29.5.5",
39
39
  "@types/node": "14.0.27",
40
40
  "@types/uuid": "8.3.0",
@@ -49,5 +49,5 @@
49
49
  },
50
50
  "main": "./dist/generated/index.js",
51
51
  "types": "./dist/generated/index.d.ts",
52
- "gitHead": "434222687efceed3c6fad25b19ac527d311c20c1"
52
+ "gitHead": "fb17395df02a72b70b76c64b66275622fe257a8a"
53
53
  }
package/src/Columns.ts CHANGED
@@ -6,6 +6,7 @@ import { ReferenceArray } from './reference/ReferenceArray';
6
6
  import { Db } from './Db';
7
7
  import { Reference } from './reference/Reference';
8
8
  import { QueryBuilderFactory } from './QueryBuilderFactory';
9
+ import { Serializer } from '@proteinjs/serializer';
9
10
 
10
11
  export class IntegerColumn implements Column<number, number> {
11
12
  constructor(
@@ -166,7 +167,7 @@ export class ObjectColumn<T> extends StringColumn<T> {
166
167
  options
167
168
  ),
168
169
  'MAX'
169
- ); // MAX is 4gb
170
+ );
170
171
  }
171
172
 
172
173
  async serialize(fieldValue: T | null | undefined): Promise<string | null> {
@@ -174,7 +175,7 @@ export class ObjectColumn<T> extends StringColumn<T> {
174
175
  return null;
175
176
  }
176
177
 
177
- return JSON.stringify(fieldValue);
178
+ return Serializer.serialize(fieldValue);
178
179
  }
179
180
 
180
181
  async deserialize(serializedFieldValue: string): Promise<T | null> {
@@ -182,7 +183,7 @@ export class ObjectColumn<T> extends StringColumn<T> {
182
183
  return null;
183
184
  }
184
185
 
185
- return JSON.parse(serializedFieldValue);
186
+ return Serializer.deserialize(serializedFieldValue);
186
187
  }
187
188
  }
188
189
 
@@ -3,6 +3,7 @@ import { getDb } from '../Db';
3
3
  import { Record } from '../Record';
4
4
  import { tableByName } from '../Table';
5
5
  import { ReferenceSerializerId } from '../serializers/ReferenceSerializer';
6
+ import { ReferenceCache } from './ReferenceCache';
6
7
 
7
8
  /**
8
9
  * The object returned by Db functions for each field of type ReferenceColumn in a record.
@@ -30,6 +31,15 @@ export class Reference<T extends Record> implements CustomSerializableObject {
30
31
 
31
32
  async get(): Promise<T | undefined> {
32
33
  if (!this._object && this._id) {
34
+ const cachedObject = ReferenceCache.get().get<T>(this._table, this._id);
35
+ if (cachedObject) {
36
+ /**
37
+ * We don't want to cache this reference in `this._object` in case the reference
38
+ * is replaced in `ReferenceCache`.
39
+ */
40
+ return cachedObject;
41
+ }
42
+
33
43
  const table = tableByName(this._table);
34
44
  const db = getDb();
35
45
  this._object = await db.get(table, { id: this._id });
@@ -39,6 +49,13 @@ export class Reference<T extends Record> implements CustomSerializableObject {
39
49
  }
40
50
 
41
51
  getIfExists(): T | undefined {
52
+ if (!this._object && this._id) {
53
+ const cachedObject = ReferenceCache.get().get<T>(this._table, this._id);
54
+ if (cachedObject) {
55
+ return cachedObject;
56
+ }
57
+ }
58
+
42
59
  return this._object;
43
60
  }
44
61
 
@@ -0,0 +1,120 @@
1
+ /**
2
+ * A way to cache referenced objects. Cached objects are consumed within `Reference`.
3
+ *
4
+ * A common way to use this would be to cache shared reference data on the client. Without
5
+ * this, reference data would be unique per `Reference` object, since `Reference.get` fetches
6
+ * a new instance of an object over the wire.
7
+ */
8
+ export class ReferenceCache {
9
+ private cache: { [table: string]: { [id: string]: any } } = {};
10
+
11
+ /**
12
+ * Returns the singleton instance of ReferenceCache
13
+ *
14
+ * @returns The global ReferenceCache instance
15
+ */
16
+ static get(): ReferenceCache {
17
+ if (!ReferenceCache.getGlobal().__proteinjs_db_ReferenceCache) {
18
+ ReferenceCache.getGlobal().__proteinjs_db_ReferenceCache = new ReferenceCache();
19
+ }
20
+
21
+ return ReferenceCache.getGlobal().__proteinjs_db_ReferenceCache;
22
+ }
23
+
24
+ /**
25
+ * Returns the global object based on environment
26
+ *
27
+ * @returns The global object (window in browser, globalThis elsewhere)
28
+ */
29
+ private static getGlobal(): any {
30
+ if (typeof window !== 'undefined') {
31
+ return window;
32
+ }
33
+
34
+ return globalThis;
35
+ }
36
+
37
+ /**
38
+ * Gets a record from the cache for a specific table by ID
39
+ *
40
+ * @param table Name of the table containing the record
41
+ * @param id ID of the record to retrieve
42
+ * @returns The cached record or undefined if not found
43
+ */
44
+ get<T>(table: string, id: string): T | undefined {
45
+ return this.cache[table]?.[id];
46
+ }
47
+
48
+ /**
49
+ * Sets a single record in the cache
50
+ *
51
+ * @param table Name of the table to add the record to
52
+ * @param id ID of the record
53
+ * @param record The record data to store
54
+ */
55
+ set(table: string, id: string, record: any): void {
56
+ this.ensureTableExists(table);
57
+ this.cache[table][id] = record;
58
+ }
59
+
60
+ /**
61
+ * Ensures a table exists in the cache
62
+ *
63
+ * @param table Name of the table to initialize if needed
64
+ */
65
+ private ensureTableExists(table: string): void {
66
+ if (!this.cache[table]) {
67
+ this.cache[table] = {};
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Clears all cached records for a specific table
73
+ *
74
+ * @param table Name of the table to clear from cache
75
+ */
76
+ clearTable(table: string): void {
77
+ if (this.cache[table]) {
78
+ delete this.cache[table];
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Sets multiple records for a specific table at once
84
+ *
85
+ * @param table Name of the table to add records to
86
+ * @param records Either an array of records or an object mapping record IDs to their values
87
+ */
88
+ setMultiple<T extends { [key: string]: any } & { id: string }>(
89
+ table: string,
90
+ records: T[] | { [id: string]: T }
91
+ ): void {
92
+ this.ensureTableExists(table);
93
+
94
+ if (Array.isArray(records)) {
95
+ // Handle array input
96
+ for (const record of records) {
97
+ this.cache[table][record.id] = record;
98
+ }
99
+ } else {
100
+ // Handle map/object input
101
+ for (const [id, record] of Object.entries(records)) {
102
+ this.cache[table][id] = record;
103
+ }
104
+ }
105
+ }
106
+
107
+ /**
108
+ * Reloads a table by clearing it and then setting the provided records
109
+ *
110
+ * @param table Name of the table to reload
111
+ * @param records Either an array of records or an object mapping record IDs to their values
112
+ */
113
+ reloadTable<T extends { [key: string]: any } & { id: string }>(
114
+ table: string,
115
+ records: T[] | { [id: string]: T }
116
+ ): void {
117
+ this.clearTable(table);
118
+ this.setMultiple(table, records);
119
+ }
120
+ }