@strapi/core 0.0.0-experimental.4da52d54a4257f3b2c655670b4528aec55c4b1c9 → 0.0.0-experimental.4e03c41e8e44fa7b77c41c3e0edd86c7f1fc9c52

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 (753) 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.d.ts +4 -22
  50. package/dist/core-api/routes/index.d.ts.map +1 -1
  51. package/dist/core-api/routes/index.js +187 -62
  52. package/dist/core-api/routes/index.js.map +1 -1
  53. package/dist/core-api/routes/index.mjs +185 -62
  54. package/dist/core-api/routes/index.mjs.map +1 -1
  55. package/dist/core-api/routes/validation/attributes.d.ts +91 -0
  56. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  57. package/dist/core-api/routes/validation/attributes.js +583 -0
  58. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  59. package/dist/core-api/routes/validation/attributes.mjs +580 -0
  60. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  61. package/dist/core-api/routes/validation/common.d.ts +103 -0
  62. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  63. package/dist/core-api/routes/validation/common.js +95 -0
  64. package/dist/core-api/routes/validation/common.js.map +1 -0
  65. package/dist/core-api/routes/validation/common.mjs +93 -0
  66. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  67. package/dist/core-api/routes/validation/component.d.ts +42 -0
  68. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  69. package/dist/core-api/routes/validation/component.js +59 -0
  70. package/dist/core-api/routes/validation/component.js.map +1 -0
  71. package/dist/core-api/routes/validation/component.mjs +57 -0
  72. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  73. package/dist/core-api/routes/validation/constants.d.ts +2 -0
  74. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  75. package/dist/core-api/routes/validation/constants.js +13 -0
  76. package/dist/core-api/routes/validation/constants.js.map +1 -0
  77. package/dist/core-api/routes/validation/constants.mjs +11 -0
  78. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  79. package/dist/core-api/routes/validation/content-type.d.ts +171 -0
  80. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  81. package/dist/core-api/routes/validation/content-type.js +246 -0
  82. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  83. package/dist/core-api/routes/validation/content-type.mjs +244 -0
  84. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  85. package/dist/core-api/routes/validation/index.d.ts +5 -0
  86. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  87. package/dist/core-api/service/collection-type.js +73 -60
  88. package/dist/core-api/service/collection-type.js.map +1 -1
  89. package/dist/core-api/service/collection-type.mjs +72 -62
  90. package/dist/core-api/service/collection-type.mjs.map +1 -1
  91. package/dist/core-api/service/core-service.js +9 -8
  92. package/dist/core-api/service/core-service.js.map +1 -1
  93. package/dist/core-api/service/core-service.mjs +8 -9
  94. package/dist/core-api/service/core-service.mjs.map +1 -1
  95. package/dist/core-api/service/index.js +13 -13
  96. package/dist/core-api/service/index.js.map +1 -1
  97. package/dist/core-api/service/index.mjs +12 -14
  98. package/dist/core-api/service/index.mjs.map +1 -1
  99. package/dist/core-api/service/pagination.js +69 -43
  100. package/dist/core-api/service/pagination.js.map +1 -1
  101. package/dist/core-api/service/pagination.mjs +68 -47
  102. package/dist/core-api/service/pagination.mjs.map +1 -1
  103. package/dist/core-api/service/single-type.js +43 -39
  104. package/dist/core-api/service/single-type.js.map +1 -1
  105. package/dist/core-api/service/single-type.mjs +42 -41
  106. package/dist/core-api/service/single-type.mjs.map +1 -1
  107. package/dist/domain/content-type/index.js +95 -100
  108. package/dist/domain/content-type/index.js.map +1 -1
  109. package/dist/domain/content-type/index.mjs +94 -100
  110. package/dist/domain/content-type/index.mjs.map +1 -1
  111. package/dist/domain/content-type/validator.js +84 -69
  112. package/dist/domain/content-type/validator.js.map +1 -1
  113. package/dist/domain/content-type/validator.mjs +83 -68
  114. package/dist/domain/content-type/validator.mjs.map +1 -1
  115. package/dist/domain/module/index.d.ts.map +1 -1
  116. package/dist/domain/module/index.js +112 -100
  117. package/dist/domain/module/index.js.map +1 -1
  118. package/dist/domain/module/index.mjs +111 -99
  119. package/dist/domain/module/index.mjs.map +1 -1
  120. package/dist/domain/module/validation.js +25 -20
  121. package/dist/domain/module/validation.js.map +1 -1
  122. package/dist/domain/module/validation.mjs +24 -21
  123. package/dist/domain/module/validation.mjs.map +1 -1
  124. package/dist/ee/index.d.ts +1 -0
  125. package/dist/ee/index.d.ts.map +1 -1
  126. package/dist/ee/index.js +171 -132
  127. package/dist/ee/index.js.map +1 -1
  128. package/dist/ee/index.mjs +170 -134
  129. package/dist/ee/index.mjs.map +1 -1
  130. package/dist/ee/license.d.ts.map +1 -1
  131. package/dist/ee/license.js +100 -75
  132. package/dist/ee/license.js.map +1 -1
  133. package/dist/ee/license.mjs +99 -76
  134. package/dist/ee/license.mjs.map +1 -1
  135. package/dist/factories.d.ts +3 -1
  136. package/dist/factories.d.ts.map +1 -1
  137. package/dist/factories.js +80 -67
  138. package/dist/factories.js.map +1 -1
  139. package/dist/factories.mjs +77 -70
  140. package/dist/factories.mjs.map +1 -1
  141. package/dist/index.js +29 -26
  142. package/dist/index.js.map +1 -1
  143. package/dist/index.mjs +29 -29
  144. package/dist/index.mjs.map +1 -1
  145. package/dist/loaders/admin.d.ts.map +1 -1
  146. package/dist/loaders/admin.js +21 -20
  147. package/dist/loaders/admin.js.map +1 -1
  148. package/dist/loaders/admin.mjs +20 -20
  149. package/dist/loaders/admin.mjs.map +1 -1
  150. package/dist/loaders/apis.js +143 -120
  151. package/dist/loaders/apis.js.map +1 -1
  152. package/dist/loaders/apis.mjs +142 -119
  153. package/dist/loaders/apis.mjs.map +1 -1
  154. package/dist/loaders/components.js +33 -34
  155. package/dist/loaders/components.js.map +1 -1
  156. package/dist/loaders/components.mjs +32 -34
  157. package/dist/loaders/components.mjs.map +1 -1
  158. package/dist/loaders/index.js +22 -20
  159. package/dist/loaders/index.js.map +1 -1
  160. package/dist/loaders/index.mjs +21 -21
  161. package/dist/loaders/index.mjs.map +1 -1
  162. package/dist/loaders/middlewares.js +29 -25
  163. package/dist/loaders/middlewares.js.map +1 -1
  164. package/dist/loaders/middlewares.mjs +28 -25
  165. package/dist/loaders/middlewares.mjs.map +1 -1
  166. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  167. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  168. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  169. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  170. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  171. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  172. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  173. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  174. package/dist/loaders/plugins/index.js +132 -122
  175. package/dist/loaders/plugins/index.js.map +1 -1
  176. package/dist/loaders/plugins/index.mjs +121 -112
  177. package/dist/loaders/plugins/index.mjs.map +1 -1
  178. package/dist/loaders/policies.js +24 -20
  179. package/dist/loaders/policies.js.map +1 -1
  180. package/dist/loaders/policies.mjs +23 -20
  181. package/dist/loaders/policies.mjs.map +1 -1
  182. package/dist/loaders/sanitizers.js +10 -4
  183. package/dist/loaders/sanitizers.js.map +1 -1
  184. package/dist/loaders/sanitizers.mjs +9 -6
  185. package/dist/loaders/sanitizers.mjs.map +1 -1
  186. package/dist/loaders/src-index.js +35 -27
  187. package/dist/loaders/src-index.js.map +1 -1
  188. package/dist/loaders/src-index.mjs +34 -29
  189. package/dist/loaders/src-index.mjs.map +1 -1
  190. package/dist/loaders/validators.js +9 -4
  191. package/dist/loaders/validators.js.map +1 -1
  192. package/dist/loaders/validators.mjs +8 -6
  193. package/dist/loaders/validators.mjs.map +1 -1
  194. package/dist/middlewares/body.d.ts.map +1 -1
  195. package/dist/middlewares/body.js +58 -54
  196. package/dist/middlewares/body.js.map +1 -1
  197. package/dist/middlewares/body.mjs +57 -51
  198. package/dist/middlewares/body.mjs.map +1 -1
  199. package/dist/middlewares/compression.js +6 -6
  200. package/dist/middlewares/compression.js.map +1 -1
  201. package/dist/middlewares/compression.mjs +5 -5
  202. package/dist/middlewares/compression.mjs.map +1 -1
  203. package/dist/middlewares/cors.js +59 -48
  204. package/dist/middlewares/cors.js.map +1 -1
  205. package/dist/middlewares/cors.mjs +58 -47
  206. package/dist/middlewares/cors.mjs.map +1 -1
  207. package/dist/middlewares/errors.js +32 -30
  208. package/dist/middlewares/errors.js.map +1 -1
  209. package/dist/middlewares/errors.mjs +31 -31
  210. package/dist/middlewares/errors.mjs.map +1 -1
  211. package/dist/middlewares/favicon.js +27 -17
  212. package/dist/middlewares/favicon.js.map +1 -1
  213. package/dist/middlewares/favicon.mjs +26 -16
  214. package/dist/middlewares/favicon.mjs.map +1 -1
  215. package/dist/middlewares/index.js +32 -30
  216. package/dist/middlewares/index.js.map +1 -1
  217. package/dist/middlewares/index.mjs +31 -31
  218. package/dist/middlewares/index.mjs.map +1 -1
  219. package/dist/middlewares/ip.js +6 -6
  220. package/dist/middlewares/ip.js.map +1 -1
  221. package/dist/middlewares/ip.mjs +5 -5
  222. package/dist/middlewares/ip.mjs.map +1 -1
  223. package/dist/middlewares/logger.js +10 -9
  224. package/dist/middlewares/logger.js.map +1 -1
  225. package/dist/middlewares/logger.mjs +9 -10
  226. package/dist/middlewares/logger.mjs.map +1 -1
  227. package/dist/middlewares/powered-by.js +13 -9
  228. package/dist/middlewares/powered-by.js.map +1 -1
  229. package/dist/middlewares/powered-by.mjs +12 -10
  230. package/dist/middlewares/powered-by.mjs.map +1 -1
  231. package/dist/middlewares/public.js +33 -29
  232. package/dist/middlewares/public.js.map +1 -1
  233. package/dist/middlewares/public.mjs +32 -28
  234. package/dist/middlewares/public.mjs.map +1 -1
  235. package/dist/middlewares/query.js +35 -32
  236. package/dist/middlewares/query.js.map +1 -1
  237. package/dist/middlewares/query.mjs +34 -31
  238. package/dist/middlewares/query.mjs.map +1 -1
  239. package/dist/middlewares/response-time.js +10 -9
  240. package/dist/middlewares/response-time.js.map +1 -1
  241. package/dist/middlewares/response-time.mjs +9 -10
  242. package/dist/middlewares/response-time.mjs.map +1 -1
  243. package/dist/middlewares/responses.js +14 -12
  244. package/dist/middlewares/responses.js.map +1 -1
  245. package/dist/middlewares/responses.mjs +13 -13
  246. package/dist/middlewares/responses.mjs.map +1 -1
  247. package/dist/middlewares/security.js +109 -71
  248. package/dist/middlewares/security.js.map +1 -1
  249. package/dist/middlewares/security.mjs +108 -70
  250. package/dist/middlewares/security.mjs.map +1 -1
  251. package/dist/middlewares/session.js +26 -25
  252. package/dist/middlewares/session.js.map +1 -1
  253. package/dist/middlewares/session.mjs +25 -24
  254. package/dist/middlewares/session.mjs.map +1 -1
  255. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  256. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  257. package/dist/migrations/database/5.0.0-discard-drafts.js +154 -80
  258. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  259. package/dist/migrations/database/5.0.0-discard-drafts.mjs +153 -82
  260. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  261. package/dist/migrations/draft-publish.d.ts +1 -1
  262. package/dist/migrations/draft-publish.d.ts.map +1 -1
  263. package/dist/migrations/draft-publish.js +61 -34
  264. package/dist/migrations/draft-publish.js.map +1 -1
  265. package/dist/migrations/draft-publish.mjs +60 -36
  266. package/dist/migrations/draft-publish.mjs.map +1 -1
  267. package/dist/migrations/i18n.js +62 -45
  268. package/dist/migrations/i18n.js.map +1 -1
  269. package/dist/migrations/i18n.mjs +61 -47
  270. package/dist/migrations/i18n.mjs.map +1 -1
  271. package/dist/migrations/index.js +24 -10
  272. package/dist/migrations/index.js.map +1 -1
  273. package/dist/migrations/index.mjs +23 -12
  274. package/dist/migrations/index.mjs.map +1 -1
  275. package/dist/package.json.js +183 -0
  276. package/dist/package.json.js.map +1 -0
  277. package/dist/package.json.mjs +160 -0
  278. package/dist/package.json.mjs.map +1 -0
  279. package/dist/providers/admin.js +27 -17
  280. package/dist/providers/admin.js.map +1 -1
  281. package/dist/providers/admin.mjs +26 -19
  282. package/dist/providers/admin.mjs.map +1 -1
  283. package/dist/providers/coreStore.js +13 -8
  284. package/dist/providers/coreStore.js.map +1 -1
  285. package/dist/providers/coreStore.mjs +12 -10
  286. package/dist/providers/coreStore.mjs.map +1 -1
  287. package/dist/providers/cron.js +19 -16
  288. package/dist/providers/cron.js.map +1 -1
  289. package/dist/providers/cron.mjs +18 -18
  290. package/dist/providers/cron.mjs.map +1 -1
  291. package/dist/providers/index.js +18 -9
  292. package/dist/providers/index.js.map +1 -1
  293. package/dist/providers/index.mjs +17 -10
  294. package/dist/providers/index.mjs.map +1 -1
  295. package/dist/providers/provider.js +4 -3
  296. package/dist/providers/provider.js.map +1 -1
  297. package/dist/providers/provider.mjs +3 -4
  298. package/dist/providers/provider.mjs.map +1 -1
  299. package/dist/providers/registries.js +37 -32
  300. package/dist/providers/registries.js.map +1 -1
  301. package/dist/providers/registries.mjs +36 -34
  302. package/dist/providers/registries.mjs.map +1 -1
  303. package/dist/providers/telemetry.js +19 -16
  304. package/dist/providers/telemetry.js.map +1 -1
  305. package/dist/providers/telemetry.mjs +18 -18
  306. package/dist/providers/telemetry.mjs.map +1 -1
  307. package/dist/providers/webhooks.js +28 -26
  308. package/dist/providers/webhooks.js.map +1 -1
  309. package/dist/providers/webhooks.mjs +27 -28
  310. package/dist/providers/webhooks.mjs.map +1 -1
  311. package/dist/registries/apis.js +23 -20
  312. package/dist/registries/apis.js.map +1 -1
  313. package/dist/registries/apis.mjs +22 -22
  314. package/dist/registries/apis.mjs.map +1 -1
  315. package/dist/registries/components.js +35 -37
  316. package/dist/registries/components.js.map +1 -1
  317. package/dist/registries/components.mjs +34 -39
  318. package/dist/registries/components.mjs.map +1 -1
  319. package/dist/registries/content-types.js +54 -59
  320. package/dist/registries/content-types.js.map +1 -1
  321. package/dist/registries/content-types.mjs +53 -61
  322. package/dist/registries/content-types.mjs.map +1 -1
  323. package/dist/registries/controllers.js +70 -71
  324. package/dist/registries/controllers.js.map +1 -1
  325. package/dist/registries/controllers.mjs +69 -73
  326. package/dist/registries/controllers.mjs.map +1 -1
  327. package/dist/registries/custom-fields.js +75 -65
  328. package/dist/registries/custom-fields.js.map +1 -1
  329. package/dist/registries/custom-fields.mjs +74 -67
  330. package/dist/registries/custom-fields.mjs.map +1 -1
  331. package/dist/registries/hooks.js +46 -49
  332. package/dist/registries/hooks.js.map +1 -1
  333. package/dist/registries/hooks.mjs +45 -51
  334. package/dist/registries/hooks.mjs.map +1 -1
  335. package/dist/registries/middlewares.js +49 -51
  336. package/dist/registries/middlewares.js.map +1 -1
  337. package/dist/registries/middlewares.mjs +48 -53
  338. package/dist/registries/middlewares.mjs.map +1 -1
  339. package/dist/registries/models.js +14 -13
  340. package/dist/registries/models.js.map +1 -1
  341. package/dist/registries/models.mjs +13 -14
  342. package/dist/registries/models.mjs.map +1 -1
  343. package/dist/registries/modules.js +39 -36
  344. package/dist/registries/modules.js.map +1 -1
  345. package/dist/registries/modules.mjs +38 -38
  346. package/dist/registries/modules.mjs.map +1 -1
  347. package/dist/registries/namespace.js +21 -20
  348. package/dist/registries/namespace.js.map +1 -1
  349. package/dist/registries/namespace.mjs +20 -23
  350. package/dist/registries/namespace.mjs.map +1 -1
  351. package/dist/registries/plugins.js +23 -20
  352. package/dist/registries/plugins.js.map +1 -1
  353. package/dist/registries/plugins.mjs +22 -22
  354. package/dist/registries/plugins.mjs.map +1 -1
  355. package/dist/registries/policies.js +103 -96
  356. package/dist/registries/policies.js.map +1 -1
  357. package/dist/registries/policies.mjs +102 -98
  358. package/dist/registries/policies.mjs.map +1 -1
  359. package/dist/registries/sanitizers.js +23 -22
  360. package/dist/registries/sanitizers.js.map +1 -1
  361. package/dist/registries/sanitizers.mjs +22 -22
  362. package/dist/registries/sanitizers.mjs.map +1 -1
  363. package/dist/registries/services.js +71 -71
  364. package/dist/registries/services.js.map +1 -1
  365. package/dist/registries/services.mjs +70 -73
  366. package/dist/registries/services.mjs.map +1 -1
  367. package/dist/registries/validators.js +23 -22
  368. package/dist/registries/validators.js.map +1 -1
  369. package/dist/registries/validators.mjs +22 -22
  370. package/dist/registries/validators.mjs.map +1 -1
  371. package/dist/services/auth/index.js +74 -74
  372. package/dist/services/auth/index.js.map +1 -1
  373. package/dist/services/auth/index.mjs +73 -74
  374. package/dist/services/auth/index.mjs.map +1 -1
  375. package/dist/services/config.js +47 -43
  376. package/dist/services/config.js.map +1 -1
  377. package/dist/services/config.mjs +46 -44
  378. package/dist/services/config.mjs.map +1 -1
  379. package/dist/services/content-api/index.js +80 -79
  380. package/dist/services/content-api/index.js.map +1 -1
  381. package/dist/services/content-api/index.mjs +79 -79
  382. package/dist/services/content-api/index.mjs.map +1 -1
  383. package/dist/services/content-api/permissions/engine.js +8 -5
  384. package/dist/services/content-api/permissions/engine.js.map +1 -1
  385. package/dist/services/content-api/permissions/engine.mjs +7 -5
  386. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  387. package/dist/services/content-api/permissions/index.js +101 -81
  388. package/dist/services/content-api/permissions/index.js.map +1 -1
  389. package/dist/services/content-api/permissions/index.mjs +100 -81
  390. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  391. package/dist/services/content-api/permissions/providers/action.js +17 -14
  392. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  393. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  394. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  395. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  396. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  397. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  398. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  399. package/dist/services/core-store.js +115 -95
  400. package/dist/services/core-store.js.map +1 -1
  401. package/dist/services/core-store.mjs +114 -97
  402. package/dist/services/core-store.mjs.map +1 -1
  403. package/dist/services/cron.js +74 -60
  404. package/dist/services/cron.js.map +1 -1
  405. package/dist/services/cron.mjs +73 -62
  406. package/dist/services/cron.mjs.map +1 -1
  407. package/dist/services/custom-fields.js +9 -7
  408. package/dist/services/custom-fields.js.map +1 -1
  409. package/dist/services/custom-fields.mjs +8 -9
  410. package/dist/services/custom-fields.mjs.map +1 -1
  411. package/dist/services/document-service/attributes/index.js +23 -18
  412. package/dist/services/document-service/attributes/index.js.map +1 -1
  413. package/dist/services/document-service/attributes/index.mjs +22 -19
  414. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  415. package/dist/services/document-service/attributes/transforms.js +16 -15
  416. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  417. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  418. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  419. package/dist/services/document-service/common.d.ts +1 -1
  420. package/dist/services/document-service/common.d.ts.map +1 -1
  421. package/dist/services/document-service/common.js +5 -4
  422. package/dist/services/document-service/common.js.map +1 -1
  423. package/dist/services/document-service/common.mjs +4 -5
  424. package/dist/services/document-service/common.mjs.map +1 -1
  425. package/dist/services/document-service/components.d.ts.map +1 -1
  426. package/dist/services/document-service/components.js +255 -257
  427. package/dist/services/document-service/components.js.map +1 -1
  428. package/dist/services/document-service/components.mjs +254 -262
  429. package/dist/services/document-service/components.mjs.map +1 -1
  430. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  431. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  432. package/dist/services/document-service/draft-and-publish.js +88 -48
  433. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  434. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  435. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  436. package/dist/services/document-service/entries.d.ts +2 -2
  437. package/dist/services/document-service/entries.d.ts.map +1 -1
  438. package/dist/services/document-service/entries.js +109 -92
  439. package/dist/services/document-service/entries.js.map +1 -1
  440. package/dist/services/document-service/entries.mjs +108 -93
  441. package/dist/services/document-service/entries.mjs.map +1 -1
  442. package/dist/services/document-service/events.d.ts +1 -1
  443. package/dist/services/document-service/events.d.ts.map +1 -1
  444. package/dist/services/document-service/events.js +52 -40
  445. package/dist/services/document-service/events.js.map +1 -1
  446. package/dist/services/document-service/events.mjs +51 -41
  447. package/dist/services/document-service/events.mjs.map +1 -1
  448. package/dist/services/document-service/index.d.ts +2 -1
  449. package/dist/services/document-service/index.d.ts.map +1 -1
  450. package/dist/services/document-service/index.js +53 -32
  451. package/dist/services/document-service/index.js.map +1 -1
  452. package/dist/services/document-service/index.mjs +52 -33
  453. package/dist/services/document-service/index.mjs.map +1 -1
  454. package/dist/services/document-service/internationalization.js +62 -46
  455. package/dist/services/document-service/internationalization.js.map +1 -1
  456. package/dist/services/document-service/internationalization.mjs +61 -50
  457. package/dist/services/document-service/internationalization.mjs.map +1 -1
  458. package/dist/services/document-service/middlewares/errors.js +23 -19
  459. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  460. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  461. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  462. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  463. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  464. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  465. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  466. package/dist/services/document-service/params.js +11 -5
  467. package/dist/services/document-service/params.js.map +1 -1
  468. package/dist/services/document-service/params.mjs +10 -6
  469. package/dist/services/document-service/params.mjs.map +1 -1
  470. package/dist/services/document-service/repository.d.ts.map +1 -1
  471. package/dist/services/document-service/repository.js +354 -304
  472. package/dist/services/document-service/repository.js.map +1 -1
  473. package/dist/services/document-service/repository.mjs +353 -305
  474. package/dist/services/document-service/repository.mjs.map +1 -1
  475. package/dist/services/document-service/transform/data.js +22 -12
  476. package/dist/services/document-service/transform/data.js.map +1 -1
  477. package/dist/services/document-service/transform/data.mjs +21 -13
  478. package/dist/services/document-service/transform/data.mjs.map +1 -1
  479. package/dist/services/document-service/transform/fields.js +26 -17
  480. package/dist/services/document-service/transform/fields.js.map +1 -1
  481. package/dist/services/document-service/transform/fields.mjs +25 -18
  482. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  483. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  484. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  485. package/dist/services/document-service/transform/id-map.js +116 -69
  486. package/dist/services/document-service/transform/id-map.js.map +1 -1
  487. package/dist/services/document-service/transform/id-map.mjs +115 -70
  488. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  489. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  490. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  491. package/dist/services/document-service/transform/id-transform.js +37 -29
  492. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  493. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  494. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  495. package/dist/services/document-service/transform/populate.js +23 -18
  496. package/dist/services/document-service/transform/populate.js.map +1 -1
  497. package/dist/services/document-service/transform/populate.mjs +22 -19
  498. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  499. package/dist/services/document-service/transform/query.js +11 -6
  500. package/dist/services/document-service/transform/query.js.map +1 -1
  501. package/dist/services/document-service/transform/query.mjs +10 -7
  502. package/dist/services/document-service/transform/query.mjs.map +1 -1
  503. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  504. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  505. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  506. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  507. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  508. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  509. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  510. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  511. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  512. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  513. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  514. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  515. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  516. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  517. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  518. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  519. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  520. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  521. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  522. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  523. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  524. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  525. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  526. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  527. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  528. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  529. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  530. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  531. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  532. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  533. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  534. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  535. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  536. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  537. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  538. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  539. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  540. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  541. package/dist/services/document-service/utils/populate.d.ts +1 -1
  542. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  543. package/dist/services/document-service/utils/populate.js +66 -42
  544. package/dist/services/document-service/utils/populate.js.map +1 -1
  545. package/dist/services/document-service/utils/populate.mjs +65 -43
  546. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  547. package/dist/services/document-service/utils/unidirectional-relations.d.ts +12 -9
  548. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  549. package/dist/services/document-service/utils/unidirectional-relations.js +110 -52
  550. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  551. package/dist/services/document-service/utils/unidirectional-relations.mjs +109 -54
  552. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  553. package/dist/services/entity-service/index.js +230 -161
  554. package/dist/services/entity-service/index.js.map +1 -1
  555. package/dist/services/entity-service/index.mjs +229 -160
  556. package/dist/services/entity-service/index.mjs.map +1 -1
  557. package/dist/services/entity-validator/blocks-validator.js +135 -103
  558. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  559. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  560. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  561. package/dist/services/entity-validator/index.d.ts +1 -1
  562. package/dist/services/entity-validator/index.d.ts.map +1 -1
  563. package/dist/services/entity-validator/index.js +362 -367
  564. package/dist/services/entity-validator/index.js.map +1 -1
  565. package/dist/services/entity-validator/index.mjs +358 -364
  566. package/dist/services/entity-validator/index.mjs.map +1 -1
  567. package/dist/services/entity-validator/validators.js +268 -210
  568. package/dist/services/entity-validator/validators.js.map +1 -1
  569. package/dist/services/entity-validator/validators.mjs +267 -216
  570. package/dist/services/entity-validator/validators.mjs.map +1 -1
  571. package/dist/services/errors.js +65 -65
  572. package/dist/services/errors.js.map +1 -1
  573. package/dist/services/errors.mjs +64 -66
  574. package/dist/services/errors.mjs.map +1 -1
  575. package/dist/services/event-hub.js +82 -69
  576. package/dist/services/event-hub.js.map +1 -1
  577. package/dist/services/event-hub.mjs +81 -71
  578. package/dist/services/event-hub.mjs.map +1 -1
  579. package/dist/services/features.js +19 -14
  580. package/dist/services/features.js.map +1 -1
  581. package/dist/services/features.mjs +18 -15
  582. package/dist/services/features.mjs.map +1 -1
  583. package/dist/services/fs.js +41 -40
  584. package/dist/services/fs.js.map +1 -1
  585. package/dist/services/fs.mjs +40 -39
  586. package/dist/services/fs.mjs.map +1 -1
  587. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  588. package/dist/services/metrics/admin-user-hash.js +13 -11
  589. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  590. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  591. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  592. package/dist/services/metrics/index.js +46 -40
  593. package/dist/services/metrics/index.js.map +1 -1
  594. package/dist/services/metrics/index.mjs +45 -42
  595. package/dist/services/metrics/index.mjs.map +1 -1
  596. package/dist/services/metrics/is-truthy.js +13 -6
  597. package/dist/services/metrics/is-truthy.js.map +1 -1
  598. package/dist/services/metrics/is-truthy.mjs +12 -6
  599. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  600. package/dist/services/metrics/middleware.d.ts.map +1 -1
  601. package/dist/services/metrics/middleware.js +37 -22
  602. package/dist/services/metrics/middleware.js.map +1 -1
  603. package/dist/services/metrics/middleware.mjs +36 -24
  604. package/dist/services/metrics/middleware.mjs.map +1 -1
  605. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  606. package/dist/services/metrics/rate-limiter.js +24 -19
  607. package/dist/services/metrics/rate-limiter.js.map +1 -1
  608. package/dist/services/metrics/rate-limiter.mjs +23 -21
  609. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  610. package/dist/services/metrics/sender.d.ts.map +1 -1
  611. package/dist/services/metrics/sender.js +78 -69
  612. package/dist/services/metrics/sender.js.map +1 -1
  613. package/dist/services/metrics/sender.mjs +77 -64
  614. package/dist/services/metrics/sender.mjs.map +1 -1
  615. package/dist/services/query-params.js +13 -10
  616. package/dist/services/query-params.js.map +1 -1
  617. package/dist/services/query-params.mjs +12 -12
  618. package/dist/services/query-params.mjs.map +1 -1
  619. package/dist/services/reloader.js +35 -32
  620. package/dist/services/reloader.js.map +1 -1
  621. package/dist/services/reloader.mjs +34 -33
  622. package/dist/services/reloader.mjs.map +1 -1
  623. package/dist/services/request-context.js +11 -8
  624. package/dist/services/request-context.js.map +1 -1
  625. package/dist/services/request-context.mjs +10 -10
  626. package/dist/services/request-context.mjs.map +1 -1
  627. package/dist/services/server/admin-api.js +11 -10
  628. package/dist/services/server/admin-api.js.map +1 -1
  629. package/dist/services/server/admin-api.mjs +10 -11
  630. package/dist/services/server/admin-api.mjs.map +1 -1
  631. package/dist/services/server/api.js +33 -27
  632. package/dist/services/server/api.js.map +1 -1
  633. package/dist/services/server/api.mjs +32 -26
  634. package/dist/services/server/api.mjs.map +1 -1
  635. package/dist/services/server/compose-endpoint.js +116 -105
  636. package/dist/services/server/compose-endpoint.js.map +1 -1
  637. package/dist/services/server/compose-endpoint.mjs +115 -105
  638. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  639. package/dist/services/server/content-api.js +11 -9
  640. package/dist/services/server/content-api.js.map +1 -1
  641. package/dist/services/server/content-api.mjs +10 -10
  642. package/dist/services/server/content-api.mjs.map +1 -1
  643. package/dist/services/server/http-server.js +48 -44
  644. package/dist/services/server/http-server.js.map +1 -1
  645. package/dist/services/server/http-server.mjs +47 -43
  646. package/dist/services/server/http-server.mjs.map +1 -1
  647. package/dist/services/server/index.js +85 -82
  648. package/dist/services/server/index.js.map +1 -1
  649. package/dist/services/server/index.mjs +84 -81
  650. package/dist/services/server/index.mjs.map +1 -1
  651. package/dist/services/server/koa.js +49 -47
  652. package/dist/services/server/koa.js.map +1 -1
  653. package/dist/services/server/koa.mjs +48 -44
  654. package/dist/services/server/koa.mjs.map +1 -1
  655. package/dist/services/server/middleware.js +86 -82
  656. package/dist/services/server/middleware.js.map +1 -1
  657. package/dist/services/server/middleware.mjs +85 -82
  658. package/dist/services/server/middleware.mjs.map +1 -1
  659. package/dist/services/server/policy.js +24 -17
  660. package/dist/services/server/policy.js.map +1 -1
  661. package/dist/services/server/policy.mjs +23 -18
  662. package/dist/services/server/policy.mjs.map +1 -1
  663. package/dist/services/server/register-middlewares.js +68 -61
  664. package/dist/services/server/register-middlewares.js.map +1 -1
  665. package/dist/services/server/register-middlewares.mjs +67 -63
  666. package/dist/services/server/register-middlewares.mjs.map +1 -1
  667. package/dist/services/server/register-routes.js +109 -66
  668. package/dist/services/server/register-routes.js.map +1 -1
  669. package/dist/services/server/register-routes.mjs +108 -66
  670. package/dist/services/server/register-routes.mjs.map +1 -1
  671. package/dist/services/server/routing.d.ts +10 -0
  672. package/dist/services/server/routing.d.ts.map +1 -1
  673. package/dist/services/server/routing.js +100 -81
  674. package/dist/services/server/routing.js.map +1 -1
  675. package/dist/services/server/routing.mjs +99 -81
  676. package/dist/services/server/routing.mjs.map +1 -1
  677. package/dist/services/utils/dynamic-zones.js +13 -14
  678. package/dist/services/utils/dynamic-zones.js.map +1 -1
  679. package/dist/services/utils/dynamic-zones.mjs +12 -16
  680. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  681. package/dist/services/webhook-runner.js +124 -122
  682. package/dist/services/webhook-runner.js.map +1 -1
  683. package/dist/services/webhook-runner.mjs +123 -121
  684. package/dist/services/webhook-runner.mjs.map +1 -1
  685. package/dist/services/webhook-store.js +132 -99
  686. package/dist/services/webhook-store.js.map +1 -1
  687. package/dist/services/webhook-store.mjs +131 -101
  688. package/dist/services/webhook-store.mjs.map +1 -1
  689. package/dist/services/worker-queue.js +44 -49
  690. package/dist/services/worker-queue.js.map +1 -1
  691. package/dist/services/worker-queue.mjs +43 -49
  692. package/dist/services/worker-queue.mjs.map +1 -1
  693. package/dist/utils/convert-custom-field-type.js +17 -20
  694. package/dist/utils/convert-custom-field-type.js.map +1 -1
  695. package/dist/utils/convert-custom-field-type.mjs +16 -21
  696. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  697. package/dist/utils/cron.js +64 -30
  698. package/dist/utils/cron.js.map +1 -1
  699. package/dist/utils/cron.mjs +63 -31
  700. package/dist/utils/cron.mjs.map +1 -1
  701. package/dist/utils/fetch.js +24 -18
  702. package/dist/utils/fetch.js.map +1 -1
  703. package/dist/utils/fetch.mjs +23 -19
  704. package/dist/utils/fetch.mjs.map +1 -1
  705. package/dist/utils/filepath-to-prop-path.js +20 -28
  706. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  707. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  708. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  709. package/dist/utils/is-initialized.js +21 -12
  710. package/dist/utils/is-initialized.js.map +1 -1
  711. package/dist/utils/is-initialized.mjs +20 -13
  712. package/dist/utils/is-initialized.mjs.map +1 -1
  713. package/dist/utils/lifecycles.js +6 -5
  714. package/dist/utils/lifecycles.js.map +1 -1
  715. package/dist/utils/lifecycles.mjs +5 -6
  716. package/dist/utils/lifecycles.mjs.map +1 -1
  717. package/dist/utils/load-config-file.js +40 -38
  718. package/dist/utils/load-config-file.js.map +1 -1
  719. package/dist/utils/load-config-file.mjs +39 -36
  720. package/dist/utils/load-config-file.mjs.map +1 -1
  721. package/dist/utils/load-files.js +40 -35
  722. package/dist/utils/load-files.js.map +1 -1
  723. package/dist/utils/load-files.mjs +39 -32
  724. package/dist/utils/load-files.mjs.map +1 -1
  725. package/dist/utils/open-browser.js +8 -8
  726. package/dist/utils/open-browser.js.map +1 -1
  727. package/dist/utils/open-browser.mjs +7 -7
  728. package/dist/utils/open-browser.mjs.map +1 -1
  729. package/dist/utils/resolve-working-dirs.js +23 -10
  730. package/dist/utils/resolve-working-dirs.js.map +1 -1
  731. package/dist/utils/resolve-working-dirs.mjs +22 -9
  732. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  733. package/dist/utils/signals.js +20 -14
  734. package/dist/utils/signals.js.map +1 -1
  735. package/dist/utils/signals.mjs +19 -15
  736. package/dist/utils/signals.mjs.map +1 -1
  737. package/dist/utils/startup-logger.d.ts.map +1 -1
  738. package/dist/utils/startup-logger.js +107 -78
  739. package/dist/utils/startup-logger.js.map +1 -1
  740. package/dist/utils/startup-logger.mjs +106 -75
  741. package/dist/utils/startup-logger.mjs.map +1 -1
  742. package/dist/utils/transform-content-types-to-models.d.ts +353 -21
  743. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  744. package/dist/utils/transform-content-types-to-models.js +350 -261
  745. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  746. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  747. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  748. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  749. package/dist/utils/update-notifier/index.js +68 -73
  750. package/dist/utils/update-notifier/index.js.map +1 -1
  751. package/dist/utils/update-notifier/index.mjs +67 -67
  752. package/dist/utils/update-notifier/index.mjs.map +1 -1
  753. package/package.json +29 -29
