opinionated-machine 2.8.0 → 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/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { DIContext, type DependencyInjectionOptions, type RegisterDependenciesParams, } from './lib/DIContext.js';
|
|
2
2
|
export { AbstractModule, type MandatoryNameAndRegistrationPair, type UnionToIntersection, } from './lib/AbstractModule.js';
|
|
3
3
|
export { ENABLE_ALL, resolveJobQueuesEnabled, isAnyMessageQueueConsumerEnabled, isJobQueueEnabled, isMessageQueueConsumerEnabled, isEnqueuedJobWorkersEnabled, isPeriodicJobEnabled, } from './lib/diConfigUtils.js';
|
|
4
|
-
export { AbstractController } from './lib/AbstractController.js';
|
|
4
|
+
export { AbstractController, type BuildRoutesReturnType } from './lib/AbstractController.js';
|
|
5
5
|
export { asJobQueueClass, asEnqueuedJobWorkerClass, asMessageQueueHandlerClass, asControllerClass, asSingletonClass, asPeriodicJobClass, asSingletonFunction, asServiceClass, asRepositoryClass, asUseCaseClass, } from './lib/resolverFunctions.js';
|
|
6
6
|
export type { PeriodicJobOptions, JobQueueModuleOptions, MessageQueueConsumerModuleOptions, EnqueuedJobWorkerModuleOptions, } from './lib/resolverFunctions.js';
|
|
7
7
|
export { AbstractTestContextFactory, type CreateTestContextParams, } from './lib/AbstractTestContextFactory.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAGV,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,cAAc,GAGf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,iBAAiB,EACjB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAGV,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,cAAc,GAGf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,iBAAiB,EACjB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAA8B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,4BAA4B,CAAA;AASnC,OAAO,EACL,0BAA0B,GAE3B,MAAM,qCAAqC,CAAA"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { CommonRouteDefinition } from '@lokalise/universal-ts-utils/api-contracts/apiContracts';
|
|
3
|
-
|
|
1
|
+
import type { buildFastifyNoPayloadRoute, buildFastifyPayloadRoute } from '@lokalise/fastify-api-contracts';
|
|
2
|
+
import type { CommonRouteDefinition, DeleteRouteDefinition, GetRouteDefinition, PayloadRouteDefinition } from '@lokalise/universal-ts-utils/api-contracts/apiContracts';
|
|
3
|
+
import type { z } from 'zod';
|
|
4
|
+
type AnyCommonRouteDefinition = CommonRouteDefinition<any, any, any, any, any, any, any>;
|
|
5
|
+
type OptionalZodSchema = z.Schema | undefined;
|
|
6
|
+
type FastifyPayloadRouteReturnType<RequestBody extends OptionalZodSchema, ResponseBody extends OptionalZodSchema, Path extends OptionalZodSchema, Query extends OptionalZodSchema, Headers extends OptionalZodSchema> = ReturnType<typeof buildFastifyPayloadRoute<RequestBody, ResponseBody, Path, Query, Headers>>;
|
|
7
|
+
type FastifyNoPayloadRouteReturnType<RequestBody extends OptionalZodSchema, Path extends OptionalZodSchema, Query extends OptionalZodSchema, Headers extends OptionalZodSchema> = ReturnType<typeof buildFastifyNoPayloadRoute<RequestBody, Path, Query, Headers>>;
|
|
8
|
+
export type BuildRoutesReturnType<APIContracts extends Record<string, AnyCommonRouteDefinition>> = {
|
|
9
|
+
[K in keyof APIContracts]: APIContracts[K] extends PayloadRouteDefinition<unknown, infer RequestBody, infer ResponseBody, infer Path, infer Query, infer Headers> ? FastifyPayloadRouteReturnType<RequestBody, ResponseBody, Path, Query, Headers> : APIContracts[K] extends GetRouteDefinition<unknown, infer GetRequestBody, infer GetPath, infer GetQuery, infer GetHeaders> | DeleteRouteDefinition<unknown, infer DeleteRequestBody, infer DeletePath, infer DeleteQuery, infer DeleteHeaders> ? FastifyNoPayloadRouteReturnType<GetRequestBody | DeleteRequestBody, GetPath | DeletePath, GetQuery | DeleteQuery, GetHeaders | DeleteHeaders> : never;
|
|
10
|
+
};
|
|
4
11
|
export declare abstract class AbstractController<APIContracts extends Record<string, AnyCommonRouteDefinition>> {
|
|
5
|
-
abstract buildRoutes():
|
|
12
|
+
abstract buildRoutes(): BuildRoutesReturnType<APIContracts>;
|
|
6
13
|
}
|
|
14
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractController.js","sourceRoot":"","sources":["../../lib/AbstractController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractController.js","sourceRoot":"","sources":["../../lib/AbstractController.ts"],"names":[],"mappings":"AAgEA,MAAM,OAAgB,kBAAkB;CAIvC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opinionated-machine",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Very opinionated DI framework for fastify, built on top of awilix ",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"build": "rimraf dist && tsc -p tsconfig.build.json",
|
|
21
21
|
"lint": "biome check . && tsc",
|
|
22
22
|
"lint:fix": "biome check --write .",
|
|
23
|
-
"test": "vitest --
|
|
23
|
+
"test": "vitest --typecheck",
|
|
24
|
+
"test:ci": "npm run test -- --coverage",
|
|
24
25
|
"prepublishOnly": "npm run build"
|
|
25
26
|
},
|
|
26
27
|
"repository": {
|
|
@@ -31,7 +32,7 @@
|
|
|
31
32
|
"ts-deepmerge": "^7.0.2"
|
|
32
33
|
},
|
|
33
34
|
"peerDependencies": {
|
|
34
|
-
"@lokalise/fastify-api-contracts": ">=
|
|
35
|
+
"@lokalise/fastify-api-contracts": ">=2.0.0",
|
|
35
36
|
"@lokalise/universal-ts-utils": ">=4.2.0",
|
|
36
37
|
"awilix": ">=12.0.0",
|
|
37
38
|
"awilix-manager": ">=6.0.0",
|
|
@@ -42,10 +43,10 @@
|
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"@types/node": "^22.13.13",
|
|
44
45
|
"@biomejs/biome": "1.9.4",
|
|
45
|
-
"@lokalise/biome-config": "^
|
|
46
|
-
"@lokalise/fastify-api-contracts": "^2.
|
|
46
|
+
"@lokalise/biome-config": "^2.0.0",
|
|
47
|
+
"@lokalise/fastify-api-contracts": "^2.2.0",
|
|
47
48
|
"@lokalise/tsconfig": "^1.1.0",
|
|
48
|
-
"@lokalise/universal-ts-utils": "^4.2.
|
|
49
|
+
"@lokalise/universal-ts-utils": "^4.2.0",
|
|
49
50
|
"@vitest/coverage-v8": "^3.0.9",
|
|
50
51
|
"awilix": "^12.0.5",
|
|
51
52
|
"awilix-manager": "^6.1.0",
|