@easydocs/nestjs 0.1.4 → 0.4.2
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.js +57 -35
- package/dist/index.js.map +1 -1
- package/package.json +7 -4
package/dist/index.js
CHANGED
|
@@ -3,6 +3,8 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
8
10
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -16,15 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
18
20
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
21
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
22
|
-
if (decorator = decorators[i])
|
|
23
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
24
|
-
if (kind && result) __defProp(target, key, result);
|
|
25
|
-
return result;
|
|
26
|
-
};
|
|
27
|
-
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
|
|
21
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
28
22
|
|
|
29
23
|
// src/index.ts
|
|
30
24
|
var index_exports = {};
|
|
@@ -43,9 +37,27 @@ var import_core2 = require("@nestjs/core");
|
|
|
43
37
|
var import_common = require("@nestjs/common");
|
|
44
38
|
var import_rxjs = require("rxjs");
|
|
45
39
|
var import_core = require("@easydocs/core");
|
|
40
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
41
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
43
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
44
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
45
|
+
}
|
|
46
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
47
|
+
function _ts_metadata(k, v) {
|
|
48
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
49
|
+
}
|
|
50
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
51
|
+
function _ts_param(paramIndex, decorator) {
|
|
52
|
+
return function(target, key) {
|
|
53
|
+
decorator(target, key, paramIndex);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
__name(_ts_param, "_ts_param");
|
|
46
57
|
var EASYDOCS_CONFIG = /* @__PURE__ */ Symbol("EASYDOCS_CONFIG");
|
|
47
|
-
var
|
|
58
|
+
var _EasyDocsInterceptor = class _EasyDocsInterceptor {
|
|
48
59
|
constructor(config) {
|
|
60
|
+
__publicField(this, "config");
|
|
49
61
|
this.config = config;
|
|
50
62
|
}
|
|
51
63
|
intercept(context, next) {
|
|
@@ -53,38 +65,46 @@ var EasyDocsInterceptor = class {
|
|
|
53
65
|
const http = context.switchToHttp();
|
|
54
66
|
const req = http.getRequest();
|
|
55
67
|
const res = http.getResponse();
|
|
56
|
-
return next.handle().pipe(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
},
|
|
72
|
-
this.config
|
|
73
|
-
);
|
|
74
|
-
})
|
|
75
|
-
);
|
|
68
|
+
return next.handle().pipe((0, import_rxjs.tap)((responseBody) => {
|
|
69
|
+
const routePath = req.route?.path ?? req.path;
|
|
70
|
+
(0, import_core.capture)({
|
|
71
|
+
method: req.method,
|
|
72
|
+
path: routePath,
|
|
73
|
+
query: req.query,
|
|
74
|
+
params: req.params,
|
|
75
|
+
body: req.body,
|
|
76
|
+
response: responseBody,
|
|
77
|
+
status: res.statusCode,
|
|
78
|
+
requestHeaders: req.headers,
|
|
79
|
+
responseHeaders: res.getHeaders(),
|
|
80
|
+
durationMs: Date.now() - startedAt
|
|
81
|
+
}, this.config);
|
|
82
|
+
}));
|
|
76
83
|
}
|
|
77
84
|
};
|
|
78
|
-
EasyDocsInterceptor
|
|
85
|
+
__name(_EasyDocsInterceptor, "EasyDocsInterceptor");
|
|
86
|
+
var EasyDocsInterceptor = _EasyDocsInterceptor;
|
|
87
|
+
EasyDocsInterceptor = _ts_decorate([
|
|
79
88
|
(0, import_common.Injectable)(),
|
|
80
|
-
|
|
89
|
+
_ts_param(0, (0, import_common.Inject)(EASYDOCS_CONFIG)),
|
|
90
|
+
_ts_metadata("design:type", Function),
|
|
91
|
+
_ts_metadata("design:paramtypes", [
|
|
92
|
+
typeof EasyDocsConfig === "undefined" ? Object : EasyDocsConfig
|
|
93
|
+
])
|
|
81
94
|
], EasyDocsInterceptor);
|
|
82
95
|
|
|
83
96
|
// src/module.ts
|
|
84
|
-
|
|
97
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
98
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
99
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
100
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
101
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
102
|
+
}
|
|
103
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
104
|
+
var _EasyDocsModule = class _EasyDocsModule {
|
|
85
105
|
static forRoot(config = {}) {
|
|
86
106
|
return {
|
|
87
|
-
module:
|
|
107
|
+
module: _EasyDocsModule,
|
|
88
108
|
global: true,
|
|
89
109
|
providers: [
|
|
90
110
|
{
|
|
@@ -99,7 +119,9 @@ var EasyDocsModule = class {
|
|
|
99
119
|
};
|
|
100
120
|
}
|
|
101
121
|
};
|
|
102
|
-
EasyDocsModule
|
|
122
|
+
__name(_EasyDocsModule, "EasyDocsModule");
|
|
123
|
+
var EasyDocsModule = _EasyDocsModule;
|
|
124
|
+
EasyDocsModule = _ts_decorate2([
|
|
103
125
|
(0, import_common2.Module)({})
|
|
104
126
|
], EasyDocsModule);
|
|
105
127
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/module.ts","../src/interceptor.ts"],"sourcesContent":["export { EasyDocsModule } from './module'\nexport { EasyDocsInterceptor, EASYDOCS_CONFIG } from './interceptor'\n","import { Module, DynamicModule } from '@nestjs/common'\nimport { APP_INTERCEPTOR } from '@nestjs/core'\nimport { EasyDocsInterceptor, EASYDOCS_CONFIG } from './interceptor'\nimport type { EasyDocsConfig } from '@easydocs/core'\n\n@Module({})\nexport class EasyDocsModule {\n static forRoot(config: EasyDocsConfig = {}): DynamicModule {\n return {\n module: EasyDocsModule,\n global: true,\n providers: [\n {\n provide: EASYDOCS_CONFIG,\n useValue: config,\n },\n {\n provide: APP_INTERCEPTOR,\n useClass: EasyDocsInterceptor,\n },\n ],\n }\n }\n}\n","import {\n Injectable,\n NestInterceptor,\n ExecutionContext,\n CallHandler,\n Inject,\n} from '@nestjs/common'\nimport { Observable, tap } from 'rxjs'\nimport { capture } from '@easydocs/core'\nimport type { EasyDocsConfig, HttpMethod } from '@easydocs/core'\n\ninterface HttpRequest {\n method: string\n path: string\n route?: { path?: string }\n query: Record<string, string>\n params: Record<string, string>\n body: unknown\n headers: Record<string, string>\n}\n\ninterface HttpResponse {\n statusCode: number\n getHeaders(): Record<string, unknown>\n}\n\nexport const EASYDOCS_CONFIG = Symbol('EASYDOCS_CONFIG')\n\n@Injectable()\nexport class EasyDocsInterceptor implements NestInterceptor {\n constructor(@Inject(EASYDOCS_CONFIG) private readonly config: EasyDocsConfig) {}\n\n intercept(context: ExecutionContext, next: CallHandler): Observable<unknown> {\n const startedAt = Date.now()\n const http = context.switchToHttp()\n const req = http.getRequest<HttpRequest>()\n const res = http.getResponse<HttpResponse>()\n\n return next.handle().pipe(\n tap((responseBody: unknown) => {\n const routePath = req.route?.path ?? req.path\n\n capture(\n {\n method: req.method as HttpMethod,\n path: routePath,\n query: req.query as Record<string, string>,\n params: req.params as Record<string, string>,\n body: req.body,\n response: responseBody,\n status: res.statusCode,\n requestHeaders: req.headers as Record<string, string>,\n responseHeaders: res.getHeaders() as Record<string, string>,\n durationMs: Date.now() - startedAt,\n },\n this.config\n )\n })\n )\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/module.ts","../src/interceptor.ts"],"sourcesContent":["export { EasyDocsModule } from './module'\nexport { EasyDocsInterceptor, EASYDOCS_CONFIG } from './interceptor'\n","import { Module, DynamicModule } from '@nestjs/common'\nimport { APP_INTERCEPTOR } from '@nestjs/core'\nimport { EasyDocsInterceptor, EASYDOCS_CONFIG } from './interceptor'\nimport type { EasyDocsConfig } from '@easydocs/core'\n\n@Module({})\nexport class EasyDocsModule {\n static forRoot(config: EasyDocsConfig = {}): DynamicModule {\n return {\n module: EasyDocsModule,\n global: true,\n providers: [\n {\n provide: EASYDOCS_CONFIG,\n useValue: config,\n },\n {\n provide: APP_INTERCEPTOR,\n useClass: EasyDocsInterceptor,\n },\n ],\n }\n }\n}\n","import {\n Injectable,\n NestInterceptor,\n ExecutionContext,\n CallHandler,\n Inject,\n} from '@nestjs/common'\nimport { Observable, tap } from 'rxjs'\nimport { capture } from '@easydocs/core'\nimport type { EasyDocsConfig, HttpMethod } from '@easydocs/core'\n\ninterface HttpRequest {\n method: string\n path: string\n route?: { path?: string }\n query: Record<string, string>\n params: Record<string, string>\n body: unknown\n headers: Record<string, string>\n}\n\ninterface HttpResponse {\n statusCode: number\n getHeaders(): Record<string, unknown>\n}\n\nexport const EASYDOCS_CONFIG = Symbol('EASYDOCS_CONFIG')\n\n@Injectable()\nexport class EasyDocsInterceptor implements NestInterceptor {\n constructor(@Inject(EASYDOCS_CONFIG) private readonly config: EasyDocsConfig) {}\n\n intercept(context: ExecutionContext, next: CallHandler): Observable<unknown> {\n const startedAt = Date.now()\n const http = context.switchToHttp()\n const req = http.getRequest<HttpRequest>()\n const res = http.getResponse<HttpResponse>()\n\n return next.handle().pipe(\n tap((responseBody: unknown) => {\n const routePath = req.route?.path ?? req.path\n\n capture(\n {\n method: req.method as HttpMethod,\n path: routePath,\n query: req.query as Record<string, string>,\n params: req.params as Record<string, string>,\n body: req.body,\n response: responseBody,\n status: res.statusCode,\n requestHeaders: req.headers as Record<string, string>,\n responseHeaders: res.getHeaders() as Record<string, string>,\n durationMs: Date.now() - startedAt,\n },\n this.config\n )\n })\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;ACAA,IAAAA,iBAAsC;AACtC,IAAAC,eAAgC;;;ACDhC,oBAMO;AACP,kBAAgC;AAChC,kBAAwB;;;;;;;;;;;;;;;;;;AAkBjB,IAAMC,kBAAkBC,uBAAO,iBAAA;AAG/B,IAAMC,uBAAN,MAAMA,qBAAAA;EACX,YAAsDC,QAAwB;;SAAxBA,SAAAA;EAAyB;EAE/EC,UAAUC,SAA2BC,MAAwC;AAC3E,UAAMC,YAAYC,KAAKC,IAAG;AAC1B,UAAMC,OAAOL,QAAQM,aAAY;AACjC,UAAMC,MAAMF,KAAKG,WAAU;AAC3B,UAAMC,MAAMJ,KAAKK,YAAW;AAE5B,WAAOT,KAAKU,OAAM,EAAGC,SACnBC,iBAAI,CAACC,iBAAAA;AACH,YAAMC,YAAYR,IAAIS,OAAOC,QAAQV,IAAIU;AAEzCC,+BACE;QACEC,QAAQZ,IAAIY;QACZF,MAAMF;QACNK,OAAOb,IAAIa;QACXC,QAAQd,IAAIc;QACZC,MAAMf,IAAIe;QACVC,UAAUT;QACVU,QAAQf,IAAIgB;QACZC,gBAAgBnB,IAAIoB;QACpBC,iBAAiBnB,IAAIoB,WAAU;QAC/BC,YAAY3B,KAAKC,IAAG,IAAKF;MAC3B,GACA,KAAKJ,MAAM;IAEf,CAAA,CAAA;EAEJ;AACF;AA/BaD;AAAN,IAAMA,sBAAN;;;;;;;;;;;;;;;;;;ADvBA,IAAMkC,kBAAN,MAAMA,gBAAAA;EACX,OAAOC,QAAQC,SAAyB,CAAC,GAAkB;AACzD,WAAO;MACLC,QAAQH;MACRI,QAAQ;MACRC,WAAW;QACT;UACEC,SAASC;UACTC,UAAUN;QACZ;QACA;UACEI,SAASG;UACTC,UAAUC;QACZ;;IAEJ;EACF;AACF;AAjBaX;AAAN,IAAMA,iBAAN;;;;","names":["import_common","import_core","EASYDOCS_CONFIG","Symbol","EasyDocsInterceptor","config","intercept","context","next","startedAt","Date","now","http","switchToHttp","req","getRequest","res","getResponse","handle","pipe","tap","responseBody","routePath","route","path","capture","method","query","params","body","response","status","statusCode","requestHeaders","headers","responseHeaders","getHeaders","durationMs","EasyDocsModule","forRoot","config","module","global","providers","provide","EASYDOCS_CONFIG","useValue","APP_INTERCEPTOR","useClass","EasyDocsInterceptor"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@easydocs/nestjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"README.md"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@easydocs/core": "0.
|
|
19
|
+
"@easydocs/core": "0.4.2"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"@nestjs/common": ">=10.0.0",
|
|
@@ -28,11 +28,14 @@
|
|
|
28
28
|
"@nestjs/core": "^11.0.0",
|
|
29
29
|
"rxjs": "^7.8.0",
|
|
30
30
|
"tsup": "^8.3.0",
|
|
31
|
-
"typescript": "^5"
|
|
31
|
+
"typescript": "^5",
|
|
32
|
+
"vitest": "^2.1.9"
|
|
32
33
|
},
|
|
33
34
|
"scripts": {
|
|
34
35
|
"build": "tsup",
|
|
35
36
|
"dev": "tsup --watch",
|
|
36
|
-
"typecheck": "tsc --noEmit"
|
|
37
|
+
"typecheck": "tsc --noEmit",
|
|
38
|
+
"lint": "eslint src/",
|
|
39
|
+
"test": "vitest run"
|
|
37
40
|
}
|
|
38
41
|
}
|