@digitaldefiance/node-express-suite 3.11.30 → 3.11.32
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/package.json +2 -2
- package/src/index.d.ts +1 -1
- package/src/index.d.ts.map +1 -1
- package/src/interfaces/api-message-response.d.ts +2 -11
- package/src/interfaces/api-message-response.d.ts.map +1 -1
- package/src/interfaces/api-message-response.js +0 -5
- package/src/interfaces/api-message-response.js.map +1 -1
- package/src/interfaces/index.d.ts +1 -0
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +1 -0
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/openApi/index.d.ts +7 -0
- package/src/interfaces/openApi/index.d.ts.map +1 -0
- package/src/interfaces/openApi/index.js +9 -0
- package/src/interfaces/openApi/index.js.map +1 -0
- package/src/interfaces/openApi/parameter.d.ts +39 -0
- package/src/interfaces/openApi/parameter.d.ts.map +1 -0
- package/src/interfaces/openApi/parameter.js +58 -0
- package/src/interfaces/openApi/parameter.js.map +1 -0
- package/src/interfaces/openApi/parameterSchema.d.ts +37 -0
- package/src/interfaces/openApi/parameterSchema.d.ts.map +1 -0
- package/src/interfaces/openApi/parameterSchema.js +48 -0
- package/src/interfaces/openApi/parameterSchema.js.map +1 -0
- package/src/interfaces/openApi/requestBody.d.ts +25 -0
- package/src/interfaces/openApi/requestBody.d.ts.map +1 -0
- package/src/interfaces/openApi/requestBody.js +31 -0
- package/src/interfaces/openApi/requestBody.js.map +1 -0
- package/src/interfaces/openApi/responseDef.d.ts +23 -0
- package/src/interfaces/openApi/responseDef.d.ts.map +1 -0
- package/src/interfaces/openApi/responseDef.js +29 -0
- package/src/interfaces/openApi/responseDef.js.map +1 -0
- package/src/interfaces/openApi/routeMetadata.d.ts +43 -0
- package/src/interfaces/openApi/routeMetadata.d.ts.map +1 -0
- package/src/interfaces/openApi/routeMetadata.js +85 -0
- package/src/interfaces/openApi/routeMetadata.js.map +1 -0
- package/src/routing/route-builder.d.ts +4 -4
- package/src/routing/route-builder.d.ts.map +1 -1
- package/src/routing/route-builder.js +1 -1
- package/src/types.d.ts +2 -1
- package/src/types.d.ts.map +1 -1
- package/src/types.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/node-express-suite",
|
|
3
|
-
"version": "3.11.
|
|
3
|
+
"version": "3.11.32",
|
|
4
4
|
"homepage": "https://github.com/Digital-Defiance/node-express-suite",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@digitaldefiance/mongoose-types": "8.20.9",
|
|
44
44
|
"@digitaldefiance/node-ecies-lib": "4.16.30",
|
|
45
45
|
"@digitaldefiance/reed-solomon-erasure.wasm": "^1.0.1",
|
|
46
|
-
"@digitaldefiance/suite-core-lib": "3.10.
|
|
46
|
+
"@digitaldefiance/suite-core-lib": "3.10.31",
|
|
47
47
|
"@noble/curves": "^1.9.0",
|
|
48
48
|
"@noble/hashes": "^1.8.0",
|
|
49
49
|
"argon2": "^0.40.1",
|
package/src/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export * from './registry';
|
|
|
27
27
|
export * from './responses';
|
|
28
28
|
export * from './routers';
|
|
29
29
|
export { RouteBuilder } from './routing';
|
|
30
|
-
export type {
|
|
30
|
+
export type { BuilderRouteConfig } from './routing';
|
|
31
31
|
export * from './schemas';
|
|
32
32
|
export * from './services';
|
|
33
33
|
export * from './transactions';
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,KAAK,UAAU,EACf,QAAQ,EACR,SAAS,EACT,cAAc,EACd,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,6BAA6B,EAC7B,qBAAqB,IAAI,eAAe,EACxC,sBAAsB,EACtB,2BAA2B,EAC3B,wCAAwC,EACxC,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,EACnC,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,kBAAkB,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAC7E,cAAc,cAAc,CAAC"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Defines minimal structure for all API responses.
|
|
4
|
-
* @module interfaces/api-message-response
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Base API response with message.
|
|
8
|
-
*/
|
|
9
|
-
export interface IApiMessageResponse {
|
|
10
|
-
message: string;
|
|
11
|
-
}
|
|
1
|
+
import type { IApiMessageResponse as IApiMessageResponse_ } from '@digitaldefiance/suite-core-lib';
|
|
2
|
+
export type { IApiMessageResponse_ as IApiMessageResponse };
|
|
12
3
|
//# sourceMappingURL=api-message-response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-message-response.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/api-message-response.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api-message-response.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/api-message-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEnG,YAAY,EAAE,oBAAoB,IAAI,mBAAmB,EAAE,CAAC"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Base API message response interface.
|
|
4
|
-
* Defines minimal structure for all API responses.
|
|
5
|
-
* @module interfaces/api-message-response
|
|
6
|
-
*/
|
|
7
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
3
|
//# sourceMappingURL=api-message-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-message-response.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/api-message-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-message-response.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/api-message-response.ts"],"names":[],"mappings":""}
|
|
@@ -25,6 +25,7 @@ export * from './jwt-consts';
|
|
|
25
25
|
export * from './jwt-sign-response';
|
|
26
26
|
export * from './models';
|
|
27
27
|
export * from './mongo-errors';
|
|
28
|
+
export * from './openApi';
|
|
28
29
|
export * from './request-user';
|
|
29
30
|
export * from './required-string-keys';
|
|
30
31
|
export * from './schema';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC"}
|
package/src/interfaces/index.js
CHANGED
|
@@ -28,6 +28,7 @@ tslib_1.__exportStar(require("./jwt-consts"), exports);
|
|
|
28
28
|
tslib_1.__exportStar(require("./jwt-sign-response"), exports);
|
|
29
29
|
tslib_1.__exportStar(require("./models"), exports);
|
|
30
30
|
tslib_1.__exportStar(require("./mongo-errors"), exports);
|
|
31
|
+
tslib_1.__exportStar(require("./openApi"), exports);
|
|
31
32
|
tslib_1.__exportStar(require("./request-user"), exports);
|
|
32
33
|
tslib_1.__exportStar(require("./required-string-keys"), exports);
|
|
33
34
|
tslib_1.__exportStar(require("./schema"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,kFAAwD;AACxD,iEAAuC;AACvC,gFAAsD;AACtD,0DAAgC;AAChC,wDAA8B;AAC9B,4DAAkC;AAClC,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AACjC,2DAAiC;AACjC,sEAA4C;AAC5C,0DAAgC;AAChC,wDAA8B;AAC9B,8DAAoC;AACpC,4DAAkC;AAClC,uDAA6B;AAC7B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,8DAAoC;AACpC,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,iEAAuC;AACvC,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,yEAA+C;AAC/C,2DAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,kFAAwD;AACxD,iEAAuC;AACvC,gFAAsD;AACtD,0DAAgC;AAChC,wDAA8B;AAC9B,4DAAkC;AAClC,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AACjC,2DAAiC;AACjC,sEAA4C;AAC5C,0DAAgC;AAChC,wDAA8B;AAC9B,8DAAoC;AACpC,4DAAkC;AAClC,uDAA6B;AAC7B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,8DAAoC;AACpC,mDAAyB;AACzB,yDAA+B;AAC/B,oDAA0B;AAC1B,yDAA+B;AAC/B,iEAAuC;AACvC,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,yEAA+C;AAC/C,2DAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./parameter"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./parameterSchema"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./requestBody"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./responseDef"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./routeMetadata"), exports);
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,4DAAkC;AAClC,wDAA8B;AAC9B,wDAA8B;AAC9B,0DAAgC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview OpenAPI parameter interface.
|
|
3
|
+
* Defines the structure for OpenAPI operation parameters.
|
|
4
|
+
* @module interfaces/openApi/parameter
|
|
5
|
+
*/
|
|
6
|
+
import { OpenAPIParameterSchema } from './parameterSchema';
|
|
7
|
+
/**
|
|
8
|
+
* Valid locations for OpenAPI parameters.
|
|
9
|
+
*/
|
|
10
|
+
export declare const OPENAPI_PARAMETER_LOCATIONS: readonly ["path", "query", "header", "cookie"];
|
|
11
|
+
export type OpenAPIParameterLocation = (typeof OPENAPI_PARAMETER_LOCATIONS)[number];
|
|
12
|
+
/**
|
|
13
|
+
* OpenAPI parameter definition.
|
|
14
|
+
* @property {string} name - The name of the parameter
|
|
15
|
+
* @property {OpenAPIParameterLocation} in - The location of the parameter
|
|
16
|
+
* @property {boolean} [required] - Whether the parameter is required
|
|
17
|
+
* @property {string} [description] - Description of the parameter
|
|
18
|
+
* @property {OpenAPIParameterSchema} schema - The schema defining the parameter type
|
|
19
|
+
*/
|
|
20
|
+
export interface OpenAPIParameter {
|
|
21
|
+
name: string;
|
|
22
|
+
in: OpenAPIParameterLocation;
|
|
23
|
+
required?: boolean;
|
|
24
|
+
description?: string;
|
|
25
|
+
schema: OpenAPIParameterSchema;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Type guard to check if a string is a valid OpenAPI parameter location.
|
|
29
|
+
* @param {unknown} value - Value to validate
|
|
30
|
+
* @returns {boolean} True if value is a valid parameter location
|
|
31
|
+
*/
|
|
32
|
+
export declare function isOpenAPIParameterLocation(value: unknown): value is OpenAPIParameterLocation;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard to check if object is a valid OpenAPI parameter.
|
|
35
|
+
* @param {unknown} obj - Object to validate
|
|
36
|
+
* @returns {boolean} True if object matches OpenAPIParameter interface
|
|
37
|
+
*/
|
|
38
|
+
export declare function isOpenAPIParameter(obj: unknown): obj is OpenAPIParameter;
|
|
39
|
+
//# sourceMappingURL=parameter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/parameter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,2BAA2B,gDAK9B,CAAC;AACX,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,wBAAwB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,wBAAwB,CAKnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,gBAAgB,CAwBxE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview OpenAPI parameter interface.
|
|
4
|
+
* Defines the structure for OpenAPI operation parameters.
|
|
5
|
+
* @module interfaces/openApi/parameter
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.OPENAPI_PARAMETER_LOCATIONS = void 0;
|
|
9
|
+
exports.isOpenAPIParameterLocation = isOpenAPIParameterLocation;
|
|
10
|
+
exports.isOpenAPIParameter = isOpenAPIParameter;
|
|
11
|
+
const parameterSchema_1 = require("./parameterSchema");
|
|
12
|
+
/**
|
|
13
|
+
* Valid locations for OpenAPI parameters.
|
|
14
|
+
*/
|
|
15
|
+
exports.OPENAPI_PARAMETER_LOCATIONS = [
|
|
16
|
+
'path',
|
|
17
|
+
'query',
|
|
18
|
+
'header',
|
|
19
|
+
'cookie',
|
|
20
|
+
];
|
|
21
|
+
/**
|
|
22
|
+
* Type guard to check if a string is a valid OpenAPI parameter location.
|
|
23
|
+
* @param {unknown} value - Value to validate
|
|
24
|
+
* @returns {boolean} True if value is a valid parameter location
|
|
25
|
+
*/
|
|
26
|
+
function isOpenAPIParameterLocation(value) {
|
|
27
|
+
return (typeof value === 'string' &&
|
|
28
|
+
exports.OPENAPI_PARAMETER_LOCATIONS.includes(value));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Type guard to check if object is a valid OpenAPI parameter.
|
|
32
|
+
* @param {unknown} obj - Object to validate
|
|
33
|
+
* @returns {boolean} True if object matches OpenAPIParameter interface
|
|
34
|
+
*/
|
|
35
|
+
function isOpenAPIParameter(obj) {
|
|
36
|
+
if (!obj || typeof obj !== 'object') {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const param = obj;
|
|
40
|
+
if (typeof param.name !== 'string') {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if (!isOpenAPIParameterLocation(param.in)) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
if (param.required !== undefined && typeof param.required !== 'boolean') {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
if (param.description !== undefined &&
|
|
50
|
+
typeof param.description !== 'string') {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
if (!(0, parameterSchema_1.isOpenAPIParameterSchema)(param.schema)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=parameter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/parameter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAwCH,gEAOC;AAOD,gDAwBC;AA5ED,uDAG2B;AAE3B;;GAEG;AACU,QAAA,2BAA2B,GAAG;IACzC,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;CACA,CAAC;AAoBX;;;;GAIG;AACH,SAAgB,0BAA0B,CACxC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,mCAA2B,CAAC,QAAQ,CAAC,KAAiC,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,GAA8B,CAAC;IAC7C,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAA,0CAAwB,EAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview OpenAPI parameter schema interface.
|
|
3
|
+
* Defines the schema structure for OpenAPI parameters.
|
|
4
|
+
* @module interfaces/openApi/parameterSchema
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* OpenAPI parameter schema definition.
|
|
8
|
+
* @property {string} type - The data type (string, number, integer, boolean, array, object)
|
|
9
|
+
* @property {string} [format] - The format hint (date-time, email, uuid, etc.)
|
|
10
|
+
* @property {string[]} [enum] - Allowed values for the parameter
|
|
11
|
+
* @property {unknown} [default] - Default value if not provided
|
|
12
|
+
* @property {number} [minimum] - Minimum value for numeric types
|
|
13
|
+
* @property {number} [maximum] - Maximum value for numeric types
|
|
14
|
+
* @property {number} [minLength] - Minimum length for string types
|
|
15
|
+
* @property {number} [maxLength] - Maximum length for string types
|
|
16
|
+
* @property {string} [pattern] - Regex pattern for string validation
|
|
17
|
+
* @property {OpenAPIParameterSchema} [items] - Schema for array items
|
|
18
|
+
*/
|
|
19
|
+
export interface OpenAPIParameterSchema {
|
|
20
|
+
type: string;
|
|
21
|
+
format?: string;
|
|
22
|
+
enum?: string[];
|
|
23
|
+
default?: unknown;
|
|
24
|
+
minimum?: number;
|
|
25
|
+
maximum?: number;
|
|
26
|
+
minLength?: number;
|
|
27
|
+
maxLength?: number;
|
|
28
|
+
pattern?: string;
|
|
29
|
+
items?: OpenAPIParameterSchema;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Type guard to check if object is a valid OpenAPI parameter schema.
|
|
33
|
+
* @param {unknown} obj - Object to validate
|
|
34
|
+
* @returns {boolean} True if object matches OpenAPIParameterSchema interface
|
|
35
|
+
*/
|
|
36
|
+
export declare function isOpenAPIParameterSchema(obj: unknown): obj is OpenAPIParameterSchema;
|
|
37
|
+
//# sourceMappingURL=parameterSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterSchema.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/parameterSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,sBAAsB,CAiC/B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview OpenAPI parameter schema interface.
|
|
4
|
+
* Defines the schema structure for OpenAPI parameters.
|
|
5
|
+
* @module interfaces/openApi/parameterSchema
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.isOpenAPIParameterSchema = isOpenAPIParameterSchema;
|
|
9
|
+
/**
|
|
10
|
+
* Type guard to check if object is a valid OpenAPI parameter schema.
|
|
11
|
+
* @param {unknown} obj - Object to validate
|
|
12
|
+
* @returns {boolean} True if object matches OpenAPIParameterSchema interface
|
|
13
|
+
*/
|
|
14
|
+
function isOpenAPIParameterSchema(obj) {
|
|
15
|
+
if (!obj || typeof obj !== 'object') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const schema = obj;
|
|
19
|
+
if (typeof schema.type !== 'string') {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (schema.format !== undefined && typeof schema.format !== 'string') {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (schema.enum !== undefined && !Array.isArray(schema.enum)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
if (schema.minimum !== undefined && typeof schema.minimum !== 'number') {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (schema.maximum !== undefined && typeof schema.maximum !== 'number') {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (schema.minLength !== undefined && typeof schema.minLength !== 'number') {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
if (schema.maxLength !== undefined && typeof schema.maxLength !== 'number') {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (schema.pattern !== undefined && typeof schema.pattern !== 'string') {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if (schema.items !== undefined && !isOpenAPIParameterSchema(schema.items)) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=parameterSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameterSchema.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/parameterSchema.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAiCH,4DAmCC;AAxCD;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,GAAY;IAEZ,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview OpenAPI request body interface.
|
|
3
|
+
* Defines the structure for OpenAPI operation request bodies.
|
|
4
|
+
* @module interfaces/openApi/requestBody
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* OpenAPI request body definition.
|
|
8
|
+
* @property {string} schema - Reference name like 'StoreBlockRequest'
|
|
9
|
+
* @property {boolean} [required] - Whether the request body is required
|
|
10
|
+
* @property {string} [description] - Description of the request body
|
|
11
|
+
* @property {unknown} [example] - Example value for documentation
|
|
12
|
+
*/
|
|
13
|
+
export interface OpenAPIRequestBody {
|
|
14
|
+
schema: string;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
description?: string;
|
|
17
|
+
example?: unknown;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Type guard to check if object is a valid OpenAPI request body.
|
|
21
|
+
* @param {unknown} obj - Object to validate
|
|
22
|
+
* @returns {boolean} True if object matches OpenAPIRequestBody interface
|
|
23
|
+
*/
|
|
24
|
+
export declare function isOpenAPIRequestBody(obj: unknown): obj is OpenAPIRequestBody;
|
|
25
|
+
//# sourceMappingURL=requestBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestBody.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/requestBody.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAgB5E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview OpenAPI request body interface.
|
|
4
|
+
* Defines the structure for OpenAPI operation request bodies.
|
|
5
|
+
* @module interfaces/openApi/requestBody
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.isOpenAPIRequestBody = isOpenAPIRequestBody;
|
|
9
|
+
/**
|
|
10
|
+
* Type guard to check if object is a valid OpenAPI request body.
|
|
11
|
+
* @param {unknown} obj - Object to validate
|
|
12
|
+
* @returns {boolean} True if object matches OpenAPIRequestBody interface
|
|
13
|
+
*/
|
|
14
|
+
function isOpenAPIRequestBody(obj) {
|
|
15
|
+
if (!obj || typeof obj !== 'object') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const body = obj;
|
|
19
|
+
if (typeof body.schema !== 'string') {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (body.required !== undefined && typeof body.required !== 'boolean') {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (body.description !== undefined && typeof body.description !== 'string') {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
// example can be any type, so no validation needed
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=requestBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestBody.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/requestBody.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAqBH,oDAgBC;AArBD;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,GAAY;IAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,GAA8B,CAAC;IAC5C,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,mDAAmD;IACnD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview OpenAPI response definition interface.
|
|
3
|
+
* Defines the structure for OpenAPI operation responses.
|
|
4
|
+
* @module interfaces/openApi/responseDef
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* OpenAPI response definition.
|
|
8
|
+
* @property {string} [schema] - Reference name for the response schema
|
|
9
|
+
* @property {string} [description] - Description of the response
|
|
10
|
+
* @property {unknown} [example] - Example value for documentation
|
|
11
|
+
*/
|
|
12
|
+
export interface OpenAPIResponseDef {
|
|
13
|
+
schema?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
example?: unknown;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Type guard to check if object is a valid OpenAPI response definition.
|
|
19
|
+
* @param {unknown} obj - Object to validate
|
|
20
|
+
* @returns {boolean} True if object matches OpenAPIResponseDef interface
|
|
21
|
+
*/
|
|
22
|
+
export declare function isOpenAPIResponseDef(obj: unknown): obj is OpenAPIResponseDef;
|
|
23
|
+
//# sourceMappingURL=responseDef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseDef.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/responseDef.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,kBAAkB,CAgB5E"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview OpenAPI response definition interface.
|
|
4
|
+
* Defines the structure for OpenAPI operation responses.
|
|
5
|
+
* @module interfaces/openApi/responseDef
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.isOpenAPIResponseDef = isOpenAPIResponseDef;
|
|
9
|
+
/**
|
|
10
|
+
* Type guard to check if object is a valid OpenAPI response definition.
|
|
11
|
+
* @param {unknown} obj - Object to validate
|
|
12
|
+
* @returns {boolean} True if object matches OpenAPIResponseDef interface
|
|
13
|
+
*/
|
|
14
|
+
function isOpenAPIResponseDef(obj) {
|
|
15
|
+
if (!obj || typeof obj !== 'object') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const response = obj;
|
|
19
|
+
if (response.schema !== undefined && typeof response.schema !== 'string') {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (response.description !== undefined &&
|
|
23
|
+
typeof response.description !== 'string') {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
// example can be any type, so no validation needed
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=responseDef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseDef.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/responseDef.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAmBH,oDAgBC;AArBD;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,GAAY;IAC/C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,QAAQ,CAAC,WAAW,KAAK,SAAS;QAClC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,mDAAmD;IACnD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview OpenAPI route metadata interface.
|
|
3
|
+
* Defines the structure for OpenAPI operation metadata attached to routes.
|
|
4
|
+
* @module interfaces/openApi/routeMetadata
|
|
5
|
+
*/
|
|
6
|
+
import { OpenAPIParameter } from './parameter';
|
|
7
|
+
import { OpenAPIRequestBody } from './requestBody';
|
|
8
|
+
import { OpenAPIResponseDef } from './responseDef';
|
|
9
|
+
/**
|
|
10
|
+
* Type for OpenAPI responses map - allows numeric status codes and 'default'.
|
|
11
|
+
* Uses a mapped type to make all keys optional while preserving the key constraint.
|
|
12
|
+
*/
|
|
13
|
+
export type OpenAPIResponses = {
|
|
14
|
+
[K in number | 'default']?: OpenAPIResponseDef;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* OpenAPI route metadata definition.
|
|
18
|
+
* @property {string} summary - Short summary of the operation
|
|
19
|
+
* @property {string} [description] - Detailed description of the operation
|
|
20
|
+
* @property {string[]} tags - Tags for grouping operations
|
|
21
|
+
* @property {string} [operationId] - Unique identifier for the operation
|
|
22
|
+
* @property {boolean} [deprecated] - Whether the operation is deprecated
|
|
23
|
+
* @property {OpenAPIRequestBody} [requestBody] - Request body definition
|
|
24
|
+
* @property {OpenAPIResponses} responses - Response definitions by status code
|
|
25
|
+
* @property {OpenAPIParameter[]} [parameters] - Parameter definitions
|
|
26
|
+
*/
|
|
27
|
+
export interface OpenAPIRouteMetadata {
|
|
28
|
+
summary: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
tags: string[];
|
|
31
|
+
operationId?: string;
|
|
32
|
+
deprecated?: boolean;
|
|
33
|
+
requestBody?: OpenAPIRequestBody;
|
|
34
|
+
responses: OpenAPIResponses;
|
|
35
|
+
parameters?: OpenAPIParameter[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Type guard to check if object is valid OpenAPI route metadata.
|
|
39
|
+
* @param {unknown} obj - Object to validate
|
|
40
|
+
* @returns {boolean} True if object matches OpenAPIRouteMetadata interface
|
|
41
|
+
*/
|
|
42
|
+
export declare function isOpenAPIRouteMetadata(obj: unknown): obj is OpenAPIRouteMetadata;
|
|
43
|
+
//# sourceMappingURL=routeMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeMetadata.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/routeMetadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,kBAAkB;CAC/C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAeD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,oBAAoB,CAoE7B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview OpenAPI route metadata interface.
|
|
4
|
+
* Defines the structure for OpenAPI operation metadata attached to routes.
|
|
5
|
+
* @module interfaces/openApi/routeMetadata
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.isOpenAPIRouteMetadata = isOpenAPIRouteMetadata;
|
|
9
|
+
const parameter_1 = require("./parameter");
|
|
10
|
+
const requestBody_1 = require("./requestBody");
|
|
11
|
+
const responseDef_1 = require("./responseDef");
|
|
12
|
+
/**
|
|
13
|
+
* Validates that a key is a valid response status code (number or 'default').
|
|
14
|
+
* @param {string} key - The key to validate
|
|
15
|
+
* @returns {boolean} True if key is a valid status code
|
|
16
|
+
*/
|
|
17
|
+
function isValidResponseKey(key) {
|
|
18
|
+
if (key === 'default') {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
const num = parseInt(key, 10);
|
|
22
|
+
return !isNaN(num) && num >= 100 && num < 600;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Type guard to check if object is valid OpenAPI route metadata.
|
|
26
|
+
* @param {unknown} obj - Object to validate
|
|
27
|
+
* @returns {boolean} True if object matches OpenAPIRouteMetadata interface
|
|
28
|
+
*/
|
|
29
|
+
function isOpenAPIRouteMetadata(obj) {
|
|
30
|
+
if (!obj || typeof obj !== 'object') {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const metadata = obj;
|
|
34
|
+
// Required fields
|
|
35
|
+
if (typeof metadata.summary !== 'string') {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (!Array.isArray(metadata.tags)) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
if (!metadata.tags.every((tag) => typeof tag === 'string')) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
if (!metadata.responses || typeof metadata.responses !== 'object') {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
// Optional fields
|
|
48
|
+
if (metadata.description !== undefined &&
|
|
49
|
+
typeof metadata.description !== 'string') {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
if (metadata.operationId !== undefined &&
|
|
53
|
+
typeof metadata.operationId !== 'string') {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
if (metadata.deprecated !== undefined &&
|
|
57
|
+
typeof metadata.deprecated !== 'boolean') {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (metadata.requestBody !== undefined &&
|
|
61
|
+
!(0, requestBody_1.isOpenAPIRequestBody)(metadata.requestBody)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
// Validate responses
|
|
65
|
+
const responses = metadata.responses;
|
|
66
|
+
for (const [key, value] of Object.entries(responses)) {
|
|
67
|
+
if (!isValidResponseKey(key)) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
if (!(0, responseDef_1.isOpenAPIResponseDef)(value)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Validate parameters
|
|
75
|
+
if (metadata.parameters !== undefined) {
|
|
76
|
+
if (!Array.isArray(metadata.parameters)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (!metadata.parameters.every((param) => (0, parameter_1.isOpenAPIParameter)(param))) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=routeMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeMetadata.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/openApi/routeMetadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,16 +94,16 @@ export declare class RouteBuilder<TLanguage extends string = string> {
|
|
|
94
94
|
/**
|
|
95
95
|
* Builds the route configuration with handler.
|
|
96
96
|
* @param {RequestHandler} handler - Route handler function
|
|
97
|
-
* @returns {
|
|
97
|
+
* @returns {BuilderRouteConfig<TLanguage>} Complete route configuration
|
|
98
98
|
* @throws {Error} If method or path not set
|
|
99
99
|
*/
|
|
100
|
-
handle(handler: RequestHandler):
|
|
100
|
+
handle(handler: RequestHandler): BuilderRouteConfig<TLanguage>;
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
|
-
* Route configuration
|
|
103
|
+
* Route configuration output from RouteBuilder.
|
|
104
104
|
* @template TLanguage - Language code type (defaults to string)
|
|
105
105
|
*/
|
|
106
|
-
export interface
|
|
106
|
+
export interface BuilderRouteConfig<TLanguage extends string = string> {
|
|
107
107
|
method: 'get' | 'post' | 'put' | 'delete' | 'patch';
|
|
108
108
|
path: string;
|
|
109
109
|
handler: RequestHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routing/route-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IACzD,OAAO,CAAC,MAAM,CAYP;IAEP;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC;IAI3D;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMxB;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB;;;;OAIG;IACH,IAAI,CAAC,OAAO,UAAO,GAAG,IAAI;IAK1B;;;;OAIG;IACH,UAAU,CAAC,OAAO,UAAO,GAAG,IAAI;IAKhC;;;;OAIG;IACH,QAAQ,CACN,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,eAAe,EAAE,CAAC,GACvE,IAAI;IAKP;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI;IAKjC;;;;OAIG;IACH,GAAG,CAAC,GAAG,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI;IAK1C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,UAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnD;;;;OAIG;IACH,OAAO,CAAC,OAAO,UAAO,GAAG,IAAI;IAK7B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"route-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routing/route-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IACzD,OAAO,CAAC,MAAM,CAYP;IAEP;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC;IAI3D;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMxB;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB;;;;OAIG;IACH,IAAI,CAAC,OAAO,UAAO,GAAG,IAAI;IAK1B;;;;OAIG;IACH,UAAU,CAAC,OAAO,UAAO,GAAG,IAAI;IAKhC;;;;OAIG;IACH,QAAQ,CACN,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,eAAe,EAAE,CAAC,GACvE,IAAI;IAKP;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI;IAKjC;;;;OAIG;IACH,GAAG,CAAC,GAAG,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI;IAK1C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,UAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnD;;;;OAIG;IACH,OAAO,CAAC,OAAO,UAAO,GAAG,IAAI;IAK7B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAAC,SAAS,CAAC;CAoB/D;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IACnE,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,eAAe,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;QACrB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH"}
|
|
@@ -139,7 +139,7 @@ class RouteBuilder {
|
|
|
139
139
|
/**
|
|
140
140
|
* Builds the route configuration with handler.
|
|
141
141
|
* @param {RequestHandler} handler - Route handler function
|
|
142
|
-
* @returns {
|
|
142
|
+
* @returns {BuilderRouteConfig<TLanguage>} Complete route configuration
|
|
143
143
|
* @throws {Error} If method or path not set
|
|
144
144
|
*/
|
|
145
145
|
handle(handler) {
|
package/src/types.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { IRequestUserDTO } from '@digitaldefiance/suite-core-lib';
|
|
|
9
9
|
import { NextFunction, RequestHandler, Response } from 'express';
|
|
10
10
|
import { ValidationChain } from 'express-validator';
|
|
11
11
|
import { IBaseDocument } from './documents';
|
|
12
|
-
import { IApiErrorResponse, IApiExpressValidationErrorResponse, IApiMessageResponse, IApiMongoValidationErrorResponse, IStatusCodeResponse } from './interfaces';
|
|
12
|
+
import { IApiErrorResponse, IApiExpressValidationErrorResponse, IApiMessageResponse, IApiMongoValidationErrorResponse, IStatusCodeResponse, OpenAPIRouteMetadata } from './interfaces';
|
|
13
13
|
import { ISchema } from './interfaces/schema';
|
|
14
14
|
/**
|
|
15
15
|
* Transaction callback type for withTransaction
|
|
@@ -89,6 +89,7 @@ export interface RouteConfig<H extends object, TLanguage extends string> {
|
|
|
89
89
|
authFailureStatusCode?: number;
|
|
90
90
|
useTransaction?: boolean;
|
|
91
91
|
transactionTimeout?: number;
|
|
92
|
+
openapi?: OpenAPIRouteMetadata;
|
|
92
93
|
}
|
|
93
94
|
/**
|
|
94
95
|
* Creates a route configuration object.
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,kCAAkC,EAClC,mBAAmB,EACnB,gCAAgC,EAChC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":"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"}
|
package/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA8IH,kCAkBC;AA3BD;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,MAAmD,EACnD,IAAY,EACZ,OAKC;IAED,OAAO;QACL,MAAM;QACN,IAAI;QACJ,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;KACzD,CAAC;AACJ,CAAC"}
|