@strapi/core 0.0.0-experimental.8294852592c0a1fb061c5d3576327fa0e80bab5b → 0.0.0-experimental.8f5736f39974781dca58cef1d1dea9d54580fbf1

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (843) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +195 -211
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +165 -201
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/configuration/config-loader.d.ts.map +1 -1
  9. package/dist/configuration/config-loader.js +9 -5
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +9 -5
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.d.ts +10 -0
  14. package/dist/configuration/get-dirs.d.ts.map +1 -0
  15. package/dist/{utils → configuration}/get-dirs.js +3 -2
  16. package/dist/configuration/get-dirs.js.map +1 -0
  17. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  18. package/dist/configuration/get-dirs.mjs.map +1 -0
  19. package/dist/configuration/index.d.ts +4 -7
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +12 -10
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +6 -5
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/configuration/urls.d.ts +8 -0
  26. package/dist/configuration/urls.d.ts.map +1 -0
  27. package/dist/configuration/urls.js +68 -0
  28. package/dist/configuration/urls.js.map +1 -0
  29. package/dist/configuration/urls.mjs +66 -0
  30. package/dist/configuration/urls.mjs.map +1 -0
  31. package/dist/container.d.ts +2 -2
  32. package/dist/container.d.ts.map +1 -1
  33. package/dist/container.js.map +1 -1
  34. package/dist/container.mjs.map +1 -1
  35. package/dist/core-api/controller/collection-type.d.ts +3 -3
  36. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  37. package/dist/core-api/controller/collection-type.js +6 -3
  38. package/dist/core-api/controller/collection-type.js.map +1 -1
  39. package/dist/core-api/controller/collection-type.mjs +3 -0
  40. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  41. package/dist/core-api/controller/index.d.ts +3 -3
  42. package/dist/core-api/controller/index.d.ts.map +1 -1
  43. package/dist/core-api/controller/index.js +13 -8
  44. package/dist/core-api/controller/index.js.map +1 -1
  45. package/dist/core-api/controller/index.mjs +12 -7
  46. package/dist/core-api/controller/index.mjs.map +1 -1
  47. package/dist/core-api/controller/single-type.d.ts +3 -3
  48. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  49. package/dist/core-api/controller/single-type.js +3 -2
  50. package/dist/core-api/controller/single-type.js.map +1 -1
  51. package/dist/core-api/controller/single-type.mjs +1 -0
  52. package/dist/core-api/controller/single-type.mjs.map +1 -1
  53. package/dist/core-api/controller/transform.d.ts +10 -9
  54. package/dist/core-api/controller/transform.d.ts.map +1 -1
  55. package/dist/core-api/controller/transform.js +25 -19
  56. package/dist/core-api/controller/transform.js.map +1 -1
  57. package/dist/core-api/controller/transform.mjs +19 -13
  58. package/dist/core-api/controller/transform.mjs.map +1 -1
  59. package/dist/core-api/routes/index.d.ts.map +1 -1
  60. package/dist/core-api/service/collection-type.d.ts +11 -17
  61. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  62. package/dist/core-api/service/collection-type.js +18 -7
  63. package/dist/core-api/service/collection-type.js.map +1 -1
  64. package/dist/core-api/service/collection-type.mjs +19 -8
  65. package/dist/core-api/service/collection-type.mjs.map +1 -1
  66. package/dist/core-api/service/index.d.ts +3 -3
  67. package/dist/core-api/service/index.d.ts.map +1 -1
  68. package/dist/core-api/service/index.js.map +1 -1
  69. package/dist/core-api/service/index.mjs.map +1 -1
  70. package/dist/core-api/service/pagination.d.ts +4 -11
  71. package/dist/core-api/service/pagination.d.ts.map +1 -1
  72. package/dist/core-api/service/pagination.js +18 -44
  73. package/dist/core-api/service/pagination.js.map +1 -1
  74. package/dist/core-api/service/pagination.mjs +16 -42
  75. package/dist/core-api/service/pagination.mjs.map +1 -1
  76. package/dist/core-api/service/single-type.d.ts +5 -5
  77. package/dist/core-api/service/single-type.d.ts.map +1 -1
  78. package/dist/core-api/service/single-type.js +12 -6
  79. package/dist/core-api/service/single-type.js.map +1 -1
  80. package/dist/core-api/service/single-type.mjs +12 -6
  81. package/dist/core-api/service/single-type.mjs.map +1 -1
  82. package/dist/domain/content-type/index.d.ts +1 -1
  83. package/dist/domain/content-type/index.d.ts.map +1 -1
  84. package/dist/domain/content-type/index.js +7 -4
  85. package/dist/domain/content-type/index.js.map +1 -1
  86. package/dist/domain/content-type/index.mjs +3 -0
  87. package/dist/domain/content-type/index.mjs.map +1 -1
  88. package/dist/domain/content-type/validator.d.ts.map +1 -1
  89. package/dist/domain/content-type/validator.js +1 -1
  90. package/dist/domain/content-type/validator.js.map +1 -1
  91. package/dist/domain/content-type/validator.mjs +2 -2
  92. package/dist/domain/content-type/validator.mjs.map +1 -1
  93. package/dist/domain/module/index.d.ts +24 -23
  94. package/dist/domain/module/index.d.ts.map +1 -1
  95. package/dist/domain/module/index.js +3 -3
  96. package/dist/domain/module/index.js.map +1 -1
  97. package/dist/domain/module/index.mjs +4 -4
  98. package/dist/domain/module/index.mjs.map +1 -1
  99. package/dist/ee/index.d.ts +4 -2
  100. package/dist/ee/index.d.ts.map +1 -1
  101. package/dist/ee/index.js +3 -3
  102. package/dist/ee/index.js.map +1 -1
  103. package/dist/ee/index.mjs.map +1 -1
  104. package/dist/ee/license.d.ts +2 -2
  105. package/dist/ee/license.d.ts.map +1 -1
  106. package/dist/ee/license.js +2 -1
  107. package/dist/ee/license.js.map +1 -1
  108. package/dist/ee/license.mjs +2 -1
  109. package/dist/ee/license.mjs.map +1 -1
  110. package/dist/factories.d.ts +10 -10
  111. package/dist/factories.d.ts.map +1 -1
  112. package/dist/factories.js +10 -6
  113. package/dist/factories.js.map +1 -1
  114. package/dist/factories.mjs +6 -2
  115. package/dist/factories.mjs.map +1 -1
  116. package/dist/index.d.ts +18 -2
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +25 -1
  119. package/dist/index.js.map +1 -1
  120. package/dist/index.mjs +27 -3
  121. package/dist/index.mjs.map +1 -1
  122. package/dist/loaders/admin.d.ts +2 -2
  123. package/dist/loaders/admin.d.ts.map +1 -1
  124. package/dist/loaders/admin.js +0 -1
  125. package/dist/loaders/admin.js.map +1 -1
  126. package/dist/loaders/admin.mjs +0 -1
  127. package/dist/loaders/admin.mjs.map +1 -1
  128. package/dist/loaders/apis.d.ts +2 -2
  129. package/dist/loaders/apis.d.ts.map +1 -1
  130. package/dist/loaders/apis.js +13 -13
  131. package/dist/loaders/apis.js.map +1 -1
  132. package/dist/loaders/apis.mjs +12 -12
  133. package/dist/loaders/apis.mjs.map +1 -1
  134. package/dist/loaders/components.d.ts +2 -2
  135. package/dist/loaders/components.d.ts.map +1 -1
  136. package/dist/loaders/components.js.map +1 -1
  137. package/dist/loaders/components.mjs.map +1 -1
  138. package/dist/loaders/index.d.ts +2 -2
  139. package/dist/loaders/index.d.ts.map +1 -1
  140. package/dist/loaders/index.js +0 -2
  141. package/dist/loaders/index.js.map +1 -1
  142. package/dist/loaders/index.mjs +0 -2
  143. package/dist/loaders/index.mjs.map +1 -1
  144. package/dist/loaders/middlewares.d.ts +2 -2
  145. package/dist/loaders/middlewares.d.ts.map +1 -1
  146. package/dist/loaders/middlewares.js.map +1 -1
  147. package/dist/loaders/middlewares.mjs.map +1 -1
  148. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  149. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  150. package/dist/loaders/plugins/get-enabled-plugins.js +47 -17
  151. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  152. package/dist/loaders/plugins/get-enabled-plugins.mjs +18 -10
  153. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  154. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  155. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  156. package/dist/loaders/plugins/index.d.ts +2 -2
  157. package/dist/loaders/plugins/index.d.ts.map +1 -1
  158. package/dist/loaders/plugins/index.js +34 -7
  159. package/dist/loaders/plugins/index.js.map +1 -1
  160. package/dist/loaders/plugins/index.mjs +9 -1
  161. package/dist/loaders/plugins/index.mjs.map +1 -1
  162. package/dist/loaders/policies.d.ts +2 -2
  163. package/dist/loaders/policies.d.ts.map +1 -1
  164. package/dist/loaders/policies.js.map +1 -1
  165. package/dist/loaders/policies.mjs.map +1 -1
  166. package/dist/loaders/sanitizers.d.ts +2 -2
  167. package/dist/loaders/sanitizers.d.ts.map +1 -1
  168. package/dist/loaders/sanitizers.js.map +1 -1
  169. package/dist/loaders/sanitizers.mjs.map +1 -1
  170. package/dist/loaders/src-index.d.ts +2 -2
  171. package/dist/loaders/src-index.d.ts.map +1 -1
  172. package/dist/loaders/src-index.js.map +1 -1
  173. package/dist/loaders/src-index.mjs.map +1 -1
  174. package/dist/loaders/validators.d.ts +2 -2
  175. package/dist/loaders/validators.d.ts.map +1 -1
  176. package/dist/loaders/validators.js.map +1 -1
  177. package/dist/loaders/validators.mjs.map +1 -1
  178. package/dist/middlewares/body.d.ts +4 -4
  179. package/dist/middlewares/body.d.ts.map +1 -1
  180. package/dist/middlewares/body.js +6 -6
  181. package/dist/middlewares/body.js.map +1 -1
  182. package/dist/middlewares/body.mjs +4 -4
  183. package/dist/middlewares/body.mjs.map +1 -1
  184. package/dist/middlewares/compression.d.ts +2 -2
  185. package/dist/middlewares/compression.d.ts.map +1 -1
  186. package/dist/middlewares/compression.js.map +1 -1
  187. package/dist/middlewares/compression.mjs.map +1 -1
  188. package/dist/middlewares/cors.d.ts +2 -2
  189. package/dist/middlewares/cors.d.ts.map +1 -1
  190. package/dist/middlewares/cors.js +9 -7
  191. package/dist/middlewares/cors.js.map +1 -1
  192. package/dist/middlewares/cors.mjs +9 -7
  193. package/dist/middlewares/cors.mjs.map +1 -1
  194. package/dist/middlewares/errors.d.ts +2 -2
  195. package/dist/middlewares/errors.d.ts.map +1 -1
  196. package/dist/middlewares/errors.js.map +1 -1
  197. package/dist/middlewares/errors.mjs.map +1 -1
  198. package/dist/middlewares/favicon.d.ts +2 -2
  199. package/dist/middlewares/favicon.d.ts.map +1 -1
  200. package/dist/middlewares/favicon.js.map +1 -1
  201. package/dist/middlewares/favicon.mjs.map +1 -1
  202. package/dist/middlewares/index.d.ts +2 -2
  203. package/dist/middlewares/index.d.ts.map +1 -1
  204. package/dist/middlewares/index.js.map +1 -1
  205. package/dist/middlewares/index.mjs.map +1 -1
  206. package/dist/middlewares/ip.d.ts +2 -2
  207. package/dist/middlewares/ip.d.ts.map +1 -1
  208. package/dist/middlewares/ip.js.map +1 -1
  209. package/dist/middlewares/ip.mjs.map +1 -1
  210. package/dist/middlewares/logger.d.ts +2 -2
  211. package/dist/middlewares/logger.d.ts.map +1 -1
  212. package/dist/middlewares/logger.js.map +1 -1
  213. package/dist/middlewares/logger.mjs.map +1 -1
  214. package/dist/middlewares/powered-by.d.ts +2 -2
  215. package/dist/middlewares/powered-by.d.ts.map +1 -1
  216. package/dist/middlewares/powered-by.js.map +1 -1
  217. package/dist/middlewares/powered-by.mjs.map +1 -1
  218. package/dist/middlewares/public.d.ts +2 -2
  219. package/dist/middlewares/public.d.ts.map +1 -1
  220. package/dist/middlewares/public.js +3 -3
  221. package/dist/middlewares/public.js.map +1 -1
  222. package/dist/middlewares/public.mjs +1 -1
  223. package/dist/middlewares/public.mjs.map +1 -1
  224. package/dist/middlewares/query.d.ts +2 -2
  225. package/dist/middlewares/query.d.ts.map +1 -1
  226. package/dist/middlewares/query.js.map +1 -1
  227. package/dist/middlewares/query.mjs.map +1 -1
  228. package/dist/middlewares/response-time.d.ts +2 -2
  229. package/dist/middlewares/response-time.d.ts.map +1 -1
  230. package/dist/middlewares/response-time.js.map +1 -1
  231. package/dist/middlewares/response-time.mjs.map +1 -1
  232. package/dist/middlewares/responses.d.ts +3 -3
  233. package/dist/middlewares/responses.d.ts.map +1 -1
  234. package/dist/middlewares/responses.js +2 -2
  235. package/dist/middlewares/responses.js.map +1 -1
  236. package/dist/middlewares/responses.mjs.map +1 -1
  237. package/dist/middlewares/security.d.ts +2 -2
  238. package/dist/middlewares/security.d.ts.map +1 -1
  239. package/dist/middlewares/security.js +13 -6
  240. package/dist/middlewares/security.js.map +1 -1
  241. package/dist/middlewares/security.mjs +12 -5
  242. package/dist/middlewares/security.mjs.map +1 -1
  243. package/dist/middlewares/session.d.ts +2 -2
  244. package/dist/middlewares/session.d.ts.map +1 -1
  245. package/dist/middlewares/session.js +2 -2
  246. package/dist/middlewares/session.js.map +1 -1
  247. package/dist/middlewares/session.mjs.map +1 -1
  248. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  249. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  250. package/dist/migrations/database/5.0.0-discard-drafts.js +94 -0
  251. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  252. package/dist/migrations/database/5.0.0-discard-drafts.mjs +94 -0
  253. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  254. package/dist/migrations/draft-publish.d.ts +17 -0
  255. package/dist/migrations/draft-publish.d.ts.map +1 -0
  256. package/dist/migrations/draft-publish.js +42 -0
  257. package/dist/migrations/draft-publish.js.map +1 -0
  258. package/dist/migrations/draft-publish.mjs +42 -0
  259. package/dist/migrations/draft-publish.mjs.map +1 -0
  260. package/dist/migrations/i18n.d.ts +5 -0
  261. package/dist/migrations/i18n.d.ts.map +1 -0
  262. package/dist/migrations/i18n.js +54 -0
  263. package/dist/migrations/i18n.js.map +1 -0
  264. package/dist/migrations/i18n.mjs +54 -0
  265. package/dist/migrations/i18n.mjs.map +1 -0
  266. package/dist/migrations/index.d.ts +5 -0
  267. package/dist/migrations/index.d.ts.map +1 -0
  268. package/dist/migrations/index.js +15 -0
  269. package/dist/migrations/index.js.map +1 -0
  270. package/dist/migrations/index.mjs +15 -0
  271. package/dist/migrations/index.mjs.map +1 -0
  272. package/dist/providers/admin.d.ts +3 -0
  273. package/dist/providers/admin.d.ts.map +1 -0
  274. package/dist/providers/admin.js +20 -0
  275. package/dist/providers/admin.js.map +1 -0
  276. package/dist/providers/admin.mjs +21 -0
  277. package/dist/providers/admin.mjs.map +1 -0
  278. package/dist/providers/coreStore.d.ts +3 -0
  279. package/dist/providers/coreStore.d.ts.map +1 -0
  280. package/dist/providers/coreStore.js +11 -0
  281. package/dist/providers/coreStore.js.map +1 -0
  282. package/dist/providers/coreStore.mjs +12 -0
  283. package/dist/providers/coreStore.mjs.map +1 -0
  284. package/dist/providers/cron.d.ts +3 -0
  285. package/dist/providers/cron.d.ts.map +1 -0
  286. package/dist/providers/cron.js +20 -0
  287. package/dist/providers/cron.js.map +1 -0
  288. package/dist/providers/cron.mjs +21 -0
  289. package/dist/providers/cron.mjs.map +1 -0
  290. package/dist/providers/index.d.ts +3 -0
  291. package/dist/providers/index.d.ts.map +1 -0
  292. package/dist/providers/index.js +11 -0
  293. package/dist/providers/index.js.map +1 -0
  294. package/dist/providers/index.mjs +11 -0
  295. package/dist/providers/index.mjs.map +1 -0
  296. package/dist/providers/provider.d.ts +9 -0
  297. package/dist/providers/provider.d.ts.map +1 -0
  298. package/dist/providers/provider.js +5 -0
  299. package/dist/providers/provider.js.map +1 -0
  300. package/dist/providers/provider.mjs +5 -0
  301. package/dist/providers/provider.mjs.map +1 -0
  302. package/dist/providers/registries.d.ts +3 -0
  303. package/dist/providers/registries.d.ts.map +1 -0
  304. package/dist/providers/registries.js +35 -0
  305. package/dist/providers/registries.js.map +1 -0
  306. package/dist/providers/registries.mjs +36 -0
  307. package/dist/providers/registries.mjs.map +1 -0
  308. package/dist/providers/telemetry.d.ts +3 -0
  309. package/dist/providers/telemetry.d.ts.map +1 -0
  310. package/dist/providers/telemetry.js +19 -0
  311. package/dist/providers/telemetry.js.map +1 -0
  312. package/dist/providers/telemetry.mjs +20 -0
  313. package/dist/providers/telemetry.mjs.map +1 -0
  314. package/dist/providers/webhooks.d.ts +3 -0
  315. package/dist/providers/webhooks.d.ts.map +1 -0
  316. package/dist/providers/webhooks.js +30 -0
  317. package/dist/providers/webhooks.js.map +1 -0
  318. package/dist/providers/webhooks.mjs +31 -0
  319. package/dist/providers/webhooks.mjs.map +1 -0
  320. package/dist/registries/apis.d.ts +2 -2
  321. package/dist/registries/apis.d.ts.map +1 -1
  322. package/dist/registries/apis.js +2 -2
  323. package/dist/registries/apis.js.map +1 -1
  324. package/dist/registries/apis.mjs.map +1 -1
  325. package/dist/registries/components.d.ts +6 -6
  326. package/dist/registries/components.d.ts.map +1 -1
  327. package/dist/registries/components.js +2 -2
  328. package/dist/registries/components.js.map +1 -1
  329. package/dist/registries/components.mjs.map +1 -1
  330. package/dist/registries/content-types.d.ts +5 -5
  331. package/dist/registries/content-types.d.ts.map +1 -1
  332. package/dist/registries/content-types.js +3 -3
  333. package/dist/registries/content-types.js.map +1 -1
  334. package/dist/registries/content-types.mjs.map +1 -1
  335. package/dist/registries/controllers.d.ts +10 -10
  336. package/dist/registries/controllers.d.ts.map +1 -1
  337. package/dist/registries/controllers.js +3 -3
  338. package/dist/registries/controllers.js.map +1 -1
  339. package/dist/registries/controllers.mjs.map +1 -1
  340. package/dist/registries/custom-fields.d.ts +3 -3
  341. package/dist/registries/custom-fields.d.ts.map +1 -1
  342. package/dist/registries/custom-fields.js +4 -4
  343. package/dist/registries/custom-fields.js.map +1 -1
  344. package/dist/registries/custom-fields.mjs.map +1 -1
  345. package/dist/registries/hooks.js +2 -2
  346. package/dist/registries/hooks.js.map +1 -1
  347. package/dist/registries/index.d.ts +0 -1
  348. package/dist/registries/index.d.ts.map +1 -1
  349. package/dist/registries/middlewares.d.ts +6 -6
  350. package/dist/registries/middlewares.d.ts.map +1 -1
  351. package/dist/registries/middlewares.js +3 -3
  352. package/dist/registries/middlewares.js.map +1 -1
  353. package/dist/registries/middlewares.mjs.map +1 -1
  354. package/dist/registries/modules.d.ts +2 -2
  355. package/dist/registries/modules.d.ts.map +1 -1
  356. package/dist/registries/modules.js +3 -3
  357. package/dist/registries/modules.js.map +1 -1
  358. package/dist/registries/modules.mjs.map +1 -1
  359. package/dist/registries/plugins.d.ts +5 -5
  360. package/dist/registries/plugins.d.ts.map +1 -1
  361. package/dist/registries/plugins.js +2 -2
  362. package/dist/registries/plugins.js.map +1 -1
  363. package/dist/registries/plugins.mjs.map +1 -1
  364. package/dist/registries/policies.d.ts +22 -10
  365. package/dist/registries/policies.d.ts.map +1 -1
  366. package/dist/registries/policies.js +66 -20
  367. package/dist/registries/policies.js.map +1 -1
  368. package/dist/registries/policies.mjs +65 -19
  369. package/dist/registries/policies.mjs.map +1 -1
  370. package/dist/registries/services.d.ts +8 -8
  371. package/dist/registries/services.d.ts.map +1 -1
  372. package/dist/registries/services.js +3 -3
  373. package/dist/registries/services.js.map +1 -1
  374. package/dist/registries/services.mjs.map +1 -1
  375. package/dist/services/auth/index.d.ts +4 -4
  376. package/dist/services/auth/index.d.ts.map +1 -1
  377. package/dist/services/auth/index.js +3 -3
  378. package/dist/services/auth/index.js.map +1 -1
  379. package/dist/services/auth/index.mjs.map +1 -1
  380. package/dist/services/config.d.ts +3 -0
  381. package/dist/services/config.d.ts.map +1 -0
  382. package/dist/services/config.js +47 -0
  383. package/dist/services/config.js.map +1 -0
  384. package/dist/services/config.mjs +47 -0
  385. package/dist/services/config.mjs.map +1 -0
  386. package/dist/services/content-api/index.d.ts +31 -15
  387. package/dist/services/content-api/index.d.ts.map +1 -1
  388. package/dist/services/content-api/index.js +28 -2
  389. package/dist/services/content-api/index.js.map +1 -1
  390. package/dist/services/content-api/index.mjs +28 -2
  391. package/dist/services/content-api/index.mjs.map +1 -1
  392. package/dist/services/content-api/permissions/index.d.ts +13 -15
  393. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  394. package/dist/services/content-api/permissions/index.js +1 -1
  395. package/dist/services/content-api/permissions/index.js.map +1 -1
  396. package/dist/services/content-api/permissions/index.mjs +1 -1
  397. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  398. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  399. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  400. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  401. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  402. package/dist/services/core-store.d.ts.map +1 -1
  403. package/dist/services/core-store.js +3 -3
  404. package/dist/services/core-store.js.map +1 -1
  405. package/dist/services/cron.d.ts +5 -5
  406. package/dist/services/cron.d.ts.map +1 -1
  407. package/dist/services/cron.js +3 -3
  408. package/dist/services/cron.js.map +1 -1
  409. package/dist/services/cron.mjs.map +1 -1
  410. package/dist/services/custom-fields.d.ts +2 -2
  411. package/dist/services/custom-fields.d.ts.map +1 -1
  412. package/dist/services/custom-fields.js.map +1 -1
  413. package/dist/services/custom-fields.mjs.map +1 -1
  414. package/dist/services/document-service/attributes/index.d.ts +6 -0
  415. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  416. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  417. package/dist/services/document-service/attributes/index.js.map +1 -0
  418. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  419. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  420. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  421. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  422. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  423. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  424. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  425. package/dist/services/document-service/common.d.ts +2 -2
  426. package/dist/services/document-service/common.d.ts.map +1 -1
  427. package/dist/services/document-service/common.js.map +1 -1
  428. package/dist/services/document-service/common.mjs.map +1 -1
  429. package/dist/services/document-service/components.d.ts +25 -1
  430. package/dist/services/document-service/components.d.ts.map +1 -1
  431. package/dist/services/{entity-service → document-service}/components.js +57 -153
  432. package/dist/services/document-service/components.js.map +1 -0
  433. package/dist/services/{entity-service → document-service}/components.mjs +48 -144
  434. package/dist/services/document-service/components.mjs.map +1 -0
  435. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  436. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  437. package/dist/services/document-service/draft-and-publish.js +44 -16
  438. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  439. package/dist/services/document-service/draft-and-publish.mjs +38 -10
  440. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  441. package/dist/services/document-service/entries.d.ts +10 -0
  442. package/dist/services/document-service/entries.d.ts.map +1 -0
  443. package/dist/services/document-service/entries.js +96 -0
  444. package/dist/services/document-service/entries.js.map +1 -0
  445. package/dist/services/document-service/entries.mjs +96 -0
  446. package/dist/services/document-service/entries.mjs.map +1 -0
  447. package/dist/services/document-service/events.d.ts +25 -0
  448. package/dist/services/document-service/events.d.ts.map +1 -0
  449. package/dist/services/document-service/events.js +47 -0
  450. package/dist/services/document-service/events.js.map +1 -0
  451. package/dist/services/document-service/events.mjs +47 -0
  452. package/dist/services/document-service/events.mjs.map +1 -0
  453. package/dist/services/document-service/index.d.ts +2 -4
  454. package/dist/services/document-service/index.d.ts.map +1 -1
  455. package/dist/services/document-service/index.js +21 -8
  456. package/dist/services/document-service/index.js.map +1 -1
  457. package/dist/services/document-service/index.mjs +17 -4
  458. package/dist/services/document-service/index.mjs.map +1 -1
  459. package/dist/services/document-service/internationalization.d.ts +5 -5
  460. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  461. package/dist/services/document-service/internationalization.js +21 -12
  462. package/dist/services/document-service/internationalization.js.map +1 -1
  463. package/dist/services/document-service/internationalization.mjs +14 -5
  464. package/dist/services/document-service/internationalization.mjs.map +1 -1
  465. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  466. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  467. package/dist/services/document-service/middlewares/errors.js +25 -0
  468. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  469. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  470. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  471. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  472. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  473. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  474. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  475. package/dist/services/document-service/{middlewares.js → middlewares/middleware-manager.js} +9 -6
  476. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  477. package/dist/services/document-service/{middlewares.mjs → middlewares/middleware-manager.mjs} +9 -6
  478. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  479. package/dist/services/document-service/params.d.ts +3 -1
  480. package/dist/services/document-service/params.d.ts.map +1 -1
  481. package/dist/services/{entity-service → document-service}/params.js +2 -2
  482. package/dist/services/document-service/params.js.map +1 -0
  483. package/dist/services/{entity-service → document-service}/params.mjs +1 -1
  484. package/dist/services/document-service/params.mjs.map +1 -0
  485. package/dist/services/document-service/repository.d.ts +3 -0
  486. package/dist/services/document-service/repository.d.ts.map +1 -0
  487. package/dist/services/document-service/repository.js +314 -0
  488. package/dist/services/document-service/repository.js.map +1 -0
  489. package/dist/services/document-service/repository.mjs +314 -0
  490. package/dist/services/document-service/repository.mjs.map +1 -0
  491. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  492. package/dist/services/document-service/transform/data.js +4 -2
  493. package/dist/services/document-service/transform/data.js.map +1 -1
  494. package/dist/services/document-service/transform/data.mjs +4 -2
  495. package/dist/services/document-service/transform/data.mjs.map +1 -1
  496. package/dist/services/document-service/transform/fields.d.ts +2 -2
  497. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  498. package/dist/services/document-service/transform/fields.js.map +1 -1
  499. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  500. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  501. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  502. package/dist/services/document-service/transform/id-map.js +15 -9
  503. package/dist/services/document-service/transform/id-map.js.map +1 -1
  504. package/dist/services/document-service/transform/id-map.mjs +16 -10
  505. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  506. package/dist/services/document-service/transform/id-transform.d.ts +4 -18
  507. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  508. package/dist/services/document-service/transform/id-transform.js +18 -12
  509. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  510. package/dist/services/document-service/transform/id-transform.mjs +18 -12
  511. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  512. package/dist/services/document-service/transform/populate.d.ts +5 -2
  513. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  514. package/dist/services/document-service/transform/populate.js +1 -1
  515. package/dist/services/document-service/transform/populate.js.map +1 -1
  516. package/dist/services/document-service/transform/populate.mjs +1 -1
  517. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  518. package/dist/services/document-service/transform/query.d.ts +5 -0
  519. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  520. package/dist/services/document-service/transform/query.js +9 -0
  521. package/dist/services/document-service/transform/query.js.map +1 -0
  522. package/dist/services/document-service/transform/query.mjs +9 -0
  523. package/dist/services/document-service/transform/query.mjs.map +1 -0
  524. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  525. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  526. package/dist/services/document-service/transform/relations/extract/data-ids.js +46 -68
  527. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  528. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +45 -67
  529. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  530. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  531. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  532. package/dist/services/document-service/transform/relations/transform/data-ids.js +64 -105
  533. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  534. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +64 -105
  535. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  536. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  537. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  538. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  539. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  540. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  541. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  542. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  543. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  544. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  545. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  546. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  547. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  548. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +6 -6
  549. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  550. package/dist/services/document-service/transform/relations/utils/i18n.js +3 -9
  551. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  552. package/dist/services/document-service/transform/relations/utils/i18n.mjs +3 -9
  553. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  554. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  555. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  556. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  557. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  558. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  559. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  560. package/dist/services/document-service/transform/relations/utils/types.d.ts +10 -1
  561. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  562. package/dist/services/document-service/transform/types.d.ts +4 -4
  563. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  564. package/dist/services/document-service/utils/populate.d.ts +9 -2
  565. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  566. package/dist/services/document-service/utils/populate.js +12 -6
  567. package/dist/services/document-service/utils/populate.js.map +1 -1
  568. package/dist/services/document-service/utils/populate.mjs +12 -6
  569. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  570. package/dist/services/document-service/utils/unidirectional-relations.d.ts +33 -0
  571. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  572. package/dist/services/document-service/utils/unidirectional-relations.js +58 -0
  573. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  574. package/dist/services/document-service/utils/unidirectional-relations.mjs +58 -0
  575. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  576. package/dist/services/entity-service/index.d.ts +4 -6
  577. package/dist/services/entity-service/index.d.ts.map +1 -1
  578. package/dist/services/entity-service/index.js +44 -203
  579. package/dist/services/entity-service/index.js.map +1 -1
  580. package/dist/services/entity-service/index.mjs +38 -197
  581. package/dist/services/entity-service/index.mjs.map +1 -1
  582. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  583. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  584. package/dist/services/entity-validator/blocks-validator.js +4 -3
  585. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  586. package/dist/services/entity-validator/blocks-validator.mjs +3 -3
  587. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  588. package/dist/services/entity-validator/index.d.ts +16 -2
  589. package/dist/services/entity-validator/index.d.ts.map +1 -1
  590. package/dist/services/entity-validator/index.js +197 -130
  591. package/dist/services/entity-validator/index.js.map +1 -1
  592. package/dist/services/entity-validator/index.mjs +192 -125
  593. package/dist/services/entity-validator/index.mjs.map +1 -1
  594. package/dist/services/entity-validator/validators.d.ts +36 -25
  595. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  596. package/dist/services/entity-validator/validators.js +153 -33
  597. package/dist/services/entity-validator/validators.js.map +1 -1
  598. package/dist/services/entity-validator/validators.mjs +145 -25
  599. package/dist/services/entity-validator/validators.mjs.map +1 -1
  600. package/dist/services/event-hub.d.ts +1 -0
  601. package/dist/services/event-hub.d.ts.map +1 -1
  602. package/dist/services/event-hub.js +9 -4
  603. package/dist/services/event-hub.js.map +1 -1
  604. package/dist/services/event-hub.mjs +9 -4
  605. package/dist/services/event-hub.mjs.map +1 -1
  606. package/dist/services/features.d.ts +3 -3
  607. package/dist/services/features.d.ts.map +1 -1
  608. package/dist/services/features.js.map +1 -1
  609. package/dist/services/features.mjs.map +1 -1
  610. package/dist/services/fs.d.ts +2 -2
  611. package/dist/services/fs.d.ts.map +1 -1
  612. package/dist/services/fs.js.map +1 -1
  613. package/dist/services/fs.mjs.map +1 -1
  614. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  615. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  616. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  617. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  618. package/dist/services/metrics/index.d.ts +2 -2
  619. package/dist/services/metrics/index.d.ts.map +1 -1
  620. package/dist/services/metrics/index.js.map +1 -1
  621. package/dist/services/metrics/index.mjs.map +1 -1
  622. package/dist/services/metrics/middleware.d.ts +2 -2
  623. package/dist/services/metrics/middleware.d.ts.map +1 -1
  624. package/dist/services/metrics/middleware.js.map +1 -1
  625. package/dist/services/metrics/middleware.mjs.map +1 -1
  626. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  627. package/dist/services/metrics/rate-limiter.js.map +1 -1
  628. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  629. package/dist/services/metrics/sender.d.ts +3 -3
  630. package/dist/services/metrics/sender.d.ts.map +1 -1
  631. package/dist/services/metrics/sender.js.map +1 -1
  632. package/dist/services/metrics/sender.mjs.map +1 -1
  633. package/dist/services/query-params.d.ts +7 -0
  634. package/dist/services/query-params.d.ts.map +1 -0
  635. package/dist/services/query-params.js +12 -0
  636. package/dist/services/query-params.js.map +1 -0
  637. package/dist/services/query-params.mjs +13 -0
  638. package/dist/services/query-params.mjs.map +1 -0
  639. package/dist/services/reloader.d.ts +7 -0
  640. package/dist/services/reloader.d.ts.map +1 -0
  641. package/dist/services/reloader.js +36 -0
  642. package/dist/services/reloader.js.map +1 -0
  643. package/dist/services/reloader.mjs +36 -0
  644. package/dist/services/reloader.mjs.map +1 -0
  645. package/dist/services/server/admin-api.d.ts +3 -3
  646. package/dist/services/server/admin-api.d.ts.map +1 -1
  647. package/dist/services/server/admin-api.js.map +1 -1
  648. package/dist/services/server/admin-api.mjs.map +1 -1
  649. package/dist/services/server/api.d.ts +3 -3
  650. package/dist/services/server/api.d.ts.map +1 -1
  651. package/dist/services/server/api.js.map +1 -1
  652. package/dist/services/server/api.mjs.map +1 -1
  653. package/dist/services/server/compose-endpoint.d.ts +2 -2
  654. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  655. package/dist/services/server/compose-endpoint.js +8 -9
  656. package/dist/services/server/compose-endpoint.js.map +1 -1
  657. package/dist/services/server/compose-endpoint.mjs +2 -3
  658. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  659. package/dist/services/server/content-api.d.ts +3 -3
  660. package/dist/services/server/content-api.d.ts.map +1 -1
  661. package/dist/services/server/content-api.js.map +1 -1
  662. package/dist/services/server/content-api.mjs.map +1 -1
  663. package/dist/services/server/http-server.d.ts +2 -2
  664. package/dist/services/server/http-server.d.ts.map +1 -1
  665. package/dist/services/server/http-server.js.map +1 -1
  666. package/dist/services/server/http-server.mjs.map +1 -1
  667. package/dist/services/server/index.d.ts +2 -2
  668. package/dist/services/server/index.d.ts.map +1 -1
  669. package/dist/services/server/index.js +2 -3
  670. package/dist/services/server/index.js.map +1 -1
  671. package/dist/services/server/index.mjs +2 -3
  672. package/dist/services/server/index.mjs.map +1 -1
  673. package/dist/services/server/koa.d.ts.map +1 -1
  674. package/dist/services/server/koa.js +4 -4
  675. package/dist/services/server/koa.js.map +1 -1
  676. package/dist/services/server/koa.mjs +1 -1
  677. package/dist/services/server/koa.mjs.map +1 -1
  678. package/dist/services/server/middleware.d.ts +4 -4
  679. package/dist/services/server/middleware.d.ts.map +1 -1
  680. package/dist/services/server/middleware.js +3 -3
  681. package/dist/services/server/middleware.js.map +1 -1
  682. package/dist/services/server/middleware.mjs.map +1 -1
  683. package/dist/services/server/policy.d.ts +3 -3
  684. package/dist/services/server/policy.d.ts.map +1 -1
  685. package/dist/services/server/policy.js +4 -4
  686. package/dist/services/server/policy.js.map +1 -1
  687. package/dist/services/server/policy.mjs +4 -4
  688. package/dist/services/server/policy.mjs.map +1 -1
  689. package/dist/services/server/register-middlewares.d.ts +2 -2
  690. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  691. package/dist/services/server/register-middlewares.js.map +1 -1
  692. package/dist/services/server/register-middlewares.mjs.map +1 -1
  693. package/dist/services/server/register-routes.d.ts +2 -2
  694. package/dist/services/server/register-routes.d.ts.map +1 -1
  695. package/dist/services/server/register-routes.js +3 -3
  696. package/dist/services/server/register-routes.js.map +1 -1
  697. package/dist/services/server/register-routes.mjs +3 -3
  698. package/dist/services/server/register-routes.mjs.map +1 -1
  699. package/dist/services/server/routing.d.ts +5 -5
  700. package/dist/services/server/routing.d.ts.map +1 -1
  701. package/dist/services/server/routing.js +2 -2
  702. package/dist/services/server/routing.js.map +1 -1
  703. package/dist/services/server/routing.mjs.map +1 -1
  704. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  705. package/dist/services/utils/dynamic-zones.js +7 -6
  706. package/dist/services/utils/dynamic-zones.js.map +1 -1
  707. package/dist/services/utils/dynamic-zones.mjs +2 -1
  708. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  709. package/dist/services/webhook-runner.d.ts +2 -1
  710. package/dist/services/webhook-runner.d.ts.map +1 -1
  711. package/dist/services/webhook-runner.js.map +1 -1
  712. package/dist/services/webhook-runner.mjs.map +1 -1
  713. package/dist/services/webhook-store.d.ts +2 -8
  714. package/dist/services/webhook-store.d.ts.map +1 -1
  715. package/dist/services/webhook-store.js +14 -8
  716. package/dist/services/webhook-store.js.map +1 -1
  717. package/dist/services/webhook-store.mjs +14 -8
  718. package/dist/services/webhook-store.mjs.map +1 -1
  719. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  720. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  721. package/dist/utils/convert-custom-field-type.js.map +1 -1
  722. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  723. package/dist/utils/cron.js +3 -3
  724. package/dist/utils/cron.js.map +1 -1
  725. package/dist/utils/fetch.d.ts +3 -3
  726. package/dist/utils/fetch.d.ts.map +1 -1
  727. package/dist/utils/fetch.js +4 -3
  728. package/dist/utils/fetch.js.map +1 -1
  729. package/dist/utils/fetch.mjs +4 -3
  730. package/dist/utils/fetch.mjs.map +1 -1
  731. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  732. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  733. package/dist/utils/filepath-to-prop-path.js +27 -6
  734. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  735. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  736. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  737. package/dist/utils/index.d.ts +2 -1
  738. package/dist/utils/index.d.ts.map +1 -1
  739. package/dist/utils/is-initialized.d.ts +2 -2
  740. package/dist/utils/is-initialized.d.ts.map +1 -1
  741. package/dist/utils/is-initialized.js +4 -4
  742. package/dist/utils/is-initialized.js.map +1 -1
  743. package/dist/utils/is-initialized.mjs +1 -1
  744. package/dist/utils/is-initialized.mjs.map +1 -1
  745. package/dist/utils/load-config-file.js +1 -1
  746. package/dist/utils/load-config-file.js.map +1 -1
  747. package/dist/utils/load-config-file.mjs +2 -2
  748. package/dist/utils/load-config-file.mjs.map +1 -1
  749. package/dist/utils/load-files.d.ts.map +1 -1
  750. package/dist/utils/open-browser.d.ts +2 -2
  751. package/dist/utils/open-browser.d.ts.map +1 -1
  752. package/dist/utils/open-browser.js.map +1 -1
  753. package/dist/utils/open-browser.mjs.map +1 -1
  754. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  755. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  756. package/dist/utils/resolve-working-dirs.js +13 -0
  757. package/dist/utils/resolve-working-dirs.js.map +1 -0
  758. package/dist/utils/resolve-working-dirs.mjs +11 -0
  759. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  760. package/dist/utils/signals.d.ts +2 -2
  761. package/dist/utils/signals.d.ts.map +1 -1
  762. package/dist/utils/signals.js.map +1 -1
  763. package/dist/utils/signals.mjs.map +1 -1
  764. package/dist/utils/startup-logger.d.ts +2 -2
  765. package/dist/utils/startup-logger.d.ts.map +1 -1
  766. package/dist/utils/startup-logger.js +4 -4
  767. package/dist/utils/startup-logger.js.map +1 -1
  768. package/dist/utils/startup-logger.mjs +3 -3
  769. package/dist/utils/startup-logger.mjs.map +1 -1
  770. package/dist/utils/transform-content-types-to-models.d.ts +54 -99
  771. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  772. package/dist/utils/transform-content-types-to-models.js +112 -61
  773. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  774. package/dist/utils/transform-content-types-to-models.mjs +111 -60
  775. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  776. package/dist/utils/update-notifier/index.d.ts +2 -7
  777. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  778. package/dist/utils/update-notifier/index.js +11 -14
  779. package/dist/utils/update-notifier/index.js.map +1 -1
  780. package/dist/utils/update-notifier/index.mjs +11 -14
  781. package/dist/utils/update-notifier/index.mjs.map +1 -1
  782. package/package.json +34 -30
  783. package/dist/registries/config.d.ts +0 -4
  784. package/dist/registries/config.d.ts.map +0 -1
  785. package/dist/registries/config.js +0 -23
  786. package/dist/registries/config.js.map +0 -1
  787. package/dist/registries/config.mjs +0 -22
  788. package/dist/registries/config.mjs.map +0 -1
  789. package/dist/services/document-service/document-engine.d.ts +0 -8
  790. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  791. package/dist/services/document-service/document-engine.js +0 -241
  792. package/dist/services/document-service/document-engine.js.map +0 -1
  793. package/dist/services/document-service/document-engine.mjs +0 -242
  794. package/dist/services/document-service/document-engine.mjs.map +0 -1
  795. package/dist/services/document-service/middlewares.d.ts +0 -8
  796. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  797. package/dist/services/document-service/middlewares.js.map +0 -1
  798. package/dist/services/document-service/middlewares.mjs.map +0 -1
  799. package/dist/services/document-service/repositories/content-type.d.ts +0 -3
  800. package/dist/services/document-service/repositories/content-type.d.ts.map +0 -1
  801. package/dist/services/document-service/repositories/content-type.js +0 -139
  802. package/dist/services/document-service/repositories/content-type.js.map +0 -1
  803. package/dist/services/document-service/repositories/content-type.mjs +0 -139
  804. package/dist/services/document-service/repositories/content-type.mjs.map +0 -1
  805. package/dist/services/document-service/transform/filters.d.ts +0 -3
  806. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  807. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  808. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  809. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  810. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  811. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  812. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  813. package/dist/services/document-service/transform/sort.d.ts +0 -5
  814. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  815. package/dist/services/document-service/transform/utils.d.ts +0 -9
  816. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  817. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  818. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  819. package/dist/services/entity-service/attributes/index.js.map +0 -1
  820. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  821. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  822. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  823. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  824. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  825. package/dist/services/entity-service/components.d.ts +0 -23
  826. package/dist/services/entity-service/components.d.ts.map +0 -1
  827. package/dist/services/entity-service/components.js.map +0 -1
  828. package/dist/services/entity-service/components.mjs.map +0 -1
  829. package/dist/services/entity-service/params.d.ts +0 -8
  830. package/dist/services/entity-service/params.d.ts.map +0 -1
  831. package/dist/services/entity-service/params.js.map +0 -1
  832. package/dist/services/entity-service/params.mjs.map +0 -1
  833. package/dist/services/utils/upload-files.d.ts +0 -8
  834. package/dist/services/utils/upload-files.d.ts.map +0 -1
  835. package/dist/services/utils/upload-files.js +0 -64
  836. package/dist/services/utils/upload-files.js.map +0 -1
  837. package/dist/services/utils/upload-files.mjs +0 -63
  838. package/dist/services/utils/upload-files.mjs.map +0 -1
  839. package/dist/utils/get-dirs.d.ts +0 -9
  840. package/dist/utils/get-dirs.d.ts.map +0 -1
  841. package/dist/utils/get-dirs.js.map +0 -1
  842. package/dist/utils/get-dirs.mjs.map +0 -1
  843. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
