@strapi/core 0.0.0-next.504076d2165a82f124620a3f1f3e3a6017e97f3f → 0.0.0-next.513fb9265905f515b6edd458698a9fac2c770641

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +427 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +426 -402
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/compile.js +23 -14
  7. package/dist/compile.js.map +1 -1
  8. package/dist/compile.mjs +22 -14
  9. package/dist/compile.mjs.map +1 -1
  10. package/dist/configuration/config-loader.js +110 -97
  11. package/dist/configuration/config-loader.js.map +1 -1
  12. package/dist/configuration/config-loader.mjs +109 -96
  13. package/dist/configuration/config-loader.mjs.map +1 -1
  14. package/dist/configuration/get-dirs.js +31 -29
  15. package/dist/configuration/get-dirs.js.map +1 -1
  16. package/dist/configuration/get-dirs.mjs +30 -30
  17. package/dist/configuration/get-dirs.mjs.map +1 -1
  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 +85 -73
  21. package/dist/configuration/index.js.map +1 -1
  22. package/dist/configuration/index.mjs +84 -69
  23. package/dist/configuration/index.mjs.map +1 -1
  24. package/dist/configuration/urls.d.ts.map +1 -1
  25. package/dist/configuration/urls.js +74 -61
  26. package/dist/configuration/urls.js.map +1 -1
  27. package/dist/configuration/urls.mjs +73 -62
  28. package/dist/configuration/urls.mjs.map +1 -1
  29. package/dist/container.js +27 -23
  30. package/dist/container.js.map +1 -1
  31. package/dist/container.mjs +26 -24
  32. package/dist/container.mjs.map +1 -1
  33. package/dist/core-api/controller/collection-type.js +77 -76
  34. package/dist/core-api/controller/collection-type.js.map +1 -1
  35. package/dist/core-api/controller/collection-type.mjs +76 -77
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  37. package/dist/core-api/controller/index.js +63 -48
  38. package/dist/core-api/controller/index.js.map +1 -1
  39. package/dist/core-api/controller/index.mjs +62 -49
  40. package/dist/core-api/controller/index.mjs.map +1 -1
  41. package/dist/core-api/controller/single-type.js +41 -40
  42. package/dist/core-api/controller/single-type.js.map +1 -1
  43. package/dist/core-api/controller/single-type.mjs +40 -41
  44. package/dist/core-api/controller/single-type.mjs.map +1 -1
  45. package/dist/core-api/controller/transform.js +72 -63
  46. package/dist/core-api/controller/transform.js.map +1 -1
  47. package/dist/core-api/controller/transform.mjs +71 -64
  48. package/dist/core-api/controller/transform.mjs.map +1 -1
  49. package/dist/core-api/routes/index.js +64 -62
  50. package/dist/core-api/routes/index.js.map +1 -1
  51. package/dist/core-api/routes/index.mjs +62 -62
  52. package/dist/core-api/routes/index.mjs.map +1 -1
  53. package/dist/core-api/service/collection-type.js +73 -60
  54. package/dist/core-api/service/collection-type.js.map +1 -1
  55. package/dist/core-api/service/collection-type.mjs +72 -62
  56. package/dist/core-api/service/collection-type.mjs.map +1 -1
  57. package/dist/core-api/service/core-service.js +9 -8
  58. package/dist/core-api/service/core-service.js.map +1 -1
  59. package/dist/core-api/service/core-service.mjs +8 -9
  60. package/dist/core-api/service/core-service.mjs.map +1 -1
  61. package/dist/core-api/service/index.js +13 -13
  62. package/dist/core-api/service/index.js.map +1 -1
  63. package/dist/core-api/service/index.mjs +12 -14
  64. package/dist/core-api/service/index.mjs.map +1 -1
  65. package/dist/core-api/service/pagination.js +69 -43
  66. package/dist/core-api/service/pagination.js.map +1 -1
  67. package/dist/core-api/service/pagination.mjs +68 -47
  68. package/dist/core-api/service/pagination.mjs.map +1 -1
  69. package/dist/core-api/service/single-type.js +43 -39
  70. package/dist/core-api/service/single-type.js.map +1 -1
  71. package/dist/core-api/service/single-type.mjs +42 -41
  72. package/dist/core-api/service/single-type.mjs.map +1 -1
  73. package/dist/domain/content-type/index.js +95 -100
  74. package/dist/domain/content-type/index.js.map +1 -1
  75. package/dist/domain/content-type/index.mjs +94 -100
  76. package/dist/domain/content-type/index.mjs.map +1 -1
  77. package/dist/domain/content-type/validator.js +84 -69
  78. package/dist/domain/content-type/validator.js.map +1 -1
  79. package/dist/domain/content-type/validator.mjs +83 -68
  80. package/dist/domain/content-type/validator.mjs.map +1 -1
  81. package/dist/domain/module/index.js +109 -100
  82. package/dist/domain/module/index.js.map +1 -1
  83. package/dist/domain/module/index.mjs +108 -99
  84. package/dist/domain/module/index.mjs.map +1 -1
  85. package/dist/domain/module/validation.js +25 -20
  86. package/dist/domain/module/validation.js.map +1 -1
  87. package/dist/domain/module/validation.mjs +24 -21
  88. package/dist/domain/module/validation.mjs.map +1 -1
  89. package/dist/ee/index.d.ts +1 -0
  90. package/dist/ee/index.d.ts.map +1 -1
  91. package/dist/ee/index.js +171 -132
  92. package/dist/ee/index.js.map +1 -1
  93. package/dist/ee/index.mjs +170 -134
  94. package/dist/ee/index.mjs.map +1 -1
  95. package/dist/ee/license.d.ts.map +1 -1
  96. package/dist/ee/license.js +100 -75
  97. package/dist/ee/license.js.map +1 -1
  98. package/dist/ee/license.mjs +99 -76
  99. package/dist/ee/license.mjs.map +1 -1
  100. package/dist/factories.js +72 -67
  101. package/dist/factories.js.map +1 -1
  102. package/dist/factories.mjs +71 -71
  103. package/dist/factories.mjs.map +1 -1
  104. package/dist/index.js +29 -26
  105. package/dist/index.js.map +1 -1
  106. package/dist/index.mjs +29 -29
  107. package/dist/index.mjs.map +1 -1
  108. package/dist/loaders/admin.d.ts.map +1 -1
  109. package/dist/loaders/admin.js +21 -20
  110. package/dist/loaders/admin.js.map +1 -1
  111. package/dist/loaders/admin.mjs +20 -20
  112. package/dist/loaders/admin.mjs.map +1 -1
  113. package/dist/loaders/apis.js +143 -120
  114. package/dist/loaders/apis.js.map +1 -1
  115. package/dist/loaders/apis.mjs +142 -119
  116. package/dist/loaders/apis.mjs.map +1 -1
  117. package/dist/loaders/components.js +33 -34
  118. package/dist/loaders/components.js.map +1 -1
  119. package/dist/loaders/components.mjs +32 -34
  120. package/dist/loaders/components.mjs.map +1 -1
  121. package/dist/loaders/index.js +22 -20
  122. package/dist/loaders/index.js.map +1 -1
  123. package/dist/loaders/index.mjs +21 -21
  124. package/dist/loaders/index.mjs.map +1 -1
  125. package/dist/loaders/middlewares.js +29 -25
  126. package/dist/loaders/middlewares.js.map +1 -1
  127. package/dist/loaders/middlewares.mjs +28 -25
  128. package/dist/loaders/middlewares.mjs.map +1 -1
  129. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  130. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  131. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  132. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  133. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  134. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  135. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  136. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  137. package/dist/loaders/plugins/index.js +132 -122
  138. package/dist/loaders/plugins/index.js.map +1 -1
  139. package/dist/loaders/plugins/index.mjs +121 -112
  140. package/dist/loaders/plugins/index.mjs.map +1 -1
  141. package/dist/loaders/policies.js +24 -20
  142. package/dist/loaders/policies.js.map +1 -1
  143. package/dist/loaders/policies.mjs +23 -20
  144. package/dist/loaders/policies.mjs.map +1 -1
  145. package/dist/loaders/sanitizers.js +10 -4
  146. package/dist/loaders/sanitizers.js.map +1 -1
  147. package/dist/loaders/sanitizers.mjs +9 -6
  148. package/dist/loaders/sanitizers.mjs.map +1 -1
  149. package/dist/loaders/src-index.js +35 -27
  150. package/dist/loaders/src-index.js.map +1 -1
  151. package/dist/loaders/src-index.mjs +34 -29
  152. package/dist/loaders/src-index.mjs.map +1 -1
  153. package/dist/loaders/validators.js +9 -4
  154. package/dist/loaders/validators.js.map +1 -1
  155. package/dist/loaders/validators.mjs +8 -6
  156. package/dist/loaders/validators.mjs.map +1 -1
  157. package/dist/middlewares/body.d.ts.map +1 -1
  158. package/dist/middlewares/body.js +58 -54
  159. package/dist/middlewares/body.js.map +1 -1
  160. package/dist/middlewares/body.mjs +57 -51
  161. package/dist/middlewares/body.mjs.map +1 -1
  162. package/dist/middlewares/compression.js +6 -6
  163. package/dist/middlewares/compression.js.map +1 -1
  164. package/dist/middlewares/compression.mjs +5 -5
  165. package/dist/middlewares/compression.mjs.map +1 -1
  166. package/dist/middlewares/cors.js +59 -48
  167. package/dist/middlewares/cors.js.map +1 -1
  168. package/dist/middlewares/cors.mjs +58 -47
  169. package/dist/middlewares/cors.mjs.map +1 -1
  170. package/dist/middlewares/errors.js +32 -30
  171. package/dist/middlewares/errors.js.map +1 -1
  172. package/dist/middlewares/errors.mjs +31 -31
  173. package/dist/middlewares/errors.mjs.map +1 -1
  174. package/dist/middlewares/favicon.js +27 -17
  175. package/dist/middlewares/favicon.js.map +1 -1
  176. package/dist/middlewares/favicon.mjs +26 -16
  177. package/dist/middlewares/favicon.mjs.map +1 -1
  178. package/dist/middlewares/index.js +32 -30
  179. package/dist/middlewares/index.js.map +1 -1
  180. package/dist/middlewares/index.mjs +31 -31
  181. package/dist/middlewares/index.mjs.map +1 -1
  182. package/dist/middlewares/ip.js +6 -6
  183. package/dist/middlewares/ip.js.map +1 -1
  184. package/dist/middlewares/ip.mjs +5 -5
  185. package/dist/middlewares/ip.mjs.map +1 -1
  186. package/dist/middlewares/logger.js +10 -9
  187. package/dist/middlewares/logger.js.map +1 -1
  188. package/dist/middlewares/logger.mjs +9 -10
  189. package/dist/middlewares/logger.mjs.map +1 -1
  190. package/dist/middlewares/powered-by.js +13 -9
  191. package/dist/middlewares/powered-by.js.map +1 -1
  192. package/dist/middlewares/powered-by.mjs +12 -10
  193. package/dist/middlewares/powered-by.mjs.map +1 -1
  194. package/dist/middlewares/public.js +33 -29
  195. package/dist/middlewares/public.js.map +1 -1
  196. package/dist/middlewares/public.mjs +32 -28
  197. package/dist/middlewares/public.mjs.map +1 -1
  198. package/dist/middlewares/query.js +35 -32
  199. package/dist/middlewares/query.js.map +1 -1
  200. package/dist/middlewares/query.mjs +34 -31
  201. package/dist/middlewares/query.mjs.map +1 -1
  202. package/dist/middlewares/response-time.js +10 -9
  203. package/dist/middlewares/response-time.js.map +1 -1
  204. package/dist/middlewares/response-time.mjs +9 -10
  205. package/dist/middlewares/response-time.mjs.map +1 -1
  206. package/dist/middlewares/responses.js +14 -12
  207. package/dist/middlewares/responses.js.map +1 -1
  208. package/dist/middlewares/responses.mjs +13 -13
  209. package/dist/middlewares/responses.mjs.map +1 -1
  210. package/dist/middlewares/security.js +109 -71
  211. package/dist/middlewares/security.js.map +1 -1
  212. package/dist/middlewares/security.mjs +108 -70
  213. package/dist/middlewares/security.mjs.map +1 -1
  214. package/dist/middlewares/session.js +26 -25
  215. package/dist/middlewares/session.js.map +1 -1
  216. package/dist/middlewares/session.mjs +25 -24
  217. package/dist/middlewares/session.mjs.map +1 -1
  218. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  219. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  220. package/dist/migrations/database/5.0.0-discard-drafts.js +154 -80
  221. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  222. package/dist/migrations/database/5.0.0-discard-drafts.mjs +153 -82
  223. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  224. package/dist/migrations/draft-publish.d.ts +1 -1
  225. package/dist/migrations/draft-publish.d.ts.map +1 -1
  226. package/dist/migrations/draft-publish.js +61 -34
  227. package/dist/migrations/draft-publish.js.map +1 -1
  228. package/dist/migrations/draft-publish.mjs +60 -36
  229. package/dist/migrations/draft-publish.mjs.map +1 -1
  230. package/dist/migrations/i18n.js +62 -45
  231. package/dist/migrations/i18n.js.map +1 -1
  232. package/dist/migrations/i18n.mjs +61 -47
  233. package/dist/migrations/i18n.mjs.map +1 -1
  234. package/dist/migrations/index.js +24 -10
  235. package/dist/migrations/index.js.map +1 -1
  236. package/dist/migrations/index.mjs +23 -12
  237. package/dist/migrations/index.mjs.map +1 -1
  238. package/dist/package.json.js +182 -0
  239. package/dist/package.json.js.map +1 -0
  240. package/dist/package.json.mjs +159 -0
  241. package/dist/package.json.mjs.map +1 -0
  242. package/dist/providers/admin.js +27 -17
  243. package/dist/providers/admin.js.map +1 -1
  244. package/dist/providers/admin.mjs +26 -19
  245. package/dist/providers/admin.mjs.map +1 -1
  246. package/dist/providers/coreStore.js +13 -8
  247. package/dist/providers/coreStore.js.map +1 -1
  248. package/dist/providers/coreStore.mjs +12 -10
  249. package/dist/providers/coreStore.mjs.map +1 -1
  250. package/dist/providers/cron.js +19 -16
  251. package/dist/providers/cron.js.map +1 -1
  252. package/dist/providers/cron.mjs +18 -18
  253. package/dist/providers/cron.mjs.map +1 -1
  254. package/dist/providers/index.js +18 -9
  255. package/dist/providers/index.js.map +1 -1
  256. package/dist/providers/index.mjs +17 -10
  257. package/dist/providers/index.mjs.map +1 -1
  258. package/dist/providers/provider.js +4 -3
  259. package/dist/providers/provider.js.map +1 -1
  260. package/dist/providers/provider.mjs +3 -4
  261. package/dist/providers/provider.mjs.map +1 -1
  262. package/dist/providers/registries.js +37 -32
  263. package/dist/providers/registries.js.map +1 -1
  264. package/dist/providers/registries.mjs +36 -34
  265. package/dist/providers/registries.mjs.map +1 -1
  266. package/dist/providers/telemetry.js +19 -16
  267. package/dist/providers/telemetry.js.map +1 -1
  268. package/dist/providers/telemetry.mjs +18 -18
  269. package/dist/providers/telemetry.mjs.map +1 -1
  270. package/dist/providers/webhooks.js +28 -26
  271. package/dist/providers/webhooks.js.map +1 -1
  272. package/dist/providers/webhooks.mjs +27 -28
  273. package/dist/providers/webhooks.mjs.map +1 -1
  274. package/dist/registries/apis.js +23 -20
  275. package/dist/registries/apis.js.map +1 -1
  276. package/dist/registries/apis.mjs +22 -22
  277. package/dist/registries/apis.mjs.map +1 -1
  278. package/dist/registries/components.js +35 -37
  279. package/dist/registries/components.js.map +1 -1
  280. package/dist/registries/components.mjs +34 -39
  281. package/dist/registries/components.mjs.map +1 -1
  282. package/dist/registries/content-types.js +54 -59
  283. package/dist/registries/content-types.js.map +1 -1
  284. package/dist/registries/content-types.mjs +53 -61
  285. package/dist/registries/content-types.mjs.map +1 -1
  286. package/dist/registries/controllers.js +70 -71
  287. package/dist/registries/controllers.js.map +1 -1
  288. package/dist/registries/controllers.mjs +69 -73
  289. package/dist/registries/controllers.mjs.map +1 -1
  290. package/dist/registries/custom-fields.js +75 -65
  291. package/dist/registries/custom-fields.js.map +1 -1
  292. package/dist/registries/custom-fields.mjs +74 -67
  293. package/dist/registries/custom-fields.mjs.map +1 -1
  294. package/dist/registries/hooks.js +46 -49
  295. package/dist/registries/hooks.js.map +1 -1
  296. package/dist/registries/hooks.mjs +45 -51
  297. package/dist/registries/hooks.mjs.map +1 -1
  298. package/dist/registries/middlewares.js +49 -51
  299. package/dist/registries/middlewares.js.map +1 -1
  300. package/dist/registries/middlewares.mjs +48 -53
  301. package/dist/registries/middlewares.mjs.map +1 -1
  302. package/dist/registries/models.js +14 -13
  303. package/dist/registries/models.js.map +1 -1
  304. package/dist/registries/models.mjs +13 -14
  305. package/dist/registries/models.mjs.map +1 -1
  306. package/dist/registries/modules.js +39 -36
  307. package/dist/registries/modules.js.map +1 -1
  308. package/dist/registries/modules.mjs +38 -38
  309. package/dist/registries/modules.mjs.map +1 -1
  310. package/dist/registries/namespace.js +21 -20
  311. package/dist/registries/namespace.js.map +1 -1
  312. package/dist/registries/namespace.mjs +20 -23
  313. package/dist/registries/namespace.mjs.map +1 -1
  314. package/dist/registries/plugins.js +23 -20
  315. package/dist/registries/plugins.js.map +1 -1
  316. package/dist/registries/plugins.mjs +22 -22
  317. package/dist/registries/plugins.mjs.map +1 -1
  318. package/dist/registries/policies.js +103 -96
  319. package/dist/registries/policies.js.map +1 -1
  320. package/dist/registries/policies.mjs +102 -98
  321. package/dist/registries/policies.mjs.map +1 -1
  322. package/dist/registries/sanitizers.js +23 -22
  323. package/dist/registries/sanitizers.js.map +1 -1
  324. package/dist/registries/sanitizers.mjs +22 -22
  325. package/dist/registries/sanitizers.mjs.map +1 -1
  326. package/dist/registries/services.js +71 -71
  327. package/dist/registries/services.js.map +1 -1
  328. package/dist/registries/services.mjs +70 -73
  329. package/dist/registries/services.mjs.map +1 -1
  330. package/dist/registries/validators.js +23 -22
  331. package/dist/registries/validators.js.map +1 -1
  332. package/dist/registries/validators.mjs +22 -22
  333. package/dist/registries/validators.mjs.map +1 -1
  334. package/dist/services/auth/index.js +74 -74
  335. package/dist/services/auth/index.js.map +1 -1
  336. package/dist/services/auth/index.mjs +73 -74
  337. package/dist/services/auth/index.mjs.map +1 -1
  338. package/dist/services/config.js +47 -43
  339. package/dist/services/config.js.map +1 -1
  340. package/dist/services/config.mjs +46 -44
  341. package/dist/services/config.mjs.map +1 -1
  342. package/dist/services/content-api/index.js +80 -79
  343. package/dist/services/content-api/index.js.map +1 -1
  344. package/dist/services/content-api/index.mjs +79 -79
  345. package/dist/services/content-api/index.mjs.map +1 -1
  346. package/dist/services/content-api/permissions/engine.js +8 -5
  347. package/dist/services/content-api/permissions/engine.js.map +1 -1
  348. package/dist/services/content-api/permissions/engine.mjs +7 -5
  349. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  350. package/dist/services/content-api/permissions/index.js +101 -81
  351. package/dist/services/content-api/permissions/index.js.map +1 -1
  352. package/dist/services/content-api/permissions/index.mjs +100 -81
  353. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  354. package/dist/services/content-api/permissions/providers/action.js +17 -14
  355. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  356. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  357. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  358. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  359. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  360. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  361. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  362. package/dist/services/core-store.js +115 -95
  363. package/dist/services/core-store.js.map +1 -1
  364. package/dist/services/core-store.mjs +114 -97
  365. package/dist/services/core-store.mjs.map +1 -1
  366. package/dist/services/cron.js +74 -60
  367. package/dist/services/cron.js.map +1 -1
  368. package/dist/services/cron.mjs +73 -62
  369. package/dist/services/cron.mjs.map +1 -1
  370. package/dist/services/custom-fields.js +9 -7
  371. package/dist/services/custom-fields.js.map +1 -1
  372. package/dist/services/custom-fields.mjs +8 -9
  373. package/dist/services/custom-fields.mjs.map +1 -1
  374. package/dist/services/document-service/attributes/index.js +23 -18
  375. package/dist/services/document-service/attributes/index.js.map +1 -1
  376. package/dist/services/document-service/attributes/index.mjs +22 -19
  377. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  378. package/dist/services/document-service/attributes/transforms.js +16 -15
  379. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  380. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  381. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  382. package/dist/services/document-service/common.d.ts +1 -1
  383. package/dist/services/document-service/common.d.ts.map +1 -1
  384. package/dist/services/document-service/common.js +5 -4
  385. package/dist/services/document-service/common.js.map +1 -1
  386. package/dist/services/document-service/common.mjs +4 -5
  387. package/dist/services/document-service/common.mjs.map +1 -1
  388. package/dist/services/document-service/components.d.ts.map +1 -1
  389. package/dist/services/document-service/components.js +255 -257
  390. package/dist/services/document-service/components.js.map +1 -1
  391. package/dist/services/document-service/components.mjs +254 -262
  392. package/dist/services/document-service/components.mjs.map +1 -1
  393. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  394. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  395. package/dist/services/document-service/draft-and-publish.js +88 -48
  396. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  397. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  398. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  399. package/dist/services/document-service/entries.d.ts +2 -2
  400. package/dist/services/document-service/entries.d.ts.map +1 -1
  401. package/dist/services/document-service/entries.js +109 -92
  402. package/dist/services/document-service/entries.js.map +1 -1
  403. package/dist/services/document-service/entries.mjs +108 -93
  404. package/dist/services/document-service/entries.mjs.map +1 -1
  405. package/dist/services/document-service/events.d.ts +1 -1
  406. package/dist/services/document-service/events.d.ts.map +1 -1
  407. package/dist/services/document-service/events.js +52 -40
  408. package/dist/services/document-service/events.js.map +1 -1
  409. package/dist/services/document-service/events.mjs +51 -41
  410. package/dist/services/document-service/events.mjs.map +1 -1
  411. package/dist/services/document-service/index.d.ts +2 -1
  412. package/dist/services/document-service/index.d.ts.map +1 -1
  413. package/dist/services/document-service/index.js +53 -32
  414. package/dist/services/document-service/index.js.map +1 -1
  415. package/dist/services/document-service/index.mjs +52 -33
  416. package/dist/services/document-service/index.mjs.map +1 -1
  417. package/dist/services/document-service/internationalization.js +62 -46
  418. package/dist/services/document-service/internationalization.js.map +1 -1
  419. package/dist/services/document-service/internationalization.mjs +61 -50
  420. package/dist/services/document-service/internationalization.mjs.map +1 -1
  421. package/dist/services/document-service/middlewares/errors.js +23 -19
  422. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  423. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  424. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  425. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  426. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  427. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  428. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  429. package/dist/services/document-service/params.js +11 -5
  430. package/dist/services/document-service/params.js.map +1 -1
  431. package/dist/services/document-service/params.mjs +10 -6
  432. package/dist/services/document-service/params.mjs.map +1 -1
  433. package/dist/services/document-service/repository.d.ts.map +1 -1
  434. package/dist/services/document-service/repository.js +354 -304
  435. package/dist/services/document-service/repository.js.map +1 -1
  436. package/dist/services/document-service/repository.mjs +353 -305
  437. package/dist/services/document-service/repository.mjs.map +1 -1
  438. package/dist/services/document-service/transform/data.js +22 -12
  439. package/dist/services/document-service/transform/data.js.map +1 -1
  440. package/dist/services/document-service/transform/data.mjs +21 -13
  441. package/dist/services/document-service/transform/data.mjs.map +1 -1
  442. package/dist/services/document-service/transform/fields.js +26 -17
  443. package/dist/services/document-service/transform/fields.js.map +1 -1
  444. package/dist/services/document-service/transform/fields.mjs +25 -18
  445. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  446. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  447. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  448. package/dist/services/document-service/transform/id-map.js +116 -69
  449. package/dist/services/document-service/transform/id-map.js.map +1 -1
  450. package/dist/services/document-service/transform/id-map.mjs +115 -70
  451. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  452. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  453. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  454. package/dist/services/document-service/transform/id-transform.js +37 -29
  455. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  456. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  457. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  458. package/dist/services/document-service/transform/populate.js +23 -18
  459. package/dist/services/document-service/transform/populate.js.map +1 -1
  460. package/dist/services/document-service/transform/populate.mjs +22 -19
  461. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  462. package/dist/services/document-service/transform/query.js +11 -6
  463. package/dist/services/document-service/transform/query.js.map +1 -1
  464. package/dist/services/document-service/transform/query.mjs +10 -7
  465. package/dist/services/document-service/transform/query.mjs.map +1 -1
  466. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  467. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  468. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  469. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  470. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  471. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  472. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  473. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  474. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  475. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  476. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  477. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  478. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  479. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  480. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  481. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  482. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  483. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  484. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  485. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  486. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  487. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  488. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  489. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  490. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  491. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  492. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  493. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  494. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  495. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  496. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  497. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  498. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  499. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  500. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  501. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  502. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  503. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  504. package/dist/services/document-service/utils/populate.d.ts +1 -1
  505. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  506. package/dist/services/document-service/utils/populate.js +66 -42
  507. package/dist/services/document-service/utils/populate.js.map +1 -1
  508. package/dist/services/document-service/utils/populate.mjs +65 -43
  509. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  510. package/dist/services/document-service/utils/unidirectional-relations.d.ts +12 -9
  511. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  512. package/dist/services/document-service/utils/unidirectional-relations.js +110 -52
  513. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  514. package/dist/services/document-service/utils/unidirectional-relations.mjs +109 -54
  515. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  516. package/dist/services/entity-service/index.js +230 -161
  517. package/dist/services/entity-service/index.js.map +1 -1
  518. package/dist/services/entity-service/index.mjs +229 -160
  519. package/dist/services/entity-service/index.mjs.map +1 -1
  520. package/dist/services/entity-validator/blocks-validator.js +135 -103
  521. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  522. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  523. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  524. package/dist/services/entity-validator/index.d.ts +1 -1
  525. package/dist/services/entity-validator/index.d.ts.map +1 -1
  526. package/dist/services/entity-validator/index.js +362 -367
  527. package/dist/services/entity-validator/index.js.map +1 -1
  528. package/dist/services/entity-validator/index.mjs +358 -364
  529. package/dist/services/entity-validator/index.mjs.map +1 -1
  530. package/dist/services/entity-validator/validators.js +268 -210
  531. package/dist/services/entity-validator/validators.js.map +1 -1
  532. package/dist/services/entity-validator/validators.mjs +267 -216
  533. package/dist/services/entity-validator/validators.mjs.map +1 -1
  534. package/dist/services/errors.js +65 -65
  535. package/dist/services/errors.js.map +1 -1
  536. package/dist/services/errors.mjs +64 -66
  537. package/dist/services/errors.mjs.map +1 -1
  538. package/dist/services/event-hub.js +82 -69
  539. package/dist/services/event-hub.js.map +1 -1
  540. package/dist/services/event-hub.mjs +81 -71
  541. package/dist/services/event-hub.mjs.map +1 -1
  542. package/dist/services/features.js +19 -14
  543. package/dist/services/features.js.map +1 -1
  544. package/dist/services/features.mjs +18 -15
  545. package/dist/services/features.mjs.map +1 -1
  546. package/dist/services/fs.js +41 -40
  547. package/dist/services/fs.js.map +1 -1
  548. package/dist/services/fs.mjs +40 -39
  549. package/dist/services/fs.mjs.map +1 -1
  550. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  551. package/dist/services/metrics/admin-user-hash.js +13 -11
  552. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  553. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  554. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  555. package/dist/services/metrics/index.js +46 -40
  556. package/dist/services/metrics/index.js.map +1 -1
  557. package/dist/services/metrics/index.mjs +45 -42
  558. package/dist/services/metrics/index.mjs.map +1 -1
  559. package/dist/services/metrics/is-truthy.js +13 -6
  560. package/dist/services/metrics/is-truthy.js.map +1 -1
  561. package/dist/services/metrics/is-truthy.mjs +12 -6
  562. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  563. package/dist/services/metrics/middleware.d.ts.map +1 -1
  564. package/dist/services/metrics/middleware.js +37 -22
  565. package/dist/services/metrics/middleware.js.map +1 -1
  566. package/dist/services/metrics/middleware.mjs +36 -24
  567. package/dist/services/metrics/middleware.mjs.map +1 -1
  568. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  569. package/dist/services/metrics/rate-limiter.js +24 -19
  570. package/dist/services/metrics/rate-limiter.js.map +1 -1
  571. package/dist/services/metrics/rate-limiter.mjs +23 -21
  572. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  573. package/dist/services/metrics/sender.d.ts.map +1 -1
  574. package/dist/services/metrics/sender.js +78 -69
  575. package/dist/services/metrics/sender.js.map +1 -1
  576. package/dist/services/metrics/sender.mjs +77 -64
  577. package/dist/services/metrics/sender.mjs.map +1 -1
  578. package/dist/services/query-params.js +13 -10
  579. package/dist/services/query-params.js.map +1 -1
  580. package/dist/services/query-params.mjs +12 -12
  581. package/dist/services/query-params.mjs.map +1 -1
  582. package/dist/services/reloader.js +35 -32
  583. package/dist/services/reloader.js.map +1 -1
  584. package/dist/services/reloader.mjs +34 -33
  585. package/dist/services/reloader.mjs.map +1 -1
  586. package/dist/services/request-context.js +11 -8
  587. package/dist/services/request-context.js.map +1 -1
  588. package/dist/services/request-context.mjs +10 -10
  589. package/dist/services/request-context.mjs.map +1 -1
  590. package/dist/services/server/admin-api.js +11 -10
  591. package/dist/services/server/admin-api.js.map +1 -1
  592. package/dist/services/server/admin-api.mjs +10 -11
  593. package/dist/services/server/admin-api.mjs.map +1 -1
  594. package/dist/services/server/api.js +33 -27
  595. package/dist/services/server/api.js.map +1 -1
  596. package/dist/services/server/api.mjs +32 -26
  597. package/dist/services/server/api.mjs.map +1 -1
  598. package/dist/services/server/compose-endpoint.js +116 -105
  599. package/dist/services/server/compose-endpoint.js.map +1 -1
  600. package/dist/services/server/compose-endpoint.mjs +115 -105
  601. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  602. package/dist/services/server/content-api.js +11 -9
  603. package/dist/services/server/content-api.js.map +1 -1
  604. package/dist/services/server/content-api.mjs +10 -10
  605. package/dist/services/server/content-api.mjs.map +1 -1
  606. package/dist/services/server/http-server.js +48 -44
  607. package/dist/services/server/http-server.js.map +1 -1
  608. package/dist/services/server/http-server.mjs +47 -43
  609. package/dist/services/server/http-server.mjs.map +1 -1
  610. package/dist/services/server/index.js +85 -82
  611. package/dist/services/server/index.js.map +1 -1
  612. package/dist/services/server/index.mjs +84 -81
  613. package/dist/services/server/index.mjs.map +1 -1
  614. package/dist/services/server/koa.js +49 -47
  615. package/dist/services/server/koa.js.map +1 -1
  616. package/dist/services/server/koa.mjs +48 -44
  617. package/dist/services/server/koa.mjs.map +1 -1
  618. package/dist/services/server/middleware.js +86 -82
  619. package/dist/services/server/middleware.js.map +1 -1
  620. package/dist/services/server/middleware.mjs +85 -82
  621. package/dist/services/server/middleware.mjs.map +1 -1
  622. package/dist/services/server/policy.js +24 -17
  623. package/dist/services/server/policy.js.map +1 -1
  624. package/dist/services/server/policy.mjs +23 -18
  625. package/dist/services/server/policy.mjs.map +1 -1
  626. package/dist/services/server/register-middlewares.js +68 -61
  627. package/dist/services/server/register-middlewares.js.map +1 -1
  628. package/dist/services/server/register-middlewares.mjs +67 -63
  629. package/dist/services/server/register-middlewares.mjs.map +1 -1
  630. package/dist/services/server/register-routes.js +90 -67
  631. package/dist/services/server/register-routes.js.map +1 -1
  632. package/dist/services/server/register-routes.mjs +89 -67
  633. package/dist/services/server/register-routes.mjs.map +1 -1
  634. package/dist/services/server/routing.js +94 -81
  635. package/dist/services/server/routing.js.map +1 -1
  636. package/dist/services/server/routing.mjs +93 -81
  637. package/dist/services/server/routing.mjs.map +1 -1
  638. package/dist/services/utils/dynamic-zones.js +13 -14
  639. package/dist/services/utils/dynamic-zones.js.map +1 -1
  640. package/dist/services/utils/dynamic-zones.mjs +12 -16
  641. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  642. package/dist/services/webhook-runner.js +124 -122
  643. package/dist/services/webhook-runner.js.map +1 -1
  644. package/dist/services/webhook-runner.mjs +123 -121
  645. package/dist/services/webhook-runner.mjs.map +1 -1
  646. package/dist/services/webhook-store.js +132 -99
  647. package/dist/services/webhook-store.js.map +1 -1
  648. package/dist/services/webhook-store.mjs +131 -101
  649. package/dist/services/webhook-store.mjs.map +1 -1
  650. package/dist/services/worker-queue.js +44 -49
  651. package/dist/services/worker-queue.js.map +1 -1
  652. package/dist/services/worker-queue.mjs +43 -49
  653. package/dist/services/worker-queue.mjs.map +1 -1
  654. package/dist/utils/convert-custom-field-type.js +17 -20
  655. package/dist/utils/convert-custom-field-type.js.map +1 -1
  656. package/dist/utils/convert-custom-field-type.mjs +16 -21
  657. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  658. package/dist/utils/cron.js +64 -30
  659. package/dist/utils/cron.js.map +1 -1
  660. package/dist/utils/cron.mjs +63 -31
  661. package/dist/utils/cron.mjs.map +1 -1
  662. package/dist/utils/fetch.js +24 -18
  663. package/dist/utils/fetch.js.map +1 -1
  664. package/dist/utils/fetch.mjs +23 -19
  665. package/dist/utils/fetch.mjs.map +1 -1
  666. package/dist/utils/filepath-to-prop-path.js +20 -28
  667. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  668. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  669. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  670. package/dist/utils/is-initialized.js +21 -12
  671. package/dist/utils/is-initialized.js.map +1 -1
  672. package/dist/utils/is-initialized.mjs +20 -13
  673. package/dist/utils/is-initialized.mjs.map +1 -1
  674. package/dist/utils/lifecycles.js +6 -5
  675. package/dist/utils/lifecycles.js.map +1 -1
  676. package/dist/utils/lifecycles.mjs +5 -6
  677. package/dist/utils/lifecycles.mjs.map +1 -1
  678. package/dist/utils/load-config-file.js +40 -38
  679. package/dist/utils/load-config-file.js.map +1 -1
  680. package/dist/utils/load-config-file.mjs +39 -36
  681. package/dist/utils/load-config-file.mjs.map +1 -1
  682. package/dist/utils/load-files.js +40 -35
  683. package/dist/utils/load-files.js.map +1 -1
  684. package/dist/utils/load-files.mjs +39 -32
  685. package/dist/utils/load-files.mjs.map +1 -1
  686. package/dist/utils/open-browser.js +8 -8
  687. package/dist/utils/open-browser.js.map +1 -1
  688. package/dist/utils/open-browser.mjs +7 -7
  689. package/dist/utils/open-browser.mjs.map +1 -1
  690. package/dist/utils/resolve-working-dirs.js +23 -10
  691. package/dist/utils/resolve-working-dirs.js.map +1 -1
  692. package/dist/utils/resolve-working-dirs.mjs +22 -9
  693. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  694. package/dist/utils/signals.js +20 -14
  695. package/dist/utils/signals.js.map +1 -1
  696. package/dist/utils/signals.mjs +19 -15
  697. package/dist/utils/signals.mjs.map +1 -1
  698. package/dist/utils/startup-logger.d.ts.map +1 -1
  699. package/dist/utils/startup-logger.js +107 -78
  700. package/dist/utils/startup-logger.js.map +1 -1
  701. package/dist/utils/startup-logger.mjs +106 -75
  702. package/dist/utils/startup-logger.mjs.map +1 -1
  703. package/dist/utils/transform-content-types-to-models.d.ts +353 -21
  704. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  705. package/dist/utils/transform-content-types-to-models.js +350 -261
  706. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  707. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  708. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  709. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  710. package/dist/utils/update-notifier/index.js +68 -73
  711. package/dist/utils/update-notifier/index.js.map +1 -1
  712. package/dist/utils/update-notifier/index.mjs +67 -67
  713. package/dist/utils/update-notifier/index.mjs.map +1 -1
  714. package/package.json +27 -28
