@uql/core 0.4.89 → 0.4.92

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.
Files changed (44) hide show
  1. package/README.md +35 -35
  2. package/package.json +4 -4
  3. package/dialect/abstractSqlDialect-spec.d.ts +0 -49
  4. package/dialect/abstractSqlDialect-spec.js +0 -765
  5. package/dialect/mysqlDialect.spec.d.ts +0 -6
  6. package/dialect/mysqlDialect.spec.js +0 -33
  7. package/dialect/postgresDialect.spec.d.ts +0 -1
  8. package/dialect/postgresDialect.spec.js +0 -139
  9. package/dialect/sqliteDialect.spec.d.ts +0 -1
  10. package/dialect/sqliteDialect.spec.js +0 -12
  11. package/entity/decorator/definition.spec.d.ts +0 -1
  12. package/entity/decorator/definition.spec.js +0 -725
  13. package/entity/decorator/relation.spec.d.ts +0 -1
  14. package/entity/decorator/relation.spec.js +0 -55
  15. package/options.spec.d.ts +0 -1
  16. package/options.spec.js +0 -27
  17. package/querier/abstractQuerier-it.d.ts +0 -41
  18. package/querier/abstractQuerier-it.js +0 -410
  19. package/querier/abstractSqlQuerier-it.d.ts +0 -9
  20. package/querier/abstractSqlQuerier-it.js +0 -19
  21. package/querier/abstractSqlQuerier-spec.d.ts +0 -53
  22. package/querier/abstractSqlQuerier-spec.js +0 -607
  23. package/querier/decorator/injectQuerier.spec.d.ts +0 -1
  24. package/querier/decorator/injectQuerier.spec.js +0 -108
  25. package/querier/decorator/transactional.spec.d.ts +0 -1
  26. package/querier/decorator/transactional.spec.js +0 -239
  27. package/repository/genericRepository.spec.d.ts +0 -1
  28. package/repository/genericRepository.spec.js +0 -86
  29. package/test/entityMock.d.ts +0 -180
  30. package/test/entityMock.js +0 -451
  31. package/test/index.d.ts +0 -3
  32. package/test/index.js +0 -7
  33. package/test/it.util.d.ts +0 -4
  34. package/test/it.util.js +0 -60
  35. package/test/spec.util.d.ts +0 -13
  36. package/test/spec.util.js +0 -54
  37. package/util/dialect.util.spec.d.ts +0 -1
  38. package/util/dialect.util.spec.js +0 -23
  39. package/util/object.util.spec.d.ts +0 -1
  40. package/util/object.util.spec.js +0 -26
  41. package/util/sql.util.spec.d.ts +0 -1
  42. package/util/sql.util.spec.js +0 -164
  43. package/util/string.util.spec.d.ts +0 -1
  44. package/util/string.util.spec.js +0 -26