@@ -8,7 +8,6 @@ export { default as controllers } from './controllers';
8
8
  export { default as modules } from './modules';
9
9
  export { default as plugins } from './plugins';
10
10
  export { default as customFields } from './custom-fields';
11
- export { default as config } from './config';
12
11
  export { default as apis } from './apis';
13
12
  export { default as sanitizers } from './sanitizers';
14
13
  export { default as validators } from './validators';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="lodash" />
2
- import type { Common } from '@strapi/types';
3
- type MiddlewareExtendFn = (middleware: Common.Middleware) => Common.Middleware;
2
+ import type { Core, UID } from '@strapi/types';
3
+ type MiddlewareExtendFn = (middleware: Core.Middleware) => Core.Middleware;
4
4
  declare const middlewaresRegistry: () => {
5
5
  /**
6
6
  * Returns this list of registered middlewares uids
@@ -9,7 +9,7 @@ declare const middlewaresRegistry: () => {
9
9
  /**
10
10
  * Returns the instance of a middleware. Instantiate the middleware if not already done
11
11
  */
12
- get(uid: Common.UID.Middleware): Common.Middleware;
12
+ get(uid: UID.Middleware): Core.Middleware;
13
13
  /**
14
14
  * Returns a map with all the middlewares in a namespace
15
15
  */
@@ -17,15 +17,15 @@ declare const middlewaresRegistry: () => {
17
17
  /**
18
18
  * Registers a middleware
19
19
  */
20
- set(uid: Common.UID.Middleware, middleware: Common.Middleware): any;
20
+ set(uid: UID.Middleware, middleware: Core.Middleware): any;
21
21
  /**
22
22
  * Registers a map of middlewares for a specific namespace
23
23
  */
24
- add(namespace: string, rawMiddlewares?: Record<string, Common.Middleware>): void;
24
+ add(namespace: string, rawMiddlewares?: Record<string, Core.Middleware>): void;
25
25
  /**
26
26
  * Wraps a middleware to extend it
27
27
  */
28
- extend(uid: Common.UID.Middleware, extendFn: MiddlewareExtendFn): any;
28
+ extend(uid: UID.Middleware, extendFn: MiddlewareExtendFn): any;
29
29
  };
30
30
  export default middlewaresRegistry;
31
31
  //# sourceMappingURL=middlewares.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/registries/middlewares.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,kBAAkB,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC;AAG/E,QAAA,MAAM,mBAAmB;IAIrB;;OAEG;;IAKH;;OAEG;aACM,OAAO,GAAG,CAAC,UAAU;IAI9B;;OAEG;sBACe,MAAM;IAIxB;;OAEG;aACM,OAAO,GAAG,CAAC,UAAU,cAAc,OAAO,UAAU;IAK7D;;OAEG;mBACY,MAAM,mBAAkB,OAAO,MAAM,EAAE,OAAO,UAAU,CAAC;IAYxE;;OAEG;gBACS,OAAO,GAAG,CAAC,UAAU,YAAY,kBAAkB;CAalE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/registries/middlewares.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAG/C,KAAK,kBAAkB,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC;AAG3E,QAAA,MAAM,mBAAmB;IAIrB;;OAEG;;IAKH;;OAEG;aACM,IAAI,UAAU;IAIvB;;OAEG;sBACe,MAAM;IAIxB;;OAEG;aACM,IAAI,UAAU,cAAc,KAAK,UAAU;IAKpD;;OAEG;mBACY,MAAM,mBAAkB,OAAO,MAAM,EAAE,KAAK,UAAU,CAAC;IAYtE;;OAEG;gBACS,IAAI,UAAU,YAAY,kBAAkB;CAa3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const _ = require("lodash/fp");
2
+ const fp = require("lodash/fp");
3
3
  const namespace = require("./namespace.js");
4
4
  const middlewaresRegistry = () => {
5
5
  const middlewares = {};
@@ -20,7 +20,7 @@ const middlewaresRegistry = () => {
20
20
  * Returns a map with all the middlewares in a namespace
21
21
  */
22
22
  getAll(namespace$1) {
23
- return _.pickBy((_2, uid) => namespace.hasNamespace(uid, namespace$1))(middlewares);
23
+ return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(middlewares);
24
24
  },
25
25
  /**
26
26
  * Registers a middleware
@@ -36,7 +36,7 @@ const middlewaresRegistry = () => {
36
36
  for (const middlewareName of Object.keys(rawMiddlewares)) {
37
37
  const middleware = rawMiddlewares[middlewareName];
38
38
  const uid = namespace.addNamespace(middlewareName, namespace$1);
39
- if (_.has(uid, middlewares)) {
39
+ if (fp.has(uid, middlewares)) {
40
40
  throw new Error(`Middleware ${uid} has already been registered.`);
41
41
  }
42
42
  middlewares[uid] = middleware;
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.js","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype MiddlewareExtendFn = (middleware: Common.Middleware) => Common.Middleware;\n\n// TODO: move instantiation part here instead of in the server service\nconst middlewaresRegistry = () => {\n const middlewares: Record<Common.UID.Middleware, Common.Middleware> = {};\n\n return {\n /**\n * Returns this list of registered middlewares uids\n */\n keys() {\n return Object.keys(middlewares);\n },\n\n /**\n * Returns the instance of a middleware. Instantiate the middleware if not already done\n */\n get(uid: Common.UID.Middleware) {\n return middlewares[uid];\n },\n\n /**\n * Returns a map with all the middlewares in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);\n },\n\n /**\n * Registers a middleware\n */\n set(uid: Common.UID.Middleware, middleware: Common.Middleware) {\n middlewares[uid] = middleware;\n return this;\n },\n\n /**\n * Registers a map of middlewares for a specific namespace\n */\n add(namespace: string, rawMiddlewares: Record<string, Common.Middleware> = {}) {\n for (const middlewareName of Object.keys(rawMiddlewares)) {\n const middleware = rawMiddlewares[middlewareName];\n const uid = addNamespace(middlewareName, namespace) as Common.UID.Middleware;\n\n if (has(uid, middlewares)) {\n throw new Error(`Middleware ${uid} has already been registered.`);\n }\n middlewares[uid] = middleware;\n }\n },\n\n /**\n * Wraps a middleware to extend it\n */\n extend(uid: Common.UID.Middleware, extendFn: MiddlewareExtendFn) {\n const currentMiddleware = this.get(uid);\n\n if (!currentMiddleware) {\n throw new Error(`Middleware ${uid} doesn't exist`);\n }\n\n const newMiddleware = extendFn(currentMiddleware);\n middlewares[uid] = newMiddleware;\n\n return this;\n },\n };\n};\n\nexport default middlewaresRegistry;\n"],"names":["namespace","pickBy","_","hasNamespace","addNamespace","has"],"mappings":";;;AAOA,MAAM,sBAAsB,MAAM;AAChC,QAAM,cAAgE,CAAA;AAE/D,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA4B;AAC9B,aAAO,YAAY,GAAG;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AACjB,aAAAC,EAAA,OAAO,CAACC,IAAG,QAAQC,UAAAA,aAAa,KAAKH,WAAS,CAAC,EAAE,WAAW;AAAA,IACrE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA4B,YAA+B;AAC7D,kBAAY,GAAG,IAAI;AACZ,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,iBAAoD,IAAI;AAC7E,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAG;AAClD,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAMI,UAAAA,aAAa,gBAAgBJ,WAAS;AAE9C,YAAAK,EAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAClE;AACA,oBAAY,GAAG,IAAI;AAAA,MACrB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAA4B,UAA8B;AACzD,YAAA,oBAAoB,KAAK,IAAI,GAAG;AAEtC,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,GAAG,gBAAgB;AAAA,MACnD;AAEM,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"middlewares.js","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype MiddlewareExtendFn = (middleware: Core.Middleware) => Core.Middleware;\n\n// TODO: move instantiation part here instead of in the server service\nconst middlewaresRegistry = () => {\n const middlewares: Record<UID.Middleware, Core.Middleware> = {};\n\n return {\n /**\n * Returns this list of registered middlewares uids\n */\n keys() {\n return Object.keys(middlewares);\n },\n\n /**\n * Returns the instance of a middleware. Instantiate the middleware if not already done\n */\n get(uid: UID.Middleware) {\n return middlewares[uid];\n },\n\n /**\n * Returns a map with all the middlewares in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);\n },\n\n /**\n * Registers a middleware\n */\n set(uid: UID.Middleware, middleware: Core.Middleware) {\n middlewares[uid] = middleware;\n return this;\n },\n\n /**\n * Registers a map of middlewares for a specific namespace\n */\n add(namespace: string, rawMiddlewares: Record<string, Core.Middleware> = {}) {\n for (const middlewareName of Object.keys(rawMiddlewares)) {\n const middleware = rawMiddlewares[middlewareName];\n const uid = addNamespace(middlewareName, namespace) as UID.Middleware;\n\n if (has(uid, middlewares)) {\n throw new Error(`Middleware ${uid} has already been registered.`);\n }\n middlewares[uid] = middleware;\n }\n },\n\n /**\n * Wraps a middleware to extend it\n */\n extend(uid: UID.Middleware, extendFn: MiddlewareExtendFn) {\n const currentMiddleware = this.get(uid);\n\n if (!currentMiddleware) {\n throw new Error(`Middleware ${uid} doesn't exist`);\n }\n\n const newMiddleware = extendFn(currentMiddleware);\n middlewares[uid] = newMiddleware;\n\n return this;\n },\n };\n};\n\nexport default middlewaresRegistry;\n"],"names":["namespace","pickBy","hasNamespace","addNamespace","has"],"mappings":";;;AAOA,MAAM,sBAAsB,MAAM;AAChC,QAAM,cAAuD,CAAA;AAEtD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB;AACvB,aAAO,YAAY,GAAG;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AACjB,aAAAC,GAAA,OAAO,CAAC,GAAG,QAAQC,UAAAA,aAAa,KAAKF,WAAS,CAAC,EAAE,WAAW;AAAA,IACrE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB,YAA6B;AACpD,kBAAY,GAAG,IAAI;AACZ,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,iBAAkD,IAAI;AAC3E,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAG;AAClD,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAMG,UAAAA,aAAa,gBAAgBH,WAAS;AAE9C,YAAAI,GAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAClE;AACA,oBAAY,GAAG,IAAI;AAAA,MACrB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAqB,UAA8B;AAClD,YAAA,oBAAoB,KAAK,IAAI,GAAG;AAEtC,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,GAAG,gBAAgB;AAAA,MACnD;AAEM,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.mjs","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype MiddlewareExtendFn = (middleware: Common.Middleware) => Common.Middleware;\n\n// TODO: move instantiation part here instead of in the server service\nconst middlewaresRegistry = () => {\n const middlewares: Record<Common.UID.Middleware, Common.Middleware> = {};\n\n return {\n /**\n * Returns this list of registered middlewares uids\n */\n keys() {\n return Object.keys(middlewares);\n },\n\n /**\n * Returns the instance of a middleware. Instantiate the middleware if not already done\n */\n get(uid: Common.UID.Middleware) {\n return middlewares[uid];\n },\n\n /**\n * Returns a map with all the middlewares in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);\n },\n\n /**\n * Registers a middleware\n */\n set(uid: Common.UID.Middleware, middleware: Common.Middleware) {\n middlewares[uid] = middleware;\n return this;\n },\n\n /**\n * Registers a map of middlewares for a specific namespace\n */\n add(namespace: string, rawMiddlewares: Record<string, Common.Middleware> = {}) {\n for (const middlewareName of Object.keys(rawMiddlewares)) {\n const middleware = rawMiddlewares[middlewareName];\n const uid = addNamespace(middlewareName, namespace) as Common.UID.Middleware;\n\n if (has(uid, middlewares)) {\n throw new Error(`Middleware ${uid} has already been registered.`);\n }\n middlewares[uid] = middleware;\n }\n },\n\n /**\n * Wraps a middleware to extend it\n */\n extend(uid: Common.UID.Middleware, extendFn: MiddlewareExtendFn) {\n const currentMiddleware = this.get(uid);\n\n if (!currentMiddleware) {\n throw new Error(`Middleware ${uid} doesn't exist`);\n }\n\n const newMiddleware = extendFn(currentMiddleware);\n middlewares[uid] = newMiddleware;\n\n return this;\n },\n };\n};\n\nexport default middlewaresRegistry;\n"],"names":[],"mappings":";;AAOA,MAAM,sBAAsB,MAAM;AAChC,QAAM,cAAgE,CAAA;AAE/D,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA4B;AAC9B,aAAO,YAAY,GAAG;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,WAAW;AAAA,IACrE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA4B,YAA+B;AAC7D,kBAAY,GAAG,IAAI;AACZ,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,iBAAoD,IAAI;AAC7E,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAG;AAClD,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAM,aAAa,gBAAgB,SAAS;AAE9C,YAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAClE;AACA,oBAAY,GAAG,IAAI;AAAA,MACrB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAA4B,UAA8B;AACzD,YAAA,oBAAoB,KAAK,IAAI,GAAG;AAEtC,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,GAAG,gBAAgB;AAAA,MACnD;AAEM,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"middlewares.mjs","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype MiddlewareExtendFn = (middleware: Core.Middleware) => Core.Middleware;\n\n// TODO: move instantiation part here instead of in the server service\nconst middlewaresRegistry = () => {\n const middlewares: Record<UID.Middleware, Core.Middleware> = {};\n\n return {\n /**\n * Returns this list of registered middlewares uids\n */\n keys() {\n return Object.keys(middlewares);\n },\n\n /**\n * Returns the instance of a middleware. Instantiate the middleware if not already done\n */\n get(uid: UID.Middleware) {\n return middlewares[uid];\n },\n\n /**\n * Returns a map with all the middlewares in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);\n },\n\n /**\n * Registers a middleware\n */\n set(uid: UID.Middleware, middleware: Core.Middleware) {\n middlewares[uid] = middleware;\n return this;\n },\n\n /**\n * Registers a map of middlewares for a specific namespace\n */\n add(namespace: string, rawMiddlewares: Record<string, Core.Middleware> = {}) {\n for (const middlewareName of Object.keys(rawMiddlewares)) {\n const middleware = rawMiddlewares[middlewareName];\n const uid = addNamespace(middlewareName, namespace) as UID.Middleware;\n\n if (has(uid, middlewares)) {\n throw new Error(`Middleware ${uid} has already been registered.`);\n }\n middlewares[uid] = middleware;\n }\n },\n\n /**\n * Wraps a middleware to extend it\n */\n extend(uid: UID.Middleware, extendFn: MiddlewareExtendFn) {\n const currentMiddleware = this.get(uid);\n\n if (!currentMiddleware) {\n throw new Error(`Middleware ${uid} doesn't exist`);\n }\n\n const newMiddleware = extendFn(currentMiddleware);\n middlewares[uid] = newMiddleware;\n\n return this;\n },\n };\n};\n\nexport default middlewaresRegistry;\n"],"names":[],"mappings":";;AAOA,MAAM,sBAAsB,MAAM;AAChC,QAAM,cAAuD,CAAA;AAEtD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,WAAW;AAAA,IAChC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB;AACvB,aAAO,YAAY,GAAG;AAAA,IACxB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,WAAW;AAAA,IACrE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAqB,YAA6B;AACpD,kBAAY,GAAG,IAAI;AACZ,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,iBAAkD,IAAI;AAC3E,iBAAW,kBAAkB,OAAO,KAAK,cAAc,GAAG;AAClD,cAAA,aAAa,eAAe,cAAc;AAC1C,cAAA,MAAM,aAAa,gBAAgB,SAAS;AAE9C,YAAA,IAAI,KAAK,WAAW,GAAG;AACzB,gBAAM,IAAI,MAAM,cAAc,GAAG,+BAA+B;AAAA,QAClE;AACA,oBAAY,GAAG,IAAI;AAAA,MACrB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAqB,UAA8B;AAClD,YAAA,oBAAoB,KAAK,IAAI,GAAG;AAEtC,UAAI,CAAC,mBAAmB;AACtB,cAAM,IAAI,MAAM,cAAc,GAAG,gBAAgB;AAAA,MACnD;AAEM,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
@@ -1,9 +1,9 @@
1
- import type { Strapi } from '@strapi/types';
1
+ import type { Core } from '@strapi/types';
2
2
  import { RawModule, Module } from '../domain/module';
