@strapi/openapi 0.0.0 → 5.20.0

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.
Files changed (279) hide show
  1. package/README.md +1 -0
  2. package/dist/assemblers/document/factory.d.ts +8 -0
  3. package/dist/assemblers/document/factory.d.ts.map +1 -0
  4. package/dist/assemblers/document/factory.js +38 -0
  5. package/dist/assemblers/document/factory.js.map +1 -0
  6. package/dist/assemblers/document/factory.mjs +36 -0
  7. package/dist/assemblers/document/factory.mjs.map +1 -0
  8. package/dist/assemblers/document/index.d.ts +5 -0
  9. package/dist/assemblers/document/index.d.ts.map +1 -0
  10. package/dist/assemblers/document/info.d.ts +8 -0
  11. package/dist/assemblers/document/info.d.ts.map +1 -0
  12. package/dist/assemblers/document/info.js +32 -0
  13. package/dist/assemblers/document/info.js.map +1 -0
  14. package/dist/assemblers/document/info.mjs +30 -0
  15. package/dist/assemblers/document/info.mjs.map +1 -0
  16. package/dist/assemblers/document/metadata.d.ts +6 -0
  17. package/dist/assemblers/document/metadata.d.ts.map +1 -0
  18. package/dist/assemblers/document/metadata.js +23 -0
  19. package/dist/assemblers/document/metadata.js.map +1 -0
  20. package/dist/assemblers/document/metadata.mjs +21 -0
  21. package/dist/assemblers/document/metadata.mjs.map +1 -0
  22. package/dist/assemblers/document/path/factory.d.ts +6 -0
  23. package/dist/assemblers/document/path/factory.d.ts.map +1 -0
  24. package/dist/assemblers/document/path/factory.js +27 -0
  25. package/dist/assemblers/document/path/factory.js.map +1 -0
  26. package/dist/assemblers/document/path/factory.mjs +25 -0
  27. package/dist/assemblers/document/path/factory.mjs.map +1 -0
  28. package/dist/assemblers/document/path/index.d.ts +4 -0
  29. package/dist/assemblers/document/path/index.d.ts.map +1 -0
  30. package/dist/assemblers/document/path/path-item/factory.d.ts +6 -0
  31. package/dist/assemblers/document/path/path-item/factory.d.ts.map +1 -0
  32. package/dist/assemblers/document/path/path-item/factory.js +26 -0
  33. package/dist/assemblers/document/path/path-item/factory.js.map +1 -0
  34. package/dist/assemblers/document/path/path-item/factory.mjs +24 -0
  35. package/dist/assemblers/document/path/path-item/factory.mjs.map +1 -0
  36. package/dist/assemblers/document/path/path-item/index.d.ts +4 -0
  37. package/dist/assemblers/document/path/path-item/index.d.ts.map +1 -0
  38. package/dist/assemblers/document/path/path-item/operation/body.d.ts +7 -0
  39. package/dist/assemblers/document/path/path-item/operation/body.d.ts.map +1 -0
  40. package/dist/assemblers/document/path/path-item/operation/body.js +27 -0
  41. package/dist/assemblers/document/path/path-item/operation/body.js.map +1 -0
  42. package/dist/assemblers/document/path/path-item/operation/body.mjs +25 -0
  43. package/dist/assemblers/document/path/path-item/operation/body.mjs.map +1 -0
  44. package/dist/assemblers/document/path/path-item/operation/factory.d.ts +10 -0
  45. package/dist/assemblers/document/path/path-item/operation/factory.d.ts.map +1 -0
  46. package/dist/assemblers/document/path/path-item/operation/factory.js +37 -0
  47. package/dist/assemblers/document/path/path-item/operation/factory.js.map +1 -0
  48. package/dist/assemblers/document/path/path-item/operation/factory.mjs +35 -0
  49. package/dist/assemblers/document/path/path-item/operation/factory.mjs.map +1 -0
  50. package/dist/assemblers/document/path/path-item/operation/index.d.ts +8 -0
  51. package/dist/assemblers/document/path/path-item/operation/index.d.ts.map +1 -0
  52. package/dist/assemblers/document/path/path-item/operation/operation-id.d.ts +10 -0
  53. package/dist/assemblers/document/path/path-item/operation/operation-id.d.ts.map +1 -0
  54. package/dist/assemblers/document/path/path-item/operation/operation-id.js +47 -0
  55. package/dist/assemblers/document/path/path-item/operation/operation-id.js.map +1 -0
  56. package/dist/assemblers/document/path/path-item/operation/operation-id.mjs +45 -0
  57. package/dist/assemblers/document/path/path-item/operation/operation-id.mjs.map +1 -0
  58. package/dist/assemblers/document/path/path-item/operation/operation.d.ts +13 -0
  59. package/dist/assemblers/document/path/path-item/operation/operation.d.ts.map +1 -0
  60. package/dist/assemblers/document/path/path-item/operation/operation.js +51 -0
  61. package/dist/assemblers/document/path/path-item/operation/operation.js.map +1 -0
  62. package/dist/assemblers/document/path/path-item/operation/operation.mjs +49 -0
  63. package/dist/assemblers/document/path/path-item/operation/operation.mjs.map +1 -0
  64. package/dist/assemblers/document/path/path-item/operation/parameters.d.ts +9 -0
  65. package/dist/assemblers/document/path/path-item/operation/parameters.d.ts.map +1 -0
  66. package/dist/assemblers/document/path/path-item/operation/parameters.js +67 -0
  67. package/dist/assemblers/document/path/path-item/operation/parameters.js.map +1 -0
  68. package/dist/assemblers/document/path/path-item/operation/parameters.mjs +65 -0
  69. package/dist/assemblers/document/path/path-item/operation/parameters.mjs.map +1 -0
  70. package/dist/assemblers/document/path/path-item/operation/responses.d.ts +8 -0
  71. package/dist/assemblers/document/path/path-item/operation/responses.d.ts.map +1 -0
  72. package/dist/assemblers/document/path/path-item/operation/responses.js +51 -0
  73. package/dist/assemblers/document/path/path-item/operation/responses.js.map +1 -0
  74. package/dist/assemblers/document/path/path-item/operation/responses.mjs +49 -0
  75. package/dist/assemblers/document/path/path-item/operation/responses.mjs.map +1 -0
  76. package/dist/assemblers/document/path/path-item/operation/tags.d.ts +7 -0
  77. package/dist/assemblers/document/path/path-item/operation/tags.d.ts.map +1 -0
  78. package/dist/assemblers/document/path/path-item/operation/tags.js +25 -0
  79. package/dist/assemblers/document/path/path-item/operation/tags.js.map +1 -0
  80. package/dist/assemblers/document/path/path-item/operation/tags.mjs +23 -0
  81. package/dist/assemblers/document/path/path-item/operation/tags.mjs.map +1 -0
  82. package/dist/assemblers/document/path/path-item/path-item.d.ts +13 -0
  83. package/dist/assemblers/document/path/path-item/path-item.d.ts.map +1 -0
  84. package/dist/assemblers/document/path/path-item/path-item.js +53 -0
  85. package/dist/assemblers/document/path/path-item/path-item.js.map +1 -0
  86. package/dist/assemblers/document/path/path-item/path-item.mjs +51 -0
  87. package/dist/assemblers/document/path/path-item/path-item.mjs.map +1 -0
  88. package/dist/assemblers/document/path/path.d.ts +10 -0
  89. package/dist/assemblers/document/path/path.d.ts.map +1 -0
  90. package/dist/assemblers/document/path/path.js +28 -0
  91. package/dist/assemblers/document/path/path.js.map +1 -0
  92. package/dist/assemblers/document/path/path.mjs +26 -0
  93. package/dist/assemblers/document/path/path.mjs.map +1 -0
  94. package/dist/assemblers/index.d.ts +3 -0
  95. package/dist/assemblers/index.d.ts.map +1 -0
  96. package/dist/assemblers/types.d.ts +18 -0
  97. package/dist/assemblers/types.d.ts.map +1 -0
  98. package/dist/constants.d.ts +3 -0
  99. package/dist/constants.d.ts.map +1 -0
  100. package/dist/constants.js +8 -0
  101. package/dist/constants.js.map +1 -0
  102. package/dist/constants.mjs +5 -0
  103. package/dist/constants.mjs.map +1 -0
  104. package/dist/context/factories/abstract.d.ts +11 -0
  105. package/dist/context/factories/abstract.d.ts.map +1 -0
  106. package/dist/context/factories/abstract.js +38 -0
  107. package/dist/context/factories/abstract.js.map +1 -0
  108. package/dist/context/factories/abstract.mjs +36 -0
  109. package/dist/context/factories/abstract.mjs.map +1 -0
  110. package/dist/context/factories/document.d.ts +11 -0
  111. package/dist/context/factories/document.d.ts.map +1 -0
  112. package/dist/context/factories/document.js +20 -0
  113. package/dist/context/factories/document.js.map +1 -0
  114. package/dist/context/factories/document.mjs +18 -0
  115. package/dist/context/factories/document.mjs.map +1 -0
  116. package/dist/context/factories/index.d.ts +6 -0
  117. package/dist/context/factories/index.d.ts.map +1 -0
  118. package/dist/context/factories/operation.d.ts +11 -0
  119. package/dist/context/factories/operation.d.ts.map +1 -0
  120. package/dist/context/factories/operation.js +20 -0
  121. package/dist/context/factories/operation.js.map +1 -0
  122. package/dist/context/factories/operation.mjs +18 -0
  123. package/dist/context/factories/operation.mjs.map +1 -0
  124. package/dist/context/factories/path-item.d.ts +10 -0
  125. package/dist/context/factories/path-item.d.ts.map +1 -0
  126. package/dist/context/factories/path-item.js +20 -0
  127. package/dist/context/factories/path-item.js.map +1 -0
  128. package/dist/context/factories/path-item.mjs +18 -0
  129. package/dist/context/factories/path-item.mjs.map +1 -0
  130. package/dist/context/factories/path.d.ts +10 -0
  131. package/dist/context/factories/path.d.ts.map +1 -0
  132. package/dist/context/factories/path.js +20 -0
  133. package/dist/context/factories/path.js.map +1 -0
  134. package/dist/context/factories/path.mjs +18 -0
  135. package/dist/context/factories/path.mjs.map +1 -0
  136. package/dist/context/index.d.ts +3 -0
  137. package/dist/context/index.d.ts.map +1 -0
  138. package/dist/context/types.d.ts +28 -0
  139. package/dist/context/types.d.ts.map +1 -0
  140. package/dist/exports.d.ts +35 -0
  141. package/dist/exports.d.ts.map +1 -0
  142. package/dist/exports.js +76 -0
  143. package/dist/exports.js.map +1 -0
  144. package/dist/exports.mjs +74 -0
  145. package/dist/exports.mjs.map +1 -0
  146. package/dist/generator/generator.d.ts +29 -0
  147. package/dist/generator/generator.d.ts.map +1 -0
  148. package/dist/generator/generator.js +85 -0
  149. package/dist/generator/generator.js.map +1 -0
  150. package/dist/generator/generator.mjs +83 -0
  151. package/dist/generator/generator.mjs.map +1 -0
  152. package/dist/generator/index.d.ts +3 -0
  153. package/dist/generator/index.d.ts.map +1 -0
  154. package/dist/generator/types.d.ts +12 -0
  155. package/dist/generator/types.d.ts.map +1 -0
  156. package/dist/index.d.ts +1 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +5 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/index.mjs +1 -1
  161. package/dist/post-processor/component-writer.d.ts +6 -0
  162. package/dist/post-processor/component-writer.d.ts.map +1 -0
  163. package/dist/post-processor/component-writer.js +38 -0
  164. package/dist/post-processor/component-writer.js.map +1 -0
  165. package/dist/post-processor/component-writer.mjs +17 -0
  166. package/dist/post-processor/component-writer.mjs.map +1 -0
  167. package/dist/post-processor/factory.d.ts +5 -0
  168. package/dist/post-processor/factory.d.ts.map +1 -0
  169. package/dist/post-processor/factory.js +14 -0
  170. package/dist/post-processor/factory.js.map +1 -0
  171. package/dist/post-processor/factory.mjs +12 -0
  172. package/dist/post-processor/factory.mjs.map +1 -0
  173. package/dist/post-processor/index.d.ts +4 -0
  174. package/dist/post-processor/index.d.ts.map +1 -0
  175. package/dist/post-processor/types.d.ts +5 -0
  176. package/dist/post-processor/types.d.ts.map +1 -0
  177. package/dist/pre-processor/factory.d.ts +5 -0
  178. package/dist/pre-processor/factory.d.ts.map +1 -0
  179. package/dist/pre-processor/factory.js +10 -0
  180. package/dist/pre-processor/factory.js.map +1 -0
  181. package/dist/pre-processor/factory.mjs +8 -0
  182. package/dist/pre-processor/factory.mjs.map +1 -0
  183. package/dist/pre-processor/index.d.ts +3 -0
  184. package/dist/pre-processor/index.d.ts.map +1 -0
  185. package/dist/pre-processor/types.d.ts +5 -0
  186. package/dist/pre-processor/types.d.ts.map +1 -0
  187. package/dist/registries/factory.d.ts +4 -0
  188. package/dist/registries/factory.d.ts.map +1 -0
  189. package/dist/registries/factory.js +10 -0
  190. package/dist/registries/factory.js.map +1 -0
  191. package/dist/registries/factory.mjs +8 -0
  192. package/dist/registries/factory.mjs.map +1 -0
  193. package/dist/registries/index.d.ts +3 -0
  194. package/dist/registries/index.d.ts.map +1 -0
  195. package/dist/registries/types.d.ts +3 -0
  196. package/dist/registries/types.d.ts.map +1 -0
  197. package/dist/routes/collector.d.ts +29 -0
  198. package/dist/routes/collector.d.ts.map +1 -0
  199. package/dist/routes/collector.js +40 -0
  200. package/dist/routes/collector.js.map +1 -0
  201. package/dist/routes/collector.mjs +38 -0
  202. package/dist/routes/collector.mjs.map +1 -0
  203. package/dist/routes/index.d.ts +7 -0
  204. package/dist/routes/index.d.ts.map +1 -0
  205. package/dist/routes/matcher.d.ts +25 -0
  206. package/dist/routes/matcher.d.ts.map +1 -0
  207. package/dist/routes/matcher.js +24 -0
  208. package/dist/routes/matcher.js.map +1 -0
  209. package/dist/routes/matcher.mjs +22 -0
  210. package/dist/routes/matcher.mjs.map +1 -0
  211. package/dist/routes/providers/abstract.d.ts +35 -0
  212. package/dist/routes/providers/abstract.d.ts.map +1 -0
  213. package/dist/routes/providers/abstract.js +29 -0
  214. package/dist/routes/providers/abstract.js.map +1 -0
  215. package/dist/routes/providers/abstract.mjs +27 -0
  216. package/dist/routes/providers/abstract.mjs.map +1 -0
  217. package/dist/routes/providers/admin.d.ts +6 -0
  218. package/dist/routes/providers/admin.d.ts.map +1 -0
  219. package/dist/routes/providers/admin.js +19 -0
  220. package/dist/routes/providers/admin.js.map +1 -0
  221. package/dist/routes/providers/admin.mjs +17 -0
  222. package/dist/routes/providers/admin.mjs.map +1 -0
  223. package/dist/routes/providers/api.d.ts +22 -0
  224. package/dist/routes/providers/api.d.ts.map +1 -0
  225. package/dist/routes/providers/api.js +35 -0
  226. package/dist/routes/providers/api.js.map +1 -0
  227. package/dist/routes/providers/api.mjs +33 -0
  228. package/dist/routes/providers/api.mjs.map +1 -0
  229. package/dist/routes/providers/index.d.ts +6 -0
  230. package/dist/routes/providers/index.d.ts.map +1 -0
  231. package/dist/routes/providers/plugin.d.ts +23 -0
  232. package/dist/routes/providers/plugin.d.ts.map +1 -0
  233. package/dist/routes/providers/plugin.js +37 -0
  234. package/dist/routes/providers/plugin.js.map +1 -0
  235. package/dist/routes/providers/plugin.mjs +35 -0
  236. package/dist/routes/providers/plugin.mjs.map +1 -0
  237. package/dist/routes/providers/types.d.ts +13 -0
  238. package/dist/routes/providers/types.d.ts.map +1 -0
  239. package/dist/routes/rules/index.d.ts +2 -0
  240. package/dist/routes/rules/index.d.ts.map +1 -0
  241. package/dist/routes/rules/is-of-type.d.ts +3 -0
  242. package/dist/routes/rules/is-of-type.d.ts.map +1 -0
  243. package/dist/routes/rules/is-of-type.js +8 -0
  244. package/dist/routes/rules/is-of-type.js.map +1 -0
  245. package/dist/routes/rules/is-of-type.mjs +6 -0
  246. package/dist/routes/rules/is-of-type.mjs.map +1 -0
  247. package/dist/routes/types.d.ts +6 -0
  248. package/dist/routes/types.d.ts.map +1 -0
  249. package/dist/types.d.ts +14 -0
  250. package/dist/types.d.ts.map +1 -0
  251. package/dist/utils/debug.d.ts +3 -0
  252. package/dist/utils/debug.d.ts.map +1 -0
  253. package/dist/utils/debug.js +11 -0
  254. package/dist/utils/debug.js.map +1 -0
  255. package/dist/utils/debug.mjs +9 -0
  256. package/dist/utils/debug.mjs.map +1 -0
  257. package/dist/utils/index.d.ts +4 -0
  258. package/dist/utils/index.d.ts.map +1 -0
  259. package/dist/utils/timer/factory.d.ts +5 -0
  260. package/dist/utils/timer/factory.d.ts.map +1 -0
  261. package/dist/utils/timer/factory.js +12 -0
  262. package/dist/utils/timer/factory.js.map +1 -0
  263. package/dist/utils/timer/factory.mjs +10 -0
  264. package/dist/utils/timer/factory.mjs.map +1 -0
  265. package/dist/utils/timer/index.d.ts +3 -0
  266. package/dist/utils/timer/index.d.ts.map +1 -0
  267. package/dist/utils/timer/timer.d.ts +14 -0
  268. package/dist/utils/timer/timer.d.ts.map +1 -0
  269. package/dist/utils/timer/timer.js +38 -0
  270. package/dist/utils/timer/timer.js.map +1 -0
  271. package/dist/utils/timer/timer.mjs +36 -0
  272. package/dist/utils/timer/timer.mjs.map +1 -0
  273. package/dist/utils/zod.d.ts +39 -0
  274. package/dist/utils/zod.d.ts.map +1 -0
  275. package/dist/utils/zod.js +86 -0
  276. package/dist/utils/zod.js.map +1 -0
  277. package/dist/utils/zod.mjs +64 -0
  278. package/dist/utils/zod.mjs.map +1 -0
  279. package/package.json +25 -12
