@strapi/core 0.0.0-experimental.9678892591ed5d28450369e1511b3d21cb7db4f9 → 0.0.0-experimental.97d8e30d2c8447966e01ec3e7ad8596fc4b9bc81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (775) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +458 -0
  3. package/dist/Strapi.js.map +1 -0
  4. package/dist/Strapi.mjs +437 -0
  5. package/dist/Strapi.mjs.map +1 -0
  6. package/dist/compile.js +27 -0
  7. package/dist/compile.js.map +1 -0
  8. package/dist/compile.mjs +25 -0
  9. package/dist/compile.mjs.map +1 -0
  10. package/dist/configuration/config-loader.js +119 -0
  11. package/dist/configuration/config-loader.js.map +1 -0
  12. package/dist/configuration/config-loader.mjs +117 -0
  13. package/dist/configuration/config-loader.mjs.map +1 -0
  14. package/dist/configuration/get-dirs.js +33 -0
  15. package/dist/configuration/get-dirs.js.map +1 -0
  16. package/dist/configuration/get-dirs.mjs +31 -0
  17. package/dist/configuration/get-dirs.mjs.map +1 -0
  18. package/dist/configuration/index.d.ts +1 -0
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +92 -0
  21. package/dist/configuration/index.js.map +1 -0
  22. package/dist/configuration/index.mjs +90 -0
  23. package/dist/configuration/index.mjs.map +1 -0
  24. package/dist/configuration/urls.d.ts.map +1 -1
  25. package/dist/configuration/urls.js +81 -0
  26. package/dist/configuration/urls.js.map +1 -0
  27. package/dist/configuration/urls.mjs +77 -0
  28. package/dist/configuration/urls.mjs.map +1 -0
  29. package/dist/container.js +34 -0
  30. package/dist/container.js.map +1 -0
  31. package/dist/container.mjs +32 -0
  32. package/dist/container.mjs.map +1 -0
  33. package/dist/core-api/controller/collection-type.js +85 -0
  34. package/dist/core-api/controller/collection-type.js.map +1 -0
  35. package/dist/core-api/controller/collection-type.mjs +83 -0
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -0
  37. package/dist/core-api/controller/index.d.ts.map +1 -1
  38. package/dist/core-api/controller/index.js +68 -0
  39. package/dist/core-api/controller/index.js.map +1 -0
  40. package/dist/core-api/controller/index.mjs +66 -0
  41. package/dist/core-api/controller/index.mjs.map +1 -0
  42. package/dist/core-api/controller/single-type.js +47 -0
  43. package/dist/core-api/controller/single-type.js.map +1 -0
  44. package/dist/core-api/controller/single-type.mjs +45 -0
  45. package/dist/core-api/controller/single-type.mjs.map +1 -0
  46. package/dist/core-api/controller/transform.d.ts +3 -2
  47. package/dist/core-api/controller/transform.d.ts.map +1 -1
  48. package/dist/core-api/controller/transform.js +95 -0
  49. package/dist/core-api/controller/transform.js.map +1 -0
  50. package/dist/core-api/controller/transform.mjs +93 -0
  51. package/dist/core-api/controller/transform.mjs.map +1 -0
  52. package/dist/core-api/routes/index.d.ts +4 -22
  53. package/dist/core-api/routes/index.d.ts.map +1 -1
  54. package/dist/core-api/routes/index.js +211 -0
  55. package/dist/core-api/routes/index.js.map +1 -0
  56. package/dist/core-api/routes/index.mjs +190 -0
  57. package/dist/core-api/routes/index.mjs.map +1 -0
  58. package/dist/core-api/routes/validation/attributes.d.ts +244 -0
  59. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  60. package/dist/core-api/routes/validation/attributes.js +560 -0
  61. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  62. package/dist/core-api/routes/validation/attributes.mjs +521 -0
  63. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  64. package/dist/core-api/routes/validation/common.d.ts +105 -0
  65. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  66. package/dist/core-api/routes/validation/common.js +116 -0
  67. package/dist/core-api/routes/validation/common.js.map +1 -0
  68. package/dist/core-api/routes/validation/common.mjs +95 -0
  69. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  70. package/dist/core-api/routes/validation/component.d.ts +34 -0
  71. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  72. package/dist/core-api/routes/validation/component.js +45 -0
  73. package/dist/core-api/routes/validation/component.js.map +1 -0
  74. package/dist/core-api/routes/validation/component.mjs +43 -0
  75. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  76. package/dist/core-api/routes/validation/constants.d.ts +8 -0
  77. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  78. package/dist/core-api/routes/validation/constants.js +18 -0
  79. package/dist/core-api/routes/validation/constants.js.map +1 -0
  80. package/dist/core-api/routes/validation/constants.mjs +16 -0
  81. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  82. package/dist/core-api/routes/validation/content-type.d.ts +128 -0
  83. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  84. package/dist/core-api/routes/validation/content-type.js +201 -0
  85. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  86. package/dist/core-api/routes/validation/content-type.mjs +180 -0
  87. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  88. package/dist/core-api/routes/validation/index.d.ts +5 -0
  89. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  90. package/dist/core-api/routes/validation/mappers.d.ts +105 -0
  91. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -0
  92. package/dist/core-api/routes/validation/mappers.js +273 -0
  93. package/dist/core-api/routes/validation/mappers.js.map +1 -0
  94. package/dist/core-api/routes/validation/mappers.mjs +249 -0
  95. package/dist/core-api/routes/validation/mappers.mjs.map +1 -0
  96. package/dist/core-api/routes/validation/utils.d.ts +47 -0
  97. package/dist/core-api/routes/validation/utils.d.ts.map +1 -0
  98. package/dist/core-api/routes/validation/utils.js +128 -0
  99. package/dist/core-api/routes/validation/utils.js.map +1 -0
  100. package/dist/core-api/routes/validation/utils.mjs +106 -0
  101. package/dist/core-api/routes/validation/utils.mjs.map +1 -0
  102. package/dist/core-api/service/collection-type.js +80 -0
  103. package/dist/core-api/service/collection-type.js.map +1 -0
  104. package/dist/core-api/service/collection-type.mjs +77 -0
  105. package/dist/core-api/service/collection-type.mjs.map +1 -0
  106. package/dist/core-api/service/core-service.js +13 -0
  107. package/dist/core-api/service/core-service.js.map +1 -0
  108. package/dist/core-api/service/core-service.mjs +11 -0
  109. package/dist/core-api/service/core-service.mjs.map +1 -0
  110. package/dist/core-api/service/index.js +16 -0
  111. package/dist/core-api/service/index.js.map +1 -0
  112. package/dist/core-api/service/index.mjs +14 -0
  113. package/dist/core-api/service/index.mjs.map +1 -0
  114. package/dist/core-api/service/pagination.js +78 -0
  115. package/dist/core-api/service/pagination.js.map +1 -0
  116. package/dist/core-api/service/pagination.mjs +73 -0
  117. package/dist/core-api/service/pagination.mjs.map +1 -0
  118. package/dist/core-api/service/single-type.js +50 -0
  119. package/dist/core-api/service/single-type.js.map +1 -0
  120. package/dist/core-api/service/single-type.mjs +47 -0
  121. package/dist/core-api/service/single-type.mjs.map +1 -0
  122. package/dist/domain/content-type/index.d.ts.map +1 -1
  123. package/dist/domain/content-type/index.js +122 -0
  124. package/dist/domain/content-type/index.js.map +1 -0
  125. package/dist/domain/content-type/index.mjs +119 -0
  126. package/dist/domain/content-type/index.mjs.map +1 -0
  127. package/dist/domain/content-type/validator.js +92 -0
  128. package/dist/domain/content-type/validator.js.map +1 -0
  129. package/dist/domain/content-type/validator.mjs +90 -0
  130. package/dist/domain/content-type/validator.mjs.map +1 -0
  131. package/dist/domain/module/index.d.ts.map +1 -1
  132. package/dist/domain/module/index.js +119 -0
  133. package/dist/domain/module/index.js.map +1 -0
  134. package/dist/domain/module/index.mjs +117 -0
  135. package/dist/domain/module/index.mjs.map +1 -0
  136. package/dist/domain/module/validation.js +30 -0
  137. package/dist/domain/module/validation.js.map +1 -0
  138. package/dist/domain/module/validation.mjs +28 -0
  139. package/dist/domain/module/validation.mjs.map +1 -0
  140. package/dist/ee/index.d.ts +7 -0
  141. package/dist/ee/index.d.ts.map +1 -1
  142. package/dist/ee/index.js +218 -0
  143. package/dist/ee/index.js.map +1 -0
  144. package/dist/ee/index.mjs +216 -0
  145. package/dist/ee/index.mjs.map +1 -0
  146. package/dist/ee/license.d.ts +3 -1
  147. package/dist/ee/license.d.ts.map +1 -1
  148. package/dist/ee/license.js +121 -0
  149. package/dist/ee/license.js.map +1 -0
  150. package/dist/ee/license.mjs +115 -0
  151. package/dist/ee/license.mjs.map +1 -0
  152. package/dist/factories.d.ts +3 -1
  153. package/dist/factories.d.ts.map +1 -1
  154. package/dist/factories.js +93 -0
  155. package/dist/factories.js.map +1 -0
  156. package/dist/factories.mjs +87 -0
  157. package/dist/factories.mjs.map +1 -0
  158. package/dist/index.js +19 -10099
  159. package/dist/index.js.map +1 -1
  160. package/dist/index.mjs +17 -10076
  161. package/dist/index.mjs.map +1 -1
  162. package/dist/loaders/admin.d.ts.map +1 -1
  163. package/dist/loaders/admin.js +27 -0
  164. package/dist/loaders/admin.js.map +1 -0
  165. package/dist/loaders/admin.mjs +25 -0
  166. package/dist/loaders/admin.mjs.map +1 -0
  167. package/dist/loaders/apis.js +160 -0
  168. package/dist/loaders/apis.js.map +1 -0
  169. package/dist/loaders/apis.mjs +158 -0
  170. package/dist/loaders/apis.mjs.map +1 -0
  171. package/dist/loaders/components.js +37 -0
  172. package/dist/loaders/components.js.map +1 -0
  173. package/dist/loaders/components.mjs +35 -0
  174. package/dist/loaders/components.mjs.map +1 -0
  175. package/dist/loaders/index.js +26 -0
  176. package/dist/loaders/index.js.map +1 -0
  177. package/dist/loaders/index.mjs +24 -0
  178. package/dist/loaders/index.mjs.map +1 -0
  179. package/dist/loaders/middlewares.js +35 -0
  180. package/dist/loaders/middlewares.js.map +1 -0
  181. package/dist/loaders/middlewares.mjs +33 -0
  182. package/dist/loaders/middlewares.mjs.map +1 -0
  183. package/dist/loaders/plugins/get-enabled-plugins.js +136 -0
  184. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
  185. package/dist/loaders/plugins/get-enabled-plugins.mjs +134 -0
  186. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  187. package/dist/loaders/plugins/get-user-plugins-config.js +28 -0
  188. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
  189. package/dist/loaders/plugins/get-user-plugins-config.mjs +26 -0
  190. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  191. package/dist/loaders/plugins/index.js +155 -0
  192. package/dist/loaders/plugins/index.js.map +1 -0
  193. package/dist/loaders/plugins/index.mjs +134 -0
  194. package/dist/loaders/plugins/index.mjs.map +1 -0
  195. package/dist/loaders/policies.js +29 -0
  196. package/dist/loaders/policies.js.map +1 -0
  197. package/dist/loaders/policies.mjs +27 -0
  198. package/dist/loaders/policies.mjs.map +1 -0
  199. package/dist/loaders/sanitizers.js +12 -0
  200. package/dist/loaders/sanitizers.js.map +1 -0
  201. package/dist/loaders/sanitizers.mjs +10 -0
  202. package/dist/loaders/sanitizers.mjs.map +1 -0
  203. package/dist/loaders/src-index.js +41 -0
  204. package/dist/loaders/src-index.js.map +1 -0
  205. package/dist/loaders/src-index.mjs +39 -0
  206. package/dist/loaders/src-index.mjs.map +1 -0
  207. package/dist/loaders/validators.js +11 -0
  208. package/dist/loaders/validators.js.map +1 -0
  209. package/dist/loaders/validators.mjs +9 -0
  210. package/dist/loaders/validators.mjs.map +1 -0
  211. package/dist/middlewares/body.js +69 -0
  212. package/dist/middlewares/body.js.map +1 -0
  213. package/dist/middlewares/body.mjs +67 -0
  214. package/dist/middlewares/body.mjs.map +1 -0
  215. package/dist/middlewares/compression.js +8 -0
  216. package/dist/middlewares/compression.js.map +1 -0
  217. package/dist/middlewares/compression.mjs +6 -0
  218. package/dist/middlewares/compression.mjs.map +1 -0
  219. package/dist/middlewares/cors.d.ts +9 -1
  220. package/dist/middlewares/cors.d.ts.map +1 -1
  221. package/dist/middlewares/cors.js +86 -0
  222. package/dist/middlewares/cors.js.map +1 -0
  223. package/dist/middlewares/cors.mjs +83 -0
  224. package/dist/middlewares/cors.mjs.map +1 -0
  225. package/dist/middlewares/errors.js +35 -0
  226. package/dist/middlewares/errors.js.map +1 -0
  227. package/dist/middlewares/errors.mjs +33 -0
  228. package/dist/middlewares/errors.mjs.map +1 -0
  229. package/dist/middlewares/favicon.js +32 -0
  230. package/dist/middlewares/favicon.js.map +1 -0
  231. package/dist/middlewares/favicon.mjs +30 -0
  232. package/dist/middlewares/favicon.mjs.map +1 -0
  233. package/dist/middlewares/index.js +36 -0
  234. package/dist/middlewares/index.js.map +1 -0
  235. package/dist/middlewares/index.mjs +34 -0
  236. package/dist/middlewares/index.mjs.map +1 -0
  237. package/dist/middlewares/ip.js +8 -0
  238. package/dist/middlewares/ip.js.map +1 -0
  239. package/dist/middlewares/ip.mjs +6 -0
  240. package/dist/middlewares/ip.mjs.map +1 -0
  241. package/dist/middlewares/logger.js +13 -0
  242. package/dist/middlewares/logger.js.map +1 -0
  243. package/dist/middlewares/logger.mjs +11 -0
  244. package/dist/middlewares/logger.mjs.map +1 -0
  245. package/dist/middlewares/powered-by.js +18 -0
  246. package/dist/middlewares/powered-by.js.map +1 -0
  247. package/dist/middlewares/powered-by.mjs +16 -0
  248. package/dist/middlewares/powered-by.mjs.map +1 -0
  249. package/dist/middlewares/public.js +38 -0
  250. package/dist/middlewares/public.js.map +1 -0
  251. package/dist/middlewares/public.mjs +36 -0
  252. package/dist/middlewares/public.mjs.map +1 -0
  253. package/dist/middlewares/query.js +43 -0
  254. package/dist/middlewares/query.js.map +1 -0
  255. package/dist/middlewares/query.mjs +41 -0
  256. package/dist/middlewares/query.mjs.map +1 -0
  257. package/dist/middlewares/response-time.js +13 -0
  258. package/dist/middlewares/response-time.js.map +1 -0
  259. package/dist/middlewares/response-time.mjs +11 -0
  260. package/dist/middlewares/response-time.mjs.map +1 -0
  261. package/dist/middlewares/responses.js +17 -0
  262. package/dist/middlewares/responses.js.map +1 -0
  263. package/dist/middlewares/responses.mjs +15 -0
  264. package/dist/middlewares/responses.mjs.map +1 -0
  265. package/dist/middlewares/security.js +116 -0
  266. package/dist/middlewares/security.js.map +1 -0
  267. package/dist/middlewares/security.mjs +114 -0
  268. package/dist/middlewares/security.mjs.map +1 -0
  269. package/dist/middlewares/session.js +31 -0
  270. package/dist/middlewares/session.js.map +1 -0
  271. package/dist/middlewares/session.mjs +29 -0
  272. package/dist/middlewares/session.mjs.map +1 -0
  273. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  274. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  275. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  276. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  277. package/dist/migrations/draft-publish.js +69 -0
  278. package/dist/migrations/draft-publish.js.map +1 -0
  279. package/dist/migrations/draft-publish.mjs +66 -0
  280. package/dist/migrations/draft-publish.mjs.map +1 -0
  281. package/dist/migrations/first-published-at.d.ts +4 -0
  282. package/dist/migrations/first-published-at.d.ts.map +1 -0
  283. package/dist/migrations/first-published-at.js +51 -0
  284. package/dist/migrations/first-published-at.js.map +1 -0
  285. package/dist/migrations/first-published-at.mjs +49 -0
  286. package/dist/migrations/first-published-at.mjs.map +1 -0
  287. package/dist/migrations/i18n.js +71 -0
  288. package/dist/migrations/i18n.js.map +1 -0
  289. package/dist/migrations/i18n.mjs +68 -0
  290. package/dist/migrations/i18n.mjs.map +1 -0
  291. package/dist/migrations/index.d.ts.map +1 -1
  292. package/dist/migrations/index.js +34 -0
  293. package/dist/migrations/index.js.map +1 -0
  294. package/dist/migrations/index.mjs +31 -0
  295. package/dist/migrations/index.mjs.map +1 -0
  296. package/dist/package.json.js +186 -0
  297. package/dist/package.json.js.map +1 -0
  298. package/dist/package.json.mjs +163 -0
  299. package/dist/package.json.mjs.map +1 -0
  300. package/dist/providers/admin.js +30 -0
  301. package/dist/providers/admin.js.map +1 -0
  302. package/dist/providers/admin.mjs +28 -0
  303. package/dist/providers/admin.mjs.map +1 -0
  304. package/dist/providers/coreStore.js +16 -0
  305. package/dist/providers/coreStore.js.map +1 -0
  306. package/dist/providers/coreStore.mjs +14 -0
  307. package/dist/providers/coreStore.mjs.map +1 -0
  308. package/dist/providers/cron.js +23 -0
  309. package/dist/providers/cron.js.map +1 -0
  310. package/dist/providers/cron.mjs +21 -0
  311. package/dist/providers/cron.mjs.map +1 -0
  312. package/dist/providers/index.js +20 -0
  313. package/dist/providers/index.js.map +1 -0
  314. package/dist/providers/index.mjs +18 -0
  315. package/dist/providers/index.mjs.map +1 -0
  316. package/dist/providers/provider.js +6 -0
  317. package/dist/providers/provider.js.map +1 -0
  318. package/dist/providers/provider.mjs +4 -0
  319. package/dist/providers/provider.mjs.map +1 -0
  320. package/dist/providers/registries.js +40 -0
  321. package/dist/providers/registries.js.map +1 -0
  322. package/dist/providers/registries.mjs +38 -0
  323. package/dist/providers/registries.mjs.map +1 -0
  324. package/dist/providers/telemetry.js +22 -0
  325. package/dist/providers/telemetry.js.map +1 -0
  326. package/dist/providers/telemetry.mjs +20 -0
  327. package/dist/providers/telemetry.mjs.map +1 -0
  328. package/dist/providers/webhooks.js +32 -0
  329. package/dist/providers/webhooks.js.map +1 -0
  330. package/dist/providers/webhooks.mjs +30 -0
  331. package/dist/providers/webhooks.mjs.map +1 -0
  332. package/dist/registries/apis.js +26 -0
  333. package/dist/registries/apis.js.map +1 -0
  334. package/dist/registries/apis.mjs +24 -0
  335. package/dist/registries/apis.mjs.map +1 -0
  336. package/dist/registries/components.js +43 -0
  337. package/dist/registries/components.js.map +1 -0
  338. package/dist/registries/components.mjs +41 -0
  339. package/dist/registries/components.mjs.map +1 -0
  340. package/dist/registries/content-types.js +65 -0
  341. package/dist/registries/content-types.js.map +1 -0
  342. package/dist/registries/content-types.mjs +63 -0
  343. package/dist/registries/content-types.mjs.map +1 -0
  344. package/dist/registries/controllers.js +79 -0
  345. package/dist/registries/controllers.js.map +1 -0
  346. package/dist/registries/controllers.mjs +77 -0
  347. package/dist/registries/controllers.mjs.map +1 -0
  348. package/dist/registries/custom-fields.js +81 -0
  349. package/dist/registries/custom-fields.js.map +1 -0
  350. package/dist/registries/custom-fields.mjs +79 -0
  351. package/dist/registries/custom-fields.mjs.map +1 -0
  352. package/dist/registries/hooks.js +55 -0
  353. package/dist/registries/hooks.js.map +1 -0
  354. package/dist/registries/hooks.mjs +53 -0
  355. package/dist/registries/hooks.mjs.map +1 -0
  356. package/dist/registries/middlewares.js +58 -0
  357. package/dist/registries/middlewares.js.map +1 -0
  358. package/dist/registries/middlewares.mjs +56 -0
  359. package/dist/registries/middlewares.mjs.map +1 -0
  360. package/dist/registries/models.js +17 -0
  361. package/dist/registries/models.js.map +1 -0
  362. package/dist/registries/models.mjs +15 -0
  363. package/dist/registries/models.mjs.map +1 -0
  364. package/dist/registries/modules.js +42 -0
  365. package/dist/registries/modules.js.map +1 -0
  366. package/dist/registries/modules.mjs +40 -0
  367. package/dist/registries/modules.mjs.map +1 -0
  368. package/dist/registries/namespace.js +28 -0
  369. package/dist/registries/namespace.js.map +1 -0
  370. package/dist/registries/namespace.mjs +24 -0
  371. package/dist/registries/namespace.mjs.map +1 -0
  372. package/dist/registries/plugins.js +26 -0
  373. package/dist/registries/plugins.js.map +1 -0
  374. package/dist/registries/plugins.mjs +24 -0
  375. package/dist/registries/plugins.mjs.map +1 -0
  376. package/dist/registries/policies.js +115 -0
  377. package/dist/registries/policies.js.map +1 -0
  378. package/dist/registries/policies.mjs +113 -0
  379. package/dist/registries/policies.mjs.map +1 -0
  380. package/dist/registries/sanitizers.js +26 -0
  381. package/dist/registries/sanitizers.js.map +1 -0
  382. package/dist/registries/sanitizers.mjs +24 -0
  383. package/dist/registries/sanitizers.mjs.map +1 -0
  384. package/dist/registries/services.js +80 -0
  385. package/dist/registries/services.js.map +1 -0
  386. package/dist/registries/services.mjs +78 -0
  387. package/dist/registries/services.mjs.map +1 -0
  388. package/dist/registries/validators.js +26 -0
  389. package/dist/registries/validators.js.map +1 -0
  390. package/dist/registries/validators.mjs +24 -0
  391. package/dist/registries/validators.mjs.map +1 -0
  392. package/dist/services/auth/index.js +81 -0
  393. package/dist/services/auth/index.js.map +1 -0
  394. package/dist/services/auth/index.mjs +79 -0
  395. package/dist/services/auth/index.mjs.map +1 -0
  396. package/dist/services/config.js +51 -0
  397. package/dist/services/config.js.map +1 -0
  398. package/dist/services/config.mjs +49 -0
  399. package/dist/services/config.mjs.map +1 -0
  400. package/dist/services/content-api/index.d.ts +1 -1
  401. package/dist/services/content-api/index.d.ts.map +1 -1
  402. package/dist/services/content-api/index.js +86 -0
  403. package/dist/services/content-api/index.js.map +1 -0
  404. package/dist/services/content-api/index.mjs +84 -0
  405. package/dist/services/content-api/index.mjs.map +1 -0
  406. package/dist/services/content-api/permissions/engine.js +10 -0
  407. package/dist/services/content-api/permissions/engine.js.map +1 -0
  408. package/dist/services/content-api/permissions/engine.mjs +8 -0
  409. package/dist/services/content-api/permissions/engine.mjs.map +1 -0
  410. package/dist/services/content-api/permissions/index.js +107 -0
  411. package/dist/services/content-api/permissions/index.js.map +1 -0
  412. package/dist/services/content-api/permissions/index.mjs +105 -0
  413. package/dist/services/content-api/permissions/index.mjs.map +1 -0
  414. package/dist/services/content-api/permissions/providers/action.js +19 -0
  415. package/dist/services/content-api/permissions/providers/action.js.map +1 -0
  416. package/dist/services/content-api/permissions/providers/action.mjs +17 -0
  417. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
  418. package/dist/services/content-api/permissions/providers/condition.js +19 -0
  419. package/dist/services/content-api/permissions/providers/condition.js.map +1 -0
  420. package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
  421. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
  422. package/dist/services/content-source-maps.d.ts +13 -0
  423. package/dist/services/content-source-maps.d.ts.map +1 -0
  424. package/dist/services/content-source-maps.js +108 -0
  425. package/dist/services/content-source-maps.js.map +1 -0
  426. package/dist/services/content-source-maps.mjs +106 -0
  427. package/dist/services/content-source-maps.mjs.map +1 -0
  428. package/dist/services/core-store.d.ts +2 -2
  429. package/dist/services/core-store.d.ts.map +1 -1
  430. package/dist/services/core-store.js +127 -0
  431. package/dist/services/core-store.js.map +1 -0
  432. package/dist/services/core-store.mjs +124 -0
  433. package/dist/services/core-store.mjs.map +1 -0
  434. package/dist/services/cron.js +77 -0
  435. package/dist/services/cron.js.map +1 -0
  436. package/dist/services/cron.mjs +75 -0
  437. package/dist/services/cron.mjs.map +1 -0
  438. package/dist/services/custom-fields.js +12 -0
  439. package/dist/services/custom-fields.js.map +1 -0
  440. package/dist/services/custom-fields.mjs +10 -0
  441. package/dist/services/custom-fields.mjs.map +1 -0
  442. package/dist/services/document-service/attributes/index.js +27 -0
  443. package/dist/services/document-service/attributes/index.js.map +1 -0
  444. package/dist/services/document-service/attributes/index.mjs +25 -0
  445. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  446. package/dist/services/document-service/attributes/transforms.js +21 -0
  447. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  448. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  449. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  450. package/dist/services/document-service/common.js +8 -0
  451. package/dist/services/document-service/common.js.map +1 -0
  452. package/dist/services/document-service/common.mjs +6 -0
  453. package/dist/services/document-service/common.mjs.map +1 -0
  454. package/dist/services/document-service/components.d.ts +6 -1
  455. package/dist/services/document-service/components.d.ts.map +1 -1
  456. package/dist/services/document-service/components.js +383 -0
  457. package/dist/services/document-service/components.js.map +1 -0
  458. package/dist/services/document-service/components.mjs +374 -0
  459. package/dist/services/document-service/components.mjs.map +1 -0
  460. package/dist/services/document-service/draft-and-publish.js +109 -0
  461. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  462. package/dist/services/document-service/draft-and-publish.mjs +102 -0
  463. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  464. package/dist/services/document-service/entries.d.ts.map +1 -1
  465. package/dist/services/document-service/entries.js +155 -0
  466. package/dist/services/document-service/entries.js.map +1 -0
  467. package/dist/services/document-service/entries.mjs +153 -0
  468. package/dist/services/document-service/entries.mjs.map +1 -0
  469. package/dist/services/document-service/events.js +59 -0
  470. package/dist/services/document-service/events.js.map +1 -0
  471. package/dist/services/document-service/events.mjs +57 -0
  472. package/dist/services/document-service/events.mjs.map +1 -0
  473. package/dist/services/document-service/first-published-at.d.ts +7 -0
  474. package/dist/services/document-service/first-published-at.d.ts.map +1 -0
  475. package/dist/services/document-service/first-published-at.js +31 -0
  476. package/dist/services/document-service/first-published-at.js.map +1 -0
  477. package/dist/services/document-service/first-published-at.mjs +28 -0
  478. package/dist/services/document-service/first-published-at.mjs.map +1 -0
  479. package/dist/services/document-service/index.js +56 -0
  480. package/dist/services/document-service/index.js.map +1 -0
  481. package/dist/services/document-service/index.mjs +54 -0
  482. package/dist/services/document-service/index.mjs.map +1 -0
  483. package/dist/services/document-service/internationalization.d.ts +6 -1
  484. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  485. package/dist/services/document-service/internationalization.js +111 -0
  486. package/dist/services/document-service/internationalization.js.map +1 -0
  487. package/dist/services/document-service/internationalization.mjs +105 -0
  488. package/dist/services/document-service/internationalization.mjs.map +1 -0
  489. package/dist/services/document-service/middlewares/errors.js +29 -0
  490. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  491. package/dist/services/document-service/middlewares/errors.mjs +27 -0
  492. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  493. package/dist/services/document-service/middlewares/middleware-manager.js +51 -0
  494. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  495. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  496. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  497. package/dist/services/document-service/params.js +14 -0
  498. package/dist/services/document-service/params.js.map +1 -0
  499. package/dist/services/document-service/params.mjs +12 -0
  500. package/dist/services/document-service/params.mjs.map +1 -0
  501. package/dist/services/document-service/repository.d.ts.map +1 -1
  502. package/dist/services/document-service/repository.js +372 -0
  503. package/dist/services/document-service/repository.js.map +1 -0
  504. package/dist/services/document-service/repository.mjs +370 -0
  505. package/dist/services/document-service/repository.mjs.map +1 -0
  506. package/dist/services/document-service/transform/data.js +25 -0
  507. package/dist/services/document-service/transform/data.js.map +1 -0
  508. package/dist/services/document-service/transform/data.mjs +23 -0
  509. package/dist/services/document-service/transform/data.mjs.map +1 -0
  510. package/dist/services/document-service/transform/fields.js +33 -0
  511. package/dist/services/document-service/transform/fields.js.map +1 -0
  512. package/dist/services/document-service/transform/fields.mjs +31 -0
  513. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  514. package/dist/services/document-service/transform/id-map.js +125 -0
  515. package/dist/services/document-service/transform/id-map.js.map +1 -0
  516. package/dist/services/document-service/transform/id-map.mjs +123 -0
  517. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  518. package/dist/services/document-service/transform/id-transform.js +41 -0
  519. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  520. package/dist/services/document-service/transform/id-transform.mjs +39 -0
  521. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  522. package/dist/services/document-service/transform/populate.js +26 -0
  523. package/dist/services/document-service/transform/populate.js.map +1 -0
  524. package/dist/services/document-service/transform/populate.mjs +24 -0
  525. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  526. package/dist/services/document-service/transform/query.js +14 -0
  527. package/dist/services/document-service/transform/query.js.map +1 -0
  528. package/dist/services/document-service/transform/query.mjs +12 -0
  529. package/dist/services/document-service/transform/query.mjs.map +1 -0
  530. package/dist/services/document-service/transform/relations/extract/data-ids.js +80 -0
  531. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  532. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +78 -0
  533. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  534. package/dist/services/document-service/transform/relations/transform/data-ids.js +110 -0
  535. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  536. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +108 -0
  537. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  538. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  539. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  540. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  541. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  542. package/dist/services/document-service/transform/relations/utils/dp.js +56 -0
  543. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  544. package/dist/services/document-service/transform/relations/utils/dp.mjs +54 -0
  545. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  546. package/dist/services/document-service/transform/relations/utils/i18n.js +27 -0
  547. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  548. package/dist/services/document-service/transform/relations/utils/i18n.mjs +23 -0
  549. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  550. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  551. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  552. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  553. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  554. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  555. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  556. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  557. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  558. package/dist/services/document-service/utils/populate.js +71 -0
  559. package/dist/services/document-service/utils/populate.js.map +1 -0
  560. package/dist/services/document-service/utils/populate.mjs +69 -0
  561. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  562. package/dist/services/document-service/utils/unidirectional-relations.d.ts +19 -2
  563. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  564. package/dist/services/document-service/utils/unidirectional-relations.js +131 -0
  565. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  566. package/dist/services/document-service/utils/unidirectional-relations.mjs +128 -0
  567. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  568. package/dist/services/entity-service/index.js +238 -0
  569. package/dist/services/entity-service/index.js.map +1 -0
  570. package/dist/services/entity-service/index.mjs +236 -0
  571. package/dist/services/entity-service/index.mjs.map +1 -0
  572. package/dist/services/entity-validator/blocks-validator.js +160 -0
  573. package/dist/services/entity-validator/blocks-validator.js.map +1 -0
  574. package/dist/services/entity-validator/blocks-validator.mjs +158 -0
  575. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
  576. package/dist/services/entity-validator/index.d.ts.map +1 -1
  577. package/dist/services/entity-validator/index.js +393 -0
  578. package/dist/services/entity-validator/index.js.map +1 -0
  579. package/dist/services/entity-validator/index.mjs +391 -0
  580. package/dist/services/entity-validator/index.mjs.map +1 -0
  581. package/dist/services/entity-validator/validators.d.ts +1 -0
  582. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  583. package/dist/services/entity-validator/validators.js +302 -0
  584. package/dist/services/entity-validator/validators.js.map +1 -0
  585. package/dist/services/entity-validator/validators.mjs +293 -0
  586. package/dist/services/entity-validator/validators.mjs.map +1 -0
  587. package/dist/services/errors.js +76 -0
  588. package/dist/services/errors.js.map +1 -0
  589. package/dist/services/errors.mjs +72 -0
  590. package/dist/services/errors.mjs.map +1 -0
  591. package/dist/services/event-hub.js +85 -0
  592. package/dist/services/event-hub.js.map +1 -0
  593. package/dist/services/event-hub.mjs +83 -0
  594. package/dist/services/event-hub.mjs.map +1 -0
  595. package/dist/services/features.js +22 -0
  596. package/dist/services/features.js.map +1 -0
  597. package/dist/services/features.mjs +20 -0
  598. package/dist/services/features.mjs.map +1 -0
  599. package/dist/services/fs.js +52 -0
  600. package/dist/services/fs.js.map +1 -0
  601. package/dist/services/fs.mjs +50 -0
  602. package/dist/services/fs.mjs.map +1 -0
  603. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  604. package/dist/services/metrics/admin-user-hash.js +16 -0
  605. package/dist/services/metrics/admin-user-hash.js.map +1 -0
  606. package/dist/services/metrics/admin-user-hash.mjs +14 -0
  607. package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
  608. package/dist/services/metrics/index.d.ts +1 -1
  609. package/dist/services/metrics/index.d.ts.map +1 -1
  610. package/dist/services/metrics/index.js +52 -0
  611. package/dist/services/metrics/index.js.map +1 -0
  612. package/dist/services/metrics/index.mjs +50 -0
  613. package/dist/services/metrics/index.mjs.map +1 -0
  614. package/dist/services/metrics/is-truthy.js +16 -0
  615. package/dist/services/metrics/is-truthy.js.map +1 -0
  616. package/dist/services/metrics/is-truthy.mjs +14 -0
  617. package/dist/services/metrics/is-truthy.mjs.map +1 -0
  618. package/dist/services/metrics/middleware.js +40 -0
  619. package/dist/services/metrics/middleware.js.map +1 -0
  620. package/dist/services/metrics/middleware.mjs +38 -0
  621. package/dist/services/metrics/middleware.mjs.map +1 -0
  622. package/dist/services/metrics/rate-limiter.js +26 -0
  623. package/dist/services/metrics/rate-limiter.js.map +1 -0
  624. package/dist/services/metrics/rate-limiter.mjs +24 -0
  625. package/dist/services/metrics/rate-limiter.mjs.map +1 -0
  626. package/dist/services/metrics/sender.d.ts.map +1 -1
  627. package/dist/services/metrics/sender.js +86 -0
  628. package/dist/services/metrics/sender.js.map +1 -0
  629. package/dist/services/metrics/sender.mjs +84 -0
  630. package/dist/services/metrics/sender.mjs.map +1 -0
  631. package/dist/services/query-params.js +15 -0
  632. package/dist/services/query-params.js.map +1 -0
  633. package/dist/services/query-params.mjs +13 -0
  634. package/dist/services/query-params.mjs.map +1 -0
  635. package/dist/services/reloader.js +39 -0
  636. package/dist/services/reloader.js.map +1 -0
  637. package/dist/services/reloader.mjs +37 -0
  638. package/dist/services/reloader.mjs.map +1 -0
  639. package/dist/services/request-context.js +16 -0
  640. package/dist/services/request-context.js.map +1 -0
  641. package/dist/services/request-context.mjs +14 -0
  642. package/dist/services/request-context.mjs.map +1 -0
  643. package/dist/services/server/admin-api.js +14 -0
  644. package/dist/services/server/admin-api.js.map +1 -0
  645. package/dist/services/server/admin-api.mjs +12 -0
  646. package/dist/services/server/admin-api.mjs.map +1 -0
  647. package/dist/services/server/api.js +36 -0
  648. package/dist/services/server/api.js.map +1 -0
  649. package/dist/services/server/api.mjs +34 -0
  650. package/dist/services/server/api.mjs.map +1 -0
  651. package/dist/services/server/compose-endpoint.js +128 -0
  652. package/dist/services/server/compose-endpoint.js.map +1 -0
  653. package/dist/services/server/compose-endpoint.mjs +126 -0
  654. package/dist/services/server/compose-endpoint.mjs.map +1 -0
  655. package/dist/services/server/content-api.js +14 -0
  656. package/dist/services/server/content-api.js.map +1 -0
  657. package/dist/services/server/content-api.mjs +12 -0
  658. package/dist/services/server/content-api.mjs.map +1 -0
  659. package/dist/services/server/http-server.js +54 -0
  660. package/dist/services/server/http-server.js.map +1 -0
  661. package/dist/services/server/http-server.mjs +52 -0
  662. package/dist/services/server/http-server.mjs.map +1 -0
  663. package/dist/services/server/index.js +90 -0
  664. package/dist/services/server/index.js.map +1 -0
  665. package/dist/services/server/index.mjs +88 -0
  666. package/dist/services/server/index.mjs.map +1 -0
  667. package/dist/services/server/koa.js +54 -0
  668. package/dist/services/server/koa.js.map +1 -0
  669. package/dist/services/server/koa.mjs +52 -0
  670. package/dist/services/server/koa.mjs.map +1 -0
  671. package/dist/services/server/middleware.js +96 -0
  672. package/dist/services/server/middleware.js.map +1 -0
  673. package/dist/services/server/middleware.mjs +93 -0
  674. package/dist/services/server/middleware.mjs.map +1 -0
  675. package/dist/services/server/policy.js +27 -0
  676. package/dist/services/server/policy.js.map +1 -0
  677. package/dist/services/server/policy.mjs +25 -0
  678. package/dist/services/server/policy.mjs.map +1 -0
  679. package/dist/services/server/register-middlewares.js +79 -0
  680. package/dist/services/server/register-middlewares.js.map +1 -0
  681. package/dist/services/server/register-middlewares.mjs +77 -0
  682. package/dist/services/server/register-middlewares.mjs.map +1 -0
  683. package/dist/services/server/register-routes.js +119 -0
  684. package/dist/services/server/register-routes.js.map +1 -0
  685. package/dist/services/server/register-routes.mjs +117 -0
  686. package/dist/services/server/register-routes.mjs.map +1 -0
  687. package/dist/services/server/routing.d.ts +10 -0
  688. package/dist/services/server/routing.d.ts.map +1 -1
  689. package/dist/services/server/routing.js +110 -0
  690. package/dist/services/server/routing.js.map +1 -0
  691. package/dist/services/server/routing.mjs +107 -0
  692. package/dist/services/server/routing.mjs.map +1 -0
  693. package/dist/services/utils/conditional-fields.d.ts +3 -0
  694. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  695. package/dist/services/utils/conditional-fields.js +22 -0
  696. package/dist/services/utils/conditional-fields.js.map +1 -0
  697. package/dist/services/utils/conditional-fields.mjs +20 -0
  698. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  699. package/dist/services/utils/dynamic-zones.js +16 -0
  700. package/dist/services/utils/dynamic-zones.js.map +1 -0
  701. package/dist/services/utils/dynamic-zones.mjs +14 -0
  702. package/dist/services/utils/dynamic-zones.mjs.map +1 -0
  703. package/dist/services/webhook-runner.js +135 -0
  704. package/dist/services/webhook-runner.js.map +1 -0
  705. package/dist/services/webhook-runner.mjs +133 -0
  706. package/dist/services/webhook-runner.mjs.map +1 -0
  707. package/dist/services/webhook-store.js +143 -0
  708. package/dist/services/webhook-store.js.map +1 -0
  709. package/dist/services/webhook-store.mjs +140 -0
  710. package/dist/services/webhook-store.mjs.map +1 -0
  711. package/dist/services/worker-queue.js +51 -0
  712. package/dist/services/worker-queue.js.map +1 -0
  713. package/dist/services/worker-queue.mjs +49 -0
  714. package/dist/services/worker-queue.mjs.map +1 -0
  715. package/dist/utils/convert-custom-field-type.js +21 -0
  716. package/dist/utils/convert-custom-field-type.js.map +1 -0
  717. package/dist/utils/convert-custom-field-type.mjs +19 -0
  718. package/dist/utils/convert-custom-field-type.mjs.map +1 -0
  719. package/dist/utils/cron.js +72 -0
  720. package/dist/utils/cron.js.map +1 -0
  721. package/dist/utils/cron.mjs +70 -0
  722. package/dist/utils/cron.mjs.map +1 -0
  723. package/dist/utils/fetch.d.ts +5 -1
  724. package/dist/utils/fetch.d.ts.map +1 -1
  725. package/dist/utils/fetch.js +31 -0
  726. package/dist/utils/fetch.js.map +1 -0
  727. package/dist/utils/fetch.mjs +29 -0
  728. package/dist/utils/fetch.mjs.map +1 -0
  729. package/dist/utils/filepath-to-prop-path.js +25 -0
  730. package/dist/utils/filepath-to-prop-path.js.map +1 -0
  731. package/dist/utils/filepath-to-prop-path.mjs +23 -0
  732. package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
  733. package/dist/utils/is-initialized.js +25 -0
  734. package/dist/utils/is-initialized.js.map +1 -0
  735. package/dist/utils/is-initialized.mjs +23 -0
  736. package/dist/utils/is-initialized.mjs.map +1 -0
  737. package/dist/utils/lifecycles.js +10 -0
  738. package/dist/utils/lifecycles.js.map +1 -0
  739. package/dist/utils/lifecycles.mjs +8 -0
  740. package/dist/utils/lifecycles.mjs.map +1 -0
  741. package/dist/utils/load-config-file.js +47 -0
  742. package/dist/utils/load-config-file.js.map +1 -0
  743. package/dist/utils/load-config-file.mjs +45 -0
  744. package/dist/utils/load-config-file.mjs.map +1 -0
  745. package/dist/utils/load-files.js +44 -0
  746. package/dist/utils/load-files.js.map +1 -0
  747. package/dist/utils/load-files.mjs +42 -0
  748. package/dist/utils/load-files.mjs.map +1 -0
  749. package/dist/utils/open-browser.js +11 -0
  750. package/dist/utils/open-browser.js.map +1 -0
  751. package/dist/utils/open-browser.mjs +9 -0
  752. package/dist/utils/open-browser.mjs.map +1 -0
  753. package/dist/utils/resolve-working-dirs.js +26 -0
  754. package/dist/utils/resolve-working-dirs.js.map +1 -0
  755. package/dist/utils/resolve-working-dirs.mjs +24 -0
  756. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  757. package/dist/utils/signals.js +23 -0
  758. package/dist/utils/signals.js.map +1 -0
  759. package/dist/utils/signals.mjs +21 -0
  760. package/dist/utils/signals.mjs.map +1 -0
  761. package/dist/utils/startup-logger.js +110 -0
  762. package/dist/utils/startup-logger.js.map +1 -0
  763. package/dist/utils/startup-logger.mjs +108 -0
  764. package/dist/utils/startup-logger.mjs.map +1 -0
  765. package/dist/utils/transform-content-types-to-models.d.ts +197 -0
  766. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  767. package/dist/utils/transform-content-types-to-models.js +377 -0
  768. package/dist/utils/transform-content-types-to-models.js.map +1 -0
  769. package/dist/utils/transform-content-types-to-models.mjs +365 -0
  770. package/dist/utils/transform-content-types-to-models.mjs.map +1 -0
  771. package/dist/utils/update-notifier/index.js +80 -0
  772. package/dist/utils/update-notifier/index.js.map +1 -0
  773. package/dist/utils/update-notifier/index.mjs +78 -0
  774. package/dist/utils/update-notifier/index.mjs.map +1 -0
  775. package/package.json +18 -14