3
3
  type ModuleMap = {
4
4
  [namespace: string]: Module;
5
5
  };
6
- declare const modulesRegistry: (strapi: Strapi) => {
6
+ declare const modulesRegistry: (strapi: Core.Strapi) => {
7
7
  get(namespace: string): Module;
8
8
  getAll(prefix?: string): Partial<ModuleMap>;
9
9
  add(namespace: string, rawModule: RawModule): Module;
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/registries/modules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAgB,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnE,KAAK,SAAS,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjD,QAAA,MAAM,eAAe,WAAY,MAAM;mBAIpB,MAAM;;mBAMN,MAAM,aAAa,SAAS;;;;CA0B9C,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/registries/modules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAgB,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnE,KAAK,SAAS,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjD,QAAA,MAAM,eAAe,WAAY,KAAK,MAAM;mBAIzB,MAAM;;mBAMN,MAAM,aAAa,SAAS;;;;CA0B9C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const _ = require("lodash/fp");
2
+ const fp = require("lodash/fp");
3
3
  const index = require("../domain/module/index.js");
4
4
  const modulesRegistry = (strapi) => {
5
5
  const modules = {};
@@ -8,10 +8,10 @@ const modulesRegistry = (strapi) => {
8
8
  return modules[namespace];
9
9
  },
10
10
  getAll(prefix = "") {
11
- return _.pickBy((mod, namespace) => namespace.startsWith(prefix))(modules);
11
+ return fp.pickBy((mod, namespace) => namespace.startsWith(prefix))(modules);
12
12
  },
13
13
  add(namespace, rawModule) {
14
- if (_.has(namespace, modules)) {
14
+ if (fp.has(namespace, modules)) {
15
15
  throw new Error(`Module ${namespace} has already been registered.`);
16
16
  }
17
17
  modules[namespace] = index.createModule(namespace, rawModule, strapi);
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Strapi } from '@strapi/types';\nimport { createModule, RawModule, Module } from '../domain/module';\n\ntype ModuleMap = { [namespace: string]: Module };\n\nconst modulesRegistry = (strapi: Strapi) => {\n const modules: ModuleMap = {};\n\n return {\n get(namespace: string) {\n return modules[namespace];\n },\n getAll(prefix = '') {\n return pickBy<ModuleMap>((mod, namespace) => namespace.startsWith(prefix))(modules);\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(namespace, modules)) {\n throw new Error(`Module ${namespace} has already been registered.`);\n }\n\n modules[namespace] = createModule(namespace, rawModule, strapi);\n modules[namespace].load();\n\n return modules[namespace];\n },\n async bootstrap() {\n for (const mod of Object.values(modules)) {\n await mod.bootstrap();\n }\n },\n async register() {\n for (const mod of Object.values(modules)) {\n await mod.register();\n }\n },\n async destroy() {\n for (const mod of Object.values(modules)) {\n await mod.destroy();\n }\n },\n };\n};\n\nexport default modulesRegistry;\n"],"names":["pickBy","has","createModule"],"mappings":";;;AAMM,MAAA,kBAAkB,CAAC,WAAmB;AAC1C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,WAAmB;AACrB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,OAAO,SAAS,IAAI;AACX,aAAAA,EAAA,OAAkB,CAAC,KAAK,cAAc,UAAU,WAAW,MAAM,CAAC,EAAE,OAAO;AAAA,IACpF;AAAA,IACA,IAAI,WAAmB,WAAsB;AACvC,UAAAC,EAAA,IAAI,WAAW,OAAO,GAAG;AAC3B,cAAM,IAAI,MAAM,UAAU,SAAS,+BAA+B;AAAA,MACpE;AAEA,cAAQ,SAAS,IAAIC,MAAAA,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE;AAEnB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"modules.js","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { createModule, RawModule, Module } from '../domain/module';\n\ntype ModuleMap = { [namespace: string]: Module };\n\nconst modulesRegistry = (strapi: Core.Strapi) => {\n const modules: ModuleMap = {};\n\n return {\n get(namespace: string) {\n return modules[namespace];\n },\n getAll(prefix = '') {\n return pickBy<ModuleMap>((mod, namespace) => namespace.startsWith(prefix))(modules);\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(namespace, modules)) {\n throw new Error(`Module ${namespace} has already been registered.`);\n }\n\n modules[namespace] = createModule(namespace, rawModule, strapi);\n modules[namespace].load();\n\n return modules[namespace];\n },\n async bootstrap() {\n for (const mod of Object.values(modules)) {\n await mod.bootstrap();\n }\n },\n async register() {\n for (const mod of Object.values(modules)) {\n await mod.register();\n }\n },\n async destroy() {\n for (const mod of Object.values(modules)) {\n await mod.destroy();\n }\n },\n };\n};\n\nexport default modulesRegistry;\n"],"names":["pickBy","has","createModule"],"mappings":";;;AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,WAAmB;AACrB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,OAAO,SAAS,IAAI;AACX,aAAAA,GAAA,OAAkB,CAAC,KAAK,cAAc,UAAU,WAAW,MAAM,CAAC,EAAE,OAAO;AAAA,IACpF;AAAA,IACA,IAAI,WAAmB,WAAsB;AACvC,UAAAC,GAAA,IAAI,WAAW,OAAO,GAAG;AAC3B,cAAM,IAAI,MAAM,UAAU,SAAS,+BAA+B;AAAA,MACpE;AAEA,cAAQ,SAAS,IAAIC,MAAAA,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE;AAEnB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,EAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"modules.mjs","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Strapi } from '@strapi/types';\nimport { createModule, RawModule, Module } from '../domain/module';\n\ntype ModuleMap = { [namespace: string]: Module };\n\nconst modulesRegistry = (strapi: Strapi) => {\n const modules: ModuleMap = {};\n\n return {\n get(namespace: string) {\n return modules[namespace];\n },\n getAll(prefix = '') {\n return pickBy<ModuleMap>((mod, namespace) => namespace.startsWith(prefix))(modules);\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(namespace, modules)) {\n throw new Error(`Module ${namespace} has already been registered.`);\n }\n\n modules[namespace] = createModule(namespace, rawModule, strapi);\n modules[namespace].load();\n\n return modules[namespace];\n },\n async bootstrap() {\n for (const mod of Object.values(modules)) {\n await mod.bootstrap();\n }\n },\n async register() {\n for (const mod of Object.values(modules)) {\n await mod.register();\n }\n },\n async destroy() {\n for (const mod of Object.values(modules)) {\n await mod.destroy();\n }\n },\n };\n};\n\nexport default modulesRegistry;\n"],"names":[],"mappings":";;AAMM,MAAA,kBAAkB,CAAC,WAAmB;AAC1C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,WAAmB;AACrB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,OAAO,SAAS,IAAI;AACX,aAAA,OAAkB,CAAC,KAAK,cAAc,UAAU,WAAW,MAAM,CAAC,EAAE,OAAO;AAAA,IACpF;AAAA,IACA,IAAI,WAAmB,WAAsB;AACvC,UAAA,IAAI,WAAW,OAAO,GAAG;AAC3B,cAAM,IAAI,MAAM,UAAU,SAAS,+BAA+B;AAAA,MACpE;AAEA,cAAQ,SAAS,IAAI,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE;AAEnB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"modules.mjs","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { createModule, RawModule, Module } from '../domain/module';\n\ntype ModuleMap = { [namespace: string]: Module };\n\nconst modulesRegistry = (strapi: Core.Strapi) => {\n const modules: ModuleMap = {};\n\n return {\n get(namespace: string) {\n return modules[namespace];\n },\n getAll(prefix = '') {\n return pickBy<ModuleMap>((mod, namespace) => namespace.startsWith(prefix))(modules);\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(namespace, modules)) {\n throw new Error(`Module ${namespace} has already been registered.`);\n }\n\n modules[namespace] = createModule(namespace, rawModule, strapi);\n modules[namespace].load();\n\n return modules[namespace];\n },\n async bootstrap() {\n for (const mod of Object.values(modules)) {\n await mod.bootstrap();\n }\n },\n async register() {\n for (const mod of Object.values(modules)) {\n await mod.register();\n }\n },\n async destroy() {\n for (const mod of Object.values(modules)) {\n await mod.destroy();\n }\n },\n };\n};\n\nexport default modulesRegistry;\n"],"names":[],"mappings":";;AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,WAAmB;AACrB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,OAAO,SAAS,IAAI;AACX,aAAA,OAAkB,CAAC,KAAK,cAAc,UAAU,WAAW,MAAM,CAAC,EAAE,OAAO;AAAA,IACpF;AAAA,IACA,IAAI,WAAmB,WAAsB;AACvC,UAAA,IAAI,WAAW,OAAO,GAAG;AAC3B,cAAM,IAAI,MAAM,UAAU,SAAS,+BAA+B;AAAA,MACpE;AAEA,cAAQ,SAAS,IAAI,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE;AAEnB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI;MACZ;AAAA,IACF;AAAA,EAAA;AAEJ;"}
@@ -1,9 +1,9 @@
1
- import type { Strapi, Common } from '@strapi/types';
2
- type PluginMap = Record<string, Common.Plugin>;
3
- declare const pluginsRegistry: (strapi: Strapi) => {
4
- get(name: string): Common.Plugin;
1
+ import type { Core } from '@strapi/types';
2
+ type PluginMap = Record<string, Core.Plugin>;
3
+ declare const pluginsRegistry: (strapi: Core.Strapi) => {
4
+ get(name: string): Core.Plugin;
5
5
  getAll(): PluginMap;
6
- add(name: string, pluginConfig: Common.Plugin): Common.Plugin;
6
+ add(name: string, pluginConfig: Core.Plugin): Core.Plugin;
7
7
  };
8
8
  export default pluginsRegistry;
9
9
  //# sourceMappingURL=plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/registries/plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAE/C,QAAA,MAAM,eAAe,WAAY,MAAM;cAIzB,MAAM;;cAMN,MAAM,gBAAgB,aAAa;CAWhD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/registries/plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAE7C,QAAA,MAAM,eAAe,WAAY,KAAK,MAAM;cAI9B,MAAM;;cAMN,MAAM,gBAAgB,WAAW;CAW9C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const _ = require("lodash/fp");
2
+ const fp = require("lodash/fp");
3
3
  const pluginsRegistry = (strapi) => {
4
4
  const plugins = {};
5
5
  return {
@@ -10,7 +10,7 @@ const pluginsRegistry = (strapi) => {
10
10
  return plugins;
11
11
  },
12
12
  add(name, pluginConfig) {
13
- if (_.has(name, plugins)) {
13
+ if (fp.has(name, plugins)) {
14
14
  throw new Error(`Plugin ${name} has already been registered.`);
15
15
  }
16
16
  const pluginModule = strapi.get("modules").add(`plugin::${name}`, pluginConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Strapi, Common } from '@strapi/types';\n\ntype PluginMap = Record<string, Common.Plugin>;\n\nconst pluginsRegistry = (strapi: Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Common.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":["has"],"mappings":";;AAMM,MAAA,kBAAkB,CAAC,WAAmB;AAC1C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAc,cAA6B;AACzC,UAAAA,EAAA,IAAI,MAAM,OAAO,GAAG;AACtB,cAAM,IAAI,MAAM,UAAU,IAAI,+BAA+B;AAAA,MAC/D;AAEM,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"plugins.js","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\ntype PluginMap = Record<string, Core.Plugin>;\n\nconst pluginsRegistry = (strapi: Core.Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Core.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":["has"],"mappings":";;AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAc,cAA2B;AACvC,UAAAA,GAAA,IAAI,MAAM,OAAO,GAAG;AACtB,cAAM,IAAI,MAAM,UAAU,IAAI,+BAA+B;AAAA,MAC/D;AAEM,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,EAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.mjs","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Strapi, Common } from '@strapi/types';\n\ntype PluginMap = Record<string, Common.Plugin>;\n\nconst pluginsRegistry = (strapi: Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Common.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":[],"mappings":";AAMM,MAAA,kBAAkB,CAAC,WAAmB;AAC1C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAc,cAA6B;AACzC,UAAA,IAAI,MAAM,OAAO,GAAG;AACtB,cAAM,IAAI,MAAM,UAAU,IAAI,+BAA+B;AAAA,MAC/D;AAEM,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"plugins.mjs","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash/fp';\n\nimport type { Core } from '@strapi/types';\n\ntype PluginMap = Record<string, Core.Plugin>;\n\nconst pluginsRegistry = (strapi: Core.Strapi) => {\n const plugins: PluginMap = {};\n\n return {\n get(name: string) {\n return plugins[name];\n },\n getAll() {\n return plugins;\n },\n add(name: string, pluginConfig: Core.Plugin) {\n if (has(name, plugins)) {\n throw new Error(`Plugin ${name} has already been registered.`);\n }\n\n const pluginModule = strapi.get('modules').add(`plugin::${name}`, pluginConfig);\n plugins[name] = pluginModule;\n\n return plugins[name];\n },\n };\n};\n\nexport default pluginsRegistry;\n"],"names":[],"mappings":";AAMM,MAAA,kBAAkB,CAAC,WAAwB;AAC/C,QAAM,UAAqB,CAAA;AAEpB,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAc,cAA2B;AACvC,UAAA,IAAI,MAAM,OAAO,GAAG;AACtB,cAAM,IAAI,MAAM,UAAU,IAAI,+BAA+B;AAAA,MAC/D;AAEM,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,EAAA;AAEJ;"}
@@ -1,7 +1,14 @@
1
1
  /// <reference types="lodash" />
2
- import type { Common } from '@strapi/types';
3
- type PolicyExtendFn = (policy: Common.Policy) => Common.Policy;
4
- type PolicyMap = Record<string, Common.Policy>;
2
+ import type { Core } from '@strapi/types';
3
+ interface PolicyInfo {
4
+ name: string;
5
+ config: unknown;
6
+ }
7
+ type PolicyConfig = string | PolicyInfo;
8
+ interface NamespaceInfo {
9
+ pluginName?: string;
10
+ apiName?: string;
11
+ }
5
12
  declare const policiesRegistry: () => {
6
13
  /**
7
14
  * Returns this list of registered policies uids
@@ -10,7 +17,11 @@ declare const policiesRegistry: () => {
10
17
  /**
11
18
  * Returns the instance of a policy. Instantiate the policy if not already done
12
19
  */
13
- get(uid: Common.UID.Policy): Common.Policy<unknown>;
20
+ get(name: string, namespaceInfo?: NamespaceInfo): Core.Policy<unknown> | undefined;
21
+ /**
22
+ * Checks if a policy is registered
23
+ */
24
+ has(name: string, namespaceInfo?: NamespaceInfo): boolean;
14
25
  /**
15
26
  * Returns a map with all the policies in a namespace
16
27
  */
@@ -18,17 +29,18 @@ declare const policiesRegistry: () => {
18
29
  /**
19
30
  * Registers a policy
20
31
  */
21
- set(uid: string, policy: Common.Policy): any;
32
+ set(uid: string, policy: Core.Policy): any;
22
33
  /**
23
34
  * Registers a map of policies for a specific namespace
24
35
  */
25
- add(namespace: string, newPolicies: PolicyMap): void;
36
+ add(namespace: string, newPolicies: Record<string, Core.Policy>): void;
26
37
  /**
27
- * Wraps a policy to extend it
28
- * @param {string} uid
29
- * @param {(policy: Policy) => Policy} extendFn
38
+ * Resolves a list of policies
30
39
  */
31
- extend(uid: Common.UID.Policy, extendFn: PolicyExtendFn): any;
40
+ resolve(config: PolicyConfig | PolicyConfig[], namespaceInfo?: NamespaceInfo): {
41
+ handler: Core.Policy<unknown>;
42
+ config: {};
43
+ }[];
32
44
  };
33
45
  export default policiesRegistry;
34
46
  //# sourceMappingURL=policies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/registries/policies.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;AAC/D,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAG/C,QAAA,MAAM,gBAAgB;IAIlB;;OAEG;;IAKH;;OAEG;aACM,OAAO,GAAG,CAAC,MAAM;IAI1B;;OAEG;sBACe,MAAM;IAIxB;;OAEG;aACM,MAAM,UAAU,OAAO,MAAM;IAKtC;;OAEG;mBACY,MAAM,eAAe,SAAS;IAY7C;;;;OAIG;gBACS,OAAO,GAAG,CAAC,MAAM,YAAY,cAAc;CAa1D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/registries/policies.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAM1C,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,KAAK,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;AAExC,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD,QAAA,MAAM,gBAAgB;IAyDlB;;OAEG;;IAMH;;OAEG;cACO,MAAM,kBAAkB,aAAa;IAG/C;;OAEG;cACO,MAAM,kBAAkB,aAAa;IAK/C;;OAEG;sBACe,MAAM;IAIxB;;OAEG;aACM,MAAM,UAAU,KAAK,MAAM;IAKpC;;OAEG;mBACY,MAAM,eAAe,OAAO,MAAM,EAAE,KAAK,MAAM,CAAC;IAa/D;;OAEG;oBACa,YAAY,GAAG,YAAY,EAAE,kBAAkB,aAAa;;;;CAW/E,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,32 +1,80 @@
1
1
  "use strict";
2
- const _ = require("lodash/fp");
2
+ const fp = require("lodash/fp");
3
3
  const namespace = require("./namespace.js");
4
+ const PLUGIN_PREFIX = "plugin::";
5
+ const API_PREFIX = "api::";
6
+ const parsePolicy = (policy) => {
7
+ if (typeof policy === "string") {
8
+ return { policyName: policy, config: {} };
9
+ }
10
+ const { name, config } = policy;
11
+ return { policyName: name, config };
12
+ };
4
13
  const policiesRegistry = () => {
5
- const policies = {};
14
+ const policies = /* @__PURE__ */ new Map();
15
+ const find = (name, namespaceInfo) => {
16
+ const { pluginName, apiName } = namespaceInfo ?? {};
17
+ const policy = policies.get(name);
18
+ if (policy) {
19
+ return policy;
20
+ }
21
+ if (pluginName) {
22
+ return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
23
+ }
24
+ if (apiName) {
25
+ return policies.get(`${API_PREFIX}${apiName}.${name}`);
26
+ }
27
+ };
28
+ function resolveHandler(policyConfig, namespaceInfo) {
29
+ if (Array.isArray(policyConfig)) {
30
+ return policyConfig.map((config2) => {
31
+ return resolveHandler(config2, namespaceInfo);
32
+ });
33
+ }
34
+ const { policyName, config } = parsePolicy(policyConfig);
35
+ const policy = find(policyName, namespaceInfo);
36
+ if (!policy) {
37
+ throw new Error(`Policy ${policyName} not found.`);
38
+ }
39
+ if (typeof policy === "function") {
40
+ return policy;
41
+ }
42
+ if (policy.validator) {
43
+ policy.validator(config);
44
+ }
45
+ return policy.handler;
46
+ }
6
47
  return {
7
48
  /**
8
49
  * Returns this list of registered policies uids
9
50
  */
10
51
  keys() {
11
- return Object.keys(policies);
52
+ return Array.from(policies.keys());
12
53
  },
13
54
  /**
14
55
  * Returns the instance of a policy. Instantiate the policy if not already done
15
56
  */
16
- get(uid) {
17
- return policies[uid];
57
+ get(name, namespaceInfo) {
58
+ return find(name, namespaceInfo);
59
+ },
60
+ /**
61
+ * Checks if a policy is registered
62
+ */
63
+ has(name, namespaceInfo) {
64
+ const res = find(name, namespaceInfo);
65
+ return !!res;
18
66
  },
19
67
  /**
20
68
  * Returns a map with all the policies in a namespace
21
69
  */
22
70
  getAll(namespace$1) {
23
- return _.pickBy((_2, uid) => namespace.hasNamespace(uid, namespace$1))(policies);
71
+ return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(Object.fromEntries(policies));
24
72
  },
25
73
  /**
26
74
  * Registers a policy
27
75
  */
28
76
  set(uid, policy) {
29
- policies[uid] = policy;
77
+ policies.set(uid, policy);
30
78
  return this;
31
79
  },
32
80
  /**
@@ -36,25 +84,23 @@ const policiesRegistry = () => {
36
84
  for (const policyName of Object.keys(newPolicies)) {
37
85
  const policy = newPolicies[policyName];
38
86
  const uid = namespace.addNamespace(policyName, namespace$1);
39
- if (_.has(uid, policies)) {
87
+ if (fp.has(uid, policies)) {
40
88
  throw new Error(`Policy ${uid} has already been registered.`);
41
89
  }
42
- policies[uid] = policy;
90
+ policies.set(uid, policy);
43
91
  }
44
92
  },
45
93
  /**
46
- * Wraps a policy to extend it
47
- * @param {string} uid
48
- * @param {(policy: Policy) => Policy} extendFn
94
+ * Resolves a list of policies
49
95
  */
50
- extend(uid, extendFn) {
51
- const currentPolicy = this.get(uid);
52
- if (!currentPolicy) {
53
- throw new Error(`Policy ${uid} doesn't exist`);
54
- }
55
- const newPolicy = extendFn(currentPolicy);
56
- policies[uid] = newPolicy;
57
- return this;
96
+ resolve(config, namespaceInfo) {
97
+ const { pluginName, apiName } = namespaceInfo ?? {};
98
+ return fp.castArray(config).map((policyConfig) => {
99
+ return {
100
+ handler: resolveHandler(policyConfig, { pluginName, apiName }),
101
+ config: typeof policyConfig === "object" && policyConfig.config || {}
102
+ };
103
+ });
58
104
  }
59
105
  };
60
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"policies.js","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype PolicyExtendFn = (policy: Common.Policy) => Common.Policy;\ntype PolicyMap = Record<string, Common.Policy>;\n\n// TODO: move instantiation part here instead of in the policy utils\nconst policiesRegistry = () => {\n const policies: PolicyMap = {};\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n return Object.keys(policies);\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(uid: Common.UID.Policy) {\n return policies[uid];\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(policies);\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Common.Policy) {\n policies[uid] = policy;\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: PolicyMap) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n policies[uid] = policy;\n }\n },\n\n /**\n * Wraps a policy to extend it\n * @param {string} uid\n * @param {(policy: Policy) => Policy} extendFn\n */\n extend(uid: Common.UID.Policy, extendFn: PolicyExtendFn) {\n const currentPolicy = this.get(uid);\n\n if (!currentPolicy) {\n throw new Error(`Policy ${uid} doesn't exist`);\n }\n\n const newPolicy = extendFn(currentPolicy);\n policies[uid] = newPolicy;\n\n return this;\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":["namespace","pickBy","_","hasNamespace","addNamespace","has"],"mappings":";;;AAQA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,WAAsB,CAAA;AAErB,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,QAAQ;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAwB;AAC1B,aAAO,SAAS,GAAG;AAAA,IACrB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AACjB,aAAAC,EAAA,OAAO,CAACC,IAAG,QAAQC,UAAAA,aAAa,KAAKH,WAAS,CAAC,EAAE,QAAQ;AAAA,IAClE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAuB;AACtC,eAAS,GAAG,IAAI;AACT,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,aAAwB;AAC7C,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAMI,UAAAA,aAAa,YAAYJ,WAAS;AAE1C,YAAAK,EAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAC9D;AACA,iBAAS,GAAG,IAAI;AAAA,MAClB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,OAAO,KAAwB,UAA0B;AACjD,YAAA,gBAAgB,KAAK,IAAI,GAAG;AAElC,UAAI,CAAC,eAAe;AAClB,cAAM,IAAI,MAAM,UAAU,GAAG,gBAAgB;AAAA,MAC/C;AAEM,YAAA,YAAY,SAAS,aAAa;AACxC,eAAS,GAAG,IAAI;AAET,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"policies.js","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has, castArray } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nconst PLUGIN_PREFIX = 'plugin::';\nconst API_PREFIX = 'api::';\n\ninterface PolicyInfo {\n name: string;\n config: unknown;\n}\n\ntype PolicyConfig = string | PolicyInfo;\n\ninterface NamespaceInfo {\n pluginName?: string;\n apiName?: string;\n}\n\nconst parsePolicy = (policy: string | PolicyInfo) => {\n if (typeof policy === 'string') {\n return { policyName: policy, config: {} };\n }\n\n const { name, config } = policy;\n return { policyName: name, config };\n};\n\nconst policiesRegistry = () => {\n const policies = new Map<string, Core.Policy>();\n\n const find = (name: string, namespaceInfo?: NamespaceInfo) => {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n // try to resolve a full name to avoid extra prefixing\n const policy = policies.get(name);\n\n if (policy) {\n return policy;\n }\n\n if (pluginName) {\n return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);\n }\n\n if (apiName) {\n return policies.get(`${API_PREFIX}${apiName}.${name}`);\n }\n };\n\n function resolveHandler(policyConfig: PolicyConfig, namespaceInfo?: NamespaceInfo): Core.Policy;\n function resolveHandler(\n policyConfig: PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy[];\n function resolveHandler(\n policyConfig: PolicyConfig | PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy | Core.Policy[] {\n if (Array.isArray(policyConfig)) {\n return policyConfig.map((config) => {\n return resolveHandler(config, namespaceInfo);\n });\n }\n\n const { policyName, config } = parsePolicy(policyConfig);\n\n const policy = find(policyName, namespaceInfo);\n\n if (!policy) {\n throw new Error(`Policy ${policyName} not found.`);\n }\n\n if (typeof policy === 'function') {\n return policy;\n }\n\n if (policy.validator) {\n policy.validator(config);\n }\n\n return policy.handler;\n }\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n // Return an array so format stays the same as controllers, services, etc\n return Array.from(policies.keys());\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(name: string, namespaceInfo?: NamespaceInfo) {\n return find(name, namespaceInfo);\n },\n /**\n * Checks if a policy is registered\n */\n has(name: string, namespaceInfo?: NamespaceInfo) {\n const res = find(name, namespaceInfo);\n return !!res;\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Core.Policy) {\n policies.set(uid, policy);\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: Record<string, Core.Policy>) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n\n policies.set(uid, policy);\n }\n },\n\n /**\n * Resolves a list of policies\n */\n resolve(config: PolicyConfig | PolicyConfig[], namespaceInfo?: NamespaceInfo) {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n return castArray(config).map((policyConfig) => {\n return {\n handler: resolveHandler(policyConfig, { pluginName, apiName }),\n config: (typeof policyConfig === 'object' && policyConfig.config) || {},\n };\n });\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":["config","namespace","pickBy","hasNamespace","addNamespace","has","castArray"],"mappings":";;;AAIA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AAcnB,MAAM,cAAc,CAAC,WAAgC;AAC/C,MAAA,OAAO,WAAW,UAAU;AAC9B,WAAO,EAAE,YAAY,QAAQ,QAAQ,CAAG,EAAA;AAAA,EAC1C;AAEM,QAAA,EAAE,MAAM,OAAW,IAAA;AAClB,SAAA,EAAE,YAAY,MAAM;AAC7B;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe;AAEf,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAG3C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IACT;AAEA,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAC7D;AAEA,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IACvD;AAAA,EAAA;AAQO,WAAA,eACP,cACA,eAC6B;AACzB,QAAA,MAAM,QAAQ,YAAY,GAAG;AACxB,aAAA,aAAa,IAAI,CAACA,YAAW;AAC3B,eAAA,eAAeA,SAAQ,aAAa;AAAA,MAAA,CAC5C;AAAA,IACH;AAEA,UAAM,EAAE,YAAY,OAAO,IAAI,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IACnD;AAEI,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IACT;AAEA,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IACzB;AAEA,WAAO,OAAO;AAAA,EAChB;AAEO,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAM,CAAA;AAAA,IACnC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,MAAc,eAA+B;AACxC,aAAA,KAAK,MAAM,aAAa;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAIA,IAAI,MAAc,eAA+B;AACzC,YAAA,MAAM,KAAK,MAAM,aAAa;AACpC,aAAO,CAAC,CAAC;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOC,aAAmB;AACxB,aAAOC,UAAO,CAAC,GAAG,QAAQC,UAAAA,aAAa,KAAKF,WAAS,CAAC,EAAE,OAAO,YAAY,QAAQ,CAAC;AAAA,IACtF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAqB;AAC3B,eAAA,IAAI,KAAK,MAAM;AACjB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,aAA0C;AAC/D,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAMG,UAAAA,aAAa,YAAYH,WAAS;AAE1C,YAAAI,GAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAC9D;AAES,iBAAA,IAAI,KAAK,MAAM;AAAA,MAC1B;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAEjD,aAAOC,GAAU,UAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB;AACtC,eAAA;AAAA,UACL,SAAS,eAAe,cAAc,EAAE,YAAY,SAAS;AAAA,UAC7D,QAAS,OAAO,iBAAiB,YAAY,aAAa,UAAW,CAAC;AAAA,QAAA;AAAA,MACxE,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;;"}
@@ -1,31 +1,79 @@
1
- import { pickBy, has } from "lodash/fp";
1
+ import { pickBy, has, castArray } from "lodash/fp";
2
2
  import { hasNamespace, addNamespace } from "./namespace.mjs";
3
+ const PLUGIN_PREFIX = "plugin::";
4
+ const API_PREFIX = "api::";
5
+ const parsePolicy = (policy) => {
6
+ if (typeof policy === "string") {
7
+ return { policyName: policy, config: {} };
8
+ }
9
+ const { name, config } = policy;
10
+ return { policyName: name, config };
11
+ };
3
12
  const policiesRegistry = () => {
4
- const policies = {};
13
+ const policies = /* @__PURE__ */ new Map();
14
+ const find = (name, namespaceInfo) => {
15
+ const { pluginName, apiName } = namespaceInfo ?? {};
16
+ const policy = policies.get(name);
17
+ if (policy) {
18
+ return policy;
19
+ }
20
+ if (pluginName) {
21
+ return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);
22
+ }
23
+ if (apiName) {
24
+ return policies.get(`${API_PREFIX}${apiName}.${name}`);
25
+ }
26
+ };
27
+ function resolveHandler(policyConfig, namespaceInfo) {
28
+ if (Array.isArray(policyConfig)) {
29
+ return policyConfig.map((config2) => {
30
+ return resolveHandler(config2, namespaceInfo);
31
+ });
32
+ }
33
+ const { policyName, config } = parsePolicy(policyConfig);
34
+ const policy = find(policyName, namespaceInfo);
35
+ if (!policy) {
36
+ throw new Error(`Policy ${policyName} not found.`);
37
+ }
38
+ if (typeof policy === "function") {
39
+ return policy;
40
+ }
41
+ if (policy.validator) {
42
+ policy.validator(config);
43
+ }
44
+ return policy.handler;
45
+ }
5
46
  return {
6
47
  /**
7
48
  * Returns this list of registered policies uids
8
49
  */
9
50
  keys() {
10
- return Object.keys(policies);
51
+ return Array.from(policies.keys());
11
52
  },
12
53
  /**
13
54
  * Returns the instance of a policy. Instantiate the policy if not already done
14
55
  */
15
- get(uid) {
16
- return policies[uid];
56
+ get(name, namespaceInfo) {
57
+ return find(name, namespaceInfo);
58
+ },
59
+ /**
60
+ * Checks if a policy is registered
61
+ */
62
+ has(name, namespaceInfo) {
63
+ const res = find(name, namespaceInfo);
64
+ return !!res;
17
65
  },
18
66
  /**
19
67
  * Returns a map with all the policies in a namespace
20
68
  */
21
69
  getAll(namespace) {
22
- return pickBy((_, uid) => hasNamespace(uid, namespace))(policies);
70
+ return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));
23
71
  },
24
72
  /**
25
73
  * Registers a policy
26
74
  */
27
75
  set(uid, policy) {
28
- policies[uid] = policy;
76
+ policies.set(uid, policy);
29
77
  return this;
30
78
  },
31
79
  /**
@@ -38,22 +86,20 @@ const policiesRegistry = () => {
38
86
  if (has(uid, policies)) {
39
87
  throw new Error(`Policy ${uid} has already been registered.`);
40
88
  }
41
- policies[uid] = policy;
89
+ policies.set(uid, policy);
42
90
  }
43
91
  },
44
92
  /**
45
- * Wraps a policy to extend it
46
- * @param {string} uid
47
- * @param {(policy: Policy) => Policy} extendFn
93
+ * Resolves a list of policies
48
94
  */
49
- extend(uid, extendFn) {
50
- const currentPolicy = this.get(uid);
51
- if (!currentPolicy) {
52
- throw new Error(`Policy ${uid} doesn't exist`);
53
- }
54
- const newPolicy = extendFn(currentPolicy);
55
- policies[uid] = newPolicy;
56
- return this;
95
+ resolve(config, namespaceInfo) {
96
+ const { pluginName, apiName } = namespaceInfo ?? {};
97
+ return castArray(config).map((policyConfig) => {
98
+ return {
99
+ handler: resolveHandler(policyConfig, { pluginName, apiName }),
100
+ config: typeof policyConfig === "object" && policyConfig.config || {}
101
+ };
102
+ });
57
103
  }
58
104
  };
59
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"policies.mjs","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype PolicyExtendFn = (policy: Common.Policy) => Common.Policy;\ntype PolicyMap = Record<string, Common.Policy>;\n\n// TODO: move instantiation part here instead of in the policy utils\nconst policiesRegistry = () => {\n const policies: PolicyMap = {};\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n return Object.keys(policies);\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(uid: Common.UID.Policy) {\n return policies[uid];\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(policies);\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Common.Policy) {\n policies[uid] = policy;\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: PolicyMap) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n policies[uid] = policy;\n }\n },\n\n /**\n * Wraps a policy to extend it\n * @param {string} uid\n * @param {(policy: Policy) => Policy} extendFn\n */\n extend(uid: Common.UID.Policy, extendFn: PolicyExtendFn) {\n const currentPolicy = this.get(uid);\n\n if (!currentPolicy) {\n throw new Error(`Policy ${uid} doesn't exist`);\n }\n\n const newPolicy = extendFn(currentPolicy);\n policies[uid] = newPolicy;\n\n return this;\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":[],"mappings":";;AAQA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,WAAsB,CAAA;AAErB,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,QAAQ;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAwB;AAC1B,aAAO,SAAS,GAAG;AAAA,IACrB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,QAAQ;AAAA,IAClE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAuB;AACtC,eAAS,GAAG,IAAI;AACT,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,aAAwB;AAC7C,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAM,aAAa,YAAY,SAAS;AAE1C,YAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAC9D;AACA,iBAAS,GAAG,IAAI;AAAA,MAClB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,OAAO,KAAwB,UAA0B;AACjD,YAAA,gBAAgB,KAAK,IAAI,GAAG;AAElC,UAAI,CAAC,eAAe;AAClB,cAAM,IAAI,MAAM,UAAU,GAAG,gBAAgB;AAAA,MAC/C;AAEM,YAAA,YAAY,SAAS,aAAa;AACxC,eAAS,GAAG,IAAI;AAET,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"policies.mjs","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { pickBy, has, castArray } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nconst PLUGIN_PREFIX = 'plugin::';\nconst API_PREFIX = 'api::';\n\ninterface PolicyInfo {\n name: string;\n config: unknown;\n}\n\ntype PolicyConfig = string | PolicyInfo;\n\ninterface NamespaceInfo {\n pluginName?: string;\n apiName?: string;\n}\n\nconst parsePolicy = (policy: string | PolicyInfo) => {\n if (typeof policy === 'string') {\n return { policyName: policy, config: {} };\n }\n\n const { name, config } = policy;\n return { policyName: name, config };\n};\n\nconst policiesRegistry = () => {\n const policies = new Map<string, Core.Policy>();\n\n const find = (name: string, namespaceInfo?: NamespaceInfo) => {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n // try to resolve a full name to avoid extra prefixing\n const policy = policies.get(name);\n\n if (policy) {\n return policy;\n }\n\n if (pluginName) {\n return policies.get(`${PLUGIN_PREFIX}${pluginName}.${name}`);\n }\n\n if (apiName) {\n return policies.get(`${API_PREFIX}${apiName}.${name}`);\n }\n };\n\n function resolveHandler(policyConfig: PolicyConfig, namespaceInfo?: NamespaceInfo): Core.Policy;\n function resolveHandler(\n policyConfig: PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy[];\n function resolveHandler(\n policyConfig: PolicyConfig | PolicyConfig[],\n namespaceInfo?: NamespaceInfo\n ): Core.Policy | Core.Policy[] {\n if (Array.isArray(policyConfig)) {\n return policyConfig.map((config) => {\n return resolveHandler(config, namespaceInfo);\n });\n }\n\n const { policyName, config } = parsePolicy(policyConfig);\n\n const policy = find(policyName, namespaceInfo);\n\n if (!policy) {\n throw new Error(`Policy ${policyName} not found.`);\n }\n\n if (typeof policy === 'function') {\n return policy;\n }\n\n if (policy.validator) {\n policy.validator(config);\n }\n\n return policy.handler;\n }\n\n return {\n /**\n * Returns this list of registered policies uids\n */\n keys() {\n // Return an array so format stays the same as controllers, services, etc\n return Array.from(policies.keys());\n },\n\n /**\n * Returns the instance of a policy. Instantiate the policy if not already done\n */\n get(name: string, namespaceInfo?: NamespaceInfo) {\n return find(name, namespaceInfo);\n },\n /**\n * Checks if a policy is registered\n */\n has(name: string, namespaceInfo?: NamespaceInfo) {\n const res = find(name, namespaceInfo);\n return !!res;\n },\n\n /**\n * Returns a map with all the policies in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));\n },\n\n /**\n * Registers a policy\n */\n set(uid: string, policy: Core.Policy) {\n policies.set(uid, policy);\n return this;\n },\n\n /**\n * Registers a map of policies for a specific namespace\n */\n add(namespace: string, newPolicies: Record<string, Core.Policy>) {\n for (const policyName of Object.keys(newPolicies)) {\n const policy = newPolicies[policyName];\n const uid = addNamespace(policyName, namespace);\n\n if (has(uid, policies)) {\n throw new Error(`Policy ${uid} has already been registered.`);\n }\n\n policies.set(uid, policy);\n }\n },\n\n /**\n * Resolves a list of policies\n */\n resolve(config: PolicyConfig | PolicyConfig[], namespaceInfo?: NamespaceInfo) {\n const { pluginName, apiName } = namespaceInfo ?? {};\n\n return castArray(config).map((policyConfig) => {\n return {\n handler: resolveHandler(policyConfig, { pluginName, apiName }),\n config: (typeof policyConfig === 'object' && policyConfig.config) || {},\n };\n });\n },\n };\n};\n\nexport default policiesRegistry;\n"],"names":["config"],"mappings":";;AAIA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AAcnB,MAAM,cAAc,CAAC,WAAgC;AAC/C,MAAA,OAAO,WAAW,UAAU;AAC9B,WAAO,EAAE,YAAY,QAAQ,QAAQ,CAAG,EAAA;AAAA,EAC1C;AAEM,QAAA,EAAE,MAAM,OAAW,IAAA;AAClB,SAAA,EAAE,YAAY,MAAM;AAC7B;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe;AAEf,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAG3C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IACT;AAEA,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAC7D;AAEA,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IACvD;AAAA,EAAA;AAQO,WAAA,eACP,cACA,eAC6B;AACzB,QAAA,MAAM,QAAQ,YAAY,GAAG;AACxB,aAAA,aAAa,IAAI,CAACA,YAAW;AAC3B,eAAA,eAAeA,SAAQ,aAAa;AAAA,MAAA,CAC5C;AAAA,IACH;AAEA,UAAM,EAAE,YAAY,OAAO,IAAI,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IACnD;AAEI,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IACT;AAEA,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IACzB;AAEA,WAAO,OAAO;AAAA,EAChB;AAEO,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAM,CAAA;AAAA,IACnC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,MAAc,eAA+B;AACxC,aAAA,KAAK,MAAM,aAAa;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAIA,IAAI,MAAc,eAA+B;AACzC,YAAA,MAAM,KAAK,MAAM,aAAa;AACpC,aAAO,CAAC,CAAC;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACxB,aAAO,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,OAAO,YAAY,QAAQ,CAAC;AAAA,IACtF;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,QAAqB;AAC3B,eAAA,IAAI,KAAK,MAAM;AACjB,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmB,aAA0C;AAC/D,iBAAW,cAAc,OAAO,KAAK,WAAW,GAAG;AAC3C,cAAA,SAAS,YAAY,UAAU;AAC/B,cAAA,MAAM,aAAa,YAAY,SAAS;AAE1C,YAAA,IAAI,KAAK,QAAQ,GAAG;AACtB,gBAAM,IAAI,MAAM,UAAU,GAAG,+BAA+B;AAAA,QAC9D;AAES,iBAAA,IAAI,KAAK,MAAM;AAAA,MAC1B;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,YAAY,iBAAiB,CAAA;AAEjD,aAAO,UAAU,MAAM,EAAE,IAAI,CAAC,iBAAiB;AACtC,eAAA;AAAA,UACL,SAAS,eAAe,cAAc,EAAE,YAAY,SAAS;AAAA,UAC7D,QAAS,OAAO,iBAAiB,YAAY,aAAa,UAAW,CAAC;AAAA,QAAA;AAAA,MACxE,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;"}