@@ -0,0 +1,49 @@
1
+ import 'debug';
2
+ import { zodToOpenAPI } from '../../../../../utils/zod.mjs';
3
+
4
+ class OperationResponsesAssembler {
5
+ get _errors() {
6
+ return {
7
+ 400: {
8
+ description: 'Bad request'
9
+ },
10
+ 401: {
11
+ description: 'Unauthorized'
12
+ },
13
+ 403: {
14
+ description: 'Forbidden'
15
+ },
16
+ 404: {
17
+ description: 'Not found'
18
+ },
19
+ 500: {
20
+ description: 'Internal server error'
21
+ }
22
+ };
23
+ }
24
+ assemble(context, route) {
25
+ const { output } = context;
26
+ const responses = {
27
+ ...output.data.responses
28
+ };
29
+ // Register common error responses first to allow manual overrides
30
+ for (const [errorCode, response] of Object.entries(this._errors)){
31
+ responses[errorCode] = response;
32
+ }
33
+ if (route.response) {
34
+ const schema = zodToOpenAPI(route.response);
35
+ responses[200] = {
36
+ description: 'OK',
37
+ content: {
38
+ 'application/json': {
39
+ schema
40
+ }
41
+ }
42
+ };
43
+ }
44
+ output.data.responses = responses;
45
+ }
46
+ }
47
+
48
+ export { OperationResponsesAssembler };
49
+ //# sourceMappingURL=responses.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/responses.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { OpenAPIV3_1 } from 'openapi-types';\nimport type { Assembler } from '../../../..';\nimport type { OperationContext } from '../../../../../types';\nimport { zodToOpenAPI } from '../../../../../utils';\n\nexport class OperationResponsesAssembler implements Assembler.Operation {\n private get _errors() {\n return {\n 400: { description: 'Bad request' },\n 401: { description: 'Unauthorized' },\n 403: { description: 'Forbidden' },\n 404: { description: 'Not found' },\n 500: { description: 'Internal server error' },\n };\n }\n\n assemble(context: OperationContext, route: Core.Route): void {\n const { output } = context;\n\n const responses = { ...output.data.responses } satisfies OpenAPIV3_1.ResponsesObject;\n\n // Register common error responses first to allow manual overrides\n for (const [errorCode, response] of Object.entries(this._errors)) {\n responses[errorCode] = response;\n }\n\n if (route.response) {\n const schema = zodToOpenAPI(route.response);\n\n responses[200] = {\n description: 'OK',\n content: { 'application/json': { schema } },\n };\n }\n\n output.data.responses = responses;\n }\n}\n"],"names":["OperationResponsesAssembler","_errors","description","assemble","context","route","output","responses","data","errorCode","response","Object","entries","schema","zodToOpenAPI","content"],"mappings":";;;AAMO,MAAMA,2BAAAA,CAAAA;AACX,IAAA,IAAYC,OAAU,GAAA;QACpB,OAAO;YACL,GAAK,EAAA;gBAAEC,WAAa,EAAA;AAAc,aAAA;YAClC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAe,aAAA;YACnC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAY,aAAA;YAChC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAY,aAAA;YAChC,GAAK,EAAA;gBAAEA,WAAa,EAAA;AAAwB;AAC9C,SAAA;AACF;IAEAC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;QAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAEnB,QAAA,MAAMG,SAAY,GAAA;YAAE,GAAGD,MAAAA,CAAOE,IAAI,CAACD;AAAU,SAAA;;QAG7C,KAAK,MAAM,CAACE,SAAAA,EAAWC,QAAS,CAAA,IAAIC,MAAOC,CAAAA,OAAO,CAAC,IAAI,CAACX,OAAO,CAAG,CAAA;YAChEM,SAAS,CAACE,UAAU,GAAGC,QAAAA;AACzB;QAEA,IAAIL,KAAAA,CAAMK,QAAQ,EAAE;YAClB,MAAMG,MAAAA,GAASC,YAAaT,CAAAA,KAAAA,CAAMK,QAAQ,CAAA;YAE1CH,SAAS,CAAC,IAAI,GAAG;gBACfL,WAAa,EAAA,IAAA;gBACba,OAAS,EAAA;oBAAE,kBAAoB,EAAA;AAAEF,wBAAAA;AAAO;AAAE;AAC5C,aAAA;AACF;QAEAP,MAAOE,CAAAA,IAAI,CAACD,SAAS,GAAGA,SAAAA;AAC1B;AACF;;;;"}
@@ -0,0 +1,7 @@
1
+ import type { Core } from '@strapi/types';
2
+ import type { OperationContext } from '../../../../../types';
3
+ import type { Assembler } from '../../../..';
4
+ export declare class OperationTagsAssembler implements Assembler.Operation {
5
+ assemble(context: OperationContext, route: Core.Route): void;
6
+ }
7
+ //# sourceMappingURL=tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../../../../src/assemblers/document/path/path-item/operation/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,qBAAa,sBAAuB,YAAW,SAAS,CAAC,SAAS;IAChE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI;CAuB7D"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var debug$1 = require('../../../../../utils/debug.js');
4
+ require('node:crypto');
5
+ require('zod/v4');
6
+
7
+ const debug = debug$1.createDebugger('assembler:tags');
8
+ class OperationTagsAssembler {
9
+ assemble(context, route) {
10
+ const { method, path, info: { apiName, pluginName } } = route;
11
+ debug('assembling tags for %o %o...', method, path);
12
+ const tags = [];
13
+ if (apiName) {
14
+ tags.push(apiName);
15
+ }
16
+ if (pluginName) {
17
+ tags.push(pluginName);
18
+ }
19
+ debug('assembled %o tags for %o %o: %o', tags.length, method, path, tags);
20
+ context.output.data.tags = tags;
21
+ }
22
+ }
23
+
24
+ exports.OperationTagsAssembler = OperationTagsAssembler;
25
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sources":["../../../../../../src/assemblers/document/path/path-item/operation/tags.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:tags');\n\nexport class OperationTagsAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const {\n method,\n path,\n info: { apiName, pluginName },\n } = route;\n\n debug('assembling tags for %o %o...', method, path);\n\n const tags = [];\n\n if (apiName) {\n tags.push(apiName);\n }\n\n if (pluginName) {\n tags.push(pluginName);\n }\n\n debug('assembled %o tags for %o %o: %o', tags.length, method, path, tags);\n\n context.output.data.tags = tags;\n }\n}\n"],"names":["debug","createDebugger","OperationTagsAssembler","assemble","context","route","method","path","info","apiName","pluginName","tags","push","length","output","data"],"mappings":";;;;;;AAMA,MAAMA,QAAQC,sBAAe,CAAA,gBAAA,CAAA;AAEtB,MAAMC,sBAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EACJC,MAAM,EACNC,IAAI,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,EAC9B,GAAGL,KAAAA;AAEJL,QAAAA,KAAAA,CAAM,gCAAgCM,MAAQC,EAAAA,IAAAA,CAAAA;AAE9C,QAAA,MAAMI,OAAO,EAAE;AAEf,QAAA,IAAIF,OAAS,EAAA;AACXE,YAAAA,IAAAA,CAAKC,IAAI,CAACH,OAAAA,CAAAA;AACZ;AAEA,QAAA,IAAIC,UAAY,EAAA;AACdC,YAAAA,IAAAA,CAAKC,IAAI,CAACF,UAAAA,CAAAA;AACZ;AAEAV,QAAAA,KAAAA,CAAM,iCAAmCW,EAAAA,IAAAA,CAAKE,MAAM,EAAEP,QAAQC,IAAMI,EAAAA,IAAAA,CAAAA;AAEpEP,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACJ,IAAI,GAAGA,IAAAA;AAC7B;AACF;;;;"}
@@ -0,0 +1,23 @@
1
+ import { createDebugger } from '../../../../../utils/debug.mjs';
2
+ import 'node:crypto';
3
+ import 'zod/v4';
4
+
5
+ const debug = createDebugger('assembler:tags');
6
+ class OperationTagsAssembler {
7
+ assemble(context, route) {
8
+ const { method, path, info: { apiName, pluginName } } = route;
9
+ debug('assembling tags for %o %o...', method, path);
10
+ const tags = [];
11
+ if (apiName) {
12
+ tags.push(apiName);
13
+ }
14
+ if (pluginName) {
15
+ tags.push(pluginName);
16
+ }
17
+ debug('assembled %o tags for %o %o: %o', tags.length, method, path, tags);
18
+ context.output.data.tags = tags;
19
+ }
20
+ }
21
+
22
+ export { OperationTagsAssembler };
23
+ //# sourceMappingURL=tags.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.mjs","sources":["../../../../../../src/assemblers/document/path/path-item/operation/tags.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport type { OperationContext } from '../../../../../types';\nimport { createDebugger } from '../../../../../utils';\nimport type { Assembler } from '../../../..';\n\nconst debug = createDebugger('assembler:tags');\n\nexport class OperationTagsAssembler implements Assembler.Operation {\n assemble(context: OperationContext, route: Core.Route): void {\n const {\n method,\n path,\n info: { apiName, pluginName },\n } = route;\n\n debug('assembling tags for %o %o...', method, path);\n\n const tags = [];\n\n if (apiName) {\n tags.push(apiName);\n }\n\n if (pluginName) {\n tags.push(pluginName);\n }\n\n debug('assembled %o tags for %o %o: %o', tags.length, method, path, tags);\n\n context.output.data.tags = tags;\n }\n}\n"],"names":["debug","createDebugger","OperationTagsAssembler","assemble","context","route","method","path","info","apiName","pluginName","tags","push","length","output","data"],"mappings":";;;;AAMA,MAAMA,QAAQC,cAAe,CAAA,gBAAA,CAAA;AAEtB,MAAMC,sBAAAA,CAAAA;IACXC,QAASC,CAAAA,OAAyB,EAAEC,KAAiB,EAAQ;AAC3D,QAAA,MAAM,EACJC,MAAM,EACNC,IAAI,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,EAC9B,GAAGL,KAAAA;AAEJL,QAAAA,KAAAA,CAAM,gCAAgCM,MAAQC,EAAAA,IAAAA,CAAAA;AAE9C,QAAA,MAAMI,OAAO,EAAE;AAEf,QAAA,IAAIF,OAAS,EAAA;AACXE,YAAAA,IAAAA,CAAKC,IAAI,CAACH,OAAAA,CAAAA;AACZ;AAEA,QAAA,IAAIC,UAAY,EAAA;AACdC,YAAAA,IAAAA,CAAKC,IAAI,CAACF,UAAAA,CAAAA;AACZ;AAEAV,QAAAA,KAAAA,CAAM,iCAAmCW,EAAAA,IAAAA,CAAKE,MAAM,EAAEP,QAAQC,IAAMI,EAAAA,IAAAA,CAAAA;AAEpEP,QAAAA,OAAAA,CAAQU,MAAM,CAACC,IAAI,CAACJ,IAAI,GAAGA,IAAAA;AAC7B;AACF;;;;"}
@@ -0,0 +1,13 @@
1
+ import { PathItemContextFactory } from '../../../../context';
2
+ import type { PathContext } from '../../../../types';
3
+ import type { Assembler } from '../../..';
4
+ export declare class PathItemAssembler implements Assembler.Path {
5
+ private readonly _assemblers;
6
+ private readonly _contextFactory;
7
+ constructor(assemblers: Assembler.PathItem[], contextFactory: PathItemContextFactory);
8
+ assemble(context: PathContext): void;
9
+ private _createPathItemContext;
10
+ private _formatPath;
11
+ private _groupRoutesByPath;
12
+ }
13
+ //# sourceMappingURL=path-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-item.d.ts","sourceRoot":"","sources":["../../../../../src/assemblers/document/path/path-item/path-item.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElF,OAAO,KAAK,EAAE,WAAW,EAAwC,MAAM,mBAAmB,CAAC;AAI3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C,qBAAa,iBAAkB,YAAW,SAAS,CAAC,IAAI;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;gBAE7C,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,sBAAsB;IAKpF,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAgCpC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,kBAAkB;CAa3B"}
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var debug$1 = require('../../../../utils/debug.js');
4
+ require('node:crypto');
5
+ require('zod/v4');
6
+
7
+ const debug = debug$1.createDebugger('assembler:path-item');
8
+ class PathItemAssembler {
9
+ assemble(context) {
10
+ const { output, routes } = context;
11
+ const routesByPath = this._groupRoutesByPath(routes);
12
+ debug('grouping routes by path, found %O groups for %O routes', Object.keys(routesByPath).length, routes.length);
13
+ for (const [path, routes] of Object.entries(routesByPath)){
14
+ const openAPIPath = this._formatPath(path);
15
+ debug('assembling path item for %o (%o)...', openAPIPath, routes.map((route)=>route.method).join(', '));
16
+ const pathItemContext = this._createPathItemContext(context);
17
+ for (const assembler of this._assemblers){
18
+ debug('running assembler: %s...', assembler.constructor.name);
19
+ assembler.assemble(pathItemContext, path, routes);
20
+ }
21
+ output.data[openAPIPath] = pathItemContext.output.data;
22
+ }
23
+ }
24
+ _createPathItemContext(context) {
25
+ const initProps = {
26
+ strapi: context.strapi,
27
+ registries: context.registries,
28
+ routes: context.routes,
29
+ timer: context.timer
30
+ };
31
+ return this._contextFactory.create(initProps);
32
+ }
33
+ _formatPath(path) {
34
+ return path.replace(/:([^/]+)/g, '{$1}');
35
+ }
36
+ _groupRoutesByPath(routes) {
37
+ return routes.reduce((acc, route)=>{
38
+ const { path } = route;
39
+ if (!Array.isArray(acc[path])) {
40
+ acc[path] = [];
41
+ }
42
+ acc[path].push(route);
43
+ return acc;
44
+ }, {});
45
+ }
46
+ constructor(assemblers, contextFactory){
47
+ this._assemblers = assemblers;
48
+ this._contextFactory = contextFactory;
49
+ }
50
+ }
51
+
52
+ exports.PathItemAssembler = PathItemAssembler;
53
+ //# sourceMappingURL=path-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-item.js","sources":["../../../../../src/assemblers/document/path/path-item/path-item.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { type PartialContext, PathItemContextFactory } from '../../../../context';\n\nimport type { PathContext, PathItemContext, PathItemContextData } from '../../../../types';\n\nimport { createDebugger } from '../../../../utils';\n\nimport type { Assembler } from '../../..';\n\nconst debug = createDebugger('assembler:path-item');\n\nexport class PathItemAssembler implements Assembler.Path {\n private readonly _assemblers: Assembler.PathItem[];\n\n private readonly _contextFactory: PathItemContextFactory;\n\n constructor(assemblers: Assembler.PathItem[], contextFactory: PathItemContextFactory) {\n this._assemblers = assemblers;\n this._contextFactory = contextFactory;\n }\n\n assemble(context: PathContext): void {\n const { output, routes } = context;\n\n const routesByPath = this._groupRoutesByPath(routes);\n\n debug(\n 'grouping routes by path, found %O groups for %O routes',\n Object.keys(routesByPath).length,\n routes.length\n );\n\n for (const [path, routes] of Object.entries(routesByPath)) {\n const openAPIPath = this._formatPath(path);\n\n debug(\n 'assembling path item for %o (%o)...',\n openAPIPath,\n routes.map((route) => route.method).join(', ')\n );\n\n const pathItemContext = this._createPathItemContext(context);\n\n for (const assembler of this._assemblers) {\n debug('running assembler: %s...', assembler.constructor.name);\n\n assembler.assemble(pathItemContext, path, routes);\n }\n\n output.data[openAPIPath] = pathItemContext.output.data;\n }\n }\n\n private _createPathItemContext(context: PathContext): PathItemContext {\n const initProps: PartialContext<PathItemContextData> = {\n strapi: context.strapi,\n registries: context.registries,\n routes: context.routes,\n timer: context.timer,\n };\n\n return this._contextFactory.create(initProps);\n }\n\n private _formatPath(path: string): string {\n return path.replace(/:([^/]+)/g, '{$1}');\n }\n\n private _groupRoutesByPath(routes: Core.Route[]): Record<string, Core.Route[]> {\n return routes.reduce<Record<string, Core.Route[]>>((acc, route) => {\n const { path } = route;\n\n if (!Array.isArray(acc[path])) {\n acc[path] = [];\n }\n\n acc[path].push(route);\n\n return acc;\n }, {});\n }\n}\n"],"names":["debug","createDebugger","PathItemAssembler","assemble","context","output","routes","routesByPath","_groupRoutesByPath","Object","keys","length","path","entries","openAPIPath","_formatPath","map","route","method","join","pathItemContext","_createPathItemContext","assembler","_assemblers","constructor","name","data","initProps","strapi","registries","timer","_contextFactory","create","replace","reduce","acc","Array","isArray","push","assemblers","contextFactory"],"mappings":";;;;;;AASA,MAAMA,QAAQC,sBAAe,CAAA,qBAAA,CAAA;AAEtB,MAAMC,iBAAAA,CAAAA;AAUXC,IAAAA,QAAAA,CAASC,OAAoB,EAAQ;AACnC,QAAA,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAE3B,QAAA,MAAMG,YAAe,GAAA,IAAI,CAACC,kBAAkB,CAACF,MAAAA,CAAAA;QAE7CN,KACE,CAAA,wDAAA,EACAS,OAAOC,IAAI,CAACH,cAAcI,MAAM,EAChCL,OAAOK,MAAM,CAAA;QAGf,KAAK,MAAM,CAACC,IAAMN,EAAAA,MAAAA,CAAO,IAAIG,MAAOI,CAAAA,OAAO,CAACN,YAAe,CAAA,CAAA;AACzD,YAAA,MAAMO,WAAc,GAAA,IAAI,CAACC,WAAW,CAACH,IAAAA,CAAAA;YAErCZ,KACE,CAAA,qCAAA,EACAc,WACAR,EAAAA,MAAAA,CAAOU,GAAG,CAAC,CAACC,KAAAA,GAAUA,KAAMC,CAAAA,MAAM,CAAEC,CAAAA,IAAI,CAAC,IAAA,CAAA,CAAA;AAG3C,YAAA,MAAMC,eAAkB,GAAA,IAAI,CAACC,sBAAsB,CAACjB,OAAAA,CAAAA;AAEpD,YAAA,KAAK,MAAMkB,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxCvB,gBAAAA,KAAAA,CAAM,0BAA4BsB,EAAAA,SAAAA,CAAUE,WAAW,CAACC,IAAI,CAAA;gBAE5DH,SAAUnB,CAAAA,QAAQ,CAACiB,eAAAA,EAAiBR,IAAMN,EAAAA,MAAAA,CAAAA;AAC5C;AAEAD,YAAAA,MAAAA,CAAOqB,IAAI,CAACZ,WAAAA,CAAY,GAAGM,eAAgBf,CAAAA,MAAM,CAACqB,IAAI;AACxD;AACF;AAEQL,IAAAA,sBAAAA,CAAuBjB,OAAoB,EAAmB;AACpE,QAAA,MAAMuB,SAAiD,GAAA;AACrDC,YAAAA,MAAAA,EAAQxB,QAAQwB,MAAM;AACtBC,YAAAA,UAAAA,EAAYzB,QAAQyB,UAAU;AAC9BvB,YAAAA,MAAAA,EAAQF,QAAQE,MAAM;AACtBwB,YAAAA,KAAAA,EAAO1B,QAAQ0B;AACjB,SAAA;AAEA,QAAA,OAAO,IAAI,CAACC,eAAe,CAACC,MAAM,CAACL,SAAAA,CAAAA;AACrC;AAEQZ,IAAAA,WAAAA,CAAYH,IAAY,EAAU;QACxC,OAAOA,IAAAA,CAAKqB,OAAO,CAAC,WAAa,EAAA,MAAA,CAAA;AACnC;AAEQzB,IAAAA,kBAAAA,CAAmBF,MAAoB,EAAgC;AAC7E,QAAA,OAAOA,MAAO4B,CAAAA,MAAM,CAA+B,CAACC,GAAKlB,EAAAA,KAAAA,GAAAA;YACvD,MAAM,EAAEL,IAAI,EAAE,GAAGK,KAAAA;AAEjB,YAAA,IAAI,CAACmB,KAAMC,CAAAA,OAAO,CAACF,GAAG,CAACvB,KAAK,CAAG,EAAA;gBAC7BuB,GAAG,CAACvB,IAAK,CAAA,GAAG,EAAE;AAChB;AAEAuB,YAAAA,GAAG,CAACvB,IAAAA,CAAK,CAAC0B,IAAI,CAACrB,KAAAA,CAAAA;YAEf,OAAOkB,GAAAA;AACT,SAAA,EAAG,EAAC,CAAA;AACN;IAhEAX,WAAYe,CAAAA,UAAgC,EAAEC,cAAsC,CAAE;QACpF,IAAI,CAACjB,WAAW,GAAGgB,UAAAA;QACnB,IAAI,CAACR,eAAe,GAAGS,cAAAA;AACzB;AA8DF;;;;"}
@@ -0,0 +1,51 @@
1
+ import { createDebugger } from '../../../../utils/debug.mjs';
2
+ import 'node:crypto';
3
+ import 'zod/v4';
4
+
5
+ const debug = createDebugger('assembler:path-item');
6
+ class PathItemAssembler {
7
+ assemble(context) {
8
+ const { output, routes } = context;
9
+ const routesByPath = this._groupRoutesByPath(routes);
10
+ debug('grouping routes by path, found %O groups for %O routes', Object.keys(routesByPath).length, routes.length);
11
+ for (const [path, routes] of Object.entries(routesByPath)){
12
+ const openAPIPath = this._formatPath(path);
13
+ debug('assembling path item for %o (%o)...', openAPIPath, routes.map((route)=>route.method).join(', '));
14
+ const pathItemContext = this._createPathItemContext(context);
15
+ for (const assembler of this._assemblers){
16
+ debug('running assembler: %s...', assembler.constructor.name);
17
+ assembler.assemble(pathItemContext, path, routes);
18
+ }
19
+ output.data[openAPIPath] = pathItemContext.output.data;
20
+ }
21
+ }
22
+ _createPathItemContext(context) {
23
+ const initProps = {
24
+ strapi: context.strapi,
25
+ registries: context.registries,
26
+ routes: context.routes,
27
+ timer: context.timer
28
+ };
29
+ return this._contextFactory.create(initProps);
30
+ }
31
+ _formatPath(path) {
32
+ return path.replace(/:([^/]+)/g, '{$1}');
33
+ }
34
+ _groupRoutesByPath(routes) {
35
+ return routes.reduce((acc, route)=>{
36
+ const { path } = route;
37
+ if (!Array.isArray(acc[path])) {
38
+ acc[path] = [];
39
+ }
40
+ acc[path].push(route);
41
+ return acc;
42
+ }, {});
43
+ }
44
+ constructor(assemblers, contextFactory){
45
+ this._assemblers = assemblers;
46
+ this._contextFactory = contextFactory;
47
+ }
48
+ }
49
+
50
+ export { PathItemAssembler };
51
+ //# sourceMappingURL=path-item.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-item.mjs","sources":["../../../../../src/assemblers/document/path/path-item/path-item.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { type PartialContext, PathItemContextFactory } from '../../../../context';\n\nimport type { PathContext, PathItemContext, PathItemContextData } from '../../../../types';\n\nimport { createDebugger } from '../../../../utils';\n\nimport type { Assembler } from '../../..';\n\nconst debug = createDebugger('assembler:path-item');\n\nexport class PathItemAssembler implements Assembler.Path {\n private readonly _assemblers: Assembler.PathItem[];\n\n private readonly _contextFactory: PathItemContextFactory;\n\n constructor(assemblers: Assembler.PathItem[], contextFactory: PathItemContextFactory) {\n this._assemblers = assemblers;\n this._contextFactory = contextFactory;\n }\n\n assemble(context: PathContext): void {\n const { output, routes } = context;\n\n const routesByPath = this._groupRoutesByPath(routes);\n\n debug(\n 'grouping routes by path, found %O groups for %O routes',\n Object.keys(routesByPath).length,\n routes.length\n );\n\n for (const [path, routes] of Object.entries(routesByPath)) {\n const openAPIPath = this._formatPath(path);\n\n debug(\n 'assembling path item for %o (%o)...',\n openAPIPath,\n routes.map((route) => route.method).join(', ')\n );\n\n const pathItemContext = this._createPathItemContext(context);\n\n for (const assembler of this._assemblers) {\n debug('running assembler: %s...', assembler.constructor.name);\n\n assembler.assemble(pathItemContext, path, routes);\n }\n\n output.data[openAPIPath] = pathItemContext.output.data;\n }\n }\n\n private _createPathItemContext(context: PathContext): PathItemContext {\n const initProps: PartialContext<PathItemContextData> = {\n strapi: context.strapi,\n registries: context.registries,\n routes: context.routes,\n timer: context.timer,\n };\n\n return this._contextFactory.create(initProps);\n }\n\n private _formatPath(path: string): string {\n return path.replace(/:([^/]+)/g, '{$1}');\n }\n\n private _groupRoutesByPath(routes: Core.Route[]): Record<string, Core.Route[]> {\n return routes.reduce<Record<string, Core.Route[]>>((acc, route) => {\n const { path } = route;\n\n if (!Array.isArray(acc[path])) {\n acc[path] = [];\n }\n\n acc[path].push(route);\n\n return acc;\n }, {});\n }\n}\n"],"names":["debug","createDebugger","PathItemAssembler","assemble","context","output","routes","routesByPath","_groupRoutesByPath","Object","keys","length","path","entries","openAPIPath","_formatPath","map","route","method","join","pathItemContext","_createPathItemContext","assembler","_assemblers","constructor","name","data","initProps","strapi","registries","timer","_contextFactory","create","replace","reduce","acc","Array","isArray","push","assemblers","contextFactory"],"mappings":";;;;AASA,MAAMA,QAAQC,cAAe,CAAA,qBAAA,CAAA;AAEtB,MAAMC,iBAAAA,CAAAA;AAUXC,IAAAA,QAAAA,CAASC,OAAoB,EAAQ;AACnC,QAAA,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;AAE3B,QAAA,MAAMG,YAAe,GAAA,IAAI,CAACC,kBAAkB,CAACF,MAAAA,CAAAA;QAE7CN,KACE,CAAA,wDAAA,EACAS,OAAOC,IAAI,CAACH,cAAcI,MAAM,EAChCL,OAAOK,MAAM,CAAA;QAGf,KAAK,MAAM,CAACC,IAAMN,EAAAA,MAAAA,CAAO,IAAIG,MAAOI,CAAAA,OAAO,CAACN,YAAe,CAAA,CAAA;AACzD,YAAA,MAAMO,WAAc,GAAA,IAAI,CAACC,WAAW,CAACH,IAAAA,CAAAA;YAErCZ,KACE,CAAA,qCAAA,EACAc,WACAR,EAAAA,MAAAA,CAAOU,GAAG,CAAC,CAACC,KAAAA,GAAUA,KAAMC,CAAAA,MAAM,CAAEC,CAAAA,IAAI,CAAC,IAAA,CAAA,CAAA;AAG3C,YAAA,MAAMC,eAAkB,GAAA,IAAI,CAACC,sBAAsB,CAACjB,OAAAA,CAAAA;AAEpD,YAAA,KAAK,MAAMkB,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxCvB,gBAAAA,KAAAA,CAAM,0BAA4BsB,EAAAA,SAAAA,CAAUE,WAAW,CAACC,IAAI,CAAA;gBAE5DH,SAAUnB,CAAAA,QAAQ,CAACiB,eAAAA,EAAiBR,IAAMN,EAAAA,MAAAA,CAAAA;AAC5C;AAEAD,YAAAA,MAAAA,CAAOqB,IAAI,CAACZ,WAAAA,CAAY,GAAGM,eAAgBf,CAAAA,MAAM,CAACqB,IAAI;AACxD;AACF;AAEQL,IAAAA,sBAAAA,CAAuBjB,OAAoB,EAAmB;AACpE,QAAA,MAAMuB,SAAiD,GAAA;AACrDC,YAAAA,MAAAA,EAAQxB,QAAQwB,MAAM;AACtBC,YAAAA,UAAAA,EAAYzB,QAAQyB,UAAU;AAC9BvB,YAAAA,MAAAA,EAAQF,QAAQE,MAAM;AACtBwB,YAAAA,KAAAA,EAAO1B,QAAQ0B;AACjB,SAAA;AAEA,QAAA,OAAO,IAAI,CAACC,eAAe,CAACC,MAAM,CAACL,SAAAA,CAAAA;AACrC;AAEQZ,IAAAA,WAAAA,CAAYH,IAAY,EAAU;QACxC,OAAOA,IAAAA,CAAKqB,OAAO,CAAC,WAAa,EAAA,MAAA,CAAA;AACnC;AAEQzB,IAAAA,kBAAAA,CAAmBF,MAAoB,EAAgC;AAC7E,QAAA,OAAOA,MAAO4B,CAAAA,MAAM,CAA+B,CAACC,GAAKlB,EAAAA,KAAAA,GAAAA;YACvD,MAAM,EAAEL,IAAI,EAAE,GAAGK,KAAAA;AAEjB,YAAA,IAAI,CAACmB,KAAMC,CAAAA,OAAO,CAACF,GAAG,CAACvB,KAAK,CAAG,EAAA;gBAC7BuB,GAAG,CAACvB,IAAK,CAAA,GAAG,EAAE;AAChB;AAEAuB,YAAAA,GAAG,CAACvB,IAAAA,CAAK,CAAC0B,IAAI,CAACrB,KAAAA,CAAAA;YAEf,OAAOkB,GAAAA;AACT,SAAA,EAAG,EAAC,CAAA;AACN;IAhEAX,WAAYe,CAAAA,UAAgC,EAAEC,cAAsC,CAAE;QACpF,IAAI,CAACjB,WAAW,GAAGgB,UAAAA;QACnB,IAAI,CAACR,eAAe,GAAGS,cAAAA;AACzB;AA8DF;;;;"}
@@ -0,0 +1,10 @@
1
+ import { PathContextFactory } from '../../../context';
2
+ import type { DocumentContext } from '../../../types';
3
+ import type { Assembler } from '../..';
4
+ export declare class DocumentPathsAssembler implements Assembler.Assembler {
5
+ private readonly _assemblers;
6
+ private readonly _contextFactory;
7
+ constructor(assemblers: Assembler.Path[], _contextFactory: PathContextFactory);
8
+ assemble(context: DocumentContext): void;
9
+ }
10
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/assemblers/document/path/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,qBAAa,sBAAuB,YAAW,SAAS,CAAC,SAAS;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAE/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;gBAEzC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,kBAAkB;IAK7E,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAkBzC"}
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var debug$1 = require('../../../utils/debug.js');
4
+ require('node:crypto');
5
+ require('zod/v4');
6
+
7
+ const debug = debug$1.createDebugger('assembler:paths');
8
+ class DocumentPathsAssembler {
9
+ assemble(context) {
10
+ const { output, ...defaultContextProps } = context;
11
+ debug(`assembling document's paths for %O routes...`, defaultContextProps.routes.length);
12
+ const pathContext = this._contextFactory.create(defaultContextProps);
13
+ for (const assembler of this._assemblers){
14
+ assembler.assemble(pathContext);
15
+ }
16
+ const { data: pathsObject } = pathContext.output;
17
+ const nbUniquePaths = Object.keys(pathsObject).length;
18
+ debug(`document's paths assembled, added %O unique paths`, nbUniquePaths);
19
+ output.data.paths = pathsObject;
20
+ }
21
+ constructor(assemblers, _contextFactory){
22
+ this._assemblers = assemblers;
23
+ this._contextFactory = _contextFactory;
24
+ }
25
+ }
26
+
27
+ exports.DocumentPathsAssembler = DocumentPathsAssembler;
28
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sources":["../../../../src/assemblers/document/path/path.ts"],"sourcesContent":["import { PathContextFactory } from '../../../context';\n\nimport type { DocumentContext } from '../../../types';\n\nimport { createDebugger } from '../../../utils';\n\nimport type { Assembler } from '../..';\n\nconst debug = createDebugger('assembler:paths');\n\nexport class DocumentPathsAssembler implements Assembler.Assembler {\n private readonly _assemblers: Assembler.Path[];\n\n private readonly _contextFactory: PathContextFactory;\n\n constructor(assemblers: Assembler.Path[], _contextFactory: PathContextFactory) {\n this._assemblers = assemblers;\n this._contextFactory = _contextFactory;\n }\n\n assemble(context: DocumentContext): void {\n const { output, ...defaultContextProps } = context;\n\n debug(`assembling document's paths for %O routes...`, defaultContextProps.routes.length);\n\n const pathContext = this._contextFactory.create(defaultContextProps);\n\n for (const assembler of this._assemblers) {\n assembler.assemble(pathContext);\n }\n\n const { data: pathsObject } = pathContext.output;\n const nbUniquePaths = Object.keys(pathsObject).length;\n\n debug(`document's paths assembled, added %O unique paths`, nbUniquePaths);\n\n output.data.paths = pathsObject;\n }\n}\n"],"names":["debug","createDebugger","DocumentPathsAssembler","assemble","context","output","defaultContextProps","routes","length","pathContext","_contextFactory","create","assembler","_assemblers","data","pathsObject","nbUniquePaths","Object","keys","paths","constructor","assemblers"],"mappings":";;;;;;AAQA,MAAMA,QAAQC,sBAAe,CAAA,iBAAA,CAAA;AAEtB,MAAMC,sBAAAA,CAAAA;AAUXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;AACvC,QAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,qBAAqB,GAAGF,OAAAA;AAE3CJ,QAAAA,KAAAA,CAAM,CAAC,4CAA4C,CAAC,EAAEM,mBAAoBC,CAAAA,MAAM,CAACC,MAAM,CAAA;AAEvF,QAAA,MAAMC,cAAc,IAAI,CAACC,eAAe,CAACC,MAAM,CAACL,mBAAAA,CAAAA;AAEhD,QAAA,KAAK,MAAMM,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxCD,YAAAA,SAAAA,CAAUT,QAAQ,CAACM,WAAAA,CAAAA;AACrB;AAEA,QAAA,MAAM,EAAEK,IAAMC,EAAAA,WAAW,EAAE,GAAGN,YAAYJ,MAAM;AAChD,QAAA,MAAMW,aAAgBC,GAAAA,MAAAA,CAAOC,IAAI,CAACH,aAAaP,MAAM;QAErDR,KAAM,CAAA,CAAC,iDAAiD,CAAC,EAAEgB,aAAAA,CAAAA;QAE3DX,MAAOS,CAAAA,IAAI,CAACK,KAAK,GAAGJ,WAAAA;AACtB;IAtBAK,WAAYC,CAAAA,UAA4B,EAAEX,eAAmC,CAAE;QAC7E,IAAI,CAACG,WAAW,GAAGQ,UAAAA;QACnB,IAAI,CAACX,eAAe,GAAGA,eAAAA;AACzB;AAoBF;;;;"}
@@ -0,0 +1,26 @@
1
+ import { createDebugger } from '../../../utils/debug.mjs';
2
+ import 'node:crypto';
3
+ import 'zod/v4';
4
+
5
+ const debug = createDebugger('assembler:paths');
6
+ class DocumentPathsAssembler {
7
+ assemble(context) {
8
+ const { output, ...defaultContextProps } = context;
9
+ debug(`assembling document's paths for %O routes...`, defaultContextProps.routes.length);
10
+ const pathContext = this._contextFactory.create(defaultContextProps);
11
+ for (const assembler of this._assemblers){
12
+ assembler.assemble(pathContext);
13
+ }
14
+ const { data: pathsObject } = pathContext.output;
15
+ const nbUniquePaths = Object.keys(pathsObject).length;
16
+ debug(`document's paths assembled, added %O unique paths`, nbUniquePaths);
17
+ output.data.paths = pathsObject;
18
+ }
19
+ constructor(assemblers, _contextFactory){
20
+ this._assemblers = assemblers;
21
+ this._contextFactory = _contextFactory;
22
+ }
23
+ }
24
+
25
+ export { DocumentPathsAssembler };
26
+ //# sourceMappingURL=path.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.mjs","sources":["../../../../src/assemblers/document/path/path.ts"],"sourcesContent":["import { PathContextFactory } from '../../../context';\n\nimport type { DocumentContext } from '../../../types';\n\nimport { createDebugger } from '../../../utils';\n\nimport type { Assembler } from '../..';\n\nconst debug = createDebugger('assembler:paths');\n\nexport class DocumentPathsAssembler implements Assembler.Assembler {\n private readonly _assemblers: Assembler.Path[];\n\n private readonly _contextFactory: PathContextFactory;\n\n constructor(assemblers: Assembler.Path[], _contextFactory: PathContextFactory) {\n this._assemblers = assemblers;\n this._contextFactory = _contextFactory;\n }\n\n assemble(context: DocumentContext): void {\n const { output, ...defaultContextProps } = context;\n\n debug(`assembling document's paths for %O routes...`, defaultContextProps.routes.length);\n\n const pathContext = this._contextFactory.create(defaultContextProps);\n\n for (const assembler of this._assemblers) {\n assembler.assemble(pathContext);\n }\n\n const { data: pathsObject } = pathContext.output;\n const nbUniquePaths = Object.keys(pathsObject).length;\n\n debug(`document's paths assembled, added %O unique paths`, nbUniquePaths);\n\n output.data.paths = pathsObject;\n }\n}\n"],"names":["debug","createDebugger","DocumentPathsAssembler","assemble","context","output","defaultContextProps","routes","length","pathContext","_contextFactory","create","assembler","_assemblers","data","pathsObject","nbUniquePaths","Object","keys","paths","constructor","assemblers"],"mappings":";;;;AAQA,MAAMA,QAAQC,cAAe,CAAA,iBAAA,CAAA;AAEtB,MAAMC,sBAAAA,CAAAA;AAUXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;AACvC,QAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,qBAAqB,GAAGF,OAAAA;AAE3CJ,QAAAA,KAAAA,CAAM,CAAC,4CAA4C,CAAC,EAAEM,mBAAoBC,CAAAA,MAAM,CAACC,MAAM,CAAA;AAEvF,QAAA,MAAMC,cAAc,IAAI,CAACC,eAAe,CAACC,MAAM,CAACL,mBAAAA,CAAAA;AAEhD,QAAA,KAAK,MAAMM,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxCD,YAAAA,SAAAA,CAAUT,QAAQ,CAACM,WAAAA,CAAAA;AACrB;AAEA,QAAA,MAAM,EAAEK,IAAMC,EAAAA,WAAW,EAAE,GAAGN,YAAYJ,MAAM;AAChD,QAAA,MAAMW,aAAgBC,GAAAA,MAAAA,CAAOC,IAAI,CAACH,aAAaP,MAAM;QAErDR,KAAM,CAAA,CAAC,iDAAiD,CAAC,EAAEgB,aAAAA,CAAAA;QAE3DX,MAAOS,CAAAA,IAAI,CAACK,KAAK,GAAGJ,WAAAA;AACtB;IAtBAK,WAAYC,CAAAA,UAA4B,EAAEX,eAAmC,CAAE;QAC7E,IAAI,CAACG,WAAW,GAAGQ,UAAAA;QACnB,IAAI,CAACX,eAAe,GAAGA,eAAAA;AACzB;AAoBF;;;;"}
@@ -0,0 +1,3 @@
1
+ export * from './document';
2
+ export type * as Assembler from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assemblers/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,YAAY,KAAK,SAAS,MAAM,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Core } from '@strapi/types';
2
+ import type { DocumentContext, OperationContext, PathContext, PathItemContext } from '../types';
3
+ export interface Assembler {
4
+ assemble(...args: any[]): void;
5
+ }
6
+ export interface Document extends Assembler {
7
+ assemble(context: DocumentContext): void;
8
+ }
9
+ export interface Path extends Assembler {
10
+ assemble(context: PathContext): void;
11
+ }
12
+ export interface PathItem extends Assembler {
13
+ assemble(context: PathItemContext, path: string, routes: Core.Route[]): void;
14
+ }
15
+ export interface Operation extends Assembler {
16
+ assemble(context: OperationContext, route: Core.Route): void;
17
+ }
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/assemblers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,IAAK,SAAQ,SAAS;IACrC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;CAC9E;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;CAC9D"}
@@ -0,0 +1,3 @@
1
+ export declare const DEBUG_NAMESPACE = "strapi:core:openapi";
2
+ export declare const REGEX_STRAPI_PATH_PARAMS: RegExp;
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,wBAAwB,CAAC;AACrD,eAAO,MAAM,wBAAwB,QAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ const DEBUG_NAMESPACE = 'strapi:core:openapi';
4
+ const REGEX_STRAPI_PATH_PARAMS = /:([^/]+)/g;
5
+
6
+ exports.DEBUG_NAMESPACE = DEBUG_NAMESPACE;
7
+ exports.REGEX_STRAPI_PATH_PARAMS = REGEX_STRAPI_PATH_PARAMS;
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export const DEBUG_NAMESPACE = 'strapi:core:openapi';\nexport const REGEX_STRAPI_PATH_PARAMS = /:([^/]+)/g;\n"],"names":["DEBUG_NAMESPACE","REGEX_STRAPI_PATH_PARAMS"],"mappings":";;AAAO,MAAMA,kBAAkB;AACxB,MAAMC,2BAA2B;;;;;"}
@@ -0,0 +1,5 @@
1
+ const DEBUG_NAMESPACE = 'strapi:core:openapi';
2
+ const REGEX_STRAPI_PATH_PARAMS = /:([^/]+)/g;
3
+
4
+ export { DEBUG_NAMESPACE, REGEX_STRAPI_PATH_PARAMS };
5
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../src/constants.ts"],"sourcesContent":["export const DEBUG_NAMESPACE = 'strapi:core:openapi';\nexport const REGEX_STRAPI_PATH_PARAMS = /:([^/]+)/g;\n"],"names":["DEBUG_NAMESPACE","REGEX_STRAPI_PATH_PARAMS"],"mappings":"AAAO,MAAMA,kBAAkB;AACxB,MAAMC,2BAA2B;;;;"}
@@ -0,0 +1,11 @@
1
+ import type { RegistriesFactory } from '../../registries';
2
+ import type { TimerFactory } from '../../utils';
3
+ import type { Context, ContextFactory, ContextOutput, PartialContext } from '../types';
4
+ export declare abstract class AbstractContextFactory<T> implements ContextFactory<T> {
5
+ private readonly _registriesFactory;
6
+ private readonly _timerFactory;
7
+ protected constructor(registriesFactory: RegistriesFactory, timerFactory: TimerFactory);
8
+ create(context: PartialContext<T>, defaultValue: T): Context<T>;
9
+ protected createDefaultOutput(data: T): ContextOutput<T>;
10
+ }
11
+ //# sourceMappingURL=abstract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/context/factories/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEvF,8BAAsB,sBAAsB,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAEvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C,SAAS,aAAa,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY;IAK/E,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAatE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;CAMzD"}
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ class AbstractContextFactory {
4
+ create(context, defaultValue) {
5
+ const { strapi, routes } = context;
6
+ // Allow overrides to share registries and timer in case the context is used in sub-assemblers
7
+ const timer = context.timer ?? this._timerFactory.create();
8
+ const registries = context.registries ?? this._registriesFactory.createAll();
9
+ // Default output initialized with the given default value
10
+ const output = this.createDefaultOutput(defaultValue);
11
+ return {
12
+ strapi,
13
+ routes,
14
+ timer,
15
+ registries,
16
+ output
17
+ };
18
+ }
19
+ createDefaultOutput(data) {
20
+ return {
21
+ stats: {
22
+ time: {
23
+ startTime: 0,
24
+ endTime: 0,
25
+ elapsedTime: 0
26
+ }
27
+ },
28
+ data
29
+ };
30
+ }
31
+ constructor(registriesFactory, timerFactory){
32
+ this._registriesFactory = registriesFactory;
33
+ this._timerFactory = timerFactory;
34
+ }
35
+ }
36
+
37
+ exports.AbstractContextFactory = AbstractContextFactory;
38
+ //# sourceMappingURL=abstract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.js","sources":["../../../src/context/factories/abstract.ts"],"sourcesContent":["import type { RegistriesFactory } from '../../registries';\nimport type { TimerFactory } from '../../utils';\n\nimport type { Context, ContextFactory, ContextOutput, PartialContext } from '../types';\n\nexport abstract class AbstractContextFactory<T> implements ContextFactory<T> {\n private readonly _registriesFactory: RegistriesFactory;\n\n private readonly _timerFactory: TimerFactory;\n\n protected constructor(registriesFactory: RegistriesFactory, timerFactory: TimerFactory) {\n this._registriesFactory = registriesFactory;\n this._timerFactory = timerFactory;\n }\n\n public create(context: PartialContext<T>, defaultValue: T): Context<T> {\n const { strapi, routes } = context;\n\n // Allow overrides to share registries and timer in case the context is used in sub-assemblers\n const timer = context.timer ?? this._timerFactory.create();\n const registries = context.registries ?? this._registriesFactory.createAll();\n\n // Default output initialized with the given default value\n const output = this.createDefaultOutput(defaultValue);\n\n return { strapi, routes, timer, registries, output };\n }\n\n protected createDefaultOutput(data: T): ContextOutput<T> {\n return {\n stats: { time: { startTime: 0, endTime: 0, elapsedTime: 0 } },\n data,\n };\n }\n}\n"],"names":["AbstractContextFactory","create","context","defaultValue","strapi","routes","timer","_timerFactory","registries","_registriesFactory","createAll","output","createDefaultOutput","data","stats","time","startTime","endTime","elapsedTime","registriesFactory","timerFactory"],"mappings":";;AAKO,MAAeA,sBAAAA,CAAAA;IAUbC,MAAOC,CAAAA,OAA0B,EAAEC,YAAe,EAAc;AACrE,QAAA,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGH,OAAAA;;QAG3B,MAAMI,KAAAA,GAAQJ,QAAQI,KAAK,IAAI,IAAI,CAACC,aAAa,CAACN,MAAM,EAAA;QACxD,MAAMO,UAAAA,GAAaN,QAAQM,UAAU,IAAI,IAAI,CAACC,kBAAkB,CAACC,SAAS,EAAA;;AAG1E,QAAA,MAAMC,MAAS,GAAA,IAAI,CAACC,mBAAmB,CAACT,YAAAA,CAAAA;QAExC,OAAO;AAAEC,YAAAA,MAAAA;AAAQC,YAAAA,MAAAA;AAAQC,YAAAA,KAAAA;AAAOE,YAAAA,UAAAA;AAAYG,YAAAA;AAAO,SAAA;AACrD;AAEUC,IAAAA,mBAAAA,CAAoBC,IAAO,EAAoB;QACvD,OAAO;YACLC,KAAO,EAAA;gBAAEC,IAAM,EAAA;oBAAEC,SAAW,EAAA,CAAA;oBAAGC,OAAS,EAAA,CAAA;oBAAGC,WAAa,EAAA;AAAE;AAAE,aAAA;AAC5DL,YAAAA;AACF,SAAA;AACF;IAvBA,WAAsBM,CAAAA,iBAAoC,EAAEC,YAA0B,CAAE;QACtF,IAAI,CAACX,kBAAkB,GAAGU,iBAAAA;QAC1B,IAAI,CAACZ,aAAa,GAAGa,YAAAA;AACvB;AAqBF;;;;"}
@@ -0,0 +1,36 @@
1
+ class AbstractContextFactory {
2
+ create(context, defaultValue) {
3
+ const { strapi, routes } = context;
4
+ // Allow overrides to share registries and timer in case the context is used in sub-assemblers
5
+ const timer = context.timer ?? this._timerFactory.create();
6
+ const registries = context.registries ?? this._registriesFactory.createAll();
7
+ // Default output initialized with the given default value
8
+ const output = this.createDefaultOutput(defaultValue);
9
+ return {
10
+ strapi,
11
+ routes,
12
+ timer,
13
+ registries,
14
+ output
15
+ };
16
+ }
17
+ createDefaultOutput(data) {
18
+ return {
19
+ stats: {
20
+ time: {
21
+ startTime: 0,
22
+ endTime: 0,
23
+ elapsedTime: 0
24
+ }
25
+ },
26
+ data
27
+ };
28
+ }
29
+ constructor(registriesFactory, timerFactory){
30
+ this._registriesFactory = registriesFactory;
31
+ this._timerFactory = timerFactory;
32
+ }
33
+ }
34
+
35
+ export { AbstractContextFactory };
36
+ //# sourceMappingURL=abstract.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.mjs","sources":["../../../src/context/factories/abstract.ts"],"sourcesContent":["import type { RegistriesFactory } from '../../registries';\nimport type { TimerFactory } from '../../utils';\n\nimport type { Context, ContextFactory, ContextOutput, PartialContext } from '../types';\n\nexport abstract class AbstractContextFactory<T> implements ContextFactory<T> {\n private readonly _registriesFactory: RegistriesFactory;\n\n private readonly _timerFactory: TimerFactory;\n\n protected constructor(registriesFactory: RegistriesFactory, timerFactory: TimerFactory) {\n this._registriesFactory = registriesFactory;\n this._timerFactory = timerFactory;\n }\n\n public create(context: PartialContext<T>, defaultValue: T): Context<T> {\n const { strapi, routes } = context;\n\n // Allow overrides to share registries and timer in case the context is used in sub-assemblers\n const timer = context.timer ?? this._timerFactory.create();\n const registries = context.registries ?? this._registriesFactory.createAll();\n\n // Default output initialized with the given default value\n const output = this.createDefaultOutput(defaultValue);\n\n return { strapi, routes, timer, registries, output };\n }\n\n protected createDefaultOutput(data: T): ContextOutput<T> {\n return {\n stats: { time: { startTime: 0, endTime: 0, elapsedTime: 0 } },\n data,\n };\n }\n}\n"],"names":["AbstractContextFactory","create","context","defaultValue","strapi","routes","timer","_timerFactory","registries","_registriesFactory","createAll","output","createDefaultOutput","data","stats","time","startTime","endTime","elapsedTime","registriesFactory","timerFactory"],"mappings":"AAKO,MAAeA,sBAAAA,CAAAA;IAUbC,MAAOC,CAAAA,OAA0B,EAAEC,YAAe,EAAc;AACrE,QAAA,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGH,OAAAA;;QAG3B,MAAMI,KAAAA,GAAQJ,QAAQI,KAAK,IAAI,IAAI,CAACC,aAAa,CAACN,MAAM,EAAA;QACxD,MAAMO,UAAAA,GAAaN,QAAQM,UAAU,IAAI,IAAI,CAACC,kBAAkB,CAACC,SAAS,EAAA;;AAG1E,QAAA,MAAMC,MAAS,GAAA,IAAI,CAACC,mBAAmB,CAACT,YAAAA,CAAAA;QAExC,OAAO;AAAEC,YAAAA,MAAAA;AAAQC,YAAAA,MAAAA;AAAQC,YAAAA,KAAAA;AAAOE,YAAAA,UAAAA;AAAYG,YAAAA;AAAO,SAAA;AACrD;AAEUC,IAAAA,mBAAAA,CAAoBC,IAAO,EAAoB;QACvD,OAAO;YACLC,KAAO,EAAA;gBAAEC,IAAM,EAAA;oBAAEC,SAAW,EAAA,CAAA;oBAAGC,OAAS,EAAA,CAAA;oBAAGC,WAAa,EAAA;AAAE;AAAE,aAAA;AAC5DL,YAAAA;AACF,SAAA;AACF;IAvBA,WAAsBM,CAAAA,iBAAoC,EAAEC,YAA0B,CAAE;QACtF,IAAI,CAACX,kBAAkB,GAAGU,iBAAAA;QAC1B,IAAI,CAACZ,aAAa,GAAGa,YAAAA;AACvB;AAqBF;;;;"}
@@ -0,0 +1,11 @@
1
+ import type { OpenAPIV3_1 } from 'openapi-types';
2
+ import { RegistriesFactory } from '../../registries';
3
+ import type { DocumentContext, DocumentContextData } from '../../types';
4
+ import { TimerFactory } from '../../utils';
5
+ import type { PartialContext } from '../types';
6
+ import { AbstractContextFactory } from './abstract';
7
+ export declare class DocumentContextFactory extends AbstractContextFactory<Partial<OpenAPIV3_1.Document>> {
8
+ constructor(registriesFactory?: RegistriesFactory, timerFactory?: TimerFactory);
9
+ create(context: PartialContext<DocumentContextData>): DocumentContext;
10
+ }
11
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/context/factories/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,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;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,sBAAuB,SAAQ,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAE7F,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/v4');
8
+ var abstract = require('./abstract.js');
9
+
10
+ class DocumentContextFactory 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.DocumentContextFactory = DocumentContextFactory;
20
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sources":["../../../src/context/factories/document.ts"],"sourcesContent":["import type { OpenAPIV3_1 } from 'openapi-types';\nimport { RegistriesFactory } from '../../registries';\n\nimport type { DocumentContext, DocumentContextData } from '../../types';\nimport { TimerFactory } from '../../utils';\nimport type { PartialContext } from '../types';\n\nimport { AbstractContextFactory } from './abstract';\n\nexport class DocumentContextFactory extends AbstractContextFactory<Partial<OpenAPIV3_1.Document>> {\n constructor(\n registriesFactory: RegistriesFactory = new RegistriesFactory(),\n timerFactory: TimerFactory = new TimerFactory()\n ) {\n super(registriesFactory, timerFactory);\n }\n\n create(context: PartialContext<DocumentContextData>): DocumentContext {\n return super.create(context, {});\n }\n}\n"],"names":["DocumentContextFactory","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/v4';
6
+ import { AbstractContextFactory } from './abstract.mjs';
7
+
8
+ class DocumentContextFactory 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 { DocumentContextFactory };
18
+ //# sourceMappingURL=document.mjs.map