@strapi/openapi 0.0.0-experimental.1e4c115f717b021ca11c139584d4519db28ba786
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/LICENSE +37 -0
- package/README.md +1 -0
- package/dist/assemblers/document/factory.d.ts +8 -0
- package/dist/assemblers/document/factory.d.ts.map +1 -0
- package/dist/assemblers/document/factory.js +38 -0
- package/dist/assemblers/document/factory.js.map +1 -0
- package/dist/assemblers/document/factory.mjs +36 -0
- package/dist/assemblers/document/factory.mjs.map +1 -0
- package/dist/assemblers/document/index.d.ts +5 -0
- package/dist/assemblers/document/index.d.ts.map +1 -0
- package/dist/assemblers/document/info.d.ts +8 -0
- package/dist/assemblers/document/info.d.ts.map +1 -0
- package/dist/assemblers/document/info.js +32 -0
- package/dist/assemblers/document/info.js.map +1 -0
- package/dist/assemblers/document/info.mjs +30 -0
- package/dist/assemblers/document/info.mjs.map +1 -0
- package/dist/assemblers/document/metadata.d.ts +6 -0
- package/dist/assemblers/document/metadata.d.ts.map +1 -0
- package/dist/assemblers/document/metadata.js +23 -0
- package/dist/assemblers/document/metadata.js.map +1 -0
- package/dist/assemblers/document/metadata.mjs +21 -0
- package/dist/assemblers/document/metadata.mjs.map +1 -0
- package/dist/assemblers/document/path/factory.d.ts +6 -0
- package/dist/assemblers/document/path/factory.d.ts.map +1 -0
- package/dist/assemblers/document/path/factory.js +27 -0
- package/dist/assemblers/document/path/factory.js.map +1 -0
- package/dist/assemblers/document/path/factory.mjs +25 -0
- package/dist/assemblers/document/path/factory.mjs.map +1 -0
- package/dist/assemblers/document/path/index.d.ts +4 -0
- package/dist/assemblers/document/path/index.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/factory.d.ts +6 -0
- package/dist/assemblers/document/path/path-item/factory.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/factory.js +26 -0
- package/dist/assemblers/document/path/path-item/factory.js.map +1 -0
- package/dist/assemblers/document/path/path-item/factory.mjs +24 -0
- package/dist/assemblers/document/path/path-item/factory.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/index.d.ts +4 -0
- package/dist/assemblers/document/path/path-item/index.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/body.d.ts +7 -0
- package/dist/assemblers/document/path/path-item/operation/body.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/body.js +27 -0
- package/dist/assemblers/document/path/path-item/operation/body.js.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/body.mjs +25 -0
- package/dist/assemblers/document/path/path-item/operation/body.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/factory.d.ts +10 -0
- package/dist/assemblers/document/path/path-item/operation/factory.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/factory.js +37 -0
- package/dist/assemblers/document/path/path-item/operation/factory.js.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/factory.mjs +35 -0
- package/dist/assemblers/document/path/path-item/operation/factory.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/index.d.ts +8 -0
- package/dist/assemblers/document/path/path-item/operation/index.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/operation-id.d.ts +10 -0
- package/dist/assemblers/document/path/path-item/operation/operation-id.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/operation-id.js +47 -0
- package/dist/assemblers/document/path/path-item/operation/operation-id.js.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/operation-id.mjs +45 -0
- package/dist/assemblers/document/path/path-item/operation/operation-id.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/operation.d.ts +13 -0
- package/dist/assemblers/document/path/path-item/operation/operation.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/operation.js +48 -0
- package/dist/assemblers/document/path/path-item/operation/operation.js.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/operation.mjs +46 -0
- package/dist/assemblers/document/path/path-item/operation/operation.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/parameters.d.ts +9 -0
- package/dist/assemblers/document/path/path-item/operation/parameters.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/parameters.js +67 -0
- package/dist/assemblers/document/path/path-item/operation/parameters.js.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/parameters.mjs +65 -0
- package/dist/assemblers/document/path/path-item/operation/parameters.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/responses.d.ts +8 -0
- package/dist/assemblers/document/path/path-item/operation/responses.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/responses.js +51 -0
- package/dist/assemblers/document/path/path-item/operation/responses.js.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/responses.mjs +49 -0
- package/dist/assemblers/document/path/path-item/operation/responses.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/tags.d.ts +7 -0
- package/dist/assemblers/document/path/path-item/operation/tags.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/tags.js +25 -0
- package/dist/assemblers/document/path/path-item/operation/tags.js.map +1 -0
- package/dist/assemblers/document/path/path-item/operation/tags.mjs +23 -0
- package/dist/assemblers/document/path/path-item/operation/tags.mjs.map +1 -0
- package/dist/assemblers/document/path/path-item/path-item.d.ts +13 -0
- package/dist/assemblers/document/path/path-item/path-item.d.ts.map +1 -0
- package/dist/assemblers/document/path/path-item/path-item.js +53 -0
- package/dist/assemblers/document/path/path-item/path-item.js.map +1 -0
- package/dist/assemblers/document/path/path-item/path-item.mjs +51 -0
- package/dist/assemblers/document/path/path-item/path-item.mjs.map +1 -0
- package/dist/assemblers/document/path/path.d.ts +10 -0
- package/dist/assemblers/document/path/path.d.ts.map +1 -0
- package/dist/assemblers/document/path/path.js +28 -0
- package/dist/assemblers/document/path/path.js.map +1 -0
- package/dist/assemblers/document/path/path.mjs +26 -0
- package/dist/assemblers/document/path/path.mjs.map +1 -0
- package/dist/assemblers/index.d.ts +3 -0
- package/dist/assemblers/index.d.ts.map +1 -0
- package/dist/assemblers/types.d.ts +18 -0
- package/dist/assemblers/types.d.ts.map +1 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/constants.mjs +5 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/context/factories/abstract.d.ts +11 -0
- package/dist/context/factories/abstract.d.ts.map +1 -0
- package/dist/context/factories/abstract.js +38 -0
- package/dist/context/factories/abstract.js.map +1 -0
- package/dist/context/factories/abstract.mjs +36 -0
- package/dist/context/factories/abstract.mjs.map +1 -0
- package/dist/context/factories/document.d.ts +11 -0
- package/dist/context/factories/document.d.ts.map +1 -0
- package/dist/context/factories/document.js +20 -0
- package/dist/context/factories/document.js.map +1 -0
- package/dist/context/factories/document.mjs +18 -0
- package/dist/context/factories/document.mjs.map +1 -0
- package/dist/context/factories/index.d.ts +6 -0
- package/dist/context/factories/index.d.ts.map +1 -0
- package/dist/context/factories/operation.d.ts +11 -0
- package/dist/context/factories/operation.d.ts.map +1 -0
- package/dist/context/factories/operation.js +20 -0
- package/dist/context/factories/operation.js.map +1 -0
- package/dist/context/factories/operation.mjs +18 -0
- package/dist/context/factories/operation.mjs.map +1 -0
- package/dist/context/factories/path-item.d.ts +10 -0
- package/dist/context/factories/path-item.d.ts.map +1 -0
- package/dist/context/factories/path-item.js +20 -0
- package/dist/context/factories/path-item.js.map +1 -0
- package/dist/context/factories/path-item.mjs +18 -0
- package/dist/context/factories/path-item.mjs.map +1 -0
- package/dist/context/factories/path.d.ts +10 -0
- package/dist/context/factories/path.d.ts.map +1 -0
- package/dist/context/factories/path.js +20 -0
- package/dist/context/factories/path.js.map +1 -0
- package/dist/context/factories/path.mjs +18 -0
- package/dist/context/factories/path.mjs.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/types.d.ts +28 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/exports.d.ts +9 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/exports.js +49 -0
- package/dist/exports.js.map +1 -0
- package/dist/exports.mjs +47 -0
- package/dist/exports.mjs.map +1 -0
- package/dist/generator/generator.d.ts +29 -0
- package/dist/generator/generator.d.ts.map +1 -0
- package/dist/generator/generator.js +85 -0
- package/dist/generator/generator.js.map +1 -0
- package/dist/generator/generator.mjs +83 -0
- package/dist/generator/generator.mjs.map +1 -0
- package/dist/generator/index.d.ts +3 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/types.d.ts +12 -0
- package/dist/generator/types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/post-processor/component-writer.d.ts +6 -0
- package/dist/post-processor/component-writer.d.ts.map +1 -0
- package/dist/post-processor/component-writer.js +19 -0
- package/dist/post-processor/component-writer.js.map +1 -0
- package/dist/post-processor/component-writer.mjs +17 -0
- package/dist/post-processor/component-writer.mjs.map +1 -0
- package/dist/post-processor/factory.d.ts +5 -0
- package/dist/post-processor/factory.d.ts.map +1 -0
- package/dist/post-processor/factory.js +14 -0
- package/dist/post-processor/factory.js.map +1 -0
- package/dist/post-processor/factory.mjs +12 -0
- package/dist/post-processor/factory.mjs.map +1 -0
- package/dist/post-processor/index.d.ts +4 -0
- package/dist/post-processor/index.d.ts.map +1 -0
- package/dist/post-processor/types.d.ts +5 -0
- package/dist/post-processor/types.d.ts.map +1 -0
- package/dist/pre-processor/factory.d.ts +5 -0
- package/dist/pre-processor/factory.d.ts.map +1 -0
- package/dist/pre-processor/factory.js +10 -0
- package/dist/pre-processor/factory.js.map +1 -0
- package/dist/pre-processor/factory.mjs +8 -0
- package/dist/pre-processor/factory.mjs.map +1 -0
- package/dist/pre-processor/index.d.ts +3 -0
- package/dist/pre-processor/index.d.ts.map +1 -0
- package/dist/pre-processor/types.d.ts +5 -0
- package/dist/pre-processor/types.d.ts.map +1 -0
- package/dist/registries/factory.d.ts +4 -0
- package/dist/registries/factory.d.ts.map +1 -0
- package/dist/registries/factory.js +10 -0
- package/dist/registries/factory.js.map +1 -0
- package/dist/registries/factory.mjs +8 -0
- package/dist/registries/factory.mjs.map +1 -0
- package/dist/registries/index.d.ts +3 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/types.d.ts +3 -0
- package/dist/registries/types.d.ts.map +1 -0
- package/dist/routes/collector.d.ts +29 -0
- package/dist/routes/collector.d.ts.map +1 -0
- package/dist/routes/collector.js +40 -0
- package/dist/routes/collector.js.map +1 -0
- package/dist/routes/collector.mjs +38 -0
- package/dist/routes/collector.mjs.map +1 -0
- package/dist/routes/index.d.ts +7 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/matcher.d.ts +25 -0
- package/dist/routes/matcher.d.ts.map +1 -0
- package/dist/routes/matcher.js +24 -0
- package/dist/routes/matcher.js.map +1 -0
- package/dist/routes/matcher.mjs +22 -0
- package/dist/routes/matcher.mjs.map +1 -0
- package/dist/routes/providers/abstract.d.ts +35 -0
- package/dist/routes/providers/abstract.d.ts.map +1 -0
- package/dist/routes/providers/abstract.js +29 -0
- package/dist/routes/providers/abstract.js.map +1 -0
- package/dist/routes/providers/abstract.mjs +27 -0
- package/dist/routes/providers/abstract.mjs.map +1 -0
- package/dist/routes/providers/admin.d.ts +6 -0
- package/dist/routes/providers/admin.d.ts.map +1 -0
- package/dist/routes/providers/admin.js +19 -0
- package/dist/routes/providers/admin.js.map +1 -0
- package/dist/routes/providers/admin.mjs +17 -0
- package/dist/routes/providers/admin.mjs.map +1 -0
- package/dist/routes/providers/api.d.ts +22 -0
- package/dist/routes/providers/api.d.ts.map +1 -0
- package/dist/routes/providers/api.js +35 -0
- package/dist/routes/providers/api.js.map +1 -0
- package/dist/routes/providers/api.mjs +33 -0
- package/dist/routes/providers/api.mjs.map +1 -0
- package/dist/routes/providers/index.d.ts +6 -0
- package/dist/routes/providers/index.d.ts.map +1 -0
- package/dist/routes/providers/plugin.d.ts +23 -0
- package/dist/routes/providers/plugin.d.ts.map +1 -0
- package/dist/routes/providers/plugin.js +37 -0
- package/dist/routes/providers/plugin.js.map +1 -0
- package/dist/routes/providers/plugin.mjs +35 -0
- package/dist/routes/providers/plugin.mjs.map +1 -0
- package/dist/routes/providers/types.d.ts +13 -0
- package/dist/routes/providers/types.d.ts.map +1 -0
- package/dist/routes/rules/index.d.ts +2 -0
- package/dist/routes/rules/index.d.ts.map +1 -0
- package/dist/routes/rules/is-of-type.d.ts +3 -0
- package/dist/routes/rules/is-of-type.d.ts.map +1 -0
- package/dist/routes/rules/is-of-type.js +8 -0
- package/dist/routes/rules/is-of-type.js.map +1 -0
- package/dist/routes/rules/is-of-type.mjs +6 -0
- package/dist/routes/rules/is-of-type.mjs.map +1 -0
- package/dist/routes/types.d.ts +6 -0
- package/dist/routes/types.d.ts.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/debug.d.ts +3 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +11 -0
- package/dist/utils/debug.js.map +1 -0
- package/dist/utils/debug.mjs +9 -0
- package/dist/utils/debug.mjs.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/timer/factory.d.ts +5 -0
- package/dist/utils/timer/factory.d.ts.map +1 -0
- package/dist/utils/timer/factory.js +12 -0
- package/dist/utils/timer/factory.js.map +1 -0
- package/dist/utils/timer/factory.mjs +10 -0
- package/dist/utils/timer/factory.mjs.map +1 -0
- package/dist/utils/timer/index.d.ts +3 -0
- package/dist/utils/timer/index.d.ts.map +1 -0
- package/dist/utils/timer/timer.d.ts +14 -0
- package/dist/utils/timer/timer.d.ts.map +1 -0
- package/dist/utils/timer/timer.js +38 -0
- package/dist/utils/timer/timer.js.map +1 -0
- package/dist/utils/timer/timer.mjs +36 -0
- package/dist/utils/timer/timer.mjs.map +1 -0
- package/dist/utils/zod.d.ts +39 -0
- package/dist/utils/zod.d.ts.map +1 -0
- package/dist/utils/zod.js +86 -0
- package/dist/utils/zod.js.map +1 -0
- package/dist/utils/zod.mjs +64 -0
- package/dist/utils/zod.mjs.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { AbstractContextFactory } from './abstract';
|
|
2
|
+
export { DocumentContextFactory } from './document';
|
|
3
|
+
export { OperationContextFactory } from './operation';
|
|
4
|
+
export { PathContextFactory } from './path';
|
|
5
|
+
export { PathItemContextFactory } from './path-item';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/factories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OpenAPIV3 } from 'openapi-types';
|
|
2
|
+
import { RegistriesFactory } from '../../registries';
|
|
3
|
+
import type { OperationContext, OperationContextData } from '../../types';
|
|
4
|
+
import { TimerFactory } from '../../utils';
|
|
5
|
+
import type { PartialContext } from '../types';
|
|
6
|
+
import { AbstractContextFactory } from './abstract';
|
|
7
|
+
export declare class OperationContextFactory extends AbstractContextFactory<Partial<OpenAPIV3.OperationObject>> {
|
|
8
|
+
constructor(registriesFactory?: RegistriesFactory, timerFactory?: TimerFactory);
|
|
9
|
+
create(context: PartialContext<OperationContextData>): OperationContext;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/context/factories/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,uBAAwB,SAAQ,sBAAsB,CACjE,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CACnC;gBAEG,iBAAiB,GAAE,iBAA2C,EAC9D,YAAY,GAAE,YAAiC;IAKjD,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,oBAAoB,CAAC,GAAG,gBAAgB;CAGxE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var factory = require('../../registries/factory.js');
|
|
4
|
+
var factory$1 = require('../../utils/timer/factory.js');
|
|
5
|
+
require('debug');
|
|
6
|
+
require('node:crypto');
|
|
7
|
+
require('zod');
|
|
8
|
+
var abstract = require('./abstract.js');
|
|
9
|
+
|
|
10
|
+
class OperationContextFactory extends abstract.AbstractContextFactory {
|
|
11
|
+
create(context) {
|
|
12
|
+
return super.create(context, {});
|
|
13
|
+
}
|
|
14
|
+
constructor(registriesFactory = new factory.RegistriesFactory(), timerFactory = new factory$1.TimerFactory()){
|
|
15
|
+
super(registriesFactory, timerFactory);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.OperationContextFactory = OperationContextFactory;
|
|
20
|
+
//# sourceMappingURL=operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.js","sources":["../../../src/context/factories/operation.ts"],"sourcesContent":["import type { OpenAPIV3 } from 'openapi-types';\n\nimport { RegistriesFactory } from '../../registries';\n\nimport type { OperationContext, OperationContextData } from '../../types';\nimport { TimerFactory } from '../../utils';\n\nimport type { PartialContext } from '../types';\n\nimport { AbstractContextFactory } from './abstract';\n\nexport class OperationContextFactory extends AbstractContextFactory<\n Partial<OpenAPIV3.OperationObject>\n> {\n constructor(\n registriesFactory: RegistriesFactory = new RegistriesFactory(),\n timerFactory: TimerFactory = new TimerFactory()\n ) {\n super(registriesFactory, timerFactory);\n }\n\n create(context: PartialContext<OperationContextData>): OperationContext {\n return super.create(context, {});\n }\n}\n"],"names":["OperationContextFactory","AbstractContextFactory","create","context","constructor","registriesFactory","RegistriesFactory","timerFactory","TimerFactory"],"mappings":";;;;;;;;;AAWO,MAAMA,uBAAgCC,SAAAA,+BAAAA,CAAAA;AAU3CC,IAAAA,MAAAA,CAAOC,OAA6C,EAAoB;AACtE,QAAA,OAAO,KAAK,CAACD,MAAOC,CAAAA,OAAAA,EAAS,EAAC,CAAA;AAChC;AATAC,IAAAA,WAAAA,CACEC,oBAAuC,IAAIC,yBAAAA,EAAmB,EAC9DC,YAA6B,GAAA,IAAIC,wBAAc,CAC/C;AACA,QAAA,KAAK,CAACH,iBAAmBE,EAAAA,YAAAA,CAAAA;AAC3B;AAKF;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RegistriesFactory } from '../../registries/factory.mjs';
|
|
2
|
+
import { TimerFactory } from '../../utils/timer/factory.mjs';
|
|
3
|
+
import 'debug';
|
|
4
|
+
import 'node:crypto';
|
|
5
|
+
import 'zod';
|
|
6
|
+
import { AbstractContextFactory } from './abstract.mjs';
|
|
7
|
+
|
|
8
|
+
class OperationContextFactory extends AbstractContextFactory {
|
|
9
|
+
create(context) {
|
|
10
|
+
return super.create(context, {});
|
|
11
|
+
}
|
|
12
|
+
constructor(registriesFactory = new RegistriesFactory(), timerFactory = new TimerFactory()){
|
|
13
|
+
super(registriesFactory, timerFactory);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { OperationContextFactory };
|
|
18
|
+
//# sourceMappingURL=operation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.mjs","sources":["../../../src/context/factories/operation.ts"],"sourcesContent":["import type { OpenAPIV3 } from 'openapi-types';\n\nimport { RegistriesFactory } from '../../registries';\n\nimport type { OperationContext, OperationContextData } from '../../types';\nimport { TimerFactory } from '../../utils';\n\nimport type { PartialContext } from '../types';\n\nimport { AbstractContextFactory } from './abstract';\n\nexport class OperationContextFactory extends AbstractContextFactory<\n Partial<OpenAPIV3.OperationObject>\n> {\n constructor(\n registriesFactory: RegistriesFactory = new RegistriesFactory(),\n timerFactory: TimerFactory = new TimerFactory()\n ) {\n super(registriesFactory, timerFactory);\n }\n\n create(context: PartialContext<OperationContextData>): OperationContext {\n return super.create(context, {});\n }\n}\n"],"names":["OperationContextFactory","AbstractContextFactory","create","context","constructor","registriesFactory","RegistriesFactory","timerFactory","TimerFactory"],"mappings":";;;;;;;AAWO,MAAMA,uBAAgCC,SAAAA,sBAAAA,CAAAA;AAU3CC,IAAAA,MAAAA,CAAOC,OAA6C,EAAoB;AACtE,QAAA,OAAO,KAAK,CAACD,MAAOC,CAAAA,OAAAA,EAAS,EAAC,CAAA;AAChC;AATAC,IAAAA,WAAAA,CACEC,oBAAuC,IAAIC,iBAAAA,EAAmB,EAC9DC,YAA6B,GAAA,IAAIC,cAAc,CAC/C;AACA,QAAA,KAAK,CAACH,iBAAmBE,EAAAA,YAAAA,CAAAA;AAC3B;AAKF;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RegistriesFactory } from '../../registries';
|
|
2
|
+
import type { PathItemContext, PathItemContextData } from '../../types';
|
|
3
|
+
import { TimerFactory } from '../../utils';
|
|
4
|
+
import type { PartialContext } from '../types';
|
|
5
|
+
import { AbstractContextFactory } from './abstract';
|
|
6
|
+
export declare class PathItemContextFactory extends AbstractContextFactory<PathItemContextData> {
|
|
7
|
+
constructor(registriesFactory?: RegistriesFactory, timerFactory?: TimerFactory);
|
|
8
|
+
create(context: PartialContext<PathItemContextData>): PathItemContext;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=path-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-item.d.ts","sourceRoot":"","sources":["../../../src/context/factories/path-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,sBAAuB,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC;gBAEnF,iBAAiB,GAAE,iBAA2C,EAC9D,YAAY,GAAE,YAAiC;IAKjD,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,mBAAmB,CAAC,GAAG,eAAe;CAGtE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var factory = require('../../registries/factory.js');
|
|
4
|
+
var factory$1 = require('../../utils/timer/factory.js');
|
|
5
|
+
require('debug');
|
|
6
|
+
require('node:crypto');
|
|
7
|
+
require('zod');
|
|
8
|
+
var abstract = require('./abstract.js');
|
|
9
|
+
|
|
10
|
+
class PathItemContextFactory extends abstract.AbstractContextFactory {
|
|
11
|
+
create(context) {
|
|
12
|
+
return super.create(context, {});
|
|
13
|
+
}
|
|
14
|
+
constructor(registriesFactory = new factory.RegistriesFactory(), timerFactory = new factory$1.TimerFactory()){
|
|
15
|
+
super(registriesFactory, timerFactory);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.PathItemContextFactory = PathItemContextFactory;
|
|
20
|
+
//# sourceMappingURL=path-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-item.js","sources":["../../../src/context/factories/path-item.ts"],"sourcesContent":["import { RegistriesFactory } from '../../registries';\n\nimport type { PathItemContext, PathItemContextData } from '../../types';\nimport { TimerFactory } from '../../utils';\n\nimport type { PartialContext } from '../types';\n\nimport { AbstractContextFactory } from './abstract';\n\nexport class PathItemContextFactory extends AbstractContextFactory<PathItemContextData> {\n constructor(\n registriesFactory: RegistriesFactory = new RegistriesFactory(),\n timerFactory: TimerFactory = new TimerFactory()\n ) {\n super(registriesFactory, timerFactory);\n }\n\n create(context: PartialContext<PathItemContextData>): PathItemContext {\n return super.create(context, {});\n }\n}\n"],"names":["PathItemContextFactory","AbstractContextFactory","create","context","constructor","registriesFactory","RegistriesFactory","timerFactory","TimerFactory"],"mappings":";;;;;;;;;AASO,MAAMA,sBAA+BC,SAAAA,+BAAAA,CAAAA;AAQ1CC,IAAAA,MAAAA,CAAOC,OAA4C,EAAmB;AACpE,QAAA,OAAO,KAAK,CAACD,MAAOC,CAAAA,OAAAA,EAAS,EAAC,CAAA;AAChC;AATAC,IAAAA,WAAAA,CACEC,oBAAuC,IAAIC,yBAAAA,EAAmB,EAC9DC,YAA6B,GAAA,IAAIC,wBAAc,CAC/C;AACA,QAAA,KAAK,CAACH,iBAAmBE,EAAAA,YAAAA,CAAAA;AAC3B;AAKF;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RegistriesFactory } from '../../registries/factory.mjs';
|
|
2
|
+
import { TimerFactory } from '../../utils/timer/factory.mjs';
|
|
3
|
+
import 'debug';
|
|
4
|
+
import 'node:crypto';
|
|
5
|
+
import 'zod';
|
|
6
|
+
import { AbstractContextFactory } from './abstract.mjs';
|
|
7
|
+
|
|
8
|
+
class PathItemContextFactory extends AbstractContextFactory {
|
|
9
|
+
create(context) {
|
|
10
|
+
return super.create(context, {});
|
|
11
|
+
}
|
|
12
|
+
constructor(registriesFactory = new RegistriesFactory(), timerFactory = new TimerFactory()){
|
|
13
|
+
super(registriesFactory, timerFactory);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { PathItemContextFactory };
|
|
18
|
+
//# sourceMappingURL=path-item.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-item.mjs","sources":["../../../src/context/factories/path-item.ts"],"sourcesContent":["import { RegistriesFactory } from '../../registries';\n\nimport type { PathItemContext, PathItemContextData } from '../../types';\nimport { TimerFactory } from '../../utils';\n\nimport type { PartialContext } from '../types';\n\nimport { AbstractContextFactory } from './abstract';\n\nexport class PathItemContextFactory extends AbstractContextFactory<PathItemContextData> {\n constructor(\n registriesFactory: RegistriesFactory = new RegistriesFactory(),\n timerFactory: TimerFactory = new TimerFactory()\n ) {\n super(registriesFactory, timerFactory);\n }\n\n create(context: PartialContext<PathItemContextData>): PathItemContext {\n return super.create(context, {});\n }\n}\n"],"names":["PathItemContextFactory","AbstractContextFactory","create","context","constructor","registriesFactory","RegistriesFactory","timerFactory","TimerFactory"],"mappings":";;;;;;;AASO,MAAMA,sBAA+BC,SAAAA,sBAAAA,CAAAA;AAQ1CC,IAAAA,MAAAA,CAAOC,OAA4C,EAAmB;AACpE,QAAA,OAAO,KAAK,CAACD,MAAOC,CAAAA,OAAAA,EAAS,EAAC,CAAA;AAChC;AATAC,IAAAA,WAAAA,CACEC,oBAAuC,IAAIC,iBAAAA,EAAmB,EAC9DC,YAA6B,GAAA,IAAIC,cAAc,CAC/C;AACA,QAAA,KAAK,CAACH,iBAAmBE,EAAAA,YAAAA,CAAAA;AAC3B;AAKF;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RegistriesFactory } from '../../registries';
|
|
2
|
+
import type { PathContext, PathContextData } from '../../types';
|
|
3
|
+
import { TimerFactory } from '../../utils';
|
|
4
|
+
import type { PartialContext } from '../types';
|
|
5
|
+
import { AbstractContextFactory } from './abstract';
|
|
6
|
+
export declare class PathContextFactory extends AbstractContextFactory<PathContextData> {
|
|
7
|
+
constructor(registriesFactory?: RegistriesFactory, timerFactory?: TimerFactory);
|
|
8
|
+
create(context: PartialContext<PathContextData>): PathContext;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/context/factories/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,sBAAsB,CAAC,eAAe,CAAC;gBAE3E,iBAAiB,GAAE,iBAA2C,EAC9D,YAAY,GAAE,YAAiC;IAKjD,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,WAAW;CAG9D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var factory = require('../../registries/factory.js');
|
|
4
|
+
var factory$1 = require('../../utils/timer/factory.js');
|
|
5
|
+
require('debug');
|
|
6
|
+
require('node:crypto');
|
|
7
|
+
require('zod');
|
|
8
|
+
var abstract = require('./abstract.js');
|
|
9
|
+
|
|
10
|
+
class PathContextFactory extends abstract.AbstractContextFactory {
|
|
11
|
+
create(context) {
|
|
12
|
+
return super.create(context, {});
|
|
13
|
+
}
|
|
14
|
+
constructor(registriesFactory = new factory.RegistriesFactory(), timerFactory = new factory$1.TimerFactory()){
|
|
15
|
+
super(registriesFactory, timerFactory);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.PathContextFactory = PathContextFactory;
|
|
20
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sources":["../../../src/context/factories/path.ts"],"sourcesContent":["import { RegistriesFactory } from '../../registries';\n\nimport type { PathContext, PathContextData } from '../../types';\nimport { TimerFactory } from '../../utils';\n\nimport type { PartialContext } from '../types';\n\nimport { AbstractContextFactory } from './abstract';\n\nexport class PathContextFactory extends AbstractContextFactory<PathContextData> {\n constructor(\n registriesFactory: RegistriesFactory = new RegistriesFactory(),\n timerFactory: TimerFactory = new TimerFactory()\n ) {\n super(registriesFactory, timerFactory);\n }\n\n create(context: PartialContext<PathContextData>): PathContext {\n return super.create(context, {});\n }\n}\n"],"names":["PathContextFactory","AbstractContextFactory","create","context","constructor","registriesFactory","RegistriesFactory","timerFactory","TimerFactory"],"mappings":";;;;;;;;;AASO,MAAMA,kBAA2BC,SAAAA,+BAAAA,CAAAA;AAQtCC,IAAAA,MAAAA,CAAOC,OAAwC,EAAe;AAC5D,QAAA,OAAO,KAAK,CAACD,MAAOC,CAAAA,OAAAA,EAAS,EAAC,CAAA;AAChC;AATAC,IAAAA,WAAAA,CACEC,oBAAuC,IAAIC,yBAAAA,EAAmB,EAC9DC,YAA6B,GAAA,IAAIC,wBAAc,CAC/C;AACA,QAAA,KAAK,CAACH,iBAAmBE,EAAAA,YAAAA,CAAAA;AAC3B;AAKF;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RegistriesFactory } from '../../registries/factory.mjs';
|
|
2
|
+
import { TimerFactory } from '../../utils/timer/factory.mjs';
|
|
3
|
+
import 'debug';
|
|
4
|
+
import 'node:crypto';
|
|
5
|
+
import 'zod';
|
|
6
|
+
import { AbstractContextFactory } from './abstract.mjs';
|
|
7
|
+
|
|
8
|
+
class PathContextFactory extends AbstractContextFactory {
|
|
9
|
+
create(context) {
|
|
10
|
+
return super.create(context, {});
|
|
11
|
+
}
|
|
12
|
+
constructor(registriesFactory = new RegistriesFactory(), timerFactory = new TimerFactory()){
|
|
13
|
+
super(registriesFactory, timerFactory);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { PathContextFactory };
|
|
18
|
+
//# sourceMappingURL=path.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.mjs","sources":["../../../src/context/factories/path.ts"],"sourcesContent":["import { RegistriesFactory } from '../../registries';\n\nimport type { PathContext, PathContextData } from '../../types';\nimport { TimerFactory } from '../../utils';\n\nimport type { PartialContext } from '../types';\n\nimport { AbstractContextFactory } from './abstract';\n\nexport class PathContextFactory extends AbstractContextFactory<PathContextData> {\n constructor(\n registriesFactory: RegistriesFactory = new RegistriesFactory(),\n timerFactory: TimerFactory = new TimerFactory()\n ) {\n super(registriesFactory, timerFactory);\n }\n\n create(context: PartialContext<PathContextData>): PathContext {\n return super.create(context, {});\n }\n}\n"],"names":["PathContextFactory","AbstractContextFactory","create","context","constructor","registriesFactory","RegistriesFactory","timerFactory","TimerFactory"],"mappings":";;;;;;;AASO,MAAMA,kBAA2BC,SAAAA,sBAAAA,CAAAA;AAQtCC,IAAAA,MAAAA,CAAOC,OAAwC,EAAe;AAC5D,QAAA,OAAO,KAAK,CAACD,MAAOC,CAAAA,OAAAA,EAAS,EAAC,CAAA;AAChC;AATAC,IAAAA,WAAAA,CACEC,oBAAuC,IAAIC,iBAAAA,EAAmB,EAC9DC,YAA6B,GAAA,IAAIC,cAAc,CAC/C;AACA,QAAA,KAAK,CAACH,iBAAmBE,EAAAA,YAAAA,CAAAA;AAC3B;AAKF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,mBAAmB,SAAS,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
import type { Timer } from '../utils';
|
|
3
|
+
export interface ContextRegistries {
|
|
4
|
+
}
|
|
5
|
+
export interface TimeStats {
|
|
6
|
+
startTime: number;
|
|
7
|
+
endTime: number;
|
|
8
|
+
elapsedTime: number;
|
|
9
|
+
}
|
|
10
|
+
export interface Stats {
|
|
11
|
+
time: TimeStats;
|
|
12
|
+
}
|
|
13
|
+
export interface ContextOutput<T> {
|
|
14
|
+
data: T;
|
|
15
|
+
stats: Stats;
|
|
16
|
+
}
|
|
17
|
+
export interface Context<T = unknown> {
|
|
18
|
+
routes: Core.Route[];
|
|
19
|
+
strapi: Core.Strapi;
|
|
20
|
+
timer: Timer;
|
|
21
|
+
registries: ContextRegistries;
|
|
22
|
+
output: ContextOutput<T>;
|
|
23
|
+
}
|
|
24
|
+
export type PartialContext<T> = Partial<Pick<Context<T>, 'timer' | 'registries'>> & Required<Pick<Context<T>, 'strapi' | 'routes'>>;
|
|
25
|
+
export interface ContextFactory<T> {
|
|
26
|
+
create(context: PartialContext<T>, defaultValue: T): Context<T>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,iBAAiB;CAAG;AAErC,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO;IAClC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC,GAC/E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;AAElD,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACjE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
import type { GenerationOptions } from './types';
|
|
3
|
+
import type { GeneratorOutput } from './generator';
|
|
4
|
+
/**
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export declare const generate: (strapi: Core.Strapi, options?: GenerationOptions) => GeneratorOutput;
|
|
8
|
+
export { GenerationOptions, GeneratorOutput };
|
|
9
|
+
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAgB1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,QAAQ,WAAY,KAAK,MAAM,YAAY,iBAAiB,KAAG,eA2B3E,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/exports.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./assemblers/document/info.js');
|
|
4
|
+
require('./assemblers/document/metadata.js');
|
|
5
|
+
require('./assemblers/document/path/path.js');
|
|
6
|
+
var document = require('./context/factories/document.js');
|
|
7
|
+
require('debug');
|
|
8
|
+
require('node:crypto');
|
|
9
|
+
require('zod');
|
|
10
|
+
require('./assemblers/document/path/path-item/path-item.js');
|
|
11
|
+
require('./assemblers/document/path/path-item/operation/operation.js');
|
|
12
|
+
require('./assemblers/document/path/path-item/operation/operation-id.js');
|
|
13
|
+
require('./assemblers/document/path/path-item/operation/parameters.js');
|
|
14
|
+
require('./assemblers/document/path/path-item/operation/tags.js');
|
|
15
|
+
var factory$1 = require('./assemblers/document/factory.js');
|
|
16
|
+
var generator = require('./generator/generator.js');
|
|
17
|
+
var factory$2 = require('./post-processor/factory.js');
|
|
18
|
+
var factory = require('./pre-processor/factory.js');
|
|
19
|
+
var collector = require('./routes/collector.js');
|
|
20
|
+
var matcher = require('./routes/matcher.js');
|
|
21
|
+
var admin = require('./routes/providers/admin.js');
|
|
22
|
+
var api = require('./routes/providers/api.js');
|
|
23
|
+
var plugin = require('./routes/providers/plugin.js');
|
|
24
|
+
var isOfType = require('./routes/rules/is-of-type.js');
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @experimental
|
|
28
|
+
*/ const generate = (strapi, options)=>{
|
|
29
|
+
const { type = 'content-api' } = options ?? {};
|
|
30
|
+
const config = {
|
|
31
|
+
preProcessors: new factory.PreProcessorFactory().createAll(),
|
|
32
|
+
assemblers: new factory$1.DocumentAssemblerFactory().createAll(),
|
|
33
|
+
postProcessors: new factory$2.PostProcessorsFactory().createAll()
|
|
34
|
+
};
|
|
35
|
+
const routeCollector = new collector.RouteCollector([
|
|
36
|
+
new admin.AdminRoutesProvider(strapi),
|
|
37
|
+
new api.ApiRoutesProvider(strapi),
|
|
38
|
+
new plugin.PluginRoutesProvider(strapi)
|
|
39
|
+
], new matcher.RouteMatcher([
|
|
40
|
+
// Only match content-api routes
|
|
41
|
+
isOfType.isOfType(type)
|
|
42
|
+
]));
|
|
43
|
+
const contextFactory = new document.DocumentContextFactory();
|
|
44
|
+
const generator$1 = new generator.OpenAPIGenerator(config, strapi, routeCollector, contextFactory);
|
|
45
|
+
return generator$1.generate();
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.generate = generate;
|
|
49
|
+
//# sourceMappingURL=exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sources":["../src/exports.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { DocumentAssemblerFactory } from './assemblers';\nimport { DocumentContextFactory } from './context';\nimport { OpenAPIGenerator } from './generator';\nimport { PostProcessorsFactory } from './post-processor';\nimport { PreProcessorFactory } from './pre-processor';\nimport {\n AdminRoutesProvider,\n ApiRoutesProvider,\n PluginRoutesProvider,\n RouteCollector,\n RouteMatcher,\n rules,\n} from './routes';\n\nimport type { GenerationOptions } from './types';\nimport type { GeneratorOutput } from './generator';\n\n/**\n * @experimental\n */\nexport const generate = (strapi: Core.Strapi, options?: GenerationOptions): GeneratorOutput => {\n const { type = 'content-api' } = options ?? {};\n\n const config = {\n preProcessors: new PreProcessorFactory().createAll(),\n assemblers: new DocumentAssemblerFactory().createAll(),\n postProcessors: new PostProcessorsFactory().createAll(),\n };\n\n const routeCollector = new RouteCollector(\n [\n new AdminRoutesProvider(strapi),\n new ApiRoutesProvider(strapi),\n new PluginRoutesProvider(strapi),\n ],\n\n new RouteMatcher([\n // Only match content-api routes\n rules.isOfType(type),\n ])\n );\n\n const contextFactory = new DocumentContextFactory();\n\n const generator = new OpenAPIGenerator(config, strapi, routeCollector, contextFactory);\n\n return generator.generate();\n};\n\nexport { GenerationOptions, GeneratorOutput };\n"],"names":["generate","strapi","options","type","config","preProcessors","PreProcessorFactory","createAll","assemblers","DocumentAssemblerFactory","postProcessors","PostProcessorsFactory","routeCollector","RouteCollector","AdminRoutesProvider","ApiRoutesProvider","PluginRoutesProvider","RouteMatcher","rules","contextFactory","DocumentContextFactory","generator","OpenAPIGenerator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBA;;AAEC,IACM,MAAMA,QAAW,GAAA,CAACC,MAAqBC,EAAAA,OAAAA,GAAAA;AAC5C,IAAA,MAAM,EAAEC,IAAO,GAAA,aAAa,EAAE,GAAGD,WAAW,EAAC;AAE7C,IAAA,MAAME,MAAS,GAAA;QACbC,aAAe,EAAA,IAAIC,8BAAsBC,SAAS,EAAA;QAClDC,UAAY,EAAA,IAAIC,qCAA2BF,SAAS,EAAA;QACpDG,cAAgB,EAAA,IAAIC,kCAAwBJ,SAAS;AACvD,KAAA;IAEA,MAAMK,cAAAA,GAAiB,IAAIC,wBACzB,CAAA;AACE,QAAA,IAAIC,yBAAoBb,CAAAA,MAAAA,CAAAA;AACxB,QAAA,IAAIc,qBAAkBd,CAAAA,MAAAA,CAAAA;AACtB,QAAA,IAAIe,2BAAqBf,CAAAA,MAAAA;AAC1B,KAAA,EAED,IAAIgB,oBAAa,CAAA;;AAEfC,QAAAA,iBAAc,CAACf,IAAAA;AAChB,KAAA,CAAA,CAAA;AAGH,IAAA,MAAMgB,iBAAiB,IAAIC,+BAAAA,EAAAA;AAE3B,IAAA,MAAMC,WAAY,GAAA,IAAIC,0BAAiBlB,CAAAA,MAAAA,EAAQH,QAAQW,cAAgBO,EAAAA,cAAAA,CAAAA;AAEvE,IAAA,OAAOE,YAAUrB,QAAQ,EAAA;AAC3B;;;;"}
|
package/dist/exports.mjs
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import './assemblers/document/info.mjs';
|
|
2
|
+
import './assemblers/document/metadata.mjs';
|
|
3
|
+
import './assemblers/document/path/path.mjs';
|
|
4
|
+
import { DocumentContextFactory } from './context/factories/document.mjs';
|
|
5
|
+
import 'debug';
|
|
6
|
+
import 'node:crypto';
|
|
7
|
+
import 'zod';
|
|
8
|
+
import './assemblers/document/path/path-item/path-item.mjs';
|
|
9
|
+
import './assemblers/document/path/path-item/operation/operation.mjs';
|
|
10
|
+
import './assemblers/document/path/path-item/operation/operation-id.mjs';
|
|
11
|
+
import './assemblers/document/path/path-item/operation/parameters.mjs';
|
|
12
|
+
import './assemblers/document/path/path-item/operation/tags.mjs';
|
|
13
|
+
import { DocumentAssemblerFactory } from './assemblers/document/factory.mjs';
|
|
14
|
+
import { OpenAPIGenerator } from './generator/generator.mjs';
|
|
15
|
+
import { PostProcessorsFactory } from './post-processor/factory.mjs';
|
|
16
|
+
import { PreProcessorFactory } from './pre-processor/factory.mjs';
|
|
17
|
+
import { RouteCollector } from './routes/collector.mjs';
|
|
18
|
+
import { RouteMatcher } from './routes/matcher.mjs';
|
|
19
|
+
import { AdminRoutesProvider } from './routes/providers/admin.mjs';
|
|
20
|
+
import { ApiRoutesProvider } from './routes/providers/api.mjs';
|
|
21
|
+
import { PluginRoutesProvider } from './routes/providers/plugin.mjs';
|
|
22
|
+
import { isOfType } from './routes/rules/is-of-type.mjs';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @experimental
|
|
26
|
+
*/ const generate = (strapi, options)=>{
|
|
27
|
+
const { type = 'content-api' } = options ?? {};
|
|
28
|
+
const config = {
|
|
29
|
+
preProcessors: new PreProcessorFactory().createAll(),
|
|
30
|
+
assemblers: new DocumentAssemblerFactory().createAll(),
|
|
31
|
+
postProcessors: new PostProcessorsFactory().createAll()
|
|
32
|
+
};
|
|
33
|
+
const routeCollector = new RouteCollector([
|
|
34
|
+
new AdminRoutesProvider(strapi),
|
|
35
|
+
new ApiRoutesProvider(strapi),
|
|
36
|
+
new PluginRoutesProvider(strapi)
|
|
37
|
+
], new RouteMatcher([
|
|
38
|
+
// Only match content-api routes
|
|
39
|
+
isOfType(type)
|
|
40
|
+
]));
|
|
41
|
+
const contextFactory = new DocumentContextFactory();
|
|
42
|
+
const generator = new OpenAPIGenerator(config, strapi, routeCollector, contextFactory);
|
|
43
|
+
return generator.generate();
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { generate };
|
|
47
|
+
//# sourceMappingURL=exports.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.mjs","sources":["../src/exports.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport { DocumentAssemblerFactory } from './assemblers';\nimport { DocumentContextFactory } from './context';\nimport { OpenAPIGenerator } from './generator';\nimport { PostProcessorsFactory } from './post-processor';\nimport { PreProcessorFactory } from './pre-processor';\nimport {\n AdminRoutesProvider,\n ApiRoutesProvider,\n PluginRoutesProvider,\n RouteCollector,\n RouteMatcher,\n rules,\n} from './routes';\n\nimport type { GenerationOptions } from './types';\nimport type { GeneratorOutput } from './generator';\n\n/**\n * @experimental\n */\nexport const generate = (strapi: Core.Strapi, options?: GenerationOptions): GeneratorOutput => {\n const { type = 'content-api' } = options ?? {};\n\n const config = {\n preProcessors: new PreProcessorFactory().createAll(),\n assemblers: new DocumentAssemblerFactory().createAll(),\n postProcessors: new PostProcessorsFactory().createAll(),\n };\n\n const routeCollector = new RouteCollector(\n [\n new AdminRoutesProvider(strapi),\n new ApiRoutesProvider(strapi),\n new PluginRoutesProvider(strapi),\n ],\n\n new RouteMatcher([\n // Only match content-api routes\n rules.isOfType(type),\n ])\n );\n\n const contextFactory = new DocumentContextFactory();\n\n const generator = new OpenAPIGenerator(config, strapi, routeCollector, contextFactory);\n\n return generator.generate();\n};\n\nexport { GenerationOptions, GeneratorOutput };\n"],"names":["generate","strapi","options","type","config","preProcessors","PreProcessorFactory","createAll","assemblers","DocumentAssemblerFactory","postProcessors","PostProcessorsFactory","routeCollector","RouteCollector","AdminRoutesProvider","ApiRoutesProvider","PluginRoutesProvider","RouteMatcher","rules","contextFactory","DocumentContextFactory","generator","OpenAPIGenerator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmBA;;AAEC,IACM,MAAMA,QAAW,GAAA,CAACC,MAAqBC,EAAAA,OAAAA,GAAAA;AAC5C,IAAA,MAAM,EAAEC,IAAO,GAAA,aAAa,EAAE,GAAGD,WAAW,EAAC;AAE7C,IAAA,MAAME,MAAS,GAAA;QACbC,aAAe,EAAA,IAAIC,sBAAsBC,SAAS,EAAA;QAClDC,UAAY,EAAA,IAAIC,2BAA2BF,SAAS,EAAA;QACpDG,cAAgB,EAAA,IAAIC,wBAAwBJ,SAAS;AACvD,KAAA;IAEA,MAAMK,cAAAA,GAAiB,IAAIC,cACzB,CAAA;AACE,QAAA,IAAIC,mBAAoBb,CAAAA,MAAAA,CAAAA;AACxB,QAAA,IAAIc,iBAAkBd,CAAAA,MAAAA,CAAAA;AACtB,QAAA,IAAIe,oBAAqBf,CAAAA,MAAAA;AAC1B,KAAA,EAED,IAAIgB,YAAa,CAAA;;AAEfC,QAAAA,QAAc,CAACf,IAAAA;AAChB,KAAA,CAAA,CAAA;AAGH,IAAA,MAAMgB,iBAAiB,IAAIC,sBAAAA,EAAAA;AAE3B,IAAA,MAAMC,SAAY,GAAA,IAAIC,gBAAiBlB,CAAAA,MAAAA,EAAQH,QAAQW,cAAgBO,EAAAA,cAAAA,CAAAA;AAEvE,IAAA,OAAOE,UAAUrB,QAAQ,EAAA;AAC3B;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
import type { Assembler } from '../assemblers';
|
|
3
|
+
import type { DocumentContextFactory } from '../context';
|
|
4
|
+
import type { PostProcessor } from '../post-processor';
|
|
5
|
+
import type { PreProcessor } from '../pre-processor';
|
|
6
|
+
import type { RouteCollector } from '../routes';
|
|
7
|
+
import type { GeneratorOptions, GeneratorOutput } from './types';
|
|
8
|
+
export interface OpenAPIGeneratorConfig {
|
|
9
|
+
preProcessors?: PreProcessor[];
|
|
10
|
+
assemblers?: Assembler.Document[];
|
|
11
|
+
postProcessors?: PostProcessor[];
|
|
12
|
+
}
|
|
13
|
+
export declare class OpenAPIGenerator {
|
|
14
|
+
private readonly _assemblers;
|
|
15
|
+
private readonly _preProcessors;
|
|
16
|
+
private readonly _postProcessors;
|
|
17
|
+
private readonly _strapi;
|
|
18
|
+
private readonly _routeCollector;
|
|
19
|
+
private readonly _contextFactory;
|
|
20
|
+
constructor(config: OpenAPIGeneratorConfig, strapi: Core.Strapi, routeCollector: RouteCollector, contextFactory: DocumentContextFactory);
|
|
21
|
+
generate(_options?: GeneratorOptions): GeneratorOutput;
|
|
22
|
+
private _initContext;
|
|
23
|
+
private _bootstrap;
|
|
24
|
+
private _finalize;
|
|
25
|
+
private _preProcess;
|
|
26
|
+
private _assemble;
|
|
27
|
+
private _postProcess;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAMjE,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEhD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAGlD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAGjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;gBAIvD,MAAM,EAAE,sBAAsB,EAG9B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,cAAc,EAAE,cAAc,EAG9B,cAAc,EAAE,sBAAsB;IAexC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,eAAe;IAsBtD,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var debug$1 = require('../utils/debug.js');
|
|
4
|
+
require('node:crypto');
|
|
5
|
+
require('zod');
|
|
6
|
+
|
|
7
|
+
const debug = debug$1.createDebugger('generator');
|
|
8
|
+
class OpenAPIGenerator {
|
|
9
|
+
generate(_options) {
|
|
10
|
+
debug('generating a new OpenAPI document with the following options: %O', _options);
|
|
11
|
+
const context = this._initContext(this._strapi);
|
|
12
|
+
this// Init timers
|
|
13
|
+
._bootstrap(context)// Run registered pre-processors
|
|
14
|
+
._preProcess(context)// Run registered section assemblers
|
|
15
|
+
._assemble(context)// Run registered post-processors
|
|
16
|
+
._postProcess(context)// Clean up and set necessary properties
|
|
17
|
+
._finalize(context);
|
|
18
|
+
const { data, stats } = context.output;
|
|
19
|
+
return {
|
|
20
|
+
document: data,
|
|
21
|
+
durationMs: stats.time.elapsedTime
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
_initContext(strapi) {
|
|
25
|
+
debug('collecting registered routes...');
|
|
26
|
+
const routes = this._routeCollector.collect();
|
|
27
|
+
debug('creating the initial document generation context...');
|
|
28
|
+
return this._contextFactory.create({
|
|
29
|
+
strapi,
|
|
30
|
+
routes
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
_bootstrap(context) {
|
|
34
|
+
const { timer } = context;
|
|
35
|
+
timer.reset();
|
|
36
|
+
const startedAt = timer.start();
|
|
37
|
+
debug('started generation: %o', new Date(startedAt).toISOString());
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
_finalize(context) {
|
|
41
|
+
const { timer, output } = context;
|
|
42
|
+
output.stats.time = timer.stop();
|
|
43
|
+
const { endTime, elapsedTime } = output.stats.time;
|
|
44
|
+
debug('completed generation: %O (elapsed: %Oms)', new Date(endTime).toISOString(), elapsedTime);
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
_preProcess(context) {
|
|
48
|
+
for (const preProcessor of this._preProcessors){
|
|
49
|
+
debug('running pre-processor: %s...', preProcessor.constructor.name);
|
|
50
|
+
preProcessor.preProcess(context);
|
|
51
|
+
}
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
_assemble(context) {
|
|
55
|
+
for (const assembler of this._assemblers){
|
|
56
|
+
debug('running assembler: %s...', assembler.constructor.name);
|
|
57
|
+
assembler.assemble(context);
|
|
58
|
+
}
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
_postProcess(context) {
|
|
62
|
+
for (const postProcessor of this._postProcessors){
|
|
63
|
+
debug('running post-processor: %s...', postProcessor.constructor.name);
|
|
64
|
+
postProcessor.postProcess(context);
|
|
65
|
+
}
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
constructor(// Config
|
|
69
|
+
config, // Dependencies
|
|
70
|
+
strapi, routeCollector, // Factories
|
|
71
|
+
contextFactory){
|
|
72
|
+
// Config
|
|
73
|
+
this._assemblers = config.assemblers ?? [];
|
|
74
|
+
this._preProcessors = config.preProcessors ?? [];
|
|
75
|
+
this._postProcessors = config.postProcessors ?? [];
|
|
76
|
+
// Dependencies
|
|
77
|
+
this._strapi = strapi;
|
|
78
|
+
this._routeCollector = routeCollector;
|
|
79
|
+
// Factories
|
|
80
|
+
this._contextFactory = contextFactory;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
exports.OpenAPIGenerator = OpenAPIGenerator;
|
|
85
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sources":["../../src/generator/generator.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3 } from 'openapi-types';\n\nimport type { Assembler } from '../assemblers';\nimport type { DocumentContextFactory } from '../context';\nimport type { PostProcessor } from '../post-processor';\nimport type { PreProcessor } from '../pre-processor';\nimport type { RouteCollector } from '../routes';\nimport type { DocumentContext } from '../types';\n\nimport type { GeneratorOptions, GeneratorOutput } from './types';\n\nimport { createDebugger } from '../utils';\n\nconst debug = createDebugger('generator');\n\nexport interface OpenAPIGeneratorConfig {\n preProcessors?: PreProcessor[];\n assemblers?: Assembler.Document[];\n postProcessors?: PostProcessor[];\n}\n\nexport class OpenAPIGenerator {\n // Config\n private readonly _assemblers: Assembler.Document[];\n\n private readonly _preProcessors: PreProcessor[];\n\n private readonly _postProcessors: PostProcessor[];\n\n // Dependencies\n private readonly _strapi: Core.Strapi;\n\n private readonly _routeCollector: RouteCollector;\n\n // Factories\n private readonly _contextFactory: DocumentContextFactory;\n\n constructor(\n // Config\n config: OpenAPIGeneratorConfig,\n\n // Dependencies\n strapi: Core.Strapi,\n routeCollector: RouteCollector,\n\n // Factories\n contextFactory: DocumentContextFactory\n ) {\n // Config\n this._assemblers = config.assemblers ?? [];\n this._preProcessors = config.preProcessors ?? [];\n this._postProcessors = config.postProcessors ?? [];\n\n // Dependencies\n this._strapi = strapi;\n this._routeCollector = routeCollector;\n\n // Factories\n this._contextFactory = contextFactory;\n }\n\n generate(_options?: GeneratorOptions): GeneratorOutput {\n debug('generating a new OpenAPI document with the following options: %O', _options);\n\n const context = this._initContext(this._strapi);\n\n this\n // Init timers\n ._bootstrap(context)\n // Run registered pre-processors\n ._preProcess(context)\n // Run registered section assemblers\n ._assemble(context)\n // Run registered post-processors\n ._postProcess(context)\n // Clean up and set necessary properties\n ._finalize(context);\n\n const { data, stats } = context.output;\n\n return { document: data as OpenAPIV3.Document, durationMs: stats.time.elapsedTime };\n }\n\n private _initContext(strapi: Core.Strapi): DocumentContext {\n debug('collecting registered routes...');\n const routes = this._routeCollector.collect();\n\n debug('creating the initial document generation context...');\n return this._contextFactory.create({ strapi, routes });\n }\n\n private _bootstrap(context: DocumentContext) {\n const { timer } = context;\n\n timer.reset();\n\n const startedAt = timer.start();\n\n debug('started generation: %o', new Date(startedAt).toISOString());\n\n return this;\n }\n\n private _finalize(context: DocumentContext) {\n const { timer, output } = context;\n\n output.stats.time = timer.stop();\n\n const { endTime, elapsedTime } = output.stats.time;\n\n debug('completed generation: %O (elapsed: %Oms)', new Date(endTime).toISOString(), elapsedTime);\n\n return this;\n }\n\n private _preProcess(context: DocumentContext) {\n for (const preProcessor of this._preProcessors) {\n debug('running pre-processor: %s...', preProcessor.constructor.name);\n\n preProcessor.preProcess(context);\n }\n\n return this;\n }\n\n private _assemble(context: DocumentContext) {\n for (const assembler of this._assemblers) {\n debug('running assembler: %s...', assembler.constructor.name);\n\n assembler.assemble(context);\n }\n\n return this;\n }\n\n private _postProcess(context: DocumentContext) {\n for (const postProcessor of this._postProcessors) {\n debug('running post-processor: %s...', postProcessor.constructor.name);\n\n postProcessor.postProcess(context);\n }\n\n return this;\n }\n}\n"],"names":["debug","createDebugger","OpenAPIGenerator","generate","_options","context","_initContext","_strapi","_bootstrap","_preProcess","_assemble","_postProcess","_finalize","data","stats","output","document","durationMs","time","elapsedTime","strapi","routes","_routeCollector","collect","_contextFactory","create","timer","reset","startedAt","start","Date","toISOString","stop","endTime","preProcessor","_preProcessors","constructor","name","preProcess","assembler","_assemblers","assemble","postProcessor","_postProcessors","postProcess","config","routeCollector","contextFactory","assemblers","preProcessors","postProcessors"],"mappings":";;;;;;AAcA,MAAMA,QAAQC,sBAAe,CAAA,WAAA,CAAA;AAQtB,MAAMC,gBAAAA,CAAAA;AAwCXC,IAAAA,QAAAA,CAASC,QAA2B,EAAmB;AACrDJ,QAAAA,KAAAA,CAAM,kEAAoEI,EAAAA,QAAAA,CAAAA;AAE1E,QAAA,MAAMC,UAAU,IAAI,CAACC,YAAY,CAAC,IAAI,CAACC,OAAO,CAAA;AAE9C,QAAA,IAAI;SAEDC,UAAU,CAACH,QACZ;SACCI,WAAW,CAACJ,QACb;SACCK,SAAS,CAACL,QACX;SACCM,YAAY,CAACN,QACd;AACCO,SAAAA,SAAS,CAACP,OAAAA,CAAAA;AAEb,QAAA,MAAM,EAAEQ,IAAI,EAAEC,KAAK,EAAE,GAAGT,QAAQU,MAAM;QAEtC,OAAO;YAAEC,QAAUH,EAAAA,IAAAA;YAA4BI,UAAYH,EAAAA,KAAAA,CAAMI,IAAI,CAACC;AAAY,SAAA;AACpF;AAEQb,IAAAA,YAAAA,CAAac,MAAmB,EAAmB;QACzDpB,KAAM,CAAA,iCAAA,CAAA;AACN,QAAA,MAAMqB,MAAS,GAAA,IAAI,CAACC,eAAe,CAACC,OAAO,EAAA;QAE3CvB,KAAM,CAAA,qDAAA,CAAA;AACN,QAAA,OAAO,IAAI,CAACwB,eAAe,CAACC,MAAM,CAAC;AAAEL,YAAAA,MAAAA;AAAQC,YAAAA;AAAO,SAAA,CAAA;AACtD;AAEQb,IAAAA,UAAAA,CAAWH,OAAwB,EAAE;QAC3C,MAAM,EAAEqB,KAAK,EAAE,GAAGrB,OAAAA;AAElBqB,QAAAA,KAAAA,CAAMC,KAAK,EAAA;QAEX,MAAMC,SAAAA,GAAYF,MAAMG,KAAK,EAAA;AAE7B7B,QAAAA,KAAAA,CAAM,wBAA0B,EAAA,IAAI8B,IAAKF,CAAAA,SAAAA,CAAAA,CAAWG,WAAW,EAAA,CAAA;AAE/D,QAAA,OAAO,IAAI;AACb;AAEQnB,IAAAA,SAAAA,CAAUP,OAAwB,EAAE;AAC1C,QAAA,MAAM,EAAEqB,KAAK,EAAEX,MAAM,EAAE,GAAGV,OAAAA;AAE1BU,QAAAA,MAAAA,CAAOD,KAAK,CAACI,IAAI,GAAGQ,MAAMM,IAAI,EAAA;QAE9B,MAAM,EAAEC,OAAO,EAAEd,WAAW,EAAE,GAAGJ,MAAAA,CAAOD,KAAK,CAACI,IAAI;AAElDlB,QAAAA,KAAAA,CAAM,0CAA4C,EAAA,IAAI8B,IAAKG,CAAAA,OAAAA,CAAAA,CAASF,WAAW,EAAIZ,EAAAA,WAAAA,CAAAA;AAEnF,QAAA,OAAO,IAAI;AACb;AAEQV,IAAAA,WAAAA,CAAYJ,OAAwB,EAAE;AAC5C,QAAA,KAAK,MAAM6B,YAAAA,IAAgB,IAAI,CAACC,cAAc,CAAE;AAC9CnC,YAAAA,KAAAA,CAAM,8BAAgCkC,EAAAA,YAAAA,CAAaE,WAAW,CAACC,IAAI,CAAA;AAEnEH,YAAAA,YAAAA,CAAaI,UAAU,CAACjC,OAAAA,CAAAA;AAC1B;AAEA,QAAA,OAAO,IAAI;AACb;AAEQK,IAAAA,SAAAA,CAAUL,OAAwB,EAAE;AAC1C,QAAA,KAAK,MAAMkC,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxCxC,YAAAA,KAAAA,CAAM,0BAA4BuC,EAAAA,SAAAA,CAAUH,WAAW,CAACC,IAAI,CAAA;AAE5DE,YAAAA,SAAAA,CAAUE,QAAQ,CAACpC,OAAAA,CAAAA;AACrB;AAEA,QAAA,OAAO,IAAI;AACb;AAEQM,IAAAA,YAAAA,CAAaN,OAAwB,EAAE;AAC7C,QAAA,KAAK,MAAMqC,aAAAA,IAAiB,IAAI,CAACC,eAAe,CAAE;AAChD3C,YAAAA,KAAAA,CAAM,+BAAiC0C,EAAAA,aAAAA,CAAcN,WAAW,CAACC,IAAI,CAAA;AAErEK,YAAAA,aAAAA,CAAcE,WAAW,CAACvC,OAAAA,CAAAA;AAC5B;AAEA,QAAA,OAAO,IAAI;AACb;AA1GA+B,IAAAA,WAAAA;AAEES,IAAAA,MAA8B;IAG9BzB,MAAmB,EACnB0B,cAA8B;AAG9BC,IAAAA,cAAsC,CACtC;;AAEA,QAAA,IAAI,CAACP,WAAW,GAAGK,MAAOG,CAAAA,UAAU,IAAI,EAAE;AAC1C,QAAA,IAAI,CAACb,cAAc,GAAGU,MAAOI,CAAAA,aAAa,IAAI,EAAE;AAChD,QAAA,IAAI,CAACN,eAAe,GAAGE,MAAOK,CAAAA,cAAc,IAAI,EAAE;;QAGlD,IAAI,CAAC3C,OAAO,GAAGa,MAAAA;QACf,IAAI,CAACE,eAAe,GAAGwB,cAAAA;;QAGvB,IAAI,CAACtB,eAAe,GAAGuB,cAAAA;AACzB;AAqFF;;;;"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { createDebugger } from '../utils/debug.mjs';
|
|
2
|
+
import 'node:crypto';
|
|
3
|
+
import 'zod';
|
|
4
|
+
|
|
5
|
+
const debug = createDebugger('generator');
|
|
6
|
+
class OpenAPIGenerator {
|
|
7
|
+
generate(_options) {
|
|
8
|
+
debug('generating a new OpenAPI document with the following options: %O', _options);
|
|
9
|
+
const context = this._initContext(this._strapi);
|
|
10
|
+
this// Init timers
|
|
11
|
+
._bootstrap(context)// Run registered pre-processors
|
|
12
|
+
._preProcess(context)// Run registered section assemblers
|
|
13
|
+
._assemble(context)// Run registered post-processors
|
|
14
|
+
._postProcess(context)// Clean up and set necessary properties
|
|
15
|
+
._finalize(context);
|
|
16
|
+
const { data, stats } = context.output;
|
|
17
|
+
return {
|
|
18
|
+
document: data,
|
|
19
|
+
durationMs: stats.time.elapsedTime
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
_initContext(strapi) {
|
|
23
|
+
debug('collecting registered routes...');
|
|
24
|
+
const routes = this._routeCollector.collect();
|
|
25
|
+
debug('creating the initial document generation context...');
|
|
26
|
+
return this._contextFactory.create({
|
|
27
|
+
strapi,
|
|
28
|
+
routes
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
_bootstrap(context) {
|
|
32
|
+
const { timer } = context;
|
|
33
|
+
timer.reset();
|
|
34
|
+
const startedAt = timer.start();
|
|
35
|
+
debug('started generation: %o', new Date(startedAt).toISOString());
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
_finalize(context) {
|
|
39
|
+
const { timer, output } = context;
|
|
40
|
+
output.stats.time = timer.stop();
|
|
41
|
+
const { endTime, elapsedTime } = output.stats.time;
|
|
42
|
+
debug('completed generation: %O (elapsed: %Oms)', new Date(endTime).toISOString(), elapsedTime);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
_preProcess(context) {
|
|
46
|
+
for (const preProcessor of this._preProcessors){
|
|
47
|
+
debug('running pre-processor: %s...', preProcessor.constructor.name);
|
|
48
|
+
preProcessor.preProcess(context);
|
|
49
|
+
}
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
_assemble(context) {
|
|
53
|
+
for (const assembler of this._assemblers){
|
|
54
|
+
debug('running assembler: %s...', assembler.constructor.name);
|
|
55
|
+
assembler.assemble(context);
|
|
56
|
+
}
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
_postProcess(context) {
|
|
60
|
+
for (const postProcessor of this._postProcessors){
|
|
61
|
+
debug('running post-processor: %s...', postProcessor.constructor.name);
|
|
62
|
+
postProcessor.postProcess(context);
|
|
63
|
+
}
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
constructor(// Config
|
|
67
|
+
config, // Dependencies
|
|
68
|
+
strapi, routeCollector, // Factories
|
|
69
|
+
contextFactory){
|
|
70
|
+
// Config
|
|
71
|
+
this._assemblers = config.assemblers ?? [];
|
|
72
|
+
this._preProcessors = config.preProcessors ?? [];
|
|
73
|
+
this._postProcessors = config.postProcessors ?? [];
|
|
74
|
+
// Dependencies
|
|
75
|
+
this._strapi = strapi;
|
|
76
|
+
this._routeCollector = routeCollector;
|
|
77
|
+
// Factories
|
|
78
|
+
this._contextFactory = contextFactory;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { OpenAPIGenerator };
|
|
83
|
+
//# sourceMappingURL=generator.mjs.map
|