@interfere/nest 0.0.1-canary.5 → 0.1.0-canary.11
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 +2 -2
- package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers → _@oxc-project_runtime@0.137.0/helpers/esm}/decorate.cjs +1 -1
- package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers → _@oxc-project_runtime@0.137.0/helpers/esm}/decorate.mjs +1 -1
- package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.mjs → _@oxc-project_runtime@0.137.0/helpers/esm/decorateMetadata.cjs} +1 -1
- package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers/decorateMetadata.cjs → _@oxc-project_runtime@0.137.0/helpers/esm/decorateMetadata.mjs} +1 -1
- package/dist/_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorateParam.cjs +1 -0
- package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers → _@oxc-project_runtime@0.137.0/helpers/esm}/decorateParam.mjs +1 -1
- package/dist/exception-filter.cjs +1 -1
- package/dist/exception-filter.d.cts +1 -2
- package/dist/exception-filter.d.mts +1 -2
- package/dist/exception-filter.mjs +1 -2
- package/dist/init.d.cts +1 -2
- package/dist/init.d.mts +1 -2
- package/dist/init.mjs +1 -2
- package/dist/module.cjs +1 -1
- package/dist/module.d.cts +1 -2
- package/dist/module.d.mts +1 -2
- package/dist/module.mjs +1 -2
- package/dist/nest-instrumentation.d.cts +1 -2
- package/dist/nest-instrumentation.d.mts +1 -2
- package/dist/nest-instrumentation.mjs +1 -2
- package/dist/package.cjs +1 -1
- package/dist/package.mjs +1 -2
- package/package.json +12 -12
- package/dist/_virtual/_@oxc-project_runtime@0.132.0/helpers/decorateParam.cjs +0 -1
package/README.md
CHANGED
|
@@ -87,8 +87,8 @@ The CLI derives the release slug from the same commit SHA the SDK uses at runtim
|
|
|
87
87
|
|
|
88
88
|
| Variable | Where | Purpose |
|
|
89
89
|
|---|---|---|
|
|
90
|
-
| `INTERFERE_PUBLIC_KEY` | Runtime | Routes spans to your surface (`
|
|
91
|
-
| `INTERFERE_API_KEY` | CI / Build | Authenticates source map uploads and release registration (`
|
|
90
|
+
| `INTERFERE_PUBLIC_KEY` | Runtime | Routes spans to your surface (`interfere_pub_us_*` or `interfere_pub_eu_*`) |
|
|
91
|
+
| `INTERFERE_API_KEY` | CI / Build | Authenticates source map uploads and release registration (`interfere_secret_us_*` or `interfere_secret_eu_*`) |
|
|
92
92
|
| `INTERFERE_SOURCE_ID` | Both | Override the commit SHA used to derive the release slug. Falls back to `GITHUB_SHA`, `VERCEL_GIT_COMMIT_SHA`, or `git rev-parse HEAD`. |
|
|
93
93
|
| `INTERFERE_DEBUG` | Runtime | Set to `1` to enable debug logging without changing code. Equivalent to `debug: true` in `init()`. |
|
|
94
94
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}exports.
|
|
1
|
+
function __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}exports.default=__decorate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}export{__decorate};
|
|
1
|
+
function __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}export{__decorate as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function __decorateMetadata(k,v){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(k,v)}
|
|
1
|
+
function __decorateMetadata(k,v){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(k,v)}exports.default=__decorateMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function __decorateMetadata(k,v){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(k,v)}
|
|
1
|
+
function __decorateMetadata(k,v){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(k,v)}export{__decorateMetadata as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function __decorateParam(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}exports.default=__decorateParam;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function __decorateParam(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}export{__decorateParam};
|
|
1
|
+
function __decorateParam(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}export{__decorateParam as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require_decorateMetadata=require("./_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require_decorateMetadata=require("./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorateMetadata.cjs"),require_decorateParam=require("./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorateParam.cjs"),require_decorate=require("./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.cjs");let _interfere_node=require("@interfere/node"),_nestjs_common=require("@nestjs/common"),_nestjs_core=require("@nestjs/core"),InterfereExceptionFilter=class extends _nestjs_core.BaseExceptionFilter{constructor(adapterHost){super(adapterHost?.httpAdapter)}catch(exception,host){this.shouldReport(exception)&&(0,_interfere_node.captureError)(exception,this.extractRequest(host)),super.catch(exception,host)}shouldReport(exception){return exception instanceof _nestjs_common.HttpException?exception.getStatus()>=500:!0}extractRequest(host){if(host.getType()===`http`)return host.switchToHttp().getRequest()}};InterfereExceptionFilter=require_decorate.default([(0,_nestjs_common.Catch)(),require_decorateParam.default(0,(0,_nestjs_common.Optional)()),require_decorateParam.default(0,(0,_nestjs_common.Inject)(_nestjs_core.HttpAdapterHost)),require_decorateMetadata.default(`design:paramtypes`,[_nestjs_core.HttpAdapterHost===void 0?Object:_nestjs_core.HttpAdapterHost])],InterfereExceptionFilter),Object.defineProperty(exports,"InterfereExceptionFilter",{enumerable:!0,get:function(){return InterfereExceptionFilter}});
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=exception-filter.mjs.map
|
|
1
|
+
import __decorateMetadata from"./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorateMetadata.mjs";import __decorateParam from"./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorateParam.mjs";import __decorate from"./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.mjs";import{captureError}from"@interfere/node";import{Catch,HttpException,Inject,Optional}from"@nestjs/common";import{BaseExceptionFilter,HttpAdapterHost}from"@nestjs/core";let InterfereExceptionFilter=class extends BaseExceptionFilter{constructor(adapterHost){super(adapterHost?.httpAdapter)}catch(exception,host){this.shouldReport(exception)&&captureError(exception,this.extractRequest(host)),super.catch(exception,host)}shouldReport(exception){return exception instanceof HttpException?exception.getStatus()>=500:!0}extractRequest(host){if(host.getType()===`http`)return host.switchToHttp().getRequest()}};InterfereExceptionFilter=__decorate([Catch(),__decorateParam(0,Optional()),__decorateParam(0,Inject(HttpAdapterHost)),__decorateMetadata(`design:paramtypes`,[HttpAdapterHost===void 0?Object:HttpAdapterHost])],InterfereExceptionFilter);export{InterfereExceptionFilter};
|
package/dist/init.d.cts
CHANGED
|
@@ -17,5 +17,4 @@ import { InitOptions, InitOptions as InitOptions$1 } from "@interfere/node";
|
|
|
17
17
|
*/
|
|
18
18
|
declare function init(options?: InitOptions$1): void;
|
|
19
19
|
//#endregion
|
|
20
|
-
export { type InitOptions, init };
|
|
21
|
-
//# sourceMappingURL=init.d.cts.map
|
|
20
|
+
export { type InitOptions, init };
|
package/dist/init.d.mts
CHANGED
|
@@ -17,5 +17,4 @@ import { InitOptions, InitOptions as InitOptions$1 } from "@interfere/node";
|
|
|
17
17
|
*/
|
|
18
18
|
declare function init(options?: InitOptions$1): void;
|
|
19
19
|
//#endregion
|
|
20
|
-
export { type InitOptions, init };
|
|
21
|
-
//# sourceMappingURL=init.d.mts.map
|
|
20
|
+
export { type InitOptions, init };
|
package/dist/init.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{InterfereNestInstrumentation}from"./nest-instrumentation.mjs";import{register}from"node:module";import{init as init$1}from"@interfere/node";import{registerInstrumentations}from"@opentelemetry/instrumentation";import{NestInstrumentation}from"@opentelemetry/instrumentation-nestjs-core";const INIT_KEY=`__interfereNestInitialized__`,g=globalThis;function init(options={}){g[INIT_KEY]||(typeof register==`function`&®ister(`import-in-the-middle/hook.mjs`,import.meta.url),init$1(options),registerInstrumentations({instrumentations:[new NestInstrumentation,new InterfereNestInstrumentation]}),g[INIT_KEY]=!0)}export{init};
|
|
2
|
-
//# sourceMappingURL=init.mjs.map
|
|
1
|
+
import{InterfereNestInstrumentation}from"./nest-instrumentation.mjs";import{register}from"node:module";import{init as init$1}from"@interfere/node";import{registerInstrumentations}from"@opentelemetry/instrumentation";import{NestInstrumentation}from"@opentelemetry/instrumentation-nestjs-core";const INIT_KEY=`__interfereNestInitialized__`,g=globalThis;function init(options={}){g[INIT_KEY]||(typeof register==`function`&®ister(`import-in-the-middle/hook.mjs`,import.meta.url),init$1(options),registerInstrumentations({instrumentations:[new NestInstrumentation,new InterfereNestInstrumentation]}),g[INIT_KEY]=!0)}export{init};
|
package/dist/module.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require_decorate=require("./_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const require_decorate=require("./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.cjs"),require_exception_filter=require("./exception-filter.cjs");let _nestjs_common=require("@nestjs/common"),_nestjs_core=require("@nestjs/core");var _InterfereModule;let InterfereModule=_InterfereModule=class{static forRoot(){return{module:_InterfereModule,providers:[{provide:_nestjs_core.APP_FILTER,useClass:require_exception_filter.InterfereExceptionFilter}]}}};InterfereModule=_InterfereModule=require_decorate.default([(0,_nestjs_common.Module)({})],InterfereModule),Object.defineProperty(exports,"InterfereModule",{enumerable:!0,get:function(){return InterfereModule}});
|
package/dist/module.d.cts
CHANGED
package/dist/module.d.mts
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=module.mjs.map
|
|
1
|
+
import __decorate from"./_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.mjs";import{InterfereExceptionFilter}from"./exception-filter.mjs";import{Module}from"@nestjs/common";import{APP_FILTER}from"@nestjs/core";var _InterfereModule;let InterfereModule=_InterfereModule=class{static forRoot(){return{module:_InterfereModule,providers:[{provide:APP_FILTER,useClass:InterfereExceptionFilter}]}}};InterfereModule=_InterfereModule=__decorate([Module({})],InterfereModule);export{InterfereModule};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import{name,version}from"./package.mjs";import{InstrumentationBase,InstrumentationNodeModuleDefinition,InstrumentationNodeModuleFile,isWrapped}from"@opentelemetry/instrumentation";import{SpanKind,SpanStatusCode,context,trace}from"@opentelemetry/api";const SUPPORTED_VERSIONS=[`>=8.0.0 <12`],COMPONENT=`@nestjs/common`;var InterfereNestInstrumentation=class extends InstrumentationBase{constructor(config={}){super(name,version,config)}init(){let moduleDef=new InstrumentationNodeModuleDefinition(COMPONENT,SUPPORTED_VERSIONS);return moduleDef.files.push(this.getInjectableInstrumentation(SUPPORTED_VERSIONS)),moduleDef}getInjectableInstrumentation(versions){return new InstrumentationNodeModuleFile(`@nestjs/common/decorators/core/injectable.decorator.js`,versions,moduleExports=>(isWrapped(moduleExports.Injectable)&&this._unwrap(moduleExports,`Injectable`),this._wrap(moduleExports,`Injectable`,original=>this.wrapInjectable(original)),moduleExports),moduleExports=>{this._unwrap(moduleExports,`Injectable`)})}wrapInjectable(original){let tracer=this.tracer;return function(options){return target=>target.__INTERFERE_PATCHED__?original(options)(target):(target.__INTERFERE_PATCHED__=!0,typeof target.prototype.use==`function`&&patchMethod(tracer,target,`use`,`middleware.nestjs`),typeof target.prototype.canActivate==`function`&&patchMethod(tracer,target,`canActivate`,`guard.nestjs`),typeof target.prototype.transform==`function`&&patchMethod(tracer,target,`transform`,`pipe.nestjs`),typeof target.prototype.intercept==`function`&&patchMethod(tracer,target,`intercept`,`interceptor.nestjs`),original(options)(target))}}};function patchMethod(tracer,target,method,op){let original=target.prototype[method];target.prototype[method]=function(...args){let span=tracer.startSpan(`${target.name}.${method}`,{kind:SpanKind.INTERNAL,attributes:{component:COMPONENT,"nestjs.type":op,"nestjs.callback":method,"nestjs.controller":target.name}}),ctx=trace.setSpan(context.active(),span);return context.with(ctx,()=>{try{let result=original.apply(this,args);return result&&typeof result.then==`function`?result.then(v=>(span.end(),v),err=>{throw span.recordException(err),span.setStatus({code:SpanStatusCode.ERROR}),span.end(),err}):(span.end(),result)}catch(err){throw span.recordException(err),span.setStatus({code:SpanStatusCode.ERROR}),span.end(),err}})}}export{InterfereNestInstrumentation};
|
|
2
|
-
//# sourceMappingURL=nest-instrumentation.mjs.map
|
|
1
|
+
import{name,version}from"./package.mjs";import{InstrumentationBase,InstrumentationNodeModuleDefinition,InstrumentationNodeModuleFile,isWrapped}from"@opentelemetry/instrumentation";import{SpanKind,SpanStatusCode,context,trace}from"@opentelemetry/api";const SUPPORTED_VERSIONS=[`>=8.0.0 <12`],COMPONENT=`@nestjs/common`;var InterfereNestInstrumentation=class extends InstrumentationBase{constructor(config={}){super(name,version,config)}init(){let moduleDef=new InstrumentationNodeModuleDefinition(COMPONENT,SUPPORTED_VERSIONS);return moduleDef.files.push(this.getInjectableInstrumentation(SUPPORTED_VERSIONS)),moduleDef}getInjectableInstrumentation(versions){return new InstrumentationNodeModuleFile(`@nestjs/common/decorators/core/injectable.decorator.js`,versions,moduleExports=>(isWrapped(moduleExports.Injectable)&&this._unwrap(moduleExports,`Injectable`),this._wrap(moduleExports,`Injectable`,original=>this.wrapInjectable(original)),moduleExports),moduleExports=>{this._unwrap(moduleExports,`Injectable`)})}wrapInjectable(original){let tracer=this.tracer;return function(options){return target=>target.__INTERFERE_PATCHED__?original(options)(target):(target.__INTERFERE_PATCHED__=!0,typeof target.prototype.use==`function`&&patchMethod(tracer,target,`use`,`middleware.nestjs`),typeof target.prototype.canActivate==`function`&&patchMethod(tracer,target,`canActivate`,`guard.nestjs`),typeof target.prototype.transform==`function`&&patchMethod(tracer,target,`transform`,`pipe.nestjs`),typeof target.prototype.intercept==`function`&&patchMethod(tracer,target,`intercept`,`interceptor.nestjs`),original(options)(target))}}};function patchMethod(tracer,target,method,op){let original=target.prototype[method];target.prototype[method]=function(...args){let span=tracer.startSpan(`${target.name}.${method}`,{kind:SpanKind.INTERNAL,attributes:{component:COMPONENT,"nestjs.type":op,"nestjs.callback":method,"nestjs.controller":target.name}}),ctx=trace.setSpan(context.active(),span);return context.with(ctx,()=>{try{let result=original.apply(this,args);return result&&typeof result.then==`function`?result.then(v=>(span.end(),v),err=>{throw span.recordException(err),span.setStatus({code:SpanStatusCode.ERROR}),span.end(),err}):(span.end(),result)}catch(err){throw span.recordException(err),span.setStatus({code:SpanStatusCode.ERROR}),span.end(),err}})}}export{InterfereNestInstrumentation};
|
package/dist/package.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,"name",{enumerable:!0,get:function(){return`@interfere/nest`}}),Object.defineProperty(exports,"version",{enumerable:!0,get:function(){return`0.1.0-canary.11`}});
|
package/dist/package.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
var name=`@interfere/nest`,version=`0.0
|
|
2
|
-
//# sourceMappingURL=package.mjs.map
|
|
1
|
+
var name=`@interfere/nest`,version=`0.1.0-canary.11`;export{name,version};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interfere/nest",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0-canary.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "NestJS SDK for Interfere. Auto-captures uncaught exceptions from controllers, providers, and middleware via a global ExceptionFilter, plus re-exports the @interfere/node OTel instrumentation.",
|
|
6
6
|
"keywords": [
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"author": "Interfere <support@interfere.com> (https://interfere.com)",
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|
|
21
|
-
"url": "git+https://
|
|
21
|
+
"url": "git+https://interfere.ghe.com/interfere/interfere.git",
|
|
22
22
|
"directory": "src/packages/public/nest"
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
@@ -74,28 +74,28 @@
|
|
|
74
74
|
"scripts": {
|
|
75
75
|
"build": "tsdown",
|
|
76
76
|
"test": "vitest run --passWithNoTests",
|
|
77
|
-
"typecheck": "tsc --noEmit
|
|
77
|
+
"typecheck": "tsc --noEmit"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@interfere/node": "^0.0
|
|
80
|
+
"@interfere/node": "^0.1.0-canary.10",
|
|
81
81
|
"@opentelemetry/api": "^1.9.1",
|
|
82
|
-
"@opentelemetry/instrumentation": "^0.
|
|
83
|
-
"@opentelemetry/instrumentation-nestjs-core": "^0.
|
|
82
|
+
"@opentelemetry/instrumentation": "^0.219.0",
|
|
83
|
+
"@opentelemetry/instrumentation-nestjs-core": "^0.65.0"
|
|
84
84
|
},
|
|
85
85
|
"peerDependencies": {
|
|
86
86
|
"@nestjs/common": "^10.0.0 || ^11.0.0",
|
|
87
87
|
"@nestjs/core": "^10.0.0 || ^11.0.0"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@interfere/test-utils": "^9.0.
|
|
91
|
-
"@interfere/typescript-config": "^9.0.
|
|
90
|
+
"@interfere/test-utils": "^9.0.1-canary.2",
|
|
91
|
+
"@interfere/typescript-config": "^9.0.1-canary.1",
|
|
92
92
|
"@nestjs/common": "^10.0.0 || ^11.0.0",
|
|
93
93
|
"@nestjs/core": "^10.0.0 || ^11.0.0",
|
|
94
|
-
"@types/node": "^
|
|
95
|
-
"@vitest/coverage-v8": "
|
|
94
|
+
"@types/node": "^26.1.0",
|
|
95
|
+
"@vitest/coverage-v8": "4.1.9",
|
|
96
96
|
"reflect-metadata": "^0.2",
|
|
97
|
-
"tsdown": "^0.22.
|
|
97
|
+
"tsdown": "^0.22.2",
|
|
98
98
|
"typescript": "^6.0.3",
|
|
99
|
-
"vitest": "
|
|
99
|
+
"vitest": "4.1.9"
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function __decorateParam(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}}exports.__decorateParam=__decorateParam;
|