@@ -1,128 +1,160 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const strapiUtils = require("@strapi/utils");
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+
4
5
  const textNodeValidator = strapiUtils.yup.object().shape({
5
- type: strapiUtils.yup.string().equals(["text"]).required(),
6
- text: strapiUtils.yup.string().test(
7
- "is-valid-text",
8
- "Text must be defined with at least an empty string",
9
- (text) => {
10
- return typeof text === "string" || text === "";
11
- }
12
- ),
13
- bold: strapiUtils.yup.boolean(),
14
- italic: strapiUtils.yup.boolean(),
15
- underline: strapiUtils.yup.boolean(),
16
- strikethrough: strapiUtils.yup.boolean(),
17
- code: strapiUtils.yup.boolean()
6
+ type: strapiUtils.yup.string().equals([
7
+ 'text'
8
+ ]).required(),
9
+ text: strapiUtils.yup.string().test('is-valid-text', 'Text must be defined with at least an empty string', (text)=>{
10
+ return typeof text === 'string' || text === '';
11
+ }),
12
+ bold: strapiUtils.yup.boolean(),
13
+ italic: strapiUtils.yup.boolean(),
14
+ underline: strapiUtils.yup.boolean(),
15
+ strikethrough: strapiUtils.yup.boolean(),
16
+ code: strapiUtils.yup.boolean()
18
17
  });
