@archtx/core 2.0.6 → 3.0.0
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/dist/exports.d.ts +3 -2
- package/dist/exports.js +3 -2
- package/dist/exports.js.map +1 -1
- package/dist/src/DTO.d.ts +1 -0
- package/dist/src/DTO.js +3 -0
- package/dist/src/DTO.js.map +1 -1
- package/dist/src/Entity/Entity.benchmark.test.js +12 -12
- package/dist/src/Entity/Entity.benchmark.test.js.map +1 -1
- package/dist/src/Entity/Entity.d.ts +9 -9
- package/dist/src/Entity/Entity.js +16 -128
- package/dist/src/Entity/Entity.js.map +1 -1
- package/dist/src/Entity/Entity.test.js +21 -17
- package/dist/src/Entity/Entity.test.js.map +1 -1
- package/dist/src/Log.d.ts +1 -1
- package/dist/src/Log.js.map +1 -1
- package/dist/src/Logger.d.ts +16 -0
- package/dist/src/Logger.js +20 -0
- package/dist/src/Logger.js.map +1 -0
- package/dist/src/ScheduledProcess.d.ts +1 -1
- package/dist/src/UseCase.d.ts +11 -2
- package/dist/src/UseCase.js +8 -0
- package/dist/src/UseCase.js.map +1 -1
- package/dist/src/common-types.d.ts +2 -2
- package/dist/src/errors/AuthenticationError.d.ts +17 -0
- package/dist/src/errors/AuthenticationError.js +16 -0
- package/dist/src/errors/AuthenticationError.js.map +1 -0
- package/dist/src/errors/AuthorizationError.d.ts +17 -0
- package/dist/src/errors/AuthorizationError.js +16 -0
- package/dist/src/errors/AuthorizationError.js.map +1 -0
- package/dist/src/errors/errors.test.js +7 -5
- package/dist/src/errors/errors.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/exports.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './src/Entity/Entity.js';
|
|
2
2
|
export * from './src/Entity/utils.js';
|
|
3
|
-
export * from './src/errors/
|
|
3
|
+
export * from './src/errors/AuthenticationError.js';
|
|
4
|
+
export * from './src/errors/AuthorizationError.js';
|
|
4
5
|
export * from './src/errors/EntityError.js';
|
|
5
6
|
export * from './src/errors/ExpiredError.js';
|
|
6
7
|
export * from './src/errors/NotFoundError.js';
|
|
@@ -9,6 +10,6 @@ export * from './src/errors/RootError.js';
|
|
|
9
10
|
export * from './src/errors/UseCaseError.js';
|
|
10
11
|
export * from './src/errors/ValidationError.js';
|
|
11
12
|
export * from './src/common-types.js';
|
|
12
|
-
export * from './src/
|
|
13
|
+
export * from './src/Logger.js';
|
|
13
14
|
export * from './src/ScheduledProcess.js';
|
|
14
15
|
export * from './src/UseCase.js';
|
package/dist/exports.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './src/Entity/Entity.js';
|
|
2
2
|
export * from './src/Entity/utils.js';
|
|
3
|
-
export * from './src/errors/
|
|
3
|
+
export * from './src/errors/AuthenticationError.js';
|
|
4
|
+
export * from './src/errors/AuthorizationError.js';
|
|
4
5
|
export * from './src/errors/EntityError.js';
|
|
5
6
|
export * from './src/errors/ExpiredError.js';
|
|
6
7
|
export * from './src/errors/NotFoundError.js';
|
|
@@ -9,7 +10,7 @@ export * from './src/errors/RootError.js';
|
|
|
9
10
|
export * from './src/errors/UseCaseError.js';
|
|
10
11
|
export * from './src/errors/ValidationError.js';
|
|
11
12
|
export * from './src/common-types.js';
|
|
12
|
-
export * from './src/
|
|
13
|
+
export * from './src/Logger.js';
|
|
13
14
|
export * from './src/ScheduledProcess.js';
|
|
14
15
|
export * from './src/UseCase.js';
|
|
15
16
|
//# sourceMappingURL=exports.js.map
|
package/dist/exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../exports.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AAErC,cAAc,
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../exports.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AAErC,cAAc,qCAAqC,CAAA;AACnD,cAAc,oCAAoC,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAE/C,cAAc,uBAAuB,CAAA;AAErC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA"}
|
package/dist/src/DTO.d.ts
CHANGED
package/dist/src/DTO.js
CHANGED
package/dist/src/DTO.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DTO.js","sourceRoot":"","sources":["../../src/DTO.ts"],"names":[],"mappings":"AAIA,MAAM,OAAgB,GAAG;IACQ;IAA/B,YAA+B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE/C,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"DTO.js","sourceRoot":"","sources":["../../src/DTO.ts"],"names":[],"mappings":"AAIA,MAAM,OAAgB,GAAG;IACQ;IAA/B,YAA+B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE/C,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { describe, it } from 'vitest';
|
|
2
2
|
import { performance } from 'perf_hooks';
|
|
3
|
-
import {
|
|
4
|
-
// Create a concrete implementation of the abstract
|
|
5
|
-
class TestEntity extends
|
|
3
|
+
import { MutableEntity } from './Entity.js'; // Update with your actual import path
|
|
4
|
+
// Create a concrete implementation of the abstract MutableEntity class for testing
|
|
5
|
+
class TestEntity extends MutableEntity {
|
|
6
6
|
validate(props) {
|
|
7
7
|
// Simple validation
|
|
8
8
|
if (!props.id)
|
|
@@ -100,7 +100,7 @@ function runBenchmark(name, fn, iterations) {
|
|
|
100
100
|
timePerOp: timePerOperationMs,
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
|
-
describe('
|
|
103
|
+
describe('MutableEntity Performance Benchmarks', () => {
|
|
104
104
|
// Adjust iterations based on operation complexity
|
|
105
105
|
const iterations = {
|
|
106
106
|
small: 10000,
|
|
@@ -111,14 +111,14 @@ describe('Entity Performance Benchmarks', () => {
|
|
|
111
111
|
const results = [];
|
|
112
112
|
// Small entity
|
|
113
113
|
const smallProps = createEntityProps('small');
|
|
114
|
-
results.push(runBenchmark('
|
|
114
|
+
results.push(runBenchmark('MutableEntity instantiation (small)', () => TestEntity.create({ ...smallProps, id: `small-${Math.random()}` }), iterations.small));
|
|
115
115
|
// Medium entity
|
|
116
116
|
const mediumProps = createEntityProps('medium');
|
|
117
|
-
results.push(runBenchmark('
|
|
117
|
+
results.push(runBenchmark('MutableEntity instantiation (medium)', () => TestEntity.create({ ...mediumProps, id: `medium-${Math.random()}` }), iterations.medium));
|
|
118
118
|
// Large entity
|
|
119
119
|
const largeProps = createEntityProps('large');
|
|
120
|
-
results.push(runBenchmark('
|
|
121
|
-
console.log('\
|
|
120
|
+
results.push(runBenchmark('MutableEntity instantiation (large)', () => TestEntity.create({ ...largeProps, id: `large-${Math.random()}` }), iterations.large));
|
|
121
|
+
console.log('\nMutableEntity instantiation comparison:');
|
|
122
122
|
results.forEach((r) => {
|
|
123
123
|
console.log(` ${r.name}: ${r.opsPerSecond.toFixed(2)} ops/sec (${r.timePerOp.toFixed(3)} ms per op)`);
|
|
124
124
|
});
|
|
@@ -245,7 +245,7 @@ describe('Entity Performance Benchmarks', () => {
|
|
|
245
245
|
it('should benchmark complete entity operations', () => {
|
|
246
246
|
const results = [];
|
|
247
247
|
// Create an entity and perform a series of operations
|
|
248
|
-
results.push(runBenchmark('
|
|
248
|
+
results.push(runBenchmark('MutableEntity lifecycle (create + 5 property updates)', () => {
|
|
249
249
|
const entity = TestEntity.create(createEntityProps('small'));
|
|
250
250
|
entity.set('name', `User-${Math.random()}`);
|
|
251
251
|
entity.set('age', Math.floor(Math.random() * 100));
|
|
@@ -258,13 +258,13 @@ describe('Entity Performance Benchmarks', () => {
|
|
|
258
258
|
entity.set('tags', Array(3)
|
|
259
259
|
.fill(0)
|
|
260
260
|
.map((_, i) => `tag-${Math.random()}`));
|
|
261
|
-
return entity.
|
|
261
|
+
return entity.props;
|
|
262
262
|
}, iterations.medium / 5));
|
|
263
263
|
// Create, update, and serialize
|
|
264
264
|
results.push(runBenchmark('Create, update single property, and serialize', () => {
|
|
265
265
|
const entity = TestEntity.create(createEntityProps('medium'));
|
|
266
266
|
entity.set('name', `User-${Math.random()}`);
|
|
267
|
-
return entity.
|
|
267
|
+
return entity.props;
|
|
268
268
|
}, iterations.medium / 2));
|
|
269
269
|
// Multiple sequential updates to the same property
|
|
270
270
|
results.push(runBenchmark('Multiple sequential updates to the same property', () => {
|
|
@@ -272,7 +272,7 @@ describe('Entity Performance Benchmarks', () => {
|
|
|
272
272
|
for (let i = 0; i < 5; i++) {
|
|
273
273
|
entity.set('name', `User-${i}-${Math.random()}`);
|
|
274
274
|
}
|
|
275
|
-
return entity.
|
|
275
|
+
return entity.props;
|
|
276
276
|
}, iterations.medium / 5));
|
|
277
277
|
console.log('\nCommon operations comparison:');
|
|
278
278
|
results.forEach((r) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.benchmark.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.benchmark.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Entity.benchmark.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.benchmark.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { DeepReadonly, IWithID } from '../common-types.js';
|
|
2
|
-
export declare abstract class
|
|
2
|
+
export declare abstract class Entity<Schema extends IWithID> {
|
|
3
3
|
protected _props: Schema;
|
|
4
|
-
get props(): DeepReadonly<Schema>;
|
|
5
4
|
constructor(props: Schema);
|
|
6
|
-
|
|
5
|
+
get props(): DeepReadonly<Schema>;
|
|
6
|
+
protected set props(props: DeepReadonly<Schema>);
|
|
7
|
+
get name(): string;
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class ImmutableEntity<Schema extends IWithID> extends Entity<Schema> {
|
|
7
10
|
}
|
|
8
|
-
export declare abstract class
|
|
11
|
+
export declare abstract class MutableEntity<Schema extends IWithID, PrivateSetters extends keyof Schema = never> extends Entity<Schema> {
|
|
9
12
|
abstract validate(props: Schema): void;
|
|
13
|
+
protected _previousProps?: Schema;
|
|
14
|
+
protected constructor(props: Schema);
|
|
10
15
|
get previousProps(): DeepReadonly<Schema>;
|
|
11
|
-
get props(): DeepReadonly<Schema>;
|
|
12
16
|
set(updater: (draft: Schema) => void): void;
|
|
13
17
|
set<Key extends Exclude<keyof Schema, PrivateSetters | 'id'>>(key: Key, value: Schema[Key]): void;
|
|
14
18
|
set<Key extends Exclude<keyof Schema, PrivateSetters | 'id'>>(key: Key, updater: (draft: Schema[Key]) => void | Schema[Key]): void;
|
|
15
|
-
toJSON(): Schema;
|
|
16
|
-
protected _previousProps?: Schema;
|
|
17
|
-
protected _props: Schema;
|
|
18
|
-
protected constructor(props: Schema);
|
|
19
19
|
protected _cloneProps(obj: Schema): Schema;
|
|
20
20
|
protected _deepFreeze(obj: any): void;
|
|
21
21
|
}
|
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
export class
|
|
1
|
+
export class Entity {
|
|
2
2
|
_props;
|
|
3
|
+
constructor(props) {
|
|
4
|
+
this._props = props;
|
|
5
|
+
}
|
|
3
6
|
get props() {
|
|
4
7
|
return this._props;
|
|
5
8
|
}
|
|
6
|
-
|
|
9
|
+
set props(props) {
|
|
7
10
|
this._props = props;
|
|
8
11
|
}
|
|
9
|
-
|
|
10
|
-
return this.
|
|
12
|
+
get name() {
|
|
13
|
+
return this.constructor.name;
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
|
-
export class Entity {
|
|
16
|
+
export class ImmutableEntity extends Entity {
|
|
17
|
+
}
|
|
18
|
+
export class MutableEntity extends Entity {
|
|
19
|
+
/* Only exists if the _props were changed */
|
|
20
|
+
_previousProps;
|
|
21
|
+
constructor(props) {
|
|
22
|
+
super(props);
|
|
23
|
+
this._deepFreeze(this._props);
|
|
24
|
+
}
|
|
14
25
|
get previousProps() {
|
|
15
26
|
return (this._previousProps || this._props);
|
|
16
27
|
}
|
|
17
|
-
get props() {
|
|
18
|
-
return this._props;
|
|
19
|
-
}
|
|
20
28
|
/**
|
|
21
29
|
* Update the entity with a new value or function updater. The updater
|
|
22
30
|
* function receives the current value and should return the new value.
|
|
@@ -69,16 +77,6 @@ export class Entity {
|
|
|
69
77
|
this._deepFreeze(this._props);
|
|
70
78
|
}
|
|
71
79
|
}
|
|
72
|
-
toJSON() {
|
|
73
|
-
return this._cloneProps(this._props);
|
|
74
|
-
}
|
|
75
|
-
/* Only exists if the _props were changed */
|
|
76
|
-
_previousProps;
|
|
77
|
-
_props;
|
|
78
|
-
constructor(props) {
|
|
79
|
-
this._props = props;
|
|
80
|
-
this._deepFreeze(this._props);
|
|
81
|
-
}
|
|
82
80
|
_cloneProps(obj) {
|
|
83
81
|
// clone values only, do not clone object configuration
|
|
84
82
|
if (obj === null || typeof obj !== 'object') {
|
|
@@ -116,114 +114,4 @@ export class Entity {
|
|
|
116
114
|
}
|
|
117
115
|
}
|
|
118
116
|
}
|
|
119
|
-
// import { DeepReadonly, IWithID } from './common-types'
|
|
120
|
-
//
|
|
121
|
-
// export abstract class EntityImmutable<Schema extends IWithID> {
|
|
122
|
-
// protected _props: Schema
|
|
123
|
-
//
|
|
124
|
-
// get props(): DeepReadonly<Schema> {
|
|
125
|
-
// return this._props as DeepReadonly<Schema>
|
|
126
|
-
// }
|
|
127
|
-
//
|
|
128
|
-
// constructor(props: Schema) {
|
|
129
|
-
// this._props = props
|
|
130
|
-
// }
|
|
131
|
-
//
|
|
132
|
-
// public toJSON(): DeepReadonly<Schema> {
|
|
133
|
-
// return this._props as DeepReadonly<Schema>
|
|
134
|
-
// }
|
|
135
|
-
// }
|
|
136
|
-
//
|
|
137
|
-
// export abstract class Entity<Schema extends IWithID, PrivateSetters extends keyof Schema = never> {
|
|
138
|
-
// abstract validate(props: Schema): void
|
|
139
|
-
//
|
|
140
|
-
// get previousProps(): DeepReadonly<Schema> {
|
|
141
|
-
// return (this._previousProps || this._props) as DeepReadonly<Schema>
|
|
142
|
-
// }
|
|
143
|
-
//
|
|
144
|
-
// get props(): DeepReadonly<Schema> {
|
|
145
|
-
// return this._props as DeepReadonly<Schema>
|
|
146
|
-
// }
|
|
147
|
-
//
|
|
148
|
-
// public set<Key extends Exclude<keyof Schema, PrivateSetters | 'id'>>(key: Key, value: Schema[Key]): void {
|
|
149
|
-
// // Check if key is private
|
|
150
|
-
// if (key === 'id') throw new Error('Cannot set ID')
|
|
151
|
-
//
|
|
152
|
-
// // On the first change/set call, clone the props
|
|
153
|
-
// this._previousProps ??= this._cloneProps(this._props)
|
|
154
|
-
//
|
|
155
|
-
// // Clone current props
|
|
156
|
-
// const newProps = this._cloneProps(this._props)
|
|
157
|
-
//
|
|
158
|
-
// // Set new value
|
|
159
|
-
// newProps[key] = value
|
|
160
|
-
//
|
|
161
|
-
// // Validate (must be before setting _props)
|
|
162
|
-
// this.validate(newProps)
|
|
163
|
-
//
|
|
164
|
-
// this._props = newProps
|
|
165
|
-
//
|
|
166
|
-
// // Freeze props deeply in dev environment only
|
|
167
|
-
// if (process.env.NODE_ENV !== 'production') {
|
|
168
|
-
// this._deepFreeze(this._props)
|
|
169
|
-
// }
|
|
170
|
-
// }
|
|
171
|
-
//
|
|
172
|
-
// public toJSON(): DeepReadonly<Schema> {
|
|
173
|
-
// return this._props as DeepReadonly<Schema>
|
|
174
|
-
// }
|
|
175
|
-
//
|
|
176
|
-
// /* Only exists if the _props were changed */
|
|
177
|
-
// protected _previousProps?: Schema
|
|
178
|
-
// protected _props: Schema
|
|
179
|
-
//
|
|
180
|
-
// protected constructor(props: Schema) {
|
|
181
|
-
// this._props = props
|
|
182
|
-
// this._deepFreeze(this._props)
|
|
183
|
-
// }
|
|
184
|
-
//
|
|
185
|
-
// protected _cloneProps(obj: Schema): Schema {
|
|
186
|
-
// // clone values only, do not clone object configuration
|
|
187
|
-
// if (obj === null || typeof obj !== 'object') {
|
|
188
|
-
// return obj
|
|
189
|
-
// }
|
|
190
|
-
//
|
|
191
|
-
// // Handle Date objects specially
|
|
192
|
-
// if (obj instanceof Date) {
|
|
193
|
-
// return new Date(obj) as any
|
|
194
|
-
// }
|
|
195
|
-
//
|
|
196
|
-
// // Create a fresh object/array to avoid inheriting configurations
|
|
197
|
-
// const clone: any = Array.isArray(obj)
|
|
198
|
-
// ? ([] as any[])
|
|
199
|
-
// : ({} as Record<string, any>)
|
|
200
|
-
//
|
|
201
|
-
// // Copy each property value
|
|
202
|
-
// for (const key in obj) {
|
|
203
|
-
// if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
204
|
-
// const val = obj[key]
|
|
205
|
-
// // Recursively clone nested objects and arrays
|
|
206
|
-
// clone[key as any] =
|
|
207
|
-
// val && typeof val === 'object' ? this._cloneProps(val as any) : val
|
|
208
|
-
// }
|
|
209
|
-
// }
|
|
210
|
-
//
|
|
211
|
-
// return clone as Schema
|
|
212
|
-
// }
|
|
213
|
-
//
|
|
214
|
-
// protected _deepFreeze(obj: any): void {
|
|
215
|
-
// if (obj && typeof obj === 'object') {
|
|
216
|
-
// Object.freeze(obj)
|
|
217
|
-
// Object.getOwnPropertyNames(obj).forEach((prop) => {
|
|
218
|
-
// if (
|
|
219
|
-
// obj[prop] !== null &&
|
|
220
|
-
// (typeof obj[prop] === 'object' || typeof obj[prop] === 'function') &&
|
|
221
|
-
// !Object.isFrozen(obj[prop])
|
|
222
|
-
// ) {
|
|
223
|
-
// this._deepFreeze(obj[prop])
|
|
224
|
-
// }
|
|
225
|
-
// })
|
|
226
|
-
// }
|
|
227
|
-
// }
|
|
228
|
-
// }
|
|
229
117
|
//# sourceMappingURL=Entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/Entity/Entity.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/Entity/Entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { describe, it, expect, afterEach } from 'vitest';
|
|
2
|
-
import {
|
|
3
|
-
describe('
|
|
2
|
+
import { MutableEntity } from './Entity.js';
|
|
3
|
+
describe('MutableEntity', () => {
|
|
4
4
|
afterEach(() => {
|
|
5
5
|
process.env.NODE_ENV = 'development';
|
|
6
6
|
});
|
|
7
7
|
describe('Initialization', () => {
|
|
8
8
|
it('should initialize with props', () => {
|
|
9
|
-
class Profile extends
|
|
9
|
+
class Profile extends MutableEntity {
|
|
10
10
|
static create(props) {
|
|
11
11
|
return new Profile(props);
|
|
12
12
|
}
|
|
@@ -22,7 +22,7 @@ describe('Entity', () => {
|
|
|
22
22
|
});
|
|
23
23
|
describe('Props Immutability', () => {
|
|
24
24
|
it('should make props immutable in development mode', () => {
|
|
25
|
-
class Profile extends
|
|
25
|
+
class Profile extends MutableEntity {
|
|
26
26
|
static create(props) {
|
|
27
27
|
return new Profile({
|
|
28
28
|
...props,
|
|
@@ -53,7 +53,7 @@ describe('Entity', () => {
|
|
|
53
53
|
});
|
|
54
54
|
describe('set() method', () => {
|
|
55
55
|
it('should not allow setting the ID property', () => {
|
|
56
|
-
class Profile extends
|
|
56
|
+
class Profile extends MutableEntity {
|
|
57
57
|
static create(props) {
|
|
58
58
|
return new Profile(props);
|
|
59
59
|
}
|
|
@@ -70,7 +70,7 @@ describe('Entity', () => {
|
|
|
70
70
|
}).toThrow('Cannot set ID');
|
|
71
71
|
});
|
|
72
72
|
it('should update a property value', () => {
|
|
73
|
-
class Profile extends
|
|
73
|
+
class Profile extends MutableEntity {
|
|
74
74
|
static create(props) {
|
|
75
75
|
return new Profile({
|
|
76
76
|
...props,
|
|
@@ -88,7 +88,7 @@ describe('Entity', () => {
|
|
|
88
88
|
expect(profile.props.name).toBe('Updated');
|
|
89
89
|
});
|
|
90
90
|
it('should allow null/undefined values', () => {
|
|
91
|
-
class Profile extends
|
|
91
|
+
class Profile extends MutableEntity {
|
|
92
92
|
static create(props) {
|
|
93
93
|
return new Profile(props);
|
|
94
94
|
}
|
|
@@ -107,7 +107,7 @@ describe('Entity', () => {
|
|
|
107
107
|
expect(profile.props.maybe).toBe('value');
|
|
108
108
|
});
|
|
109
109
|
it('should create a new reference when updating props', () => {
|
|
110
|
-
class Profile extends
|
|
110
|
+
class Profile extends MutableEntity {
|
|
111
111
|
static create(props) {
|
|
112
112
|
return new Profile({
|
|
113
113
|
...props,
|
|
@@ -128,7 +128,7 @@ describe('Entity', () => {
|
|
|
128
128
|
});
|
|
129
129
|
it('should deeply clone objects when updating', () => {
|
|
130
130
|
const date = new Date();
|
|
131
|
-
class Profile extends
|
|
131
|
+
class Profile extends MutableEntity {
|
|
132
132
|
static create(props) {
|
|
133
133
|
return new Profile({
|
|
134
134
|
...props,
|
|
@@ -154,11 +154,11 @@ describe('Entity', () => {
|
|
|
154
154
|
expect(() => {
|
|
155
155
|
newMetadata.nested.value = 200;
|
|
156
156
|
}).toThrow();
|
|
157
|
-
//
|
|
157
|
+
// MutableEntity props should have the original value
|
|
158
158
|
expect(profile.props.metadata?.nested?.value).toBe(100);
|
|
159
159
|
});
|
|
160
160
|
it('should deeply clone arrays when updating', () => {
|
|
161
|
-
class Profile extends
|
|
161
|
+
class Profile extends MutableEntity {
|
|
162
162
|
static create(props) {
|
|
163
163
|
return new Profile({
|
|
164
164
|
...props,
|
|
@@ -174,19 +174,23 @@ describe('Entity', () => {
|
|
|
174
174
|
const tags = ['tag1', 'tag2'];
|
|
175
175
|
const profile = Profile.create({ id: '123', name: 'Test', tags });
|
|
176
176
|
// Modify the original array
|
|
177
|
-
expect(() => {
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
expect(() => {
|
|
178
|
+
tags.push('tag3');
|
|
179
|
+
}).toThrow;
|
|
180
|
+
expect(() => {
|
|
181
|
+
tags[0] = 'tag4';
|
|
182
|
+
}).toThrow;
|
|
183
|
+
// MutableEntity props should have the original value
|
|
180
184
|
expect(profile.props.tags.length).toBe(2);
|
|
181
185
|
expect(profile.props.tags[0]).toBe('tag1');
|
|
182
186
|
profile.set('tags', [...profile.props.tags, 'tag5', 'tag6']);
|
|
183
|
-
//
|
|
187
|
+
// MutableEntity props should have the new value
|
|
184
188
|
expect(profile.props.tags.length).toBe(4);
|
|
185
189
|
});
|
|
186
190
|
});
|
|
187
191
|
describe('Validation', () => {
|
|
188
192
|
it('should validate properties when setting values', () => {
|
|
189
|
-
class Profile extends
|
|
193
|
+
class Profile extends MutableEntity {
|
|
190
194
|
static create(props) {
|
|
191
195
|
return new Profile({
|
|
192
196
|
...props,
|
|
@@ -212,7 +216,7 @@ describe('Entity', () => {
|
|
|
212
216
|
expect(() => profile.set('tags', undefined)).toThrow('Tags cannot be empty');
|
|
213
217
|
});
|
|
214
218
|
it('should not update props if validation fails', () => {
|
|
215
|
-
class Profile extends
|
|
219
|
+
class Profile extends MutableEntity {
|
|
216
220
|
static create(props) {
|
|
217
221
|
return new Profile(props);
|
|
218
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Log.d.ts
CHANGED
package/dist/src/Log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Log.js","sourceRoot":"","sources":["../../src/Log.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,OAAgB,GAAG;
|
|
1
|
+
{"version":3,"file":"Log.js","sourceRoot":"","sources":["../../src/Log.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,OAAgB,GAAG;IACP,GAAG,CAAM;IAEzB,YAAY,GAAS;QACnB,IAAI,CAAC,GAAG,GAAG;YACT,KAAK,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;YACrD,IAAI,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;YACpD,IAAI,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;YACpD,KAAK,EAAE,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC;SACtD,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface ILogger {
|
|
2
|
+
debug(msg: string, ctx?: Record<any, any>): void;
|
|
3
|
+
info(msg: string, ctx?: Record<any, any>): void;
|
|
4
|
+
warn(msg: string, ctx?: Record<any, any>): void;
|
|
5
|
+
error(msg: string, ctx?: Record<any, any>): void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Logger class that provides a common interface for logging.
|
|
9
|
+
* This class is abstract and should be extended by a class that provides
|
|
10
|
+
* the actual logging implementation such as console, winston, etc.
|
|
11
|
+
*/
|
|
12
|
+
export declare abstract class Logger {
|
|
13
|
+
readonly log: ILogger;
|
|
14
|
+
constructor(log: ILogger);
|
|
15
|
+
get name(): string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger class that provides a common interface for logging.
|
|
3
|
+
* This class is abstract and should be extended by a class that provides
|
|
4
|
+
* the actual logging implementation such as console, winston, etc.
|
|
5
|
+
*/
|
|
6
|
+
export class Logger {
|
|
7
|
+
log;
|
|
8
|
+
constructor(log) {
|
|
9
|
+
this.log = {
|
|
10
|
+
error: (msg, ctx) => log.error(`[${this.constructor.name}] ${msg}`, ctx),
|
|
11
|
+
info: (msg, ctx) => log.info(`[${this.constructor.name}] ${msg}`, ctx),
|
|
12
|
+
warn: (msg, ctx) => log.warn(`[${this.constructor.name}] ${msg}`, ctx),
|
|
13
|
+
debug: (msg, ctx) => log.debug(`[${this.constructor.name}] ${msg}`, ctx),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
get name() {
|
|
17
|
+
return this.constructor.name;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=Logger.js.map
|