@@ -1,71 +1,81 @@
1
- "use strict";
2
- const fp = require("lodash/fp");
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+
3
5
  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"
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'
20
22
  ];
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 : [customField];
36
- for (const cf of customFieldList) {
37
- if (!fp.has("name", cf) || !fp.has("type", cf)) {
38
- throw new Error(`Custom fields require a 'name' and 'type' key`);
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
+ }
39
76
  }
40
- const { name, plugin, type, inputSize } = cf;
41
- if (!ALLOWED_TYPES.includes(type)) {
42
- throw new Error(
43
- `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`
44
- );
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
- if (inputSize) {
51
- if (!fp.isPlainObject(inputSize) || !fp.has("default", inputSize) || !fp.has("isResizable", inputSize)) {
52
- throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
53
- }
54
- if (![4, 6, 8, 12].includes(inputSize.default)) {
55
- throw new Error("Custom fields require a valid default input size");
56
- }
57
- if (typeof inputSize.isResizable !== "boolean") {
58
- throw new Error("Custom fields should specify if their input is resizable");
59
- }
60
- }
61
- const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
62
- if (fp.has(uid, customFields)) {
63
- throw new Error(`Custom field: '${uid}' has already been registered`);
64
- }
65
- customFields[uid] = cf;
66
- }
67
- }
68
- };
77
+ };
69
78
  };
