@nestjs/common 9.0.10 → 9.1.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/cache/cache.constants.d.ts +1 -0
- package/cache/cache.constants.js +3 -1
- package/cache/interceptors/cache.interceptor.js +8 -2
- package/constants.d.ts +2 -2
- package/constants.js +2 -2
- package/module-utils/configurable-module.builder.d.ts +1 -1
- package/module-utils/configurable-module.builder.js +3 -4
- package/module-utils/interfaces/configurable-module-cls.interface.d.ts +1 -1
- package/module-utils/interfaces/configurable-module-host.interface.d.ts +2 -2
- package/module-utils/utils/index.d.ts +2 -0
- package/module-utils/utils/index.js +5 -0
- package/package.json +2 -2
- package/serializer/class-serializer.interceptor.d.ts +4 -3
- package/serializer/class-serializer.interceptor.js +11 -3
- package/serializer/class-serializer.interfaces.d.ts +5 -0
- package/serializer/class-serializer.interfaces.js +2 -0
- package/serializer/decorators/serialize-options.decorator.d.ts +2 -2
- package/serializer/index.d.ts +1 -0
- package/serializer/index.js +1 -0
- package/services/console-logger.service.js +1 -1
package/cache/cache.constants.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CACHE_TTL_METADATA = exports.CACHE_KEY_METADATA = exports.CACHE_MANAGER = void 0;
|
|
3
|
+
exports.CACHE_MODULE_OPTIONS = exports.CACHE_TTL_METADATA = exports.CACHE_KEY_METADATA = exports.CACHE_MANAGER = void 0;
|
|
4
|
+
const cache_module_definition_1 = require("./cache.module-definition");
|
|
4
5
|
exports.CACHE_MANAGER = 'CACHE_MANAGER';
|
|
5
6
|
exports.CACHE_KEY_METADATA = 'cache_module:cache_key';
|
|
6
7
|
exports.CACHE_TTL_METADATA = 'cache_module:cache_ttl';
|
|
8
|
+
exports.CACHE_MODULE_OPTIONS = cache_module_definition_1.MODULE_OPTIONS_TOKEN;
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const rxjs_1 = require("rxjs");
|
|
6
6
|
const operators_1 = require("rxjs/operators");
|
|
7
7
|
const decorators_1 = require("../../decorators");
|
|
8
|
+
const logger_service_1 = require("../../services/logger.service");
|
|
8
9
|
const shared_utils_1 = require("../../utils/shared.utils");
|
|
9
10
|
const cache_constants_1 = require("../cache.constants");
|
|
10
11
|
const HTTP_ADAPTER_HOST = 'HttpAdapterHost';
|
|
@@ -30,9 +31,14 @@ let CacheInterceptor = class CacheInterceptor {
|
|
|
30
31
|
const ttl = (0, shared_utils_1.isFunction)(ttlValueOrFactory)
|
|
31
32
|
? await ttlValueOrFactory(context)
|
|
32
33
|
: ttlValueOrFactory;
|
|
33
|
-
return next.handle().pipe((0, operators_1.tap)(response => {
|
|
34
|
+
return next.handle().pipe((0, operators_1.tap)(async (response) => {
|
|
34
35
|
const args = (0, shared_utils_1.isNil)(ttl) ? [key, response] : [key, response, { ttl }];
|
|
35
|
-
|
|
36
|
+
try {
|
|
37
|
+
await this.cacheManager.set(...args);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
logger_service_1.Logger.error(`An error has occured when inserting "key: ${key}", "value: ${response}"`, 'CacheInterceptor');
|
|
41
|
+
}
|
|
36
42
|
}));
|
|
37
43
|
}
|
|
38
44
|
catch (_b) {
|
package/constants.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ export declare const METHOD_METADATA = "method";
|
|
|
17
17
|
export declare const ROUTE_ARGS_METADATA = "__routeArguments__";
|
|
18
18
|
export declare const CUSTOM_ROUTE_ARGS_METADATA = "__customRouteArgs__";
|
|
19
19
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
* @deprecated Use `CUSTOM_ROUTE_ARGS_METADATA` instead
|
|
21
|
+
*/
|
|
22
22
|
export declare const CUSTOM_ROUTE_AGRS_METADATA = "__customRouteArgs__";
|
|
23
23
|
export declare const EXCEPTION_FILTERS_METADATA = "__exceptionFilters__";
|
|
24
24
|
export declare const FILTER_CATCH_EXCEPTIONS = "__filterCatchExceptions__";
|
package/constants.js
CHANGED
|
@@ -20,8 +20,8 @@ exports.METHOD_METADATA = 'method';
|
|
|
20
20
|
exports.ROUTE_ARGS_METADATA = '__routeArguments__';
|
|
21
21
|
exports.CUSTOM_ROUTE_ARGS_METADATA = '__customRouteArgs__';
|
|
22
22
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
* @deprecated Use `CUSTOM_ROUTE_ARGS_METADATA` instead
|
|
24
|
+
*/
|
|
25
25
|
exports.CUSTOM_ROUTE_AGRS_METADATA = exports.CUSTOM_ROUTE_ARGS_METADATA;
|
|
26
26
|
exports.EXCEPTION_FILTERS_METADATA = '__exceptionFilters__';
|
|
27
27
|
exports.FILTER_CATCH_EXCEPTIONS = '__filterCatchExceptions__';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DynamicModule } from '../interfaces';
|
|
2
2
|
import { Logger } from '../services/logger.service';
|
|
3
3
|
import { DEFAULT_FACTORY_CLASS_METHOD_KEY, DEFAULT_METHOD_KEY } from './constants';
|
|
4
|
-
import { ConfigurableModuleHost } from './interfaces
|
|
4
|
+
import { ConfigurableModuleHost } from './interfaces';
|
|
5
5
|
/**
|
|
6
6
|
* @publicApi
|
|
7
7
|
*/
|
|
@@ -4,8 +4,7 @@ exports.ConfigurableModuleBuilder = void 0;
|
|
|
4
4
|
const logger_service_1 = require("../services/logger.service");
|
|
5
5
|
const random_string_generator_util_1 = require("../utils/random-string-generator.util");
|
|
6
6
|
const constants_1 = require("./constants");
|
|
7
|
-
const
|
|
8
|
-
const get_injection_providers_util_1 = require("./utils/get-injection-providers.util");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
9
8
|
/**
|
|
10
9
|
* Factory that lets you create configurable modules and
|
|
11
10
|
* provides a way to reduce the majority of dynamic module boilerplate.
|
|
@@ -88,7 +87,7 @@ class ConfigurableModuleBuilder {
|
|
|
88
87
|
(_b = this.factoryClassMethodKey) !== null && _b !== void 0 ? _b : (this.factoryClassMethodKey = constants_1.DEFAULT_FACTORY_CLASS_METHOD_KEY);
|
|
89
88
|
(_c = (_e = this.options).optionsInjectionToken) !== null && _c !== void 0 ? _c : (_e.optionsInjectionToken = this.options.moduleName
|
|
90
89
|
? this.constructInjectionTokenString()
|
|
91
|
-
: (0,
|
|
90
|
+
: (0, utils_1.generateOptionsInjectionToken)());
|
|
92
91
|
(_d = this.transformModuleDefinition) !== null && _d !== void 0 ? _d : (this.transformModuleDefinition = definition => definition);
|
|
93
92
|
return {
|
|
94
93
|
ConfigurableModuleClass: this.createConfigurableModuleCls(),
|
|
@@ -160,7 +159,7 @@ class ConfigurableModuleBuilder {
|
|
|
160
159
|
if (options.inject && options.provideInjectionTokensFrom) {
|
|
161
160
|
return [
|
|
162
161
|
this.createAsyncOptionsProvider(options),
|
|
163
|
-
...(0,
|
|
162
|
+
...(0, utils_1.getInjectionProviders)(options.provideInjectionTokensFrom, options.inject),
|
|
164
163
|
];
|
|
165
164
|
}
|
|
166
165
|
return [this.createAsyncOptionsProvider(options)];
|
|
@@ -10,4 +10,4 @@ import { ConfigurableModuleAsyncOptions } from './configurable-module-async-opti
|
|
|
10
10
|
*/
|
|
11
11
|
export declare type ConfigurableModuleCls<ModuleOptions, MethodKey extends string = typeof DEFAULT_METHOD_KEY, FactoryClassMethodKey extends string = typeof DEFAULT_FACTORY_CLASS_METHOD_KEY, ExtraModuleDefinitionOptions = {}> = {
|
|
12
12
|
new (): any;
|
|
13
|
-
} & Record<`${MethodKey}`, (options: ModuleOptions & ExtraModuleDefinitionOptions) => DynamicModule> & Record<`${MethodKey}Async`, (options: ConfigurableModuleAsyncOptions<ModuleOptions, FactoryClassMethodKey> & ExtraModuleDefinitionOptions) => DynamicModule>;
|
|
13
|
+
} & Record<`${MethodKey}`, (options: ModuleOptions & Partial<ExtraModuleDefinitionOptions>) => DynamicModule> & Record<`${MethodKey}Async`, (options: ConfigurableModuleAsyncOptions<ModuleOptions, FactoryClassMethodKey> & Partial<ExtraModuleDefinitionOptions>) => DynamicModule>;
|
|
@@ -42,7 +42,7 @@ export interface ConfigurableModuleHost<ModuleOptions = Record<string, unknown>,
|
|
|
42
42
|
* }
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
ASYNC_OPTIONS_TYPE: ConfigurableModuleAsyncOptions<ModuleOptions, FactoryClassMethodKey> & ExtraModuleDefinitionOptions
|
|
45
|
+
ASYNC_OPTIONS_TYPE: ConfigurableModuleAsyncOptions<ModuleOptions, FactoryClassMethodKey> & Partial<ExtraModuleDefinitionOptions>;
|
|
46
46
|
/**
|
|
47
47
|
* Can be used to auto-infer the compound "module options" type (options interface + extra module definition options).
|
|
48
48
|
* Note: this property is not supposed to be used as a value.
|
|
@@ -58,5 +58,5 @@ export interface ConfigurableModuleHost<ModuleOptions = Record<string, unknown>,
|
|
|
58
58
|
* }
|
|
59
59
|
* ```
|
|
60
60
|
*/
|
|
61
|
-
OPTIONS_TYPE: ModuleOptions & ExtraModuleDefinitionOptions
|
|
61
|
+
OPTIONS_TYPE: ModuleOptions & Partial<ExtraModuleDefinitionOptions>;
|
|
62
62
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./generate-options-injection-token.util"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./get-injection-providers.util"), exports);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestjs/common",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.1.1",
|
|
4
4
|
"description": "Nest - modern, fast, powerful node.js web framework (@common)",
|
|
5
5
|
"author": "Kamil Mysliwiec",
|
|
6
6
|
"homepage": "https://nestjs.com",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"iterare": "1.2.1",
|
|
21
21
|
"tslib": "2.4.0",
|
|
22
|
-
"uuid": "
|
|
22
|
+
"uuid": "9.0.0"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"cache-manager": "*",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ClassSerializerContextOptions } from './class-serializer.interfaces';
|
|
1
2
|
import { Observable } from 'rxjs';
|
|
2
3
|
import { CallHandler, ExecutionContext, NestInterceptor } from '../interfaces';
|
|
3
4
|
import { ClassTransformOptions } from '../interfaces/external/class-transform-options.interface';
|
|
@@ -16,7 +17,7 @@ export declare class ClassSerializerInterceptor implements NestInterceptor {
|
|
|
16
17
|
/**
|
|
17
18
|
* Serializes responses that are non-null objects nor streamable files.
|
|
18
19
|
*/
|
|
19
|
-
serialize(response: PlainLiteralObject | Array<PlainLiteralObject>, options:
|
|
20
|
-
transformToPlain(plainOrClass: any, options:
|
|
21
|
-
protected getContextOptions(context: ExecutionContext):
|
|
20
|
+
serialize(response: PlainLiteralObject | Array<PlainLiteralObject>, options: ClassSerializerContextOptions): PlainLiteralObject | Array<PlainLiteralObject>;
|
|
21
|
+
transformToPlain(plainOrClass: any, options: ClassSerializerContextOptions): PlainLiteralObject;
|
|
22
|
+
protected getContextOptions(context: ExecutionContext): ClassSerializerContextOptions | undefined;
|
|
22
23
|
}
|
|
@@ -43,9 +43,17 @@ let ClassSerializerInterceptor = class ClassSerializerInterceptor {
|
|
|
43
43
|
: this.transformToPlain(response, options);
|
|
44
44
|
}
|
|
45
45
|
transformToPlain(plainOrClass, options) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
if (!plainOrClass) {
|
|
47
|
+
return plainOrClass;
|
|
48
|
+
}
|
|
49
|
+
if (!options.type) {
|
|
50
|
+
return classTransformer.classToPlain(plainOrClass, options);
|
|
51
|
+
}
|
|
52
|
+
if (plainOrClass instanceof options.type) {
|
|
53
|
+
return classTransformer.classToPlain(plainOrClass, options);
|
|
54
|
+
}
|
|
55
|
+
const instance = classTransformer.plainToClass(options.type, plainOrClass);
|
|
56
|
+
return classTransformer.classToPlain(instance, options);
|
|
49
57
|
}
|
|
50
58
|
getContextOptions(context) {
|
|
51
59
|
return this.reflector.getAllAndOverride(class_serializer_constants_1.CLASS_SERIALIZER_OPTIONS, [
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const SerializeOptions: (options:
|
|
1
|
+
import { ClassSerializerContextOptions } from '../class-serializer.interfaces';
|
|
2
|
+
export declare const SerializeOptions: (options: ClassSerializerContextOptions) => import("../../decorators").CustomDecorator<string>;
|
package/serializer/index.d.ts
CHANGED
package/serializer/index.js
CHANGED
|
@@ -3,3 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./class-serializer.interceptor"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./decorators"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./class-serializer.interfaces"), exports);
|
|
@@ -133,7 +133,7 @@ let ConsoleLogger = ConsoleLogger_1 = class ConsoleLogger {
|
|
|
133
133
|
return `${pidMessage}${this.getTimestamp()} ${formattedLogLevel} ${contextMessage}${output}${timestampDiff}\n`;
|
|
134
134
|
}
|
|
135
135
|
stringifyMessage(message, logLevel) {
|
|
136
|
-
return (0, shared_utils_1.isPlainObject)(message)
|
|
136
|
+
return (0, shared_utils_1.isPlainObject)(message) || Array.isArray(message)
|
|
137
137
|
? `${this.colorize('Object:', logLevel)}\n${JSON.stringify(message, (key, value) => typeof value === 'bigint' ? value.toString() : value, 2)}\n`
|
|
138
138
|
: this.colorize(message, logLevel);
|
|
139
139
|
}
|