@strapi/core 5.56.0 → 5.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/dist/Strapi.d.ts +29 -0
  2. package/dist/Strapi.d.ts.map +1 -1
  3. package/dist/Strapi.js +10 -3
  4. package/dist/Strapi.js.map +1 -1
  5. package/dist/Strapi.mjs +10 -3
  6. package/dist/Strapi.mjs.map +1 -1
  7. package/dist/configuration/get-dirs.js +2 -2
  8. package/dist/configuration/get-dirs.js.map +1 -1
  9. package/dist/configuration/get-dirs.mjs +2 -2
  10. package/dist/configuration/get-dirs.mjs.map +1 -1
  11. package/dist/configuration/index.d.ts +1 -2
  12. package/dist/configuration/index.d.ts.map +1 -1
  13. package/dist/configuration/index.js +1 -2
  14. package/dist/configuration/index.js.map +1 -1
  15. package/dist/configuration/index.mjs +2 -3
  16. package/dist/configuration/index.mjs.map +1 -1
  17. package/dist/core-api/controller/collection-type.js +3 -3
  18. package/dist/core-api/controller/collection-type.js.map +1 -1
  19. package/dist/core-api/controller/collection-type.mjs +1 -1
  20. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  21. package/dist/core-api/controller/index.js +2 -2
  22. package/dist/core-api/controller/index.js.map +1 -1
  23. package/dist/core-api/controller/index.mjs +2 -2
  24. package/dist/core-api/controller/index.mjs.map +1 -1
  25. package/dist/core-api/controller/single-type.js +2 -2
  26. package/dist/core-api/controller/single-type.js.map +1 -1
  27. package/dist/core-api/controller/single-type.mjs +1 -1
  28. package/dist/core-api/controller/single-type.mjs.map +1 -1
  29. package/dist/core-api/controller/transform.d.ts +1 -4
  30. package/dist/core-api/controller/transform.d.ts.map +1 -1
  31. package/dist/core-api/controller/transform.js +8 -8
  32. package/dist/core-api/controller/transform.js.map +1 -1
  33. package/dist/core-api/controller/transform.mjs +5 -5
  34. package/dist/core-api/controller/transform.mjs.map +1 -1
  35. package/dist/core-api/routes/index.js +1 -1
  36. package/dist/core-api/routes/index.js.map +1 -1
  37. package/dist/core-api/routes/index.mjs +1 -1
  38. package/dist/core-api/routes/index.mjs.map +1 -1
  39. package/dist/core-api/service/pagination.js +9 -9
  40. package/dist/core-api/service/pagination.js.map +1 -1
  41. package/dist/core-api/service/pagination.mjs +7 -7
  42. package/dist/core-api/service/pagination.mjs.map +1 -1
  43. package/dist/domain/content-type/index.d.ts.map +1 -1
  44. package/dist/domain/content-type/index.js +1 -2
  45. package/dist/domain/content-type/index.js.map +1 -1
  46. package/dist/domain/content-type/index.mjs +1 -2
  47. package/dist/domain/content-type/index.mjs.map +1 -1
  48. package/dist/ee/entitlements.d.ts +44 -0
  49. package/dist/ee/entitlements.d.ts.map +1 -0
  50. package/dist/ee/entitlements.js +54 -0
  51. package/dist/ee/entitlements.js.map +1 -0
  52. package/dist/ee/entitlements.mjs +51 -0
  53. package/dist/ee/entitlements.mjs.map +1 -0
  54. package/dist/ee/index.d.ts +33 -0
  55. package/dist/ee/index.d.ts.map +1 -1
  56. package/dist/ee/index.js +74 -7
  57. package/dist/ee/index.js.map +1 -1
  58. package/dist/ee/index.mjs +74 -7
  59. package/dist/ee/index.mjs.map +1 -1
  60. package/dist/ee/license.d.ts +10 -0
  61. package/dist/ee/license.d.ts.map +1 -1
  62. package/dist/ee/license.js +25 -1
  63. package/dist/ee/license.js.map +1 -1
  64. package/dist/ee/license.mjs +25 -2
  65. package/dist/ee/license.mjs.map +1 -1
  66. package/dist/factories.d.ts.map +1 -1
  67. package/dist/factories.js +3 -2
  68. package/dist/factories.js.map +1 -1
  69. package/dist/factories.mjs +3 -2
  70. package/dist/factories.mjs.map +1 -1
  71. package/dist/index.js +1 -1
  72. package/dist/index.mjs +1 -1
  73. package/dist/loaders/apis.d.ts.map +1 -1
  74. package/dist/loaders/apis.js +1 -2
  75. package/dist/loaders/apis.js.map +1 -1
  76. package/dist/loaders/apis.mjs +1 -2
  77. package/dist/loaders/apis.mjs.map +1 -1
  78. package/dist/loaders/plugins/get-enabled-plugins.d.ts +1 -1
  79. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  80. package/dist/loaders/plugins/get-enabled-plugins.js +6 -5
  81. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  82. package/dist/loaders/plugins/get-enabled-plugins.mjs +6 -5
  83. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  84. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  85. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  86. package/dist/loaders/plugins/get-user-plugins-config.mjs +2 -2
  87. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  88. package/dist/loaders/plugins/index.js +9 -12
  89. package/dist/loaders/plugins/index.js.map +1 -1
  90. package/dist/loaders/plugins/index.mjs +9 -12
  91. package/dist/loaders/plugins/index.mjs.map +1 -1
  92. package/dist/middlewares/body.js +2 -2
  93. package/dist/middlewares/body.js.map +1 -1
  94. package/dist/middlewares/body.mjs +2 -2
  95. package/dist/middlewares/body.mjs.map +1 -1
  96. package/dist/middlewares/public.js +2 -2
  97. package/dist/middlewares/public.js.map +1 -1
  98. package/dist/middlewares/public.mjs +2 -2
  99. package/dist/middlewares/public.mjs.map +1 -1
  100. package/dist/middlewares/responses.d.ts.map +1 -1
  101. package/dist/middlewares/responses.js +1 -3
  102. package/dist/middlewares/responses.js.map +1 -1
  103. package/dist/middlewares/responses.mjs +1 -3
  104. package/dist/middlewares/responses.mjs.map +1 -1
  105. package/dist/middlewares/security.d.ts.map +1 -1
  106. package/dist/middlewares/security.js +3 -3
  107. package/dist/middlewares/security.js.map +1 -1
  108. package/dist/middlewares/security.mjs +3 -3
  109. package/dist/middlewares/security.mjs.map +1 -1
  110. package/dist/middlewares/session.js +2 -2
  111. package/dist/middlewares/session.js.map +1 -1
  112. package/dist/middlewares/session.mjs +2 -2
  113. package/dist/middlewares/session.mjs.map +1 -1
  114. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  115. package/dist/migrations/database/5.0.0-discard-drafts.js +1 -2
  116. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  117. package/dist/migrations/database/5.0.0-discard-drafts.mjs +1 -2
  118. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  119. package/dist/migrations/i18n.d.ts.map +1 -1
  120. package/dist/migrations/i18n.js +6 -4
  121. package/dist/migrations/i18n.js.map +1 -1
  122. package/dist/migrations/i18n.mjs +6 -4
  123. package/dist/migrations/i18n.mjs.map +1 -1
  124. package/dist/package.json.js +16 -16
  125. package/dist/package.json.mjs +16 -16
  126. package/dist/registries/apis.js +2 -2
  127. package/dist/registries/apis.js.map +1 -1
  128. package/dist/registries/apis.mjs +2 -2
  129. package/dist/registries/apis.mjs.map +1 -1
  130. package/dist/registries/components.js +2 -2
  131. package/dist/registries/components.js.map +1 -1
  132. package/dist/registries/components.mjs +2 -2
  133. package/dist/registries/components.mjs.map +1 -1
  134. package/dist/registries/content-types.d.ts +1 -1
  135. package/dist/registries/content-types.js +3 -3
  136. package/dist/registries/content-types.js.map +1 -1
  137. package/dist/registries/content-types.mjs +3 -3
  138. package/dist/registries/content-types.mjs.map +1 -1
  139. package/dist/registries/controllers.js +3 -3
  140. package/dist/registries/controllers.js.map +1 -1
  141. package/dist/registries/controllers.mjs +3 -3
  142. package/dist/registries/controllers.mjs.map +1 -1
  143. package/dist/registries/custom-fields.js +4 -4
  144. package/dist/registries/custom-fields.js.map +1 -1
  145. package/dist/registries/custom-fields.mjs +4 -4
  146. package/dist/registries/custom-fields.mjs.map +1 -1
  147. package/dist/registries/hooks.d.ts +1 -1
  148. package/dist/registries/hooks.js +2 -2
  149. package/dist/registries/hooks.js.map +1 -1
  150. package/dist/registries/hooks.mjs +2 -2
  151. package/dist/registries/hooks.mjs.map +1 -1
  152. package/dist/registries/middlewares.d.ts +1 -1
  153. package/dist/registries/middlewares.js +3 -3
  154. package/dist/registries/middlewares.js.map +1 -1
  155. package/dist/registries/middlewares.mjs +3 -3
  156. package/dist/registries/middlewares.mjs.map +1 -1
  157. package/dist/registries/modules.d.ts +1 -4
  158. package/dist/registries/modules.d.ts.map +1 -1
  159. package/dist/registries/modules.js +3 -3
  160. package/dist/registries/modules.js.map +1 -1
  161. package/dist/registries/modules.mjs +3 -3
  162. package/dist/registries/modules.mjs.map +1 -1
  163. package/dist/registries/plugins.js +2 -2
  164. package/dist/registries/plugins.js.map +1 -1
  165. package/dist/registries/plugins.mjs +2 -2
  166. package/dist/registries/plugins.mjs.map +1 -1
  167. package/dist/registries/policies.d.ts +1 -1
  168. package/dist/registries/policies.js +4 -4
  169. package/dist/registries/policies.js.map +1 -1
  170. package/dist/registries/policies.mjs +3 -3
  171. package/dist/registries/policies.mjs.map +1 -1
  172. package/dist/registries/services.js +3 -3
  173. package/dist/registries/services.js.map +1 -1
  174. package/dist/registries/services.mjs +3 -3
  175. package/dist/registries/services.mjs.map +1 -1
  176. package/dist/services/auth/index.js +3 -3
  177. package/dist/services/auth/index.js.map +1 -1
  178. package/dist/services/auth/index.mjs +3 -3
  179. package/dist/services/auth/index.mjs.map +1 -1
  180. package/dist/services/core-store.js +3 -3
  181. package/dist/services/core-store.js.map +1 -1
  182. package/dist/services/core-store.mjs +1 -1
  183. package/dist/services/core-store.mjs.map +1 -1
  184. package/dist/services/cron.d.ts.map +1 -1
  185. package/dist/services/cron.js +2 -4
  186. package/dist/services/cron.js.map +1 -1
  187. package/dist/services/cron.mjs +2 -4
  188. package/dist/services/cron.mjs.map +1 -1
  189. package/dist/services/document-service/attributes/index.js +2 -2
  190. package/dist/services/document-service/attributes/index.js.map +1 -1
  191. package/dist/services/document-service/attributes/index.mjs +1 -1
  192. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  193. package/dist/services/document-service/attributes/transforms.js +3 -3
  194. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  195. package/dist/services/document-service/attributes/transforms.mjs +2 -2
  196. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  197. package/dist/services/document-service/components.d.ts.map +1 -1
  198. package/dist/services/document-service/components.js +13 -14
  199. package/dist/services/document-service/components.js.map +1 -1
  200. package/dist/services/document-service/components.mjs +12 -13
  201. package/dist/services/document-service/components.mjs.map +1 -1
  202. package/dist/services/document-service/draft-and-publish.js +65 -38
  203. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  204. package/dist/services/document-service/draft-and-publish.mjs +59 -32
  205. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  206. package/dist/services/document-service/entries.d.ts +2 -2
  207. package/dist/services/document-service/entries.d.ts.map +1 -1
  208. package/dist/services/document-service/entries.js +16 -8
  209. package/dist/services/document-service/entries.js.map +1 -1
  210. package/dist/services/document-service/entries.mjs +17 -9
  211. package/dist/services/document-service/entries.mjs.map +1 -1
  212. package/dist/services/document-service/first-published-at.js +7 -5
  213. package/dist/services/document-service/first-published-at.js.map +1 -1
  214. package/dist/services/document-service/first-published-at.mjs +7 -5
  215. package/dist/services/document-service/first-published-at.mjs.map +1 -1
  216. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  217. package/dist/services/document-service/internationalization.js +37 -28
  218. package/dist/services/document-service/internationalization.js.map +1 -1
  219. package/dist/services/document-service/internationalization.mjs +33 -24
  220. package/dist/services/document-service/internationalization.mjs.map +1 -1
  221. package/dist/services/document-service/params.d.ts +1 -0
  222. package/dist/services/document-service/params.d.ts.map +1 -1
  223. package/dist/services/document-service/params.js +6 -4
  224. package/dist/services/document-service/params.js.map +1 -1
  225. package/dist/services/document-service/params.mjs +6 -5
  226. package/dist/services/document-service/params.mjs.map +1 -1
  227. package/dist/services/document-service/repository.d.ts.map +1 -1
  228. package/dist/services/document-service/repository.js +84 -61
  229. package/dist/services/document-service/repository.js.map +1 -1
  230. package/dist/services/document-service/repository.mjs +47 -24
  231. package/dist/services/document-service/repository.mjs.map +1 -1
  232. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  233. package/dist/services/document-service/transform/fields.js +7 -1
  234. package/dist/services/document-service/transform/fields.js.map +1 -1
  235. package/dist/services/document-service/transform/fields.mjs +7 -1
  236. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  237. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  238. package/dist/services/document-service/transform/id-map.js +2 -1
  239. package/dist/services/document-service/transform/id-map.js.map +1 -1
  240. package/dist/services/document-service/transform/id-map.mjs +2 -1
  241. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  242. package/dist/services/document-service/transform/id-transform.js +2 -2
  243. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  244. package/dist/services/document-service/transform/id-transform.mjs +1 -1
  245. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  246. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  247. package/dist/services/document-service/transform/populate.js +8 -1
  248. package/dist/services/document-service/transform/populate.js.map +1 -1
  249. package/dist/services/document-service/transform/populate.mjs +8 -1
  250. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  251. package/dist/services/document-service/transform/query.d.ts +3 -1
  252. package/dist/services/document-service/transform/query.d.ts.map +1 -1
  253. package/dist/services/document-service/transform/query.js +12 -6
  254. package/dist/services/document-service/transform/query.js.map +1 -1
  255. package/dist/services/document-service/transform/query.mjs +11 -5
  256. package/dist/services/document-service/transform/query.mjs.map +1 -1
  257. package/dist/services/document-service/transform/relations/extract/data-ids.js +2 -2
  258. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  259. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +1 -1
  260. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  261. package/dist/services/document-service/transform/relations/transform/data-ids.js +2 -2
  262. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  263. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +1 -1
  264. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  265. package/dist/services/document-service/transform/relations/transform/default-locale.js +1 -1
  266. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  267. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +1 -1
  268. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  269. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  270. package/dist/services/document-service/transform/relations/utils/dp.js +1 -2
  271. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  272. package/dist/services/document-service/transform/relations/utils/dp.mjs +1 -2
  273. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  274. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +2 -2
  275. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  276. package/dist/services/document-service/transform/relations/utils/i18n.js +2 -2
  277. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  278. package/dist/services/document-service/transform/relations/utils/i18n.mjs +2 -2
  279. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  280. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  281. package/dist/services/document-service/transform/relations/utils/map-relation.js +16 -10
  282. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  283. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +13 -7
  284. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  285. package/dist/services/document-service/transform/relations/utils/xto-one.js +3 -3
  286. package/dist/services/document-service/transform/relations/utils/xto-one.js.map +1 -1
  287. package/dist/services/document-service/transform/relations/utils/xto-one.mjs +2 -2
  288. package/dist/services/document-service/transform/relations/utils/xto-one.mjs.map +1 -1
  289. package/dist/services/document-service/utils/bidirectional-relations.js +3 -3
  290. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -1
  291. package/dist/services/document-service/utils/bidirectional-relations.mjs +3 -3
  292. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -1
  293. package/dist/services/document-service/utils/clone-relations.js +3 -3
  294. package/dist/services/document-service/utils/clone-relations.js.map +1 -1
  295. package/dist/services/document-service/utils/clone-relations.mjs +3 -3
  296. package/dist/services/document-service/utils/clone-relations.mjs.map +1 -1
  297. package/dist/services/document-service/utils/self-referential-relations.js +4 -4
  298. package/dist/services/document-service/utils/self-referential-relations.js.map +1 -1
  299. package/dist/services/document-service/utils/self-referential-relations.mjs +4 -4
  300. package/dist/services/document-service/utils/self-referential-relations.mjs.map +1 -1
  301. package/dist/services/document-service/utils/unidirectional-relations.js +3 -3
  302. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  303. package/dist/services/document-service/utils/unidirectional-relations.mjs +3 -3
  304. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  305. package/dist/services/entity-validator/index.d.ts.map +1 -1
  306. package/dist/services/entity-validator/index.js +9 -10
  307. package/dist/services/entity-validator/index.js.map +1 -1
  308. package/dist/services/entity-validator/index.mjs +4 -5
  309. package/dist/services/entity-validator/index.mjs.map +1 -1
  310. package/dist/services/localization.d.ts +4 -0
  311. package/dist/services/localization.d.ts.map +1 -0
  312. package/dist/services/localization.js +51 -0
  313. package/dist/services/localization.js.map +1 -0
  314. package/dist/services/localization.mjs +49 -0
  315. package/dist/services/localization.mjs.map +1 -0
  316. package/dist/services/server/compose-endpoint.js +7 -7
  317. package/dist/services/server/compose-endpoint.js.map +1 -1
  318. package/dist/services/server/compose-endpoint.mjs +3 -3
  319. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  320. package/dist/services/server/koa-methods.js +2 -2
  321. package/dist/services/server/koa-methods.js.map +1 -1
  322. package/dist/services/server/koa-methods.mjs +1 -1
  323. package/dist/services/server/koa-methods.mjs.map +1 -1
  324. package/dist/services/server/koa.d.ts.map +1 -1
  325. package/dist/services/server/koa.js +1 -2
  326. package/dist/services/server/koa.js.map +1 -1
  327. package/dist/services/server/koa.mjs +1 -2
  328. package/dist/services/server/koa.mjs.map +1 -1
  329. package/dist/services/server/middleware.d.ts.map +1 -1
  330. package/dist/services/server/middleware.js +1 -2
  331. package/dist/services/server/middleware.js.map +1 -1
  332. package/dist/services/server/middleware.mjs +1 -2
  333. package/dist/services/server/middleware.mjs.map +1 -1
  334. package/dist/services/server/routing.js +2 -2
  335. package/dist/services/server/routing.js.map +1 -1
  336. package/dist/services/server/routing.mjs +2 -2
  337. package/dist/services/server/routing.mjs.map +1 -1
  338. package/dist/services/utils/conditional-fields.d.ts +1 -1
  339. package/dist/services/utils/conditional-fields.d.ts.map +1 -1
  340. package/dist/services/utils/conditional-fields.js +2 -8
  341. package/dist/services/utils/conditional-fields.js.map +1 -1
  342. package/dist/services/utils/conditional-fields.mjs +2 -8
  343. package/dist/services/utils/conditional-fields.mjs.map +1 -1
  344. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  345. package/dist/services/utils/dynamic-zones.js +2 -8
  346. package/dist/services/utils/dynamic-zones.js.map +1 -1
  347. package/dist/services/utils/dynamic-zones.mjs +2 -8
  348. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  349. package/dist/utils/cron.js +2 -2
  350. package/dist/utils/cron.js.map +1 -1
  351. package/dist/utils/cron.mjs +1 -1
  352. package/dist/utils/cron.mjs.map +1 -1
  353. package/dist/utils/detect-customizations.d.ts +31 -0
  354. package/dist/utils/detect-customizations.d.ts.map +1 -0
  355. package/dist/utils/detect-customizations.js +173 -0
  356. package/dist/utils/detect-customizations.js.map +1 -0
  357. package/dist/utils/detect-customizations.mjs +165 -0
  358. package/dist/utils/detect-customizations.mjs.map +1 -0
  359. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  360. package/dist/utils/filepath-to-prop-path.js +5 -12
  361. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  362. package/dist/utils/filepath-to-prop-path.mjs +5 -11
  363. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  364. package/dist/utils/is-initialized.js +3 -3
  365. package/dist/utils/is-initialized.js.map +1 -1
  366. package/dist/utils/is-initialized.mjs +2 -2
  367. package/dist/utils/is-initialized.mjs.map +1 -1
  368. package/dist/utils/startup-logger.d.ts.map +1 -1
  369. package/dist/utils/startup-logger.js +2 -4
  370. package/dist/utils/startup-logger.js.map +1 -1
  371. package/dist/utils/startup-logger.mjs +2 -3
  372. package/dist/utils/startup-logger.mjs.map +1 -1
  373. package/dist/utils/transform-content-types-to-models.js +4 -4
  374. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  375. package/dist/utils/transform-content-types-to-models.mjs +3 -3
  376. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  377. package/package.json +16 -16
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var fp = require('lodash/fp');
3
+ var _ = require('lodash');
4
4
 