79
+
70
80
  module.exports = customFieldsRegistry;
71
81
  //# sourceMappingURL=custom-fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.js","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["has","isPlainObject"],"mappings":";;AAIA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEM,MAAA,uBAAuB,CAAC,WAAwB;AACpD,QAAM,eAAwC,CAAA;AAEvC,SAAA;AAAA,IACL,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,aAAqB;AACjB,YAAA,wBAAwB,aAAa,WAAW;AACtD,UAAI,CAAC,uBAAuB;AAC1B,cAAM,IAAI,MAAM,gCAAgC,WAAW,EAAE;AAAA,MAC/D;AAEO,aAAA;AAAA,IACT;AAAA,IACA,IACE,aAGA;AACA,YAAM,kBAAkB,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC,WAAW;AAE/E,iBAAW,MAAM,iBAAiB;AAC5B,YAAA,CAACA,GAAAA,IAAI,QAAQ,EAAE,KAAK,CAACA,OAAI,QAAQ,EAAE,GAAG;AAClC,gBAAA,IAAI,MAAM,+CAA+C;AAAA,QACjE;AAEA,cAAM,EAAE,MAAM,QAAQ,MAAM,cAAc;AAC1C,YAAI,CAAC,cAAc,SAAS,IAAI,GAAG;AACjC,gBAAM,IAAI;AAAA,YACR,uBAAuB,IAAI;AAAA,UAAA;AAAA,QAE/B;AAEA,cAAM,mBAAmB;AACzB,YAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAChC,gBAAM,IAAI,MAAM,uBAAuB,IAAI,6BAA6B;AAAA,QAC1E;AAGA,YAAI,WAAW;AACb,cACE,CAACC,GAAA,cAAc,SAAS,KACxB,CAACD,GAAAA,IAAI,WAAW,SAAS,KACzB,CAACA,GAAAA,IAAI,eAAe,SAAS,GAC7B;AACM,kBAAA,IAAI,MAAM,qEAAqE;AAAA,UACvF;AACI,cAAA,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,SAAS,UAAU,OAAO,GAAG;AACxC,kBAAA,IAAI,MAAM,kDAAkD;AAAA,UACpE;AACI,cAAA,OAAO,UAAU,gBAAgB,WAAW;AACxC,kBAAA,IAAI,MAAM,0DAA0D;AAAA,UAC5E;AAAA,QACF;AAGA,cAAM,MACJ,UAAU,OAAO,OAAO,MAAM,IAAI,WAAW,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI;AAE7E,YAAAA,GAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,kBAAkB,GAAG,+BAA+B;AAAA,QACtE;AAEA,qBAAa,GAAG,IAAI;AAAA,MACtB;AAAA,IACF;AAAA,EAAA;AAEJ;;"}
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":";;;;AAIA,MAAMA,aAAgB,GAAA;AACpB,IAAA,YAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,SAAA;AACA,IAAA,OAAA;AACA,IAAA,aAAA;AACA,IAAA,OAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,UAAA;AACA,IAAA,QAAA;AACA,IAAA,MAAA;AACA,IAAA,MAAA;AACA,IAAA;AACD,CAAA;AAED,MAAMC,uBAAuB,CAACC,MAAAA,GAAAA;AAC5B,IAAA,MAAMC,eAAwC,EAAC;IAE/C,OAAO;AACLC,QAAAA,MAAAA,CAAAA,GAAAA;YACE,OAAOD,YAAAA;AACT,SAAA;AACAE,QAAAA,GAAAA,CAAAA,CAAIC,WAAmB,EAAA;YACrB,MAAMC,qBAAAA,GAAwBJ,YAAY,CAACG,WAAY,CAAA;AACvD,YAAA,IAAI,CAACC,qBAAuB,EAAA;AAC1B,gBAAA,MAAM,IAAIC,KAAM,CAAA,CAAC,6BAA6B,EAAEF,YAAY,CAAC,CAAA;AAC/D;YAEA,OAAOC,qBAAAA;AACT,SAAA;AACAE,QAAAA,GAAAA,CAAAA,CACEH,WAEmD,EAAA;AAEnD,YAAA,MAAMI,eAAkBC,GAAAA,KAAAA,CAAMC,OAAO,CAACN,eAAeA,WAAc,GAAA;AAACA,gBAAAA;AAAY,aAAA;YAEhF,KAAK,MAAMO,MAAMH,eAAiB,CAAA;AAChC,gBAAA,IAAI,CAACI,MAAI,CAAA,MAAA,EAAQD,OAAO,CAACC,MAAAA,CAAI,QAAQD,EAAK,CAAA,EAAA;AACxC,oBAAA,MAAM,IAAIL,KAAAA,CAAM,CAAC,6CAA6C,CAAC,CAAA;AACjE;gBAEA,MAAM,EAAEO,IAAI,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGL,EAAAA;AAC1C,gBAAA,IAAI,CAACb,aAAAA,CAAcmB,QAAQ,CAACF,IAAO,CAAA,EAAA;AACjC,oBAAA,MAAM,IAAIT,KACR,CAAA,CAAC,oBAAoB,EAAES,IAAAA,CAAK,oEAAoE,CAAC,CAAA;AAErG;AAEA,gBAAA,MAAMG,gBAAmB,GAAA,6BAAA;AACzB,gBAAA,IAAI,CAACA,gBAAAA,CAAiBC,IAAI,CAACN,IAAO,CAAA,EAAA;AAChC,oBAAA,MAAM,IAAIP,KAAM,CAAA,CAAC,oBAAoB,EAAEO,IAAAA,CAAK,2BAA2B,CAAC,CAAA;AAC1E;;AAGA,gBAAA,IAAIG,SAAW,EAAA;oBACb,IACE,CAACI,gBAAcJ,CAAAA,SAAAA,CAAAA,IACf,CAACJ,MAAAA,CAAI,WAAWI,SAChB,CAAA,IAAA,CAACJ,MAAI,CAAA,aAAA,EAAeI,SACpB,CAAA,EAAA;AACA,wBAAA,MAAM,IAAIV,KAAAA,CAAM,CAAC,mEAAmE,CAAC,CAAA;AACvF;AACA,oBAAA,IAAI,CAAC;AAAC,wBAAA,CAAA;AAAG,wBAAA,CAAA;AAAG,wBAAA,CAAA;AAAG,wBAAA;AAAG,qBAAA,CAACW,QAAQ,CAACD,SAAUK,CAAAA,OAAO,CAAG,EAAA;AAC9C,wBAAA,MAAM,IAAIf,KAAM,CAAA,kDAAA,CAAA;AAClB;AACA,oBAAA,IAAI,OAAOU,SAAAA,CAAUM,WAAW,KAAK,SAAW,EAAA;AAC9C,wBAAA,MAAM,IAAIhB,KAAM,CAAA,0DAAA,CAAA;AAClB;AACF;;AAGA,gBAAA,MAAMiB,MACJT,MAAUd,IAAAA,MAAAA,CAAOc,MAAM,CAACA,MAAAA,CAAAA,GAAU,CAAC,QAAQ,EAAEA,OAAO,CAAC,EAAED,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAEA,KAAK,CAAC;gBAEnF,IAAID,MAAAA,CAAIW,KAAKtB,YAAe,CAAA,EAAA;AAC1B,oBAAA,MAAM,IAAIK,KAAM,CAAA,CAAC,eAAe,EAAEiB,GAAAA,CAAI,6BAA6B,CAAC,CAAA;AACtE;gBAEAtB,YAAY,CAACsB,IAAI,GAAGZ,EAAAA;AACtB;AACF;AACF,KAAA;AACF;;;;"}
@@ -1,72 +1,79 @@
1
- import { has, isPlainObject } from "lodash/fp";
1
+ import { has, isPlainObject } from 'lodash/fp';
2
+
2
3
  const ALLOWED_TYPES = [
3
- "biginteger",
4
- "boolean",
5
- "date",
6
- "datetime",
7
- "decimal",
8
- "email",
9
- "enumeration",
10
- "float",
11
- "integer",
12
- "json",
13
- "password",
14
- "richtext",
15
- "string",
16
- "text",
17
- "time",
18
- "uid"
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'
19
20
  ];
