entropic-bond 1.38.0 → 1.38.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/lib/store/store.d.ts
CHANGED
|
@@ -16,7 +16,13 @@ export declare class Store {
|
|
|
16
16
|
* @returns the model for the subcollection
|
|
17
17
|
*/
|
|
18
18
|
static getModelForSubCollection<T extends Persistent>(document: Persistent, subCollection: string): Model<T>;
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Populates property references with actual data from the store.
|
|
21
|
+
* It will not retrieve data if the instance is already populated
|
|
22
|
+
* @param instance the data to be populated.
|
|
23
|
+
* @returns the populated instance
|
|
24
|
+
*/
|
|
25
|
+
static populate<T extends Persistent | Persistent[]>(instance: T): Promise<T>;
|
|
20
26
|
static isPopulated<T extends Persistent>(instance: T | readonly T[]): boolean;
|
|
21
27
|
private static _dataSource;
|
|
22
28
|
}
|
package/lib/store/store.js
CHANGED
|
@@ -35,6 +35,12 @@ class Store {
|
|
|
35
35
|
throw new Error(this.error.shouldBeRegistered);
|
|
36
36
|
return new model_1.Model(Store._dataSource, document, subCollection);
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Populates property references with actual data from the store.
|
|
40
|
+
* It will not retrieve data if the instance is already populated
|
|
41
|
+
* @param instance the data to be populated.
|
|
42
|
+
* @returns the populated instance
|
|
43
|
+
*/
|
|
38
44
|
static populate(instance) {
|
|
39
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
46
|
if (!instance)
|
|
@@ -51,8 +57,7 @@ class Store {
|
|
|
51
57
|
return populated;
|
|
52
58
|
});
|
|
53
59
|
if (Array.isArray(instance)) {
|
|
54
|
-
const
|
|
55
|
-
const items = yield Promise.all(promises);
|
|
60
|
+
const items = yield Promise.all(instance.map(item => populateItem(item)));
|
|
56
61
|
return items.filter(item => item);
|
|
57
62
|
}
|
|
58
63
|
else {
|
package/lib/store/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,mCAAgC;AAEhC,MAAa,KAAK;IACjB,gBAAsB,CAAC;IAIvB,MAAM,CAAC,aAAa,CAAE,UAAsB;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,MAAM,KAAK,UAAU;QACpB,OAAO,KAAK,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAyB,OAAmB;QAC1D,IAAK,CAAC,KAAK,CAAC,WAAW;YAAG,MAAM,IAAI,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAE,CAAA;QAC1E,OAAO,IAAI,aAAK,CAAK,KAAK,CAAC,WAAW,EAAE,OAAO,CAAE,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAyB,QAAoB,EAAE,aAAqB;QAClG,IAAK,CAAC,KAAK,CAAC,WAAW;YAAG,MAAM,IAAI,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAE,CAAA;QAC1E,OAAO,IAAI,aAAK,CAAK,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAE,CAAA;IAClE,CAAC;IAED,MAAM,CAAO,QAAQ,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,mCAAgC;AAEhC,MAAa,KAAK;IACjB,gBAAsB,CAAC;IAIvB,MAAM,CAAC,aAAa,CAAE,UAAsB;QAC3C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,MAAM,KAAK,UAAU;QACpB,OAAO,KAAK,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAyB,OAAmB;QAC1D,IAAK,CAAC,KAAK,CAAC,WAAW;YAAG,MAAM,IAAI,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAE,CAAA;QAC1E,OAAO,IAAI,aAAK,CAAK,KAAK,CAAC,WAAW,EAAE,OAAO,CAAE,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAyB,QAAoB,EAAE,aAAqB;QAClG,IAAK,CAAC,KAAK,CAAC,WAAW;YAAG,MAAM,IAAI,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAE,CAAA;QAC1E,OAAO,IAAI,aAAK,CAAK,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAE,CAAA;IAClE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAO,QAAQ,CAAuC,QAAW;;YACtE,IAAK,CAAC,QAAQ;gBAAG,OAAM;YAEvB,MAAM,YAAY,GAAG,CAAQ,IAAgB,EAAG,EAAE;gBACjD,MAAM,GAAG,GAAsB,IAAW,CAAA;gBAC1C,IAAK,CAAC,GAAG,CAAC,mBAAmB;oBAAG,OAAO,IAAI,CAAA;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAE,GAAG,CAAC,mBAAmB,CAAC,kBAAkB,CAAE,CAAA;gBAEzE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAE,CAAA;gBACtD,IAAK,SAAS,EAAG;oBAChB,SAAS,CAAC,qBAAqB,CAAE,GAAG,SAAS,CAAA;iBAC7C;gBACD,OAAO,SAAS,CAAA;YACjB,CAAC,CAAA,CAAA;YAED,IAAK,KAAK,CAAC,OAAO,CAAE,QAAQ,CAAE,EAAG;gBAChC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,QAAQ,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,YAAY,CAAE,IAAI,CAAE,CAAE,CAC5C,CAAA;gBACD,OAAO,KAAK,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAO,CAAA;aACxC;iBACI;gBACJ,OAAO,YAAY,CAAE,QAAQ,CAAgB,CAAA;aAC7C;QACF,CAAC;KAAA;IAED,MAAM,CAAC,WAAW,CAAyB,QAA0B;QAEpE,IAAK,KAAK,CAAC,OAAO,CAAE,QAAQ,CAAE,EAAG;YAChC,OAAO,QAAQ,CAAC,MAAM,CACrB,CAAE,OAAO,EAAE,IAAI,EAAG,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,SAAS,EACzE,IAAI,CACJ,CAAA;SACD;aACI;YACJ,OAAO,QAAQ,CAAC,qBAAqB,CAAC,KAAK,SAAS,CAAA;SACpD;IACF,CAAC;;AAxEF,sBA2EC;AAxEO,WAAK,GAAG,EAAE,kBAAkB,EAAE,gEAAgE,EAAE,CAAA"}
|
package/lib/store/store.spec.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
const json_data_source_1 = require("./json-data-source");
|
|
13
|
+
const test_user_1 = require("./mocks/test-user");
|
|
4
14
|
const store_1 = require("./store");
|
|
5
15
|
describe('Store', () => {
|
|
6
16
|
it('should throw if not registered data source', () => {
|
|
@@ -11,5 +21,10 @@ describe('Store', () => {
|
|
|
11
21
|
expect(() => store_1.Store.getModel('')).not.toThrow(store_1.Store.error.shouldBeRegistered);
|
|
12
22
|
expect(store_1.Store.dataSource).toBeInstanceOf(json_data_source_1.JsonDataSource);
|
|
13
23
|
});
|
|
24
|
+
it('should return the proper type when populating', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
const populatedArray = yield store_1.Store.populate([new test_user_1.TestUser()]);
|
|
26
|
+
const populatedInstance = yield store_1.Store.populate(new test_user_1.TestUser());
|
|
27
|
+
expect(true).toBeTruthy();
|
|
28
|
+
}));
|
|
14
29
|
});
|
|
15
30
|
//# sourceMappingURL=store.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.spec.js","sourceRoot":"","sources":["../../src/store/store.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.spec.js","sourceRoot":"","sources":["../../src/store/store.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yDAAmD;AACnD,iDAA4C;AAC5C,mCAA+B;AAG/B,QAAQ,CAAE,OAAO,EAAE,GAAE,EAAE;IACtB,EAAE,CAAE,4CAA4C,EAAE,GAAE,EAAE;QACrD,MAAM,CACL,GAAE,EAAE,CAAA,aAAK,CAAC,QAAQ,CAAE,EAAE,CAAE,CACxB,CAAC,OAAO,CAAE,aAAK,CAAC,KAAK,CAAC,kBAAkB,CAAE,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,iDAAiD,EAAE,GAAE,EAAE;QAC1D,aAAK,CAAC,aAAa,CAAE,IAAI,iCAAc,EAAE,CAAE,CAAA;QAE3C,MAAM,CAAE,GAAE,EAAE,CAAA,aAAK,CAAC,QAAQ,CAAE,EAAE,CAAE,CAAE,CAAC,GAAG,CAAC,OAAO,CAAE,aAAK,CAAC,KAAK,CAAC,kBAAkB,CAAE,CAAA;QAChF,MAAM,CAAE,aAAK,CAAC,UAAU,CAAE,CAAC,cAAc,CAAE,iCAAc,CAAE,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,+CAA+C,EAAE,GAAQ,EAAE;QAC9D,MAAM,cAAc,GAAG,MAAM,aAAK,CAAC,QAAQ,CAAC,CAAE,IAAI,oBAAQ,EAAE,CAAE,CAAC,CAAA;QAC/D,MAAM,iBAAiB,GAAG,MAAM,aAAK,CAAC,QAAQ,CAAE,IAAI,oBAAQ,EAAE,CAAE,CAAA;QAMhE,MAAM,CAAE,IAAI,CAAE,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC,CAAA,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|