@schorts/shared-kernel 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +15 -0
- package/README.md +5 -0
- package/__tests__/dao/dao.test.ts +116 -0
- package/__tests__/unit-of-work/unit-of-work.test.ts +47 -0
- package/dist/auth/auth-provider.d.ts +10 -0
- package/dist/auth/auth-provider.d.ts.map +1 -0
- package/dist/auth/auth-provider.js +3 -0
- package/dist/auth/auth-provider.js.map +1 -0
- package/dist/auth/exceptions/index.d.ts +2 -0
- package/dist/auth/exceptions/index.d.ts.map +1 -0
- package/dist/auth/exceptions/index.js +6 -0
- package/dist/auth/exceptions/index.js.map +1 -0
- package/dist/auth/exceptions/not-authenticated.d.ts +3 -0
- package/dist/auth/exceptions/not-authenticated.d.ts.map +1 -0
- package/dist/auth/exceptions/not-authenticated.js +7 -0
- package/dist/auth/exceptions/not-authenticated.js.map +1 -0
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/require-auth.decorator.d.ts +5 -0
- package/dist/auth/require-auth.decorator.d.ts.map +1 -0
- package/dist/auth/require-auth.decorator.js +36 -0
- package/dist/auth/require-auth.decorator.js.map +1 -0
- package/dist/criteria/criteria.d.ts +15 -0
- package/dist/criteria/criteria.d.ts.map +1 -0
- package/dist/criteria/criteria.js +34 -0
- package/dist/criteria/criteria.js.map +1 -0
- package/dist/criteria/direction.d.ts +2 -0
- package/dist/criteria/direction.d.ts.map +1 -0
- package/dist/criteria/direction.js +3 -0
- package/dist/criteria/direction.js.map +1 -0
- package/dist/criteria/exceptions/index.d.ts +3 -0
- package/dist/criteria/exceptions/index.d.ts.map +1 -0
- package/dist/criteria/exceptions/index.js +8 -0
- package/dist/criteria/exceptions/index.js.map +1 -0
- package/dist/criteria/exceptions/limit-not-valid.d.ts +3 -0
- package/dist/criteria/exceptions/limit-not-valid.d.ts.map +1 -0
- package/dist/criteria/exceptions/limit-not-valid.js +7 -0
- package/dist/criteria/exceptions/limit-not-valid.js.map +1 -0
- package/dist/criteria/exceptions/offset-not-valid.d.ts +3 -0
- package/dist/criteria/exceptions/offset-not-valid.d.ts.map +1 -0
- package/dist/criteria/exceptions/offset-not-valid.js +7 -0
- package/dist/criteria/exceptions/offset-not-valid.js.map +1 -0
- package/dist/criteria/filter-criterion.d.ts +6 -0
- package/dist/criteria/filter-criterion.d.ts.map +1 -0
- package/dist/criteria/filter-criterion.js +3 -0
- package/dist/criteria/filter-criterion.js.map +1 -0
- package/dist/criteria/index.d.ts +7 -0
- package/dist/criteria/index.d.ts.map +1 -0
- package/dist/criteria/index.js +9 -0
- package/dist/criteria/index.js.map +1 -0
- package/dist/criteria/operator.d.ts +2 -0
- package/dist/criteria/operator.d.ts.map +1 -0
- package/dist/criteria/operator.js +3 -0
- package/dist/criteria/operator.js.map +1 -0
- package/dist/criteria/order.d.ts +5 -0
- package/dist/criteria/order.d.ts.map +1 -0
- package/dist/criteria/order.js +3 -0
- package/dist/criteria/order.js.map +1 -0
- package/dist/domain-events/domain-event-primitives.d.ts +8 -0
- package/dist/domain-events/domain-event-primitives.d.ts.map +1 -0
- package/dist/domain-events/domain-event-primitives.js +3 -0
- package/dist/domain-events/domain-event-primitives.js.map +1 -0
- package/dist/domain-events/domain-event.d.ts +13 -0
- package/dist/domain-events/domain-event.d.ts.map +1 -0
- package/dist/domain-events/domain-event.js +19 -0
- package/dist/domain-events/domain-event.js.map +1 -0
- package/dist/domain-events/index.d.ts +3 -0
- package/dist/domain-events/index.d.ts.map +1 -0
- package/dist/domain-events/index.js +6 -0
- package/dist/domain-events/index.js.map +1 -0
- package/dist/entities/entity.d.ts +12 -0
- package/dist/entities/entity.d.ts.map +1 -0
- package/dist/entities/entity.js +20 -0
- package/dist/entities/entity.js.map +1 -0
- package/dist/entities/index.d.ts +2 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +6 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/formatters/index.d.ts +2 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +6 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/formatters/pascal-camel-to-snake.d.ts +4 -0
- package/dist/formatters/pascal-camel-to-snake.d.ts.map +1 -0
- package/dist/formatters/pascal-camel-to-snake.js +13 -0
- package/dist/formatters/pascal-camel-to-snake.js.map +1 -0
- package/dist/http/exceptions/http-exception.d.ts +6 -0
- package/dist/http/exceptions/http-exception.d.ts.map +1 -0
- package/dist/http/exceptions/http-exception.js +14 -0
- package/dist/http/exceptions/http-exception.js.map +1 -0
- package/dist/http/exceptions/index.d.ts +2 -0
- package/dist/http/exceptions/index.d.ts.map +1 -0
- package/dist/http/exceptions/index.js +6 -0
- package/dist/http/exceptions/index.js.map +1 -0
- package/dist/http/fetch-http-provider.d.ts +13 -0
- package/dist/http/fetch-http-provider.d.ts.map +1 -0
- package/dist/http/fetch-http-provider.js +88 -0
- package/dist/http/fetch-http-provider.js.map +1 -0
- package/dist/http/http-provider.d.ts +8 -0
- package/dist/http/http-provider.d.ts.map +1 -0
- package/dist/http/http-provider.js +3 -0
- package/dist/http/http-provider.js.map +1 -0
- package/dist/http/index.d.ts +4 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +8 -0
- package/dist/http/index.js.map +1 -0
- package/dist/json-api/index.d.ts +5 -0
- package/dist/json-api/index.d.ts.map +1 -0
- package/dist/json-api/index.js +8 -0
- package/dist/json-api/index.js.map +1 -0
- package/dist/json-api/json-api-connector.d.ts +21 -0
- package/dist/json-api/json-api-connector.d.ts.map +1 -0
- package/dist/json-api/json-api-connector.js +29 -0
- package/dist/json-api/json-api-connector.js.map +1 -0
- package/dist/json-api/json-api-list.d.ts +14 -0
- package/dist/json-api/json-api-list.d.ts.map +1 -0
- package/dist/json-api/json-api-list.js +3 -0
- package/dist/json-api/json-api-list.js.map +1 -0
- package/dist/json-api/json-api-single.d.ts +14 -0
- package/dist/json-api/json-api-single.d.ts.map +1 -0
- package/dist/json-api/json-api-single.js +3 -0
- package/dist/json-api/json-api-single.js.map +1 -0
- package/dist/json-api/url-criteria-builder.d.ts +9 -0
- package/dist/json-api/url-criteria-builder.d.ts.map +1 -0
- package/dist/json-api/url-criteria-builder.js +49 -0
- package/dist/json-api/url-criteria-builder.js.map +1 -0
- package/dist/messages/index.d.ts +2 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/index.js +3 -0
- package/dist/messages/index.js.map +1 -0
- package/dist/messages/message.d.ts +4 -0
- package/dist/messages/message.d.ts.map +1 -0
- package/dist/messages/message.js +3 -0
- package/dist/messages/message.js.map +1 -0
- package/dist/models/base-model.d.ts +4 -0
- package/dist/models/base-model.d.ts.map +1 -0
- package/dist/models/base-model.js +3 -0
- package/dist/models/base-model.js.map +1 -0
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +3 -0
- package/dist/models/index.js.map +1 -0
- package/dist/state-manager/index.d.ts +2 -0
- package/dist/state-manager/index.d.ts.map +1 -0
- package/dist/state-manager/index.js +6 -0
- package/dist/state-manager/index.js.map +1 -0
- package/dist/state-manager/state-manager.d.ts +12 -0
- package/dist/state-manager/state-manager.d.ts.map +1 -0
- package/dist/state-manager/state-manager.js +24 -0
- package/dist/state-manager/state-manager.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/url/index.d.ts +2 -0
- package/dist/utils/url/index.d.ts.map +1 -0
- package/dist/utils/url/index.js +6 -0
- package/dist/utils/url/index.js.map +1 -0
- package/dist/utils/url/url-with-params-builder.d.ts +7 -0
- package/dist/utils/url/url-with-params-builder.d.ts.map +1 -0
- package/dist/utils/url/url-with-params-builder.js +25 -0
- package/dist/utils/url/url-with-params-builder.js.map +1 -0
- package/dist/value-objects/coordinates-value.d.ts +15 -0
- package/dist/value-objects/coordinates-value.d.ts.map +1 -0
- package/dist/value-objects/coordinates-value.js +39 -0
- package/dist/value-objects/coordinates-value.js.map +1 -0
- package/dist/value-objects/email-value.d.ts +10 -0
- package/dist/value-objects/email-value.d.ts.map +1 -0
- package/dist/value-objects/email-value.js +23 -0
- package/dist/value-objects/email-value.js.map +1 -0
- package/dist/value-objects/enum-value.d.ts +11 -0
- package/dist/value-objects/enum-value.d.ts.map +1 -0
- package/dist/value-objects/enum-value.js +24 -0
- package/dist/value-objects/enum-value.js.map +1 -0
- package/dist/value-objects/index.d.ts +10 -0
- package/dist/value-objects/index.d.ts.map +1 -0
- package/dist/value-objects/index.js +20 -0
- package/dist/value-objects/index.js.map +1 -0
- package/dist/value-objects/integer-value.d.ts +12 -0
- package/dist/value-objects/integer-value.d.ts.map +1 -0
- package/dist/value-objects/integer-value.js +28 -0
- package/dist/value-objects/integer-value.js.map +1 -0
- package/dist/value-objects/phone-value.d.ts +13 -0
- package/dist/value-objects/phone-value.d.ts.map +1 -0
- package/dist/value-objects/phone-value.js +43 -0
- package/dist/value-objects/phone-value.js.map +1 -0
- package/dist/value-objects/slug-value.d.ts +10 -0
- package/dist/value-objects/slug-value.d.ts.map +1 -0
- package/dist/value-objects/slug-value.js +23 -0
- package/dist/value-objects/slug-value.js.map +1 -0
- package/dist/value-objects/string-value.d.ts +12 -0
- package/dist/value-objects/string-value.d.ts.map +1 -0
- package/dist/value-objects/string-value.js +26 -0
- package/dist/value-objects/string-value.js.map +1 -0
- package/dist/value-objects/uuid-value.d.ts +13 -0
- package/dist/value-objects/uuid-value.d.ts.map +1 -0
- package/dist/value-objects/uuid-value.js +29 -0
- package/dist/value-objects/uuid-value.js.map +1 -0
- package/dist/value-objects/value-object.d.ts +8 -0
- package/dist/value-objects/value-object.d.ts.map +1 -0
- package/dist/value-objects/value-object.js +3 -0
- package/dist/value-objects/value-object.js.map +1 -0
- package/jest.config.js +2 -2
- package/package.json +10 -1
- package/src/dao/dao.ts +13 -0
- package/src/dao/index.ts +1 -0
- package/src/unit-of-work/index.ts +1 -0
- package/src/unit-of-work/unit-of-work.ts +5 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ValueObject } from "./";
|
|
2
|
+
type UUIDInput<Required extends boolean> = Required extends true ? string : string | undefined;
|
|
3
|
+
export declare abstract class UUIDValue<Required extends boolean = true> implements ValueObject {
|
|
4
|
+
readonly valueType = "UUID";
|
|
5
|
+
readonly value: UUIDInput<Required>;
|
|
6
|
+
private readonly optional;
|
|
7
|
+
constructor(value: UUIDInput<Required>, optional?: boolean);
|
|
8
|
+
get isValid(): boolean;
|
|
9
|
+
equals(valueObject: unknown): boolean;
|
|
10
|
+
abstract readonly attributeName: string;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=uuid-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid-value.d.ts","sourceRoot":"","sources":["../../src/value-objects/uuid-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAItC,KAAK,SAAS,CAAC,QAAQ,SAAS,OAAO,IACrC,QAAQ,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD,8BAAsB,SAAS,CAAC,QAAQ,SAAS,OAAO,GAAG,IAAI,CAAE,YAAW,WAAW;IACrF,QAAQ,CAAC,SAAS,UAAU;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEvB,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAE,OAAe;IAKjE,IAAI,OAAO,IAAI,OAAO,CAMrB;IAED,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAOrC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CACzC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UUIDValue = void 0;
|
|
4
|
+
const REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
5
|
+
class UUIDValue {
|
|
6
|
+
valueType = "UUID";
|
|
7
|
+
value;
|
|
8
|
+
optional;
|
|
9
|
+
constructor(value, optional = false) {
|
|
10
|
+
this.value = value;
|
|
11
|
+
this.optional = optional;
|
|
12
|
+
}
|
|
13
|
+
get isValid() {
|
|
14
|
+
return this.optional
|
|
15
|
+
? this.value
|
|
16
|
+
? REGEX.test(this.value)
|
|
17
|
+
: true
|
|
18
|
+
: REGEX.test(this.value);
|
|
19
|
+
}
|
|
20
|
+
equals(valueObject) {
|
|
21
|
+
if (!(valueObject instanceof UUIDValue))
|
|
22
|
+
return false;
|
|
23
|
+
if (!this.isValid || !valueObject.isValid)
|
|
24
|
+
return false;
|
|
25
|
+
return this.value === valueObject.value;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.UUIDValue = UUIDValue;
|
|
29
|
+
//# sourceMappingURL=uuid-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid-value.js","sourceRoot":"","sources":["../../src/value-objects/uuid-value.ts"],"names":[],"mappings":";;;AAEA,MAAM,KAAK,GAAG,4EAA4E,CAAC;AAK3F,MAAsB,SAAS;IACpB,SAAS,GAAG,MAAM,CAAC;IACnB,KAAK,CAAsB;IACnB,QAAQ,CAAU;IAEnC,YAAY,KAA0B,EAAE,WAAoB,KAAK;QAC/D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ;YACZ,CAAC,CAAC,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxB,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAoB;QACzB,IAAI,CAAC,CAAC,WAAW,YAAY,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAExD,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC;IAC1C,CAAC;CAGF;AA1BD,8BA0BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-object.d.ts","sourceRoot":"","sources":["../../src/value-objects/value-object.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-object.js","sourceRoot":"","sources":["../../src/value-objects/value-object.ts"],"names":[],"mappings":""}
|
package/jest.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schorts/shared-kernel",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "A modular, type-safe foundation for building expressive, maintainable applications. This package provides core abstractions for domain modeling, HTTP integration, authentication, state management, and more — designed to be framework-agnostic and highly extensible.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
"import": "./dist/criteria/index.js",
|
|
14
14
|
"types": "./dist/criteria/index.d.ts"
|
|
15
15
|
},
|
|
16
|
+
"./dao": {
|
|
17
|
+
"import": "./dist/dao/index.js",
|
|
18
|
+
"types": "./dist/dao/index.d.ts"
|
|
19
|
+
},
|
|
16
20
|
"./domain-events": {
|
|
17
21
|
"import": "./dist/domain-events/index.js",
|
|
18
22
|
"types": "./dist/domain-events/index.d.ts"
|
|
@@ -41,6 +45,10 @@
|
|
|
41
45
|
"import": "./dist/models/index.js",
|
|
42
46
|
"types": "./dist/models/index.d.ts"
|
|
43
47
|
},
|
|
48
|
+
"./unit-of-work": {
|
|
49
|
+
"import": "./dist/unit-of-work/index.js",
|
|
50
|
+
"types": "./dist/unit-of-work/index.d.ts"
|
|
51
|
+
},
|
|
44
52
|
"./utils": {
|
|
45
53
|
"import": "./dist/utils/index.js",
|
|
46
54
|
"types": "./dist/utils/index.d.ts"
|
|
@@ -81,6 +89,7 @@
|
|
|
81
89
|
"shared-kernel",
|
|
82
90
|
"auth",
|
|
83
91
|
"jsonapi",
|
|
92
|
+
"dao",
|
|
84
93
|
"kernel",
|
|
85
94
|
"value-objects",
|
|
86
95
|
"criteria",
|
package/src/dao/dao.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseModel } from "../models";
|
|
2
|
+
import { Entity as BaseEntity } from "../entities";
|
|
3
|
+
import { Criteria } from "../criteria";
|
|
4
|
+
|
|
5
|
+
export interface DAO<Model extends BaseModel, Entity extends BaseEntity<Model>> {
|
|
6
|
+
getAll(): Promise<Entity[]>;
|
|
7
|
+
findByID(id: Entity["id"]["value"]): Promise<Entity | null>;
|
|
8
|
+
findOneBy(criteria: Criteria): Promise<Entity | null>;
|
|
9
|
+
search(criteria: Criteria): Promise<Entity[]>;
|
|
10
|
+
create(entity: Entity): Promise<Entity>;
|
|
11
|
+
update(entity: Entity): Promise<Entity>;
|
|
12
|
+
delete(entity: Entity): Promise<Entity>;
|
|
13
|
+
}
|
package/src/dao/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { DAO } from "./dao";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { UnitOfWork } from "./unit-of-work";
|