@@ -1,180 +0,0 @@
1
- import { idKey } from '@uql/core/type';
2
- /**
3
- * interfaces can (optionally) be used to avoid circular-reference issue between entities.
4
- */
5
- export interface IEntity {
6
- id?: number;
7
- companyId?: number;
8
- company?: ICompany;
9
- creatorId?: number;
10
- creator?: IUser;
11
- createdAt?: number;
12
- updatedAt?: number;
13
- }
14
- interface ICompany extends IEntity {
15
- name?: string;
16
- description?: string;
17
- }
18
- interface IUser extends IEntity {
19
- name?: string;
20
- email?: string;
21
- password?: string;
22
- profile?: Profile;
23
- }
24
- /**
25
- * an abstract class can (optionally) be used as a "template" for the entities
26
- * (so the common attributes' declaration is reused).
27
- */
28
- export declare abstract class BaseEntity implements IEntity {
29
- id?: number;
30
- /**
31
- * foreign-keys are really simple to specify
32
- */
33
- companyId?: number;
34
- company?: ICompany;
35
- creatorId?: number;
36
- creator?: IUser;
37
- /**
38
- * 'onInsert' callback can be used to specify a custom mechanism for
39
- * obtaining the value of a field when inserting:
40
- */
41
- createdAt?: number;
42
- /**
43
- * 'onUpdate' callback can be used to specify a custom mechanism for
44
- * obtaining the value of a field when updating:
45
- */
46
- updatedAt?: number;
47
- }
48
- /**
49
- * `Company` will inherit all the fields (including the `Id`) declared in `BaseEntity`.
50
- */
51
- export declare class Company extends BaseEntity implements ICompany {
52
- name?: string;
53
- description?: string;
54
- }
55
- /**
56
- * and entity can specify the table name
57
- */
58
- export declare class Profile extends BaseEntity {
59
- /**
60
- * an entity can specify its own ID Field and still inherit the others
61
- * columns/relations from its parent entity.
62
- * 'onInsert' callback can be used to specify a custom mechanism for
63
- * auto-generating the primary-key's value when inserting.
64
- */
65
- id?: number;
66
- picture?: string;
67
- creator?: IUser;
68
- }
69
- export declare class User extends BaseEntity implements IUser {
70
- name?: string;
71
- email?: string;
72
- password?: string;
73
- /**
74
- * `mappedBy` can be a callback or a string (callback is useful for auto-refactoring).
75
- */
76
- profile?: Profile;
77
- users?: User[];
78
- }
79
- export declare class LedgerAccount extends BaseEntity {
80
- name?: string;
81
- description?: string;
82
- parentLedgerId?: number;
83
- parentLedger?: LedgerAccount;
84
- }
85
- export declare class TaxCategory extends BaseEntity {
86
- /**
87
- * `idKey` symbol can be used to specify the name of the identifier property,
88
- * so the type of the identifier can always be type-safe
89
- * (the identifiers named as `id` or `_id` are auto-inferred).
90
- */
91
- [idKey]?: 'pk';
92
- /**
93
- * an entity can specify its own ID Field and still inherit the others
94
- * columns/relations from its parent entity.
95
- * 'onInsert' callback can be used to specify a custom mechanism for
96
- * auto-generating the primary-key's value when inserting.
97
- */
98
- pk?: string;
99
- name?: string;
100
- description?: string;
101
- }
102
- export declare class Test {
103
- name?: string;
104
- percentage?: number;
105
- categoryId?: string;
106
- category?: TaxCategory;
107
- description?: string;
108
- }
109
- export declare class Tax extends BaseEntity {
110
- name?: string;
111
- percentage?: number;
112
- categoryId?: string;
113
- category?: TaxCategory;
114
- description?: string;
115
- }
116
- /**
117
- * `softDelete` will make the entity "soft deletable".
118
- */
119
- export declare class MeasureUnitCategory extends BaseEntity {
120
- name?: string;
121
- measureUnits?: MeasureUnit[];
122
- /**
123
- * `onDelete` callback allows to specify which field will be used when deleting/querying this entity.
124
- */
125
- deletedAt?: number;
126
- }
127
- export declare class MeasureUnit extends BaseEntity {
128
- name?: string;
129
- categoryId?: number;
130
- category?: MeasureUnitCategory;
131
- deletedAt?: number;
132
- }
133
- export declare class Storehouse extends BaseEntity {
134
- name?: string;
135
- address?: string;
136
- description?: string;
137
- }
138
- export declare class Item extends BaseEntity {
139
- name?: string;
140
- description?: string;
141
- code?: string;
142
- buyLedgerAccountId?: number;
143
- buyLedgerAccount?: LedgerAccount;
144
- saleLedgerAccountId?: number;
145
- saleLedgerAccount?: LedgerAccount;
146
- taxId?: number;
147
- tax?: Tax;
148
- measureUnitId?: number;
149
- measureUnit?: MeasureUnit;
150
- salePrice?: number;
151
- inventoryable?: boolean;
152
- tags?: Tag[];
153
- tagsCount?: number;
154
- }
155
- export declare class Tag extends BaseEntity {
156
- name?: string;
157
- items?: Item[];
158
- itemsCount?: number;
159
- }
160
- export declare class ItemTag {
161
- id?: number;
162
- itemId?: number;
163
- tagId?: number;
164
- }
165
- export declare class InventoryAdjustment extends BaseEntity {
166
- itemAdjustments?: ItemAdjustment[];
167
- date?: Date;
168
- description?: string;
169
- }
170
- export declare class ItemAdjustment extends BaseEntity {
171
- itemId?: number;
172
- item?: Item;
173
- number?: number;
174
- buyPrice?: number;
175
- storehouseId?: number;
176
- storehouse?: Storehouse;
177
- inventoryAdjustmentId?: number;
178
- inventoryAdjustment?: InventoryAdjustment;
179
- }
180
- export {};
@@ -1,451 +0,0 @@
1
- "use strict";
2
- var User_1, LedgerAccount_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ItemAdjustment = exports.InventoryAdjustment = exports.ItemTag = exports.Tag = exports.Item = exports.Storehouse = exports.MeasureUnit = exports.MeasureUnitCategory = exports.Tax = exports.Test = exports.TaxCategory = exports.LedgerAccount = exports.User = exports.Profile = exports.Company = exports.BaseEntity = void 0;
5
- const tslib_1 = require("tslib");
6
- const uuid_1 = require("uuid");
7
- const entity_1 = require("@uql/core/entity");
8
- const util_1 = require("@uql/core/util");
9
- const type_1 = require("@uql/core/type");
10
- /**
11
- * an abstract class can (optionally) be used as a "template" for the entities
12
- * (so the common attributes' declaration is reused).
13
- */
14
- class BaseEntity {
15
- }
16
- tslib_1.__decorate([
17
- (0, entity_1.Id)(),
18
- tslib_1.__metadata("design:type", Number)
19
- ], BaseEntity.prototype, "id", void 0);
20
- tslib_1.__decorate([
21
- (0, entity_1.Field)({ reference: () => Company }),
22
- tslib_1.__metadata("design:type", Number)
23
- ], BaseEntity.prototype, "companyId", void 0);
24
- tslib_1.__decorate([
25
- (0, entity_1.ManyToOne)({ entity: () => Company }),
26
- tslib_1.__metadata("design:type", Object)
27
- ], BaseEntity.prototype, "company", void 0);
28
- tslib_1.__decorate([
29
- (0, entity_1.Field)({ reference: () => User }),
30
- tslib_1.__metadata("design:type", Number)
31
- ], BaseEntity.prototype, "creatorId", void 0);
32
- tslib_1.__decorate([
33
- (0, entity_1.ManyToOne)({ entity: () => User }),
34
- tslib_1.__metadata("design:type", Object)
35
- ], BaseEntity.prototype, "creator", void 0);
36
- tslib_1.__decorate([
37
- (0, entity_1.Field)({ onInsert: () => Date.now() }),
38
- tslib_1.__metadata("design:type", Number)
39
- ], BaseEntity.prototype, "createdAt", void 0);
40
- tslib_1.__decorate([
41
- (0, entity_1.Field)({ onUpdate: () => Date.now() }),
42
- tslib_1.__metadata("design:type", Number)
43
- ], BaseEntity.prototype, "updatedAt", void 0);
44
- exports.BaseEntity = BaseEntity;
45
- /**
46
- * `Company` will inherit all the fields (including the `Id`) declared in `BaseEntity`.
47
- */
48
- let Company = class Company extends BaseEntity {
49
- };
50
- tslib_1.__decorate([
51
- (0, entity_1.Field)(),
52
- tslib_1.__metadata("design:type", String)
53
- ], Company.prototype, "name", void 0);
54
- tslib_1.__decorate([
55
- (0, entity_1.Field)(),
56
- tslib_1.__metadata("design:type", String)
57
- ], Company.prototype, "description", void 0);
58
- Company = tslib_1.__decorate([
59
- (0, entity_1.Entity)()
60
- ], Company);
61
- exports.Company = Company;
62
- /**
63
- * and entity can specify the table name
64
- */
65
- let Profile = class Profile extends BaseEntity {
66
- };
67
- tslib_1.__decorate([
68
- (0, entity_1.Id)({ name: 'pk' }),
69
- tslib_1.__metadata("design:type", Number)
70
- ], Profile.prototype, "id", void 0);
71
- tslib_1.__decorate([
72
- (0, entity_1.Field)({ name: 'image' }),
73
- tslib_1.__metadata("design:type", String)
74
- ], Profile.prototype, "picture", void 0);
75
- tslib_1.__decorate([
76
- (0, entity_1.OneToOne)({ entity: () => User }),
77
- tslib_1.__metadata("design:type", Object)
78
- ], Profile.prototype, "creator", void 0);
79
- Profile = tslib_1.__decorate([
80
- (0, entity_1.Entity)({ name: 'user_profile' })
81
- ], Profile);
82
- exports.Profile = Profile;
83
- let User = User_1 = class User extends BaseEntity {
84
- };
85
- tslib_1.__decorate([
86
- (0, entity_1.Field)(),
87
- tslib_1.__metadata("design:type", String)
88
- ], User.prototype, "name", void 0);
89
- tslib_1.__decorate([
90
- (0, entity_1.Field)(),
91
- tslib_1.__metadata("design:type", String)
92
- ], User.prototype, "email", void 0);
93
- tslib_1.__decorate([
94
- (0, entity_1.Field)(),
95
- tslib_1.__metadata("design:type", String)
96
- ], User.prototype, "password", void 0);
97
- tslib_1.__decorate([
98
- (0, entity_1.OneToOne)({ entity: () => Profile, mappedBy: (profile) => profile.creator, cascade: true }),
99
- tslib_1.__metadata("design:type", Profile)
100
- ], User.prototype, "profile", void 0);
101
- tslib_1.__decorate([
102
- (0, entity_1.OneToMany)({ entity: () => User_1, mappedBy: 'creator' }),
103
- tslib_1.__metadata("design:type", Array)
104
- ], User.prototype, "users", void 0);
105
- User = User_1 = tslib_1.__decorate([
106
- (0, entity_1.Entity)()
107
- ], User);
108
- exports.User = User;
109
- let LedgerAccount = LedgerAccount_1 = class LedgerAccount extends BaseEntity {
110
- };
111
- tslib_1.__decorate([
112
- (0, entity_1.Field)(),
113
- tslib_1.__metadata("design:type", String)
114
- ], LedgerAccount.prototype, "name", void 0);
115
- tslib_1.__decorate([
116
- (0, entity_1.Field)(),
117
- tslib_1.__metadata("design:type", String)
118
- ], LedgerAccount.prototype, "description", void 0);
119
- tslib_1.__decorate([
120
- (0, entity_1.Field)({ reference: () => LedgerAccount_1 }),
121
- tslib_1.__metadata("design:type", Number)
122
- ], LedgerAccount.prototype, "parentLedgerId", void 0);
123
- tslib_1.__decorate([
124
- (0, entity_1.ManyToOne)(),
125
- tslib_1.__metadata("design:type", LedgerAccount)
126
- ], LedgerAccount.prototype, "parentLedger", void 0);
127
- LedgerAccount = LedgerAccount_1 = tslib_1.__decorate([
128
- (0, entity_1.Entity)()
129
- ], LedgerAccount);
130
- exports.LedgerAccount = LedgerAccount;
131
- let TaxCategory = class TaxCategory extends BaseEntity {
132
- };
133
- tslib_1.__decorate([
134
- (0, entity_1.Id)({ onInsert: uuid_1.v4 }),
135
- tslib_1.__metadata("design:type", String)
136
- ], TaxCategory.prototype, "pk", void 0);
137
- tslib_1.__decorate([
138
- (0, entity_1.Field)(),
139
- tslib_1.__metadata("design:type", String)
140
- ], TaxCategory.prototype, "name", void 0);
141
- tslib_1.__decorate([
142
- (0, entity_1.Field)(),
143
- tslib_1.__metadata("design:type", String)
144
- ], TaxCategory.prototype, "description", void 0);
145
- TaxCategory = tslib_1.__decorate([
146
- (0, entity_1.Entity)()
147
- ], TaxCategory);
148
- exports.TaxCategory = TaxCategory;
149
- class Test {
150
- }
151
- tslib_1.__decorate([
152
- (0, entity_1.Field)(),
153
- tslib_1.__metadata("design:type", String)
154
- ], Test.prototype, "name", void 0);
155
- tslib_1.__decorate([
156
- (0, entity_1.Field)(),
157
- tslib_1.__metadata("design:type", Number)
158
- ], Test.prototype, "percentage", void 0);
159
- tslib_1.__decorate([
160
- (0, entity_1.Field)({ reference: () => TaxCategory }),
161
- tslib_1.__metadata("design:type", String)
162
- ], Test.prototype, "categoryId", void 0);
163
- tslib_1.__decorate([
164
- (0, entity_1.ManyToOne)(),
165
- tslib_1.__metadata("design:type", TaxCategory)
166
- ], Test.prototype, "category", void 0);
167
- tslib_1.__decorate([
168
- (0, entity_1.Field)(),
169
- tslib_1.__metadata("design:type", String)
170
- ], Test.prototype, "description", void 0);
171
- exports.Test = Test;
172
- let Tax = class Tax extends BaseEntity {
173
- };
174
- tslib_1.__decorate([
175
- (0, entity_1.Field)(),
176
- tslib_1.__metadata("design:type", String)
177
- ], Tax.prototype, "name", void 0);
178
- tslib_1.__decorate([
179
- (0, entity_1.Field)(),
180
- tslib_1.__metadata("design:type", Number)
181
- ], Tax.prototype, "percentage", void 0);
182
- tslib_1.__decorate([
183
- (0, entity_1.Field)({ reference: () => TaxCategory }),
184
- tslib_1.__metadata("design:type", String)
185
- ], Tax.prototype, "categoryId", void 0);
186
- tslib_1.__decorate([
187
- (0, entity_1.ManyToOne)(),
188
- tslib_1.__metadata("design:type", TaxCategory)
189
- ], Tax.prototype, "category", void 0);
190
- tslib_1.__decorate([
191
- (0, entity_1.Field)(),
192
- tslib_1.__metadata("design:type", String)
193
- ], Tax.prototype, "description", void 0);
194
- Tax = tslib_1.__decorate([
195
- (0, entity_1.Entity)()
196
- ], Tax);
197
- exports.Tax = Tax;
198
- /**
199
- * `softDelete` will make the entity "soft deletable".
200
- */
201
- let MeasureUnitCategory = class MeasureUnitCategory extends BaseEntity {
202
- };
203
- tslib_1.__decorate([
204
- (0, entity_1.Field)(),
205
- tslib_1.__metadata("design:type", String)
206
- ], MeasureUnitCategory.prototype, "name", void 0);
207
- tslib_1.__decorate([
208
- (0, entity_1.OneToMany)({ entity: () => MeasureUnit, mappedBy: (measureUnit) => measureUnit.categoryId }),
209
- tslib_1.__metadata("design:type", Array)
210
- ], MeasureUnitCategory.prototype, "measureUnits", void 0);
211
- tslib_1.__decorate([
212
- (0, entity_1.Field)({ onDelete: () => Date.now() }),
213
- tslib_1.__metadata("design:type", Number)
214
- ], MeasureUnitCategory.prototype, "deletedAt", void 0);
215
- MeasureUnitCategory = tslib_1.__decorate([
216
- (0, entity_1.Entity)({ softDelete: true })
217
- ], MeasureUnitCategory);
218
- exports.MeasureUnitCategory = MeasureUnitCategory;
219
- let MeasureUnit = class MeasureUnit extends BaseEntity {
220
- };
221
- tslib_1.__decorate([
222
- (0, entity_1.Field)(),
223
- tslib_1.__metadata("design:type", String)
224
- ], MeasureUnit.prototype, "name", void 0);
225
- tslib_1.__decorate([
226
- (0, entity_1.Field)({ reference: () => MeasureUnitCategory }),
227
- tslib_1.__metadata("design:type", Number)
228
- ], MeasureUnit.prototype, "categoryId", void 0);
229
- tslib_1.__decorate([
230
- (0, entity_1.ManyToOne)({ cascade: 'persist' }),
231
- tslib_1.__metadata("design:type", MeasureUnitCategory)
232
- ], MeasureUnit.prototype, "category", void 0);
233
- tslib_1.__decorate([
234
- (0, entity_1.Field)({ onDelete: () => Date.now() }),
235
- tslib_1.__metadata("design:type", Number)
236
- ], MeasureUnit.prototype, "deletedAt", void 0);
237
- MeasureUnit = tslib_1.__decorate([
238
- (0, entity_1.Entity)({ softDelete: true })
239
- ], MeasureUnit);
240
- exports.MeasureUnit = MeasureUnit;
241
- let Storehouse = class Storehouse extends BaseEntity {
242
- };
243
- tslib_1.__decorate([
244
- (0, entity_1.Field)(),
245
- tslib_1.__metadata("design:type", String)
246
- ], Storehouse.prototype, "name", void 0);
247
- tslib_1.__decorate([
248
- (0, entity_1.Field)(),
249
- tslib_1.__metadata("design:type", String)
250
- ], Storehouse.prototype, "address", void 0);
251
- tslib_1.__decorate([
252
- (0, entity_1.Field)(),
253
- tslib_1.__metadata("design:type", String)
254
- ], Storehouse.prototype, "description", void 0);
255
- Storehouse = tslib_1.__decorate([
256
- (0, entity_1.Entity)()
257
- ], Storehouse);
258
- exports.Storehouse = Storehouse;
259
- let Item = class Item extends BaseEntity {
260
- };
261
- tslib_1.__decorate([
262
- (0, entity_1.Field)(),
263
- tslib_1.__metadata("design:type", String)
264
- ], Item.prototype, "name", void 0);
265
- tslib_1.__decorate([
266
- (0, entity_1.Field)(),
267
- tslib_1.__metadata("design:type", String)
268
- ], Item.prototype, "description", void 0);
269
- tslib_1.__decorate([
270
- (0, entity_1.Field)(),
271
- tslib_1.__metadata("design:type", String)
272
- ], Item.prototype, "code", void 0);
273
- tslib_1.__decorate([
274
- (0, entity_1.Field)({ reference: () => LedgerAccount }),
275
- tslib_1.__metadata("design:type", Number)
276
- ], Item.prototype, "buyLedgerAccountId", void 0);
277
- tslib_1.__decorate([
278
- (0, entity_1.ManyToOne)(),
279
- tslib_1.__metadata("design:type", LedgerAccount)
280
- ], Item.prototype, "buyLedgerAccount", void 0);
281
- tslib_1.__decorate([
282
- (0, entity_1.Field)({ reference: () => LedgerAccount }),
283
- tslib_1.__metadata("design:type", Number)
284
- ], Item.prototype, "saleLedgerAccountId", void 0);
285
- tslib_1.__decorate([
286
- (0, entity_1.ManyToOne)(),
287
- tslib_1.__metadata("design:type", LedgerAccount)
288
- ], Item.prototype, "saleLedgerAccount", void 0);
289
- tslib_1.__decorate([
290
- (0, entity_1.Field)({ reference: () => Tax }),
291
- tslib_1.__metadata("design:type", Number)
292
- ], Item.prototype, "taxId", void 0);
293
- tslib_1.__decorate([
294
- (0, entity_1.ManyToOne)(),
295
- tslib_1.__metadata("design:type", Tax)
296
- ], Item.prototype, "tax", void 0);
297
- tslib_1.__decorate([
298
- (0, entity_1.Field)({ reference: () => MeasureUnit }),
299
- tslib_1.__metadata("design:type", Number)
300
- ], Item.prototype, "measureUnitId", void 0);
301
- tslib_1.__decorate([
302
- (0, entity_1.ManyToOne)(),
303
- tslib_1.__metadata("design:type", MeasureUnit)
304
- ], Item.prototype, "measureUnit", void 0);
305
- tslib_1.__decorate([
306
- (0, entity_1.Field)(),
307
- tslib_1.__metadata("design:type", Number)
308
- ], Item.prototype, "salePrice", void 0);
309
- tslib_1.__decorate([
310
- (0, entity_1.Field)(),
311
- tslib_1.__metadata("design:type", Boolean)
312
- ], Item.prototype, "inventoryable", void 0);
313
- tslib_1.__decorate([
314
- (0, entity_1.ManyToMany)({ entity: () => Tag, through: () => ItemTag, cascade: true }),
315
- tslib_1.__metadata("design:type", Array)
316
- ], Item.prototype, "tags", void 0);
317
- tslib_1.__decorate([
318
- (0, entity_1.Field)({
319
- /**
320
- * `virtual` property allows defining the value for a non-persistent field,
321
- * such value might be a scalar or a (`raw`) function. Virtual-fields can be
322
- * used in `$project`, `$filter` and `$having` as a common field whose value
323
- * is replaced at runtime.
324
- */
325
- virtual: (0, util_1.raw)(({ escapedPrefix, dialect }) => {
326
- const query = dialect.count(ItemTag, {
327
- $filter: {
328
- itemId: (0, util_1.raw)(`${escapedPrefix}${dialect.escapeId('id')}`),
329
- },
330
- }, { autoPrefix: true });
331
- return `(${query})`;
332
- }),
333
- }),
334
- tslib_1.__metadata("design:type", Number)
335
- ], Item.prototype, "tagsCount", void 0);
336
- Item = tslib_1.__decorate([
337
- (0, entity_1.Entity)()
338
- ], Item);
339
- exports.Item = Item;
340
- let Tag = class Tag extends BaseEntity {
341
- };
342
- tslib_1.__decorate([
343
- (0, entity_1.Field)(),
344
- tslib_1.__metadata("design:type", String)
345
- ], Tag.prototype, "name", void 0);
346
- tslib_1.__decorate([
347
- (0, entity_1.ManyToMany)({ entity: () => Item, mappedBy: (item) => item.tags }),
348
- tslib_1.__metadata("design:type", Array)
349
- ], Tag.prototype, "items", void 0);
350
- tslib_1.__decorate([
351
- (0, entity_1.Field)({
352
- virtual: (0, util_1.raw)(({ escapedPrefix, dialect }) => {
353
- /**
354
- * `virtual` property allows defining the value for a non-persistent field,
355
- * such value might be a scalar or a (`raw`) function. Virtual-fields can be
356
- * used in `$project`, `$filter` and `$having` as a common field whose value
357
- * is replaced at runtime.
358
- */
359
- const query = dialect.count(ItemTag, {
360
- $filter: {
361
- tagId: (0, util_1.raw)(`${escapedPrefix}${dialect.escapeId('id')}`),
362
- },
363
- }, { autoPrefix: true });
364
- return `(${query})`;
365
- }),
366
- }),
367
- tslib_1.__metadata("design:type", Number)
368
- ], Tag.prototype, "itemsCount", void 0);
369
- Tag = tslib_1.__decorate([
370
- (0, entity_1.Entity)()
371
- ], Tag);
372
- exports.Tag = Tag;
373
- let ItemTag = class ItemTag {
374
- };
375
- tslib_1.__decorate([
376
- (0, entity_1.Id)(),
377
- tslib_1.__metadata("design:type", Number)
378
- ], ItemTag.prototype, "id", void 0);
379
- tslib_1.__decorate([
380
- (0, entity_1.Field)({ reference: () => Item }),
381
- tslib_1.__metadata("design:type", Number)
382
- ], ItemTag.prototype, "itemId", void 0);
383
- tslib_1.__decorate([
384
- (0, entity_1.Field)({ reference: () => Tag }),
385
- tslib_1.__metadata("design:type", Number)
386
- ], ItemTag.prototype, "tagId", void 0);
387
- ItemTag = tslib_1.__decorate([
388
- (0, entity_1.Entity)()
389
- ], ItemTag);
390
- exports.ItemTag = ItemTag;
391
- let InventoryAdjustment = class InventoryAdjustment extends BaseEntity {
392
- };
393
- tslib_1.__decorate([
394
- (0, entity_1.OneToMany)({
395
- entity: () => ItemAdjustment,
396
- mappedBy: (rel) => rel.inventoryAdjustment,
397
- cascade: true,
398
- }),
399
- tslib_1.__metadata("design:type", Array)
400
- ], InventoryAdjustment.prototype, "itemAdjustments", void 0);
401
- tslib_1.__decorate([
402
- (0, entity_1.Field)(),
403
- tslib_1.__metadata("design:type", Date)
404
- ], InventoryAdjustment.prototype, "date", void 0);
405
- tslib_1.__decorate([
406
- (0, entity_1.Field)(),
407
- tslib_1.__metadata("design:type", String)
408
- ], InventoryAdjustment.prototype, "description", void 0);
409
- InventoryAdjustment = tslib_1.__decorate([
410
- (0, entity_1.Entity)()
411
- ], InventoryAdjustment);
412
- exports.InventoryAdjustment = InventoryAdjustment;
413
- let ItemAdjustment = class ItemAdjustment extends BaseEntity {
414
- };
415
- tslib_1.__decorate([
416
- (0, entity_1.Field)({ reference: () => Item }),
417
- tslib_1.__metadata("design:type", Number)
418
- ], ItemAdjustment.prototype, "itemId", void 0);
419
- tslib_1.__decorate([
420
- (0, entity_1.ManyToOne)(),
421
- tslib_1.__metadata("design:type", Item)
422
- ], ItemAdjustment.prototype, "item", void 0);
423
- tslib_1.__decorate([
424
- (0, entity_1.Field)(),
425
- tslib_1.__metadata("design:type", Number)
426
- ], ItemAdjustment.prototype, "number", void 0);
427
- tslib_1.__decorate([
428
- (0, entity_1.Field)(),
429
- tslib_1.__metadata("design:type", Number)
430
- ], ItemAdjustment.prototype, "buyPrice", void 0);
431
- tslib_1.__decorate([
432
- (0, entity_1.Field)({ reference: () => Storehouse }),
433
- tslib_1.__metadata("design:type", Number)
434
- ], ItemAdjustment.prototype, "storehouseId", void 0);
435
- tslib_1.__decorate([
436
- (0, entity_1.ManyToOne)(),
437
- tslib_1.__metadata("design:type", Storehouse)
438
- ], ItemAdjustment.prototype, "storehouse", void 0);
439
- tslib_1.__decorate([
440
- (0, entity_1.Field)({ reference: () => InventoryAdjustment }),
441
- tslib_1.__metadata("design:type", Number)
442
- ], ItemAdjustment.prototype, "inventoryAdjustmentId", void 0);
443
- tslib_1.__decorate([
444
- (0, entity_1.ManyToOne)(),
445
- tslib_1.__metadata("design:type", InventoryAdjustment)
446
- ], ItemAdjustment.prototype, "inventoryAdjustment", void 0);
447
- ItemAdjustment = tslib_1.__decorate([
448
- (0, entity_1.Entity)()
449
- ], ItemAdjustment);
450
- exports.ItemAdjustment = ItemAdjustment;
451
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5TW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2VudGl0eU1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBb0M7QUFDcEMsNkNBQWlHO0FBQ2pHLHlDQUFxQztBQUNyQyx5Q0FBdUM7QUEyQnZDOzs7R0FHRztBQUNILE1BQXNCLFVBQVU7Q0EwQi9CO0FBeEJDO0lBREMsSUFBQSxXQUFFLEdBQUU7O3NDQUNPO0FBS1o7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7NkNBQ2pCO0FBRW5CO0lBREMsSUFBQSxrQkFBUyxFQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDOzsyQ0FDbEI7QUFFbkI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7NkNBQ2Q7QUFFbkI7SUFEQyxJQUFBLGtCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7OzJDQUNsQjtBQU1oQjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDOzs2Q0FDbkI7QUFNbkI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQzs7NkNBQ25CO0FBekJyQixnQ0EwQkM7QUFFRDs7R0FFRztBQUVILElBQWEsT0FBTyxHQUFwQixNQUFhLE9BQVEsU0FBUSxVQUFVO0NBS3RDLENBQUE7QUFIQztJQURDLElBQUEsY0FBSyxHQUFFOztxQ0FDTTtBQUVkO0lBREMsSUFBQSxjQUFLLEdBQUU7OzRDQUNhO0FBSlYsT0FBTztJ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QUUsQ0FBQyxjQUFjO1FBQzVCLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtRQUMxQyxPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7OzREQUNpQztBQUVuQztJQURDLElBQUEsY0FBSyxHQUFFO3NDQUNELElBQUk7aURBQUM7QUFFWjtJQURDLElBQUEsY0FBSyxHQUFFOzt3REFDYTtBQVZWLG1CQUFtQjtJQUQvQixJQUFBLGVBQU0sR0FBRTtHQUNJLG1CQUFtQixDQVcvQjtBQVhZLGtEQUFtQjtBQWNoQyxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFlLFNBQVEsVUFBVTtDQWlCN0MsQ0FBQTtBQWZDO0lBREMsSUFBQSxjQUFLLEVBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7OzhDQUNqQjtBQUVoQjtJQURDLElBQUEsa0JBQVMsR0FBRTtzQ0FDTCxJQUFJOzRDQUFDO0FBRVo7SUFEQyxJQUFBLGNBQUssR0FBRTs7OENBQ1E7QUFFaEI7SUFEQyxJQUFBLGNBQUssR0FBRTs7Z0RBQ1U7QUFFbEI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7b0RBQ2pCO0FBRXRCO0lBREMsSUFBQSxrQkFBUyxHQUFFO3NDQUNDLFVBQVU7a0RBQUM7QUFFeEI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDOzs2REFDakI7QUFFL0I7SUFEQyxJQUFBLGtCQUFTLEdBQUU7c0NBQ1UsbUJBQW1COzJEQUFDO0FBaEIvQixjQUFjO0lBRDFCLElBQUEsZUFBTSxHQUFFO0dBQ0ksY0FBYyxDQWlCMUI7QUFqQlksd0NBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEZpZWxkLCBNYW55VG9PbmUsIElkLCBPbmVUb01hbnksIEVudGl0eSwgT25lVG9PbmUsIE1hbnlUb01hbnkgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5JztcbmltcG9ydCB7IHJhdyB9IGZyb20gJ0B1cWwvY29yZS91dGlsJztcbmltcG9ydCB7IGlkS2V5IH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuXG4vKipcbiAqIGludGVyZmFjZXMgY2FuIChvcHRpb25hbGx5KSBiZSB1c2VkIHRvIGF2b2lkIGNpcmN1bGFyLXJlZmVyZW5jZSBpc3N1ZSBiZXR3ZWVuIGVudGl0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHkge1xuICBpZD86IG51bWJlcjtcbiAgY29tcGFueUlkPzogbnVtYmVyO1xuICBjb21wYW55PzogSUNvbXBhbnk7XG4gIGNyZWF0b3JJZD86IG51bWJlcjtcbiAgY3JlYXRvcj86IElVc2VyO1xuICBjcmVhdGVkQXQ/OiBudW1iZXI7XG4gIHVwZGF0ZWRBdD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIElDb21wYW55IGV4dGVuZHMgSUVudGl0eSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSVVzZXIgZXh0ZW5kcyBJRW50aXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBwcm9maWxlPzogUHJvZmlsZTtcbn1cblxuLyoqXG4gKiBhbiBhYnN0cmFjdCBjbGFzcyBjYW4gKG9wdGlvbmFsbHkpIGJlIHVzZWQgYXMgYSBcInRlbXBsYXRlXCIgZm9yIHRoZSBlbnRpdGllc1xuICogKHNvIHRoZSBjb21tb24gYXR0cmlidXRlcycgZGVjbGFyYXRpb24gaXMgcmV1c2VkKS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VFbnRpdHkgaW1wbGVtZW50cyBJRW50aXR5IHtcbiAgQElkKClcbiAgaWQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBmb3JlaWduLWtleXMgYXJlIHJlYWxseSBzaW1wbGUgdG8gc3BlY2lmeVxuICAgKi9cbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBDb21wYW55IH0pXG4gIGNvbXBhbnlJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSh7IGVudGl0eTogKCkgPT4gQ29tcGFueSB9KVxuICBjb21wYW55PzogSUNvbXBhbnk7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gVXNlciB9KVxuICBjcmVhdG9ySWQ/OiBudW1iZXI7XG4gIEBNYW55VG9PbmUoeyBlbnRpdHk6ICgpID0+IFVzZXIgfSlcbiAgY3JlYXRvcj86IElVc2VyO1xuICAvKipcbiAgICogJ29uSW5zZXJ0JyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG1lY2hhbmlzbSBmb3JcbiAgICogb2J0YWluaW5nIHRoZSB2YWx1ZSBvZiBhIGZpZWxkIHdoZW4gaW5zZXJ0aW5nOlxuICAgKi9cbiAgQEZpZWxkKHsgb25JbnNlcnQ6ICgpID0+IERhdGUubm93KCkgfSlcbiAgY3JlYXRlZEF0PzogbnVtYmVyO1xuICAvKipcbiAgICogJ29uVXBkYXRlJyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG1lY2hhbmlzbSBmb3JcbiAgICogb2J0YWluaW5nIHRoZSB2YWx1ZSBvZiBhIGZpZWxkIHdoZW4gdXBkYXRpbmc6XG4gICAqL1xuICBARmllbGQoeyBvblVwZGF0ZTogKCkgPT4gRGF0ZS5ub3coKSB9KVxuICB1cGRhdGVkQXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogYENvbXBhbnlgIHdpbGwgaW5oZXJpdCBhbGwgdGhlIGZpZWxkcyAoaW5jbHVkaW5nIHRoZSBgSWRgKSBkZWNsYXJlZCBpbiBgQmFzZUVudGl0eWAuXG4gKi9cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIENvbXBhbnkgZXh0ZW5kcyBCYXNlRW50aXR5IGltcGxlbWVudHMgSUNvbXBhbnkge1xuICBARmllbGQoKVxuICBuYW1lPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBhbmQgZW50aXR5IGNhbiBzcGVjaWZ5IHRoZSB0YWJsZSBuYW1lXG4gKi9cbkBFbnRpdHkoeyBuYW1lOiAndXNlcl9wcm9maWxlJyB9KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGUgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgLyoqXG4gICAqIGFuIGVudGl0eSBjYW4gc3BlY2lmeSBpdHMgb3duIElEIEZpZWxkIGFuZCBzdGlsbCBpbmhlcml0IHRoZSBvdGhlcnNcbiAgICogY29sdW1ucy9yZWxhdGlvbnMgZnJvbSBpdHMgcGFyZW50IGVudGl0eS5cbiAgICogJ29uSW5zZXJ0JyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG1lY2hhbmlzbSBmb3JcbiAgICogYXV0by1nZW5lcmF0aW5nIHRoZSBwcmltYXJ5LWtleSdzIHZhbHVlIHdoZW4gaW5zZXJ0aW5nLlxuICAgKi9cbiAgQElkKHsgbmFtZTogJ3BrJyB9KVxuICBvdmVycmlkZSBpZD86IG51bWJlcjtcbiAgQEZpZWxkKHsgbmFtZTogJ2ltYWdlJyB9KVxuICBwaWN0dXJlPzogc3RyaW5nO1xuICBAT25lVG9PbmUoeyBlbnRpdHk6ICgpID0+IFVzZXIgfSlcbiAgb3ZlcnJpZGUgY3JlYXRvcj86IElVc2VyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQmFzZUVudGl0eSBpbXBsZW1lbnRzIElVc2VyIHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgZW1haWw/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICAvKipcbiAgICogYG1hcHBlZEJ5YCBjYW4gYmUgYSBjYWxsYmFjayBvciBhIHN0cmluZyAoY2FsbGJhY2sgaXMgdXNlZnVsIGZvciBhdXRvLXJlZmFjdG9yaW5nKS5cbiAgICovXG4gIEBPbmVUb09uZSh7IGVudGl0eTogKCkgPT4gUHJvZmlsZSwgbWFwcGVkQnk6IChwcm9maWxlKSA9PiBwcm9maWxlLmNyZWF0b3IsIGNhc2NhZGU6IHRydWUgfSlcbiAgcHJvZmlsZT86IFByb2ZpbGU7XG4gIEBPbmVUb01hbnkoeyBlbnRpdHk6ICgpID0+IFVzZXIsIG1hcHBlZEJ5OiAnY3JlYXRvcicgfSlcbiAgdXNlcnM/OiBVc2VyW107XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIExlZGdlckFjY291bnQgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTGVkZ2VyQWNjb3VudCB9KVxuICBwYXJlbnRMZWRnZXJJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHBhcmVudExlZGdlcj86IExlZGdlckFjY291bnQ7XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIFRheENhdGVnb3J5IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIC8qKlxuICAgKiBgaWRLZXlgIHN5bWJvbCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBpZGVudGlmaWVyIHByb3BlcnR5LFxuICAgKiBzbyB0aGUgdHlwZSBvZiB0aGUgaWRlbnRpZmllciBjYW4gYWx3YXlzIGJlIHR5cGUtc2FmZVxuICAgKiAodGhlIGlkZW50aWZpZXJzIG5hbWVkIGFzIGBpZGAgb3IgYF9pZGAgYXJlIGF1dG8taW5mZXJyZWQpLlxuICAgKi9cbiAgW2lkS2V5XT86ICdwayc7XG4gIC8qKlxuICAgKiBhbiBlbnRpdHkgY2FuIHNwZWNpZnkgaXRzIG93biBJRCBGaWVsZCBhbmQgc3RpbGwgaW5oZXJpdCB0aGUgb3RoZXJzXG4gICAqIGNvbHVtbnMvcmVsYXRpb25zIGZyb20gaXRzIHBhcmVudCBlbnRpdHkuXG4gICAqICdvbkluc2VydCcgY2FsbGJhY2sgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIGN1c3RvbSBtZWNoYW5pc20gZm9yXG4gICAqIGF1dG8tZ2VuZXJhdGluZyB0aGUgcHJpbWFyeS1rZXkncyB2YWx1ZSB3aGVuIGluc2VydGluZy5cbiAgICovXG4gIEBJZCh7IG9uSW5zZXJ0OiB1dWlkdjQgfSlcbiAgcGs/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVGVzdCB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIHBlcmNlbnRhZ2U/OiBudW1iZXI7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gVGF4Q2F0ZWdvcnkgfSlcbiAgY2F0ZWdvcnlJZD86IHN0cmluZztcbiAgQE1hbnlUb09uZSgpXG4gIGNhdGVnb3J5PzogVGF4Q2F0ZWdvcnk7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBUYXggZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgcGVyY2VudGFnZT86IG51bWJlcjtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBUYXhDYXRlZ29yeSB9KVxuICBjYXRlZ29yeUlkPzogc3RyaW5nO1xuICBATWFueVRvT25lKClcbiAgY2F0ZWdvcnk/OiBUYXhDYXRlZ29yeTtcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogYHNvZnREZWxldGVgIHdpbGwgbWFrZSB0aGUgZW50aXR5IFwic29mdCBkZWxldGFibGVcIi5cbiAqL1xuQEVudGl0eSh7IHNvZnREZWxldGU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBNZWFzdXJlVW5pdENhdGVnb3J5IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBPbmVUb01hbnkoeyBlbnRpdHk6ICgpID0+IE1lYXN1cmVVbml0LCBtYXBwZWRCeTogKG1lYXN1cmVVbml0KSA9PiBtZWFzdXJlVW5pdC5jYXRlZ29yeUlkIH0pXG4gIG1lYXN1cmVVbml0cz86IE1lYXN1cmVVbml0W107XG4gIC8qKlxuICAgKiBgb25EZWxldGVgIGNhbGxiYWNrIGFsbG93cyB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkIHdpbGwgYmUgdXNlZCB3aGVuIGRlbGV0aW5nL3F1ZXJ5aW5nIHRoaXMgZW50aXR5LlxuICAgKi9cbiAgQEZpZWxkKHsgb25EZWxldGU6ICgpID0+IERhdGUubm93KCkgfSlcbiAgZGVsZXRlZEF0PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KHsgc29mdERlbGV0ZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE1lYXN1cmVVbml0IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTWVhc3VyZVVuaXRDYXRlZ29yeSB9KVxuICBjYXRlZ29yeUlkPzogbnVtYmVyO1xuICBATWFueVRvT25lKHsgY2FzY2FkZTogJ3BlcnNpc3QnIH0pXG4gIGNhdGVnb3J5PzogTWVhc3VyZVVuaXRDYXRlZ29yeTtcbiAgQEZpZWxkKHsgb25EZWxldGU6ICgpID0+IERhdGUubm93KCkgfSlcbiAgZGVsZXRlZEF0PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBTdG9yZWhvdXNlIGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBJdGVtIGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBjb2RlPzogc3RyaW5nO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IExlZGdlckFjY291bnQgfSlcbiAgYnV5TGVkZ2VyQWNjb3VudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgYnV5TGVkZ2VyQWNjb3VudD86IExlZGdlckFjY291bnQ7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTGVkZ2VyQWNjb3VudCB9KVxuICBzYWxlTGVkZ2VyQWNjb3VudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgc2FsZUxlZGdlckFjY291bnQ/OiBMZWRnZXJBY2NvdW50O1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IFRheCB9KVxuICB0YXhJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHRheD86IFRheDtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBNZWFzdXJlVW5pdCB9KVxuICBtZWFzdXJlVW5pdElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgbWVhc3VyZVVuaXQ/OiBNZWFzdXJlVW5pdDtcbiAgQEZpZWxkKClcbiAgc2FsZVByaWNlPzogbnVtYmVyO1xuICBARmllbGQoKVxuICBpbnZlbnRvcnlhYmxlPzogYm9vbGVhbjtcbiAgQE1hbnlUb01hbnkoeyBlbnRpdHk6ICgpID0+IFRhZywgdGhyb3VnaDogKCkgPT4gSXRlbVRhZywgY2FzY2FkZTogdHJ1ZSB9KVxuICB0YWdzPzogVGFnW107XG4gIEBGaWVsZCh7XG4gICAgLyoqXG4gICAgICogYHZpcnR1YWxgIHByb3BlcnR5IGFsbG93cyBkZWZpbmluZyB0aGUgdmFsdWUgZm9yIGEgbm9uLXBlcnNpc3RlbnQgZmllbGQsXG4gICAgICogc3VjaCB2YWx1ZSBtaWdodCBiZSBhIHNjYWxhciBvciBhIChgcmF3YCkgZnVuY3Rpb24uIFZpcnR1YWwtZmllbGRzIGNhbiBiZVxuICAgICAqIHVzZWQgaW4gYCRwcm9qZWN0YCwgYCRmaWx0ZXJgIGFuZCBgJGhhdmluZ2AgYXMgYSBjb21tb24gZmllbGQgd2hvc2UgdmFsdWVcbiAgICAgKiBpcyByZXBsYWNlZCBhdCBydW50aW1lLlxuICAgICAqL1xuICAgIHZpcnR1YWw6IHJhdygoeyBlc2NhcGVkUHJlZml4LCBkaWFsZWN0IH0pID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gZGlhbGVjdC5jb3VudChcbiAgICAgICAgSXRlbVRhZyxcbiAgICAgICAge1xuICAgICAgICAgICRmaWx0ZXI6IHtcbiAgICAgICAgICAgIGl0ZW1JZDogcmF3KGAke2VzY2FwZWRQcmVmaXh9JHtkaWFsZWN0LmVzY2FwZUlkKCdpZCcpfWApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgYXV0b1ByZWZpeDogdHJ1ZSB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIGAoJHtxdWVyeX0pYDtcbiAgICB9KSxcbiAgfSlcbiAgdGFnc0NvdW50PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBUYWcgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQE1hbnlUb01hbnkoeyBlbnRpdHk6ICgpID0+IEl0ZW0sIG1hcHBlZEJ5OiAoaXRlbSkgPT4gaXRlbS50YWdzIH0pXG4gIGl0ZW1zPzogSXRlbVtdO1xuICBARmllbGQoe1xuICAgIHZpcnR1YWw6IHJhdygoeyBlc2NhcGVkUHJlZml4LCBkaWFsZWN0IH0pID0+IHtcbiAgICAgIC8qKlxuICAgICAgICogYHZpcnR1YWxgIHByb3BlcnR5IGFsbG93cyBkZWZpbmluZyB0aGUgdmFsdWUgZm9yIGEgbm9uLXBlcnNpc3RlbnQgZmllbGQsXG4gICAgICAgKiBzdWNoIHZhbHVlIG1pZ2h0IGJlIGEgc2NhbGFyIG9yIGEgKGByYXdgKSBmdW5jdGlvbi4gVmlydHVhbC1maWVsZHMgY2FuIGJlXG4gICAgICAgKiB1c2VkIGluIGAkcHJvamVjdGAsIGAkZmlsdGVyYCBhbmQgYCRoYXZpbmdgIGFzIGEgY29tbW9uIGZpZWxkIHdob3NlIHZhbHVlXG4gICAgICAgKiBpcyByZXBsYWNlZCBhdCBydW50aW1lLlxuICAgICAgICovXG4gICAgICBjb25zdCBxdWVyeSA9IGRpYWxlY3QuY291bnQoXG4gICAgICAgIEl0ZW1UYWcsXG4gICAgICAgIHtcbiAgICAgICAgICAkZmlsdGVyOiB7XG4gICAgICAgICAgICB0YWdJZDogcmF3KGAke2VzY2FwZWRQcmVmaXh9JHtkaWFsZWN0LmVzY2FwZUlkKCdpZCcpfWApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgYXV0b1ByZWZpeDogdHJ1ZSB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIGAoJHtxdWVyeX0pYDtcbiAgICB9KSxcbiAgfSlcbiAgaXRlbXNDb3VudD86IG51bWJlcjtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgSXRlbVRhZyB7XG4gIEBJZCgpXG4gIGlkPzogbnVtYmVyO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IEl0ZW0gfSlcbiAgaXRlbUlkPzogbnVtYmVyO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IFRhZyB9KVxuICB0YWdJZD86IG51bWJlcjtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgSW52ZW50b3J5QWRqdXN0bWVudCBleHRlbmRzIEJhc2VFbnRpdHkge1xuICBAT25lVG9NYW55KHtcbiAgICBlbnRpdHk6ICgpID0+IEl0ZW1BZGp1c3RtZW50LFxuICAgIG1hcHBlZEJ5OiAocmVsKSA9PiByZWwuaW52ZW50b3J5QWRqdXN0bWVudCxcbiAgICBjYXNjYWRlOiB0cnVlLFxuICB9KVxuICBpdGVtQWRqdXN0bWVudHM/OiBJdGVtQWRqdXN0bWVudFtdO1xuICBARmllbGQoKVxuICBkYXRlPzogRGF0ZTtcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIEl0ZW1BZGp1c3RtZW50IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gSXRlbSB9KVxuICBpdGVtSWQ/OiBudW1iZXI7XG4gIEBNYW55VG9PbmUoKVxuICBpdGVtPzogSXRlbTtcbiAgQEZpZWxkKClcbiAgbnVtYmVyPzogbnVtYmVyO1xuICBARmllbGQoKVxuICBidXlQcmljZT86IG51bWJlcjtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBTdG9yZWhvdXNlIH0pXG4gIHN0b3JlaG91c2VJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHN0b3JlaG91c2U/OiBTdG9yZWhvdXNlO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IEludmVudG9yeUFkanVzdG1lbnQgfSlcbiAgaW52ZW50b3J5QWRqdXN0bWVudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgaW52ZW50b3J5QWRqdXN0bWVudD86IEludmVudG9yeUFkanVzdG1lbnQ7XG59XG4iXX0=
package/test/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './entityMock';
2
- export * from './spec.util';
3
- export * from './it.util';
package/test/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./entityMock"), exports);
5
- tslib_1.__exportStar(require("./spec.util"), exports);
6
- tslib_1.__exportStar(require("./it.util"), exports);
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBNkI7QUFDN0Isc0RBQTRCO0FBQzVCLG9EQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW50aXR5TW9jayc7XG5leHBvcnQgKiBmcm9tICcuL3NwZWMudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2l0LnV0aWwnO1xuIl19