entropic-bond 1.49.0 → 1.50.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/auth/auth-mock.spec.d.ts +1 -0
- package/lib/cloud-functions/cloud-functions-mock.spec.d.ts +1 -0
- package/lib/cloud-storage/cloud-storage.spec.d.ts +1 -0
- package/lib/entropic-bond.js +1667 -0
- package/lib/entropic-bond.umd.cjs +7 -0
- package/lib/observable/observable.spec.d.ts +1 -0
- package/lib/persistent/entropic-component.spec.d.ts +1 -0
- package/lib/persistent/persistent.spec.d.ts +67 -0
- package/lib/server-auth/server-auth-mock.spec.d.ts +1 -0
- package/lib/store/json-data-source.spec.d.ts +1 -0
- package/lib/store/model.spec.d.ts +1 -0
- package/lib/store/store.spec.d.ts +1 -0
- package/lib/types/utility-types.spec.d.ts +1 -0
- package/lib/utils/utils.spec.d.ts +1 -0
- package/package.json +26 -19
- package/lib/auth/auth-mock.js +0 -111
- package/lib/auth/auth-mock.js.map +0 -1
- package/lib/auth/auth.js +0 -149
- package/lib/auth/auth.js.map +0 -1
- package/lib/auth/user-auth-types.js +0 -3
- package/lib/auth/user-auth-types.js.map +0 -1
- package/lib/cloud-functions/cloud-functions-mock.js +0 -19
- package/lib/cloud-functions/cloud-functions-mock.js.map +0 -1
- package/lib/cloud-functions/cloud-functions.js +0 -64
- package/lib/cloud-functions/cloud-functions.js.map +0 -1
- package/lib/cloud-storage/cloud-storage.js +0 -37
- package/lib/cloud-storage/cloud-storage.js.map +0 -1
- package/lib/cloud-storage/mock-cloud-storage.js +0 -68
- package/lib/cloud-storage/mock-cloud-storage.js.map +0 -1
- package/lib/cloud-storage/stored-file.js +0 -106
- package/lib/cloud-storage/stored-file.js.map +0 -1
- package/lib/index.js +0 -36
- package/lib/index.js.map +0 -1
- package/lib/observable/observable.js +0 -66
- package/lib/observable/observable.js.map +0 -1
- package/lib/persistent/entropic-component.js +0 -109
- package/lib/persistent/entropic-component.js.map +0 -1
- package/lib/persistent/persistent.js +0 -539
- package/lib/persistent/persistent.js.map +0 -1
- package/lib/server-auth/server-auth-mock.js +0 -39
- package/lib/server-auth/server-auth-mock.js.map +0 -1
- package/lib/server-auth/server-auth.js +0 -36
- package/lib/server-auth/server-auth.js.map +0 -1
- package/lib/store/data-source.js +0 -62
- package/lib/store/data-source.js.map +0 -1
- package/lib/store/json-data-source.js +0 -199
- package/lib/store/json-data-source.js.map +0 -1
- package/lib/store/mocks/test-user.js +0 -135
- package/lib/store/mocks/test-user.js.map +0 -1
- package/lib/store/model.js +0 -417
- package/lib/store/model.js.map +0 -1
- package/lib/store/store.js +0 -102
- package/lib/store/store.js.map +0 -1
- package/lib/types/utility-types.js +0 -3
- package/lib/types/utility-types.js.map +0 -1
- package/lib/utils/test-utils/test-person.js +0 -25
- package/lib/utils/test-utils/test-person.js.map +0 -1
- package/lib/utils/utils.js +0 -76
- package/lib/utils/utils.js.map +0 -1
package/lib/store/data-source.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataSource = void 0;
|
|
4
|
-
const persistent_1 = require("../persistent/persistent");
|
|
5
|
-
/**
|
|
6
|
-
* The data source interface.
|
|
7
|
-
* It defines the methods that must be implemented by a data source
|
|
8
|
-
* A data source is able to retrieve and save data i.e: from a database, a file, a RestAPI, etc.
|
|
9
|
-
* You can derive from this class to implement your own data source with the
|
|
10
|
-
* A data source is used by the store to retrieve and save data.
|
|
11
|
-
*/
|
|
12
|
-
class DataSource {
|
|
13
|
-
/**
|
|
14
|
-
* Utility method to convert a query object to a property path query object
|
|
15
|
-
*
|
|
16
|
-
* @param queryObject the query object to be converted
|
|
17
|
-
* @returns a property path query object
|
|
18
|
-
* @example
|
|
19
|
-
* const queryObject = {
|
|
20
|
-
* operations: [{ property: 'name', operator: '==', value: { ancestorName: { father: 'Felipe' }}]
|
|
21
|
-
* }
|
|
22
|
-
* const propPathQueryObject = DataSource.toPropertyPathQueryObject( queryObject )
|
|
23
|
-
* // returned value: [{ property: 'name.ancestorName.father', operator: '==', value: 'Felipe' }]
|
|
24
|
-
*/
|
|
25
|
-
static toPropertyPathOperations(operations) {
|
|
26
|
-
if (!operations)
|
|
27
|
-
return [];
|
|
28
|
-
return operations.map(operation => {
|
|
29
|
-
if (DataSource.isArrayOperator(operation.operator) && operation.value[0] instanceof persistent_1.Persistent) {
|
|
30
|
-
return {
|
|
31
|
-
property: persistent_1.Persistent.searchableArrayNameFor(operation.property),
|
|
32
|
-
operator: operation.operator,
|
|
33
|
-
value: operation.value.map(v => v.id),
|
|
34
|
-
aggregate: operation.aggregate
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
const [path, value] = this.toPropertyPathValue(operation.value);
|
|
38
|
-
const propPath = `${String(operation.property)}${path ? '.' + path : ''}`;
|
|
39
|
-
return {
|
|
40
|
-
property: propPath,
|
|
41
|
-
operator: operation.operator,
|
|
42
|
-
value,
|
|
43
|
-
aggregate: operation.aggregate
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
static isArrayOperator(operator) {
|
|
48
|
-
return operator === 'containsAny' || operator === 'contains'; //|| operator === 'in' || operator === '!in'
|
|
49
|
-
}
|
|
50
|
-
static toPropertyPathValue(obj) {
|
|
51
|
-
if (typeof obj === 'object' && !Array.isArray(obj)) {
|
|
52
|
-
const propName = Object.keys(obj)[0];
|
|
53
|
-
const [propPath, value] = this.toPropertyPathValue(obj[propName]);
|
|
54
|
-
return [`${propName}${propPath ? '.' + propPath : ''}`, value];
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
return [undefined, obj];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
exports.DataSource = DataSource;
|
|
62
|
-
//# sourceMappingURL=data-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-source.js","sourceRoot":"","sources":["../../src/store/data-source.ts"],"names":[],"mappings":";;;AAAA,yDAAoF;AA0DpF;;;;;;GAMG;AACH,MAAsB,UAAU;IAmE/B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAAwB,UAA+B;QACrF,IAAK,CAAC,UAAU;YAAG,OAAO,EAAE,CAAA;QAE5B,OAAO,UAAU,CAAC,GAAG,CAAE,SAAS,CAAC,EAAE;YAElC,IAAK,UAAU,CAAC,eAAe,CAAE,SAAS,CAAC,QAAQ,CAAE,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,uBAAU,EAAG;gBACnG,OAAO;oBACN,QAAQ,EAAE,uBAAU,CAAC,sBAAsB,CAAE,SAAS,CAAC,QAAkB,CAAE;oBAC3E,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAI,SAAS,CAAC,KAAkC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAS;oBAC7E,SAAS,EAAE,SAAS,CAAC,SAAS;iBACT,CAAA;aACtB;YAED,MAAM,CAAE,IAAI,EAAE,KAAK,CAAE,GAAG,IAAI,CAAC,mBAAmB,CAAE,SAAS,CAAC,KAAK,CAAE,CAAA;YACnE,MAAM,QAAQ,GAAG,GAAI,MAAM,CAAE,SAAS,CAAC,QAAQ,CAAG,GAAI,IAAI,CAAA,CAAC,CAAC,GAAG,GAAC,IAAI,CAAC,CAAC,CAAC,EAAG,EAAE,CAAA;YAE5E,OAAO;gBACN,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,KAAK;gBACL,SAAS,EAAE,SAAS,CAAC,SAAS;aACT,CAAA;QACvB,CAAC,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CAAE,QAAuB;QAC9C,OAAO,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAA,CAAC,8CAA8C;IAC5G,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAE,GAAO;QAC1C,IAAK,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,GAAG,CAAE,EAAG;YACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC,CAAC,CAAE,CAAA;YACvC,MAAM,CAAE,QAAQ,EAAE,KAAK,CAAE,GAAG,IAAI,CAAC,mBAAmB,CAAE,GAAG,CAAE,QAAQ,CAAE,CAAE,CAAA;YACvE,OAAO,CAAE,GAAI,QAAS,GAAI,QAAQ,CAAA,CAAC,CAAC,GAAG,GAAC,QAAQ,CAAC,CAAC,CAAC,EAAG,EAAE,EAAE,KAAK,CAAE,CAAA;SACjE;aACI;YACJ,OAAO,CAAE,SAAS,EAAE,GAAG,CAAE,CAAA;SACzB;IAEF,CAAC;CACD;AAxHD,gCAwHC"}
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JsonDataSource = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* A concrete implementation of the DataSource interface uses an in-memory data store
|
|
6
|
-
* initialized by a JSON object.
|
|
7
|
-
* It is useful for testing purposes.
|
|
8
|
-
* The data in the JSON object is not persisted.
|
|
9
|
-
*/
|
|
10
|
-
class JsonDataSource {
|
|
11
|
-
/**
|
|
12
|
-
* @param jsonRawData the JSON object to be used as data store
|
|
13
|
-
*/
|
|
14
|
-
constructor(jsonRawData) {
|
|
15
|
-
this._jsonRawData = {};
|
|
16
|
-
this._lastMatchingDocs = [];
|
|
17
|
-
this._lastLimit = 0;
|
|
18
|
-
this._cursor = 0;
|
|
19
|
-
this._simulateDelay = 0;
|
|
20
|
-
this._pendingPromises = [];
|
|
21
|
-
if (jsonRawData)
|
|
22
|
-
this._jsonRawData = jsonRawData;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Set the JSON object to initialize the data store. Use to set the it after
|
|
26
|
-
* the constructor has been called.
|
|
27
|
-
* @param jsonRawData the JSON object to be used as data store
|
|
28
|
-
*/
|
|
29
|
-
setDataStore(rawDataStore) {
|
|
30
|
-
this._jsonRawData = rawDataStore;
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Introduce a delay in the execution of operations to simulate a real data source
|
|
35
|
-
* @param miliSeconds the number of milliseconds to delay the execution of operations
|
|
36
|
-
* @returns a chainable reference to this object
|
|
37
|
-
*/
|
|
38
|
-
simulateDelay(miliSeconds) {
|
|
39
|
-
this._simulateDelay = miliSeconds;
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
findById(id, collectionName) {
|
|
43
|
-
if (this._simulateError?.findById)
|
|
44
|
-
throw new Error(this._simulateError.findById);
|
|
45
|
-
return this.resolveWithDelay(this._jsonRawData[collectionName]?.[id]);
|
|
46
|
-
}
|
|
47
|
-
save(collections) {
|
|
48
|
-
if (this._simulateError?.store)
|
|
49
|
-
throw new Error(this._simulateError.store);
|
|
50
|
-
Object.entries(collections).forEach(([collectionName, collection]) => {
|
|
51
|
-
if (!this._jsonRawData[collectionName])
|
|
52
|
-
this._jsonRawData[collectionName] = {};
|
|
53
|
-
collection?.forEach(document => {
|
|
54
|
-
this._jsonRawData[collectionName][document.id] = document;
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
return this.resolveWithDelay();
|
|
58
|
-
}
|
|
59
|
-
find(queryObject, collectionName) {
|
|
60
|
-
if (this._simulateError?.find)
|
|
61
|
-
throw new Error(this._simulateError.find);
|
|
62
|
-
const rawDataArray = Object.values(this._jsonRawData[collectionName] || {});
|
|
63
|
-
if (!queryObject)
|
|
64
|
-
return this.resolveWithDelay(rawDataArray);
|
|
65
|
-
this._lastLimit = queryObject.limit || 0;
|
|
66
|
-
this._cursor = 0;
|
|
67
|
-
this._lastMatchingDocs = Object.entries(queryObject).reduce((prevDocs, [processMethod, value]) => {
|
|
68
|
-
return this.queryProcessor(prevDocs, processMethod, value);
|
|
69
|
-
}, Object.values(rawDataArray));
|
|
70
|
-
return this.resolveWithDelay(this._lastMatchingDocs.slice(0, queryObject.limit));
|
|
71
|
-
}
|
|
72
|
-
delete(id, collectionName) {
|
|
73
|
-
if (this._simulateError?.delete)
|
|
74
|
-
throw new Error(this._simulateError.delete);
|
|
75
|
-
delete this._jsonRawData[collectionName][id];
|
|
76
|
-
return this.resolveWithDelay();
|
|
77
|
-
}
|
|
78
|
-
next(limit) {
|
|
79
|
-
if (limit)
|
|
80
|
-
this._lastLimit = limit;
|
|
81
|
-
this.incCursor(this._lastLimit);
|
|
82
|
-
return this.resolveWithDelay(this._lastMatchingDocs.slice(this._cursor, this._cursor + this._lastLimit));
|
|
83
|
-
}
|
|
84
|
-
count(queryObject, collectionName) {
|
|
85
|
-
return this.resolveWithDelay(Object.keys(this._jsonRawData[collectionName] ?? {}).length);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* @returns the raw data store data as a JSON object
|
|
89
|
-
*/
|
|
90
|
-
get rawData() {
|
|
91
|
-
return this._jsonRawData;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Wait for all pending promises to be resolved
|
|
95
|
-
* @returns a promise that resolves when all pending promises are resolved
|
|
96
|
-
*/
|
|
97
|
-
wait() {
|
|
98
|
-
return Promise.all([...this._pendingPromises]);
|
|
99
|
-
}
|
|
100
|
-
incCursor(amount) {
|
|
101
|
-
this._cursor += amount;
|
|
102
|
-
if (this._cursor > this._lastMatchingDocs.length) {
|
|
103
|
-
this._cursor = this._lastMatchingDocs.length;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
simulateError(error) {
|
|
107
|
-
if (error === undefined) {
|
|
108
|
-
this._simulateError = undefined;
|
|
109
|
-
return this;
|
|
110
|
-
}
|
|
111
|
-
if (typeof error === 'string') {
|
|
112
|
-
this._simulateError = {
|
|
113
|
-
store: error,
|
|
114
|
-
find: error,
|
|
115
|
-
findById: error,
|
|
116
|
-
delete: error
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
else
|
|
120
|
-
this._simulateError = error;
|
|
121
|
-
return this;
|
|
122
|
-
}
|
|
123
|
-
decCursor(amount) {
|
|
124
|
-
this._cursor -= amount;
|
|
125
|
-
if (this._cursor < 0) {
|
|
126
|
-
this._cursor = 0;
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
queryProcessor(docs, processMethod, value) {
|
|
132
|
-
const processors = {
|
|
133
|
-
limit: (limit) => docs,
|
|
134
|
-
operations: (operations) => this.retrieveQueryDocs(docs, operations),
|
|
135
|
-
sort: ({ order, propertyName }) => docs.sort((a, b) => {
|
|
136
|
-
if (order === 'asc') {
|
|
137
|
-
return this.deepValue(a, propertyName) > this.deepValue(b, propertyName) ? 1 : -1;
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
return this.deepValue(a, propertyName) < this.deepValue(b, propertyName) ? 1 : -1;
|
|
141
|
-
}
|
|
142
|
-
})
|
|
143
|
-
};
|
|
144
|
-
return processors[processMethod](value);
|
|
145
|
-
}
|
|
146
|
-
retrieveQueryDocs(docs, queryOperations) {
|
|
147
|
-
return queryOperations.reduce((prevDocs, queryOperation, i) => {
|
|
148
|
-
if (queryOperation.aggregate) {
|
|
149
|
-
const aggregate = docs.filter(doc => this.isQueryMatched(doc, queryOperation));
|
|
150
|
-
if (i === 0)
|
|
151
|
-
return aggregate;
|
|
152
|
-
else
|
|
153
|
-
return prevDocs.concat(aggregate);
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
return prevDocs.filter(doc => this.isQueryMatched(doc, queryOperation));
|
|
157
|
-
}
|
|
158
|
-
}, docs);
|
|
159
|
-
}
|
|
160
|
-
deepValue(obj, propertyPath /*like person.name.firstName*/) {
|
|
161
|
-
const propChain = propertyPath.split('.');
|
|
162
|
-
return propChain.reduce((value, prop) => value[prop], obj);
|
|
163
|
-
}
|
|
164
|
-
isQueryMatched(doc, queryOperation) {
|
|
165
|
-
const queryOperator = {
|
|
166
|
-
'==': (a, b) => a === b,
|
|
167
|
-
'!=': (a, b) => a !== b,
|
|
168
|
-
'<': (a, b) => a < b,
|
|
169
|
-
'<=': (a, b) => a <= b,
|
|
170
|
-
'>': (a, b) => a > b,
|
|
171
|
-
'>=': (a, b) => a >= b,
|
|
172
|
-
'containsAny': (a, b) => a?.some(v => b?.includes(v)),
|
|
173
|
-
'contains': (a, b) => a?.includes(b),
|
|
174
|
-
};
|
|
175
|
-
const { property, value, operator } = queryOperation;
|
|
176
|
-
const [propValue, v] = this.retrieveValuesToCompare(doc, property, value);
|
|
177
|
-
return queryOperator[operator](propValue, v);
|
|
178
|
-
}
|
|
179
|
-
retrieveValuesToCompare(doc, propertyName, value) {
|
|
180
|
-
const propertyValue = doc[propertyName];
|
|
181
|
-
if (propertyValue && typeof value === 'object' && !Array.isArray(value)) {
|
|
182
|
-
const propName = Object.keys(value)[0];
|
|
183
|
-
var [propVal, val] = this.retrieveValuesToCompare(propertyValue, propName, value?.[propName]);
|
|
184
|
-
}
|
|
185
|
-
return [propVal || propertyValue, val || value];
|
|
186
|
-
}
|
|
187
|
-
resolveWithDelay(data) {
|
|
188
|
-
if (this._simulateDelay <= 0)
|
|
189
|
-
return Promise.resolve(data);
|
|
190
|
-
const promise = new Promise(resolve => {
|
|
191
|
-
setTimeout(() => resolve(data), this._simulateDelay);
|
|
192
|
-
});
|
|
193
|
-
this._pendingPromises.push(promise);
|
|
194
|
-
promise.finally(() => this._pendingPromises = this._pendingPromises.filter(p => p === promise));
|
|
195
|
-
return promise;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
exports.JsonDataSource = JsonDataSource;
|
|
199
|
-
//# sourceMappingURL=json-data-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-data-source.js","sourceRoot":"","sources":["../../src/store/json-data-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.DerivedUser = exports.TestUser = exports.SubClass = void 0;
|
|
10
|
-
const persistent_1 = require("../../persistent/persistent");
|
|
11
|
-
let SubClass = class SubClass extends persistent_1.Persistent {
|
|
12
|
-
set year(value) {
|
|
13
|
-
this._year = value;
|
|
14
|
-
}
|
|
15
|
-
get year() {
|
|
16
|
-
return this._year;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
exports.SubClass = SubClass;
|
|
20
|
-
__decorate([
|
|
21
|
-
persistent_1.persistent
|
|
22
|
-
], SubClass.prototype, "_year", void 0);
|
|
23
|
-
exports.SubClass = SubClass = __decorate([
|
|
24
|
-
(0, persistent_1.registerPersistentClass)('SubClass')
|
|
25
|
-
], SubClass);
|
|
26
|
-
let TestUser = class TestUser extends persistent_1.Persistent {
|
|
27
|
-
constructor() {
|
|
28
|
-
super(...arguments);
|
|
29
|
-
this._colleagues = [];
|
|
30
|
-
this._manyRefs = [];
|
|
31
|
-
this._manyDerived = [];
|
|
32
|
-
}
|
|
33
|
-
set name(value) {
|
|
34
|
-
this._name = value;
|
|
35
|
-
}
|
|
36
|
-
get name() {
|
|
37
|
-
return this._name;
|
|
38
|
-
}
|
|
39
|
-
set age(value) {
|
|
40
|
-
this._age = value;
|
|
41
|
-
}
|
|
42
|
-
get age() {
|
|
43
|
-
return this._age;
|
|
44
|
-
}
|
|
45
|
-
set admin(value) {
|
|
46
|
-
this._admin = value;
|
|
47
|
-
}
|
|
48
|
-
get admin() {
|
|
49
|
-
return this._admin;
|
|
50
|
-
}
|
|
51
|
-
set skills(value) {
|
|
52
|
-
this._skills = value;
|
|
53
|
-
}
|
|
54
|
-
get skills() {
|
|
55
|
-
return this._skills;
|
|
56
|
-
}
|
|
57
|
-
set documentRef(value) {
|
|
58
|
-
this._documentRef = value;
|
|
59
|
-
}
|
|
60
|
-
get documentRef() {
|
|
61
|
-
return this._documentRef;
|
|
62
|
-
}
|
|
63
|
-
set manyRefs(value) {
|
|
64
|
-
this._manyRefs = value;
|
|
65
|
-
}
|
|
66
|
-
get manyRefs() {
|
|
67
|
-
return this._manyRefs;
|
|
68
|
-
}
|
|
69
|
-
set derived(value) {
|
|
70
|
-
this._derived = value;
|
|
71
|
-
}
|
|
72
|
-
get derived() {
|
|
73
|
-
return this._derived;
|
|
74
|
-
}
|
|
75
|
-
set manyDerived(value) {
|
|
76
|
-
this._manyDerived = value;
|
|
77
|
-
}
|
|
78
|
-
get manyDerived() {
|
|
79
|
-
return this._manyDerived;
|
|
80
|
-
}
|
|
81
|
-
set colleagues(value) {
|
|
82
|
-
this._colleagues = value;
|
|
83
|
-
}
|
|
84
|
-
get colleagues() {
|
|
85
|
-
return this._colleagues;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
exports.TestUser = TestUser;
|
|
89
|
-
__decorate([
|
|
90
|
-
persistent_1.persistent,
|
|
91
|
-
persistent_1.searchableArray
|
|
92
|
-
], TestUser.prototype, "_colleagues", void 0);
|
|
93
|
-
__decorate([
|
|
94
|
-
persistent_1.persistent
|
|
95
|
-
], TestUser.prototype, "_name", void 0);
|
|
96
|
-
__decorate([
|
|
97
|
-
persistent_1.persistent
|
|
98
|
-
], TestUser.prototype, "_age", void 0);
|
|
99
|
-
__decorate([
|
|
100
|
-
persistent_1.persistent
|
|
101
|
-
], TestUser.prototype, "_admin", void 0);
|
|
102
|
-
__decorate([
|
|
103
|
-
persistent_1.persistent
|
|
104
|
-
], TestUser.prototype, "_skills", void 0);
|
|
105
|
-
__decorate([
|
|
106
|
-
persistent_1.persistentReference
|
|
107
|
-
], TestUser.prototype, "_documentRef", void 0);
|
|
108
|
-
__decorate([
|
|
109
|
-
persistent_1.persistentReference
|
|
110
|
-
], TestUser.prototype, "_manyRefs", void 0);
|
|
111
|
-
__decorate([
|
|
112
|
-
(0, persistent_1.persistentReferenceAt)('TestUser')
|
|
113
|
-
], TestUser.prototype, "_derived", void 0);
|
|
114
|
-
__decorate([
|
|
115
|
-
(0, persistent_1.persistentReferenceAt)('TestUser')
|
|
116
|
-
], TestUser.prototype, "_manyDerived", void 0);
|
|
117
|
-
exports.TestUser = TestUser = __decorate([
|
|
118
|
-
(0, persistent_1.registerPersistentClass)('TestUser')
|
|
119
|
-
], TestUser);
|
|
120
|
-
let DerivedUser = class DerivedUser extends TestUser {
|
|
121
|
-
set salary(value) {
|
|
122
|
-
this._salary = value;
|
|
123
|
-
}
|
|
124
|
-
get salary() {
|
|
125
|
-
return this._salary;
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
exports.DerivedUser = DerivedUser;
|
|
129
|
-
__decorate([
|
|
130
|
-
persistent_1.persistent
|
|
131
|
-
], DerivedUser.prototype, "_salary", void 0);
|
|
132
|
-
exports.DerivedUser = DerivedUser = __decorate([
|
|
133
|
-
(0, persistent_1.registerPersistentClass)('DerivedUser')
|
|
134
|
-
], DerivedUser);
|
|
135
|
-
//# sourceMappingURL=test-user.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-user.js","sourceRoot":"","sources":["../../../src/store/mocks/test-user.ts"],"names":[],"mappings":"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"}
|