19
- const checkValidLink = (link) => {
20
- try {
21
- new URL(link.startsWith("/") ? `https://strapi.io${link}` : link);
22
- } catch (error) {
23
- return false;
24
- }
25
- return true;
18
+ const checkValidLink = (link)=>{
19
+ try {
20
+ // eslint-disable-next-line no-new
21
+ new URL(link.startsWith('/') ? `https://strapi.io${link}` : link);
22
+ } catch (error) {
23
+ return false;
24
+ }
25
+ return true;
26
26
  };
27
27
  const linkNodeValidator = strapiUtils.yup.object().shape({
28
- type: strapiUtils.yup.string().equals(["link"]).required(),
29
- url: strapiUtils.yup.string().test("invalid-url", "Please specify a valid link.", (value) => checkValidLink(value ?? "")),
30
- children: strapiUtils.yup.array().of(textNodeValidator).required()
28
+ type: strapiUtils.yup.string().equals([
29
+ 'link'
30
+ ]).required(),
31
+ url: strapiUtils.yup.string().test('invalid-url', 'Please specify a valid link.', (value)=>checkValidLink(value ?? '')),
32
+ children: strapiUtils.yup.array().of(textNodeValidator).required()
31
33
  });
32
- const inlineNodeValidator = strapiUtils.yup.lazy((value) => {
33
- switch (value.type) {
34
- case "text":
35
- return textNodeValidator;
36
- case "link":
37
- return linkNodeValidator;
38
- default:
39
- return strapiUtils.yup.mixed().test("invalid-type", "Inline node must be Text or Link", () => {
40
- return false;
41
- });
42
- }
34
+ // TODO: remove any with a correct Type
35
+ const inlineNodeValidator = strapiUtils.yup.lazy((value)=>{
36
+ switch(value.type){
37
+ case 'text':
38
+ return textNodeValidator;
39
+ case 'link':
40
+ return linkNodeValidator;
41
+ default:
42
+ return strapiUtils.yup.mixed().test('invalid-type', 'Inline node must be Text or Link', ()=>{
43
+ return false;
44
+ });
45
+ }
43
46
  });
44
47
  const paragraphNodeValidator = strapiUtils.yup.object().shape({
45
- type: strapiUtils.yup.string().equals(["paragraph"]).required(),
46
- children: strapiUtils.yup.array().of(inlineNodeValidator).min(1, "Paragraph node children must have at least one Text or Link node").required()
48
+ type: strapiUtils.yup.string().equals([
49
+ 'paragraph'
50
+ ]).required(),
51
+ children: strapiUtils.yup.array().of(inlineNodeValidator).min(1, 'Paragraph node children must have at least one Text or Link node').required()
47
52
  });
48
53
  const headingNodeValidator = strapiUtils.yup.object().shape({
49
- type: strapiUtils.yup.string().equals(["heading"]).required(),
50
- level: strapiUtils.yup.number().oneOf([1, 2, 3, 4, 5, 6]).required(),
51
- children: strapiUtils.yup.array().of(inlineNodeValidator).min(1, "Heading node children must have at least one Text or Link node").required()
54
+ type: strapiUtils.yup.string().equals([
55
+ 'heading'
56
+ ]).required(),
57
+ level: strapiUtils.yup.number().oneOf([
58
+ 1,
59
+ 2,
60
+ 3,
61
+ 4,
62
+ 5,
63
+ 6
64
+ ]).required(),
65
+ children: strapiUtils.yup.array().of(inlineNodeValidator).min(1, 'Heading node children must have at least one Text or Link node').required()
52
66
  });
53
67
  const quoteNodeValidator = strapiUtils.yup.object().shape({
54
- type: strapiUtils.yup.string().equals(["quote"]).required(),
55
- children: strapiUtils.yup.array().of(inlineNodeValidator).min(1, "Quote node children must have at least one Text or Link node").required()
68
+ type: strapiUtils.yup.string().equals([
69
+ 'quote'
70
+ ]).required(),
71
+ children: strapiUtils.yup.array().of(inlineNodeValidator).min(1, 'Quote node children must have at least one Text or Link node').required()
56
72
  });
57
73
  const codeBlockValidator = strapiUtils.yup.object().shape({
58
- type: strapiUtils.yup.string().equals(["code"]).required(),
59
- syntax: strapiUtils.yup.string().nullable(),
60
- children: strapiUtils.yup.array().of(textNodeValidator).min(1, "Quote node children must have at least one Text or Link node").required()
74
+ type: strapiUtils.yup.string().equals([
75
+ 'code'
76
+ ]).required(),
77
+ syntax: strapiUtils.yup.string().nullable(),
78
+ children: strapiUtils.yup.array().of(textNodeValidator).min(1, 'Quote node children must have at least one Text or Link node').required()
61
79
  });
62
80
  const listItemNode = strapiUtils.yup.object().shape({
63
- type: strapiUtils.yup.string().equals(["list-item"]).required(),
64
- children: strapiUtils.yup.array().of(inlineNodeValidator).required()
81
+ type: strapiUtils.yup.string().equals([
82
+ 'list-item'
83
+ ]).required(),
84
+ children: strapiUtils.yup.array().of(inlineNodeValidator).required()
65
85
  });
66
- const listChildrenValidator = strapiUtils.yup.lazy((value) => {
67
- switch (value.type) {
68
- case "list":
69
- return listNodeValidator;
70
- case "list-item":
71
- return listItemNode;
72
- default:
73
- return strapiUtils.yup.mixed().test("invalid-type", "Inline node must be list-item or list", () => {
74
- return false;
75
- });
76
- }
86
+ // Allow children to be either a listItemNode or a listNode itself
87
+ // @ts-expect-error - listChildrenValidator needs a type
88
+ const listChildrenValidator = strapiUtils.yup.lazy((value)=>{
89
+ switch(value.type){
90
+ case 'list':
91
+ return listNodeValidator;
92
+ case 'list-item':
93
+ return listItemNode;
94
+ default:
95
+ return strapiUtils.yup.mixed().test('invalid-type', 'Inline node must be list-item or list', ()=>{
96
+ return false;
97
+ });
98
+ }
77
99
  });
100
+ // @ts-expect-error - listNodeValidator needs a type
78
101
  const listNodeValidator = strapiUtils.yup.object().shape({
79
- type: strapiUtils.yup.string().equals(["list"]).required(),
80
- format: strapiUtils.yup.string().equals(["ordered", "unordered"]).required(),
81
- children: strapiUtils.yup.array().of(listChildrenValidator).min(1, "List node children must have at least one ListItem or ListNode").required()
102
+ type: strapiUtils.yup.string().equals([
103
+ 'list'
104
+ ]).required(),
105
+ format: strapiUtils.yup.string().equals([
106
+ 'ordered',
107
+ 'unordered'
108
+ ]).required(),
109
+ children: strapiUtils.yup.array().of(listChildrenValidator).min(1, 'List node children must have at least one ListItem or ListNode').required()
82
110
  });
83
111
  const imageNodeValidator = strapiUtils.yup.object().shape({
84
- type: strapiUtils.yup.string().equals(["image"]).required(),
85
- image: strapiUtils.yup.object().shape({
86
- name: strapiUtils.yup.string().required(),
87
- alternativeText: strapiUtils.yup.string().nullable(),
88
- url: strapiUtils.yup.string().required(),
89
- caption: strapiUtils.yup.string().nullable(),
90
- width: strapiUtils.yup.number().required(),
91
- height: strapiUtils.yup.number().required(),
92
- formats: strapiUtils.yup.object().required(),
93
- hash: strapiUtils.yup.string().required(),
94
- ext: strapiUtils.yup.string().required(),
95
- mime: strapiUtils.yup.string().required(),
96
- size: strapiUtils.yup.number().required(),
97
- previewUrl: strapiUtils.yup.string().nullable(),
98
- provider: strapiUtils.yup.string().required(),
99
- provider_metadata: strapiUtils.yup.mixed().nullable(),
100
- createdAt: strapiUtils.yup.string().required(),
101
- updatedAt: strapiUtils.yup.string().required()
102
- }),
103
- children: strapiUtils.yup.array().of(inlineNodeValidator).required()
112
+ type: strapiUtils.yup.string().equals([
113
+ 'image'
114
+ ]).required(),
115
+ image: strapiUtils.yup.object().shape({
116
+ name: strapiUtils.yup.string().required(),
117
+ alternativeText: strapiUtils.yup.string().nullable(),
118
+ url: strapiUtils.yup.string().required(),
119
+ caption: strapiUtils.yup.string().nullable(),
120
+ width: strapiUtils.yup.number().required(),
121
+ height: strapiUtils.yup.number().required(),
122
+ formats: strapiUtils.yup.object().required(),
123
+ hash: strapiUtils.yup.string().required(),
124
+ ext: strapiUtils.yup.string().required(),
125
+ mime: strapiUtils.yup.string().required(),
126
+ size: strapiUtils.yup.number().required(),
127
+ previewUrl: strapiUtils.yup.string().nullable(),
128
+ provider: strapiUtils.yup.string().required(),
129
+ provider_metadata: strapiUtils.yup.mixed().nullable(),
130
+ createdAt: strapiUtils.yup.string().required(),
131
+ updatedAt: strapiUtils.yup.string().required()
132
+ }),
133
+ children: strapiUtils.yup.array().of(inlineNodeValidator).required()
104
134
  });
105
- const blockNodeValidator = strapiUtils.yup.lazy((value) => {
106
- switch (value.type) {
107
- case "paragraph":
108
- return paragraphNodeValidator;
109
- case "heading":
110
- return headingNodeValidator;
111
- case "quote":
112
- return quoteNodeValidator;
113
- case "list":
114
- return listNodeValidator;
115
- case "image":
116
- return imageNodeValidator;
117
- case "code":
118
- return codeBlockValidator;
119
- default:
120
- return strapiUtils.yup.mixed().test("invalid-type", "Block node is of invalid type", () => {
121
- return false;
122
- });
123
- }
135
+ // TODO: remove the any and replace with a correct Type
136
+ const blockNodeValidator = strapiUtils.yup.lazy((value)=>{
137
+ switch(value.type){
138
+ case 'paragraph':
139
+ return paragraphNodeValidator;
140
+ case 'heading':
141
+ return headingNodeValidator;
142
+ case 'quote':
143
+ return quoteNodeValidator;
144
+ case 'list':
145
+ return listNodeValidator;
146
+ case 'image':
147
+ return imageNodeValidator;
148
+ case 'code':
149
+ return codeBlockValidator;
150
+ default:
151
+ return strapiUtils.yup.mixed().test('invalid-type', 'Block node is of invalid type', ()=>{
152
+ return false;
153
+ });
154
+ }
124
155
  });
125
156
  const blocksValidatorSchema = strapiUtils.yup.array().of(blockNodeValidator);
126
- const blocksValidator = () => blocksValidatorSchema;
157
+ const blocksValidator = ()=>blocksValidatorSchema;
158
+
127
159
  exports.blocksValidator = blocksValidator;
128
160
  //# sourceMappingURL=blocks-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blocks-validator.js","sources":["../../../src/services/entity-validator/blocks-validator.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\n\nconst textNodeValidator = yup.object().shape({\n type: yup.string().equals(['text']).required(),\n text: yup\n .string()\n .test(\n 'is-valid-text',\n 'Text must be defined with at least an empty string',\n (text: unknown) => {\n return typeof text === 'string' || text === '';\n }\n ),\n bold: yup.boolean(),\n italic: yup.boolean(),\n underline: yup.boolean(),\n strikethrough: yup.boolean(),\n code: yup.boolean(),\n});\n\nconst checkValidLink = (link: string) => {\n try {\n // eslint-disable-next-line no-new\n new URL(link.startsWith('/') ? `https://strapi.io${link}` : link);\n } catch (error) {\n return false;\n }\n return true;\n};\n\nconst linkNodeValidator = yup.object().shape({\n type: yup.string().equals(['link']).required(),\n url: yup\n .string()\n .test('invalid-url', 'Please specify a valid link.', (value) => checkValidLink(value ?? '')),\n children: yup.array().of(textNodeValidator).required(),\n});\n\n// TODO: remove any with a correct Type\nconst inlineNodeValidator: any = yup.lazy((value: { type: string }) => {\n switch (value.type) {\n case 'text':\n return textNodeValidator;\n case 'link':\n return linkNodeValidator;\n default:\n return yup.mixed().test('invalid-type', 'Inline node must be Text or Link', () => {\n return false;\n });\n }\n});\n\nconst paragraphNodeValidator = yup.object().shape({\n type: yup.string().equals(['paragraph']).required(),\n children: yup\n .array()\n .of(inlineNodeValidator)\n .min(1, 'Paragraph node children must have at least one Text or Link node')\n .required(),\n});\n\nconst headingNodeValidator = yup.object().shape({\n type: yup.string().equals(['heading']).required(),\n level: yup.number().oneOf([1, 2, 3, 4, 5, 6]).required(),\n children: yup\n .array()\n .of(inlineNodeValidator)\n .min(1, 'Heading node children must have at least one Text or Link node')\n .required(),\n});\n\nconst quoteNodeValidator = yup.object().shape({\n type: yup.string().equals(['quote']).required(),\n children: yup\n .array()\n .of(inlineNodeValidator)\n .min(1, 'Quote node children must have at least one Text or Link node')\n .required(),\n});\n\nconst codeBlockValidator = yup.object().shape({\n type: yup.string().equals(['code']).required(),\n syntax: yup.string().nullable(),\n children: yup\n .array()\n .of(textNodeValidator)\n .min(1, 'Quote node children must have at least one Text or Link node')\n .required(),\n});\n\nconst listItemNode = yup.object().shape({\n type: yup.string().equals(['list-item']).required(),\n children: yup.array().of(inlineNodeValidator).required(),\n});\n\n// Allow children to be either a listItemNode or a listNode itself\n// @ts-expect-error - listChildrenValidator needs a type\nconst listChildrenValidator = yup.lazy((value: { type: string }) => {\n switch (value.type) {\n case 'list':\n return listNodeValidator;\n case 'list-item':\n return listItemNode;\n default:\n return yup.mixed().test('invalid-type', 'Inline node must be list-item or list', () => {\n return false;\n });\n }\n});\n\n// @ts-expect-error - listNodeValidator needs a type\nconst listNodeValidator = yup.object().shape({\n type: yup.string().equals(['list']).required(),\n format: yup.string().equals(['ordered', 'unordered']).required(),\n children: yup\n .array()\n .of(listChildrenValidator)\n .min(1, 'List node children must have at least one ListItem or ListNode')\n .required(),\n});\n\nconst imageNodeValidator = yup.object().shape({\n type: yup.string().equals(['image']).required(),\n image: yup.object().shape({\n name: yup.string().required(),\n alternativeText: yup.string().nullable(),\n url: yup.string().required(),\n caption: yup.string().nullable(),\n width: yup.number().required(),\n height: yup.number().required(),\n formats: yup.object().required(),\n hash: yup.string().required(),\n ext: yup.string().required(),\n mime: yup.string().required(),\n size: yup.number().required(),\n previewUrl: yup.string().nullable(),\n provider: yup.string().required(),\n provider_metadata: yup.mixed().nullable(),\n createdAt: yup.string().required(),\n updatedAt: yup.string().required(),\n }),\n children: yup.array().of(inlineNodeValidator).required(),\n});\n\n// TODO: remove the any and replace with a correct Type\nconst blockNodeValidator: any = yup.lazy((value: { type: string }) => {\n switch (value.type) {\n case 'paragraph':\n return paragraphNodeValidator;\n case 'heading':\n return headingNodeValidator;\n case 'quote':\n return quoteNodeValidator;\n case 'list':\n return listNodeValidator;\n case 'image':\n return imageNodeValidator;\n case 'code':\n return codeBlockValidator;\n default:\n return yup.mixed().test('invalid-type', 'Block node is of invalid type', () => {\n return false;\n });\n }\n});\n\nconst blocksValidatorSchema = yup.array().of(blockNodeValidator);\n\nexport const blocksValidator = () => blocksValidatorSchema;\n"],"names":["yup"],"mappings":"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"}
1
+ {"version":3,"file":"blocks-validator.js","sources":["../../../src/services/entity-validator/blocks-validator.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\n\nconst textNodeValidator = yup.object().shape({\n type: yup.string().equals(['text']).required(),\n text: yup\n .string()\n .test(\n 'is-valid-text',\n 'Text must be defined with at least an empty string',\n (text: unknown) => {\n return typeof text === 'string' || text === '';\n }\n ),\n bold: yup.boolean(),\n italic: yup.boolean(),\n underline: yup.boolean(),\n strikethrough: yup.boolean(),\n code: yup.boolean(),\n});\n\nconst checkValidLink = (link: string) => {\n try {\n // eslint-disable-next-line no-new\n new URL(link.startsWith('/') ? `https://strapi.io${link}` : link);\n } catch (error) {\n return false;\n }\n return true;\n};\n\nconst linkNodeValidator = yup.object().shape({\n type: yup.string().equals(['link']).required(),\n url: yup\n .string()\n .test('invalid-url', 'Please specify a valid link.', (value) => checkValidLink(value ?? '')),\n children: yup.array().of(textNodeValidator).required(),\n});\n\n// TODO: remove any with a correct Type\nconst inlineNodeValidator: any = yup.lazy((value: { type: string }) => {\n switch (value.type) {\n case 'text':\n return textNodeValidator;\n case 'link':\n return linkNodeValidator;\n default:\n return yup.mixed().test('invalid-type', 'Inline node must be Text or Link', () => {\n return false;\n });\n }\n});\n\nconst paragraphNodeValidator = yup.object().shape({\n type: yup.string().equals(['paragraph']).required(),\n children: yup\n .array()\n .of(inlineNodeValidator)\n .min(1, 'Paragraph node children must have at least one Text or Link node')\n .required(),\n});\n\nconst headingNodeValidator = yup.object().shape({\n type: yup.string().equals(['heading']).required(),\n level: yup.number().oneOf([1, 2, 3, 4, 5, 6]).required(),\n children: yup\n .array()\n .of(inlineNodeValidator)\n .min(1, 'Heading node children must have at least one Text or Link node')\n .required(),\n});\n\nconst quoteNodeValidator = yup.object().shape({\n type: yup.string().equals(['quote']).required(),\n children: yup\n .array()\n .of(inlineNodeValidator)\n .min(1, 'Quote node children must have at least one Text or Link node')\n .required(),\n});\n\nconst codeBlockValidator = yup.object().shape({\n type: yup.string().equals(['code']).required(),\n syntax: yup.string().nullable(),\n children: yup\n .array()\n .of(textNodeValidator)\n .min(1, 'Quote node children must have at least one Text or Link node')\n .required(),\n});\n\nconst listItemNode = yup.object().shape({\n type: yup.string().equals(['list-item']).required(),\n children: yup.array().of(inlineNodeValidator).required(),\n});\n\n// Allow children to be either a listItemNode or a listNode itself\n// @ts-expect-error - listChildrenValidator needs a type\nconst listChildrenValidator = yup.lazy((value: { type: string }) => {\n switch (value.type) {\n case 'list':\n return listNodeValidator;\n case 'list-item':\n return listItemNode;\n default:\n return yup.mixed().test('invalid-type', 'Inline node must be list-item or list', () => {\n return false;\n });\n }\n});\n\n// @ts-expect-error - listNodeValidator needs a type\nconst listNodeValidator = yup.object().shape({\n type: yup.string().equals(['list']).required(),\n format: yup.string().equals(['ordered', 'unordered']).required(),\n children: yup\n .array()\n .of(listChildrenValidator)\n .min(1, 'List node children must have at least one ListItem or ListNode')\n .required(),\n});\n\nconst imageNodeValidator = yup.object().shape({\n type: yup.string().equals(['image']).required(),\n image: yup.object().shape({\n name: yup.string().required(),\n alternativeText: yup.string().nullable(),\n url: yup.string().required(),\n caption: yup.string().nullable(),\n width: yup.number().required(),\n height: yup.number().required(),\n formats: yup.object().required(),\n hash: yup.string().required(),\n ext: yup.string().required(),\n mime: yup.string().required(),\n size: yup.number().required(),\n previewUrl: yup.string().nullable(),\n provider: yup.string().required(),\n provider_metadata: yup.mixed().nullable(),\n createdAt: yup.string().required(),\n updatedAt: yup.string().required(),\n }),\n children: yup.array().of(inlineNodeValidator).required(),\n});\n\n// TODO: remove the any and replace with a correct Type\nconst blockNodeValidator: any = yup.lazy((value: { type: string }) => {\n switch (value.type) {\n case 'paragraph':\n return paragraphNodeValidator;\n case 'heading':\n return headingNodeValidator;\n case 'quote':\n return quoteNodeValidator;\n case 'list':\n return listNodeValidator;\n case 'image':\n return imageNodeValidator;\n case 'code':\n return codeBlockValidator;\n default:\n return yup.mixed().test('invalid-type', 'Block node is of invalid type', () => {\n return false;\n });\n }\n});\n\nconst blocksValidatorSchema = yup.array().of(blockNodeValidator);\n\nexport const blocksValidator = () => blocksValidatorSchema;\n"],"names":["textNodeValidator","yup","object","shape","type","string","equals","required","text","test","bold","boolean","italic","underline","strikethrough","code","checkValidLink","link","URL","startsWith","error","linkNodeValidator","url","value","children","array","of","inlineNodeValidator","lazy","mixed","paragraphNodeValidator","min","headingNodeValidator","level","number","oneOf","quoteNodeValidator","codeBlockValidator","syntax","nullable","listItemNode","listChildrenValidator","listNodeValidator","format","imageNodeValidator","image","name","alternativeText","caption","width","height","formats","hash","ext","mime","size","previewUrl","provider","provider_metadata","createdAt","updatedAt","blockNodeValidator","blocksValidatorSchema","blocksValidator"],"mappings":"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"}
@@ -1,128 +1,158 @@
1
- import { yup } from "@strapi/utils";
1
+ import { yup } from '@strapi/utils';
2
+
2
3
  const textNodeValidator = yup.object().shape({
3
- type: yup.string().equals(["text"]).required(),
4
- text: yup.string().test(
5
- "is-valid-text",
6
- "Text must be defined with at least an empty string",
7
- (text) => {
8
- return typeof text === "string" || text === "";
9
- }
10
- ),
11
- bold: yup.boolean(),
12
- italic: yup.boolean(),
13
- underline: yup.boolean(),
14
- strikethrough: yup.boolean(),
15
- code: yup.boolean()
4
+ type: yup.string().equals([
5
+ 'text'
6
+ ]).required(),
7
+ text: yup.string().test('is-valid-text', 'Text must be defined with at least an empty string', (text)=>{
8
+ return typeof text === 'string' || text === '';
9
+ }),
10
+ bold: yup.boolean(),
11
+ italic: yup.boolean(),
12
+ underline: yup.boolean(),
13
+ strikethrough: yup.boolean(),
14
+ code: yup.boolean()
16
15
  });
17
- const checkValidLink = (link) => {
18
- try {
19
- new URL(link.startsWith("/") ? `https://strapi.io${link}` : link);
20
- } catch (error) {
21
- return false;
22
- }
23
- return true;
16
+ const checkValidLink = (link)=>{
17
+ try {
18
+ // eslint-disable-next-line no-new
19
+ new URL(link.startsWith('/') ? `https://strapi.io${link}` : link);
20
+ } catch (error) {
21
+ return false;
22
+ }
23
+ return true;
24
24
  };
25
25
  const linkNodeValidator = yup.object().shape({
26
- type: yup.string().equals(["link"]).required(),
27
- url: yup.string().test("invalid-url", "Please specify a valid link.", (value) => checkValidLink(value ?? "")),
28
- children: yup.array().of(textNodeValidator).required()
26
+ type: yup.string().equals([
27
+ 'link'
28
+ ]).required(),
29
+ url: yup.string().test('invalid-url', 'Please specify a valid link.', (value)=>checkValidLink(value ?? '')),
30
+ children: yup.array().of(textNodeValidator).required()
29
31
  });
30
- const inlineNodeValidator = yup.lazy((value) => {
31
- switch (value.type) {
32
- case "text":
33
- return textNodeValidator;
34
- case "link":
35
- return linkNodeValidator;
36
- default:
37
- return yup.mixed().test("invalid-type", "Inline node must be Text or Link", () => {
38
- return false;
39
- });
40
- }
32
+ // TODO: remove any with a correct Type
33
+ const inlineNodeValidator = yup.lazy((value)=>{
34
+ switch(value.type){
35
+ case 'text':
36
+ return textNodeValidator;
37
+ case 'link':
38
+ return linkNodeValidator;
39
+ default:
40
+ return yup.mixed().test('invalid-type', 'Inline node must be Text or Link', ()=>{
41
+ return false;
42
+ });
43
+ }
41
44
  });
42
45
  const paragraphNodeValidator = yup.object().shape({
43
- type: yup.string().equals(["paragraph"]).required(),
44
- children: yup.array().of(inlineNodeValidator).min(1, "Paragraph node children must have at least one Text or Link node").required()
46
+ type: yup.string().equals([
47
+ 'paragraph'
48
+ ]).required(),
49
+ children: yup.array().of(inlineNodeValidator).min(1, 'Paragraph node children must have at least one Text or Link node').required()
45
50
  });
46
51
  const headingNodeValidator = yup.object().shape({
47
- type: yup.string().equals(["heading"]).required(),
48
- level: yup.number().oneOf([1, 2, 3, 4, 5, 6]).required(),
49
- children: yup.array().of(inlineNodeValidator).min(1, "Heading node children must have at least one Text or Link node").required()
52
+ type: yup.string().equals([
53
+ 'heading'
54
+ ]).required(),
55
+ level: yup.number().oneOf([
56
+ 1,
57
+ 2,
58
+ 3,
59
+ 4,
60
+ 5,
61
+ 6
62
+ ]).required(),
63
+ children: yup.array().of(inlineNodeValidator).min(1, 'Heading node children must have at least one Text or Link node').required()
50
64
  });
51
65
  const quoteNodeValidator = yup.object().shape({
52
- type: yup.string().equals(["quote"]).required(),
53
- children: yup.array().of(inlineNodeValidator).min(1, "Quote node children must have at least one Text or Link node").required()
66
+ type: yup.string().equals([
67
+ 'quote'
68
+ ]).required(),
69
+ children: yup.array().of(inlineNodeValidator).min(1, 'Quote node children must have at least one Text or Link node').required()
54
70
  });
55
71
  const codeBlockValidator = yup.object().shape({
56
- type: yup.string().equals(["code"]).required(),
57
- syntax: yup.string().nullable(),
58
- children: yup.array().of(textNodeValidator).min(1, "Quote node children must have at least one Text or Link node").required()
72
+ type: yup.string().equals([
73
+ 'code'
74
+ ]).required(),
75
+ syntax: yup.string().nullable(),
76
+ children: yup.array().of(textNodeValidator).min(1, 'Quote node children must have at least one Text or Link node').required()
59
77
  });
60
78
  const listItemNode = yup.object().shape({
61
- type: yup.string().equals(["list-item"]).required(),
62
- children: yup.array().of(inlineNodeValidator).required()
79
+ type: yup.string().equals([
80
+ 'list-item'
81
+ ]).required(),
82
+ children: yup.array().of(inlineNodeValidator).required()
63
83
  });
64
- const listChildrenValidator = yup.lazy((value) => {
65
- switch (value.type) {
66
- case "list":
67
- return listNodeValidator;
68
- case "list-item":
69
- return listItemNode;
70
- default:
71
- return yup.mixed().test("invalid-type", "Inline node must be list-item or list", () => {
72
- return false;
73
- });
74
- }
84
+ // Allow children to be either a listItemNode or a listNode itself
85
+ // @ts-expect-error - listChildrenValidator needs a type
86
+ const listChildrenValidator = yup.lazy((value)=>{
87
+ switch(value.type){
88
+ case 'list':
89
+ return listNodeValidator;
90
+ case 'list-item':
91
+ return listItemNode;
92
+ default:
93
+ return yup.mixed().test('invalid-type', 'Inline node must be list-item or list', ()=>{
94
+ return false;
95
+ });
96
+ }
75
97
  });
98
+ // @ts-expect-error - listNodeValidator needs a type
76
99
  const listNodeValidator = yup.object().shape({
77
- type: yup.string().equals(["list"]).required(),
78
- format: yup.string().equals(["ordered", "unordered"]).required(),
79
- children: yup.array().of(listChildrenValidator).min(1, "List node children must have at least one ListItem or ListNode").required()
100
+ type: yup.string().equals([
101
+ 'list'
102
+ ]).required(),
103
+ format: yup.string().equals([
104
+ 'ordered',
105
+ 'unordered'
106
+ ]).required(),
107
+ children: yup.array().of(listChildrenValidator).min(1, 'List node children must have at least one ListItem or ListNode').required()
80
108
  });
81
109
  const imageNodeValidator = yup.object().shape({
82
- type: yup.string().equals(["image"]).required(),
83
- image: yup.object().shape({
84
- name: yup.string().required(),
85
- alternativeText: yup.string().nullable(),
86
- url: yup.string().required(),
87
- caption: yup.string().nullable(),
88
- width: yup.number().required(),
89
- height: yup.number().required(),
90
- formats: yup.object().required(),
91
- hash: yup.string().required(),
92
- ext: yup.string().required(),
93
- mime: yup.string().required(),
94
- size: yup.number().required(),
95
- previewUrl: yup.string().nullable(),
96
- provider: yup.string().required(),
97
- provider_metadata: yup.mixed().nullable(),
98
- createdAt: yup.string().required(),
99
- updatedAt: yup.string().required()
100
- }),
101
- children: yup.array().of(inlineNodeValidator).required()
110
+ type: yup.string().equals([
111
+ 'image'
112
+ ]).required(),
113
+ image: yup.object().shape({
114
+ name: yup.string().required(),
115
+ alternativeText: yup.string().nullable(),
116
+ url: yup.string().required(),
117
+ caption: yup.string().nullable(),
118
+ width: yup.number().required(),
119
+ height: yup.number().required(),
120
+ formats: yup.object().required(),
121
+ hash: yup.string().required(),
122
+ ext: yup.string().required(),
123
+ mime: yup.string().required(),
124
+ size: yup.number().required(),
125
+ previewUrl: yup.string().nullable(),
126
+ provider: yup.string().required(),
127
+ provider_metadata: yup.mixed().nullable(),
128
+ createdAt: yup.string().required(),
129
+ updatedAt: yup.string().required()
130
+ }),
131
+ children: yup.array().of(inlineNodeValidator).required()
102
132
  });
103
- const blockNodeValidator = yup.lazy((value) => {
104
- switch (value.type) {
105
- case "paragraph":
106
- return paragraphNodeValidator;
107
- case "heading":
108
- return headingNodeValidator;
109
- case "quote":
110
- return quoteNodeValidator;
111
- case "list":
112
- return listNodeValidator;
113
- case "image":
114
- return imageNodeValidator;
115
- case "code":
116
- return codeBlockValidator;
117
- default:
118
- return yup.mixed().test("invalid-type", "Block node is of invalid type", () => {
119
- return false;
120
- });
121
- }
133
+ // TODO: remove the any and replace with a correct Type
134
+ const blockNodeValidator = yup.lazy((value)=>{
135
+ switch(value.type){
136
+ case 'paragraph':
137
+ return paragraphNodeValidator;
138
+ case 'heading':
139
+ return headingNodeValidator;
140
+ case 'quote':
141
+ return quoteNodeValidator;
142
+ case 'list':
143
+ return listNodeValidator;
144
+ case 'image':
145
+ return imageNodeValidator;
146
+ case 'code':
147
+ return codeBlockValidator;
148
+ default:
149
+ return yup.mixed().test('invalid-type', 'Block node is of invalid type', ()=>{
150
+ return false;
151
+ });
152
+ }
122
153
  });
123
154
  const blocksValidatorSchema = yup.array().of(blockNodeValidator);
124
- const blocksValidator = () => blocksValidatorSchema;
125
- export {
126
- blocksValidator
127
- };
155
+ const blocksValidator = ()=>blocksValidatorSchema;
156
+
157
+ export { blocksValidator };
128
158
  //# sourceMappingURL=blocks-validator.mjs.map