20
- const customFieldsRegistry = (strapi) => {
21
- const customFields = {};
22
- return {
23
- getAll() {
24
- return customFields;
25
- },
26
- get(customField) {
27
- const registeredCustomField = customFields[customField];
28
- if (!registeredCustomField) {
29
- throw new Error(`Could not find Custom Field: ${customField}`);
30
- }
31
- return registeredCustomField;
32
- },
33
- add(customField) {
34
- const customFieldList = Array.isArray(customField) ? customField : [customField];
35
- for (const cf of customFieldList) {
36
- if (!has("name", cf) || !has("type", cf)) {
37
- throw new Error(`Custom fields require a 'name' and 'type' key`);
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
+ }
38
74
  }
39
- const { name, plugin, type, inputSize } = cf;
40
- if (!ALLOWED_TYPES.includes(type)) {
41
- throw new Error(
42
- `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`
43
- );
44
- }
45
- const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
46
- if (!isValidObjectKey.test(name)) {
47
- throw new Error(`Custom field name: '${name}' is not a valid object key`);
48
- }
49
- if (inputSize) {
50
- if (!isPlainObject(inputSize) || !has("default", inputSize) || !has("isResizable", inputSize)) {
51
- throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);
52
- }
53
- if (![4, 6, 8, 12].includes(inputSize.default)) {
54
- throw new Error("Custom fields require a valid default input size");
55
- }
56
- if (typeof inputSize.isResizable !== "boolean") {
57
- throw new Error("Custom fields should specify if their input is resizable");
58
- }
59
- }
60
- const uid = plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;
61
- if (has(uid, customFields)) {
62
- throw new Error(`Custom field: '${uid}' has already been registered`);
63
- }
64
- customFields[uid] = cf;
65
- }
66
- }
67
- };
68
- };
69
- export {
70
- customFieldsRegistry as default
75
+ };
71
76
  };