@@ -0,0 +1,41 @@
1
+ import { has } from 'lodash/fp';
2
+
3
+ const componentsRegistry = ()=>{
4
+ const components = {};
5
+ return {
6
+ /**
7
+ * Returns this list of registered components uids
8
+ */ keys () {
9
+ return Object.keys(components);
10
+ },
11
+ /**
12
+ * Returns the instance of a component. Instantiate the component if not already done
13
+ */ get (uid) {
14
+ return components[uid];
15
+ },
16
+ /**
17
+ * Returns a map with all the components in a namespace
18
+ */ getAll () {
19
+ return components;
20
+ },
21
+ /**
22
+ * Registers a component
23
+ */ set (uid, component) {
24
+ if (has(uid, components)) {
25
+ throw new Error(`Component ${uid} has already been registered.`);
26
+ }
27
+ components[uid] = component;
28
+ return this;
29
+ },
30
+ /**
31
+ * Registers a map of components for a specific namespace
32
+ */ add (newComponents) {
33
+ for (const uid of Object.keys(newComponents)){
34
+ this.set(uid, newComponents[uid]);
35
+ }
36
+ }
37
+ };
38
+ };
39
+
40
+ export { componentsRegistry as default };
41
+ //# sourceMappingURL=components.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.mjs","sources":["../../src/registries/components.ts"],"sourcesContent":["import { has } from 'lodash/fp';\nimport type { Struct, UID } from '@strapi/types';\n\nconst componentsRegistry = () => {\n const components: Record<UID.Component, Struct.ComponentSchema> = {};\n\n return {\n /**\n * Returns this list of registered components uids\n */\n keys(): UID.Component[] {\n return Object.keys(components) as UID.Component[];\n },\n\n /**\n * Returns the instance of a component. Instantiate the component if not already done\n */\n get(uid: UID.Component) {\n return components[uid];\n },\n\n /**\n * Returns a map with all the components in a namespace\n */\n getAll() {\n return components;\n },\n\n /**\n * Registers a component\n */\n set(uid: UID.Component, component: Struct.ComponentSchema) {\n if (has(uid, components)) {\n throw new Error(`Component ${uid} has already been registered.`);\n }\n\n components[uid] = component;\n\n return this;\n },\n\n /**\n * Registers a map of components for a specific namespace\n */\n add(newComponents: Record<UID.Component, Struct.ComponentSchema>) {\n for (const uid of Object.keys(newComponents) as UID.Component[]) {\n this.set(uid, newComponents[uid]);\n }\n },\n };\n};\n\nexport default componentsRegistry;\n"],"names":["componentsRegistry","components","keys","Object","get","uid","getAll","set","component","has","Error","add","newComponents"],"mappings":";;AAGA,MAAMA,kBAAqB,GAAA,IAAA;AACzB,IAAA,MAAMC,aAA4D,EAAC;IAEnE,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,UAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDG,KAAIC,GAAkB,EAAA;YACpB,OAAOJ,UAAU,CAACI,GAAI,CAAA;AACxB,SAAA;AAEA;;QAGAC,MAAAA,CAAAA,GAAAA;YACE,OAAOL,UAAAA;AACT,SAAA;AAEA;;QAGAM,GAAAA,CAAAA,CAAIF,GAAkB,EAAEG,SAAiC,EAAA;YACvD,IAAIC,GAAAA,CAAIJ,KAAKJ,UAAa,CAAA,EAAA;AACxB,gBAAA,MAAM,IAAIS,KAAM,CAAA,CAAC,UAAU,EAAEL,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AACjE;YAEAJ,UAAU,CAACI,IAAI,GAAGG,SAAAA;AAElB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;AAEC,QACDG,KAAIC,aAA4D,EAAA;AAC9D,YAAA,KAAK,MAAMP,GAAAA,IAAOF,MAAOD,CAAAA,IAAI,CAACU,aAAmC,CAAA,CAAA;AAC/D,gBAAA,IAAI,CAACL,GAAG,CAACF,GAAKO,EAAAA,aAAa,CAACP,GAAI,CAAA,CAAA;AAClC;AACF;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var index = require('../domain/content-type/index.js');
5
+ var namespace = require('./namespace.js');
6
+
7
+ const validateKeySameToSingularName = (contentTypes)=>{
8
+ for (const ctName of Object.keys(contentTypes)){
9
+ const contentType = contentTypes[ctName];
10
+ if (ctName !== contentType.schema.info.singularName) {
11
+ throw new Error(`The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`);
12
+ }
13
+ }
14
+ };
15
+ const contentTypesRegistry = ()=>{
16
+ const contentTypes = {};
17
+ return {
18
+ /**
19
+ * Returns this list of registered contentTypes uids
20
+ */ keys () {
21
+ return Object.keys(contentTypes);
22
+ },
23
+ /**
24
+ * Returns the instance of a contentType. Instantiate the contentType if not already done
25
+ */ get (uid) {
26
+ return contentTypes[uid];
27
+ },
28
+ /**
29
+ * Returns a map with all the contentTypes in a namespace
30
+ */ getAll (namespace$1) {
31
+ return fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(contentTypes);
32
+ },
33
+ /**
34
+ * Registers a contentType
35
+ */ set (uid, contentType) {
36
+ contentTypes[uid] = contentType;
37
+ return this;
38
+ },
39
+ /**
40
+ * Registers a map of contentTypes for a specific namespace
41
+ */ add (namespace$1, newContentTypes) {
42
+ validateKeySameToSingularName(newContentTypes);
43
+ for (const rawCtName of Object.keys(newContentTypes)){
44
+ const uid = namespace.addNamespace(rawCtName, namespace$1);
45
+ if (fp.has(uid, contentTypes)) {
46
+ throw new Error(`Content-type ${uid} has already been registered.`);
47
+ }
48
+ contentTypes[uid] = index.createContentType(uid, newContentTypes[rawCtName]);
49
+ }
50
+ },
51
+ /**
52
+ * Wraps a contentType to extend it
53
+ */ extend (ctUID, extendFn) {
54
+ const currentContentType = this.get(ctUID);
55
+ if (!currentContentType) {
56
+ throw new Error(`Content-Type ${ctUID} doesn't exist`);
57
+ }
58
+ extendFn(currentContentType);
59
+ return this;
60
+ }
61
+ };
62
+ };
63
+
64
+ module.exports = contentTypesRegistry;
65
+ //# sourceMappingURL=content-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-types.js","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { UID, Struct } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Struct.ContentTypeSchema) => Struct.ContentTypeSchema;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Struct.ContentTypeSchema> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: UID.ContentType, contentType: Struct.ContentTypeSchema) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n extendFn(currentContentType);\n\n return this;\n },\n };\n};\n\nexport default contentTypesRegistry;\n"],"names":["validateKeySameToSingularName","contentTypes","ctName","Object","keys","contentType","schema","info","singularName","Error","contentTypesRegistry","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","add","newContentTypes","rawCtName","addNamespace","has","createContentType","extend","ctUID","extendFn","currentContentType"],"mappings":";;;;;;AAQA,MAAMA,gCAAgC,CAACC,YAAAA,GAAAA;AACrC,IAAA,KAAK,MAAMC,MAAAA,IAAUC,MAAOC,CAAAA,IAAI,CAACH,YAAe,CAAA,CAAA;QAC9C,MAAMI,WAAAA,GAAcJ,YAAY,CAACC,MAAO,CAAA;AAExC,QAAA,IAAIA,WAAWG,WAAYC,CAAAA,MAAM,CAACC,IAAI,CAACC,YAAY,EAAE;AACnD,YAAA,MAAM,IAAIC,KACR,CAAA,CAAC,0EAA0E,EAAEP,OAAO,KAAK,EAAEG,WAAYC,CAAAA,MAAM,CAACC,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,CAAA;AAEtI;AACF;AACF,CAAA;AAEA,MAAME,oBAAuB,GAAA,IAAA;AAC3B,IAAA,MAAMT,eAAyD,EAAC;IAEhE,OAAO;AACL;;QAGAG,IAAAA,CAAAA,GAAAA;YACE,OAAOD,MAAAA,CAAOC,IAAI,CAACH,YAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDU,KAAIC,GAAoB,EAAA;YACtB,OAAOX,YAAY,CAACW,GAAI,CAAA;AAC1B,SAAA;AAEA;;AAEC,QACDC,QAAOC,WAAiB,EAAA;AACtB,YAAA,OAAOC,UAAO,CAACC,CAAAA,EAAGJ,GAAQK,GAAAA,sBAAAA,CAAaL,KAAKE,WAAYb,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA;AAC1D,SAAA;AAEA;;QAGAiB,GAAAA,CAAAA,CAAIN,GAAoB,EAAEP,WAAqC,EAAA;YAC7DJ,YAAY,CAACW,IAAI,GAAGP,WAAAA;AACpB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAc,GAAAA,CAAAA,CAAIL,WAAiB,EAAEM,eAAkC,EAAA;YACvDpB,6BAA8BoB,CAAAA,eAAAA,CAAAA;AAE9B,YAAA,KAAK,MAAMC,SAAAA,IAAalB,MAAOC,CAAAA,IAAI,CAACgB,eAAkB,CAAA,CAAA;gBACpD,MAAMR,GAAAA,GAAMU,uBAAaD,SAAWP,EAAAA,WAAAA,CAAAA;gBAEpC,IAAIS,MAAAA,CAAIX,KAAKX,YAAe,CAAA,EAAA;AAC1B,oBAAA,MAAM,IAAIQ,KAAM,CAAA,CAAC,aAAa,EAAEG,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AACpE;AAEAX,gBAAAA,YAAY,CAACW,GAAI,CAAA,GAAGY,wBAAkBZ,GAAKQ,EAAAA,eAAe,CAACC,SAAU,CAAA,CAAA;AACvE;AACF,SAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOC,KAAsB,EAAEC,QAA6B,EAAA;AAC1D,YAAA,MAAMC,kBAAqB,GAAA,IAAI,CAACjB,GAAG,CAACe,KAAAA,CAAAA;AAEpC,YAAA,IAAI,CAACE,kBAAoB,EAAA;AACvB,gBAAA,MAAM,IAAInB,KAAM,CAAA,CAAC,aAAa,EAAEiB,KAAAA,CAAM,cAAc,CAAC,CAAA;AACvD;YAEAC,QAASC,CAAAA,kBAAAA,CAAAA;AAET,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,63 @@
1
+ import { pickBy, has } from 'lodash/fp';
2
+ import { createContentType } from '../domain/content-type/index.mjs';
3
+ import { hasNamespace, addNamespace } from './namespace.mjs';
4
+
5
+ const validateKeySameToSingularName = (contentTypes)=>{
6
+ for (const ctName of Object.keys(contentTypes)){
7
+ const contentType = contentTypes[ctName];
8
+ if (ctName !== contentType.schema.info.singularName) {
9
+ throw new Error(`The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`);
10
+ }
11
+ }
12
+ };
13
+ const contentTypesRegistry = ()=>{
14
+ const contentTypes = {};
15
+ return {
16
+ /**
17
+ * Returns this list of registered contentTypes uids
18
+ */ keys () {
19
+ return Object.keys(contentTypes);
20
+ },
21
+ /**
22
+ * Returns the instance of a contentType. Instantiate the contentType if not already done
23
+ */ get (uid) {
24
+ return contentTypes[uid];
25
+ },
26
+ /**
27
+ * Returns a map with all the contentTypes in a namespace
28
+ */ getAll (namespace) {
29
+ return pickBy((_, uid)=>hasNamespace(uid, namespace))(contentTypes);
30
+ },
31
+ /**
32
+ * Registers a contentType
33
+ */ set (uid, contentType) {
34
+ contentTypes[uid] = contentType;
35
+ return this;
36
+ },
37
+ /**
38
+ * Registers a map of contentTypes for a specific namespace
39
+ */ add (namespace, newContentTypes) {
40
+ validateKeySameToSingularName(newContentTypes);
41
+ for (const rawCtName of Object.keys(newContentTypes)){
42
+ const uid = addNamespace(rawCtName, namespace);
43
+ if (has(uid, contentTypes)) {
44
+ throw new Error(`Content-type ${uid} has already been registered.`);
45
+ }
46
+ contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);
47
+ }
48
+ },
49
+ /**
50
+ * Wraps a contentType to extend it
51
+ */ extend (ctUID, extendFn) {
52
+ const currentContentType = this.get(ctUID);
53
+ if (!currentContentType) {
54
+ throw new Error(`Content-Type ${ctUID} doesn't exist`);
55
+ }
56
+ extendFn(currentContentType);
57
+ return this;
58
+ }
59
+ };
60
+ };
61
+
62
+ export { contentTypesRegistry as default };
63
+ //# sourceMappingURL=content-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-types.mjs","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { UID, Struct } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Struct.ContentTypeSchema) => Struct.ContentTypeSchema;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Struct.ContentTypeSchema> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: UID.ContentType, contentType: Struct.ContentTypeSchema) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n extendFn(currentContentType);\n\n return this;\n },\n };\n};\n\nexport default contentTypesRegistry;\n"],"names":["validateKeySameToSingularName","contentTypes","ctName","Object","keys","contentType","schema","info","singularName","Error","contentTypesRegistry","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","add","newContentTypes","rawCtName","addNamespace","has","createContentType","extend","ctUID","extendFn","currentContentType"],"mappings":";;;;AAQA,MAAMA,gCAAgC,CAACC,YAAAA,GAAAA;AACrC,IAAA,KAAK,MAAMC,MAAAA,IAAUC,MAAOC,CAAAA,IAAI,CAACH,YAAe,CAAA,CAAA;QAC9C,MAAMI,WAAAA,GAAcJ,YAAY,CAACC,MAAO,CAAA;AAExC,QAAA,IAAIA,WAAWG,WAAYC,CAAAA,MAAM,CAACC,IAAI,CAACC,YAAY,EAAE;AACnD,YAAA,MAAM,IAAIC,KACR,CAAA,CAAC,0EAA0E,EAAEP,OAAO,KAAK,EAAEG,WAAYC,CAAAA,MAAM,CAACC,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,CAAA;AAEtI;AACF;AACF,CAAA;AAEA,MAAME,oBAAuB,GAAA,IAAA;AAC3B,IAAA,MAAMT,eAAyD,EAAC;IAEhE,OAAO;AACL;;QAGAG,IAAAA,CAAAA,GAAAA;YACE,OAAOD,MAAAA,CAAOC,IAAI,CAACH,YAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDU,KAAIC,GAAoB,EAAA;YACtB,OAAOX,YAAY,CAACW,GAAI,CAAA;AAC1B,SAAA;AAEA;;AAEC,QACDC,QAAOC,SAAiB,EAAA;AACtB,YAAA,OAAOC,OAAO,CAACC,CAAAA,EAAGJ,GAAQK,GAAAA,YAAAA,CAAaL,KAAKE,SAAYb,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA;AAC1D,SAAA;AAEA;;QAGAiB,GAAAA,CAAAA,CAAIN,GAAoB,EAAEP,WAAqC,EAAA;YAC7DJ,YAAY,CAACW,IAAI,GAAGP,WAAAA;AACpB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAc,GAAAA,CAAAA,CAAIL,SAAiB,EAAEM,eAAkC,EAAA;YACvDpB,6BAA8BoB,CAAAA,eAAAA,CAAAA;AAE9B,YAAA,KAAK,MAAMC,SAAAA,IAAalB,MAAOC,CAAAA,IAAI,CAACgB,eAAkB,CAAA,CAAA;gBACpD,MAAMR,GAAAA,GAAMU,aAAaD,SAAWP,EAAAA,SAAAA,CAAAA;gBAEpC,IAAIS,GAAAA,CAAIX,KAAKX,YAAe,CAAA,EAAA;AAC1B,oBAAA,MAAM,IAAIQ,KAAM,CAAA,CAAC,aAAa,EAAEG,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AACpE;AAEAX,gBAAAA,YAAY,CAACW,GAAI,CAAA,GAAGY,kBAAkBZ,GAAKQ,EAAAA,eAAe,CAACC,SAAU,CAAA,CAAA;AACvE;AACF,SAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOC,KAAsB,EAAEC,QAA6B,EAAA;AAC1D,YAAA,MAAMC,kBAAqB,GAAA,IAAI,CAACjB,GAAG,CAACe,KAAAA,CAAAA;AAEpC,YAAA,IAAI,CAACE,kBAAoB,EAAA;AACvB,gBAAA,MAAM,IAAInB,KAAM,CAAA,CAAC,aAAa,EAAEiB,KAAAA,CAAM,cAAc,CAAC,CAAA;AACvD;YAEAC,QAASC,CAAAA,kBAAAA,CAAAA;AAET,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var namespace = require('./namespace.js');
5
+
6
+ const controllersRegistry = (strapi)=>{
7
+ const controllers = {};
8
+ const instances = {};
9
+ return {
10
+ /**
11
+ * Returns this list of registered controllers uids
12
+ */ keys () {
13
+ return Object.keys(controllers);
14
+ },
15
+ /**
16
+ * Returns the instance of a controller. Instantiate the controller if not already done
17
+ */ get (uid) {
18
+ if (instances[uid]) {
19
+ return instances[uid];
20
+ }
21
+ const controller = controllers[uid];
22
+ if (controller) {
23
+ instances[uid] = typeof controller === 'function' ? controller({
24
+ strapi
25
+ }) : controller;
26
+ return instances[uid];
27
+ }
28
+ },
29
+ /**
30
+ * Returns a map with all the controller in a namespace
31
+ */ getAll (namespace$1) {
32
+ const filteredControllers = fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(controllers);
33
+ const map = {};
34
+ for (const uid of Object.keys(filteredControllers)){
35
+ Object.defineProperty(map, uid, {
36
+ enumerable: true,
37
+ get: ()=>{
38
+ return this.get(uid);
39
+ }
40
+ });
41
+ }
42
+ return map;
43
+ },
44
+ /**
45
+ * Registers a controller
46
+ */ set (uid, value) {
47
+ controllers[uid] = value;
48
+ delete instances[uid];
49
+ return this;
50
+ },
51
+ /**
52
+ * Registers a map of controllers for a specific namespace
53
+ */ add (namespace$1, newControllers) {
54
+ for (const controllerName of Object.keys(newControllers)){
55
+ const controller = newControllers[controllerName];
56
+ const uid = namespace.addNamespace(controllerName, namespace$1);
57
+ if (fp.has(uid, controllers)) {
58
+ throw new Error(`Controller ${uid} has already been registered.`);
59
+ }
60
+ controllers[uid] = controller;
61
+ }
62
+ return this;
63
+ },
64
+ /**
65
+ * Wraps a controller to extend it
66
+ */ extend (controllerUID, extendFn) {
67
+ const currentController = this.get(controllerUID);
68
+ if (!currentController) {
69
+ throw new Error(`Controller ${controllerUID} doesn't exist`);
70
+ }
71
+ const newController = extendFn(currentController);
72
+ instances[controllerUID] = newController;
73
+ return this;
74
+ }
75
+ };
76
+ };
77
+
78
+ module.exports = controllersRegistry;
79
+ //# sourceMappingURL=controllers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllers.js","sources":["../../src/registries/controllers.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ControllerFactory =\n | ((params: { strapi: Core.Strapi }) => Core.Controller)\n | Core.Controller;\nexport type ControllerFactoryMap = Record<UID.Controller, ControllerFactory>;\nexport type ControllerMap = Record<UID.Controller, Core.Controller>;\nexport type ControllerExtendFn = (service: Core.Controller) => Core.Controller;\n\nconst controllersRegistry = (strapi: Core.Strapi) => {\n const controllers: ControllerFactoryMap = {};\n const instances: ControllerMap = {};\n\n return {\n /**\n * Returns this list of registered controllers uids\n */\n keys() {\n return Object.keys(controllers);\n },\n\n /**\n * Returns the instance of a controller. Instantiate the controller if not already done\n */\n get(uid: UID.Controller) {\n if (instances[uid]) {\n return instances[uid];\n }\n\n const controller = controllers[uid];\n\n if (controller) {\n instances[uid] = typeof controller === 'function' ? controller({ strapi }) : controller;\n return instances[uid];\n }\n },\n\n /**\n * Returns a map with all the controller in a namespace\n */\n getAll(namespace: string) {\n const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);\n\n const map = {};\n for (const uid of Object.keys(filteredControllers) as UID.Controller[]) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a controller\n */\n set(uid: UID.Controller, value: ControllerFactory) {\n controllers[uid] = value;\n delete instances[uid];\n return this;\n },\n\n /**\n * Registers a map of controllers for a specific namespace\n */\n add(namespace: string, newControllers: ControllerFactoryMap) {\n for (const controllerName of Object.keys(newControllers) as UID.Controller[]) {\n const controller = newControllers[controllerName];\n const uid = addNamespace(controllerName, namespace) as UID.Controller;\n\n if (has(uid, controllers)) {\n throw new Error(`Controller ${uid} has already been registered.`);\n }\n\n controllers[uid] = controller;\n }\n\n return this;\n },\n\n /**\n * Wraps a controller to extend it\n */\n extend(controllerUID: UID.Controller, extendFn: ControllerExtendFn) {\n const currentController = this.get(controllerUID);\n\n if (!currentController) {\n throw new Error(`Controller ${controllerUID} doesn't exist`);\n }\n\n const newController = extendFn(currentController);\n instances[controllerUID] = newController;\n\n return this;\n },\n };\n};\n\nexport default controllersRegistry;\n"],"names":["controllersRegistry","strapi","controllers","instances","keys","Object","get","uid","controller","getAll","namespace","filteredControllers","pickBy","_","hasNamespace","map","defineProperty","enumerable","set","value","add","newControllers","controllerName","addNamespace","has","Error","extend","controllerUID","extendFn","currentController","newController"],"mappings":";;;;;AAWA,MAAMA,sBAAsB,CAACC,MAAAA,GAAAA;AAC3B,IAAA,MAAMC,cAAoC,EAAC;AAC3C,IAAA,MAAMC,YAA2B,EAAC;IAElC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACF,WAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDI,KAAIC,GAAmB,EAAA;YACrB,IAAIJ,SAAS,CAACI,GAAAA,CAAI,EAAE;gBAClB,OAAOJ,SAAS,CAACI,GAAI,CAAA;AACvB;YAEA,MAAMC,UAAAA,GAAaN,WAAW,CAACK,GAAI,CAAA;AAEnC,YAAA,IAAIC,UAAY,EAAA;AACdL,gBAAAA,SAAS,CAACI,GAAI,CAAA,GAAG,OAAOC,UAAAA,KAAe,aAAaA,UAAW,CAAA;AAAEP,oBAAAA;iBAAYO,CAAAA,GAAAA,UAAAA;gBAC7E,OAAOL,SAAS,CAACI,GAAI,CAAA;AACvB;AACF,SAAA;AAEA;;AAEC,QACDE,QAAOC,WAAiB,EAAA;AACtB,YAAA,MAAMC,sBAAsBC,SAAO,CAAA,CAACC,GAAGN,GAAQO,GAAAA,sBAAAA,CAAaP,KAAKG,WAAYR,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA;AAE7E,YAAA,MAAMa,MAAM,EAAC;AACb,YAAA,KAAK,MAAMR,GAAAA,IAAOF,MAAOD,CAAAA,IAAI,CAACO,mBAA0C,CAAA,CAAA;gBACtEN,MAAOW,CAAAA,cAAc,CAACD,GAAAA,EAAKR,GAAK,EAAA;oBAC9BU,UAAY,EAAA,IAAA;oBACZX,GAAK,EAAA,IAAA;wBACH,OAAO,IAAI,CAACA,GAAG,CAACC,GAAAA,CAAAA;AAClB;AACF,iBAAA,CAAA;AACF;YAEA,OAAOQ,GAAAA;AACT,SAAA;AAEA;;QAGAG,GAAAA,CAAAA,CAAIX,GAAmB,EAAEY,KAAwB,EAAA;YAC/CjB,WAAW,CAACK,IAAI,GAAGY,KAAAA;YACnB,OAAOhB,SAAS,CAACI,GAAI,CAAA;AACrB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAa,GAAAA,CAAAA,CAAIV,WAAiB,EAAEW,cAAoC,EAAA;AACzD,YAAA,KAAK,MAAMC,cAAAA,IAAkBjB,MAAOD,CAAAA,IAAI,CAACiB,cAAqC,CAAA,CAAA;gBAC5E,MAAMb,UAAAA,GAAaa,cAAc,CAACC,cAAe,CAAA;gBACjD,MAAMf,GAAAA,GAAMgB,uBAAaD,cAAgBZ,EAAAA,WAAAA,CAAAA;gBAEzC,IAAIc,MAAAA,CAAIjB,KAAKL,WAAc,CAAA,EAAA;AACzB,oBAAA,MAAM,IAAIuB,KAAM,CAAA,CAAC,WAAW,EAAElB,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE;gBAEAL,WAAW,CAACK,IAAI,GAAGC,UAAAA;AACrB;AAEA,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAkB,MAAAA,CAAAA,CAAOC,aAA6B,EAAEC,QAA4B,EAAA;AAChE,YAAA,MAAMC,iBAAoB,GAAA,IAAI,CAACvB,GAAG,CAACqB,aAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACE,iBAAmB,EAAA;AACtB,gBAAA,MAAM,IAAIJ,KAAM,CAAA,CAAC,WAAW,EAAEE,aAAAA,CAAc,cAAc,CAAC,CAAA;AAC7D;AAEA,YAAA,MAAMG,gBAAgBF,QAASC,CAAAA,iBAAAA,CAAAA;YAC/B1B,SAAS,CAACwB,cAAc,GAAGG,aAAAA;AAE3B,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,77 @@
1
+ import { pickBy, has } from 'lodash/fp';
2
+ import { hasNamespace, addNamespace } from './namespace.mjs';
3
+
4
+ const controllersRegistry = (strapi)=>{
5
+ const controllers = {};
6
+ const instances = {};
7
+ return {
8
+ /**
9
+ * Returns this list of registered controllers uids
10
+ */ keys () {
11
+ return Object.keys(controllers);
12
+ },
13
+ /**
14
+ * Returns the instance of a controller. Instantiate the controller if not already done
15
+ */ get (uid) {
16
+ if (instances[uid]) {
17
+ return instances[uid];
18
+ }
19
+ const controller = controllers[uid];
20
+ if (controller) {
21
+ instances[uid] = typeof controller === 'function' ? controller({
22
+ strapi
23
+ }) : controller;
24
+ return instances[uid];
25
+ }
26
+ },
27
+ /**
28
+ * Returns a map with all the controller in a namespace
29
+ */ getAll (namespace) {
30
+ const filteredControllers = pickBy((_, uid)=>hasNamespace(uid, namespace))(controllers);
31
+ const map = {};
32
+ for (const uid of Object.keys(filteredControllers)){
33
+ Object.defineProperty(map, uid, {
34
+ enumerable: true,
35
+ get: ()=>{
36
+ return this.get(uid);
37
+ }
38
+ });
39
+ }
40
+ return map;
41
+ },
42
+ /**
43
+ * Registers a controller
44
+ */ set (uid, value) {
45
+ controllers[uid] = value;
46
+ delete instances[uid];
47
+ return this;
48
+ },
49
+ /**
50
+ * Registers a map of controllers for a specific namespace
51
+ */ add (namespace, newControllers) {
52
+ for (const controllerName of Object.keys(newControllers)){
53
+ const controller = newControllers[controllerName];
54
+ const uid = addNamespace(controllerName, namespace);
55
+ if (has(uid, controllers)) {
56
+ throw new Error(`Controller ${uid} has already been registered.`);
57
+ }
58
+ controllers[uid] = controller;
59
+ }
60
+ return this;
61
+ },
62
+ /**
63
+ * Wraps a controller to extend it
64
+ */ extend (controllerUID, extendFn) {
65
+ const currentController = this.get(controllerUID);
66
+ if (!currentController) {
67
+ throw new Error(`Controller ${controllerUID} doesn't exist`);
68
+ }
69
+ const newController = extendFn(currentController);
70
+ instances[controllerUID] = newController;
71
+ return this;
72
+ }
73
+ };
74
+ };
75
+
76
+ export { controllersRegistry as default };
77
+ //# sourceMappingURL=controllers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controllers.mjs","sources":["../../src/registries/controllers.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { addNamespace, hasNamespace } from './namespace';\n\nexport type ControllerFactory =\n | ((params: { strapi: Core.Strapi }) => Core.Controller)\n | Core.Controller;\nexport type ControllerFactoryMap = Record<UID.Controller, ControllerFactory>;\nexport type ControllerMap = Record<UID.Controller, Core.Controller>;\nexport type ControllerExtendFn = (service: Core.Controller) => Core.Controller;\n\nconst controllersRegistry = (strapi: Core.Strapi) => {\n const controllers: ControllerFactoryMap = {};\n const instances: ControllerMap = {};\n\n return {\n /**\n * Returns this list of registered controllers uids\n */\n keys() {\n return Object.keys(controllers);\n },\n\n /**\n * Returns the instance of a controller. Instantiate the controller if not already done\n */\n get(uid: UID.Controller) {\n if (instances[uid]) {\n return instances[uid];\n }\n\n const controller = controllers[uid];\n\n if (controller) {\n instances[uid] = typeof controller === 'function' ? controller({ strapi }) : controller;\n return instances[uid];\n }\n },\n\n /**\n * Returns a map with all the controller in a namespace\n */\n getAll(namespace: string) {\n const filteredControllers = pickBy((_, uid) => hasNamespace(uid, namespace))(controllers);\n\n const map = {};\n for (const uid of Object.keys(filteredControllers) as UID.Controller[]) {\n Object.defineProperty(map, uid, {\n enumerable: true,\n get: () => {\n return this.get(uid);\n },\n });\n }\n\n return map;\n },\n\n /**\n * Registers a controller\n */\n set(uid: UID.Controller, value: ControllerFactory) {\n controllers[uid] = value;\n delete instances[uid];\n return this;\n },\n\n /**\n * Registers a map of controllers for a specific namespace\n */\n add(namespace: string, newControllers: ControllerFactoryMap) {\n for (const controllerName of Object.keys(newControllers) as UID.Controller[]) {\n const controller = newControllers[controllerName];\n const uid = addNamespace(controllerName, namespace) as UID.Controller;\n\n if (has(uid, controllers)) {\n throw new Error(`Controller ${uid} has already been registered.`);\n }\n\n controllers[uid] = controller;\n }\n\n return this;\n },\n\n /**\n * Wraps a controller to extend it\n */\n extend(controllerUID: UID.Controller, extendFn: ControllerExtendFn) {\n const currentController = this.get(controllerUID);\n\n if (!currentController) {\n throw new Error(`Controller ${controllerUID} doesn't exist`);\n }\n\n const newController = extendFn(currentController);\n instances[controllerUID] = newController;\n\n return this;\n },\n };\n};\n\nexport default controllersRegistry;\n"],"names":["controllersRegistry","strapi","controllers","instances","keys","Object","get","uid","controller","getAll","namespace","filteredControllers","pickBy","_","hasNamespace","map","defineProperty","enumerable","set","value","add","newControllers","controllerName","addNamespace","has","Error","extend","controllerUID","extendFn","currentController","newController"],"mappings":";;;AAWA,MAAMA,sBAAsB,CAACC,MAAAA,GAAAA;AAC3B,IAAA,MAAMC,cAAoC,EAAC;AAC3C,IAAA,MAAMC,YAA2B,EAAC;IAElC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACF,WAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDI,KAAIC,GAAmB,EAAA;YACrB,IAAIJ,SAAS,CAACI,GAAAA,CAAI,EAAE;gBAClB,OAAOJ,SAAS,CAACI,GAAI,CAAA;AACvB;YAEA,MAAMC,UAAAA,GAAaN,WAAW,CAACK,GAAI,CAAA;AAEnC,YAAA,IAAIC,UAAY,EAAA;AACdL,gBAAAA,SAAS,CAACI,GAAI,CAAA,GAAG,OAAOC,UAAAA,KAAe,aAAaA,UAAW,CAAA;AAAEP,oBAAAA;iBAAYO,CAAAA,GAAAA,UAAAA;gBAC7E,OAAOL,SAAS,CAACI,GAAI,CAAA;AACvB;AACF,SAAA;AAEA;;AAEC,QACDE,QAAOC,SAAiB,EAAA;AACtB,YAAA,MAAMC,sBAAsBC,MAAO,CAAA,CAACC,GAAGN,GAAQO,GAAAA,YAAAA,CAAaP,KAAKG,SAAYR,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA;AAE7E,YAAA,MAAMa,MAAM,EAAC;AACb,YAAA,KAAK,MAAMR,GAAAA,IAAOF,MAAOD,CAAAA,IAAI,CAACO,mBAA0C,CAAA,CAAA;gBACtEN,MAAOW,CAAAA,cAAc,CAACD,GAAAA,EAAKR,GAAK,EAAA;oBAC9BU,UAAY,EAAA,IAAA;oBACZX,GAAK,EAAA,IAAA;wBACH,OAAO,IAAI,CAACA,GAAG,CAACC,GAAAA,CAAAA;AAClB;AACF,iBAAA,CAAA;AACF;YAEA,OAAOQ,GAAAA;AACT,SAAA;AAEA;;QAGAG,GAAAA,CAAAA,CAAIX,GAAmB,EAAEY,KAAwB,EAAA;YAC/CjB,WAAW,CAACK,IAAI,GAAGY,KAAAA;YACnB,OAAOhB,SAAS,CAACI,GAAI,CAAA;AACrB,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAa,GAAAA,CAAAA,CAAIV,SAAiB,EAAEW,cAAoC,EAAA;AACzD,YAAA,KAAK,MAAMC,cAAAA,IAAkBjB,MAAOD,CAAAA,IAAI,CAACiB,cAAqC,CAAA,CAAA;gBAC5E,MAAMb,UAAAA,GAAaa,cAAc,CAACC,cAAe,CAAA;gBACjD,MAAMf,GAAAA,GAAMgB,aAAaD,cAAgBZ,EAAAA,SAAAA,CAAAA;gBAEzC,IAAIc,GAAAA,CAAIjB,KAAKL,WAAc,CAAA,EAAA;AACzB,oBAAA,MAAM,IAAIuB,KAAM,CAAA,CAAC,WAAW,EAAElB,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AAClE;gBAEAL,WAAW,CAACK,IAAI,GAAGC,UAAAA;AACrB;AAEA,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAkB,MAAAA,CAAAA,CAAOC,aAA6B,EAAEC,QAA4B,EAAA;AAChE,YAAA,MAAMC,iBAAoB,GAAA,IAAI,CAACvB,GAAG,CAACqB,aAAAA,CAAAA;AAEnC,YAAA,IAAI,CAACE,iBAAmB,EAAA;AACtB,gBAAA,MAAM,IAAIJ,KAAM,CAAA,CAAC,WAAW,EAAEE,aAAAA,CAAc,cAAc,CAAC,CAAA;AAC7D;AAEA,YAAA,MAAMG,gBAAgBF,QAASC,CAAAA,iBAAAA,CAAAA;YAC/B1B,SAAS,CAACwB,cAAc,GAAGG,aAAAA;AAE3B,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,81 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+
5
+ const ALLOWED_TYPES = [
6
+ 'biginteger',
7
+ 'boolean',
8
+ 'date',
9
+ 'datetime',
10
+ 'decimal',
11
+ 'email',
12
+ 'enumeration',
13
+ 'float',
14
+ 'integer',
15
+ 'json',
16
+ 'password',
17
+ 'richtext',
18
+ 'string',
19
+ 'text',
20
+ 'time',
21
+ 'uid'
22
+ ];
23
+ const customFieldsRegistry = (strapi)=>{
24
+ const customFields = {};
25
+ return {
26
+ getAll () {
27
+ return customFields;
28
+ },
29
+ get (customField) {
30
+ const registeredCustomField = customFields[customField];
31
+ if (!registeredCustomField) {
32
+ throw new Error(`Could not find Custom Field: ${customField}`);
33
+ }
34
+ return registeredCustomField;
35
+ },
36
+ add (customField) {
37
+ const customFieldList = Array.isArray(customField) ? customField : [
38
+ customField
39
+ ];
40
+ for (const cf of customFieldList){
41
+ if (!fp.has('name', cf) || !fp.has('type', cf)) {
42
+ throw new Error(`Custom fields require a 'name' and 'type' key`);
43
+ }
44
+ const { name, plugin, type, inputSize } = cf;
45
+ if (!ALLOWED_TYPES.includes(type)) {
46
+ throw new Error(`Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`);
47
+ }
48
+ const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
49
+ if (!isValidObjectKey.test(name)) {
50
+ throw new Error(`Custom field name: '${name}' is not a valid object key`);
51
+ }
52
+ // Validate inputSize when provided
53
+ if (inputSize) {
54
+ if (!fp.isPlainObject(inputSize) || !fp.has('default', inputSize) || !fp.has('isResizable', inputSize)) {
55
+ throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
56
+ }
57
+ if (![
58
+ 4,
59
+ 6,
60
+ 8,
61
+ 12
62
+ ].includes(inputSize.default)) {
63
+ throw new Error('Custom fields require a valid default input size');
64
+ }
65
+ if (typeof inputSize.isResizable !== 'boolean') {
66
+ throw new Error('Custom fields should specify if their input is resizable');
67
+ }
68
+ }
69
+ // When no plugin is specified, or it isn't found in Strapi, default to global
70
+ const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
71
+ if (fp.has(uid, customFields)) {
72
+ throw new Error(`Custom field: '${uid}' has already been registered`);
73
+ }
74
+ customFields[uid] = cf;
75
+ }
76
+ }
77
+ };
78
+ };
79
+
80
+ module.exports = customFieldsRegistry;
81
+ //# sourceMappingURL=custom-fields.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,79 @@
1
+ import { has, isPlainObject } from 'lodash/fp';
2
+
3
+ const ALLOWED_TYPES = [
4
+ 'biginteger',
5
+ 'boolean',
6
+ 'date',
7
+ 'datetime',
8
+ 'decimal',
9
+ 'email',
10
+ 'enumeration',
11
+ 'float',
12
+ 'integer',
13
+ 'json',
14
+ 'password',
15
+ 'richtext',
16
+ 'string',
17
+ 'text',
18
+ 'time',
19
+ 'uid'
20
+ ];
21
+ const customFieldsRegistry = (strapi)=>{
22
+ const customFields = {};
23
+ return {
24
+ getAll () {
25
+ return customFields;
26
+ },
27
+ get (customField) {
28
+ const registeredCustomField = customFields[customField];
29
+ if (!registeredCustomField) {
30
+ throw new Error(`Could not find Custom Field: ${customField}`);
31
+ }
32
+ return registeredCustomField;
33
+ },
34
+ add (customField) {
35
+ const customFieldList = Array.isArray(customField) ? customField : [
36
+ customField
37
+ ];
38
+ for (const cf of customFieldList){
39
+ if (!has('name', cf) || !has('type', cf)) {
40
+ throw new Error(`Custom fields require a 'name' and 'type' key`);
41
+ }
42
+ const { name, plugin, type, inputSize } = cf;
43
+ if (!ALLOWED_TYPES.includes(type)) {
44
+ throw new Error(`Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`);
45
+ }
46
+ const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
47
+ if (!isValidObjectKey.test(name)) {
48
+ throw new Error(`Custom field name: '${name}' is not a valid object key`);
49
+ }
50
+ // Validate inputSize when provided
51
+ if (inputSize) {
52
+ if (!isPlainObject(inputSize) || !has('default', inputSize) || !has('isResizable', inputSize)) {
53
+ throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
54
+ }
55
+ if (![
56
+ 4,
57
+ 6,
58
+ 8,
59
+ 12
60
+ ].includes(inputSize.default)) {
61
+ throw new Error('Custom fields require a valid default input size');
62
+ }
63
+ if (typeof inputSize.isResizable !== 'boolean') {
64
+ throw new Error('Custom fields should specify if their input is resizable');
65
+ }
66
+ }
67
+ // When no plugin is specified, or it isn't found in Strapi, default to global
68
+ const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
69
+ if (has(uid, customFields)) {
70
+ throw new Error(`Custom field: '${uid}' has already been registered`);
71
+ }
72
+ customFields[uid] = cf;
73
+ }
74
+ }
75
+ };
76
+ };
77
+
78
+ export { customFieldsRegistry as default };
79
+ //# sourceMappingURL=custom-fields.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var namespace = require('./namespace.js');
5
+
6
+ const hooksRegistry = ()=>{
7
+ const hooks = {};
8
+ return {
9
+ /**
10
+ * Returns this list of registered hooks uids
11
+ */ keys () {
12
+ return Object.keys(hooks);
13
+ },
14
+ /**
15
+ * Returns the instance of a hook.
16
+ */ get (uid) {
17
+ return hooks[uid];
18
+ },
19
+ /**
20
+ * Returns a map with all the hooks in a namespace
21
+ */ getAll (namespace$1) {
22
+ return fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(hooks);
23
+ },
24
+ /**
25
+ * Registers a hook
26
+ */ set (uid, hook) {
27
+ hooks[uid] = hook;
28
+ return this;
29
+ },
30
+ /**
31
+ * Registers a map of hooks for a specific namespace
32
+ */ add (namespace$1, hooks) {
33
+ for (const hookName of Object.keys(hooks)){
34
+ const hook = hooks[hookName];
35
+ const uid = namespace.addNamespace(hookName, namespace$1);
36
+ this.set(uid, hook);
37
+ }
38
+ return this;
39
+ },
40
+ /**
41
+ * Wraps a hook to extend it
42
+ */ extend (uid, extendFn) {
43
+ const currentHook = this.get(uid);
44
+ if (!currentHook) {
45
+ throw new Error(`Hook ${uid} doesn't exist`);
46
+ }
47
+ const newHook = extendFn(currentHook);
48
+ hooks[uid] = newHook;
49
+ return this;
50
+ }
51
+ };
52
+ };
53
+
54
+ module.exports = hooksRegistry;
55
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +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,aAAgB,GAAA,IAAA;AACpB,IAAA,MAAMC,QAA8B,EAAC;IAErC,OAAO;AACL;;QAGAC,IAAAA,CAAAA,GAAAA;YACE,OAAOC,MAAAA,CAAOD,IAAI,CAACD,KAAAA,CAAAA;AACrB,SAAA;AAEA;;AAEC,QACDG,KAAIC,GAAW,EAAA;YACb,OAAOJ,KAAK,CAACI,GAAI,CAAA;AACnB,SAAA;AAEA;;AAEC,QACDC,QAAOC,WAAiB,EAAA;AACtB,YAAA,OAAOC,UAAO,CAACC,CAAAA,EAAGJ,GAAQK,GAAAA,sBAAAA,CAAaL,KAAKE,WAAYN,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA;AAC1D,SAAA;AAEA;;QAGAU,GAAAA,CAAAA,CAAIN,GAAW,EAAEO,IAAU,EAAA;YACzBX,KAAK,CAACI,IAAI,GAAGO,IAAAA;AACb,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAC,GAAAA,CAAAA,CAAIN,WAAiB,EAAEN,KAA2B,EAAA;AAChD,YAAA,KAAK,MAAMa,QAAAA,IAAYX,MAAOD,CAAAA,IAAI,CAACD,KAAQ,CAAA,CAAA;gBACzC,MAAMW,IAAAA,GAAOX,KAAK,CAACa,QAAS,CAAA;gBAC5B,MAAMT,GAAAA,GAAMU,uBAAaD,QAAUP,EAAAA,WAAAA,CAAAA;gBAEnC,IAAI,CAACI,GAAG,CAACN,GAAKO,EAAAA,IAAAA,CAAAA;AAChB;AAEA,YAAA,OAAO,IAAI;AACb,SAAA;AAEA;;QAGAI,MAAAA,CAAAA,CAAOX,GAAW,EAAEY,QAAsB,EAAA;AACxC,YAAA,MAAMC,WAAc,GAAA,IAAI,CAACd,GAAG,CAACC,GAAAA,CAAAA;AAE7B,YAAA,IAAI,CAACa,WAAa,EAAA;AAChB,gBAAA,MAAM,IAAIC,KAAM,CAAA,CAAC,KAAK,EAAEd,GAAAA,CAAI,cAAc,CAAC,CAAA;AAC7C;AAEA,YAAA,MAAMe,UAAUH,QAASC,CAAAA,WAAAA,CAAAA;YACzBjB,KAAK,CAACI,IAAI,GAAGe,OAAAA;AAEb,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}