@decaf-ts/for-nest 0.1.24 → 0.2.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/README.md +1 -1
- package/dist/for-nest.cjs +1 -1
- package/dist/for-nest.cjs.map +1 -1
- package/dist/for-nest.js +1 -1
- package/dist/for-nest.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/overrides/decoration.d.ts +6 -2
- package/lib/esm/overrides/decoration.js +37 -6
- package/lib/esm/overrides/decoration.js.map +1 -1
- package/lib/esm/overrides/helpers.d.ts +11 -0
- package/lib/esm/overrides/helpers.js +136 -0
- package/lib/esm/overrides/helpers.js.map +1 -0
- package/lib/esm/overrides/index.d.ts +2 -0
- package/lib/esm/overrides/index.js +2 -0
- package/lib/esm/overrides/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/overrides/decoration.cjs +47 -12
- package/lib/overrides/decoration.d.ts +6 -2
- package/lib/overrides/decoration.js.map +1 -1
- package/lib/overrides/helpers.cjs +146 -0
- package/lib/overrides/helpers.d.ts +11 -0
- package/lib/overrides/helpers.js.map +1 -0
- package/lib/overrides/index.cjs +2 -0
- package/lib/overrides/index.d.ts +2 -0
- package/lib/overrides/index.js.map +1 -1
- package/package.json +1 -1
package/dist/for-nest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-nest.js","sources":["../src/overrides/decoration.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decoration.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/decaf-model/decorators/route.ts","../src/interceptors/AuthInterceptor.ts","../src/decaf-model/decorators/decorators.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/interceptors/context.ts","../src/request/RamRequestTransformer.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/decaf-model/FromModelController.ts","../src/overrides/overrides.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/decaf-model/DecafModelModule.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/exceptions/decorators.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.ts","../src/core-module.ts","../src/module.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ApiProperty","options","overrideExisting","type","isArray","getTypeIsArrayTuple","opts","undefined","enum","enumValues","getEnumValues","items","getEnumType","Array","metakey","metadata","target","propertyKey","properties","Reflect","getMetadata","DECORATORS","API_MODEL_PROPERTIES_ARRAY","key","includes","defineMetadata","existingMetadata","newMetadata","pickBy","negate","isUndefined","metadataToSave","constructor","METADATA_FACTORY_NAME","createPropertyDecorator","API_MODEL_PROPERTIES","createApiPropertyDecorator","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","BulkApiOperationFromModel","BulkCrudOperationKeys","READ_ALL","CREATE_ALL","UPDATE_ALL","DELETE_ALL","ApiParamsFromModel","props","decorators","map","p","ApiParamDec","name","description","required","String","applyDecorators","Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","Object","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","INJECT","descriptor","Inject","ValidationKeys","REQUIRED","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","prop","DATE","format","ENUM","values","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","DecorationKeys","DESCRIPTION","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","keys","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","AuthRole","DECAF_CONTEXT_KEY","route","httpMethod","define","obj","methodMetadata","AuthInterceptor","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","Auth","model","resource","SetMetadata","UseInterceptors","__decorate","__param","Optional","Reflector","Roles","roles","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","DecafRoleAuthHandler","super","DecafRequestContext","applyCtx","_ctx","InternalError","DecafHandlerExecutor","handlers","context","exec","res","RequestToContextTransformer","requestToContextTransformer","flavour","set","RamTransformer","from","user","UUID","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","filter","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","proto","prototype","forEach","d","index","createRouteHandler","async","pathParams","queryParams","log","debug","JSON","stringify","direction","persistence","ModelService","statement","resolvePersistenceMethod","e","error","defineRouteMethod","ControllerClass","defineProperty","value","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","logCtx","operation","allowCreate","overrides","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","override","toOverrides","contextual","ctxArgs","repo","then","DtoFor","TransactionOperationKeys","isUpdate","relations","exceptions","generated","pk","DynamicDTO","OmitType","addRelation","relation","relationDto","enumerable","configurable","toPascalCase","allowedTypes","meta","validationFor","LIST","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","findOneBy","FIND_ONE_BY","findBy","FIND_BY","STATEMENT","a","parseInt","createAll","created","verbose","readAll","ids","read","length","routeParams","id","ValidationError","updateAll","updated","payloads","entry","parse","update","payload","deleteAll","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","Set","separator","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","transformer","Context","accumulate","DefaultAdapterFlags","logger","timestamp","Date","getResponse","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","request","isProduction","LoggedEnvironment","env","BaseError","status","code","json","toISOString","url","UseDecafFilter","UseFilters","Catch","SWAGGER_UI_CONSTANTS","title","version","faviconFilePath","topbarIconFilePath","auth","scheme","bearerFormat","in","persistAuthorization","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","customCss","swaggerOptions","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","addBearerAuth","build","SwaggerModule","extraModels","setupSwagger","document","swaggerUI","setup","NestBootstraper","_logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","DecafCoreModule","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","exports","onApplicationShutdown","adapters","toString","shutdown","Global","ModuleRef","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","repoForModel","m","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-nest.js","sources":["../src/overrides/constants.ts","../src/overrides/helpers.ts","../src/overrides/decoration.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decoration.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/decaf-model/decorators/route.ts","../src/interceptors/AuthInterceptor.ts","../src/decaf-model/decorators/decorators.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/interceptors/context.ts","../src/request/RamRequestTransformer.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/decaf-model/FromModelController.ts","../src/overrides/overrides.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/decaf-model/DecafModelModule.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/exceptions/decorators.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.ts","../src/core-module.ts","../src/module.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DECORATORS_PREFIX","DECORATORS","API_OPERATION","API_RESPONSE","API_PRODUCES","API_CONSUMES","API_TAGS","API_CALLBACKS","API_PARAMETERS","API_HEADERS","API_MODEL_PROPERTIES","API_MODEL_PROPERTIES_ARRAY","API_SECURITY","API_EXCLUDE_ENDPOINT","API_EXCLUDE_CONTROLLER","API_EXTRA_MODELS","API_EXTENSION","API_SCHEMA","API_DEFAULT_GETTER","API_LINK","getTypeIsArrayTuple","input","isArrayFlag","isInputArray","isArray","isUndefined","obj","getEnumValues","enumType","Array","numericValues","Object","values","filter","value","map","toString","keys","key","includes","getEnumType","isString","length","createPropertyDecorator","metakey","metadata","overrideExisting","target","propertyKey","properties","Reflect","getMetadata","defineMetadata","existingMetadata","newMetadata","pickBy","negate","metadataToSave","type","constructor","ApiProperty","options","createApiPropertyDecorator","opts","undefined","enum","enumValues","items","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","BulkApiOperationFromModel","BulkCrudOperationKeys","READ_ALL","CREATE_ALL","UPDATE_ALL","DELETE_ALL","ApiParamsFromModel","props","decorators","p","ApiParamDec","name","description","required","String","applyDecorators","Decoration","for","InjectablesKeys","INJECTABLE","extend","decorator","category","cfg","assign","DefaultInjectablesConfig","Injectable","scope","singleton","Scope","DEFAULT","REQUEST","durable","INJECT","descriptor","Inject","ValidationKeys","REQUIRED","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","prop","DATE","format","ENUM","PATTERN","pat","pattern","source","PersistenceKeys","COLUMN","DecorationKeys","DESCRIPTION","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","AuthRole","DECAF_CONTEXT_KEY","route","httpMethod","define","methodMetadata","AuthInterceptor","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","Auth","model","resource","SetMetadata","UseInterceptors","__decorate","__param","Optional","Reflector","Roles","roles","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","DecafRoleAuthHandler","super","DecafRequestContext","applyCtx","_ctx","InternalError","DecafHandlerExecutor","handlers","context","exec","res","RequestToContextTransformer","requestToContextTransformer","flavour","set","RamTransformer","from","user","UUID","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","proto","prototype","forEach","d","index","createRouteHandler","async","pathParams","queryParams","log","debug","JSON","stringify","direction","persistence","ModelService","statement","resolvePersistenceMethod","e","error","defineRouteMethod","ControllerClass","defineProperty","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","logCtx","operation","allowCreate","overrides","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","override","toOverrides","contextual","ctxArgs","repo","then","DtoFor","TransactionOperationKeys","isUpdate","relations","exceptions","generated","pk","DynamicDTO","OmitType","addRelation","relation","relationDto","enumerable","configurable","toPascalCase","allowedTypes","meta","validationFor","LIST","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","findOneBy","FIND_ONE_BY","findBy","FIND_BY","STATEMENT","a","parseInt","createAll","created","verbose","readAll","ids","read","routeParams","id","ValidationError","updateAll","updated","payloads","entry","parse","update","payload","deleteAll","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","$ref","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","Set","separator","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","transformer","Context","accumulate","DefaultAdapterFlags","logger","timestamp","Date","getResponse","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","request","isProduction","LoggedEnvironment","env","BaseError","status","code","json","toISOString","url","UseDecafFilter","UseFilters","Catch","SWAGGER_UI_CONSTANTS","title","version","faviconFilePath","topbarIconFilePath","auth","scheme","bearerFormat","in","persistAuthorization","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","customCss","swaggerOptions","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","addBearerAuth","build","SwaggerModule","extraModels","setupSwagger","document","swaggerUI","setup","NestBootstraper","_logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","DecafCoreModule","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","exports","onApplicationShutdown","adapters","shutdown","Global","ModuleRef","DecafModule","DecafModule_1","forRootAsync","autoControllers","imports","repoForModel","m","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -38,7 +38,7 @@ export * from "./utils.js";
|
|
|
38
38
|
* @constant
|
|
39
39
|
* @type {string}
|
|
40
40
|
*/
|
|
41
|
-
export const VERSION = "0.1.
|
|
41
|
+
export const VERSION = "0.1.24";
|
|
42
42
|
export const PACKAGE_NAME = "@decaf-ts/for-nest";
|
|
43
43
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
44
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Type } from "@nestjs/common";
|
|
2
|
-
import { EnumSchemaAttributes } from "@nestjs/swagger/dist/interfaces/enum-schema-attributes.interface";
|
|
3
|
-
import { SchemaObjectMetadata } from "@nestjs/swagger/dist/interfaces/schema-object-metadata.interface";
|
|
2
|
+
import type { EnumSchemaAttributes } from "@nestjs/swagger/dist/interfaces/enum-schema-attributes.interface";
|
|
3
|
+
import type { SchemaObjectMetadata } from "@nestjs/swagger/dist/interfaces/schema-object-metadata.interface";
|
|
4
|
+
import { type SwaggerEnumType } from "@nestjs/swagger/dist/types/swagger-enum.type";
|
|
5
|
+
export declare const isUndefined: (obj: any) => obj is undefined;
|
|
6
|
+
export declare function getEnumValues(enumType: SwaggerEnumType | (() => SwaggerEnumType)): string[] | number[];
|
|
7
|
+
export declare function getEnumType(values: (string | number)[]): "string" | "number";
|
|
4
8
|
export declare function createPropertyDecorator<T extends Record<string, any> = any>(metakey: string, metadata: T, overrideExisting?: boolean): PropertyDecorator;
|
|
5
9
|
export type ApiPropertyCommonOptions = SchemaObjectMetadata & {
|
|
6
10
|
"x-enumNames"?: string[];
|
|
@@ -1,9 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { isString, negate, pickBy } from "lodash";
|
|
2
|
+
import { DECORATORS } from "./constants.js";
|
|
3
|
+
import { getTypeIsArrayTuple, METADATA_FACTORY_NAME } from "./helpers.js";
|
|
4
|
+
export const isUndefined = (obj) => typeof obj === "undefined";
|
|
5
|
+
export function getEnumValues(enumType) {
|
|
6
|
+
if (typeof enumType === "function") {
|
|
7
|
+
return getEnumValues(enumType());
|
|
8
|
+
}
|
|
9
|
+
if (Array.isArray(enumType)) {
|
|
10
|
+
return enumType;
|
|
11
|
+
}
|
|
12
|
+
if (typeof enumType !== "object") {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
// Enums with numeric values
|
|
16
|
+
// enum Size {
|
|
17
|
+
// SMALL = 1,
|
|
18
|
+
// BIG = 2
|
|
19
|
+
// }
|
|
20
|
+
// are transpiled to include a reverse mapping
|
|
21
|
+
// const Size = {
|
|
22
|
+
// "1": "SMALL",
|
|
23
|
+
// "2": "BIG",
|
|
24
|
+
// "SMALL": 1,
|
|
25
|
+
// "BIG": 2,
|
|
26
|
+
// }
|
|
27
|
+
const numericValues = Object.values(enumType)
|
|
28
|
+
.filter((value) => typeof value === "number")
|
|
29
|
+
.map((value) => value.toString());
|
|
30
|
+
return Object.keys(enumType)
|
|
31
|
+
.filter((key) => !numericValues.includes(key))
|
|
32
|
+
.map((key) => enumType[key]);
|
|
33
|
+
}
|
|
34
|
+
export function getEnumType(values) {
|
|
35
|
+
const hasString = values.filter(isString).length > 0;
|
|
36
|
+
return hasString ? "string" : "number";
|
|
37
|
+
}
|
|
7
38
|
export function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
|
|
8
39
|
return ((target, propertyKey) => {
|
|
9
40
|
const properties = Reflect.getMetadata(DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoration.js","sourceRoot":"","sources":["../../../src/overrides/decoration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"decoration.js","sourceRoot":"","sources":["../../../src/overrides/decoration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const isConstructor: (val: any) => boolean;
|
|
2
|
+
export declare const METADATA_FACTORY_NAME = "_OPENAPI_METADATA_FACTORY";
|
|
3
|
+
export declare const METHOD_METADATA = "method";
|
|
4
|
+
export declare function createMethodDecorator<T = any>(metakey: string, metadata: T, { overrideExisting }?: {
|
|
5
|
+
overrideExisting: boolean;
|
|
6
|
+
}): MethodDecorator;
|
|
7
|
+
export declare function createClassDecorator<T extends Array<any> = any>(metakey: string, metadata?: T): ClassDecorator;
|
|
8
|
+
export declare function createPropertyDecorator<T extends Record<string, any> = any>(metakey: string, metadata: T, overrideExisting?: boolean): PropertyDecorator;
|
|
9
|
+
export declare function createMixedDecorator<T = any>(metakey: string, metadata: T): MethodDecorator & ClassDecorator;
|
|
10
|
+
export declare function createParamDecorator<T extends Record<string, any> = any>(metadata: T, initial: Partial<T>): MethodDecorator & ClassDecorator;
|
|
11
|
+
export declare function getTypeIsArrayTuple(input: Function | [Function] | undefined | string | Record<string, any>, isArrayFlag: boolean): [Function | undefined, boolean];
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { isArray, isUndefined, negate, pickBy } from "lodash";
|
|
2
|
+
import { DECORATORS } from "./constants.js";
|
|
3
|
+
export const isConstructor = (val) => val === "constructor";
|
|
4
|
+
export const METADATA_FACTORY_NAME = "_OPENAPI_METADATA_FACTORY";
|
|
5
|
+
export const METHOD_METADATA = "method";
|
|
6
|
+
export function createMethodDecorator(metakey, metadata, { overrideExisting } = { overrideExisting: true }) {
|
|
7
|
+
return (target, key, descriptor) => {
|
|
8
|
+
if (typeof metadata === "object") {
|
|
9
|
+
const prevValue = Reflect.getMetadata(metakey, descriptor.value);
|
|
10
|
+
if (prevValue && !overrideExisting) {
|
|
11
|
+
return descriptor;
|
|
12
|
+
}
|
|
13
|
+
Reflect.defineMetadata(metakey, { ...prevValue, ...metadata }, descriptor.value);
|
|
14
|
+
return descriptor;
|
|
15
|
+
}
|
|
16
|
+
Reflect.defineMetadata(metakey, metadata, descriptor.value);
|
|
17
|
+
return descriptor;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function createClassDecorator(metakey, metadata = []) {
|
|
21
|
+
return (target) => {
|
|
22
|
+
const prevValue = Reflect.getMetadata(metakey, target) || [];
|
|
23
|
+
Reflect.defineMetadata(metakey, [...prevValue, ...metadata], target);
|
|
24
|
+
return target;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
|
|
28
|
+
return ((target, propertyKey) => {
|
|
29
|
+
const properties = Reflect.getMetadata(DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
|
|
30
|
+
const key = `:${propertyKey}`;
|
|
31
|
+
if (!properties.includes(key)) {
|
|
32
|
+
Reflect.defineMetadata(DECORATORS.API_MODEL_PROPERTIES_ARRAY, [...properties, `:${propertyKey}`], target);
|
|
33
|
+
}
|
|
34
|
+
const existingMetadata = Reflect.getMetadata(metakey, target, propertyKey);
|
|
35
|
+
if (existingMetadata) {
|
|
36
|
+
const newMetadata = pickBy(metadata, negate(isUndefined));
|
|
37
|
+
const metadataToSave = overrideExisting
|
|
38
|
+
? {
|
|
39
|
+
...existingMetadata,
|
|
40
|
+
...newMetadata,
|
|
41
|
+
}
|
|
42
|
+
: {
|
|
43
|
+
...newMetadata,
|
|
44
|
+
...existingMetadata,
|
|
45
|
+
};
|
|
46
|
+
Reflect.defineMetadata(metakey, metadataToSave, target, propertyKey);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const type = target?.constructor?.[METADATA_FACTORY_NAME]?.()[propertyKey]?.type ?? Reflect.getMetadata("design:type", target, propertyKey);
|
|
50
|
+
Reflect.defineMetadata(metakey, {
|
|
51
|
+
type,
|
|
52
|
+
...pickBy(metadata, negate(isUndefined)),
|
|
53
|
+
}, target, propertyKey);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
export function createMixedDecorator(metakey, metadata) {
|
|
58
|
+
return (target, key, descriptor) => {
|
|
59
|
+
if (descriptor) {
|
|
60
|
+
let metadatas;
|
|
61
|
+
if (Array.isArray(metadata)) {
|
|
62
|
+
const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || [];
|
|
63
|
+
metadatas = [...previousMetadata, ...metadata];
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const previousMetadata = Reflect.getMetadata(metakey, descriptor.value) || {};
|
|
67
|
+
metadatas = { ...previousMetadata, ...metadata };
|
|
68
|
+
}
|
|
69
|
+
Reflect.defineMetadata(metakey, metadatas, descriptor.value);
|
|
70
|
+
return descriptor;
|
|
71
|
+
}
|
|
72
|
+
let metadatas;
|
|
73
|
+
if (Array.isArray(metadata)) {
|
|
74
|
+
const previousMetadata = Reflect.getMetadata(metakey, target) || [];
|
|
75
|
+
metadatas = [...previousMetadata, ...metadata];
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
const previousMetadata = Reflect.getMetadata(metakey, target) || {};
|
|
79
|
+
metadatas = Object.assign(Object.assign({}, previousMetadata), metadata);
|
|
80
|
+
}
|
|
81
|
+
Reflect.defineMetadata(metakey, metadatas, target);
|
|
82
|
+
return target;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export function createParamDecorator(metadata, initial) {
|
|
86
|
+
return (
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
88
|
+
target, key, descriptor) => {
|
|
89
|
+
const paramOptions = {
|
|
90
|
+
...initial,
|
|
91
|
+
...pickBy(metadata, negate(isUndefined)),
|
|
92
|
+
};
|
|
93
|
+
if (descriptor) {
|
|
94
|
+
const parameters = Reflect.getMetadata(DECORATORS.API_PARAMETERS, descriptor.value) || [];
|
|
95
|
+
Reflect.defineMetadata(DECORATORS.API_PARAMETERS, [...parameters, paramOptions], descriptor.value);
|
|
96
|
+
return descriptor;
|
|
97
|
+
}
|
|
98
|
+
if (typeof target === "object") {
|
|
99
|
+
return target;
|
|
100
|
+
}
|
|
101
|
+
const propertyKeys = Object.getOwnPropertyNames(target.prototype);
|
|
102
|
+
for (const propertyKey of propertyKeys) {
|
|
103
|
+
if (isConstructor(propertyKey)) {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const methodDescriptor = Object.getOwnPropertyDescriptor(target.prototype, propertyKey);
|
|
107
|
+
if (!methodDescriptor) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const isApiMethod = Reflect.hasMetadata(METHOD_METADATA, methodDescriptor.value);
|
|
111
|
+
if (!isApiMethod) {
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
const parameters = Reflect.getMetadata(DECORATORS.API_PARAMETERS, methodDescriptor.value) || [];
|
|
115
|
+
Reflect.defineMetadata(DECORATORS.API_PARAMETERS, [...parameters, paramOptions], methodDescriptor.value);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
export function getTypeIsArrayTuple(
|
|
120
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
121
|
+
input, isArrayFlag
|
|
122
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
123
|
+
) {
|
|
124
|
+
if (!input) {
|
|
125
|
+
return [input, isArrayFlag];
|
|
126
|
+
}
|
|
127
|
+
if (isArrayFlag) {
|
|
128
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
129
|
+
return [input, isArrayFlag];
|
|
130
|
+
}
|
|
131
|
+
const isInputArray = isArray(input);
|
|
132
|
+
const type = isInputArray ? input[0] : input;
|
|
133
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
134
|
+
return [type, isInputArray];
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/overrides/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overrides/index.ts"],"names":[],"mappings":"AAAA,6BAA0B;AAC1B,+BAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overrides/index.ts"],"names":[],"mappings":"AAAA,6BAA0B;AAC1B,+BAA4B;AAC5B,gCAA6B;AAC7B,+BAA4B"}
|
package/lib/index.cjs
CHANGED
|
@@ -55,7 +55,7 @@ __exportStar(require("./utils.cjs"), exports);
|
|
|
55
55
|
* @constant
|
|
56
56
|
* @type {string}
|
|
57
57
|
*/
|
|
58
|
-
exports.VERSION = "0.1.
|
|
58
|
+
exports.VERSION = "0.1.24";
|
|
59
59
|
exports.PACKAGE_NAME = "@decaf-ts/for-nest";
|
|
60
60
|
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
61
61
|
//# sourceMappingURL=index.js.map
|
package/lib/index.d.ts
CHANGED
|
@@ -1,14 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isUndefined = void 0;
|
|
4
|
+
exports.getEnumValues = getEnumValues;
|
|
5
|
+
exports.getEnumType = getEnumType;
|
|
3
6
|
exports.createPropertyDecorator = createPropertyDecorator;
|
|
4
7
|
exports.ApiProperty = ApiProperty;
|
|
5
8
|
exports.createApiPropertyDecorator = createApiPropertyDecorator;
|
|
6
|
-
const helpers_1 = require("@nestjs/swagger/dist/decorators/helpers");
|
|
7
|
-
const enum_utils_1 = require("@nestjs/swagger/dist/utils/enum.utils");
|
|
8
|
-
const constants_1 = require("@nestjs/swagger/dist/constants");
|
|
9
9
|
const lodash_1 = require("lodash");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const constants_1 = require("./constants.cjs");
|
|
11
|
+
const helpers_1 = require("./helpers.cjs");
|
|
12
|
+
const isUndefined = (obj) => typeof obj === "undefined";
|
|
13
|
+
exports.isUndefined = isUndefined;
|
|
14
|
+
function getEnumValues(enumType) {
|
|
15
|
+
if (typeof enumType === "function") {
|
|
16
|
+
return getEnumValues(enumType());
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(enumType)) {
|
|
19
|
+
return enumType;
|
|
20
|
+
}
|
|
21
|
+
if (typeof enumType !== "object") {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
// Enums with numeric values
|
|
25
|
+
// enum Size {
|
|
26
|
+
// SMALL = 1,
|
|
27
|
+
// BIG = 2
|
|
28
|
+
// }
|
|
29
|
+
// are transpiled to include a reverse mapping
|
|
30
|
+
// const Size = {
|
|
31
|
+
// "1": "SMALL",
|
|
32
|
+
// "2": "BIG",
|
|
33
|
+
// "SMALL": 1,
|
|
34
|
+
// "BIG": 2,
|
|
35
|
+
// }
|
|
36
|
+
const numericValues = Object.values(enumType)
|
|
37
|
+
.filter((value) => typeof value === "number")
|
|
38
|
+
.map((value) => value.toString());
|
|
39
|
+
return Object.keys(enumType)
|
|
40
|
+
.filter((key) => !numericValues.includes(key))
|
|
41
|
+
.map((key) => enumType[key]);
|
|
42
|
+
}
|
|
43
|
+
function getEnumType(values) {
|
|
44
|
+
const hasString = values.filter(lodash_1.isString).length > 0;
|
|
45
|
+
return hasString ? "string" : "number";
|
|
46
|
+
}
|
|
12
47
|
function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
|
|
13
48
|
return ((target, propertyKey) => {
|
|
14
49
|
const properties = Reflect.getMetadata(constants_1.DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
|
|
@@ -18,7 +53,7 @@ function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
|
|
|
18
53
|
}
|
|
19
54
|
const existingMetadata = Reflect.getMetadata(metakey, target, propertyKey);
|
|
20
55
|
if (existingMetadata) {
|
|
21
|
-
const newMetadata = (0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(
|
|
56
|
+
const newMetadata = (0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(exports.isUndefined));
|
|
22
57
|
const metadataToSave = overrideExisting
|
|
23
58
|
? {
|
|
24
59
|
...existingMetadata,
|
|
@@ -33,11 +68,11 @@ function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
|
|
|
33
68
|
else {
|
|
34
69
|
const type =
|
|
35
70
|
// @ts-expect-error nest js code
|
|
36
|
-
target?.constructor?.[
|
|
71
|
+
target?.constructor?.[helpers_1.METADATA_FACTORY_NAME]?.()[propertyKey]?.type ??
|
|
37
72
|
Reflect.getMetadata("design:type", target, propertyKey);
|
|
38
73
|
Reflect.defineMetadata(metakey, {
|
|
39
74
|
type,
|
|
40
|
-
...(0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(
|
|
75
|
+
...(0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(exports.isUndefined)),
|
|
41
76
|
}, target, propertyKey);
|
|
42
77
|
}
|
|
43
78
|
});
|
|
@@ -58,18 +93,18 @@ function createApiPropertyDecorator(options = {}, overrideExisting = true) {
|
|
|
58
93
|
};
|
|
59
94
|
if (isEnumArray(options)) {
|
|
60
95
|
options.type = "array";
|
|
61
|
-
const enumValues =
|
|
96
|
+
const enumValues = getEnumValues(options.enum);
|
|
62
97
|
options.items = {
|
|
63
|
-
type:
|
|
98
|
+
type: getEnumType(enumValues),
|
|
64
99
|
enum: enumValues,
|
|
65
100
|
};
|
|
66
101
|
// @ts-expect-error nest js code
|
|
67
102
|
delete options.enum;
|
|
68
103
|
}
|
|
69
104
|
else if ("enum" in options && options.enum !== undefined) {
|
|
70
|
-
const enumValues =
|
|
105
|
+
const enumValues = getEnumValues(options.enum);
|
|
71
106
|
options.enum = enumValues;
|
|
72
|
-
options.type =
|
|
107
|
+
options.type = getEnumType(enumValues);
|
|
73
108
|
}
|
|
74
109
|
if (Array.isArray(options.type)) {
|
|
75
110
|
options.type = "array";
|