77
+
78
+ export { customFieldsRegistry as default };
72
79
  //# sourceMappingURL=custom-fields.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.mjs","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":[],"mappings":";AAIA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEM,MAAA,uBAAuB,CAAC,WAAwB;AACpD,QAAM,eAAwC,CAAA;AAEvC,SAAA;AAAA,IACL,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,aAAqB;AACjB,YAAA,wBAAwB,aAAa,WAAW;AACtD,UAAI,CAAC,uBAAuB;AAC1B,cAAM,IAAI,MAAM,gCAAgC,WAAW,EAAE;AAAA,MAC/D;AAEO,aAAA;AAAA,IACT;AAAA,IACA,IACE,aAGA;AACA,YAAM,kBAAkB,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC,WAAW;AAE/E,iBAAW,MAAM,iBAAiB;AAC5B,YAAA,CAAC,IAAI,QAAQ,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,GAAG;AAClC,gBAAA,IAAI,MAAM,+CAA+C;AAAA,QACjE;AAEA,cAAM,EAAE,MAAM,QAAQ,MAAM,cAAc;AAC1C,YAAI,CAAC,cAAc,SAAS,IAAI,GAAG;AACjC,gBAAM,IAAI;AAAA,YACR,uBAAuB,IAAI;AAAA,UAAA;AAAA,QAE/B;AAEA,cAAM,mBAAmB;AACzB,YAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAChC,gBAAM,IAAI,MAAM,uBAAuB,IAAI,6BAA6B;AAAA,QAC1E;AAGA,YAAI,WAAW;AACb,cACE,CAAC,cAAc,SAAS,KACxB,CAAC,IAAI,WAAW,SAAS,KACzB,CAAC,IAAI,eAAe,SAAS,GAC7B;AACM,kBAAA,IAAI,MAAM,qEAAqE;AAAA,UACvF;AACI,cAAA,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,SAAS,UAAU,OAAO,GAAG;AACxC,kBAAA,IAAI,MAAM,kDAAkD;AAAA,UACpE;AACI,cAAA,OAAO,UAAU,gBAAgB,WAAW;AACxC,kBAAA,IAAI,MAAM,0DAA0D;AAAA,UAC5E;AAAA,QACF;AAGA,cAAM,MACJ,UAAU,OAAO,OAAO,MAAM,IAAI,WAAW,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI;AAE7E,YAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,kBAAkB,GAAG,+BAA+B;AAAA,QACtE;AAEA,qBAAa,GAAG,IAAI;AAAA,MACtB;AAAA,IACF;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"custom-fields.mjs","sources":["../../src/registries/custom-fields.ts"],"sourcesContent":["import { has, isPlainObject } from 'lodash/fp';\n\nimport type { Core, Modules } from '@strapi/types';\n\nconst ALLOWED_TYPES = [\n 'biginteger',\n 'boolean',\n 'date',\n 'datetime',\n 'decimal',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'password',\n 'richtext',\n 'string',\n 'text',\n 'time',\n 'uid',\n] as const;\n\nconst customFieldsRegistry = (strapi: Core.Strapi) => {\n const customFields: Record<string, unknown> = {};\n\n return {\n getAll() {\n return customFields;\n },\n get(customField: string) {\n const registeredCustomField = customFields[customField];\n if (!registeredCustomField) {\n throw new Error(`Could not find Custom Field: ${customField}`);\n }\n\n return registeredCustomField;\n },\n add(\n customField:\n | Modules.CustomFields.CustomFieldServerOptions\n | Modules.CustomFields.CustomFieldServerOptions[]\n ) {\n const customFieldList = Array.isArray(customField) ? customField : [customField];\n\n for (const cf of customFieldList) {\n if (!has('name', cf) || !has('type', cf)) {\n throw new Error(`Custom fields require a 'name' and 'type' key`);\n }\n\n const { name, plugin, type, inputSize } = cf;\n if (!ALLOWED_TYPES.includes(type)) {\n throw new Error(\n `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`\n );\n }\n\n const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;\n if (!isValidObjectKey.test(name)) {\n throw new Error(`Custom field name: '${name}' is not a valid object key`);\n }\n\n // Validate inputSize when provided\n if (inputSize) {\n if (\n !isPlainObject(inputSize) ||\n !has('default', inputSize) ||\n !has('isResizable', inputSize)\n ) {\n throw new Error(`inputSize should be an object with 'default' and 'isResizable' keys`);\n }\n if (![4, 6, 8, 12].includes(inputSize.default)) {\n throw new Error('Custom fields require a valid default input size');\n }\n if (typeof inputSize.isResizable !== 'boolean') {\n throw new Error('Custom fields should specify if their input is resizable');\n }\n }\n\n // When no plugin is specified, or it isn't found in Strapi, default to global\n const uid =\n plugin && strapi.plugin(plugin) ? `plugin::${plugin}.${name}` : `global::${name}`;\n\n if (has(uid, customFields)) {\n throw new Error(`Custom field: '${uid}' has already been registered`);\n }\n\n customFields[uid] = cf;\n }\n },\n };\n};\n\nexport default customFieldsRegistry;\n"],"names":["ALLOWED_TYPES","customFieldsRegistry","strapi","customFields","getAll","get","customField","registeredCustomField","Error","add","customFieldList","Array","isArray","cf","has","name","plugin","type","inputSize","includes","isValidObjectKey","test","isPlainObject","default","isResizable","uid"],"mappings":"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"}