5
5
  const ALLOWED_TYPES = [
6
6
  'biginteger',
@@ -38,7 +38,7 @@ const customFieldsRegistry = (strapi)=>{
38
38
  customField
39
39
  ];
40
40
  for (const cf of customFieldList){
41
- if (!fp.has('name', cf) || !fp.has('type', cf)) {
41
+ if (!_.has(cf, 'name') || !_.has(cf, 'type')) {
42
42
  throw new Error(`Custom fields require a 'name' and 'type' key`);
43
43
  }
44
44
  const { name, plugin, type, inputSize } = cf;
@@ -51,7 +51,7 @@ const customFieldsRegistry = (strapi)=>{
51
51
  }
52
52
  // Validate inputSize when provided
53
53
  if (inputSize) {
54
- if (!fp.isPlainObject(inputSize) || !fp.has('default', inputSize) || !fp.has('isResizable', inputSize)) {
54
+ if (!_.isPlainObject(inputSize) || !_.has(inputSize, 'default') || !_.has(inputSize, 'isResizable')) {
55
55
  throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
56
56
  }
57
57
  if (![
@@ -68,7 +68,7 @@ const customFieldsRegistry = (strapi)=>{
68
68
  }
69
69
  // When no plugin is specified, or it isn't found in Strapi, default to global
70
70
  const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
71
- if (fp.has(uid, customFields)) {
71
+ if (_.has(customFields, uid)) {
72
72
  throw new Error(`Custom field: '${uid}' has already been registered`);
73
73
  }
74
74
  customFields[uid] = cf;
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.js","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["ALLOWED_TYPES","customFieldsRegistry","strapi","customFields","getAll","get","customField","registeredCustomField","Error","add","customFieldList","Array","isArray","cf","has","name","plugin","type","inputSize","includes","isValidObjectKey","test","isPlainObject","default","isResizable","uid"],"mappings":"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"}
1
+ {"version":3,"file":"custom-fields.js","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has(cf, 'name') || !has(cf, 'type')) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has(inputSize, 'default') ||\n !has(inputSize, 'isResizable')\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(customFields, uid)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["ALLOWED_TYPES","customFieldsRegistry","strapi","customFields","getAll","get","customField","registeredCustomField","Error","add","customFieldList","Array","isArray","cf","has","name","plugin","type","inputSize","includes","isValidObjectKey","test","isPlainObject","default","isResizable","uid"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { has, isPlainObject } from 'lodash/fp';
1
+ import { has, isPlainObject } from 'lodash';
2
2
 
3
3
  const ALLOWED_TYPES = [
4
4
  'biginteger',
@@ -36,7 +36,7 @@ const customFieldsRegistry = (strapi)=>{
36
36
  customField
37
37
  ];
38
38
  for (const cf of customFieldList){
39
- if (!has('name', cf) || !has('type', cf)) {
39
+ if (!has(cf, 'name') || !has(cf, 'type')) {
40
40
  throw new Error(`Custom fields require a 'name' and 'type' key`);
41
41
  }
42
42
  const { name, plugin, type, inputSize } = cf;
@@ -49,7 +49,7 @@ const customFieldsRegistry = (strapi)=>{
49
49
  }
50
50
  // Validate inputSize when provided
51
51
  if (inputSize) {
52
- if (!isPlainObject(inputSize) || !has('default', inputSize) || !has('isResizable', inputSize)) {
52
+ if (!isPlainObject(inputSize) || !has(inputSize, 'default') || !has(inputSize, 'isResizable')) {
53
53
  throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
54
54
  }
55
55
  if (![
@@ -66,7 +66,7 @@ const customFieldsRegistry = (strapi)=>{
66
66
  }
67
67
  // When no plugin is specified, or it isn't found in Strapi, default to global
68
68
  const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
69
- if (has(uid, customFields)) {
69
+ if (has(customFields, uid)) {
70
70
  throw new Error(`Custom field: '${uid}' has already been registered`);
71
71
  }
72
72
  customFields[uid] = cf;
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.mjs","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["ALLOWED_TYPES","customFieldsRegistry","strapi","customFields","getAll","get","customField","registeredCustomField","Error","add","customFieldList","Array","isArray","cf","has","name","plugin","type","inputSize","includes","isValidObjectKey","test","isPlainObject","default","isResizable","uid"],"mappings":"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"}
1
+ {"version":3,"file":"custom-fields.mjs","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has(cf, 'name') || !has(cf, 'type')) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has(inputSize, 'default') ||\n !has(inputSize, 'isResizable')\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(customFields, uid)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["ALLOWED_TYPES","customFieldsRegistry","strapi","customFields","getAll","get","customField","registeredCustomField","Error","add","customFieldList","Array","isArray","cf","has","name","plugin","type","inputSize","includes","isValidObjectKey","test","isPlainObject","default","isResizable","uid"],"mappings":"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"}
@@ -25,7 +25,7 @@ declare const hooksRegistry: () => {
25
25
  /**
26
26
  * Returns a map with all the hooks in a namespace
27
27
  */
28
- getAll(namespace: string): import("lodash").Dictionary<unknown>;
28
+ getAll(namespace: string): import("lodash").Dictionary<Hook>;
29
29
  /**
30
30
  * Registers a hook
31
31
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var fp = require('lodash/fp');
3
+ var _ = require('lodash');
4
4
  var namespace = require('./namespace.js');
5
5
 
6
6
  const hooksRegistry = ()=>{
@@ -19,7 +19,7 @@ const hooksRegistry = ()=>{
19
19
  /**
20
20
  * Returns a map with all the hooks in a namespace
21
21
  */ getAll (namespace$1) {
22
- return fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(hooks);
22
+ return _.pickBy(hooks, (_, uid)=>namespace.hasNamespace(uid, namespace$1));
23
23
  },
24
24
  /**
25
25
  * Registers a hook
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../src/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash/fp';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["hooksRegistry","hooks","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","hook","add","hookName","addNamespace","extend","extendFn","currentHook","Error","newHook"],"mappings":";;;;;AAuBA,MAAMA,aAAAA,GAAgB,IAAA;AACpB,IAAA,MAAMC,QAA8B,EAAC;IAErC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAW,EAAA;YACb,OAAOJ,KAAK,CAACI,GAAAA,CAAI;AACnB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,WAAiB,EAAA;AACtB,YAAA,OAAOC,UAAO,CAACC,CAAAA,EAAGJ,GAAAA,GAAQK,sBAAAA,CAAaL,KAAKE,WAAAA,CAAAA,CAAAA,CAAYN,KAAAA,CAAAA;AAC1D,QAAA,CAAA;AAEA;;QAGAU,GAAAA,CAAAA,CAAIN,GAAW,EAAEO,IAAU,EAAA;YACzBX,KAAK,CAACI,IAAI,GAAGO,IAAAA;AACb,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAC,GAAAA,CAAAA,CAAIN,WAAiB,EAAEN,KAA2B,EAAA;AAChD,YAAA,KAAK,MAAMa,QAAAA,IAAYX,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA,CAAQ;gBACzC,MAAMW,IAAAA,GAAOX,KAAK,CAACa,QAAAA,CAAS;gBAC5B,MAAMT,GAAAA,GAAMU,uBAAaD,QAAAA,EAAUP,WAAAA,CAAAA;gBAEnC,IAAI,CAACI,GAAG,CAACN,GAAAA,EAAKO,IAAAA,CAAAA;AAChB,YAAA;AAEA,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOX,GAAW,EAAEY,QAAsB,EAAA;AACxC,YAAA,MAAMC,WAAAA,GAAc,IAAI,CAACd,GAAG,CAACC,GAAAA,CAAAA;AAE7B,YAAA,IAAI,CAACa,WAAAA,EAAa;AAChB,gBAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,KAAK,EAAEd,GAAAA,CAAI,cAAc,CAAC,CAAA;AAC7C,YAAA;AAEA,YAAA,MAAMe,UAAUH,QAAAA,CAASC,WAAAA,CAAAA;YACzBjB,KAAK,CAACI,IAAI,GAAGe,OAAAA;AAEb,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":["../../src/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy(hooks, (_, uid) => hasNamespace(uid, namespace));\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["hooksRegistry","hooks","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","hook","add","hookName","addNamespace","extend","extendFn","currentHook","Error","newHook"],"mappings":";;;;;AAuBA,MAAMA,aAAAA,GAAgB,IAAA;AACpB,IAAA,MAAMC,QAA8B,EAAC;IAErC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAW,EAAA;YACb,OAAOJ,KAAK,CAACI,GAAAA,CAAI;AACnB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,WAAiB,EAAA;AACtB,YAAA,OAAOC,SAAOP,KAAAA,EAAO,CAACQ,CAAAA,EAAGJ,GAAAA,GAAQK,uBAAaL,GAAAA,EAAKE,WAAAA,CAAAA,CAAAA;AACrD,QAAA,CAAA;AAEA;;QAGAI,GAAAA,CAAAA,CAAIN,GAAW,EAAEO,IAAU,EAAA;YACzBX,KAAK,CAACI,IAAI,GAAGO,IAAAA;AACb,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAC,GAAAA,CAAAA,CAAIN,WAAiB,EAAEN,KAA2B,EAAA;AAChD,YAAA,KAAK,MAAMa,QAAAA,IAAYX,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA,CAAQ;gBACzC,MAAMW,IAAAA,GAAOX,KAAK,CAACa,QAAAA,CAAS;gBAC5B,MAAMT,GAAAA,GAAMU,uBAAaD,QAAAA,EAAUP,WAAAA,CAAAA;gBAEnC,IAAI,CAACI,GAAG,CAACN,GAAAA,EAAKO,IAAAA,CAAAA;AAChB,YAAA;AAEA,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOX,GAAW,EAAEY,QAAsB,EAAA;AACxC,YAAA,MAAMC,WAAAA,GAAc,IAAI,CAACd,GAAG,CAACC,GAAAA,CAAAA;AAE7B,YAAA,IAAI,CAACa,WAAAA,EAAa;AAChB,gBAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,KAAK,EAAEd,GAAAA,CAAI,cAAc,CAAC,CAAA;AAC7C,YAAA;AAEA,YAAA,MAAMe,UAAUH,QAAAA,CAASC,WAAAA,CAAAA;YACzBjB,KAAK,CAACI,IAAI,GAAGe,OAAAA;AAEb,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- import { pickBy } from 'lodash/fp';
1
+ import { pickBy } from 'lodash';
2
2
  import { addNamespace, hasNamespace } from './namespace.mjs';
3
3
 
4
4
  const hooksRegistry = ()=>{
@@ -17,7 +17,7 @@ const hooksRegistry = ()=>{
17
17
  /**
18
18
  * Returns a map with all the hooks in a namespace
19
19
  */ getAll (namespace) {
20
- return pickBy((_, uid)=>hasNamespace(uid, namespace))(hooks);
20
+ return pickBy(hooks, (_, uid)=>hasNamespace(uid, namespace));
21
21
  },
22
22
  /**
23
23
  * Registers a hook
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.mjs","sources":["../../src/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash/fp';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["hooksRegistry","hooks","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","hook","add","hookName","addNamespace","extend","extendFn","currentHook","Error","newHook"],"mappings":";;;AAuBA,MAAMA,aAAAA,GAAgB,IAAA;AACpB,IAAA,MAAMC,QAA8B,EAAC;IAErC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAW,EAAA;YACb,OAAOJ,KAAK,CAACI,GAAAA,CAAI;AACnB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,SAAiB,EAAA;AACtB,YAAA,OAAOC,OAAO,CAACC,CAAAA,EAAGJ,GAAAA,GAAQK,YAAAA,CAAaL,KAAKE,SAAAA,CAAAA,CAAAA,CAAYN,KAAAA,CAAAA;AAC1D,QAAA,CAAA;AAEA;;QAGAU,GAAAA,CAAAA,CAAIN,GAAW,EAAEO,IAAU,EAAA;YACzBX,KAAK,CAACI,IAAI,GAAGO,IAAAA;AACb,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAC,GAAAA,CAAAA,CAAIN,SAAiB,EAAEN,KAA2B,EAAA;AAChD,YAAA,KAAK,MAAMa,QAAAA,IAAYX,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA,CAAQ;gBACzC,MAAMW,IAAAA,GAAOX,KAAK,CAACa,QAAAA,CAAS;gBAC5B,MAAMT,GAAAA,GAAMU,aAAaD,QAAAA,EAAUP,SAAAA,CAAAA;gBAEnC,IAAI,CAACI,GAAG,CAACN,GAAAA,EAAKO,IAAAA,CAAAA;AAChB,YAAA;AAEA,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOX,GAAW,EAAEY,QAAsB,EAAA;AACxC,YAAA,MAAMC,WAAAA,GAAc,IAAI,CAACd,GAAG,CAACC,GAAAA,CAAAA;AAE7B,YAAA,IAAI,CAACa,WAAAA,EAAa;AAChB,gBAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,KAAK,EAAEd,GAAAA,CAAI,cAAc,CAAC,CAAA;AAC7C,YAAA;AAEA,YAAA,MAAMe,UAAUH,QAAAA,CAASC,WAAAA,CAAAA;YACzBjB,KAAK,CAACI,IAAI,GAAGe,OAAAA;AAEb,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"hooks.mjs","sources":["../../src/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy(hooks, (_, uid) => hasNamespace(uid, namespace));\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["hooksRegistry","hooks","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","hook","add","hookName","addNamespace","extend","extendFn","currentHook","Error","newHook"],"mappings":";;;AAuBA,MAAMA,aAAAA,GAAgB,IAAA;AACpB,IAAA,MAAMC,QAA8B,EAAC;IAErC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAW,EAAA;YACb,OAAOJ,KAAK,CAACI,GAAAA,CAAI;AACnB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,SAAiB,EAAA;AACtB,YAAA,OAAOC,OAAOP,KAAAA,EAAO,CAACQ,CAAAA,EAAGJ,GAAAA,GAAQK,aAAaL,GAAAA,EAAKE,SAAAA,CAAAA,CAAAA;AACrD,QAAA,CAAA;AAEA;;QAGAI,GAAAA,CAAAA,CAAIN,GAAW,EAAEO,IAAU,EAAA;YACzBX,KAAK,CAACI,IAAI,GAAGO,IAAAA;AACb,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAC,GAAAA,CAAAA,CAAIN,SAAiB,EAAEN,KAA2B,EAAA;AAChD,YAAA,KAAK,MAAMa,QAAAA,IAAYX,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA,CAAQ;gBACzC,MAAMW,IAAAA,GAAOX,KAAK,CAACa,QAAAA,CAAS;gBAC5B,MAAMT,GAAAA,GAAMU,aAAaD,QAAAA,EAAUP,SAAAA,CAAAA;gBAEnC,IAAI,CAACI,GAAG,CAACN,GAAAA,EAAKO,IAAAA,CAAAA;AAChB,YAAA;AAEA,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOX,GAAW,EAAEY,QAAsB,EAAA;AACxC,YAAA,MAAMC,WAAAA,GAAc,IAAI,CAACd,GAAG,CAACC,GAAAA,CAAAA;AAE7B,YAAA,IAAI,CAACa,WAAAA,EAAa;AAChB,gBAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,KAAK,EAAEd,GAAAA,CAAI,cAAc,CAAC,CAAA;AAC7C,YAAA;AAEA,YAAA,MAAMe,UAAUH,QAAAA,CAASC,WAAAA,CAAAA;YACzBjB,KAAK,CAACI,IAAI,GAAGe,OAAAA;AAEb,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
@@ -12,7 +12,7 @@ declare const middlewaresRegistry: () => {
12
12
  /**
13
13
  * Returns a map with all the middlewares in a namespace
14
14
  */
15
- getAll(namespace: string): import("lodash").Dictionary<unknown>;
15
+ getAll(namespace: string): import("lodash").Dictionary<Core.Middleware>;
16
16
  /**
17
17
  * Registers a middleware
18
18
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var fp = require('lodash/fp');
3
+ var _ = require('lodash');
4
4
  var namespace = require('./namespace.js');
5
5
 
6
6
  // TODO: move instantiation part here instead of in the server service
@@ -20,7 +20,7 @@ const middlewaresRegistry = ()=>{
20
20
  /**
21
21
  * Returns a map with all the middlewares in a namespace
22
22
  */ getAll (namespace$1) {
23
- return fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(middlewares);
23
+ return _.pickBy(middlewares, (_, uid)=>namespace.hasNamespace(uid, namespace$1));
24
24
  },
25
25
  /**
26
26
  * Registers a middleware
@@ -34,7 +34,7 @@ const middlewaresRegistry = ()=>{
34
34
  for (const middlewareName of Object.keys(rawMiddlewares)){
35
35
  const middleware = rawMiddlewares[middlewareName];
36
36
  const uid = namespace.addNamespace(middlewareName, namespace$1);
37
- if (fp.has(uid, middlewares)) {
37
+ if (_.has(middlewares, uid)) {
38
38
  throw new Error(`Middleware ${uid} has already been registered.`);
39
39
  }
40
40
  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 { 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":["middlewaresRegistry","middlewares","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","middleware","add","rawMiddlewares","middlewareName","addNamespace","has","Error","extend","extendFn","currentMiddleware","newMiddleware"],"mappings":";;;;;AAMA;AACA,MAAMA,mBAAAA,GAAsB,IAAA;AAC1B,IAAA,MAAMC,cAAuD,EAAC;IAE9D,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,WAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAmB,EAAA;YACrB,OAAOJ,WAAW,CAACI,GAAAA,CAAI;AACzB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,WAAiB,EAAA;AACtB,YAAA,OAAOC,UAAO,CAACC,CAAAA,EAAGJ,GAAAA,GAAQK,sBAAAA,CAAaL,KAAKE,WAAAA,CAAAA,CAAAA,CAAYN,WAAAA,CAAAA;AAC1D,QAAA,CAAA;AAEA;;QAGAU,GAAAA,CAAAA,CAAIN,GAAmB,EAAEO,UAA2B,EAAA;YAClDX,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACnB,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;AAEC,QACDC,GAAAA,CAAAA,CAAIN,WAAiB,EAAEO,cAAAA,GAAkD,EAAE,EAAA;AACzE,YAAA,KAAK,MAAMC,cAAAA,IAAkBZ,MAAAA,CAAOD,IAAI,CAACY,cAAAA,CAAAA,CAAiB;gBACxD,MAAMF,UAAAA,GAAaE,cAAc,CAACC,cAAAA,CAAe;gBACjD,MAAMV,GAAAA,GAAMW,uBAAaD,cAAAA,EAAgBR,WAAAA,CAAAA;gBAEzC,IAAIU,MAAAA,CAAIZ,KAAKJ,WAAAA,CAAAA,EAAc;AACzB,oBAAA,MAAM,IAAIiB,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE,gBAAA;gBACAJ,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACrB,YAAA;AACF,QAAA,CAAA;AAEA;;QAGAO,MAAAA,CAAAA,CAAOd,GAAmB,EAAEe,QAA4B,EAAA;AACtD,YAAA,MAAMC,iBAAAA,GAAoB,IAAI,CAACjB,GAAG,CAACC,GAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACgB,iBAAAA,EAAmB;AACtB,gBAAA,MAAM,IAAIH,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,cAAc,CAAC,CAAA;AACnD,YAAA;AAEA,YAAA,MAAMiB,gBAAgBF,QAAAA,CAASC,iBAAAA,CAAAA;YAC/BpB,WAAW,CAACI,IAAI,GAAGiB,aAAAA;AAEnB,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"middlewares.js","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { has, pickBy } from 'lodash';\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(middlewares, (_, uid) => hasNamespace(uid, namespace));\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(middlewares, uid)) {\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":["middlewaresRegistry","middlewares","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","middleware","add","rawMiddlewares","middlewareName","addNamespace","has","Error","extend","extendFn","currentMiddleware","newMiddleware"],"mappings":";;;;;AAMA;AACA,MAAMA,mBAAAA,GAAsB,IAAA;AAC1B,IAAA,MAAMC,cAAuD,EAAC;IAE9D,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,WAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAmB,EAAA;YACrB,OAAOJ,WAAW,CAACI,GAAAA,CAAI;AACzB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,WAAiB,EAAA;AACtB,YAAA,OAAOC,SAAOP,WAAAA,EAAa,CAACQ,CAAAA,EAAGJ,GAAAA,GAAQK,uBAAaL,GAAAA,EAAKE,WAAAA,CAAAA,CAAAA;AAC3D,QAAA,CAAA;AAEA;;QAGAI,GAAAA,CAAAA,CAAIN,GAAmB,EAAEO,UAA2B,EAAA;YAClDX,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACnB,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;AAEC,QACDC,GAAAA,CAAAA,CAAIN,WAAiB,EAAEO,cAAAA,GAAkD,EAAE,EAAA;AACzE,YAAA,KAAK,MAAMC,cAAAA,IAAkBZ,MAAAA,CAAOD,IAAI,CAACY,cAAAA,CAAAA,CAAiB;gBACxD,MAAMF,UAAAA,GAAaE,cAAc,CAACC,cAAAA,CAAe;gBACjD,MAAMV,GAAAA,GAAMW,uBAAaD,cAAAA,EAAgBR,WAAAA,CAAAA;gBAEzC,IAAIU,KAAAA,CAAIhB,aAAaI,GAAAA,CAAAA,EAAM;AACzB,oBAAA,MAAM,IAAIa,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE,gBAAA;gBACAJ,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACrB,YAAA;AACF,QAAA,CAAA;AAEA;;QAGAO,MAAAA,CAAAA,CAAOd,GAAmB,EAAEe,QAA4B,EAAA;AACtD,YAAA,MAAMC,iBAAAA,GAAoB,IAAI,CAACjB,GAAG,CAACC,GAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACgB,iBAAAA,EAAmB;AACtB,gBAAA,MAAM,IAAIH,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,cAAc,CAAC,CAAA;AACnD,YAAA;AAEA,YAAA,MAAMiB,gBAAgBF,QAAAA,CAASC,iBAAAA,CAAAA;YAC/BpB,WAAW,CAACI,IAAI,GAAGiB,aAAAA;AAEnB,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- import { has, pickBy } from 'lodash/fp';
1
+ import { has, pickBy } from 'lodash';
2
2
  import { addNamespace, hasNamespace } from './namespace.mjs';
3
3
 
4
4
  // TODO: move instantiation part here instead of in the server service
@@ -18,7 +18,7 @@ const middlewaresRegistry = ()=>{
18
18
  /**
19
19
  * Returns a map with all the middlewares in a namespace
20
20
  */ getAll (namespace) {
21
- return pickBy((_, uid)=>hasNamespace(uid, namespace))(middlewares);
21
+ return pickBy(middlewares, (_, uid)=>hasNamespace(uid, namespace));
22
22
  },
23
23
  /**
24
24
  * Registers a middleware
@@ -32,7 +32,7 @@ const middlewaresRegistry = ()=>{
32
32
  for (const middlewareName of Object.keys(rawMiddlewares)){
33
33
  const middleware = rawMiddlewares[middlewareName];
34
34
  const uid = addNamespace(middlewareName, namespace);
35
- if (has(uid, middlewares)) {
35
+ if (has(middlewares, uid)) {
36
36
  throw new Error(`Middleware ${uid} has already been registered.`);
37
37
  }
38
38
  middlewares[uid] = middleware;
@@ -1 +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":["middlewaresRegistry","middlewares","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","middleware","add","rawMiddlewares","middlewareName","addNamespace","has","Error","extend","extendFn","currentMiddleware","newMiddleware"],"mappings":";;;AAMA;AACA,MAAMA,mBAAAA,GAAsB,IAAA;AAC1B,IAAA,MAAMC,cAAuD,EAAC;IAE9D,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,WAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAmB,EAAA;YACrB,OAAOJ,WAAW,CAACI,GAAAA,CAAI;AACzB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,SAAiB,EAAA;AACtB,YAAA,OAAOC,OAAO,CAACC,CAAAA,EAAGJ,GAAAA,GAAQK,YAAAA,CAAaL,KAAKE,SAAAA,CAAAA,CAAAA,CAAYN,WAAAA,CAAAA;AAC1D,QAAA,CAAA;AAEA;;QAGAU,GAAAA,CAAAA,CAAIN,GAAmB,EAAEO,UAA2B,EAAA;YAClDX,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACnB,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;AAEC,QACDC,GAAAA,CAAAA,CAAIN,SAAiB,EAAEO,cAAAA,GAAkD,EAAE,EAAA;AACzE,YAAA,KAAK,MAAMC,cAAAA,IAAkBZ,MAAAA,CAAOD,IAAI,CAACY,cAAAA,CAAAA,CAAiB;gBACxD,MAAMF,UAAAA,GAAaE,cAAc,CAACC,cAAAA,CAAe;gBACjD,MAAMV,GAAAA,GAAMW,aAAaD,cAAAA,EAAgBR,SAAAA,CAAAA;gBAEzC,IAAIU,GAAAA,CAAIZ,KAAKJ,WAAAA,CAAAA,EAAc;AACzB,oBAAA,MAAM,IAAIiB,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE,gBAAA;gBACAJ,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACrB,YAAA;AACF,QAAA,CAAA;AAEA;;QAGAO,MAAAA,CAAAA,CAAOd,GAAmB,EAAEe,QAA4B,EAAA;AACtD,YAAA,MAAMC,iBAAAA,GAAoB,IAAI,CAACjB,GAAG,CAACC,GAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACgB,iBAAAA,EAAmB;AACtB,gBAAA,MAAM,IAAIH,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,cAAc,CAAC,CAAA;AACnD,YAAA;AAEA,YAAA,MAAMiB,gBAAgBF,QAAAA,CAASC,iBAAAA,CAAAA;YAC/BpB,WAAW,CAACI,IAAI,GAAGiB,aAAAA;AAEnB,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"middlewares.mjs","sources":["../../src/registries/middlewares.ts"],"sourcesContent":["import { has, pickBy } from 'lodash';\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(middlewares, (_, uid) => hasNamespace(uid, namespace));\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(middlewares, uid)) {\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":["middlewaresRegistry","middlewares","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","middleware","add","rawMiddlewares","middlewareName","addNamespace","has","Error","extend","extendFn","currentMiddleware","newMiddleware"],"mappings":";;;AAMA;AACA,MAAMA,mBAAAA,GAAsB,IAAA;AAC1B,IAAA,MAAMC,cAAuD,EAAC;IAE9D,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,WAAAA,CAAAA;AACrB,QAAA,CAAA;AAEA;;AAEC,QACDG,KAAIC,GAAmB,EAAA;YACrB,OAAOJ,WAAW,CAACI,GAAAA,CAAI;AACzB,QAAA,CAAA;AAEA;;AAEC,QACDC,QAAOC,SAAiB,EAAA;AACtB,YAAA,OAAOC,OAAOP,WAAAA,EAAa,CAACQ,CAAAA,EAAGJ,GAAAA,GAAQK,aAAaL,GAAAA,EAAKE,SAAAA,CAAAA,CAAAA;AAC3D,QAAA,CAAA;AAEA;;QAGAI,GAAAA,CAAAA,CAAIN,GAAmB,EAAEO,UAA2B,EAAA;YAClDX,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACnB,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;AAEC,QACDC,GAAAA,CAAAA,CAAIN,SAAiB,EAAEO,cAAAA,GAAkD,EAAE,EAAA;AACzE,YAAA,KAAK,MAAMC,cAAAA,IAAkBZ,MAAAA,CAAOD,IAAI,CAACY,cAAAA,CAAAA,CAAiB;gBACxD,MAAMF,UAAAA,GAAaE,cAAc,CAACC,cAAAA,CAAe;gBACjD,MAAMV,GAAAA,GAAMW,aAAaD,cAAAA,EAAgBR,SAAAA,CAAAA;gBAEzC,IAAIU,GAAAA,CAAIhB,aAAaI,GAAAA,CAAAA,EAAM;AACzB,oBAAA,MAAM,IAAIa,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE,gBAAA;gBACAJ,WAAW,CAACI,IAAI,GAAGO,UAAAA;AACrB,YAAA;AACF,QAAA,CAAA;AAEA;;QAGAO,MAAAA,CAAAA,CAAOd,GAAmB,EAAEe,QAA4B,EAAA;AACtD,YAAA,MAAMC,iBAAAA,GAAoB,IAAI,CAACjB,GAAG,CAACC,GAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACgB,iBAAAA,EAAmB;AACtB,gBAAA,MAAM,IAAIH,KAAAA,CAAM,CAAC,WAAW,EAAEb,GAAAA,CAAI,cAAc,CAAC,CAAA;AACnD,YAAA;AAEA,YAAA,MAAMiB,gBAAgBF,QAAAA,CAASC,iBAAAA,CAAAA;YAC/BpB,WAAW,CAACI,IAAI,GAAGiB,aAAAA;AAEnB,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
@@ -1,11 +1,8 @@
1
1
  import type { Core } from '@strapi/types';
2
2
  import { RawModule, Module } from '../domain/module';
3
- type ModuleMap = {
4
- [namespace: string]: Module;
5
- };
6
3
  declare const modulesRegistry: (strapi: Core.Strapi) => {
7
4
  get(namespace: string): Module;
8
- getAll(prefix?: string): Partial<ModuleMap>;
5
+ getAll(prefix?: string): import("lodash").Dictionary<Module>;
9
6
  add(namespace: string, rawModule: RawModule): Module;
10
7
  bootstrap(): Promise<void>;
11
8
  register(): Promise<void>;
@@ -1 +1 @@
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,GAAI,QAAQ,IAAI,CAAC,MAAM;mBAIzB,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;AAInE,QAAA,MAAM,eAAe,GAAI,QAAQ,IAAI,CAAC,MAAM;mBAIzB,MAAM;;mBAMN,MAAM,aAAa,SAAS;;;;CA0B9C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var fp = require('lodash/fp');
3
+ var _ = require('lodash');
4
4
  var index = require('../domain/module/index.js');
5
5
 
6
6
  const modulesRegistry = (strapi)=>{
@@ -10,10 +10,10 @@ const modulesRegistry = (strapi)=>{
10
10
  return modules[namespace];
11
11
  },
12
12
  getAll (prefix = '') {
13
- return fp.pickBy((mod, namespace)=>namespace.startsWith(prefix))(modules);
13
+ return _.pickBy(modules, (mod, namespace)=>namespace.startsWith(prefix));
14
14
  },
15
15
  add (namespace, rawModule) {
16
- if (fp.has(namespace, modules)) {
16
+ if (_.has(modules, namespace)) {
17
17
  throw new Error(`Module ${namespace} has already been registered.`);
18
18
  }
19
19
  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 { 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":["modulesRegistry","strapi","modules","get","namespace","getAll","prefix","pickBy","mod","startsWith","add","rawModule","has","Error","createModule","load","bootstrap","Object","values","register","destroy"],"mappings":";;;;;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,SAAiB,EAAA;YACnB,OAAOF,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,CAAOC,SAAS,EAAE,EAAA;AAChB,YAAA,OAAOC,UAAkB,CAACC,GAAAA,EAAKJ,YAAcA,SAAAA,CAAUK,UAAU,CAACH,MAAAA,CAAAA,CAAAA,CAASJ,OAAAA,CAAAA;AAC7E,QAAA,CAAA;QACAQ,GAAAA,CAAAA,CAAIN,SAAiB,EAAEO,SAAoB,EAAA;YACzC,IAAIC,MAAAA,CAAIR,WAAWF,OAAAA,CAAAA,EAAU;AAC3B,gBAAA,MAAM,IAAIW,KAAAA,CAAM,CAAC,OAAO,EAAET,SAAAA,CAAU,6BAA6B,CAAC,CAAA;AACpE,YAAA;AAEAF,YAAAA,OAAO,CAACE,SAAAA,CAAU,GAAGU,kBAAAA,CAAaV,WAAWO,SAAAA,EAAWV,MAAAA,CAAAA;YACxDC,OAAO,CAACE,SAAAA,CAAU,CAACW,IAAI,EAAA;YAEvB,OAAOb,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;QACA,MAAMY,SAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMR,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIQ,SAAS,EAAA;AACrB,YAAA;AACF,QAAA,CAAA;QACA,MAAMG,QAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMX,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIW,QAAQ,EAAA;AACpB,YAAA;AACF,QAAA,CAAA;QACA,MAAMC,OAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMZ,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIY,OAAO,EAAA;AACnB,YAAA;AACF,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"modules.js","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { has, pickBy } from 'lodash';\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(modules, (mod, namespace) => namespace.startsWith(prefix));\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(modules, namespace)) {\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":["modulesRegistry","strapi","modules","get","namespace","getAll","prefix","pickBy","mod","startsWith","add","rawModule","has","Error","createModule","load","bootstrap","Object","values","register","destroy"],"mappings":";;;;;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,SAAiB,EAAA;YACnB,OAAOF,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,CAAOC,SAAS,EAAE,EAAA;AAChB,YAAA,OAAOC,SAAOL,OAAAA,EAAS,CAACM,KAAKJ,SAAAA,GAAcA,SAAAA,CAAUK,UAAU,CAACH,MAAAA,CAAAA,CAAAA;AAClE,QAAA,CAAA;QACAI,GAAAA,CAAAA,CAAIN,SAAiB,EAAEO,SAAoB,EAAA;YACzC,IAAIC,KAAAA,CAAIV,SAASE,SAAAA,CAAAA,EAAY;AAC3B,gBAAA,MAAM,IAAIS,KAAAA,CAAM,CAAC,OAAO,EAAET,SAAAA,CAAU,6BAA6B,CAAC,CAAA;AACpE,YAAA;AAEAF,YAAAA,OAAO,CAACE,SAAAA,CAAU,GAAGU,kBAAAA,CAAaV,WAAWO,SAAAA,EAAWV,MAAAA,CAAAA;YACxDC,OAAO,CAACE,SAAAA,CAAU,CAACW,IAAI,EAAA;YAEvB,OAAOb,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;QACA,MAAMY,SAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMR,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIQ,SAAS,EAAA;AACrB,YAAA;AACF,QAAA,CAAA;QACA,MAAMG,QAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMX,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIW,QAAQ,EAAA;AACpB,YAAA;AACF,QAAA,CAAA;QACA,MAAMC,OAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMZ,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIY,OAAO,EAAA;AACnB,YAAA;AACF,QAAA;AACF,KAAA;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- import { has, pickBy } from 'lodash/fp';
1
+ import { has, pickBy } from 'lodash';
2
2
  import { createModule } from '../domain/module/index.mjs';
3
3
 
4
4
  const modulesRegistry = (strapi)=>{
@@ -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 pickBy(modules, (mod, namespace)=>namespace.startsWith(prefix));
12
12
  },
13
13
  add (namespace, rawModule) {
14
- if (has(namespace, modules)) {
14
+ if (has(modules, namespace)) {
15
15
  throw new Error(`Module ${namespace} has already been registered.`);
16
16
  }
17
17
  modules[namespace] = createModule(namespace, rawModule, strapi);
@@ -1 +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":["modulesRegistry","strapi","modules","get","namespace","getAll","prefix","pickBy","mod","startsWith","add","rawModule","has","Error","createModule","load","bootstrap","Object","values","register","destroy"],"mappings":";;;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,SAAiB,EAAA;YACnB,OAAOF,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,CAAOC,SAAS,EAAE,EAAA;AAChB,YAAA,OAAOC,OAAkB,CAACC,GAAAA,EAAKJ,YAAcA,SAAAA,CAAUK,UAAU,CAACH,MAAAA,CAAAA,CAAAA,CAASJ,OAAAA,CAAAA;AAC7E,QAAA,CAAA;QACAQ,GAAAA,CAAAA,CAAIN,SAAiB,EAAEO,SAAoB,EAAA;YACzC,IAAIC,GAAAA,CAAIR,WAAWF,OAAAA,CAAAA,EAAU;AAC3B,gBAAA,MAAM,IAAIW,KAAAA,CAAM,CAAC,OAAO,EAAET,SAAAA,CAAU,6BAA6B,CAAC,CAAA;AACpE,YAAA;AAEAF,YAAAA,OAAO,CAACE,SAAAA,CAAU,GAAGU,YAAAA,CAAaV,WAAWO,SAAAA,EAAWV,MAAAA,CAAAA;YACxDC,OAAO,CAACE,SAAAA,CAAU,CAACW,IAAI,EAAA;YAEvB,OAAOb,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;QACA,MAAMY,SAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMR,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIQ,SAAS,EAAA;AACrB,YAAA;AACF,QAAA,CAAA;QACA,MAAMG,QAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMX,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIW,QAAQ,EAAA;AACpB,YAAA;AACF,QAAA,CAAA;QACA,MAAMC,OAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMZ,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIY,OAAO,EAAA;AACnB,YAAA;AACF,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"modules.mjs","sources":["../../src/registries/modules.ts"],"sourcesContent":["import { has, pickBy } from 'lodash';\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(modules, (mod, namespace) => namespace.startsWith(prefix));\n },\n add(namespace: string, rawModule: RawModule) {\n if (has(modules, namespace)) {\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":["modulesRegistry","strapi","modules","get","namespace","getAll","prefix","pickBy","mod","startsWith","add","rawModule","has","Error","createModule","load","bootstrap","Object","values","register","destroy"],"mappings":";;;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,SAAiB,EAAA;YACnB,OAAOF,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,CAAOC,SAAS,EAAE,EAAA;AAChB,YAAA,OAAOC,OAAOL,OAAAA,EAAS,CAACM,KAAKJ,SAAAA,GAAcA,SAAAA,CAAUK,UAAU,CAACH,MAAAA,CAAAA,CAAAA;AAClE,QAAA,CAAA;QACAI,GAAAA,CAAAA,CAAIN,SAAiB,EAAEO,SAAoB,EAAA;YACzC,IAAIC,GAAAA,CAAIV,SAASE,SAAAA,CAAAA,EAAY;AAC3B,gBAAA,MAAM,IAAIS,KAAAA,CAAM,CAAC,OAAO,EAAET,SAAAA,CAAU,6BAA6B,CAAC,CAAA;AACpE,YAAA;AAEAF,YAAAA,OAAO,CAACE,SAAAA,CAAU,GAAGU,YAAAA,CAAaV,WAAWO,SAAAA,EAAWV,MAAAA,CAAAA;YACxDC,OAAO,CAACE,SAAAA,CAAU,CAACW,IAAI,EAAA;YAEvB,OAAOb,OAAO,CAACE,SAAAA,CAAU;AAC3B,QAAA,CAAA;QACA,MAAMY,SAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMR,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIQ,SAAS,EAAA;AACrB,YAAA;AACF,QAAA,CAAA;QACA,MAAMG,QAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMX,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIW,QAAQ,EAAA;AACpB,YAAA;AACF,QAAA,CAAA;QACA,MAAMC,OAAAA,CAAAA,GAAAA;AACJ,YAAA,KAAK,MAAMZ,GAAAA,IAAOS,MAAAA,CAAOC,MAAM,CAAChB,OAAAA,CAAAA,CAAU;AACxC,gBAAA,MAAMM,IAAIY,OAAO,EAAA;AACnB,YAAA;AACF,QAAA;AACF,KAAA;AACF;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var fp = require('lodash/fp');
3
+ var _ = require('lodash');
4
4
 
5
5
  const pluginsRegistry = (strapi)=>{
6
6
  const plugins = {};
@@ -12,7 +12,7 @@ const pluginsRegistry = (strapi)=>{
12
12
  return plugins;
13
13
  },
14
14
  add (name, pluginConfig) {
15
- if (fp.has(name, plugins)) {
15
+ if (_.has(plugins, name)) {
16
16
  throw new Error(`Plugin ${name} has already been registered.`);
17
17
  }
18
18
  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 { 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":["pluginsRegistry","strapi","plugins","get","name","getAll","add","pluginConfig","has","Error","pluginModule"],"mappings":";;;;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,IAAY,EAAA;YACd,OAAOF,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,GAAAA;YACE,OAAOH,OAAAA;AACT,QAAA,CAAA;QACAI,GAAAA,CAAAA,CAAIF,IAAY,EAAEG,YAAyB,EAAA;YACzC,IAAIC,MAAAA,CAAIJ,MAAMF,OAAAA,CAAAA,EAAU;AACtB,gBAAA,MAAM,IAAIO,KAAAA,CAAM,CAAC,OAAO,EAAEL,IAAAA,CAAK,6BAA6B,CAAC,CAAA;AAC/D,YAAA;YAEA,MAAMM,YAAAA,GAAeT,MAAAA,CAAOE,GAAG,CAAC,SAAA,CAAA,CAAWG,GAAG,CAAC,CAAC,QAAQ,EAAEF,IAAAA,CAAAA,CAAM,EAAEG,YAAAA,CAAAA;YAClEL,OAAO,CAACE,KAAK,GAAGM,YAAAA;YAEhB,OAAOR,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"plugins.js","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash';\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(plugins, name)) {\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":["pluginsRegistry","strapi","plugins","get","name","getAll","add","pluginConfig","has","Error","pluginModule"],"mappings":";;;;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,IAAY,EAAA;YACd,OAAOF,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,GAAAA;YACE,OAAOH,OAAAA;AACT,QAAA,CAAA;QACAI,GAAAA,CAAAA,CAAIF,IAAY,EAAEG,YAAyB,EAAA;YACzC,IAAIC,KAAAA,CAAIN,SAASE,IAAAA,CAAAA,EAAO;AACtB,gBAAA,MAAM,IAAIK,KAAAA,CAAM,CAAC,OAAO,EAAEL,IAAAA,CAAK,6BAA6B,CAAC,CAAA;AAC/D,YAAA;YAEA,MAAMM,YAAAA,GAAeT,MAAAA,CAAOE,GAAG,CAAC,SAAA,CAAA,CAAWG,GAAG,CAAC,CAAC,QAAQ,EAAEF,IAAAA,CAAAA,CAAM,EAAEG,YAAAA,CAAAA;YAClEL,OAAO,CAACE,KAAK,GAAGM,YAAAA;YAEhB,OAAOR,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA;AACF,KAAA;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- import { has } from 'lodash/fp';
1
+ import { has } from 'lodash';
2
2
 
3
3
  const pluginsRegistry = (strapi)=>{
4
4
  const plugins = {};
@@ -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 (has(plugins, name)) {
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.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":["pluginsRegistry","strapi","plugins","get","name","getAll","add","pluginConfig","has","Error","pluginModule"],"mappings":";;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,IAAY,EAAA;YACd,OAAOF,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,GAAAA;YACE,OAAOH,OAAAA;AACT,QAAA,CAAA;QACAI,GAAAA,CAAAA,CAAIF,IAAY,EAAEG,YAAyB,EAAA;YACzC,IAAIC,GAAAA,CAAIJ,MAAMF,OAAAA,CAAAA,EAAU;AACtB,gBAAA,MAAM,IAAIO,KAAAA,CAAM,CAAC,OAAO,EAAEL,IAAAA,CAAK,6BAA6B,CAAC,CAAA;AAC/D,YAAA;YAEA,MAAMM,YAAAA,GAAeT,MAAAA,CAAOE,GAAG,CAAC,SAAA,CAAA,CAAWG,GAAG,CAAC,CAAC,QAAQ,EAAEF,IAAAA,CAAAA,CAAM,EAAEG,YAAAA,CAAAA;YAClEL,OAAO,CAACE,KAAK,GAAGM,YAAAA;YAEhB,OAAOR,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"plugins.mjs","sources":["../../src/registries/plugins.ts"],"sourcesContent":["import { has } from 'lodash';\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(plugins, name)) {\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":["pluginsRegistry","strapi","plugins","get","name","getAll","add","pluginConfig","has","Error","pluginModule"],"mappings":";;AAMA,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;AACvB,IAAA,MAAMC,UAAqB,EAAC;IAE5B,OAAO;AACLC,QAAAA,GAAAA,CAAAA,CAAIC,IAAY,EAAA;YACd,OAAOF,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA,CAAA;AACAC,QAAAA,MAAAA,CAAAA,GAAAA;YACE,OAAOH,OAAAA;AACT,QAAA,CAAA;QACAI,GAAAA,CAAAA,CAAIF,IAAY,EAAEG,YAAyB,EAAA;YACzC,IAAIC,GAAAA,CAAIN,SAASE,IAAAA,CAAAA,EAAO;AACtB,gBAAA,MAAM,IAAIK,KAAAA,CAAM,CAAC,OAAO,EAAEL,IAAAA,CAAK,6BAA6B,CAAC,CAAA;AAC/D,YAAA;YAEA,MAAMM,YAAAA,GAAeT,MAAAA,CAAOE,GAAG,CAAC,SAAA,CAAA,CAAWG,GAAG,CAAC,CAAC,QAAQ,EAAEF,IAAAA,CAAAA,CAAM,EAAEG,YAAAA,CAAAA;YAClEL,OAAO,CAACE,KAAK,GAAGM,YAAAA;YAEhB,OAAOR,OAAO,CAACE,IAAAA,CAAK;AACtB,QAAA;AACF,KAAA;AACF;;;;"}
@@ -24,7 +24,7 @@ declare const policiesRegistry: () => {
24
24
  /**
25
25
  * Returns a map with all the policies in a namespace
26
26
  */
27
- getAll(namespace: string): import("lodash").Dictionary<unknown>;
27
+ getAll(namespace: string): import("lodash").Dictionary<Core.Policy<unknown>>;
28
28
  /**
29
29
  * Registers a policy
30
30
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var fp = require('lodash/fp');
3
+ var _ = require('lodash');
4
4
  var namespace = require('./namespace.js');
5
5
 
6
6
  const PLUGIN_PREFIX = 'plugin::';
@@ -74,7 +74,7 @@ const policiesRegistry = ()=>{
74
74
  /**
75
75
  * Returns a map with all the policies in a namespace
76
76
  */ getAll (namespace$1) {
77
- return fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(Object.fromEntries(policies));
77
+ return _.pickBy(Object.fromEntries(policies), (_, uid)=>namespace.hasNamespace(uid, namespace$1));
78
78
  },
79
79
  /**
80
80
  * Registers a policy
@@ -88,7 +88,7 @@ const policiesRegistry = ()=>{
88
88
  for (const policyName of Object.keys(newPolicies)){
89
89
  const policy = newPolicies[policyName];
90
90
  const uid = namespace.addNamespace(policyName, namespace$1);
91
- if (fp.has(uid, policies)) {
91
+ if (_.has(policies, uid)) {
92
92
  throw new Error(`Policy ${uid} has already been registered.`);
93
93
  }
94
94
  policies.set(uid, policy);
@@ -98,7 +98,7 @@ const policiesRegistry = ()=>{
98
98
  * Resolves a list of policies
99
99
  */ resolve (config, namespaceInfo) {
100
100
  const { pluginName, apiName } = namespaceInfo ?? {};
101
- return fp.castArray(config).map((policyConfig)=>{
101
+ return _.castArray(config).map((policyConfig)=>{
102
102
  return {
103
103
  handler: resolveHandler(policyConfig, {
104
104
  pluginName,
@@ -1 +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":["PLUGIN_PREFIX","API_PREFIX","parsePolicy","policy","policyName","config","name","policiesRegistry","policies","Map","find","namespaceInfo","pluginName","apiName","get","resolveHandler","policyConfig","Array","isArray","map","Error","validator","handler","keys","from","has","res","getAll","namespace","pickBy","_","uid","hasNamespace","Object","fromEntries","set","add","newPolicies","addNamespace","resolve","castArray"],"mappings":"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"}
1
+ {"version":3,"file":"policies.js","sources":["../../src/registries/policies.ts"],"sourcesContent":["import { castArray, has, pickBy } from 'lodash';\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(Object.fromEntries(policies), (_, uid) => hasNamespace(uid, namespace));\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(policies, uid)) {\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":["PLUGIN_PREFIX","API_PREFIX","parsePolicy","policy","policyName","config","name","policiesRegistry","policies","Map","find","namespaceInfo","pluginName","apiName","get","resolveHandler","policyConfig","Array","isArray","map","Error","validator","handler","keys","from","has","res","getAll","namespace","pickBy","Object","fromEntries","_","uid","hasNamespace","set","add","newPolicies","addNamespace","resolve","castArray"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { castArray, has, pickBy } from 'lodash/fp';
1
+ import { castArray, has, pickBy } from 'lodash';
2
2
  import { addNamespace, hasNamespace } from './namespace.mjs';
3
3
 
4
4
  const PLUGIN_PREFIX = 'plugin::';
@@ -72,7 +72,7 @@ const policiesRegistry = ()=>{
72
72
  /**
73
73
  * Returns a map with all the policies in a namespace
74
74
  */ getAll (namespace) {
75
- return pickBy((_, uid)=>hasNamespace(uid, namespace))(Object.fromEntries(policies));
75
+ return pickBy(Object.fromEntries(policies), (_, uid)=>hasNamespace(uid, namespace));
76
76
  },
77
77
  /**
78
78
  * Registers a policy
@@ -86,7 +86,7 @@ const policiesRegistry = ()=>{
86
86
  for (const policyName of Object.keys(newPolicies)){
87
87
  const policy = newPolicies[policyName];
88
88
  const uid = addNamespace(policyName, namespace);
89
- if (has(uid, policies)) {
89
+ if (has(policies, uid)) {
90
90
  throw new Error(`Policy ${uid} has already been registered.`);
91
91
  }
92
92
  policies.set(uid, policy);