@strapi/core 0.0.0-experimental.cffeb3f30bb8beaa0d2a247ba56da461781c6690 → 0.0.0-experimental.d042f6a350fa3a48d61e7c56875e2a0a7ba3c8f5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (678) hide show
  1. package/dist/Strapi.js +437 -0
  2. package/dist/Strapi.js.map +1 -0
  3. package/dist/Strapi.mjs +416 -0
  4. package/dist/Strapi.mjs.map +1 -0
  5. package/dist/compile.js +18 -0
  6. package/dist/compile.js.map +1 -0
  7. package/dist/compile.mjs +17 -0
  8. package/dist/compile.mjs.map +1 -0
  9. package/dist/configuration/config-loader.js +105 -0
  10. package/dist/configuration/config-loader.js.map +1 -0
  11. package/dist/configuration/config-loader.mjs +103 -0
  12. package/dist/configuration/config-loader.mjs.map +1 -0
  13. package/dist/configuration/get-dirs.js +31 -0
  14. package/dist/configuration/get-dirs.js.map +1 -0
  15. package/dist/configuration/get-dirs.mjs +31 -0
  16. package/dist/configuration/get-dirs.mjs.map +1 -0
  17. package/dist/configuration/index.d.ts.map +1 -1
  18. package/dist/configuration/index.js +85 -0
  19. package/dist/configuration/index.js.map +1 -0
  20. package/dist/configuration/index.mjs +80 -0
  21. package/dist/configuration/index.mjs.map +1 -0
  22. package/dist/configuration/urls.js +68 -0
  23. package/dist/configuration/urls.js.map +1 -0
  24. package/dist/configuration/urls.mjs +66 -0
  25. package/dist/configuration/urls.mjs.map +1 -0
  26. package/dist/container.js +30 -0
  27. package/dist/container.js.map +1 -0
  28. package/dist/container.mjs +30 -0
  29. package/dist/container.mjs.map +1 -0
  30. package/dist/core-api/controller/collection-type.js +84 -0
  31. package/dist/core-api/controller/collection-type.js.map +1 -0
  32. package/dist/core-api/controller/collection-type.mjs +84 -0
  33. package/dist/core-api/controller/collection-type.mjs.map +1 -0
  34. package/dist/core-api/controller/index.js +52 -0
  35. package/dist/core-api/controller/index.js.map +1 -0
  36. package/dist/core-api/controller/index.mjs +52 -0
  37. package/dist/core-api/controller/index.mjs.map +1 -0
  38. package/dist/core-api/controller/single-type.js +46 -0
  39. package/dist/core-api/controller/single-type.js.map +1 -0
  40. package/dist/core-api/controller/single-type.mjs +46 -0
  41. package/dist/core-api/controller/single-type.mjs.map +1 -0
  42. package/dist/core-api/controller/transform.js +76 -0
  43. package/dist/core-api/controller/transform.js.map +1 -0
  44. package/dist/core-api/controller/transform.mjs +76 -0
  45. package/dist/core-api/controller/transform.mjs.map +1 -0
  46. package/dist/core-api/routes/index.js +67 -0
  47. package/dist/core-api/routes/index.js.map +1 -0
  48. package/dist/core-api/routes/index.mjs +67 -0
  49. package/dist/core-api/routes/index.mjs.map +1 -0
  50. package/dist/core-api/service/collection-type.js +67 -0
  51. package/dist/core-api/service/collection-type.js.map +1 -0
  52. package/dist/core-api/service/collection-type.mjs +67 -0
  53. package/dist/core-api/service/collection-type.mjs.map +1 -0
  54. package/dist/core-api/service/core-service.js +12 -0
  55. package/dist/core-api/service/core-service.js.map +1 -0
  56. package/dist/core-api/service/core-service.mjs +12 -0
  57. package/dist/core-api/service/core-service.mjs.map +1 -0
  58. package/dist/core-api/service/index.js +16 -0
  59. package/dist/core-api/service/index.js.map +1 -0
  60. package/dist/core-api/service/index.mjs +16 -0
  61. package/dist/core-api/service/index.mjs.map +1 -0
  62. package/dist/core-api/service/pagination.js +52 -0
  63. package/dist/core-api/service/pagination.js.map +1 -0
  64. package/dist/core-api/service/pagination.mjs +52 -0
  65. package/dist/core-api/service/pagination.mjs.map +1 -0
  66. package/dist/core-api/service/single-type.js +45 -0
  67. package/dist/core-api/service/single-type.js.map +1 -0
  68. package/dist/core-api/service/single-type.mjs +45 -0
  69. package/dist/core-api/service/single-type.mjs.map +1 -0
  70. package/dist/domain/content-type/index.js +111 -0
  71. package/dist/domain/content-type/index.js.map +1 -0
  72. package/dist/domain/content-type/index.mjs +109 -0
  73. package/dist/domain/content-type/index.mjs.map +1 -0
  74. package/dist/domain/content-type/validator.js +77 -0
  75. package/dist/domain/content-type/validator.js.map +1 -0
  76. package/dist/domain/content-type/validator.mjs +75 -0
  77. package/dist/domain/content-type/validator.mjs.map +1 -0
  78. package/dist/domain/module/index.js +107 -0
  79. package/dist/domain/module/index.js.map +1 -0
  80. package/dist/domain/module/index.mjs +105 -0
  81. package/dist/domain/module/index.mjs.map +1 -0
  82. package/dist/domain/module/validation.js +25 -0
  83. package/dist/domain/module/validation.js.map +1 -0
  84. package/dist/domain/module/validation.mjs +25 -0
  85. package/dist/domain/module/validation.mjs.map +1 -0
  86. package/dist/ee/index.js +158 -0
  87. package/dist/ee/index.js.map +1 -0
  88. package/dist/ee/index.mjs +159 -0
  89. package/dist/ee/index.mjs.map +1 -0
  90. package/dist/ee/license.js +91 -0
  91. package/dist/ee/license.js.map +1 -0
  92. package/dist/ee/license.mjs +88 -0
  93. package/dist/ee/license.mjs.map +1 -0
  94. package/dist/factories.js +80 -0
  95. package/dist/factories.js.map +1 -0
  96. package/dist/factories.mjs +80 -0
  97. package/dist/factories.mjs.map +1 -0
  98. package/dist/index.js +27 -9954
  99. package/dist/index.js.map +1 -1
  100. package/dist/index.mjs +29 -9932
  101. package/dist/index.mjs.map +1 -1
  102. package/dist/loaders/admin.js +26 -0
  103. package/dist/loaders/admin.js.map +1 -0
  104. package/dist/loaders/admin.mjs +25 -0
  105. package/dist/loaders/admin.mjs.map +1 -0
  106. package/dist/loaders/apis.js +137 -0
  107. package/dist/loaders/apis.js.map +1 -0
  108. package/dist/loaders/apis.mjs +135 -0
  109. package/dist/loaders/apis.mjs.map +1 -0
  110. package/dist/loaders/components.js +38 -0
  111. package/dist/loaders/components.js.map +1 -0
  112. package/dist/loaders/components.mjs +37 -0
  113. package/dist/loaders/components.mjs.map +1 -0
  114. package/dist/loaders/index.js +24 -0
  115. package/dist/loaders/index.js.map +1 -0
  116. package/dist/loaders/index.mjs +24 -0
  117. package/dist/loaders/index.mjs.map +1 -0
  118. package/dist/loaders/middlewares.js +31 -0
  119. package/dist/loaders/middlewares.js.map +1 -0
  120. package/dist/loaders/middlewares.mjs +30 -0
  121. package/dist/loaders/middlewares.mjs.map +1 -0
  122. package/dist/loaders/plugins/get-enabled-plugins.js +141 -0
  123. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
  124. package/dist/loaders/plugins/get-enabled-plugins.mjs +117 -0
  125. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  126. package/dist/loaders/plugins/get-user-plugins-config.js +27 -0
  127. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
  128. package/dist/loaders/plugins/get-user-plugins-config.mjs +25 -0
  129. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  130. package/dist/loaders/plugins/index.js +144 -0
  131. package/dist/loaders/plugins/index.js.map +1 -0
  132. package/dist/loaders/plugins/index.mjs +125 -0
  133. package/dist/loaders/plugins/index.mjs.map +1 -0
  134. package/dist/loaders/policies.js +25 -0
  135. package/dist/loaders/policies.js.map +1 -0
  136. package/dist/loaders/policies.mjs +24 -0
  137. package/dist/loaders/policies.mjs.map +1 -0
  138. package/dist/loaders/sanitizers.js +6 -0
  139. package/dist/loaders/sanitizers.js.map +1 -0
  140. package/dist/loaders/sanitizers.mjs +7 -0
  141. package/dist/loaders/sanitizers.mjs.map +1 -0
  142. package/dist/loaders/src-index.js +33 -0
  143. package/dist/loaders/src-index.js.map +1 -0
  144. package/dist/loaders/src-index.mjs +34 -0
  145. package/dist/loaders/src-index.mjs.map +1 -0
  146. package/dist/loaders/validators.js +6 -0
  147. package/dist/loaders/validators.js.map +1 -0
  148. package/dist/loaders/validators.mjs +7 -0
  149. package/dist/loaders/validators.mjs.map +1 -0
  150. package/dist/middlewares/body.d.ts.map +1 -1
  151. package/dist/middlewares/body.js +65 -0
  152. package/dist/middlewares/body.js.map +1 -0
  153. package/dist/middlewares/body.mjs +61 -0
  154. package/dist/middlewares/body.mjs.map +1 -0
  155. package/dist/middlewares/compression.js +8 -0
  156. package/dist/middlewares/compression.js.map +1 -0
  157. package/dist/middlewares/compression.mjs +6 -0
  158. package/dist/middlewares/compression.mjs.map +1 -0
  159. package/dist/middlewares/cors.js +53 -0
  160. package/dist/middlewares/cors.js.map +1 -0
  161. package/dist/middlewares/cors.mjs +51 -0
  162. package/dist/middlewares/cors.mjs.map +1 -0
  163. package/dist/middlewares/errors.js +33 -0
  164. package/dist/middlewares/errors.js.map +1 -0
  165. package/dist/middlewares/errors.mjs +33 -0
  166. package/dist/middlewares/errors.mjs.map +1 -0
  167. package/dist/middlewares/favicon.js +22 -0
  168. package/dist/middlewares/favicon.js.map +1 -0
  169. package/dist/middlewares/favicon.mjs +20 -0
  170. package/dist/middlewares/favicon.mjs.map +1 -0
  171. package/dist/middlewares/index.js +34 -0
  172. package/dist/middlewares/index.js.map +1 -0
  173. package/dist/middlewares/index.mjs +34 -0
  174. package/dist/middlewares/index.mjs.map +1 -0
  175. package/dist/middlewares/ip.js +8 -0
  176. package/dist/middlewares/ip.js.map +1 -0
  177. package/dist/middlewares/ip.mjs +6 -0
  178. package/dist/middlewares/ip.mjs.map +1 -0
  179. package/dist/middlewares/logger.js +12 -0
  180. package/dist/middlewares/logger.js.map +1 -0
  181. package/dist/middlewares/logger.mjs +12 -0
  182. package/dist/middlewares/logger.mjs.map +1 -0
  183. package/dist/middlewares/powered-by.js +14 -0
  184. package/dist/middlewares/powered-by.js.map +1 -0
  185. package/dist/middlewares/powered-by.mjs +14 -0
  186. package/dist/middlewares/powered-by.mjs.map +1 -0
  187. package/dist/middlewares/public.js +34 -0
  188. package/dist/middlewares/public.js.map +1 -0
  189. package/dist/middlewares/public.mjs +32 -0
  190. package/dist/middlewares/public.mjs.map +1 -0
  191. package/dist/middlewares/query.js +40 -0
  192. package/dist/middlewares/query.js.map +1 -0
  193. package/dist/middlewares/query.mjs +38 -0
  194. package/dist/middlewares/query.mjs.map +1 -0
  195. package/dist/middlewares/response-time.js +12 -0
  196. package/dist/middlewares/response-time.js.map +1 -0
  197. package/dist/middlewares/response-time.mjs +12 -0
  198. package/dist/middlewares/response-time.mjs.map +1 -0
  199. package/dist/middlewares/responses.js +15 -0
  200. package/dist/middlewares/responses.js.map +1 -0
  201. package/dist/middlewares/responses.mjs +15 -0
  202. package/dist/middlewares/responses.mjs.map +1 -0
  203. package/dist/middlewares/security.js +78 -0
  204. package/dist/middlewares/security.js.map +1 -0
  205. package/dist/middlewares/security.mjs +76 -0
  206. package/dist/middlewares/security.mjs.map +1 -0
  207. package/dist/middlewares/session.js +30 -0
  208. package/dist/middlewares/session.js.map +1 -0
  209. package/dist/middlewares/session.mjs +28 -0
  210. package/dist/middlewares/session.mjs.map +1 -0
  211. package/dist/migrations/database/5.0.0-discard-drafts.js +109 -0
  212. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  213. package/dist/migrations/database/5.0.0-discard-drafts.mjs +109 -0
  214. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  215. package/dist/migrations/draft-publish.d.ts +1 -1
  216. package/dist/migrations/draft-publish.d.ts.map +1 -1
  217. package/dist/migrations/draft-publish.js +42 -0
  218. package/dist/migrations/draft-publish.js.map +1 -0
  219. package/dist/migrations/draft-publish.mjs +42 -0
  220. package/dist/migrations/draft-publish.mjs.map +1 -0
  221. package/dist/migrations/i18n.js +54 -0
  222. package/dist/migrations/i18n.js.map +1 -0
  223. package/dist/migrations/i18n.mjs +54 -0
  224. package/dist/migrations/i18n.mjs.map +1 -0
  225. package/dist/migrations/index.js +15 -0
  226. package/dist/migrations/index.js.map +1 -0
  227. package/dist/migrations/index.mjs +15 -0
  228. package/dist/migrations/index.mjs.map +1 -0
  229. package/dist/providers/admin.js +20 -0
  230. package/dist/providers/admin.js.map +1 -0
  231. package/dist/providers/admin.mjs +21 -0
  232. package/dist/providers/admin.mjs.map +1 -0
  233. package/dist/providers/coreStore.js +11 -0
  234. package/dist/providers/coreStore.js.map +1 -0
  235. package/dist/providers/coreStore.mjs +12 -0
  236. package/dist/providers/coreStore.mjs.map +1 -0
  237. package/dist/providers/cron.js +20 -0
  238. package/dist/providers/cron.js.map +1 -0
  239. package/dist/providers/cron.mjs +21 -0
  240. package/dist/providers/cron.mjs.map +1 -0
  241. package/dist/providers/index.js +11 -0
  242. package/dist/providers/index.js.map +1 -0
  243. package/dist/providers/index.mjs +11 -0
  244. package/dist/providers/index.mjs.map +1 -0
  245. package/dist/providers/provider.js +5 -0
  246. package/dist/providers/provider.js.map +1 -0
  247. package/dist/providers/provider.mjs +5 -0
  248. package/dist/providers/provider.mjs.map +1 -0
  249. package/dist/providers/registries.js +35 -0
  250. package/dist/providers/registries.js.map +1 -0
  251. package/dist/providers/registries.mjs +36 -0
  252. package/dist/providers/registries.mjs.map +1 -0
  253. package/dist/providers/telemetry.js +19 -0
  254. package/dist/providers/telemetry.js.map +1 -0
  255. package/dist/providers/telemetry.mjs +20 -0
  256. package/dist/providers/telemetry.mjs.map +1 -0
  257. package/dist/providers/webhooks.js +30 -0
  258. package/dist/providers/webhooks.js.map +1 -0
  259. package/dist/providers/webhooks.mjs +31 -0
  260. package/dist/providers/webhooks.mjs.map +1 -0
  261. package/dist/registries/apis.js +23 -0
  262. package/dist/registries/apis.js.map +1 -0
  263. package/dist/registries/apis.mjs +24 -0
  264. package/dist/registries/apis.mjs.map +1 -0
  265. package/dist/registries/components.js +45 -0
  266. package/dist/registries/components.js.map +1 -0
  267. package/dist/registries/components.mjs +46 -0
  268. package/dist/registries/components.mjs.map +1 -0
  269. package/dist/registries/content-types.js +70 -0
  270. package/dist/registries/content-types.js.map +1 -0
  271. package/dist/registries/content-types.mjs +71 -0
  272. package/dist/registries/content-types.mjs.map +1 -0
  273. package/dist/registries/controllers.js +80 -0
  274. package/dist/registries/controllers.js.map +1 -0
  275. package/dist/registries/controllers.mjs +81 -0
  276. package/dist/registries/controllers.mjs.map +1 -0
  277. package/dist/registries/custom-fields.js +71 -0
  278. package/dist/registries/custom-fields.js.map +1 -0
  279. package/dist/registries/custom-fields.mjs +72 -0
  280. package/dist/registries/custom-fields.mjs.map +1 -0
  281. package/dist/registries/hooks.js +58 -0
  282. package/dist/registries/hooks.js.map +1 -0
  283. package/dist/registries/hooks.mjs +59 -0
  284. package/dist/registries/hooks.mjs.map +1 -0
  285. package/dist/registries/middlewares.js +60 -0
  286. package/dist/registries/middlewares.js.map +1 -0
  287. package/dist/registries/middlewares.mjs +61 -0
  288. package/dist/registries/middlewares.mjs.map +1 -0
  289. package/dist/registries/models.js +16 -0
  290. package/dist/registries/models.js.map +1 -0
  291. package/dist/registries/models.mjs +16 -0
  292. package/dist/registries/models.mjs.map +1 -0
  293. package/dist/registries/modules.js +39 -0
  294. package/dist/registries/modules.js.map +1 -0
  295. package/dist/registries/modules.mjs +40 -0
  296. package/dist/registries/modules.mjs.map +1 -0
  297. package/dist/registries/namespace.js +27 -0
  298. package/dist/registries/namespace.js.map +1 -0
  299. package/dist/registries/namespace.mjs +27 -0
  300. package/dist/registries/namespace.mjs.map +1 -0
  301. package/dist/registries/plugins.js +23 -0
  302. package/dist/registries/plugins.js.map +1 -0
  303. package/dist/registries/plugins.mjs +24 -0
  304. package/dist/registries/plugins.mjs.map +1 -0
  305. package/dist/registries/policies.js +108 -0
  306. package/dist/registries/policies.js.map +1 -0
  307. package/dist/registries/policies.mjs +109 -0
  308. package/dist/registries/policies.mjs.map +1 -0
  309. package/dist/registries/sanitizers.js +25 -0
  310. package/dist/registries/sanitizers.js.map +1 -0
  311. package/dist/registries/sanitizers.mjs +24 -0
  312. package/dist/registries/sanitizers.mjs.map +1 -0
  313. package/dist/registries/services.js +80 -0
  314. package/dist/registries/services.js.map +1 -0
  315. package/dist/registries/services.mjs +81 -0
  316. package/dist/registries/services.mjs.map +1 -0
  317. package/dist/registries/validators.js +25 -0
  318. package/dist/registries/validators.js.map +1 -0
  319. package/dist/registries/validators.mjs +24 -0
  320. package/dist/registries/validators.mjs.map +1 -0
  321. package/dist/services/auth/index.js +81 -0
  322. package/dist/services/auth/index.js.map +1 -0
  323. package/dist/services/auth/index.mjs +80 -0
  324. package/dist/services/auth/index.mjs.map +1 -0
  325. package/dist/services/config.js +47 -0
  326. package/dist/services/config.js.map +1 -0
  327. package/dist/services/config.mjs +47 -0
  328. package/dist/services/config.mjs.map +1 -0
  329. package/dist/services/content-api/index.js +85 -0
  330. package/dist/services/content-api/index.js.map +1 -0
  331. package/dist/services/content-api/index.mjs +84 -0
  332. package/dist/services/content-api/index.mjs.map +1 -0
  333. package/dist/services/content-api/permissions/engine.js +7 -0
  334. package/dist/services/content-api/permissions/engine.js.map +1 -0
  335. package/dist/services/content-api/permissions/engine.mjs +6 -0
  336. package/dist/services/content-api/permissions/engine.mjs.map +1 -0
  337. package/dist/services/content-api/permissions/index.js +87 -0
  338. package/dist/services/content-api/permissions/index.js.map +1 -0
  339. package/dist/services/content-api/permissions/index.mjs +86 -0
  340. package/dist/services/content-api/permissions/index.mjs.map +1 -0
  341. package/dist/services/content-api/permissions/providers/action.js +16 -0
  342. package/dist/services/content-api/permissions/providers/action.js.map +1 -0
  343. package/dist/services/content-api/permissions/providers/action.mjs +17 -0
  344. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
  345. package/dist/services/content-api/permissions/providers/condition.js +16 -0
  346. package/dist/services/content-api/permissions/providers/condition.js.map +1 -0
  347. package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
  348. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
  349. package/dist/services/core-store.js +107 -0
  350. package/dist/services/core-store.js.map +1 -0
  351. package/dist/services/core-store.mjs +107 -0
  352. package/dist/services/core-store.mjs.map +1 -0
  353. package/dist/services/cron.js +67 -0
  354. package/dist/services/cron.js.map +1 -0
  355. package/dist/services/cron.mjs +68 -0
  356. package/dist/services/cron.mjs.map +1 -0
  357. package/dist/services/custom-fields.js +10 -0
  358. package/dist/services/custom-fields.js.map +1 -0
  359. package/dist/services/custom-fields.mjs +11 -0
  360. package/dist/services/custom-fields.mjs.map +1 -0
  361. package/dist/services/document-service/attributes/index.js +22 -0
  362. package/dist/services/document-service/attributes/index.js.map +1 -0
  363. package/dist/services/document-service/attributes/index.mjs +22 -0
  364. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  365. package/dist/services/document-service/attributes/transforms.js +20 -0
  366. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  367. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  368. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  369. package/dist/services/document-service/common.js +7 -0
  370. package/dist/services/document-service/common.js.map +1 -0
  371. package/dist/services/document-service/common.mjs +7 -0
  372. package/dist/services/document-service/common.mjs.map +1 -0
  373. package/dist/services/document-service/components.js +288 -0
  374. package/dist/services/document-service/components.js.map +1 -0
  375. package/dist/services/document-service/components.mjs +286 -0
  376. package/dist/services/document-service/components.mjs.map +1 -0
  377. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  378. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  379. package/dist/services/document-service/draft-and-publish.js +69 -0
  380. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  381. package/dist/services/document-service/draft-and-publish.mjs +69 -0
  382. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  383. package/dist/services/document-service/entries.js +95 -0
  384. package/dist/services/document-service/entries.js.map +1 -0
  385. package/dist/services/document-service/entries.mjs +95 -0
  386. package/dist/services/document-service/entries.mjs.map +1 -0
  387. package/dist/services/document-service/events.d.ts +1 -1
  388. package/dist/services/document-service/events.d.ts.map +1 -1
  389. package/dist/services/document-service/events.js +47 -0
  390. package/dist/services/document-service/events.js.map +1 -0
  391. package/dist/services/document-service/events.mjs +47 -0
  392. package/dist/services/document-service/events.mjs.map +1 -0
  393. package/dist/services/document-service/index.js +36 -0
  394. package/dist/services/document-service/index.js.map +1 -0
  395. package/dist/services/document-service/index.mjs +36 -0
  396. package/dist/services/document-service/index.mjs.map +1 -0
  397. package/dist/services/document-service/internationalization.js +63 -0
  398. package/dist/services/document-service/internationalization.js.map +1 -0
  399. package/dist/services/document-service/internationalization.mjs +63 -0
  400. package/dist/services/document-service/internationalization.mjs.map +1 -0
  401. package/dist/services/document-service/middlewares/errors.js +25 -0
  402. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  403. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  404. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  405. package/dist/services/document-service/middlewares/middleware-manager.js +49 -0
  406. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  407. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  408. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  409. package/dist/services/document-service/params.js +8 -0
  410. package/dist/services/document-service/params.js.map +1 -0
  411. package/dist/services/document-service/params.mjs +8 -0
  412. package/dist/services/document-service/params.mjs.map +1 -0
  413. package/dist/services/document-service/repository.js +332 -0
  414. package/dist/services/document-service/repository.js.map +1 -0
  415. package/dist/services/document-service/repository.mjs +332 -0
  416. package/dist/services/document-service/repository.mjs.map +1 -0
  417. package/dist/services/document-service/transform/data.js +15 -0
  418. package/dist/services/document-service/transform/data.js.map +1 -0
  419. package/dist/services/document-service/transform/data.mjs +15 -0
  420. package/dist/services/document-service/transform/data.mjs.map +1 -0
  421. package/dist/services/document-service/transform/fields.js +24 -0
  422. package/dist/services/document-service/transform/fields.js.map +1 -0
  423. package/dist/services/document-service/transform/fields.mjs +24 -0
  424. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  425. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  426. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  427. package/dist/services/document-service/transform/id-map.js +85 -0
  428. package/dist/services/document-service/transform/id-map.js.map +1 -0
  429. package/dist/services/document-service/transform/id-map.mjs +85 -0
  430. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  431. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  432. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  433. package/dist/services/document-service/transform/id-transform.js +33 -0
  434. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  435. package/dist/services/document-service/transform/id-transform.mjs +33 -0
  436. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  437. package/dist/services/document-service/transform/populate.js +21 -0
  438. package/dist/services/document-service/transform/populate.js.map +1 -0
  439. package/dist/services/document-service/transform/populate.mjs +21 -0
  440. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  441. package/dist/services/document-service/transform/query.js +9 -0
  442. package/dist/services/document-service/transform/query.js.map +1 -0
  443. package/dist/services/document-service/transform/query.mjs +9 -0
  444. package/dist/services/document-service/transform/query.mjs.map +1 -0
  445. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  446. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  447. package/dist/services/document-service/transform/relations/extract/data-ids.js +64 -0
  448. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  449. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +64 -0
  450. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  451. package/dist/services/document-service/transform/relations/transform/data-ids.js +85 -0
  452. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  453. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +85 -0
  454. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  455. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  456. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  457. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  458. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  459. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  460. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  461. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  462. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  463. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  464. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  465. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  466. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  467. package/dist/services/document-service/transform/relations/utils/i18n.js +25 -0
  468. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  469. package/dist/services/document-service/transform/relations/utils/i18n.mjs +25 -0
  470. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  471. package/dist/services/document-service/transform/relations/utils/map-relation.js +84 -0
  472. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  473. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +84 -0
  474. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  475. package/dist/services/document-service/utils/populate.d.ts +1 -1
  476. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  477. package/dist/services/document-service/utils/populate.js +47 -0
  478. package/dist/services/document-service/utils/populate.js.map +1 -0
  479. package/dist/services/document-service/utils/populate.mjs +47 -0
  480. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  481. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  482. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  483. package/dist/services/document-service/utils/unidirectional-relations.js +68 -0
  484. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  485. package/dist/services/document-service/utils/unidirectional-relations.mjs +68 -0
  486. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  487. package/dist/services/entity-service/index.js +169 -0
  488. package/dist/services/entity-service/index.js.map +1 -0
  489. package/dist/services/entity-service/index.mjs +167 -0
  490. package/dist/services/entity-service/index.mjs.map +1 -0
  491. package/dist/services/entity-validator/blocks-validator.js +128 -0
  492. package/dist/services/entity-validator/blocks-validator.js.map +1 -0
  493. package/dist/services/entity-validator/blocks-validator.mjs +128 -0
  494. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
  495. package/dist/services/entity-validator/index.d.ts +1 -1
  496. package/dist/services/entity-validator/index.d.ts.map +1 -1
  497. package/dist/services/entity-validator/index.js +389 -0
  498. package/dist/services/entity-validator/index.js.map +1 -0
  499. package/dist/services/entity-validator/index.mjs +388 -0
  500. package/dist/services/entity-validator/index.mjs.map +1 -0
  501. package/dist/services/entity-validator/validators.js +241 -0
  502. package/dist/services/entity-validator/validators.js.map +1 -0
  503. package/dist/services/entity-validator/validators.mjs +239 -0
  504. package/dist/services/entity-validator/validators.mjs.map +1 -0
  505. package/dist/services/errors.js +76 -0
  506. package/dist/services/errors.js.map +1 -0
  507. package/dist/services/errors.mjs +74 -0
  508. package/dist/services/errors.mjs.map +1 -0
  509. package/dist/services/event-hub.js +72 -0
  510. package/dist/services/event-hub.js.map +1 -0
  511. package/dist/services/event-hub.mjs +73 -0
  512. package/dist/services/event-hub.mjs.map +1 -0
  513. package/dist/services/features.js +17 -0
  514. package/dist/services/features.js.map +1 -0
  515. package/dist/services/features.mjs +17 -0
  516. package/dist/services/features.mjs.map +1 -0
  517. package/dist/services/fs.js +51 -0
  518. package/dist/services/fs.js.map +1 -0
  519. package/dist/services/fs.mjs +49 -0
  520. package/dist/services/fs.mjs.map +1 -0
  521. package/dist/services/metrics/admin-user-hash.js +14 -0
  522. package/dist/services/metrics/admin-user-hash.js.map +1 -0
  523. package/dist/services/metrics/admin-user-hash.mjs +12 -0
  524. package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
  525. package/dist/services/metrics/index.js +44 -0
  526. package/dist/services/metrics/index.js.map +1 -0
  527. package/dist/services/metrics/index.mjs +45 -0
  528. package/dist/services/metrics/index.mjs.map +1 -0
  529. package/dist/services/metrics/is-truthy.js +9 -0
  530. package/dist/services/metrics/is-truthy.js.map +1 -0
  531. package/dist/services/metrics/is-truthy.mjs +8 -0
  532. package/dist/services/metrics/is-truthy.mjs.map +1 -0
  533. package/dist/services/metrics/middleware.js +27 -0
  534. package/dist/services/metrics/middleware.js.map +1 -0
  535. package/dist/services/metrics/middleware.mjs +28 -0
  536. package/dist/services/metrics/middleware.mjs.map +1 -0
  537. package/dist/services/metrics/rate-limiter.js +24 -0
  538. package/dist/services/metrics/rate-limiter.js.map +1 -0
  539. package/dist/services/metrics/rate-limiter.mjs +25 -0
  540. package/dist/services/metrics/rate-limiter.mjs.map +1 -0
  541. package/dist/services/metrics/sender.js +76 -0
  542. package/dist/services/metrics/sender.js.map +1 -0
  543. package/dist/services/metrics/sender.mjs +70 -0
  544. package/dist/services/metrics/sender.mjs.map +1 -0
  545. package/dist/services/query-params.js +12 -0
  546. package/dist/services/query-params.js.map +1 -0
  547. package/dist/services/query-params.mjs +13 -0
  548. package/dist/services/query-params.mjs.map +1 -0
  549. package/dist/services/reloader.js +36 -0
  550. package/dist/services/reloader.js.map +1 -0
  551. package/dist/services/reloader.mjs +36 -0
  552. package/dist/services/reloader.mjs.map +1 -0
  553. package/dist/services/request-context.js +13 -0
  554. package/dist/services/request-context.js.map +1 -0
  555. package/dist/services/request-context.mjs +14 -0
  556. package/dist/services/request-context.mjs.map +1 -0
  557. package/dist/services/server/admin-api.js +13 -0
  558. package/dist/services/server/admin-api.js.map +1 -0
  559. package/dist/services/server/admin-api.mjs +13 -0
  560. package/dist/services/server/admin-api.mjs.map +1 -0
  561. package/dist/services/server/api.js +30 -0
  562. package/dist/services/server/api.js.map +1 -0
  563. package/dist/services/server/api.mjs +28 -0
  564. package/dist/services/server/api.mjs.map +1 -0
  565. package/dist/services/server/compose-endpoint.js +117 -0
  566. package/dist/services/server/compose-endpoint.js.map +1 -0
  567. package/dist/services/server/compose-endpoint.mjs +116 -0
  568. package/dist/services/server/compose-endpoint.mjs.map +1 -0
  569. package/dist/services/server/content-api.js +12 -0
  570. package/dist/services/server/content-api.js.map +1 -0
  571. package/dist/services/server/content-api.mjs +12 -0
  572. package/dist/services/server/content-api.mjs.map +1 -0
  573. package/dist/services/server/http-server.js +50 -0
  574. package/dist/services/server/http-server.js.map +1 -0
  575. package/dist/services/server/http-server.mjs +48 -0
  576. package/dist/services/server/http-server.mjs.map +1 -0
  577. package/dist/services/server/index.js +87 -0
  578. package/dist/services/server/index.js.map +1 -0
  579. package/dist/services/server/index.mjs +85 -0
  580. package/dist/services/server/index.mjs.map +1 -0
  581. package/dist/services/server/koa.js +52 -0
  582. package/dist/services/server/koa.js.map +1 -0
  583. package/dist/services/server/koa.mjs +48 -0
  584. package/dist/services/server/koa.mjs.map +1 -0
  585. package/dist/services/server/middleware.js +92 -0
  586. package/dist/services/server/middleware.js.map +1 -0
  587. package/dist/services/server/middleware.mjs +90 -0
  588. package/dist/services/server/middleware.mjs.map +1 -0
  589. package/dist/services/server/policy.js +20 -0
  590. package/dist/services/server/policy.js.map +1 -0
  591. package/dist/services/server/policy.mjs +20 -0
  592. package/dist/services/server/policy.mjs.map +1 -0
  593. package/dist/services/server/register-middlewares.js +72 -0
  594. package/dist/services/server/register-middlewares.js.map +1 -0
  595. package/dist/services/server/register-middlewares.mjs +73 -0
  596. package/dist/services/server/register-middlewares.mjs.map +1 -0
  597. package/dist/services/server/register-routes.js +76 -0
  598. package/dist/services/server/register-routes.js.map +1 -0
  599. package/dist/services/server/register-routes.mjs +75 -0
  600. package/dist/services/server/register-routes.mjs.map +1 -0
  601. package/dist/services/server/routing.js +91 -0
  602. package/dist/services/server/routing.js.map +1 -0
  603. package/dist/services/server/routing.mjs +89 -0
  604. package/dist/services/server/routing.mjs.map +1 -0
  605. package/dist/services/utils/dynamic-zones.js +17 -0
  606. package/dist/services/utils/dynamic-zones.js.map +1 -0
  607. package/dist/services/utils/dynamic-zones.mjs +18 -0
  608. package/dist/services/utils/dynamic-zones.mjs.map +1 -0
  609. package/dist/services/webhook-runner.js +133 -0
  610. package/dist/services/webhook-runner.js.map +1 -0
  611. package/dist/services/webhook-runner.mjs +131 -0
  612. package/dist/services/webhook-runner.mjs.map +1 -0
  613. package/dist/services/webhook-store.js +110 -0
  614. package/dist/services/webhook-store.js.map +1 -0
  615. package/dist/services/webhook-store.mjs +110 -0
  616. package/dist/services/webhook-store.mjs.map +1 -0
  617. package/dist/services/worker-queue.js +56 -0
  618. package/dist/services/worker-queue.js.map +1 -0
  619. package/dist/services/worker-queue.mjs +55 -0
  620. package/dist/services/worker-queue.mjs.map +1 -0
  621. package/dist/utils/convert-custom-field-type.js +24 -0
  622. package/dist/utils/convert-custom-field-type.js.map +1 -0
  623. package/dist/utils/convert-custom-field-type.mjs +24 -0
  624. package/dist/utils/convert-custom-field-type.mjs.map +1 -0
  625. package/dist/utils/cron.js +38 -0
  626. package/dist/utils/cron.js.map +1 -0
  627. package/dist/utils/cron.mjs +38 -0
  628. package/dist/utils/cron.mjs.map +1 -0
  629. package/dist/utils/fetch.js +21 -0
  630. package/dist/utils/fetch.js.map +1 -0
  631. package/dist/utils/fetch.mjs +21 -0
  632. package/dist/utils/fetch.mjs.map +1 -0
  633. package/dist/utils/filepath-to-prop-path.js +33 -0
  634. package/dist/utils/filepath-to-prop-path.js.map +1 -0
  635. package/dist/utils/filepath-to-prop-path.mjs +30 -0
  636. package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
  637. package/dist/utils/is-initialized.js +16 -0
  638. package/dist/utils/is-initialized.js.map +1 -0
  639. package/dist/utils/is-initialized.mjs +16 -0
  640. package/dist/utils/is-initialized.mjs.map +1 -0
  641. package/dist/utils/lifecycles.js +9 -0
  642. package/dist/utils/lifecycles.js.map +1 -0
  643. package/dist/utils/lifecycles.mjs +9 -0
  644. package/dist/utils/lifecycles.mjs.map +1 -0
  645. package/dist/utils/load-config-file.js +45 -0
  646. package/dist/utils/load-config-file.js.map +1 -0
  647. package/dist/utils/load-config-file.mjs +42 -0
  648. package/dist/utils/load-config-file.mjs.map +1 -0
  649. package/dist/utils/load-files.js +38 -0
  650. package/dist/utils/load-files.js.map +1 -0
  651. package/dist/utils/load-files.mjs +34 -0
  652. package/dist/utils/load-files.mjs.map +1 -0
  653. package/dist/utils/open-browser.js +11 -0
  654. package/dist/utils/open-browser.js.map +1 -0
  655. package/dist/utils/open-browser.mjs +9 -0
  656. package/dist/utils/open-browser.mjs.map +1 -0
  657. package/dist/utils/resolve-working-dirs.js +13 -0
  658. package/dist/utils/resolve-working-dirs.js.map +1 -0
  659. package/dist/utils/resolve-working-dirs.mjs +11 -0
  660. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  661. package/dist/utils/signals.js +17 -0
  662. package/dist/utils/signals.js.map +1 -0
  663. package/dist/utils/signals.mjs +17 -0
  664. package/dist/utils/signals.mjs.map +1 -0
  665. package/dist/utils/startup-logger.js +86 -0
  666. package/dist/utils/startup-logger.js.map +1 -0
  667. package/dist/utils/startup-logger.mjs +82 -0
  668. package/dist/utils/startup-logger.mjs.map +1 -0
  669. package/dist/utils/transform-content-types-to-models.js +288 -0
  670. package/dist/utils/transform-content-types-to-models.js.map +1 -0
  671. package/dist/utils/transform-content-types-to-models.mjs +285 -0
  672. package/dist/utils/transform-content-types-to-models.mjs.map +1 -0
  673. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  674. package/dist/utils/update-notifier/index.js +85 -0
  675. package/dist/utils/update-notifier/index.js.map +1 -0
  676. package/dist/utils/update-notifier/index.mjs +78 -0
  677. package/dist/utils/update-notifier/index.mjs.map +1 -0
  678. package/package.json +22 -22
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ const fp = require("lodash/fp");
3
+ const namespace = require("./namespace.js");
4
+ const middlewaresRegistry = () => {
5
+ const middlewares = {};
6
+ return {
7
+ /**
8
+ * Returns this list of registered middlewares uids
9
+ */
10
+ keys() {
11
+ return Object.keys(middlewares);
12
+ },
13
+ /**
14
+ * Returns the instance of a middleware. Instantiate the middleware if not already done
15
+ */
16
+ get(uid) {
17
+ return middlewares[uid];
18
+ },
19
+ /**
20
+ * Returns a map with all the middlewares in a namespace
21
+ */
22
+ getAll(namespace$1) {
23
+ return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(middlewares);
24
+ },
25
+ /**
26
+ * Registers a middleware
27
+ */
28
+ set(uid, middleware) {
29
+ middlewares[uid] = middleware;
30
+ return this;
31
+ },
32
+ /**
33
+ * Registers a map of middlewares for a specific namespace
34
+ */
35
+ add(namespace$1, rawMiddlewares = {}) {
36
+ for (const middlewareName of Object.keys(rawMiddlewares)) {
37
+ const middleware = rawMiddlewares[middlewareName];
38
+ const uid = namespace.addNamespace(middlewareName, namespace$1);
39
+ if (fp.has(uid, middlewares)) {
40
+ throw new Error(`Middleware ${uid} has already been registered.`);
41
+ }
42
+ middlewares[uid] = middleware;
43
+ }
44
+ },
45
+ /**
46
+ * Wraps a middleware to extend it
47
+ */
48
+ extend(uid, extendFn) {
49
+ const currentMiddleware = this.get(uid);
50
+ if (!currentMiddleware) {
51
+ throw new Error(`Middleware ${uid} doesn't exist`);
52
+ }
53
+ const newMiddleware = extendFn(currentMiddleware);
54
+ middlewares[uid] = newMiddleware;
55
+ return this;
56
+ }
57
+ };
58
+ };
59
+ module.exports = middlewaresRegistry;
60
+ //# sourceMappingURL=middlewares.js.map
@@ -0,0 +1 @@
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,CAAC;AAEvD,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,uBAAa,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,QAAA;AAElE,oBAAY,GAAG,IAAI;AAAA,MAAA;AAAA,IAEvB;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,MAAA;AAG7C,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;;"}
@@ -0,0 +1,61 @@
1
+ import { pickBy, has } from "lodash/fp";
2
+ import { hasNamespace, addNamespace } from "./namespace.mjs";
3
+ const middlewaresRegistry = () => {
4
+ const middlewares = {};
5
+ return {
6
+ /**
7
+ * Returns this list of registered middlewares uids
8
+ */
9
+ keys() {
10
+ return Object.keys(middlewares);
11
+ },
12
+ /**
13
+ * Returns the instance of a middleware. Instantiate the middleware if not already done
14
+ */
15
+ get(uid) {
16
+ return middlewares[uid];
17
+ },
18
+ /**
19
+ * Returns a map with all the middlewares in a namespace
20
+ */
21
+ getAll(namespace) {
22
+ return pickBy((_, uid) => hasNamespace(uid, namespace))(middlewares);
23
+ },
24
+ /**
25
+ * Registers a middleware
26
+ */
27
+ set(uid, middleware) {
28
+ middlewares[uid] = middleware;
29
+ return this;
30
+ },
31
+ /**
32
+ * Registers a map of middlewares for a specific namespace
33
+ */
34
+ add(namespace, rawMiddlewares = {}) {
35
+ for (const middlewareName of Object.keys(rawMiddlewares)) {
36
+ const middleware = rawMiddlewares[middlewareName];
37
+ const uid = addNamespace(middlewareName, namespace);
38
+ if (has(uid, middlewares)) {
39
+ throw new Error(`Middleware ${uid} has already been registered.`);
40
+ }
41
+ middlewares[uid] = middleware;
42
+ }
43
+ },
44
+ /**
45
+ * Wraps a middleware to extend it
46
+ */
47
+ extend(uid, extendFn) {
48
+ const currentMiddleware = this.get(uid);
49
+ if (!currentMiddleware) {
50
+ throw new Error(`Middleware ${uid} doesn't exist`);
51
+ }
52
+ const newMiddleware = extendFn(currentMiddleware);
53
+ middlewares[uid] = newMiddleware;
54
+ return this;
55
+ }
56
+ };
57
+ };
58
+ export {
59
+ middlewaresRegistry as default
60
+ };
61
+ //# sourceMappingURL=middlewares.mjs.map
@@ -0,0 +1 @@
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,CAAC;AAEvD,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,QAAA;AAElE,oBAAY,GAAG,IAAI;AAAA,MAAA;AAAA,IAEvB;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,MAAA;AAG7C,YAAA,gBAAgB,SAAS,iBAAiB;AAChD,kBAAY,GAAG,IAAI;AAEZ,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const registry = () => {
4
+ const models = [];
5
+ return {
6
+ add(model) {
7
+ models.push(model);
8
+ return this;
9
+ },
10
+ get() {
11
+ return models;
12
+ }
13
+ };
14
+ };
15
+ exports.registry = registry;
16
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sources":["../../src/registries/models.ts"],"sourcesContent":["import { Model } from '@strapi/database';\n\nexport const registry = () => {\n const models: Model[] = [];\n\n return {\n add(model: Model) {\n models.push(model);\n return this;\n },\n\n get() {\n return models;\n },\n };\n};\n"],"names":[],"mappings":";;AAEO,MAAM,WAAW,MAAM;AAC5B,QAAM,SAAkB,CAAC;AAElB,SAAA;AAAA,IACL,IAAI,OAAc;AAChB,aAAO,KAAK,KAAK;AACV,aAAA;AAAA,IACT;AAAA,IAEA,MAAM;AACG,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;;"}
@@ -0,0 +1,16 @@
1
+ const registry = () => {
2
+ const models = [];
3
+ return {
4
+ add(model) {
5
+ models.push(model);
6
+ return this;
7
+ },
8
+ get() {
9
+ return models;
10
+ }
11
+ };
12
+ };
13
+ export {
14
+ registry
15
+ };
16
+ //# sourceMappingURL=models.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.mjs","sources":["../../src/registries/models.ts"],"sourcesContent":["import { Model } from '@strapi/database';\n\nexport const registry = () => {\n const models: Model[] = [];\n\n return {\n add(model: Model) {\n models.push(model);\n return this;\n },\n\n get() {\n return models;\n },\n };\n};\n"],"names":[],"mappings":"AAEO,MAAM,WAAW,MAAM;AAC5B,QAAM,SAAkB,CAAC;AAElB,SAAA;AAAA,IACL,IAAI,OAAc;AAChB,aAAO,KAAK,KAAK;AACV,aAAA;AAAA,IACT;AAAA,IAEA,MAAM;AACG,aAAA;AAAA,IAAA;AAAA,EAEX;AACF;"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ const fp = require("lodash/fp");
3
+ const index = require("../domain/module/index.js");
4
+ const modulesRegistry = (strapi) => {
5
+ const modules = {};
6
+ return {
7
+ get(namespace) {
8
+ return modules[namespace];
9
+ },
10
+ getAll(prefix = "") {
11
+ return fp.pickBy((mod, namespace) => namespace.startsWith(prefix))(modules);
12
+ },
13
+ add(namespace, rawModule) {
14
+ if (fp.has(namespace, modules)) {
15
+ throw new Error(`Module ${namespace} has already been registered.`);
16
+ }
17
+ modules[namespace] = index.createModule(namespace, rawModule, strapi);
18
+ modules[namespace].load();
19
+ return modules[namespace];
20
+ },
21
+ async bootstrap() {
22
+ for (const mod of Object.values(modules)) {
23
+ await mod.bootstrap();
24
+ }
25
+ },
26
+ async register() {
27
+ for (const mod of Object.values(modules)) {
28
+ await mod.register();
29
+ }
30
+ },
31
+ async destroy() {
32
+ for (const mod of Object.values(modules)) {
33
+ await mod.destroy();
34
+ }
35
+ }
36
+ };
37
+ };
38
+ module.exports = modulesRegistry;
39
+ //# sourceMappingURL=modules.js.map
@@ -0,0 +1 @@
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,CAAC;AAErB,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,MAAA;AAGpE,cAAQ,SAAS,IAAIC,MAAAA,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE,KAAK;AAExB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,UAAU;AAAA,MAAA;AAAA,IAExB;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,QAAQ;AAAA,MAAA;AAAA,IACpB;AAAA,EAEJ;AACF;;"}
@@ -0,0 +1,40 @@
1
+ import { pickBy, has } from "lodash/fp";
2
+ import { createModule } from "../domain/module/index.mjs";
3
+ const modulesRegistry = (strapi) => {
4
+ const modules = {};
5
+ return {
6
+ get(namespace) {
7
+ return modules[namespace];
8
+ },
9
+ getAll(prefix = "") {
10
+ return pickBy((mod, namespace) => namespace.startsWith(prefix))(modules);
11
+ },
12
+ add(namespace, rawModule) {
13
+ if (has(namespace, modules)) {
14
+ throw new Error(`Module ${namespace} has already been registered.`);
15
+ }
16
+ modules[namespace] = createModule(namespace, rawModule, strapi);
17
+ modules[namespace].load();
18
+ return modules[namespace];
19
+ },
20
+ async bootstrap() {
21
+ for (const mod of Object.values(modules)) {
22
+ await mod.bootstrap();
23
+ }
24
+ },
25
+ async register() {
26
+ for (const mod of Object.values(modules)) {
27
+ await mod.register();
28
+ }
29
+ },
30
+ async destroy() {
31
+ for (const mod of Object.values(modules)) {
32
+ await mod.destroy();
33
+ }
34
+ }
35
+ };
36
+ };
37
+ export {
38
+ modulesRegistry as default
39
+ };
40
+ //# sourceMappingURL=modules.mjs.map
@@ -0,0 +1 @@
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,CAAC;AAErB,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,MAAA;AAGpE,cAAQ,SAAS,IAAI,aAAa,WAAW,WAAW,MAAM;AACtD,cAAA,SAAS,EAAE,KAAK;AAExB,aAAO,QAAQ,SAAS;AAAA,IAC1B;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,UAAU;AAAA,MAAA;AAAA,IAExB;AAAA,IACA,MAAM,WAAW;AACf,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,SAAS;AAAA,MAAA;AAAA,IAEvB;AAAA,IACA,MAAM,UAAU;AACd,iBAAW,OAAO,OAAO,OAAO,OAAO,GAAG;AACxC,cAAM,IAAI,QAAQ;AAAA,MAAA;AAAA,IACpB;AAAA,EAEJ;AACF;"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const hasNamespace = (name, namespace) => {
4
+ if (!namespace) {
5
+ return true;
6
+ }
7
+ if (namespace.endsWith("::")) {
8
+ return name.startsWith(namespace);
9
+ }
10
+ return name.startsWith(`${namespace}.`);
11
+ };
12
+ const addNamespace = (name, namespace) => {
13
+ if (namespace.endsWith("::")) {
14
+ return `${namespace}${name}`;
15
+ }
16
+ return `${namespace}.${name}`;
17
+ };
18
+ const removeNamespace = (name, namespace) => {
19
+ if (namespace.endsWith("::")) {
20
+ return name.replace(namespace, "");
21
+ }
22
+ return name.replace(`${namespace}.`, "");
23
+ };
24
+ exports.addNamespace = addNamespace;
25
+ exports.hasNamespace = hasNamespace;
26
+ exports.removeNamespace = removeNamespace;
27
+ //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.js","sources":["../../src/registries/namespace.ts"],"sourcesContent":["const hasNamespace = (name: string, namespace: string) => {\n if (!namespace) {\n return true;\n }\n\n if (namespace.endsWith('::')) {\n return name.startsWith(namespace);\n }\n return name.startsWith(`${namespace}.`);\n};\n\nconst addNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return `${namespace}${name}`;\n }\n return `${namespace}.${name}`;\n};\n\nconst removeNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return name.replace(namespace, '');\n }\n return name.replace(`${namespace}.`, '');\n};\n\nexport { addNamespace, removeNamespace, hasNamespace };\n"],"names":[],"mappings":";;AAAM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACxD,MAAI,CAAC,WAAW;AACP,WAAA;AAAA,EAAA;AAGL,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,WAAW,SAAS;AAAA,EAAA;AAElC,SAAO,KAAK,WAAW,GAAG,SAAS,GAAG;AACxC;AAEM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACpD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,GAAG,SAAS,GAAG,IAAI;AAAA,EAAA;AAErB,SAAA,GAAG,SAAS,IAAI,IAAI;AAC7B;AAEM,MAAA,kBAAkB,CAAC,MAAc,cAAsB;AACvD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,QAAQ,WAAW,EAAE;AAAA,EAAA;AAEnC,SAAO,KAAK,QAAQ,GAAG,SAAS,KAAK,EAAE;AACzC;;;;"}
@@ -0,0 +1,27 @@
1
+ const hasNamespace = (name, namespace) => {
2
+ if (!namespace) {
3
+ return true;
4
+ }
5
+ if (namespace.endsWith("::")) {
6
+ return name.startsWith(namespace);
7
+ }
8
+ return name.startsWith(`${namespace}.`);
9
+ };
10
+ const addNamespace = (name, namespace) => {
11
+ if (namespace.endsWith("::")) {
12
+ return `${namespace}${name}`;
13
+ }
14
+ return `${namespace}.${name}`;
15
+ };
16
+ const removeNamespace = (name, namespace) => {
17
+ if (namespace.endsWith("::")) {
18
+ return name.replace(namespace, "");
19
+ }
20
+ return name.replace(`${namespace}.`, "");
21
+ };
22
+ export {
23
+ addNamespace,
24
+ hasNamespace,
25
+ removeNamespace
26
+ };
27
+ //# sourceMappingURL=namespace.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.mjs","sources":["../../src/registries/namespace.ts"],"sourcesContent":["const hasNamespace = (name: string, namespace: string) => {\n if (!namespace) {\n return true;\n }\n\n if (namespace.endsWith('::')) {\n return name.startsWith(namespace);\n }\n return name.startsWith(`${namespace}.`);\n};\n\nconst addNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return `${namespace}${name}`;\n }\n return `${namespace}.${name}`;\n};\n\nconst removeNamespace = (name: string, namespace: string) => {\n if (namespace.endsWith('::')) {\n return name.replace(namespace, '');\n }\n return name.replace(`${namespace}.`, '');\n};\n\nexport { addNamespace, removeNamespace, hasNamespace };\n"],"names":[],"mappings":"AAAM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACxD,MAAI,CAAC,WAAW;AACP,WAAA;AAAA,EAAA;AAGL,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,WAAW,SAAS;AAAA,EAAA;AAElC,SAAO,KAAK,WAAW,GAAG,SAAS,GAAG;AACxC;AAEM,MAAA,eAAe,CAAC,MAAc,cAAsB;AACpD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,GAAG,SAAS,GAAG,IAAI;AAAA,EAAA;AAErB,SAAA,GAAG,SAAS,IAAI,IAAI;AAC7B;AAEM,MAAA,kBAAkB,CAAC,MAAc,cAAsB;AACvD,MAAA,UAAU,SAAS,IAAI,GAAG;AACrB,WAAA,KAAK,QAAQ,WAAW,EAAE;AAAA,EAAA;AAEnC,SAAO,KAAK,QAAQ,GAAG,SAAS,KAAK,EAAE;AACzC;"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ const fp = require("lodash/fp");
3
+ const pluginsRegistry = (strapi) => {
4
+ const plugins = {};
5
+ return {
6
+ get(name) {
7
+ return plugins[name];
8
+ },
9
+ getAll() {
10
+ return plugins;
11
+ },
12
+ add(name, pluginConfig) {
13
+ if (fp.has(name, plugins)) {
14
+ throw new Error(`Plugin ${name} has already been registered.`);
15
+ }
16
+ const pluginModule = strapi.get("modules").add(`plugin::${name}`, pluginConfig);
17
+ plugins[name] = pluginModule;
18
+ return plugins[name];
19
+ }
20
+ };
21
+ };
22
+ module.exports = pluginsRegistry;
23
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
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,CAAC;AAErB,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,MAAA;AAGzD,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IAAA;AAAA,EAEvB;AACF;;"}
@@ -0,0 +1,24 @@
1
+ import { has } from "lodash/fp";
2
+ const pluginsRegistry = (strapi) => {
3
+ const plugins = {};
4
+ return {
5
+ get(name) {
6
+ return plugins[name];
7
+ },
8
+ getAll() {
9
+ return plugins;
10
+ },
11
+ add(name, pluginConfig) {
12
+ if (has(name, plugins)) {
13
+ throw new Error(`Plugin ${name} has already been registered.`);
14
+ }
15
+ const pluginModule = strapi.get("modules").add(`plugin::${name}`, pluginConfig);
16
+ plugins[name] = pluginModule;
17
+ return plugins[name];
18
+ }
19
+ };
20
+ };
21
+ export {
22
+ pluginsRegistry as default
23
+ };
24
+ //# sourceMappingURL=plugins.mjs.map
@@ -0,0 +1 @@
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,CAAC;AAErB,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,MAAA;AAGzD,YAAA,eAAe,OAAO,IAAI,SAAS,EAAE,IAAI,WAAW,IAAI,IAAI,YAAY;AAC9E,cAAQ,IAAI,IAAI;AAEhB,aAAO,QAAQ,IAAI;AAAA,IAAA;AAAA,EAEvB;AACF;"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ const fp = require("lodash/fp");
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
+ };
13
+ const policiesRegistry = () => {
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
+ }
47
+ return {
48
+ /**
49
+ * Returns this list of registered policies uids
50
+ */
51
+ keys() {
52
+ return Array.from(policies.keys());
53
+ },
54
+ /**
55
+ * Returns the instance of a policy. Instantiate the policy if not already done
56
+ */
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;
66
+ },
67
+ /**
68
+ * Returns a map with all the policies in a namespace
69
+ */
70
+ getAll(namespace$1) {
71
+ return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(Object.fromEntries(policies));
72
+ },
73
+ /**
74
+ * Registers a policy
75
+ */
76
+ set(uid, policy) {
77
+ policies.set(uid, policy);
78
+ return this;
79
+ },
80
+ /**
81
+ * Registers a map of policies for a specific namespace
82
+ */
83
+ add(namespace$1, newPolicies) {
84
+ for (const policyName of Object.keys(newPolicies)) {
85
+ const policy = newPolicies[policyName];
86
+ const uid = namespace.addNamespace(policyName, namespace$1);
87
+ if (fp.has(uid, policies)) {
88
+ throw new Error(`Policy ${uid} has already been registered.`);
89
+ }
90
+ policies.set(uid, policy);
91
+ }
92
+ },
93
+ /**
94
+ * Resolves a list of policies
95
+ */
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
+ });
104
+ }
105
+ };
106
+ };
107
+ module.exports = policiesRegistry;
108
+ //# sourceMappingURL=policies.js.map
@@ -0,0 +1 @@
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,CAAA,EAAG;AAAA,EAAA;AAGpC,QAAA,EAAE,MAAM,OAAA,IAAW;AAClB,SAAA,EAAE,YAAY,MAAM,OAAO;AACpC;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe,IAAyB;AAExC,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAG5C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IAAA;AAGT,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAAA;AAG7D,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IAAA;AAAA,EAEzD;AAOS,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,IAAA;AAGH,UAAM,EAAE,YAAY,WAAW,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IAAA;AAG/C,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IAAA;AAGT,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IAAA;AAGzB,WAAO,OAAO;AAAA,EAAA;AAGT,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAA,CAAM;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,QAAA;AAGrD,iBAAA,IAAI,KAAK,MAAM;AAAA,MAAA;AAAA,IAE5B;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAElD,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,CAAA;AAAA,QACvE;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AACF;;"}
@@ -0,0 +1,109 @@
1
+ import { pickBy, has, castArray } from "lodash/fp";
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
+ };
12
+ const policiesRegistry = () => {
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
+ }
46
+ return {
47
+ /**
48
+ * Returns this list of registered policies uids
49
+ */
50
+ keys() {
51
+ return Array.from(policies.keys());
52
+ },
53
+ /**
54
+ * Returns the instance of a policy. Instantiate the policy if not already done
55
+ */
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;
65
+ },
66
+ /**
67
+ * Returns a map with all the policies in a namespace
68
+ */
69
+ getAll(namespace) {
70
+ return pickBy((_, uid) => hasNamespace(uid, namespace))(Object.fromEntries(policies));
71
+ },
72
+ /**
73
+ * Registers a policy
74
+ */
75
+ set(uid, policy) {
76
+ policies.set(uid, policy);
77
+ return this;
78
+ },
79
+ /**
80
+ * Registers a map of policies for a specific namespace
81
+ */
82
+ add(namespace, newPolicies) {
83
+ for (const policyName of Object.keys(newPolicies)) {
84
+ const policy = newPolicies[policyName];
85
+ const uid = addNamespace(policyName, namespace);
86
+ if (has(uid, policies)) {
87
+ throw new Error(`Policy ${uid} has already been registered.`);
88
+ }
89
+ policies.set(uid, policy);
90
+ }
91
+ },
92
+ /**
93
+ * Resolves a list of policies
94
+ */
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
+ });
103
+ }
104
+ };
105
+ };
106
+ export {
107
+ policiesRegistry as default
108
+ };
109
+ //# sourceMappingURL=policies.mjs.map
@@ -0,0 +1 @@
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,CAAA,EAAG;AAAA,EAAA;AAGpC,QAAA,EAAE,MAAM,OAAA,IAAW;AAClB,SAAA,EAAE,YAAY,MAAM,OAAO;AACpC;AAEA,MAAM,mBAAmB,MAAM;AACvB,QAAA,+BAAe,IAAyB;AAExC,QAAA,OAAO,CAAC,MAAc,kBAAkC;AAC5D,UAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAG5C,UAAA,SAAS,SAAS,IAAI,IAAI;AAEhC,QAAI,QAAQ;AACH,aAAA;AAAA,IAAA;AAGT,QAAI,YAAY;AACP,aAAA,SAAS,IAAI,GAAG,aAAa,GAAG,UAAU,IAAI,IAAI,EAAE;AAAA,IAAA;AAG7D,QAAI,SAAS;AACJ,aAAA,SAAS,IAAI,GAAG,UAAU,GAAG,OAAO,IAAI,IAAI,EAAE;AAAA,IAAA;AAAA,EAEzD;AAOS,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,IAAA;AAGH,UAAM,EAAE,YAAY,WAAW,YAAY,YAAY;AAEjD,UAAA,SAAS,KAAK,YAAY,aAAa;AAE7C,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,UAAU,aAAa;AAAA,IAAA;AAG/C,QAAA,OAAO,WAAW,YAAY;AACzB,aAAA;AAAA,IAAA;AAGT,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,MAAM;AAAA,IAAA;AAGzB,WAAO,OAAO;AAAA,EAAA;AAGT,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAEL,aAAO,MAAM,KAAK,SAAS,KAAA,CAAM;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,QAAA;AAGrD,iBAAA,IAAI,KAAK,MAAM;AAAA,MAAA;AAAA,IAE5B;AAAA;AAAA;AAAA;AAAA,IAKA,QAAQ,QAAuC,eAA+B;AAC5E,YAAM,EAAE,YAAY,QAAQ,IAAI,iBAAiB,CAAC;AAElD,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,CAAA;AAAA,QACvE;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AACF;"}