@@ -1,58 +1,55 @@
1
- "use strict";
2
- const fp = require("lodash/fp");
3
- const namespace = require("./namespace.js");
4
- const hooksRegistry = () => {
5
- const hooks = {};
6
- return {
7
- /**
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
+ /**
8
10
  * Returns this list of registered hooks uids
9
- */
10
- keys() {
11
- return Object.keys(hooks);
12
- },
13
- /**
11
+ */ keys () {
12
+ return Object.keys(hooks);
13
+ },
14
+ /**
14
15
  * Returns the instance of a hook.
15
- */
16
- get(uid) {
17
- return hooks[uid];
18
- },
19
- /**
16
+ */ get (uid) {
17
+ return hooks[uid];
18
+ },
19
+ /**
20
20
  * Returns a map with all the hooks in a namespace
21
- */
22
- getAll(namespace$1) {
23
- return fp.pickBy((_, uid) => namespace.hasNamespace(uid, namespace$1))(hooks);
24
- },
25
- /**
21
+ */ getAll (namespace$1) {
22
+ return fp.pickBy((_, uid)=>namespace.hasNamespace(uid, namespace$1))(hooks);
23
+ },
24
+ /**
26
25
  * Registers a hook
27
- */
28
- set(uid, hook) {
29
- hooks[uid] = hook;
30
- return this;
31
- },
32
- /**
26
+ */ set (uid, hook) {
27
+ hooks[uid] = hook;
28
+ return this;
29
+ },
30
+ /**
33
31
  * Registers a map of hooks for a specific namespace
34
- */
35
- add(namespace$1, hooks2) {
36
- for (const hookName of Object.keys(hooks2)) {
37
- const hook = hooks2[hookName];
38
- const uid = namespace.addNamespace(hookName, namespace$1);
39
- this.set(uid, hook);
40
- }
41
- return this;
42
- },
43
- /**
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
+ /**
44
41
  * Wraps a hook to extend it
45
- */
46
- extend(uid, extendFn) {
47
- const currentHook = this.get(uid);
48
- if (!currentHook) {
49
- throw new Error(`Hook ${uid} doesn't exist`);
50
- }
51
- const newHook = extendFn(currentHook);
52
- hooks[uid] = newHook;
53
- return this;
54
- }
55
- };
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
+ };
56
52
  };
