@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 +11 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/Columns.d.ts.map +1 -1
- package/dist/src/Columns.js +3 -2
- package/dist/src/Columns.js.map +1 -1
- package/dist/src/reference/Reference.d.ts.map +1 -1
- package/dist/src/reference/Reference.js +16 -1
- package/dist/src/reference/Reference.js.map +1 -1
- package/dist/src/reference/ReferenceCache.d.ts +77 -0
- package/dist/src/reference/ReferenceCache.d.ts.map +1 -0
- package/dist/src/reference/ReferenceCache.js +115 -0
- package/dist/src/reference/ReferenceCache.js.map +1 -0
- package/index.ts +1 -0
- package/package.json +11 -11
- package/src/Columns.ts +4 -3
- package/src/reference/Reference.ts +17 -0
- package/src/reference/ReferenceCache.ts +120 -0
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAyB,KAAK,EAAe,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Columns.d.ts","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Columns.js
CHANGED
|
@@ -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*/,
|
|
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*/,
|
|
256
|
+
return [2 /*return*/, serializer_1.Serializer.deserialize(serializedFieldValue)];
|
|
256
257
|
});
|
|
257
258
|
});
|
|
258
259
|
};
|
package/dist/src/Columns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;AAE5D;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,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC;;;KACnC;IAEK,kCAAW,GAAjB,UAAkB,oBAA4B;;;gBAC5C,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,IAAI,IAAI,EAAE;oBACtE,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAC;;;KACzC;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
|
+
{"version":3,"file":"Columns.js","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;
|
|
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.
|
|
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.
|
|
26
|
-
"@proteinjs/logger": "1.0.
|
|
27
|
-
"@proteinjs/reflection": "1.1.
|
|
28
|
-
"@proteinjs/serializer": "1.0.
|
|
29
|
-
"@proteinjs/server-api": "1.5.
|
|
30
|
-
"@proteinjs/service": "1.2.
|
|
31
|
-
"@proteinjs/user-auth": "1.1.
|
|
32
|
-
"@proteinjs/util": "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.
|
|
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": "
|
|
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
|
-
);
|
|
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
|
|
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
|
|
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
|
+
}
|