@mrxsys/mrx-core 2.4.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +329 -31
- package/README.md +3 -3
- package/dist/chunk-1a3wj3m1.js +272 -0
- package/dist/chunk-370444pc.js +43 -0
- package/dist/chunk-5qtpggzv.js +38 -0
- package/dist/chunk-84mqvfsk.js +69 -0
- package/dist/chunk-cq973ydc.js +82 -0
- package/dist/chunk-f5z7x01b.js +352 -0
- package/dist/chunk-pc66jgqv.js +220 -0
- package/dist/chunk-s07amdhx.js +77 -0
- package/dist/chunk-v8v7982b.js +58 -0
- package/dist/chunk-vknq69e0.js +23 -0
- package/dist/chunk-yvyahr2h.js +40 -0
- package/dist/errors/baseError.d.ts +9 -0
- package/dist/errors/enums/httpErrorStatusCodes.d.ts +42 -0
- package/dist/errors/httpError.d.ts +14 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.js +11 -0
- package/dist/errors/types/baseErrorOptions.d.ts +15 -0
- package/dist/errors/types/httpErrorOptions.d.ts +13 -0
- package/dist/errors/types/index.d.ts +2 -0
- package/dist/modules/data/data.d.ts +115 -0
- package/dist/modules/data/enums/dataErrorKeys.d.ts +3 -0
- package/dist/modules/data/index.d.ts +1 -0
- package/dist/modules/data/index.js +16 -0
- package/dist/modules/data/transformers/camelCase.d.ts +25 -0
- package/dist/modules/data/transformers/index.d.ts +4 -0
- package/dist/modules/data/transformers/index.js +32 -0
- package/dist/modules/data/transformers/kebabCase.d.ts +25 -0
- package/dist/modules/data/transformers/pascalCase.d.ts +25 -0
- package/dist/modules/data/transformers/snakeCase.d.ts +25 -0
- package/dist/modules/data/types/camelCase.d.ts +1 -0
- package/dist/modules/data/types/caseTransformer.d.ts +13 -0
- package/dist/modules/data/types/index.d.ts +10 -0
- package/dist/modules/data/types/kebabCase.d.ts +1 -0
- package/dist/modules/data/types/pascalCase.d.ts +2 -0
- package/dist/modules/data/types/snakeCase.d.ts +1 -0
- package/dist/modules/data/types/transformKeysCamelCase.d.ts +4 -0
- package/dist/modules/data/types/transformKeysKebabCase.d.ts +4 -0
- package/dist/modules/data/types/transformKeysPascalCase.d.ts +4 -0
- package/dist/modules/data/types/transformKeysSnakeCase.d.ts +4 -0
- package/dist/modules/data/types/transformObjectKeys.d.ts +9 -0
- package/dist/modules/database/enums/databaseErrorKeys.d.ts +28 -0
- package/dist/modules/database/enums/mssqlErrorCode.d.ts +25 -0
- package/dist/modules/database/events/index.d.ts +2 -0
- package/dist/modules/database/events/mssqlEventMap.d.ts +6 -0
- package/dist/modules/database/events/tableEventMap.d.ts +7 -0
- package/dist/modules/database/index.d.ts +2 -0
- package/dist/modules/database/index.js +14 -0
- package/dist/{database → modules/database}/mssql.d.ts +21 -25
- package/dist/{database → modules/database}/table.d.ts +6 -6
- package/dist/modules/database/types/index.d.ts +3 -0
- package/dist/{database → modules/database}/types/mssqlDatabaseOption.d.ts +16 -37
- package/dist/modules/database/types/mssqlEventLog.d.ts +14 -0
- package/dist/modules/database/types/queryContext.d.ts +11 -0
- package/dist/modules/elysia/crud/crud.d.ts +46 -0
- package/dist/modules/elysia/crud/index.d.ts +1 -0
- package/dist/modules/elysia/crud/index.js +299 -0
- package/dist/modules/elysia/crud/types/crudOperationBaseOptions.d.ts +6 -0
- package/dist/modules/elysia/crud/types/crudOperationCountOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationDeleteOneOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationDeleteOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationFindOneOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationFindOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationInsertOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationUpdateOneOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationUpdateOptions.d.ts +2 -0
- package/dist/modules/elysia/crud/types/crudOperationsOptions.d.ts +18 -0
- package/dist/modules/elysia/crud/types/crudOptions.d.ts +23 -0
- package/dist/modules/elysia/crud/types/index.d.ts +11 -0
- package/dist/modules/elysia/crudSchema/crudSchema.d.ts +18 -0
- package/dist/modules/elysia/crudSchema/index.d.ts +1 -0
- package/dist/modules/elysia/crudSchema/index.js +10 -0
- package/dist/modules/elysia/crudSchema/types/adaptiveWhereClauseSchema.d.ts +31 -0
- package/dist/modules/elysia/crudSchema/types/crudModelsType.d.ts +14 -0
- package/dist/modules/elysia/crudSchema/types/crudSchemaOperations.d.ts +10 -0
- package/dist/modules/elysia/crudSchema/types/crudSchemaOptions.d.ts +13 -0
- package/dist/modules/elysia/crudSchema/types/index.d.ts +8 -0
- package/dist/modules/elysia/crudSchema/types/orderSchema.d.ts +11 -0
- package/dist/modules/elysia/crudSchema/types/qSchema.d.ts +15 -0
- package/dist/modules/elysia/crudSchema/types/queryOptionsBuilderOptions.d.ts +11 -0
- package/dist/modules/elysia/crudSchema/types/selectedFieldSchema.d.ts +6 -0
- package/dist/modules/elysia/crudSchema/utils/createAdaptiveWhereClauseSchema.d.ts +17 -0
- package/dist/modules/elysia/crudSchema/utils/createCountResponse200Schema.d.ts +11 -0
- package/dist/modules/elysia/crudSchema/utils/createCountSchema.d.ts +16 -0
- package/dist/modules/elysia/crudSchema/utils/createDeleteSchema.d.ts +18 -0
- package/dist/modules/elysia/crudSchema/utils/createFiltersSchema.d.ts +17 -0
- package/dist/modules/elysia/crudSchema/utils/createFindSchema.d.ts +22 -0
- package/dist/modules/elysia/crudSchema/utils/createIdParamSchema.d.ts +4 -0
- package/dist/modules/elysia/crudSchema/utils/createInsertSchema.d.ts +8 -0
- package/dist/modules/elysia/crudSchema/utils/createOrderSchema.d.ts +12 -0
- package/dist/modules/elysia/crudSchema/utils/createPropertiesSchema.d.ts +12 -0
- package/dist/modules/elysia/crudSchema/utils/createQSchema.d.ts +12 -0
- package/dist/modules/elysia/crudSchema/utils/createResponse200Schema.d.ts +5 -0
- package/dist/modules/elysia/crudSchema/utils/createSelectedFieldsSchema.d.ts +12 -0
- package/dist/modules/elysia/crudSchema/utils/createUpdateOneSchema.d.ts +4 -0
- package/dist/modules/elysia/crudSchema/utils/createUpdateSchema.d.ts +10 -0
- package/dist/modules/elysia/crudSchema/utils/index.d.ts +15 -0
- package/dist/modules/elysia/crudSchema/utils/index.js +37 -0
- package/dist/modules/elysia/crudSchema/utils/isDateFromElysiaTypeBox.d.ts +2 -0
- package/dist/modules/elysia/dbResolver/dbResolver.d.ts +17 -0
- package/dist/modules/elysia/dbResolver/enums/dbResolverErrorKeys.d.ts +3 -0
- package/dist/modules/elysia/dbResolver/index.d.ts +1 -0
- package/dist/modules/elysia/dbResolver/index.js +14 -0
- package/dist/modules/elysia/dbResolver/types/dynamicDbOptions.d.ts +7 -0
- package/dist/modules/elysia/dbResolver/types/index.d.ts +1 -0
- package/dist/modules/elysia/error/error.d.ts +34 -0
- package/dist/modules/elysia/error/index.d.ts +1 -0
- package/dist/modules/elysia/error/index.js +58 -0
- package/dist/modules/elysia/jwt/enums/jwtErrorKeys.d.ts +4 -0
- package/dist/modules/elysia/jwt/index.d.ts +1 -0
- package/dist/modules/elysia/jwt/index.js +81 -0
- package/dist/modules/elysia/jwt/jwt.d.ts +119 -0
- package/dist/modules/elysia/jwt/types/index.d.ts +1 -0
- package/dist/modules/elysia/jwt/types/jwtOptions.d.ts +98 -0
- package/dist/modules/elysia/microservice/index.d.ts +1 -0
- package/dist/modules/elysia/microservice/index.js +96 -0
- package/dist/{elysia → modules/elysia/microservice}/microservice.d.ts +1 -1
- package/dist/modules/elysia/ratelimit/enums/ratelimitErrorKeys.d.ts +3 -0
- package/dist/modules/elysia/ratelimit/index.d.ts +1 -0
- package/dist/modules/elysia/ratelimit/index.js +55 -0
- package/dist/{elysia → modules/elysia/ratelimit}/ratelimit.d.ts +3 -13
- package/dist/modules/elysia/ratelimit/types/index.d.ts +1 -0
- package/dist/{elysia → modules/elysia/ratelimit}/types/rateLimitOptions.d.ts +6 -16
- package/dist/modules/logger/enums/loggerErrorKeys.d.ts +6 -0
- package/dist/modules/logger/events/index.d.ts +1 -0
- package/dist/modules/logger/events/loggerEvents.d.ts +11 -0
- package/dist/modules/logger/index.d.ts +1 -0
- package/dist/modules/logger/index.js +139 -0
- package/dist/modules/logger/logger.d.ts +189 -0
- package/dist/{logger → modules/logger}/strategies/consoleLogger.d.ts +4 -4
- package/dist/{logger → modules/logger}/strategies/fileLogger.d.ts +4 -4
- package/dist/modules/logger/strategies/index.d.ts +2 -0
- package/dist/modules/logger/strategies/index.js +44 -0
- package/dist/modules/logger/types/index.d.ts +6 -0
- package/dist/modules/logger/types/index.js +1 -0
- package/dist/{logger → modules/logger}/types/logStreamChunk.d.ts +4 -4
- package/dist/{logger → modules/logger}/types/loggerStrategy.d.ts +1 -1
- package/dist/modules/mailer/enums/mailerErrorKeys.d.ts +5 -0
- package/dist/modules/mailer/index.d.ts +1 -0
- package/dist/modules/mailer/index.js +64 -0
- package/dist/{mailer → modules/mailer}/smtp.d.ts +6 -6
- package/dist/modules/mailer/types/index.d.ts +3 -0
- package/dist/modules/mailer/types/index.js +1 -0
- package/dist/{mailer → modules/mailer}/types/smtpCredentials.d.ts +2 -2
- package/dist/{mailer → modules/mailer}/types/smtpOptions.d.ts +5 -5
- package/dist/{mailer → modules/mailer}/types/smtpPoolOptions.d.ts +1 -1
- package/dist/modules/repository/index.d.ts +1 -0
- package/dist/modules/repository/index.js +10 -0
- package/dist/modules/repository/repository.d.ts +421 -0
- package/dist/modules/repository/types/adaptiveWhereClause.d.ts +30 -0
- package/dist/modules/repository/types/filter.d.ts +43 -0
- package/dist/modules/repository/types/index.d.ts +8 -0
- package/dist/modules/repository/types/index.js +1 -0
- package/dist/modules/repository/types/orderByItem.d.ts +42 -0
- package/dist/modules/repository/types/queryOptions.d.ts +36 -0
- package/dist/{repository → modules/repository}/types/queryOptionsExtendPagination.d.ts +2 -2
- package/dist/{repository → modules/repository}/types/queryOptionsExtendStream.d.ts +1 -1
- package/dist/modules/repository/types/selectedFields.d.ts +37 -0
- package/dist/modules/singletonManager/enums/singletonManagerErrorKeys.d.ts +4 -0
- package/dist/modules/singletonManager/index.d.ts +1 -0
- package/dist/modules/singletonManager/index.js +8 -0
- package/dist/modules/singletonManager/singletonManager.d.ts +75 -0
- package/dist/modules/typedEventEmitter/index.d.ts +1 -0
- package/dist/modules/typedEventEmitter/index.js +7 -0
- package/dist/{typedEventEmitter → modules/typedEventEmitter}/typedEventEmitter.d.ts +33 -11
- package/dist/modules/typedEventEmitter/types/index.d.ts +1 -0
- package/dist/modules/typedEventEmitter/types/index.js +1 -0
- package/dist/utils/enums/utilsErrorKeys.d.ts +3 -0
- package/dist/utils/env.d.ts +1 -1
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +32 -1
- package/dist/utils/isDateString.d.ts +16 -0
- package/dist/utils/stream.d.ts +12 -1
- package/dist/utils/types/index.d.ts +1 -1
- package/dist/utils/types/streamWithAsyncIterable.d.ts +12 -5
- package/package.json +157 -128
- package/dist/chunk-1c7w5cx7.js +0 -3
- package/dist/chunk-40pg2cqx.js +0 -2
- package/dist/chunk-4v4tp5qj.js +0 -2
- package/dist/chunk-4w7nd4nw.js +0 -2
- package/dist/chunk-5nvsx7md.js +0 -2
- package/dist/chunk-89mnpfvy.js +0 -2
- package/dist/chunk-91srr77d.js +0 -2
- package/dist/chunk-9hj714bv.js +0 -2
- package/dist/chunk-9rss6865.js +0 -2
- package/dist/chunk-df9xr1f5.js +0 -2
- package/dist/chunk-dq00mfya.js +0 -2
- package/dist/chunk-fnb68m68.js +0 -2
- package/dist/chunk-g6a16nyh.js +0 -2
- package/dist/chunk-gtgpa8nc.js +0 -2
- package/dist/chunk-gxjax5n3.js +0 -2
- package/dist/chunk-h9er1sh5.js +0 -2
- package/dist/chunk-mwpajm9x.js +0 -2
- package/dist/chunk-n5w9cwwg.js +0 -2
- package/dist/chunk-pt7wrvtr.js +0 -2
- package/dist/chunk-qndyhwdn.js +0 -2
- package/dist/chunk-v5dfx8mh.js +0 -2
- package/dist/chunk-wgq0yyqw.js +0 -2
- package/dist/chunk-wtfcgg9s.js +0 -2
- package/dist/chunk-z00b1r18.js +0 -2
- package/dist/data/data.d.ts +0 -99
- package/dist/data/enums/dataErrorKeys.d.ts +0 -7
- package/dist/data/enums/index.d.ts +0 -1
- package/dist/data/enums/index.js +0 -2
- package/dist/data/index.d.ts +0 -1
- package/dist/data/index.js +0 -2
- package/dist/data/transformers/camelCase.d.ts +0 -25
- package/dist/data/transformers/index.d.ts +0 -4
- package/dist/data/transformers/index.js +0 -2
- package/dist/data/transformers/kebabCase.d.ts +0 -25
- package/dist/data/transformers/pascalCase.d.ts +0 -25
- package/dist/data/transformers/snakeCase.d.ts +0 -25
- package/dist/data/types/index.d.ts +0 -1
- package/dist/data/types/keyTransformer.d.ts +0 -11
- package/dist/database/enums/databaseErrorKeys.d.ts +0 -52
- package/dist/database/enums/index.d.ts +0 -2
- package/dist/database/enums/index.js +0 -2
- package/dist/database/enums/mssqlErrorCode.d.ts +0 -25
- package/dist/database/events/index.d.ts +0 -2
- package/dist/database/events/mssqlEventMap.d.ts +0 -6
- package/dist/database/events/tableEventMap.d.ts +0 -7
- package/dist/database/index.d.ts +0 -2
- package/dist/database/index.js +0 -2
- package/dist/database/types/index.d.ts +0 -3
- package/dist/database/types/mssqlEventLog.d.ts +0 -29
- package/dist/database/types/queryContext.d.ts +0 -11
- package/dist/elysia/advancedSearch.d.ts +0 -460
- package/dist/elysia/crud.d.ts +0 -609
- package/dist/elysia/dynamicDatabaseSelector.d.ts +0 -352
- package/dist/elysia/enums/elysiaErrorKeys.d.ts +0 -12
- package/dist/elysia/enums/httpStatusCode.d.ts +0 -241
- package/dist/elysia/enums/index.d.ts +0 -2
- package/dist/elysia/enums/index.js +0 -2
- package/dist/elysia/error.d.ts +0 -46
- package/dist/elysia/index.d.ts +0 -7
- package/dist/elysia/index.js +0 -2
- package/dist/elysia/jwt.d.ts +0 -46
- package/dist/elysia/schemas/index.d.ts +0 -2
- package/dist/elysia/schemas/index.js +0 -2
- package/dist/elysia/types/crudOptions.d.ts +0 -126
- package/dist/elysia/types/crudRoutes.d.ts +0 -2
- package/dist/elysia/types/dynamicDatabaseSelectorPluginOptions.d.ts +0 -30
- package/dist/elysia/types/index.d.ts +0 -5
- package/dist/elysia/types/jwtOptions.d.ts +0 -92
- package/dist/error/coreError.d.ts +0 -89
- package/dist/error/index.d.ts +0 -1
- package/dist/error/index.js +0 -2
- package/dist/error/types/coreErrorOptions.d.ts +0 -21
- package/dist/error/types/index.d.ts +0 -1
- package/dist/index.d.ts +0 -68
- package/dist/index.js +0 -2
- package/dist/logger/enums/index.d.ts +0 -1
- package/dist/logger/enums/index.js +0 -2
- package/dist/logger/enums/loggerErrorKeys.d.ts +0 -6
- package/dist/logger/events/index.d.ts +0 -1
- package/dist/logger/events/loggerEvents.d.ts +0 -4
- package/dist/logger/index.d.ts +0 -1
- package/dist/logger/index.js +0 -2
- package/dist/logger/logger.d.ts +0 -173
- package/dist/logger/strategies/index.d.ts +0 -2
- package/dist/logger/strategies/index.js +0 -2
- package/dist/logger/types/index.d.ts +0 -6
- package/dist/mailer/enums/index.d.ts +0 -1
- package/dist/mailer/enums/index.js +0 -2
- package/dist/mailer/enums/mailerErrorKeys.d.ts +0 -8
- package/dist/mailer/index.d.ts +0 -1
- package/dist/mailer/index.js +0 -2
- package/dist/mailer/types/index.d.ts +0 -3
- package/dist/repository/index.d.ts +0 -1
- package/dist/repository/index.js +0 -2
- package/dist/repository/repository.d.ts +0 -378
- package/dist/repository/types/advancedSearch.d.ts +0 -47
- package/dist/repository/types/index.d.ts +0 -8
- package/dist/repository/types/orderBy.d.ts +0 -21
- package/dist/repository/types/queryOptions.d.ts +0 -33
- package/dist/repository/types/selectedFields.d.ts +0 -16
- package/dist/repository/types/whereClause.d.ts +0 -15
- package/dist/singletonManager/enums/index.d.ts +0 -1
- package/dist/singletonManager/enums/index.js +0 -2
- package/dist/singletonManager/enums/singletonManagerErrorKeys.d.ts +0 -7
- package/dist/singletonManager/index.d.ts +0 -1
- package/dist/singletonManager/index.js +0 -2
- package/dist/singletonManager/singletonManager.d.ts +0 -112
- package/dist/store/index.d.ts +0 -1
- package/dist/store/index.js +0 -2
- package/dist/store/redis.d.ts +0 -6
- package/dist/typedEventEmitter/index.d.ts +0 -1
- package/dist/typedEventEmitter/index.js +0 -2
- package/dist/typedEventEmitter/types/index.d.ts +0 -1
- package/dist/utils/enums/index.d.ts +0 -1
- package/dist/utils/enums/index.js +0 -2
- package/dist/utils/enums/utilErrorKeys.d.ts +0 -4
- package/dist/utils/isIsoDateString.d.ts +0 -1
- /package/dist/{data → errors}/types/index.js +0 -0
- /package/dist/{database/events → modules/data/types}/index.js +0 -0
- /package/dist/{database/types → modules/database/events}/index.js +0 -0
- /package/dist/{elysia → modules/database}/types/index.js +0 -0
- /package/dist/{error → modules/elysia/crud}/types/index.js +0 -0
- /package/dist/{logger/events → modules/elysia/crudSchema/types}/index.js +0 -0
- /package/dist/{logger → modules/elysia/dbResolver}/types/index.js +0 -0
- /package/dist/{mailer → modules/elysia/jwt}/types/index.js +0 -0
- /package/dist/{elysia → modules/elysia/microservice}/schemas/info.d.ts +0 -0
- /package/dist/{elysia → modules/elysia/microservice}/schemas/ping.d.ts +0 -0
- /package/dist/{repository → modules/elysia/ratelimit}/types/index.js +0 -0
- /package/dist/{typedEventEmitter/types → modules/logger/events}/index.js +0 -0
- /package/dist/{logger → modules/logger}/types/bodiesIntersection.d.ts +0 -0
- /package/dist/{logger → modules/logger}/types/logLevels.d.ts +0 -0
- /package/dist/{logger → modules/logger}/types/strategyBody.d.ts +0 -0
- /package/dist/{logger → modules/logger}/types/strategyMap.d.ts +0 -0
- /package/dist/{repository → modules/repository}/types/transaction.d.ts +0 -0
- /package/dist/{typedEventEmitter → modules/typedEventEmitter}/types/eventMap.d.ts +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SingletonManager is a static class that manages the singletons in the application.
|
|
3
|
+
* When a class is registered, the SingletonManager creates a new instance of the class when it is requested.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* class ExampleSingleton {
|
|
8
|
+
* private static _count = 0;
|
|
9
|
+
* private readonly _id: number;
|
|
10
|
+
*
|
|
11
|
+
* public constructor() {
|
|
12
|
+
* ExampleSingleton._count += 1;
|
|
13
|
+
* this._id = ExampleSingleton._count;
|
|
14
|
+
* console.log(`ExampleSingleton created with ID: ${this._id}`);
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* public sayHello(): void {
|
|
18
|
+
* console.log(`Hello from instance ${this._id}!`);
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* SingletonManager.register('ExampleSingleton', ExampleSingleton);
|
|
23
|
+
*
|
|
24
|
+
* SingletonManager.get<ExampleSingleton>('ExampleSingleton').sayHello(); // Output: ExampleSingleton created with ID: 1 /n Hello from instance 1!
|
|
25
|
+
* SingletonManager.get<ExampleSingleton>('ExampleSingleton').sayHello(); // Output: Hello from instance 1!
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class SingletonManager {
|
|
29
|
+
/**
|
|
30
|
+
* _registry is a private static property that holds the class instances that are registered
|
|
31
|
+
* in the SingletonManager. The key is the name of the class and the value is the instance of the class.
|
|
32
|
+
*/
|
|
33
|
+
private static readonly _registry;
|
|
34
|
+
/**
|
|
35
|
+
* Registers a class constructor in the SingletonManager.
|
|
36
|
+
*
|
|
37
|
+
* @template TClass - The type of the class.
|
|
38
|
+
* @template TArgs - The tuple type of the constructor arguments.
|
|
39
|
+
*
|
|
40
|
+
* @param name - The name of the class.
|
|
41
|
+
* @param constructor - The constructor of the class.
|
|
42
|
+
* @param args - The arguments to pass to the constructor of the class.
|
|
43
|
+
*
|
|
44
|
+
* @throws ({@link BaseError}) - If the class constructor is already registered, it throws an error.
|
|
45
|
+
*/
|
|
46
|
+
static register<TClass extends object, TArgs extends unknown[]>(name: string, constructor: new (...args: TArgs) => TClass, ...args: TArgs): void;
|
|
47
|
+
/**
|
|
48
|
+
* Unregisters a class from the SingletonManager.
|
|
49
|
+
*
|
|
50
|
+
* @param name - The name of the class to unregister.
|
|
51
|
+
*
|
|
52
|
+
* @throws ({@link BaseError}) If the class constructor is not registered, it throws an error.
|
|
53
|
+
*/
|
|
54
|
+
static unregister(name: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* Gets the singleton instance of the class. If the class is not registered, it throws an error.
|
|
57
|
+
*
|
|
58
|
+
* @template TClass - The type of the class.
|
|
59
|
+
*
|
|
60
|
+
* @param name - The name of the class to get the singleton instance.
|
|
61
|
+
*
|
|
62
|
+
* @throws ({@link BaseError}) If the class is not registered, it throws an error.
|
|
63
|
+
*
|
|
64
|
+
* @returns The singleton instance of the class.
|
|
65
|
+
*/
|
|
66
|
+
static get<TClass>(name: string): TClass;
|
|
67
|
+
/**
|
|
68
|
+
* Checks if the class is registered in the SingletonManager.
|
|
69
|
+
*
|
|
70
|
+
* @param name - The name of the class to check if it is registered.
|
|
71
|
+
*
|
|
72
|
+
* @returns True if the class is registered, otherwise false.
|
|
73
|
+
*/
|
|
74
|
+
static has(name: string): boolean;
|
|
75
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TypedEventEmitter } from './typedEventEmitter';
|
|
@@ -10,12 +10,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
10
10
|
* Emits an event with the specified payload.
|
|
11
11
|
*
|
|
12
12
|
* @template KEvent - The type of event to emit.
|
|
13
|
+
*
|
|
13
14
|
* @param event - The event name to emit.
|
|
14
15
|
* @param payload - The data to send with the event.
|
|
16
|
+
*
|
|
15
17
|
* @returns Whether the event had listeners.
|
|
16
18
|
*
|
|
17
19
|
* @example
|
|
18
|
-
* ```
|
|
20
|
+
* ```ts
|
|
19
21
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
20
22
|
* const emitter = new MyEmitter();
|
|
21
23
|
* emitter.emit('foo', 'hello');
|
|
@@ -26,12 +28,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
26
28
|
* Registers an event listener for the specified event.
|
|
27
29
|
*
|
|
28
30
|
* @template KEvent - The type of event to listen for.
|
|
31
|
+
*
|
|
29
32
|
* @param event - The event name to listen for.
|
|
30
33
|
* @param listener - The callback function that handles the event.
|
|
34
|
+
*
|
|
31
35
|
* @returns This instance for chaining.
|
|
32
36
|
*
|
|
33
37
|
* @example
|
|
34
|
-
* ```
|
|
38
|
+
* ```ts
|
|
35
39
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
36
40
|
* const emitter = new MyEmitter();
|
|
37
41
|
* emitter.on('foo', payload => {
|
|
@@ -44,12 +48,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
44
48
|
* Registers a one-time event listener for the specified event.
|
|
45
49
|
*
|
|
46
50
|
* @template KEvent - The type of event to listen for.
|
|
51
|
+
*
|
|
47
52
|
* @param event - The event name to listen for.
|
|
48
53
|
* @param listener - The callback function that handles the event.
|
|
54
|
+
*
|
|
49
55
|
* @returns This instance for chaining.
|
|
50
56
|
*
|
|
51
57
|
* @example
|
|
52
|
-
* ```
|
|
58
|
+
* ```ts
|
|
53
59
|
* class MyEmitter extends TypedEventEmitter<{ bar: [number] }> {}
|
|
54
60
|
* const emitter = new MyEmitter();
|
|
55
61
|
* emitter.once('bar', payload => {
|
|
@@ -62,12 +68,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
62
68
|
* Registers an event listener for the specified event (alias for on).
|
|
63
69
|
*
|
|
64
70
|
* @template KEvent - The type of event to listen for.
|
|
71
|
+
*
|
|
65
72
|
* @param event - The event name to listen for.
|
|
66
73
|
* @param listener - The callback function that handles the event.
|
|
74
|
+
*
|
|
67
75
|
* @returns This instance for chaining.
|
|
68
76
|
*
|
|
69
77
|
* @example
|
|
70
|
-
* ```
|
|
78
|
+
* ```ts
|
|
71
79
|
* class MyEmitter extends TypedEventEmitter<{ baz: [boolean] }> {}
|
|
72
80
|
* const emitter = new MyEmitter();
|
|
73
81
|
* emitter.addListener('baz', payload => {
|
|
@@ -80,12 +88,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
80
88
|
* Removes an event listener for the specified event.
|
|
81
89
|
*
|
|
82
90
|
* @template KEvent - The type of event.
|
|
91
|
+
*
|
|
83
92
|
* @param event - The event name.
|
|
84
93
|
* @param listener - The callback function to remove.
|
|
94
|
+
*
|
|
85
95
|
* @returns This instance for chaining.
|
|
86
96
|
*
|
|
87
97
|
* @example
|
|
88
|
-
* ```
|
|
98
|
+
* ```ts
|
|
89
99
|
* class MyEmitter extends TypedEventEmitter<{ foo: string }> {}
|
|
90
100
|
* const emitter = new MyEmitter();
|
|
91
101
|
* const handler = (payload: string) => {};
|
|
@@ -98,12 +108,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
98
108
|
* Removes an event listener for the specified event (alias for removeListener).
|
|
99
109
|
*
|
|
100
110
|
* @template KEvent - The type of event.
|
|
111
|
+
*
|
|
101
112
|
* @param event - The event name.
|
|
102
113
|
* @param listener - The callback function to remove.
|
|
114
|
+
*
|
|
103
115
|
* @returns This instance for chaining.
|
|
104
116
|
*
|
|
105
117
|
* @example
|
|
106
|
-
* ```
|
|
118
|
+
* ```ts
|
|
107
119
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
108
120
|
* const emitter = new MyEmitter();
|
|
109
121
|
* const handler = (payload: string) => {};
|
|
@@ -116,11 +128,13 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
116
128
|
* Returns the number of listeners for the specified event.
|
|
117
129
|
*
|
|
118
130
|
* @template KEvent - The type of event.
|
|
131
|
+
*
|
|
119
132
|
* @param event - The event name.
|
|
133
|
+
*
|
|
120
134
|
* @returns The number of listeners.
|
|
121
135
|
*
|
|
122
136
|
* @example
|
|
123
|
-
* ```
|
|
137
|
+
* ```ts
|
|
124
138
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
125
139
|
* const emitter = new MyEmitter();
|
|
126
140
|
* emitter.on('foo', () => {});
|
|
@@ -132,11 +146,13 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
132
146
|
* Returns a copy of the array of listeners for the specified event.
|
|
133
147
|
*
|
|
134
148
|
* @template KEvent - The type of event.
|
|
149
|
+
*
|
|
135
150
|
* @param event - The event name.
|
|
151
|
+
*
|
|
136
152
|
* @returns An array of listener functions.
|
|
137
153
|
*
|
|
138
154
|
* @example
|
|
139
|
-
* ```
|
|
155
|
+
* ```ts
|
|
140
156
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
141
157
|
* const emitter = new MyEmitter();
|
|
142
158
|
* emitter.on('foo', () => {});
|
|
@@ -148,11 +164,13 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
148
164
|
* Returns a copy of the array of raw listeners for the specified event.
|
|
149
165
|
*
|
|
150
166
|
* @template KEvent - The type of event.
|
|
167
|
+
*
|
|
151
168
|
* @param event - The event name.
|
|
169
|
+
*
|
|
152
170
|
* @returns An array of raw listener functions.
|
|
153
171
|
*
|
|
154
172
|
* @example
|
|
155
|
-
* ```
|
|
173
|
+
* ```ts
|
|
156
174
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
157
175
|
* const emitter = new MyEmitter();
|
|
158
176
|
* emitter.on('foo', () => {});
|
|
@@ -164,12 +182,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
164
182
|
* Adds a listener to the beginning of the listeners array for the specified event.
|
|
165
183
|
*
|
|
166
184
|
* @template KEvent - The type of event.
|
|
185
|
+
*
|
|
167
186
|
* @param event - The event name.
|
|
168
187
|
* @param listener - The callback function to add.
|
|
188
|
+
*
|
|
169
189
|
* @returns This instance for chaining.
|
|
170
190
|
*
|
|
171
191
|
* @example
|
|
172
|
-
* ```
|
|
192
|
+
* ```ts
|
|
173
193
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
174
194
|
* const emitter = new MyEmitter();
|
|
175
195
|
* emitter.prependListener('foo', payload => {
|
|
@@ -182,12 +202,14 @@ export declare class TypedEventEmitter<TEvents extends EventMap> extends EventEm
|
|
|
182
202
|
* Adds a one-time listener to the beginning of the listeners array for the specified event.
|
|
183
203
|
*
|
|
184
204
|
* @template KEvent - The type of event.
|
|
205
|
+
*
|
|
185
206
|
* @param event - The event name.
|
|
186
207
|
* @param listener - The callback function to add.
|
|
208
|
+
*
|
|
187
209
|
* @returns This instance for chaining.
|
|
188
210
|
*
|
|
189
211
|
* @example
|
|
190
|
-
* ```
|
|
212
|
+
* ```ts
|
|
191
213
|
* class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
|
|
192
214
|
* const emitter = new MyEmitter();
|
|
193
215
|
* emitter.prependOnceListener('foo', payload => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { EventMap } from './eventMap';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// @bun
|
package/dist/utils/env.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ import type { TSchema } from '@sinclair/typebox';
|
|
|
5
5
|
* @param schema - The schema to validate the environment variables against.
|
|
6
6
|
* @param env - The environment variables to validate. Defaults to `process.env`.
|
|
7
7
|
*
|
|
8
|
-
* @throws ({@link
|
|
8
|
+
* @throws ({@link BaseError}) - If the environment variables are invalid based on the schema.
|
|
9
9
|
*/
|
|
10
10
|
export declare const validateEnv: (schema: TSchema, env?: Record<string, unknown>) => void;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
export { validateEnv } from './env';
|
|
2
|
+
export { isDateString } from './isDateString';
|
|
3
|
+
export { makeStreamAsyncIterable } from './stream';
|
package/dist/utils/index.js
CHANGED
|
@@ -1,2 +1,33 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import
|
|
2
|
+
import {
|
|
3
|
+
isDateString,
|
|
4
|
+
makeStreamAsyncIterable
|
|
5
|
+
} from "../chunk-5qtpggzv.js";
|
|
6
|
+
import {
|
|
7
|
+
BaseError
|
|
8
|
+
} from "../chunk-vknq69e0.js";
|
|
9
|
+
|
|
10
|
+
// source/utils/env.ts
|
|
11
|
+
import { Value } from "@sinclair/typebox/value";
|
|
12
|
+
|
|
13
|
+
// source/utils/enums/utilsErrorKeys.ts
|
|
14
|
+
var UTILS_ERROR_KEYS = {
|
|
15
|
+
INVALID_ENVIRONMENT: "utils.error.invalid_environment"
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// source/utils/env.ts
|
|
19
|
+
var validateEnv = (schema, env = process.env) => {
|
|
20
|
+
try {
|
|
21
|
+
Value.Assert(schema, Value.Parse(schema, env));
|
|
22
|
+
} catch (error) {
|
|
23
|
+
throw new BaseError({
|
|
24
|
+
message: UTILS_ERROR_KEYS.INVALID_ENVIRONMENT,
|
|
25
|
+
cause: error
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
validateEnv,
|
|
31
|
+
makeStreamAsyncIterable,
|
|
32
|
+
isDateString
|
|
33
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if a value is a valid date string.
|
|
3
|
+
*
|
|
4
|
+
* @param v - The value to check.
|
|
5
|
+
*
|
|
6
|
+
* @returns True if the value is a valid date string, false otherwise.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* isDateString('2023-10-01T12:00:00Z'); // true
|
|
11
|
+
* isDateString('invalid-date'); // false
|
|
12
|
+
* isDateString(12345); // false
|
|
13
|
+
* isDateString(new Date().toISOString()); // true
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare const isDateString: (v: unknown) => v is string;
|
package/dist/utils/stream.d.ts
CHANGED
|
@@ -6,6 +6,17 @@ import type { Stream } from 'stream';
|
|
|
6
6
|
* @template KStream - The type of the stream.
|
|
7
7
|
* @param stream - The stream to make async iterable.
|
|
8
8
|
*
|
|
9
|
-
* @returns The stream as an async iterable.
|
|
9
|
+
* @returns The stream as an async iterable.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { Readable } from 'stream';
|
|
14
|
+
*
|
|
15
|
+
* const readableStream = Readable.from(['data1', 'data2', 'data3']);
|
|
16
|
+
* const asyncIterableStream = makeStreamAsyncIterable(readableStream);
|
|
17
|
+
*
|
|
18
|
+
* for await (const data of asyncIterableStream)
|
|
19
|
+
* console.log(data); // Outputs: data1, data2, data3
|
|
20
|
+
* ```
|
|
10
21
|
*/
|
|
11
22
|
export declare const makeStreamAsyncIterable: <TModel, KStream extends Stream = Stream>(stream: KStream) => KStream & AsyncIterable<TModel>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type { StreamWithAsyncIterable } from './streamWithAsyncIterable';
|
|
@@ -7,20 +7,27 @@ import type { PassThrough } from 'stream';
|
|
|
7
7
|
* @template TModel - The type of the object to retrieve.
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
|
-
*
|
|
10
|
+
* Define a model
|
|
11
|
+
* ```ts
|
|
11
12
|
* interface User {
|
|
12
13
|
* id: string;
|
|
13
14
|
* name: string;
|
|
14
15
|
* }
|
|
15
|
-
*
|
|
16
|
+
* ```
|
|
17
|
+
* @example
|
|
18
|
+
* Use the stream with async iterable
|
|
19
|
+
* ```ts
|
|
16
20
|
* const users: StreamWithAsyncIterable<User> = ...;
|
|
17
21
|
*
|
|
18
|
-
* // Method 1
|
|
19
22
|
* for await (const user of users)
|
|
20
23
|
* console.log(user);
|
|
24
|
+
*```
|
|
25
|
+
* @example
|
|
26
|
+
* Use the stream with event listeners
|
|
27
|
+
* ```ts
|
|
28
|
+
* const users: StreamWithAsyncIterable<User> = ...;
|
|
21
29
|
*
|
|
22
|
-
* // Method 2
|
|
23
30
|
* users.on('data', (user: User) => console.log(user));
|
|
24
31
|
* ```
|
|
25
32
|
*/
|
|
26
|
-
export type StreamWithAsyncIterable<TModel> =
|
|
33
|
+
export type StreamWithAsyncIterable<TModel> = AsyncIterable<TModel> & PassThrough;
|