53
+
57
54
  module.exports = hooksRegistry;
58
55
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../src/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash/fp';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["namespace","pickBy","hasNamespace","hooks","addNamespace"],"mappings":";;;AAuBA,MAAM,gBAAgB,MAAM;AAC1B,QAAM,QAA8B,CAAA;AAE7B,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,KAAK;AAAA,IAC1B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa;AACf,aAAO,MAAM,GAAG;AAAA,IAClB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AACjB,aAAAC,GAAA,OAAO,CAAC,GAAG,QAAQC,UAAAA,aAAa,KAAKF,WAAS,CAAC,EAAE,KAAK;AAAA,IAC/D;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,MAAY;AAC3B,YAAM,GAAG,IAAI;AACN,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmBG,QAA6B;AAClD,iBAAW,YAAY,OAAO,KAAKA,MAAK,GAAG;AACnC,cAAA,OAAOA,OAAM,QAAQ;AACrB,cAAA,MAAMC,UAAAA,aAAa,UAAUJ,WAAS;AAEvC,aAAA,IAAI,KAAK,IAAI;AAAA,MACpB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAa,UAAwB;AACpC,YAAA,cAAc,KAAK,IAAI,GAAG;AAEhC,UAAI,CAAC,aAAa;AAChB,cAAM,IAAI,MAAM,QAAQ,GAAG,gBAAgB;AAAA,MAC7C;AAEM,YAAA,UAAU,SAAS,WAAW;AACpC,YAAM,GAAG,IAAI;AAEN,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
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;;;;"}
@@ -1,59 +1,53 @@
1
- import { pickBy } from "lodash/fp";
2
- import { hasNamespace, addNamespace } from "./namespace.mjs";
3
- const hooksRegistry = () => {
4
- const hooks = {};
5
- return {
6
- /**
1
+ import { pickBy } from 'lodash/fp';
2
+ import { hasNamespace, addNamespace } from './namespace.mjs';
3
+
4
+ const hooksRegistry = ()=>{
5
+ const hooks = {};
6
+ return {
7
+ /**
7
8
  * Returns this list of registered hooks uids
8
- */
9
- keys() {
10
- return Object.keys(hooks);
11
- },
12
- /**
9
+ */ keys () {
10
+ return Object.keys(hooks);
11
+ },
12
+ /**
13
13
  * Returns the instance of a hook.
14
- */
15
- get(uid) {
16
- return hooks[uid];
17
- },
18
- /**
14
+ */ get (uid) {
15
+ return hooks[uid];
16
+ },
17
+ /**
19
18
  * Returns a map with all the hooks in a namespace
20
- */
21
- getAll(namespace) {
22
- return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);
23
- },
24
- /**
19
+ */ getAll (namespace) {
20
+ return pickBy((_, uid)=>hasNamespace(uid, namespace))(hooks);
21
+ },
22
+ /**
25
23
  * Registers a hook
26
- */
27
- set(uid, hook) {
28
- hooks[uid] = hook;
29
- return this;
30
- },
31
- /**
24
+ */ set (uid, hook) {
25
+ hooks[uid] = hook;
26
+ return this;
27
+ },
28
+ /**
32
29
  * Registers a map of hooks for a specific namespace
33
- */
34
- add(namespace, hooks2) {
35
- for (const hookName of Object.keys(hooks2)) {
36
- const hook = hooks2[hookName];
37
- const uid = addNamespace(hookName, namespace);
38
- this.set(uid, hook);
39
- }
40
- return this;
41
- },
42
- /**
30
+ */ add (namespace, hooks) {
31
+ for (const hookName of Object.keys(hooks)){
32
+ const hook = hooks[hookName];
33
+ const uid = addNamespace(hookName, namespace);
34
+ this.set(uid, hook);
35
+ }
36
+ return this;
37
+ },
38
+ /**
43
39
  * Wraps a hook to extend it
44
- */
45
- extend(uid, extendFn) {
46
- const currentHook = this.get(uid);
47
- if (!currentHook) {
48
- throw new Error(`Hook ${uid} doesn't exist`);
49
- }
50
- const newHook = extendFn(currentHook);
51
- hooks[uid] = newHook;
52
- return this;
53
- }
54
- };
55
- };
56
- export {
57
- hooksRegistry as default
40
+ */ extend (uid, extendFn) {
41
+ const currentHook = this.get(uid);
42
+ if (!currentHook) {
43
+ throw new Error(`Hook ${uid} doesn't exist`);
44
+ }
45
+ const newHook = extendFn(currentHook);
46
+ hooks[uid] = newHook;
47
+ return this;
48
+ }
49
+ };
58
50
  };
