From d273ef47d4d975e0844789f903b881b7b2f69581 Mon Sep 17 00:00:00 2001 From: Zamralik Date: Thu, 2 Jul 2026 02:46:24 +0200 Subject: [PATCH 1/2] feat: predefined types --- packages/ddd/package.json | 2 +- packages/ddd/src/_index.mts | 1 + .../properties/repository-date/_index.mts | 1 - .../repository-date-meta-property.mts | 7 ++- .../repository-date-property-definition.mts | 12 +--- .../repository-status-meta-property.mts | 7 ++- .../repository-status-property-definition.mts | 13 +--- .../properties/uuid-v4/_index.mts | 2 - .../uuid-v4/uuid-v4-meta-property.mts | 7 ++- .../uuid-v4/uuid-v4-property-definition.mts | 13 +--- packages/ddd/src/predefined-type/_index.mts | 4 ++ .../ddd/src/predefined-type/date/_index.mts | 1 + .../date}/date-type-definition.mts | 2 +- .../predefined-type/lazy-reference/_index.mts | 3 + .../lazy-reference/lazy-reference.mts | 59 +++++++++++++++++++ .../lazy-reference/null-reference.mts | 27 +++++++++ .../nullable-lazy-reference.mts | 12 ++++ .../src/predefined-type/password/_index.mts | 5 ++ .../password/definition/_index.mts | 1 + .../password/definition/interface/_index.mts | 1 + .../password-instantiation.interface.mts | 8 +++ .../password/null-password.mts | 30 ++++++++++ .../password/nullable-password.mts | 9 +++ .../password/password.factory.mts | 43 ++++++++++++++ .../src/predefined-type/password/password.mts | 41 +++++++++++++ .../src/predefined-type/uuid-v4/_index.mts | 2 + .../uuid-v4/predicate/_index.mts | 0 .../uuid-v4/predicate/assert-uuid-v4.mts | 0 .../uuid-v4/uuid-v4-type-definition.mts | 2 +- 29 files changed, 270 insertions(+), 45 deletions(-) create mode 100644 packages/ddd/src/predefined-type/_index.mts create mode 100644 packages/ddd/src/predefined-type/date/_index.mts rename packages/ddd/src/{blank-record/properties/repository-date => predefined-type/date}/date-type-definition.mts (83%) create mode 100644 packages/ddd/src/predefined-type/lazy-reference/_index.mts create mode 100644 packages/ddd/src/predefined-type/lazy-reference/lazy-reference.mts create mode 100644 packages/ddd/src/predefined-type/lazy-reference/null-reference.mts create mode 100644 packages/ddd/src/predefined-type/lazy-reference/nullable-lazy-reference.mts create mode 100644 packages/ddd/src/predefined-type/password/_index.mts create mode 100644 packages/ddd/src/predefined-type/password/definition/_index.mts create mode 100644 packages/ddd/src/predefined-type/password/definition/interface/_index.mts create mode 100644 packages/ddd/src/predefined-type/password/definition/interface/password-instantiation.interface.mts create mode 100644 packages/ddd/src/predefined-type/password/null-password.mts create mode 100644 packages/ddd/src/predefined-type/password/nullable-password.mts create mode 100644 packages/ddd/src/predefined-type/password/password.factory.mts create mode 100644 packages/ddd/src/predefined-type/password/password.mts create mode 100644 packages/ddd/src/predefined-type/uuid-v4/_index.mts rename packages/ddd/src/{blank-record/properties => predefined-type}/uuid-v4/predicate/_index.mts (100%) rename packages/ddd/src/{blank-record/properties => predefined-type}/uuid-v4/predicate/assert-uuid-v4.mts (100%) rename packages/ddd/src/{blank-record/properties => predefined-type}/uuid-v4/uuid-v4-type-definition.mts (74%) diff --git a/packages/ddd/package.json b/packages/ddd/package.json index 8265c196..9c92adac 100755 --- a/packages/ddd/package.json +++ b/packages/ddd/package.json @@ -1,6 +1,6 @@ { "name": "@vitruvius-labs/ddd", - "version": "0.1.0", + "version": "0.1.1", "description": "", "author": { "name": "VitruviusLabs" diff --git a/packages/ddd/src/_index.mts b/packages/ddd/src/_index.mts index cc0a5ef3..c1034961 100644 --- a/packages/ddd/src/_index.mts +++ b/packages/ddd/src/_index.mts @@ -1,2 +1,3 @@ export * from "./base/_index.mjs"; export * from "./blank-record/_index.mjs"; +export * from "./predefined-type/_index.mjs"; diff --git a/packages/ddd/src/blank-record/properties/repository-date/_index.mts b/packages/ddd/src/blank-record/properties/repository-date/_index.mts index 424458fa..f35422d8 100644 --- a/packages/ddd/src/blank-record/properties/repository-date/_index.mts +++ b/packages/ddd/src/blank-record/properties/repository-date/_index.mts @@ -1,4 +1,3 @@ -export * from "./date-type-definition.mjs"; export * from "./last-update-date-meta-property.mjs"; export * from "./registration-date-meta-property.mjs"; export * from "./repository-date-meta-property.mjs"; diff --git a/packages/ddd/src/blank-record/properties/repository-date/repository-date-meta-property.mts b/packages/ddd/src/blank-record/properties/repository-date/repository-date-meta-property.mts index 6c93596c..259ff192 100644 --- a/packages/ddd/src/blank-record/properties/repository-date/repository-date-meta-property.mts +++ b/packages/ddd/src/blank-record/properties/repository-date/repository-date-meta-property.mts @@ -5,7 +5,7 @@ import { RepositoryDatePropertyDefinition } from "./repository-date-property-def import { PredefinedMetaProperty } from "../../../base/auxiliary/meta-property/predefined-meta-property.mjs"; import { RepositoryDateProperty } from "./repository-date-property.mjs"; import { NullableTypeDefinition } from "../../../base/auxiliary/type-definition/nullable-type-definition.mjs"; -import { DateTypeDefinition } from "./date-type-definition.mjs"; +import { DateTypeDefinition } from "../../../predefined-type/date/date-type-definition.mjs"; abstract class RepositoryDateMetaProperty extends PredefinedMetaProperty { @@ -26,7 +26,10 @@ abstract class RepositoryDateMetaProperty extends PredefinedMetaProperty = new NullableTypeDefinition(new DateTypeDefinition()); - return new RepositoryDatePropertyDefinition(this.getIdentifier(), type_definition); + return new RepositoryDatePropertyDefinition({ + identifier: this.getIdentifier(), + typeDefinition: type_definition, + }); } // eslint-disable-next-line @ts/class-methods-use-this diff --git a/packages/ddd/src/blank-record/properties/repository-date/repository-date-property-definition.mts b/packages/ddd/src/blank-record/properties/repository-date/repository-date-property-definition.mts index 3282a250..dbcbd005 100644 --- a/packages/ddd/src/blank-record/properties/repository-date/repository-date-property-definition.mts +++ b/packages/ddd/src/blank-record/properties/repository-date/repository-date-property-definition.mts @@ -1,15 +1,5 @@ -import type { BaseTypeDefinition } from "../../../base/auxiliary/type-definition/base-type-definition.mjs"; import { BasePropertyDefinition } from "../../../base/auxiliary/property-definition/base-property-definition.mjs"; -class RepositoryDatePropertyDefinition extends BasePropertyDefinition -{ - public constructor(identifier: string, type_definition: BaseTypeDefinition) - { - super({ - identifier: identifier, - typeDefinition: type_definition, - }); - } -} +class RepositoryDatePropertyDefinition extends BasePropertyDefinition {} export { RepositoryDatePropertyDefinition }; diff --git a/packages/ddd/src/blank-record/properties/repository-status/repository-status-meta-property.mts b/packages/ddd/src/blank-record/properties/repository-status/repository-status-meta-property.mts index 7401d84a..568ec778 100644 --- a/packages/ddd/src/blank-record/properties/repository-status/repository-status-meta-property.mts +++ b/packages/ddd/src/blank-record/properties/repository-status/repository-status-meta-property.mts @@ -3,13 +3,18 @@ import { PredefinedMetaProperty } from "../../../base/auxiliary/meta-property/pr import { RepositoryStatusEnum } from "./definition/enum/repository-status.enum.mjs"; import { RepositoryStatusPropertyDefinition } from "./repository-status-property-definition.mjs"; import { RepositoryStatusProperty } from "./repository-status-property.mjs"; +import { BlankRecordPropertyEnum } from "../../definition/enum/blank-record-property.enum.mjs"; +import { RepositoryStatusTypeDefinition } from "./repository-status-type-definition.mjs"; class RepositoryStatusMetaProperty extends PredefinedMetaProperty { // eslint-disable-next-line @ts/class-methods-use-this, @ts/require-await public async getPropertyDefinition(): Promise { - return new RepositoryStatusPropertyDefinition(); + return new RepositoryStatusPropertyDefinition({ + identifier: BlankRecordPropertyEnum.REPOSITORY_STATUS, + typeDefinition: new RepositoryStatusTypeDefinition(), + }); } // eslint-disable-next-line @ts/class-methods-use-this diff --git a/packages/ddd/src/blank-record/properties/repository-status/repository-status-property-definition.mts b/packages/ddd/src/blank-record/properties/repository-status/repository-status-property-definition.mts index ab302ae0..8493f042 100644 --- a/packages/ddd/src/blank-record/properties/repository-status/repository-status-property-definition.mts +++ b/packages/ddd/src/blank-record/properties/repository-status/repository-status-property-definition.mts @@ -1,17 +1,6 @@ import type { RepositoryStatusEnum } from "./definition/enum/repository-status.enum.mjs"; import { BasePropertyDefinition } from "../../../base/auxiliary/property-definition/base-property-definition.mjs"; -import { BlankRecordPropertyEnum } from "../../definition/enum/blank-record-property.enum.mjs"; -import { RepositoryStatusTypeDefinition } from "./repository-status-type-definition.mjs"; -class RepositoryStatusPropertyDefinition extends BasePropertyDefinition -{ - public constructor() - { - super({ - identifier: BlankRecordPropertyEnum.REPOSITORY_STATUS, - typeDefinition: new RepositoryStatusTypeDefinition(), - }); - } -} +class RepositoryStatusPropertyDefinition extends BasePropertyDefinition {} export { RepositoryStatusPropertyDefinition }; diff --git a/packages/ddd/src/blank-record/properties/uuid-v4/_index.mts b/packages/ddd/src/blank-record/properties/uuid-v4/_index.mts index 71cc69ee..34fe3dde 100644 --- a/packages/ddd/src/blank-record/properties/uuid-v4/_index.mts +++ b/packages/ddd/src/blank-record/properties/uuid-v4/_index.mts @@ -1,5 +1,3 @@ export type * from "./definition/_index.mjs"; -export * from "./predicate/_index.mjs"; export * from "./uuid-v4-meta-property.mjs"; export * from "./uuid-v4-property-definition.mjs"; -export * from "./uuid-v4-type-definition.mjs"; diff --git a/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-meta-property.mts b/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-meta-property.mts index 14c5a1fe..3f050acb 100644 --- a/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-meta-property.mts +++ b/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-meta-property.mts @@ -3,13 +3,18 @@ import type { BasePropertyInstantiationInterface } from "../../../base/auxiliary import { PredefinedMetaProperty } from "../../../base/auxiliary/meta-property/predefined-meta-property.mjs"; import { BaseImmutableProperty } from "../../../base/auxiliary/property/base-immutable-property.mjs"; import { UUIDv4PropertyDefinition } from "./uuid-v4-property-definition.mjs"; +import { BlankRecordPropertyEnum } from "../../definition/enum/blank-record-property.enum.mjs"; +import { UUIDv4TypeDefinition } from "../../../predefined-type/uuid-v4/uuid-v4-type-definition.mjs"; class UUIDv4MetaProperty extends PredefinedMetaProperty> { // eslint-disable-next-line @ts/class-methods-use-this, @ts/require-await public async getPropertyDefinition(): Promise { - return new UUIDv4PropertyDefinition(); + return new UUIDv4PropertyDefinition({ + identifier: BlankRecordPropertyEnum.UUID, + typeDefinition: new UUIDv4TypeDefinition(), + }); } // eslint-disable-next-line @ts/class-methods-use-this diff --git a/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-property-definition.mts b/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-property-definition.mts index 6c41ec0c..1fe780b0 100644 --- a/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-property-definition.mts +++ b/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-property-definition.mts @@ -1,17 +1,6 @@ import type { UUID } from "node:crypto"; import { BasePropertyDefinition } from "../../../base/auxiliary/property-definition/base-property-definition.mjs"; -import { UUIDv4TypeDefinition } from "./uuid-v4-type-definition.mjs"; -import { BlankRecordPropertyEnum } from "../../definition/enum/blank-record-property.enum.mjs"; -class UUIDv4PropertyDefinition extends BasePropertyDefinition -{ - public constructor() - { - super({ - identifier: BlankRecordPropertyEnum.UUID, - typeDefinition: new UUIDv4TypeDefinition(), - }); - } -} +class UUIDv4PropertyDefinition extends BasePropertyDefinition {} export { UUIDv4PropertyDefinition }; diff --git a/packages/ddd/src/predefined-type/_index.mts b/packages/ddd/src/predefined-type/_index.mts new file mode 100644 index 00000000..78d99b7a --- /dev/null +++ b/packages/ddd/src/predefined-type/_index.mts @@ -0,0 +1,4 @@ +export * from "./date/_index.mjs"; +export * from "./lazy-reference/_index.mjs"; +export * from "./password/_index.mjs"; +export * from "./uuid-v4/_index.mjs"; diff --git a/packages/ddd/src/predefined-type/date/_index.mts b/packages/ddd/src/predefined-type/date/_index.mts new file mode 100644 index 00000000..e7075449 --- /dev/null +++ b/packages/ddd/src/predefined-type/date/_index.mts @@ -0,0 +1 @@ +export * from "./date-type-definition.mjs"; diff --git a/packages/ddd/src/blank-record/properties/repository-date/date-type-definition.mts b/packages/ddd/src/predefined-type/date/date-type-definition.mts similarity index 83% rename from packages/ddd/src/blank-record/properties/repository-date/date-type-definition.mts rename to packages/ddd/src/predefined-type/date/date-type-definition.mts index bb1afd7c..1ea0396d 100644 --- a/packages/ddd/src/blank-record/properties/repository-date/date-type-definition.mts +++ b/packages/ddd/src/predefined-type/date/date-type-definition.mts @@ -1,5 +1,5 @@ import { ValidationError } from "@vitruvius-labs/ts-predicate"; -import { BaseRequiredTypeDefinition } from "../../../base/auxiliary/type-definition/base-required-type-definition.mjs"; +import { BaseRequiredTypeDefinition } from "../../base/auxiliary/type-definition/base-required-type-definition.mjs"; class DateTypeDefinition extends BaseRequiredTypeDefinition { diff --git a/packages/ddd/src/predefined-type/lazy-reference/_index.mts b/packages/ddd/src/predefined-type/lazy-reference/_index.mts new file mode 100644 index 00000000..5ce0f9c0 --- /dev/null +++ b/packages/ddd/src/predefined-type/lazy-reference/_index.mts @@ -0,0 +1,3 @@ +export * from "./lazy-reference.mjs"; +export * from "./null-reference.mjs"; +export * from "./nullable-lazy-reference.mjs"; diff --git a/packages/ddd/src/predefined-type/lazy-reference/lazy-reference.mts b/packages/ddd/src/predefined-type/lazy-reference/lazy-reference.mts new file mode 100644 index 00000000..b73b7aa6 --- /dev/null +++ b/packages/ddd/src/predefined-type/lazy-reference/lazy-reference.mts @@ -0,0 +1,59 @@ +import type { BaseRecord } from "../../base/primary/base-record.mjs"; +import { NullableLazyReference } from "./nullable-lazy-reference.mjs"; + +abstract class LazyReference extends NullableLazyReference +{ + protected readonly uuid: string; + protected cacheable: boolean; + protected cachedRecord: T | undefined; + + public constructor(uuid: string) + { + super(); + + this.uuid = uuid; + this.cacheable = true; + this.cachedRecord = undefined; + } + + protected abstract fetchRecord(): Promise; + + public getUUID(): string + { + return this.uuid; + } + + public async getRecord(): Promise + { + if (this.cachedRecord !== undefined) + { + return this.cachedRecord; + } + + const record: T = await this.fetchRecord(); + + if (this.cacheable) + { + this.cachedRecord = record; + } + + return record; + } + + public enableCaching(): void + { + this.cacheable = true; + } + + public disableCaching(): void + { + this.cacheable = false; + } + + public clearCachedRecord(): void + { + this.cachedRecord = undefined; + } +} + +export { LazyReference }; diff --git a/packages/ddd/src/predefined-type/lazy-reference/null-reference.mts b/packages/ddd/src/predefined-type/lazy-reference/null-reference.mts new file mode 100644 index 00000000..43f46436 --- /dev/null +++ b/packages/ddd/src/predefined-type/lazy-reference/null-reference.mts @@ -0,0 +1,27 @@ +import { NullableLazyReference } from "./nullable-lazy-reference.mjs"; + +class NullReference extends NullableLazyReference +{ + // eslint-disable-next-line @ts/class-methods-use-this + public getUUID(): null + { + return null; + } + + // eslint-disable-next-line @ts/class-methods-use-this, @ts/require-await + public async getRecord(): Promise + { + return null; + } + + // eslint-disable-next-line @ts/class-methods-use-this, @ts/no-empty-function + public enableCaching(): void {} + + // eslint-disable-next-line @ts/class-methods-use-this, @ts/no-empty-function + public disableCaching(): void {} + + // eslint-disable-next-line @ts/class-methods-use-this, @ts/no-empty-function + public clearCachedRecord(): void {} +} + +export { NullReference }; diff --git a/packages/ddd/src/predefined-type/lazy-reference/nullable-lazy-reference.mts b/packages/ddd/src/predefined-type/lazy-reference/nullable-lazy-reference.mts new file mode 100644 index 00000000..d781fc4e --- /dev/null +++ b/packages/ddd/src/predefined-type/lazy-reference/nullable-lazy-reference.mts @@ -0,0 +1,12 @@ +import type { BaseRecord } from "../../base/primary/base-record.mjs"; + +abstract class NullableLazyReference +{ + public abstract getUUID(): string | null; + public abstract getRecord(): Promise; + public abstract enableCaching(): void; + public abstract disableCaching(): void; + public abstract clearCachedRecord(): void; +} + +export { NullableLazyReference }; diff --git a/packages/ddd/src/predefined-type/password/_index.mts b/packages/ddd/src/predefined-type/password/_index.mts new file mode 100644 index 00000000..67e3eba3 --- /dev/null +++ b/packages/ddd/src/predefined-type/password/_index.mts @@ -0,0 +1,5 @@ +export type * from "./definition/_index.mjs"; +export * from "./null-password.mjs"; +export * from "./nullable-password.mjs"; +export * from "./password.factory.mjs"; +export * from "./password.mjs"; diff --git a/packages/ddd/src/predefined-type/password/definition/_index.mts b/packages/ddd/src/predefined-type/password/definition/_index.mts new file mode 100644 index 00000000..599259a0 --- /dev/null +++ b/packages/ddd/src/predefined-type/password/definition/_index.mts @@ -0,0 +1 @@ +export type * from "./interface/_index.mjs"; diff --git a/packages/ddd/src/predefined-type/password/definition/interface/_index.mts b/packages/ddd/src/predefined-type/password/definition/interface/_index.mts new file mode 100644 index 00000000..ed545e60 --- /dev/null +++ b/packages/ddd/src/predefined-type/password/definition/interface/_index.mts @@ -0,0 +1 @@ +export type * from "./password-instantiation.interface.mjs"; diff --git a/packages/ddd/src/predefined-type/password/definition/interface/password-instantiation.interface.mts b/packages/ddd/src/predefined-type/password/definition/interface/password-instantiation.interface.mts new file mode 100644 index 00000000..188e58c2 --- /dev/null +++ b/packages/ddd/src/predefined-type/password/definition/interface/password-instantiation.interface.mts @@ -0,0 +1,8 @@ +interface PasswordInstantiationInterface +{ + algorithm: string; + salt: string; + hash: string; +} + +export type { PasswordInstantiationInterface }; diff --git a/packages/ddd/src/predefined-type/password/null-password.mts b/packages/ddd/src/predefined-type/password/null-password.mts new file mode 100644 index 00000000..58ad446b --- /dev/null +++ b/packages/ddd/src/predefined-type/password/null-password.mts @@ -0,0 +1,30 @@ +import { NullablePassword } from "./nullable-password.mjs"; + +class NullPassword extends NullablePassword +{ + // eslint-disable-next-line @ts/class-methods-use-this + public getAlgorithm(): null + { + return null; + } + + // eslint-disable-next-line @ts/class-methods-use-this + public getSalt(): null + { + return null; + } + + // eslint-disable-next-line @ts/class-methods-use-this + public getHash(): null + { + return null; + } + + // eslint-disable-next-line @ts/class-methods-use-this + public verify(): false + { + return false; + } +} + +export { NullPassword }; diff --git a/packages/ddd/src/predefined-type/password/nullable-password.mts b/packages/ddd/src/predefined-type/password/nullable-password.mts new file mode 100644 index 00000000..3097c0b3 --- /dev/null +++ b/packages/ddd/src/predefined-type/password/nullable-password.mts @@ -0,0 +1,9 @@ +abstract class NullablePassword +{ + public abstract getAlgorithm(): string | null; + public abstract getSalt(): string | null; + public abstract getHash(): string | null; + public abstract verify(password: string): boolean; +} + +export { NullablePassword }; diff --git a/packages/ddd/src/predefined-type/password/password.factory.mts b/packages/ddd/src/predefined-type/password/password.factory.mts new file mode 100644 index 00000000..89236433 --- /dev/null +++ b/packages/ddd/src/predefined-type/password/password.factory.mts @@ -0,0 +1,43 @@ +import { hash as crypto_hash } from "node:crypto"; +import type { NullablePassword } from "./nullable-password.mjs"; +import { NullPassword } from "./null-password.mjs"; +import { Password } from "./password.mjs"; + +class PasswordFactory +{ + public static CreateNew(algorithm: string, salt: string, password: string): Password + { + const hash: string = crypto_hash(algorithm, password + salt); + + return new Password({ + algorithm: algorithm, + salt: salt, + hash: hash, + }); + } + + public static CreateExisting(algorithm: string, salt: string, hash: string): NullablePassword + { + return new Password({ + algorithm: algorithm, + salt: salt, + hash: hash, + }); + } + + public static CreateNullable(algorithm: string | null, salt: string | null, hash: string | null): NullablePassword + { + if (algorithm === null || salt === null || hash === null) + { + return new NullPassword(); + } + + return new Password({ + algorithm: algorithm, + salt: salt, + hash: hash, + }); + } +} + +export { PasswordFactory }; diff --git a/packages/ddd/src/predefined-type/password/password.mts b/packages/ddd/src/predefined-type/password/password.mts new file mode 100644 index 00000000..00da818a --- /dev/null +++ b/packages/ddd/src/predefined-type/password/password.mts @@ -0,0 +1,41 @@ +import { hash as crypto_hash } from "node:crypto"; +import type { PasswordInstantiationInterface } from "./definition/interface/password-instantiation.interface.mjs"; +import { NullablePassword } from "./nullable-password.mjs"; + +class Password extends NullablePassword +{ + protected readonly algorithm: string; + protected readonly salt: string; + protected readonly hash: string; + + public constructor(parameters: PasswordInstantiationInterface) + { + super(); + + this.algorithm = parameters.algorithm; + this.salt = parameters.salt; + this.hash = parameters.hash; + } + + public getAlgorithm(): string + { + return this.algorithm; + } + + public getSalt(): string + { + return this.salt; + } + + public getHash(): string + { + return this.hash; + } + + public verify(password: string): boolean + { + return this.hash === crypto_hash(this.algorithm, password + this.salt); + } +} + +export { Password }; diff --git a/packages/ddd/src/predefined-type/uuid-v4/_index.mts b/packages/ddd/src/predefined-type/uuid-v4/_index.mts new file mode 100644 index 00000000..fa1fa6e2 --- /dev/null +++ b/packages/ddd/src/predefined-type/uuid-v4/_index.mts @@ -0,0 +1,2 @@ +export * from "./predicate/_index.mjs"; +export * from "./uuid-v4-type-definition.mjs"; diff --git a/packages/ddd/src/blank-record/properties/uuid-v4/predicate/_index.mts b/packages/ddd/src/predefined-type/uuid-v4/predicate/_index.mts similarity index 100% rename from packages/ddd/src/blank-record/properties/uuid-v4/predicate/_index.mts rename to packages/ddd/src/predefined-type/uuid-v4/predicate/_index.mts diff --git a/packages/ddd/src/blank-record/properties/uuid-v4/predicate/assert-uuid-v4.mts b/packages/ddd/src/predefined-type/uuid-v4/predicate/assert-uuid-v4.mts similarity index 100% rename from packages/ddd/src/blank-record/properties/uuid-v4/predicate/assert-uuid-v4.mts rename to packages/ddd/src/predefined-type/uuid-v4/predicate/assert-uuid-v4.mts diff --git a/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-type-definition.mts b/packages/ddd/src/predefined-type/uuid-v4/uuid-v4-type-definition.mts similarity index 74% rename from packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-type-definition.mts rename to packages/ddd/src/predefined-type/uuid-v4/uuid-v4-type-definition.mts index ab4eaed3..8e03b572 100644 --- a/packages/ddd/src/blank-record/properties/uuid-v4/uuid-v4-type-definition.mts +++ b/packages/ddd/src/predefined-type/uuid-v4/uuid-v4-type-definition.mts @@ -1,5 +1,5 @@ import type { UUID } from "node:crypto"; -import { BaseRequiredTypeDefinition } from "../../../base/auxiliary/type-definition/base-required-type-definition.mjs"; +import { BaseRequiredTypeDefinition } from "../../base/auxiliary/type-definition/base-required-type-definition.mjs"; import { assertUUIDv4 } from "./predicate/assert-uuid-v4.mjs"; class UUIDv4TypeDefinition extends BaseRequiredTypeDefinition From e18551019c851feb78d4326c69353fdde8221189 Mon Sep 17 00:00:00 2001 From: Zamralik Date: Thu, 2 Jul 2026 22:54:47 +0200 Subject: [PATCH 2/2] fix: remove dependency to toolbox --- packages/ddd/package.json | 3 +-- pnpm-lock.yaml | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/ddd/package.json b/packages/ddd/package.json index 9c92adac..e54f79ce 100755 --- a/packages/ddd/package.json +++ b/packages/ddd/package.json @@ -46,7 +46,6 @@ "ci:build": "pnpm build" }, "dependencies": { - "@vitruvius-labs/ts-predicate": "workspace:^", - "@vitruvius-labs/toolbox": "workspace:^" + "@vitruvius-labs/ts-predicate": "workspace:^" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 26343cc8..883499c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,9 +112,6 @@ importers: packages/ddd: dependencies: - '@vitruvius-labs/toolbox': - specifier: workspace:^ - version: link:../toolbox '@vitruvius-labs/ts-predicate': specifier: workspace:^ version: link:../ts-predicate