51
+
52
+ export { hooksRegistry as default };
59
53
  //# sourceMappingURL=hooks.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.mjs","sources":["../../src/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash/fp';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["hooks"],"mappings":";;AAuBA,MAAM,gBAAgB,MAAM;AAC1B,QAAM,QAA8B,CAAA;AAE7B,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,KAAK;AAAA,IAC1B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa;AACf,aAAO,MAAM,GAAG;AAAA,IAClB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,WAAmB;AACjB,aAAA,OAAO,CAAC,GAAG,QAAQ,aAAa,KAAK,SAAS,CAAC,EAAE,KAAK;AAAA,IAC/D;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAAa,MAAY;AAC3B,YAAM,GAAG,IAAI;AACN,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,WAAmBA,QAA6B;AAClD,iBAAW,YAAY,OAAO,KAAKA,MAAK,GAAG;AACnC,cAAA,OAAOA,OAAM,QAAQ;AACrB,cAAA,MAAM,aAAa,UAAU,SAAS;AAEvC,aAAA,IAAI,KAAK,IAAI;AAAA,MACpB;AAEO,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,KAAa,UAAwB;AACpC,YAAA,cAAc,KAAK,IAAI,GAAG;AAEhC,UAAI,CAAC,aAAa;AAChB,cAAM,IAAI,MAAM,QAAQ,GAAG,gBAAgB;AAAA,MAC7C;AAEM,YAAA,UAAU,SAAS,WAAW;AACpC,YAAM,GAAG,IAAI;AAEN,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"hooks.mjs","sources":["../../src/registries/hooks.ts"],"sourcesContent":["import { pickBy } from 'lodash/fp';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype Handler = (context: any) => any;\n\ntype AsyncHook = {\n handlers: Handler[];\n register(handler: Handler): AsyncHook;\n delete(handler: Handler): AsyncHook;\n call(): Promise<void>;\n};\n\ntype SyncHook = {\n get handlers(): Handler[];\n register(handler: Handler): SyncHook;\n delete(handler: Handler): SyncHook;\n call(): void;\n};\n\nexport type Hook = AsyncHook | SyncHook;\n\ntype HookExtendFn = (hook: Hook) => Hook;\n\nconst hooksRegistry = () => {\n const hooks: Record<string, Hook> = {};\n\n return {\n /**\n * Returns this list of registered hooks uids\n */\n keys() {\n return Object.keys(hooks);\n },\n\n /**\n * Returns the instance of a hook.\n */\n get(uid: string) {\n return hooks[uid];\n },\n\n /**\n * Returns a map with all the hooks in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(hooks);\n },\n\n /**\n * Registers a hook\n */\n set(uid: string, hook: Hook) {\n hooks[uid] = hook;\n return this;\n },\n\n /**\n * Registers a map of hooks for a specific namespace\n */\n add(namespace: string, hooks: Record<string, Hook>) {\n for (const hookName of Object.keys(hooks)) {\n const hook = hooks[hookName];\n const uid = addNamespace(hookName, namespace);\n\n this.set(uid, hook);\n }\n\n return this;\n },\n\n /**\n * Wraps a hook to extend it\n */\n extend(uid: string, extendFn: HookExtendFn) {\n const currentHook = this.get(uid);\n\n if (!currentHook) {\n throw new Error(`Hook ${uid} doesn't exist`);\n }\n\n const newHook = extendFn(currentHook);\n hooks[uid] = newHook;\n\n return this;\n },\n };\n};\n\nexport default hooksRegistry;\n"],"names":["hooksRegistry","hooks","keys","Object","get","uid","getAll","namespace","pickBy","_","hasNamespace","set","hook","add","hookName","addNamespace","extend","extendFn","currentHook","Error","newHook"],"mappings":";;;AAuBA,MAAMA,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,SAAiB,EAAA;AACtB,YAAA,OAAOC,OAAO,CAACC,CAAAA,EAAGJ,GAAQK,GAAAA,YAAAA,CAAaL,KAAKE,SAAYN,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,SAAiB,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,aAAaD,QAAUP,EAAAA,SAAAA,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;;;;"}