@strapi/core 0.0.0-experimental.bf539fcb8054f8f95f3fd89fb24321df84d0a9f8 → 0.0.0-experimental.bfe6f6b9fccddaa4781777130c8482d8a980e171

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 (793) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +429 -403
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +428 -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 +205 -61
  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 +244 -0
  56. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  57. package/dist/core-api/routes/validation/attributes.js +560 -0
  58. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  59. package/dist/core-api/routes/validation/attributes.mjs +521 -0
  60. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  61. package/dist/core-api/routes/validation/common.d.ts +105 -0
  62. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  63. package/dist/core-api/routes/validation/common.js +116 -0
  64. package/dist/core-api/routes/validation/common.js.map +1 -0
  65. package/dist/core-api/routes/validation/common.mjs +95 -0
  66. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  67. package/dist/core-api/routes/validation/component.d.ts +34 -0
  68. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  69. package/dist/core-api/routes/validation/component.js +45 -0
  70. package/dist/core-api/routes/validation/component.js.map +1 -0
  71. package/dist/core-api/routes/validation/component.mjs +43 -0
  72. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  73. package/dist/core-api/routes/validation/constants.d.ts +8 -0
  74. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  75. package/dist/core-api/routes/validation/constants.js +18 -0
  76. package/dist/core-api/routes/validation/constants.js.map +1 -0
  77. package/dist/core-api/routes/validation/constants.mjs +16 -0
  78. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  79. package/dist/core-api/routes/validation/content-type.d.ts +128 -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 +201 -0
  82. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  83. package/dist/core-api/routes/validation/content-type.mjs +180 -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/routes/validation/mappers.d.ts +105 -0
  88. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -0
  89. package/dist/core-api/routes/validation/mappers.js +238 -0
  90. package/dist/core-api/routes/validation/mappers.js.map +1 -0
  91. package/dist/core-api/routes/validation/mappers.mjs +214 -0
  92. package/dist/core-api/routes/validation/mappers.mjs.map +1 -0
  93. package/dist/core-api/routes/validation/utils.d.ts +47 -0
  94. package/dist/core-api/routes/validation/utils.d.ts.map +1 -0
  95. package/dist/core-api/routes/validation/utils.js +112 -0
  96. package/dist/core-api/routes/validation/utils.js.map +1 -0
  97. package/dist/core-api/routes/validation/utils.mjs +90 -0
  98. package/dist/core-api/routes/validation/utils.mjs.map +1 -0
  99. package/dist/core-api/service/collection-type.js +73 -60
  100. package/dist/core-api/service/collection-type.js.map +1 -1
  101. package/dist/core-api/service/collection-type.mjs +72 -62
  102. package/dist/core-api/service/collection-type.mjs.map +1 -1
  103. package/dist/core-api/service/core-service.js +9 -8
  104. package/dist/core-api/service/core-service.js.map +1 -1
  105. package/dist/core-api/service/core-service.mjs +8 -9
  106. package/dist/core-api/service/core-service.mjs.map +1 -1
  107. package/dist/core-api/service/index.js +13 -13
  108. package/dist/core-api/service/index.js.map +1 -1
  109. package/dist/core-api/service/index.mjs +12 -14
  110. package/dist/core-api/service/index.mjs.map +1 -1
  111. package/dist/core-api/service/pagination.js +69 -43
  112. package/dist/core-api/service/pagination.js.map +1 -1
  113. package/dist/core-api/service/pagination.mjs +68 -47
  114. package/dist/core-api/service/pagination.mjs.map +1 -1
  115. package/dist/core-api/service/single-type.js +43 -39
  116. package/dist/core-api/service/single-type.js.map +1 -1
  117. package/dist/core-api/service/single-type.mjs +42 -41
  118. package/dist/core-api/service/single-type.mjs.map +1 -1
  119. package/dist/domain/content-type/index.d.ts.map +1 -1
  120. package/dist/domain/content-type/index.js +110 -99
  121. package/dist/domain/content-type/index.js.map +1 -1
  122. package/dist/domain/content-type/index.mjs +109 -99
  123. package/dist/domain/content-type/index.mjs.map +1 -1
  124. package/dist/domain/content-type/validator.js +84 -69
  125. package/dist/domain/content-type/validator.js.map +1 -1
  126. package/dist/domain/content-type/validator.mjs +83 -68
  127. package/dist/domain/content-type/validator.mjs.map +1 -1
  128. package/dist/domain/module/index.d.ts.map +1 -1
  129. package/dist/domain/module/index.js +112 -100
  130. package/dist/domain/module/index.js.map +1 -1
  131. package/dist/domain/module/index.mjs +111 -99
  132. package/dist/domain/module/index.mjs.map +1 -1
  133. package/dist/domain/module/validation.js +25 -20
  134. package/dist/domain/module/validation.js.map +1 -1
  135. package/dist/domain/module/validation.mjs +24 -21
  136. package/dist/domain/module/validation.mjs.map +1 -1
  137. package/dist/ee/index.d.ts +7 -0
  138. package/dist/ee/index.d.ts.map +1 -1
  139. package/dist/ee/index.js +197 -137
  140. package/dist/ee/index.js.map +1 -1
  141. package/dist/ee/index.mjs +196 -139
  142. package/dist/ee/index.mjs.map +1 -1
  143. package/dist/ee/license.d.ts +3 -1
  144. package/dist/ee/license.d.ts.map +1 -1
  145. package/dist/ee/license.js +105 -75
  146. package/dist/ee/license.js.map +1 -1
  147. package/dist/ee/license.mjs +103 -76
  148. package/dist/ee/license.mjs.map +1 -1
  149. package/dist/factories.d.ts +3 -1
  150. package/dist/factories.d.ts.map +1 -1
  151. package/dist/factories.js +80 -67
  152. package/dist/factories.js.map +1 -1
  153. package/dist/factories.mjs +77 -70
  154. package/dist/factories.mjs.map +1 -1
  155. package/dist/index.js +29 -26
  156. package/dist/index.js.map +1 -1
  157. package/dist/index.mjs +29 -29
  158. package/dist/index.mjs.map +1 -1
  159. package/dist/loaders/admin.d.ts.map +1 -1
  160. package/dist/loaders/admin.js +21 -20
  161. package/dist/loaders/admin.js.map +1 -1
  162. package/dist/loaders/admin.mjs +20 -20
  163. package/dist/loaders/admin.mjs.map +1 -1
  164. package/dist/loaders/apis.js +143 -120
  165. package/dist/loaders/apis.js.map +1 -1
  166. package/dist/loaders/apis.mjs +142 -119
  167. package/dist/loaders/apis.mjs.map +1 -1
  168. package/dist/loaders/components.js +33 -34
  169. package/dist/loaders/components.js.map +1 -1
  170. package/dist/loaders/components.mjs +32 -34
  171. package/dist/loaders/components.mjs.map +1 -1
  172. package/dist/loaders/index.js +22 -20
  173. package/dist/loaders/index.js.map +1 -1
  174. package/dist/loaders/index.mjs +21 -21
  175. package/dist/loaders/index.mjs.map +1 -1
  176. package/dist/loaders/middlewares.js +29 -25
  177. package/dist/loaders/middlewares.js.map +1 -1
  178. package/dist/loaders/middlewares.mjs +28 -25
  179. package/dist/loaders/middlewares.mjs.map +1 -1
  180. package/dist/loaders/plugins/get-enabled-plugins.js +126 -131
  181. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  182. package/dist/loaders/plugins/get-enabled-plugins.mjs +125 -108
  183. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  184. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  185. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  186. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  187. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  188. package/dist/loaders/plugins/index.js +132 -122
  189. package/dist/loaders/plugins/index.js.map +1 -1
  190. package/dist/loaders/plugins/index.mjs +121 -112
  191. package/dist/loaders/plugins/index.mjs.map +1 -1
  192. package/dist/loaders/policies.js +24 -20
  193. package/dist/loaders/policies.js.map +1 -1
  194. package/dist/loaders/policies.mjs +23 -20
  195. package/dist/loaders/policies.mjs.map +1 -1
  196. package/dist/loaders/sanitizers.js +10 -4
  197. package/dist/loaders/sanitizers.js.map +1 -1
  198. package/dist/loaders/sanitizers.mjs +9 -6
  199. package/dist/loaders/sanitizers.mjs.map +1 -1
  200. package/dist/loaders/src-index.js +35 -27
  201. package/dist/loaders/src-index.js.map +1 -1
  202. package/dist/loaders/src-index.mjs +34 -29
  203. package/dist/loaders/src-index.mjs.map +1 -1
  204. package/dist/loaders/validators.js +9 -4
  205. package/dist/loaders/validators.js.map +1 -1
  206. package/dist/loaders/validators.mjs +8 -6
  207. package/dist/loaders/validators.mjs.map +1 -1
  208. package/dist/middlewares/body.d.ts.map +1 -1
  209. package/dist/middlewares/body.js +58 -54
  210. package/dist/middlewares/body.js.map +1 -1
  211. package/dist/middlewares/body.mjs +57 -51
  212. package/dist/middlewares/body.mjs.map +1 -1
  213. package/dist/middlewares/compression.js +6 -6
  214. package/dist/middlewares/compression.js.map +1 -1
  215. package/dist/middlewares/compression.mjs +5 -5
  216. package/dist/middlewares/compression.mjs.map +1 -1
  217. package/dist/middlewares/cors.d.ts +9 -1
  218. package/dist/middlewares/cors.d.ts.map +1 -1
  219. package/dist/middlewares/cors.js +81 -48
  220. package/dist/middlewares/cors.js.map +1 -1
  221. package/dist/middlewares/cors.mjs +78 -46
  222. package/dist/middlewares/cors.mjs.map +1 -1
  223. package/dist/middlewares/errors.js +32 -30
  224. package/dist/middlewares/errors.js.map +1 -1
  225. package/dist/middlewares/errors.mjs +31 -31
  226. package/dist/middlewares/errors.mjs.map +1 -1
  227. package/dist/middlewares/favicon.js +27 -17
  228. package/dist/middlewares/favicon.js.map +1 -1
  229. package/dist/middlewares/favicon.mjs +26 -16
  230. package/dist/middlewares/favicon.mjs.map +1 -1
  231. package/dist/middlewares/index.js +32 -30
  232. package/dist/middlewares/index.js.map +1 -1
  233. package/dist/middlewares/index.mjs +31 -31
  234. package/dist/middlewares/index.mjs.map +1 -1
  235. package/dist/middlewares/ip.js +6 -6
  236. package/dist/middlewares/ip.js.map +1 -1
  237. package/dist/middlewares/ip.mjs +5 -5
  238. package/dist/middlewares/ip.mjs.map +1 -1
  239. package/dist/middlewares/logger.js +10 -9
  240. package/dist/middlewares/logger.js.map +1 -1
  241. package/dist/middlewares/logger.mjs +9 -10
  242. package/dist/middlewares/logger.mjs.map +1 -1
  243. package/dist/middlewares/powered-by.js +13 -9
  244. package/dist/middlewares/powered-by.js.map +1 -1
  245. package/dist/middlewares/powered-by.mjs +12 -10
  246. package/dist/middlewares/powered-by.mjs.map +1 -1
  247. package/dist/middlewares/public.js +33 -29
  248. package/dist/middlewares/public.js.map +1 -1
  249. package/dist/middlewares/public.mjs +32 -28
  250. package/dist/middlewares/public.mjs.map +1 -1
  251. package/dist/middlewares/query.js +35 -32
  252. package/dist/middlewares/query.js.map +1 -1
  253. package/dist/middlewares/query.mjs +34 -31
  254. package/dist/middlewares/query.mjs.map +1 -1
  255. package/dist/middlewares/response-time.js +10 -9
  256. package/dist/middlewares/response-time.js.map +1 -1
  257. package/dist/middlewares/response-time.mjs +9 -10
  258. package/dist/middlewares/response-time.mjs.map +1 -1
  259. package/dist/middlewares/responses.js +14 -12
  260. package/dist/middlewares/responses.js.map +1 -1
  261. package/dist/middlewares/responses.mjs +13 -13
  262. package/dist/middlewares/responses.mjs.map +1 -1
  263. package/dist/middlewares/security.js +109 -71
  264. package/dist/middlewares/security.js.map +1 -1
  265. package/dist/middlewares/security.mjs +108 -70
  266. package/dist/middlewares/security.mjs.map +1 -1
  267. package/dist/middlewares/session.js +26 -25
  268. package/dist/middlewares/session.js.map +1 -1
  269. package/dist/middlewares/session.mjs +25 -24
  270. package/dist/middlewares/session.mjs.map +1 -1
  271. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +2 -2
  272. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  273. package/dist/migrations/database/5.0.0-discard-drafts.js +152 -90
  274. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  275. package/dist/migrations/database/5.0.0-discard-drafts.mjs +151 -92
  276. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  277. package/dist/migrations/draft-publish.d.ts +1 -1
  278. package/dist/migrations/draft-publish.d.ts.map +1 -1
  279. package/dist/migrations/draft-publish.js +61 -34
  280. package/dist/migrations/draft-publish.js.map +1 -1
  281. package/dist/migrations/draft-publish.mjs +60 -36
  282. package/dist/migrations/draft-publish.mjs.map +1 -1
  283. package/dist/migrations/first-published-at.d.ts +4 -0
  284. package/dist/migrations/first-published-at.d.ts.map +1 -0
  285. package/dist/migrations/first-published-at.js +51 -0
  286. package/dist/migrations/first-published-at.js.map +1 -0
  287. package/dist/migrations/first-published-at.mjs +49 -0
  288. package/dist/migrations/first-published-at.mjs.map +1 -0
  289. package/dist/migrations/i18n.js +62 -45
  290. package/dist/migrations/i18n.js.map +1 -1
  291. package/dist/migrations/i18n.mjs +61 -47
  292. package/dist/migrations/i18n.mjs.map +1 -1
  293. package/dist/migrations/index.d.ts.map +1 -1
  294. package/dist/migrations/index.js +29 -10
  295. package/dist/migrations/index.js.map +1 -1
  296. package/dist/migrations/index.mjs +28 -12
  297. package/dist/migrations/index.mjs.map +1 -1
  298. package/dist/package.json.js +185 -0
  299. package/dist/package.json.js.map +1 -0
  300. package/dist/package.json.mjs +162 -0
  301. package/dist/package.json.mjs.map +1 -0
  302. package/dist/providers/admin.js +27 -17
  303. package/dist/providers/admin.js.map +1 -1
  304. package/dist/providers/admin.mjs +26 -19
  305. package/dist/providers/admin.mjs.map +1 -1
  306. package/dist/providers/coreStore.js +13 -8
  307. package/dist/providers/coreStore.js.map +1 -1
  308. package/dist/providers/coreStore.mjs +12 -10
  309. package/dist/providers/coreStore.mjs.map +1 -1
  310. package/dist/providers/cron.js +19 -16
  311. package/dist/providers/cron.js.map +1 -1
  312. package/dist/providers/cron.mjs +18 -18
  313. package/dist/providers/cron.mjs.map +1 -1
  314. package/dist/providers/index.js +18 -9
  315. package/dist/providers/index.js.map +1 -1
  316. package/dist/providers/index.mjs +17 -10
  317. package/dist/providers/index.mjs.map +1 -1
  318. package/dist/providers/provider.js +4 -3
  319. package/dist/providers/provider.js.map +1 -1
  320. package/dist/providers/provider.mjs +3 -4
  321. package/dist/providers/provider.mjs.map +1 -1
  322. package/dist/providers/registries.js +37 -32
  323. package/dist/providers/registries.js.map +1 -1
  324. package/dist/providers/registries.mjs +36 -34
  325. package/dist/providers/registries.mjs.map +1 -1
  326. package/dist/providers/telemetry.js +19 -16
  327. package/dist/providers/telemetry.js.map +1 -1
  328. package/dist/providers/telemetry.mjs +18 -18
  329. package/dist/providers/telemetry.mjs.map +1 -1
  330. package/dist/providers/webhooks.js +28 -26
  331. package/dist/providers/webhooks.js.map +1 -1
  332. package/dist/providers/webhooks.mjs +27 -28
  333. package/dist/providers/webhooks.mjs.map +1 -1
  334. package/dist/registries/apis.js +23 -20
  335. package/dist/registries/apis.js.map +1 -1
  336. package/dist/registries/apis.mjs +22 -22
  337. package/dist/registries/apis.mjs.map +1 -1
  338. package/dist/registries/components.js +35 -37
  339. package/dist/registries/components.js.map +1 -1
  340. package/dist/registries/components.mjs +34 -39
  341. package/dist/registries/components.mjs.map +1 -1
  342. package/dist/registries/content-types.js +54 -59
  343. package/dist/registries/content-types.js.map +1 -1
  344. package/dist/registries/content-types.mjs +53 -61
  345. package/dist/registries/content-types.mjs.map +1 -1
  346. package/dist/registries/controllers.js +70 -71
  347. package/dist/registries/controllers.js.map +1 -1
  348. package/dist/registries/controllers.mjs +69 -73
  349. package/dist/registries/controllers.mjs.map +1 -1
  350. package/dist/registries/custom-fields.js +75 -65
  351. package/dist/registries/custom-fields.js.map +1 -1
  352. package/dist/registries/custom-fields.mjs +74 -67
  353. package/dist/registries/custom-fields.mjs.map +1 -1
  354. package/dist/registries/hooks.js +46 -49
  355. package/dist/registries/hooks.js.map +1 -1
  356. package/dist/registries/hooks.mjs +45 -51
  357. package/dist/registries/hooks.mjs.map +1 -1
  358. package/dist/registries/middlewares.js +49 -51
  359. package/dist/registries/middlewares.js.map +1 -1
  360. package/dist/registries/middlewares.mjs +48 -53
  361. package/dist/registries/middlewares.mjs.map +1 -1
  362. package/dist/registries/models.js +14 -13
  363. package/dist/registries/models.js.map +1 -1
  364. package/dist/registries/models.mjs +13 -14
  365. package/dist/registries/models.mjs.map +1 -1
  366. package/dist/registries/modules.js +39 -36
  367. package/dist/registries/modules.js.map +1 -1
  368. package/dist/registries/modules.mjs +38 -38
  369. package/dist/registries/modules.mjs.map +1 -1
  370. package/dist/registries/namespace.js +21 -20
  371. package/dist/registries/namespace.js.map +1 -1
  372. package/dist/registries/namespace.mjs +20 -23
  373. package/dist/registries/namespace.mjs.map +1 -1
  374. package/dist/registries/plugins.js +23 -20
  375. package/dist/registries/plugins.js.map +1 -1
  376. package/dist/registries/plugins.mjs +22 -22
  377. package/dist/registries/plugins.mjs.map +1 -1
  378. package/dist/registries/policies.js +103 -96
  379. package/dist/registries/policies.js.map +1 -1
  380. package/dist/registries/policies.mjs +102 -98
  381. package/dist/registries/policies.mjs.map +1 -1
  382. package/dist/registries/sanitizers.js +23 -22
  383. package/dist/registries/sanitizers.js.map +1 -1
  384. package/dist/registries/sanitizers.mjs +22 -22
  385. package/dist/registries/sanitizers.mjs.map +1 -1
  386. package/dist/registries/services.js +71 -71
  387. package/dist/registries/services.js.map +1 -1
  388. package/dist/registries/services.mjs +70 -73
  389. package/dist/registries/services.mjs.map +1 -1
  390. package/dist/registries/validators.js +23 -22
  391. package/dist/registries/validators.js.map +1 -1
  392. package/dist/registries/validators.mjs +22 -22
  393. package/dist/registries/validators.mjs.map +1 -1
  394. package/dist/services/auth/index.js +74 -74
  395. package/dist/services/auth/index.js.map +1 -1
  396. package/dist/services/auth/index.mjs +73 -74
  397. package/dist/services/auth/index.mjs.map +1 -1
  398. package/dist/services/config.js +47 -43
  399. package/dist/services/config.js.map +1 -1
  400. package/dist/services/config.mjs +46 -44
  401. package/dist/services/config.mjs.map +1 -1
  402. package/dist/services/content-api/index.js +80 -79
  403. package/dist/services/content-api/index.js.map +1 -1
  404. package/dist/services/content-api/index.mjs +79 -79
  405. package/dist/services/content-api/index.mjs.map +1 -1
  406. package/dist/services/content-api/permissions/engine.js +8 -5
  407. package/dist/services/content-api/permissions/engine.js.map +1 -1
  408. package/dist/services/content-api/permissions/engine.mjs +7 -5
  409. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  410. package/dist/services/content-api/permissions/index.js +101 -81
  411. package/dist/services/content-api/permissions/index.js.map +1 -1
  412. package/dist/services/content-api/permissions/index.mjs +100 -81
  413. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  414. package/dist/services/content-api/permissions/providers/action.js +17 -14
  415. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  416. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  417. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  418. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  419. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  420. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  421. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  422. package/dist/services/core-store.d.ts +2 -2
  423. package/dist/services/core-store.d.ts.map +1 -1
  424. package/dist/services/core-store.js +115 -95
  425. package/dist/services/core-store.js.map +1 -1
  426. package/dist/services/core-store.mjs +114 -97
  427. package/dist/services/core-store.mjs.map +1 -1
  428. package/dist/services/cron.js +74 -65
  429. package/dist/services/cron.js.map +1 -1
  430. package/dist/services/cron.mjs +73 -67
  431. package/dist/services/cron.mjs.map +1 -1
  432. package/dist/services/custom-fields.js +9 -7
  433. package/dist/services/custom-fields.js.map +1 -1
  434. package/dist/services/custom-fields.mjs +8 -9
  435. package/dist/services/custom-fields.mjs.map +1 -1
  436. package/dist/services/document-service/attributes/index.js +23 -18
  437. package/dist/services/document-service/attributes/index.js.map +1 -1
  438. package/dist/services/document-service/attributes/index.mjs +22 -19
  439. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  440. package/dist/services/document-service/attributes/transforms.js +16 -15
  441. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  442. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  443. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  444. package/dist/services/document-service/common.js +5 -4
  445. package/dist/services/document-service/common.js.map +1 -1
  446. package/dist/services/document-service/common.mjs +4 -5
  447. package/dist/services/document-service/common.mjs.map +1 -1
  448. package/dist/services/document-service/components.d.ts.map +1 -1
  449. package/dist/services/document-service/components.js +255 -257
  450. package/dist/services/document-service/components.js.map +1 -1
  451. package/dist/services/document-service/components.mjs +254 -262
  452. package/dist/services/document-service/components.mjs.map +1 -1
  453. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  454. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  455. package/dist/services/document-service/draft-and-publish.js +88 -48
  456. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  457. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  458. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  459. package/dist/services/document-service/entries.d.ts.map +1 -1
  460. package/dist/services/document-service/entries.js +151 -91
  461. package/dist/services/document-service/entries.js.map +1 -1
  462. package/dist/services/document-service/entries.mjs +150 -92
  463. package/dist/services/document-service/entries.mjs.map +1 -1
  464. package/dist/services/document-service/events.d.ts +1 -1
  465. package/dist/services/document-service/events.d.ts.map +1 -1
  466. package/dist/services/document-service/events.js +52 -40
  467. package/dist/services/document-service/events.js.map +1 -1
  468. package/dist/services/document-service/events.mjs +51 -41
  469. package/dist/services/document-service/events.mjs.map +1 -1
  470. package/dist/services/document-service/first-published-at.d.ts +7 -0
  471. package/dist/services/document-service/first-published-at.d.ts.map +1 -0
  472. package/dist/services/document-service/first-published-at.js +31 -0
  473. package/dist/services/document-service/first-published-at.js.map +1 -0
  474. package/dist/services/document-service/first-published-at.mjs +28 -0
  475. package/dist/services/document-service/first-published-at.mjs.map +1 -0
  476. package/dist/services/document-service/index.js +53 -33
  477. package/dist/services/document-service/index.js.map +1 -1
  478. package/dist/services/document-service/index.mjs +52 -34
  479. package/dist/services/document-service/index.mjs.map +1 -1
  480. package/dist/services/document-service/internationalization.d.ts +6 -1
  481. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  482. package/dist/services/document-service/internationalization.js +94 -46
  483. package/dist/services/document-service/internationalization.js.map +1 -1
  484. package/dist/services/document-service/internationalization.mjs +92 -50
  485. package/dist/services/document-service/internationalization.mjs.map +1 -1
  486. package/dist/services/document-service/middlewares/errors.js +23 -19
  487. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  488. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  489. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  490. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  491. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  492. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  493. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  494. package/dist/services/document-service/params.js +11 -5
  495. package/dist/services/document-service/params.js.map +1 -1
  496. package/dist/services/document-service/params.mjs +10 -6
  497. package/dist/services/document-service/params.mjs.map +1 -1
  498. package/dist/services/document-service/repository.d.ts.map +1 -1
  499. package/dist/services/document-service/repository.js +358 -319
  500. package/dist/services/document-service/repository.js.map +1 -1
  501. package/dist/services/document-service/repository.mjs +357 -320
  502. package/dist/services/document-service/repository.mjs.map +1 -1
  503. package/dist/services/document-service/transform/data.js +22 -12
  504. package/dist/services/document-service/transform/data.js.map +1 -1
  505. package/dist/services/document-service/transform/data.mjs +21 -13
  506. package/dist/services/document-service/transform/data.mjs.map +1 -1
  507. package/dist/services/document-service/transform/fields.js +26 -17
  508. package/dist/services/document-service/transform/fields.js.map +1 -1
  509. package/dist/services/document-service/transform/fields.mjs +25 -18
  510. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  511. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  512. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  513. package/dist/services/document-service/transform/id-map.js +115 -77
  514. package/dist/services/document-service/transform/id-map.js.map +1 -1
  515. package/dist/services/document-service/transform/id-map.mjs +114 -78
  516. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  517. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  518. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  519. package/dist/services/document-service/transform/id-transform.js +37 -29
  520. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  521. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  522. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  523. package/dist/services/document-service/transform/populate.js +23 -18
  524. package/dist/services/document-service/transform/populate.js.map +1 -1
  525. package/dist/services/document-service/transform/populate.mjs +22 -19
  526. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  527. package/dist/services/document-service/transform/query.js +11 -6
  528. package/dist/services/document-service/transform/query.js.map +1 -1
  529. package/dist/services/document-service/transform/query.mjs +10 -7
  530. package/dist/services/document-service/transform/query.mjs.map +1 -1
  531. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  532. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  533. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  534. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  535. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  536. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  537. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  538. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  539. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  540. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  541. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  542. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  543. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  544. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  545. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  546. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  547. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  548. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  549. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  550. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  551. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  552. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  553. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  554. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  555. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  556. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  557. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  558. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  559. package/dist/services/document-service/transform/relations/utils/map-relation.js +116 -77
  560. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  561. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  562. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  563. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  564. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  565. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  566. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  567. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  568. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  569. package/dist/services/document-service/utils/populate.d.ts +1 -1
  570. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  571. package/dist/services/document-service/utils/populate.js +66 -42
  572. package/dist/services/document-service/utils/populate.js.map +1 -1
  573. package/dist/services/document-service/utils/populate.mjs +65 -43
  574. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  575. package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
  576. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  577. package/dist/services/document-service/utils/unidirectional-relations.js +109 -62
  578. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -1
  579. package/dist/services/document-service/utils/unidirectional-relations.mjs +108 -64
  580. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -1
  581. package/dist/services/entity-service/index.js +230 -161
  582. package/dist/services/entity-service/index.js.map +1 -1
  583. package/dist/services/entity-service/index.mjs +229 -160
  584. package/dist/services/entity-service/index.mjs.map +1 -1
  585. package/dist/services/entity-validator/blocks-validator.js +135 -103
  586. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  587. package/dist/services/entity-validator/blocks-validator.mjs +134 -104
  588. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  589. package/dist/services/entity-validator/index.d.ts +1 -1
  590. package/dist/services/entity-validator/index.d.ts.map +1 -1
  591. package/dist/services/entity-validator/index.js +370 -366
  592. package/dist/services/entity-validator/index.js.map +1 -1
  593. package/dist/services/entity-validator/index.mjs +366 -363
  594. package/dist/services/entity-validator/index.mjs.map +1 -1
  595. package/dist/services/entity-validator/validators.d.ts +1 -0
  596. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  597. package/dist/services/entity-validator/validators.js +270 -209
  598. package/dist/services/entity-validator/validators.js.map +1 -1
  599. package/dist/services/entity-validator/validators.mjs +269 -215
  600. package/dist/services/entity-validator/validators.mjs.map +1 -1
  601. package/dist/services/errors.js +65 -65
  602. package/dist/services/errors.js.map +1 -1
  603. package/dist/services/errors.mjs +64 -66
  604. package/dist/services/errors.mjs.map +1 -1
  605. package/dist/services/event-hub.js +82 -69
  606. package/dist/services/event-hub.js.map +1 -1
  607. package/dist/services/event-hub.mjs +81 -71
  608. package/dist/services/event-hub.mjs.map +1 -1
  609. package/dist/services/features.js +19 -14
  610. package/dist/services/features.js.map +1 -1
  611. package/dist/services/features.mjs +18 -15
  612. package/dist/services/features.mjs.map +1 -1
  613. package/dist/services/fs.js +41 -40
  614. package/dist/services/fs.js.map +1 -1
  615. package/dist/services/fs.mjs +40 -39
  616. package/dist/services/fs.mjs.map +1 -1
  617. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  618. package/dist/services/metrics/admin-user-hash.js +13 -11
  619. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  620. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  621. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  622. package/dist/services/metrics/index.d.ts +1 -1
  623. package/dist/services/metrics/index.d.ts.map +1 -1
  624. package/dist/services/metrics/index.js +47 -40
  625. package/dist/services/metrics/index.js.map +1 -1
  626. package/dist/services/metrics/index.mjs +46 -42
  627. package/dist/services/metrics/index.mjs.map +1 -1
  628. package/dist/services/metrics/is-truthy.js +13 -6
  629. package/dist/services/metrics/is-truthy.js.map +1 -1
  630. package/dist/services/metrics/is-truthy.mjs +12 -6
  631. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  632. package/dist/services/metrics/middleware.d.ts.map +1 -1
  633. package/dist/services/metrics/middleware.js +37 -22
  634. package/dist/services/metrics/middleware.js.map +1 -1
  635. package/dist/services/metrics/middleware.mjs +36 -24
  636. package/dist/services/metrics/middleware.mjs.map +1 -1
  637. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  638. package/dist/services/metrics/rate-limiter.js +24 -19
  639. package/dist/services/metrics/rate-limiter.js.map +1 -1
  640. package/dist/services/metrics/rate-limiter.mjs +23 -21
  641. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  642. package/dist/services/metrics/sender.d.ts.map +1 -1
  643. package/dist/services/metrics/sender.js +78 -69
  644. package/dist/services/metrics/sender.js.map +1 -1
  645. package/dist/services/metrics/sender.mjs +77 -64
  646. package/dist/services/metrics/sender.mjs.map +1 -1
  647. package/dist/services/query-params.js +13 -10
  648. package/dist/services/query-params.js.map +1 -1
  649. package/dist/services/query-params.mjs +12 -12
  650. package/dist/services/query-params.mjs.map +1 -1
  651. package/dist/services/reloader.js +35 -32
  652. package/dist/services/reloader.js.map +1 -1
  653. package/dist/services/reloader.mjs +34 -33
  654. package/dist/services/reloader.mjs.map +1 -1
  655. package/dist/services/request-context.js +11 -8
  656. package/dist/services/request-context.js.map +1 -1
  657. package/dist/services/request-context.mjs +10 -10
  658. package/dist/services/request-context.mjs.map +1 -1
  659. package/dist/services/server/admin-api.js +11 -10
  660. package/dist/services/server/admin-api.js.map +1 -1
  661. package/dist/services/server/admin-api.mjs +10 -11
  662. package/dist/services/server/admin-api.mjs.map +1 -1
  663. package/dist/services/server/api.js +33 -27
  664. package/dist/services/server/api.js.map +1 -1
  665. package/dist/services/server/api.mjs +32 -26
  666. package/dist/services/server/api.mjs.map +1 -1
  667. package/dist/services/server/compose-endpoint.js +116 -105
  668. package/dist/services/server/compose-endpoint.js.map +1 -1
  669. package/dist/services/server/compose-endpoint.mjs +115 -105
  670. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  671. package/dist/services/server/content-api.js +11 -9
  672. package/dist/services/server/content-api.js.map +1 -1
  673. package/dist/services/server/content-api.mjs +10 -10
  674. package/dist/services/server/content-api.mjs.map +1 -1
  675. package/dist/services/server/http-server.js +48 -44
  676. package/dist/services/server/http-server.js.map +1 -1
  677. package/dist/services/server/http-server.mjs +47 -43
  678. package/dist/services/server/http-server.mjs.map +1 -1
  679. package/dist/services/server/index.js +85 -82
  680. package/dist/services/server/index.js.map +1 -1
  681. package/dist/services/server/index.mjs +84 -81
  682. package/dist/services/server/index.mjs.map +1 -1
  683. package/dist/services/server/koa.js +49 -47
  684. package/dist/services/server/koa.js.map +1 -1
  685. package/dist/services/server/koa.mjs +48 -44
  686. package/dist/services/server/koa.mjs.map +1 -1
  687. package/dist/services/server/middleware.js +86 -82
  688. package/dist/services/server/middleware.js.map +1 -1
  689. package/dist/services/server/middleware.mjs +85 -82
  690. package/dist/services/server/middleware.mjs.map +1 -1
  691. package/dist/services/server/policy.js +24 -17
  692. package/dist/services/server/policy.js.map +1 -1
  693. package/dist/services/server/policy.mjs +23 -18
  694. package/dist/services/server/policy.mjs.map +1 -1
  695. package/dist/services/server/register-middlewares.js +68 -61
  696. package/dist/services/server/register-middlewares.js.map +1 -1
  697. package/dist/services/server/register-middlewares.mjs +67 -63
  698. package/dist/services/server/register-middlewares.mjs.map +1 -1
  699. package/dist/services/server/register-routes.js +109 -66
  700. package/dist/services/server/register-routes.js.map +1 -1
  701. package/dist/services/server/register-routes.mjs +108 -66
  702. package/dist/services/server/register-routes.mjs.map +1 -1
  703. package/dist/services/server/routing.d.ts +10 -0
  704. package/dist/services/server/routing.d.ts.map +1 -1
  705. package/dist/services/server/routing.js +100 -81
  706. package/dist/services/server/routing.js.map +1 -1
  707. package/dist/services/server/routing.mjs +99 -81
  708. package/dist/services/server/routing.mjs.map +1 -1
  709. package/dist/services/utils/conditional-fields.d.ts +3 -0
  710. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  711. package/dist/services/utils/conditional-fields.js +22 -0
  712. package/dist/services/utils/conditional-fields.js.map +1 -0
  713. package/dist/services/utils/conditional-fields.mjs +20 -0
  714. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  715. package/dist/services/utils/dynamic-zones.js +13 -14
  716. package/dist/services/utils/dynamic-zones.js.map +1 -1
  717. package/dist/services/utils/dynamic-zones.mjs +12 -16
  718. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  719. package/dist/services/webhook-runner.js +124 -122
  720. package/dist/services/webhook-runner.js.map +1 -1
  721. package/dist/services/webhook-runner.mjs +123 -121
  722. package/dist/services/webhook-runner.mjs.map +1 -1
  723. package/dist/services/webhook-store.js +132 -99
  724. package/dist/services/webhook-store.js.map +1 -1
  725. package/dist/services/webhook-store.mjs +131 -101
  726. package/dist/services/webhook-store.mjs.map +1 -1
  727. package/dist/services/worker-queue.js +44 -49
  728. package/dist/services/worker-queue.js.map +1 -1
  729. package/dist/services/worker-queue.mjs +43 -49
  730. package/dist/services/worker-queue.mjs.map +1 -1
  731. package/dist/utils/convert-custom-field-type.js +17 -20
  732. package/dist/utils/convert-custom-field-type.js.map +1 -1
  733. package/dist/utils/convert-custom-field-type.mjs +16 -21
  734. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  735. package/dist/utils/cron.js +64 -30
  736. package/dist/utils/cron.js.map +1 -1
  737. package/dist/utils/cron.mjs +63 -31
  738. package/dist/utils/cron.mjs.map +1 -1
  739. package/dist/utils/fetch.d.ts +5 -1
  740. package/dist/utils/fetch.d.ts.map +1 -1
  741. package/dist/utils/fetch.js +28 -18
  742. package/dist/utils/fetch.js.map +1 -1
  743. package/dist/utils/fetch.mjs +27 -19
  744. package/dist/utils/fetch.mjs.map +1 -1
  745. package/dist/utils/filepath-to-prop-path.js +20 -28
  746. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  747. package/dist/utils/filepath-to-prop-path.mjs +19 -26
  748. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  749. package/dist/utils/is-initialized.js +21 -12
  750. package/dist/utils/is-initialized.js.map +1 -1
  751. package/dist/utils/is-initialized.mjs +20 -13
  752. package/dist/utils/is-initialized.mjs.map +1 -1
  753. package/dist/utils/lifecycles.js +6 -5
  754. package/dist/utils/lifecycles.js.map +1 -1
  755. package/dist/utils/lifecycles.mjs +5 -6
  756. package/dist/utils/lifecycles.mjs.map +1 -1
  757. package/dist/utils/load-config-file.js +40 -38
  758. package/dist/utils/load-config-file.js.map +1 -1
  759. package/dist/utils/load-config-file.mjs +39 -36
  760. package/dist/utils/load-config-file.mjs.map +1 -1
  761. package/dist/utils/load-files.js +40 -35
  762. package/dist/utils/load-files.js.map +1 -1
  763. package/dist/utils/load-files.mjs +39 -32
  764. package/dist/utils/load-files.mjs.map +1 -1
  765. package/dist/utils/open-browser.js +8 -8
  766. package/dist/utils/open-browser.js.map +1 -1
  767. package/dist/utils/open-browser.mjs +7 -7
  768. package/dist/utils/open-browser.mjs.map +1 -1
  769. package/dist/utils/resolve-working-dirs.js +23 -10
  770. package/dist/utils/resolve-working-dirs.js.map +1 -1
  771. package/dist/utils/resolve-working-dirs.mjs +22 -9
  772. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  773. package/dist/utils/signals.js +20 -14
  774. package/dist/utils/signals.js.map +1 -1
  775. package/dist/utils/signals.mjs +19 -15
  776. package/dist/utils/signals.mjs.map +1 -1
  777. package/dist/utils/startup-logger.d.ts.map +1 -1
  778. package/dist/utils/startup-logger.js +107 -78
  779. package/dist/utils/startup-logger.js.map +1 -1
  780. package/dist/utils/startup-logger.mjs +106 -75
  781. package/dist/utils/startup-logger.mjs.map +1 -1
  782. package/dist/utils/transform-content-types-to-models.d.ts +197 -0
  783. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  784. package/dist/utils/transform-content-types-to-models.js +350 -261
  785. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  786. package/dist/utils/transform-content-types-to-models.mjs +349 -269
  787. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  788. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  789. package/dist/utils/update-notifier/index.js +68 -73
  790. package/dist/utils/update-notifier/index.js.map +1 -1
  791. package/dist/utils/update-notifier/index.mjs +67 -67
  792. package/dist/utils/update-notifier/index.mjs.map +1 -1
  793. package/package.json +29 -27
@@ -1,30 +1,54 @@
1
- import { isNil } from "lodash/fp";
2
- import { contentTypes } from "@strapi/utils";
3
- const getRelationTargetStatus = (relation, opts) => {
4
- const targetContentType = strapi.getModel(opts.targetUid);
5
- const sourceContentType = strapi.getModel(opts.sourceUid);
6
- const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);
7
- const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);
8
- if (!targetHasDP) {
9
- return ["published"];
10
- }
11
- if (sourceHasDP && !isNil(opts.sourceStatus)) {
12
- return [opts.sourceStatus];
13
- }
14
- if (relation.status) {
15
- switch (relation.status) {
16
- case "published":
17
- return ["published"];
18
- default:
19
- return ["draft"];
1
+ import { isNil } from 'lodash/fp';
2
+ import { contentTypes } from '@strapi/utils';
3
+
4
+ const getRelationTargetStatus = (relation, opts)=>{
5
+ // Ignore if the target content type does not have draft and publish enabled
6
+ const targetContentType = strapi.getModel(opts.targetUid);
7
+ const sourceContentType = strapi.getModel(opts.sourceUid);
8
+ const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);
9
+ const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);
10
+ if (!targetHasDP) {
11
+ return [
12
+ 'published'
13
+ ];
20
14
  }
21
- }
22
- if (!sourceHasDP) {
23
- return ["draft", "published"];
24
- }
25
- return ["draft"];
26
- };
27
- export {
28
- getRelationTargetStatus
15
+ /**
16
+ * If both source and target have DP enabled,
17
+ * connect it to the same status as the source status
18
+ */ if (sourceHasDP && !isNil(opts.sourceStatus)) {
19
+ return [
20
+ opts.sourceStatus
21
+ ];
22
+ }
23
+ /**
24
+ * Use the status from the relation if it's set
25
+ */ if (relation.status) {
26
+ switch(relation.status){
27
+ case 'published':
28
+ return [
29
+ 'published'
30
+ ];
31
+ default:
32
+ // Default to draft if it's an invalid status (e.g. modified)
33
+ return [
34
+ 'draft'
35
+ ];
36
+ }
37
+ }
38
+ /**
39
+ * If DP is disabled and relation does not specify any status
40
+ * Connect to both draft and published versions
41
+ */ if (!sourceHasDP) {
42
+ return [
43
+ 'draft',
44
+ 'published'
45
+ ];
46
+ }
47
+ // Default to draft as a fallback
48
+ return [
49
+ 'draft'
50
+ ];
29
51
  };
52
+
53
+ export { getRelationTargetStatus };
30
54
  //# sourceMappingURL=dp.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dp.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"sourcesContent":["import { isNil } from 'lodash/fp';\n\nimport { contentTypes } from '@strapi/utils';\nimport { UID } from '@strapi/types';\n\nimport { LongHandDocument } from './types';\n\ntype Status = 'draft' | 'published';\n\nexport const getRelationTargetStatus = (\n relation: Pick<LongHandDocument, 'documentId' | 'status'>,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceStatus?: Status;\n }\n): Status[] => {\n // Ignore if the target content type does not have draft and publish enabled\n const targetContentType = strapi.getModel(opts.targetUid);\n const sourceContentType = strapi.getModel(opts.sourceUid);\n\n const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);\n const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);\n\n if (!targetHasDP) {\n return ['published'];\n }\n\n /**\n * If both source and target have DP enabled,\n * connect it to the same status as the source status\n */\n if (sourceHasDP && !isNil(opts.sourceStatus)) {\n return [opts.sourceStatus];\n }\n\n /**\n * Use the status from the relation if it's set\n */\n if (relation.status) {\n switch (relation.status) {\n case 'published':\n return ['published'];\n default:\n // Default to draft if it's an invalid status (e.g. modified)\n return ['draft'];\n }\n }\n\n /**\n * If DP is disabled and relation does not specify any status\n * Connect to both draft and published versions\n */\n if (!sourceHasDP) {\n return ['draft', 'published'];\n }\n\n // Default to draft as a fallback\n return ['draft'];\n};\n"],"names":[],"mappings":";;AASa,MAAA,0BAA0B,CACrC,UACA,SAKa;AAEb,QAAM,oBAAoB,OAAO,SAAS,KAAK,SAAS;AACxD,QAAM,oBAAoB,OAAO,SAAS,KAAK,SAAS;AAElD,QAAA,cAAc,aAAa,mBAAmB,iBAAiB;AAC/D,QAAA,cAAc,aAAa,mBAAmB,iBAAiB;AAErE,MAAI,CAAC,aAAa;AAChB,WAAO,CAAC,WAAW;AAAA,EACrB;AAMA,MAAI,eAAe,CAAC,MAAM,KAAK,YAAY,GAAG;AACrC,WAAA,CAAC,KAAK,YAAY;AAAA,EAC3B;AAKA,MAAI,SAAS,QAAQ;AACnB,YAAQ,SAAS,QAAQ;AAAA,MACvB,KAAK;AACH,eAAO,CAAC,WAAW;AAAA,MACrB;AAEE,eAAO,CAAC,OAAO;AAAA,IACnB;AAAA,EACF;AAMA,MAAI,CAAC,aAAa;AACT,WAAA,CAAC,SAAS,WAAW;AAAA,EAC9B;AAGA,SAAO,CAAC,OAAO;AACjB;"}
1
+ {"version":3,"file":"dp.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/dp.ts"],"sourcesContent":["import { isNil } from 'lodash/fp';\n\nimport { contentTypes } from '@strapi/utils';\nimport type { UID } from '@strapi/types';\n\nimport { LongHandDocument } from './types';\n\ntype Status = 'draft' | 'published';\n\nexport const getRelationTargetStatus = (\n relation: Pick<LongHandDocument, 'documentId' | 'status'>,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceStatus?: Status;\n }\n): Status[] => {\n // Ignore if the target content type does not have draft and publish enabled\n const targetContentType = strapi.getModel(opts.targetUid);\n const sourceContentType = strapi.getModel(opts.sourceUid);\n\n const targetHasDP = contentTypes.hasDraftAndPublish(targetContentType);\n const sourceHasDP = contentTypes.hasDraftAndPublish(sourceContentType);\n\n if (!targetHasDP) {\n return ['published'];\n }\n\n /**\n * If both source and target have DP enabled,\n * connect it to the same status as the source status\n */\n if (sourceHasDP && !isNil(opts.sourceStatus)) {\n return [opts.sourceStatus];\n }\n\n /**\n * Use the status from the relation if it's set\n */\n if (relation.status) {\n switch (relation.status) {\n case 'published':\n return ['published'];\n default:\n // Default to draft if it's an invalid status (e.g. modified)\n return ['draft'];\n }\n }\n\n /**\n * If DP is disabled and relation does not specify any status\n * Connect to both draft and published versions\n */\n if (!sourceHasDP) {\n return ['draft', 'published'];\n }\n\n // Default to draft as a fallback\n return ['draft'];\n};\n"],"names":["getRelationTargetStatus","relation","opts","targetContentType","strapi","getModel","targetUid","sourceContentType","sourceUid","targetHasDP","contentTypes","hasDraftAndPublish","sourceHasDP","isNil","sourceStatus","status"],"mappings":";;;AASO,MAAMA,uBAA0B,GAAA,CACrCC,QACAC,EAAAA,IAAAA,GAAAA;;AAOA,IAAA,MAAMC,iBAAoBC,GAAAA,MAAAA,CAAOC,QAAQ,CAACH,KAAKI,SAAS,CAAA;AACxD,IAAA,MAAMC,iBAAoBH,GAAAA,MAAAA,CAAOC,QAAQ,CAACH,KAAKM,SAAS,CAAA;IAExD,MAAMC,WAAAA,GAAcC,YAAaC,CAAAA,kBAAkB,CAACR,iBAAAA,CAAAA;IACpD,MAAMS,WAAAA,GAAcF,YAAaC,CAAAA,kBAAkB,CAACJ,iBAAAA,CAAAA;AAEpD,IAAA,IAAI,CAACE,WAAa,EAAA;QAChB,OAAO;AAAC,YAAA;AAAY,SAAA;AACtB;AAEA;;;AAGC,MACD,IAAIG,WAAe,IAAA,CAACC,KAAMX,CAAAA,IAAAA,CAAKY,YAAY,CAAG,EAAA;QAC5C,OAAO;AAACZ,YAAAA,IAAAA,CAAKY;AAAa,SAAA;AAC5B;AAEA;;MAGA,IAAIb,QAASc,CAAAA,MAAM,EAAE;AACnB,QAAA,OAAQd,SAASc,MAAM;YACrB,KAAK,WAAA;gBACH,OAAO;AAAC,oBAAA;AAAY,iBAAA;AACtB,YAAA;;gBAEE,OAAO;AAAC,oBAAA;AAAQ,iBAAA;AACpB;AACF;AAEA;;;MAIA,IAAI,CAACH,WAAa,EAAA;QAChB,OAAO;AAAC,YAAA,OAAA;AAAS,YAAA;AAAY,SAAA;AAC/B;;IAGA,OAAO;AAAC,QAAA;AAAQ,KAAA;AAClB;;;;"}
@@ -1,4 +1,4 @@
1
- import { UID } from '@strapi/types';
1
+ import type { UID } from '@strapi/types';
2
2
  import { LongHandDocument } from './types';
3
3
  export declare const isLocalizedContentType: (uid: UID.Schema) => any;
4
4
  export declare const getDefaultLocale: () => any;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,sBAAsB,QAAS,IAAI,MAAM,QAGrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAE5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,gBAAgB,QACpB;IACJ,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,8BAiBF,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,sBAAsB,QAAS,IAAI,MAAM,QAGrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAE5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,aACxB,gBAAgB,QACpB;IACJ,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,8BAiBF,CAAC"}
@@ -1,24 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const isLocalizedContentType = (uid) => {
4
- const model = strapi.getModel(uid);
5
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
1
+ 'use strict';
2
+
3
+ const isLocalizedContentType = (uid)=>{
4
+ const model = strapi.getModel(uid);
5
+ return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);
6
6
  };
7
- const getDefaultLocale = () => {
8
- return strapi.plugin("i18n").service("locales").getDefaultLocale();
7
+ const getDefaultLocale = ()=>{
8
+ return strapi.plugin('i18n').service('locales').getDefaultLocale();
9
9
  };
10
- const getRelationTargetLocale = (relation, opts) => {
11
- const targetLocale = relation.locale || opts.sourceLocale;
12
- const isTargetLocalized = isLocalizedContentType(opts.targetUid);
13
- const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
14
- if (isSourceLocalized && isTargetLocalized) {
15
- return opts.sourceLocale;
16
- }
17
- if (isTargetLocalized) {
18
- return targetLocale;
19
- }
20
- return null;
10
+ const getRelationTargetLocale = (relation, opts)=>{
11
+ const targetLocale = relation.locale || opts.sourceLocale;
12
+ const isTargetLocalized = isLocalizedContentType(opts.targetUid);
13
+ const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
14
+ // Both source and target locales should match
15
+ if (isSourceLocalized && isTargetLocalized) {
16
+ return opts.sourceLocale;
17
+ }
18
+ if (isTargetLocalized) {
19
+ return targetLocale;
20
+ }
21
+ return null;
21
22
  };
23
+
22
24
  exports.getDefaultLocale = getDefaultLocale;
23
25
  exports.getRelationTargetLocale = getRelationTargetLocale;
24
26
  exports.isLocalizedContentType = isLocalizedContentType;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":[],"mappings":";;AAGa,MAAA,yBAAyB,CAAC,QAAoB;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AACpC,SAAO,OAAO,OAAO,MAAM,EAAE,QAAQ,SAAS,EAAE;AAClD;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACG,QAAA,eAAe,SAAS,UAAU,KAAK;AAEvC,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAC1C,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;;;;"}
1
+ {"version":3,"file":"i18n.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":["isLocalizedContentType","uid","model","strapi","getModel","plugin","service","getDefaultLocale","getRelationTargetLocale","relation","opts","targetLocale","locale","sourceLocale","isTargetLocalized","targetUid","isSourceLocalized","sourceUid"],"mappings":";;AAGO,MAAMA,yBAAyB,CAACC,GAAAA,GAAAA;IACrC,MAAMC,KAAAA,GAAQC,MAAOC,CAAAA,QAAQ,CAACH,GAAAA,CAAAA;IAC9B,OAAOE,MAAAA,CAAOE,MAAM,CAAC,MAAA,CAAA,CAAQC,OAAO,CAAC,eAAA,CAAA,CAAiBN,sBAAsB,CAACE,KAAAA,CAAAA;AAC/E;MAEaK,gBAAmB,GAAA,IAAA;AAC9B,IAAA,OAAOJ,OAAOE,MAAM,CAAC,QAAQC,OAAO,CAAC,WAAWC,gBAAgB,EAAA;AAClE;AAEO,MAAMC,uBAA0B,GAAA,CACrCC,QACAC,EAAAA,IAAAA,GAAAA;AAMA,IAAA,MAAMC,YAAeF,GAAAA,QAAAA,CAASG,MAAM,IAAIF,KAAKG,YAAY;IAEzD,MAAMC,iBAAAA,GAAoBd,sBAAuBU,CAAAA,IAAAA,CAAKK,SAAS,CAAA;IAC/D,MAAMC,iBAAAA,GAAoBhB,sBAAuBU,CAAAA,IAAAA,CAAKO,SAAS,CAAA;;AAG/D,IAAA,IAAID,qBAAqBF,iBAAmB,EAAA;AAC1C,QAAA,OAAOJ,KAAKG,YAAY;AAC1B;AAEA,IAAA,IAAIC,iBAAmB,EAAA;QACrB,OAAOH,YAAAA;AACT;IAEA,OAAO,IAAA;AACT;;;;;;"}
@@ -1,25 +1,23 @@
1
- const isLocalizedContentType = (uid) => {
2
- const model = strapi.getModel(uid);
3
- return strapi.plugin("i18n").service("content-types").isLocalizedContentType(model);
1
+ const isLocalizedContentType = (uid)=>{
2
+ const model = strapi.getModel(uid);
3
+ return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);
4
4
  };
5
- const getDefaultLocale = () => {
6
- return strapi.plugin("i18n").service("locales").getDefaultLocale();
5
+ const getDefaultLocale = ()=>{
6
+ return strapi.plugin('i18n').service('locales').getDefaultLocale();
7
7
  };
8
- const getRelationTargetLocale = (relation, opts) => {
9
- const targetLocale = relation.locale || opts.sourceLocale;
10
- const isTargetLocalized = isLocalizedContentType(opts.targetUid);
11
- const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
12
- if (isSourceLocalized && isTargetLocalized) {
13
- return opts.sourceLocale;
14
- }
15
- if (isTargetLocalized) {
16
- return targetLocale;
17
- }
18
- return null;
19
- };
20
- export {
21
- getDefaultLocale,
22
- getRelationTargetLocale,
23
- isLocalizedContentType
8
+ const getRelationTargetLocale = (relation, opts)=>{
9
+ const targetLocale = relation.locale || opts.sourceLocale;
10
+ const isTargetLocalized = isLocalizedContentType(opts.targetUid);
11
+ const isSourceLocalized = isLocalizedContentType(opts.sourceUid);
12
+ // Both source and target locales should match
13
+ if (isSourceLocalized && isTargetLocalized) {
14
+ return opts.sourceLocale;
15
+ }
16
+ if (isTargetLocalized) {
17
+ return targetLocale;
18
+ }
19
+ return null;
24
20
  };
21
+
22
+ export { getDefaultLocale, getRelationTargetLocale, isLocalizedContentType };
25
23
  //# sourceMappingURL=i18n.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":[],"mappings":"AAGa,MAAA,yBAAyB,CAAC,QAAoB;AACnD,QAAA,QAAQ,OAAO,SAAS,GAAG;AAC1B,SAAA,OAAO,OAAO,MAAM,EAAE,QAAQ,eAAe,EAAE,uBAAuB,KAAK;AACpF;AAEO,MAAM,mBAAmB,MAAM;AACpC,SAAO,OAAO,OAAO,MAAM,EAAE,QAAQ,SAAS,EAAE;AAClD;AAEa,MAAA,0BAA0B,CACrC,UACA,SAKG;AACG,QAAA,eAAe,SAAS,UAAU,KAAK;AAEvC,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AACzD,QAAA,oBAAoB,uBAAuB,KAAK,SAAS;AAG/D,MAAI,qBAAqB,mBAAmB;AAC1C,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,mBAAmB;AACd,WAAA;AAAA,EACT;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"i18n.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/i18n.ts"],"sourcesContent":["import type { UID } from '@strapi/types';\nimport { LongHandDocument } from './types';\n\nexport const isLocalizedContentType = (uid: UID.Schema) => {\n const model = strapi.getModel(uid);\n return strapi.plugin('i18n').service('content-types').isLocalizedContentType(model);\n};\n\nexport const getDefaultLocale = () => {\n return strapi.plugin('i18n').service('locales').getDefaultLocale();\n};\n\nexport const getRelationTargetLocale = (\n relation: LongHandDocument,\n opts: {\n targetUid: UID.Schema;\n sourceUid: UID.Schema;\n sourceLocale?: string | null;\n }\n) => {\n const targetLocale = relation.locale || opts.sourceLocale;\n\n const isTargetLocalized = isLocalizedContentType(opts.targetUid);\n const isSourceLocalized = isLocalizedContentType(opts.sourceUid);\n\n // Both source and target locales should match\n if (isSourceLocalized && isTargetLocalized) {\n return opts.sourceLocale;\n }\n\n if (isTargetLocalized) {\n return targetLocale;\n }\n\n return null;\n};\n"],"names":["isLocalizedContentType","uid","model","strapi","getModel","plugin","service","getDefaultLocale","getRelationTargetLocale","relation","opts","targetLocale","locale","sourceLocale","isTargetLocalized","targetUid","isSourceLocalized","sourceUid"],"mappings":"AAGO,MAAMA,yBAAyB,CAACC,GAAAA,GAAAA;IACrC,MAAMC,KAAAA,GAAQC,MAAOC,CAAAA,QAAQ,CAACH,GAAAA,CAAAA;IAC9B,OAAOE,MAAAA,CAAOE,MAAM,CAAC,MAAA,CAAA,CAAQC,OAAO,CAAC,eAAA,CAAA,CAAiBN,sBAAsB,CAACE,KAAAA,CAAAA;AAC/E;MAEaK,gBAAmB,GAAA,IAAA;AAC9B,IAAA,OAAOJ,OAAOE,MAAM,CAAC,QAAQC,OAAO,CAAC,WAAWC,gBAAgB,EAAA;AAClE;AAEO,MAAMC,uBAA0B,GAAA,CACrCC,QACAC,EAAAA,IAAAA,GAAAA;AAMA,IAAA,MAAMC,YAAeF,GAAAA,QAAAA,CAASG,MAAM,IAAIF,KAAKG,YAAY;IAEzD,MAAMC,iBAAAA,GAAoBd,sBAAuBU,CAAAA,IAAAA,CAAKK,SAAS,CAAA;IAC/D,MAAMC,iBAAAA,GAAoBhB,sBAAuBU,CAAAA,IAAAA,CAAKO,SAAS,CAAA;;AAG/D,IAAA,IAAID,qBAAqBF,iBAAmB,EAAA;AAC1C,QAAA,OAAOJ,KAAKG,YAAY;AAC1B;AAEA,IAAA,IAAIC,iBAAmB,EAAA;QACrB,OAAOH,YAAAA;AACT;IAEA,OAAO,IAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-relation.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAsJnC,QAAA,MAAM,kBAAkB,+CArHD,GAAG,KAAK,GAAG,8BAqHW,CAAC;AAC9C,QAAA,MAAM,8BAA8B,kPAAiC,CAAC;AAEtE,OAAO,EACL,kBAAkB,IAAI,WAAW,EACjC,8BAA8B,IAAI,uBAAuB,GAC1D,CAAC"}
1
+ {"version":3,"file":"map-relation.d.ts","sourceRoot":"","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAgJnC,QAAA,MAAM,kBAAkB,+CA/GD,GAAG,KAAK,GAAG,8BA+GW,CAAC;AAC9C,QAAA,MAAM,8BAA8B,kPAAiC,CAAC;AAEtE,OAAO,EACL,kBAAkB,IAAI,WAAW,EACjC,8BAA8B,IAAI,uBAAuB,GAC1D,CAAC"}
@@ -1,91 +1,130 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const fp = require("lodash/fp");
4
- const strapiUtils = require("@strapi/utils");
5
- const isNumeric = (value) => {
6
- if (Array.isArray(value))
7
- return false;
8
- const parsed = parseInt(value, 10);
9
- return !Number.isNaN(parsed);
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var strapiUtils = require('@strapi/utils');
5
+
6
+ const isNumeric = (value)=>{
7
+ if (Array.isArray(value)) return false; // Handle [1, 'docId'] case
8
+ const parsed = parseInt(value, 10);
9
+ return !Number.isNaN(parsed);
10
10
  };
11
- const toArray = (value) => {
12
- if (fp.isNil(value))
13
- return value;
14
- if (Array.isArray(value))
15
- return value;
16
- return [value];
11
+ const toArray = (value)=>{
12
+ // Keep value as it is if it's a nullish value
13
+ if (fp.isNil(value)) return value;
14
+ if (Array.isArray(value)) return value;
15
+ return [
16
+ value
17
+ ];
17
18
  };
18
- const mapRelation = async (callback, rel, isRecursive = false) => {
19
- let relation = rel;
20
- const wrapInSet = (value) => {
21
- if (isRecursive) {
22
- return value;
19
+ /**
20
+ * There are multiple ways to create Strapi relations.
21
+ * This is a utility to traverse and transform relation data
22
+ *
23
+ *
24
+ * For consistency and ease of use, the response will always be an object with the following shape:
25
+ * { set: [{...}], connect: [{...}], disconnect: [{...}] }
26
+ *
27
+ * @example
28
+ * transformRelationData({
29
+ * onLongHand: (relation) => {
30
+ * // Change the id of the relation
31
+ * return { id: 'other' };
32
+ * },
33
+ * }, relation)
34
+ */ const mapRelation = async (callback, rel, isRecursive = false)=>{
35
+ let relation = rel;
36
+ const wrapInSet = (value)=>{
37
+ // Ignore wrapping if it's a recursive call
38
+ if (isRecursive) {
39
+ return value;
40
+ }
41
+ return {
42
+ set: toArray(value)
43
+ };
44
+ };
45
+ // undefined | null
46
+ if (fp.isNil(relation)) {
47
+ return callback(relation);
23
48
  }
24
- return { set: toArray(value) };
25
- };
26
- if (fp.isNil(relation)) {
27
- return callback(relation);
28
- }
29
- if (Array.isArray(relation)) {
30
- return strapiUtils.async.map(relation, (r) => mapRelation(callback, r, true)).then((result) => result.flat().filter(Boolean)).then(wrapInSet);
31
- }
32
- if (fp.isObject(relation)) {
33
- if ("id" in relation || "documentId" in relation) {
34
- const result = await callback(relation);
35
- return wrapInSet(result);
36
- }
37
- if (!relation.set && !relation.disconnect && !relation.connect) {
38
- return callback(relation);
49
+ // LongHand[] | ShortHand[]
50
+ if (Array.isArray(relation)) {
51
+ return strapiUtils.async.map(relation, (r)=>mapRelation(callback, r, true)).then((result)=>result.flat().filter(Boolean)).then(wrapInSet);
39
52
  }
40
- if (relation.set) {
41
- const set = await mapRelation(callback, relation.set, true);
42
- relation = { ...relation, set: toArray(set) };
53
+ // LongHand
54
+ if (fp.isObject(relation)) {
55
+ // { id: 1 } || { documentId: 1 }
56
+ if ('id' in relation || 'documentId' in relation) {
57
+ const result = await callback(relation);
58
+ return wrapInSet(result);
59
+ }
60
+ // If not connecting anything, return default visitor
61
+ if (!relation.set && !relation.disconnect && !relation.connect) {
62
+ return callback(relation);
63
+ }
64
+ // { set }
65
+ if (relation.set) {
66
+ const set = await mapRelation(callback, relation.set, true);
67
+ relation = {
68
+ ...relation,
69
+ set: toArray(set)
70
+ };
71
+ }
72
+ // { disconnect}
73
+ if (relation.disconnect) {
74
+ const disconnect = await mapRelation(callback, relation.disconnect, true);
75
+ relation = {
76
+ ...relation,
77
+ disconnect: toArray(disconnect)
78
+ };
79
+ }
80
+ // { connect }
81
+ if (relation.connect) {
82
+ // Transform the relation to connect
83
+ const connect = await mapRelation(callback, relation.connect, true);
84
+ relation = {
85
+ ...relation,
86
+ connect: toArray(connect)
87
+ };
88
+ }
89
+ return relation;
43
90
  }
44
- if (relation.disconnect) {
45
- const disconnect = await mapRelation(callback, relation.disconnect, true);
46
- relation = { ...relation, disconnect: toArray(disconnect) };
91
+ // ShortHand
92
+ if (isNumeric(relation)) {
93
+ const result = await callback({
94
+ id: relation
95
+ });
96
+ return wrapInSet(result);
47
97
  }
48
- if (relation.connect) {
49
- const connect = await mapRelation(callback, relation.connect, true);
50
- relation = { ...relation, connect: toArray(connect) };
98
+ if (typeof relation === 'string') {
99
+ const result = await callback({
100
+ documentId: relation
101
+ });
102
+ return wrapInSet(result);
51
103
  }
52
- return relation;
53
- }
54
- if (isNumeric(relation)) {
55
- const result = await callback({ id: relation });
56
- return wrapInSet(result);
57
- }
58
- if (typeof relation === "string") {
59
- const result = await callback({ documentId: relation });
60
- return wrapInSet(result);
61
- }
62
- return callback(relation);
104
+ // Anything else
105
+ return callback(relation);
63
106
  };
64
- const traverseEntityRelations = async (visitor, options, data) => {
65
- return strapiUtils.traverseEntity(
66
- async (options2, utils) => {
67
- const { attribute } = options2;
68
- if (!attribute) {
69
- return;
70
- }
71
- if (attribute.type !== "relation") {
72
- return;
73
- }
74
- if (attribute.useJoinTable === false) {
75
- return;
76
- }
77
- const target = attribute.target;
78
- if (!target) {
79
- return;
80
- }
81
- return visitor(options2, utils);
82
- },
83
- options,
84
- data
85
- );
107
+ /**
108
+ * Utility function, same as `traverseEntity` but only for relations.
109
+ */ const traverseEntityRelations = async (visitor, options, data)=>{
110
+ return strapiUtils.traverseEntity(async (options, utils)=>{
111
+ const { attribute } = options;
112
+ if (!attribute) {
113
+ return;
114
+ }
115
+ if (attribute.type !== 'relation') {
116
+ return;
117
+ }
118
+ // TODO: Handle join columns
119
+ if (attribute.useJoinTable === false) {
120
+ return;
121
+ }
122
+ return visitor(options, utils);
123
+ }, options, data);
86
124
  };
87
125
  const mapRelationCurried = fp.curry(mapRelation);
88
126
  const traverseEntityRelationsCurried = fp.curry(traverseEntityRelations);
127
+
89
128
  exports.mapRelation = mapRelationCurried;
90
129
  exports.traverseEntityRelations = traverseEntityRelationsCurried;
91
130
  //# sourceMappingURL=map-relation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-relation.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"sourcesContent":["/* eslint-disable node/no-callback-literal */\nimport { isObject, curry, isNil } from 'lodash/fp';\n\nimport type { UID } from '@strapi/types';\nimport { traverseEntity, async } from '@strapi/utils';\n\nimport { Relation } from './types';\n\nconst isNumeric = (value: any): value is number => {\n if (Array.isArray(value)) return false; // Handle [1, 'docId'] case\n const parsed = parseInt(value, 10);\n return !Number.isNaN(parsed);\n};\n\nconst toArray = (value: any) => {\n // Keep value as it is if it's a nullish value\n if (isNil(value)) return value;\n if (Array.isArray(value)) return value;\n\n return [value];\n};\n\n/**\n * There are multiple ways to create Strapi relations.\n * This is a utility to traverse and transform relation data\n *\n *\n * For consistency and ease of use, the response will always be an object with the following shape:\n * { set: [{...}], connect: [{...}], disconnect: [{...}] }\n *\n * @example\n * transformRelationData({\n * onLongHand: (relation) => {\n * // Change the id of the relation\n * return { id: 'other' };\n * },\n * }, relation)\n */\nconst mapRelation = async (\n callback: (relation: any) => any,\n rel: Relation,\n isRecursive = false\n): Promise<Relation> => {\n let relation: Relation = rel;\n\n const wrapInSet = (value: any) => {\n // Ignore wrapping if it's a recursive call\n if (isRecursive) {\n return value;\n }\n return { set: toArray(value) };\n };\n\n // undefined | null\n if (isNil(relation)) {\n return callback(relation);\n }\n\n // LongHand[] | ShortHand[]\n if (Array.isArray(relation)) {\n return async\n .map(relation, (r: Relation) => mapRelation(callback, r, true))\n .then((result: any) => result.flat().filter(Boolean))\n .then(wrapInSet);\n }\n\n // LongHand\n if (isObject(relation)) {\n // { id: 1 } || { documentId: 1 }\n if ('id' in relation || 'documentId' in relation) {\n const result = await callback(relation);\n return wrapInSet(result);\n }\n\n // If not connecting anything, return default visitor\n if (!relation.set && !relation.disconnect && !relation.connect) {\n return callback(relation);\n }\n\n // { set }\n if (relation.set) {\n const set: any = await mapRelation(callback, relation.set, true);\n relation = { ...relation, set: toArray(set) };\n }\n\n // { disconnect}\n if (relation.disconnect) {\n const disconnect: any = await mapRelation(callback, relation.disconnect, true);\n relation = { ...relation, disconnect: toArray(disconnect) };\n }\n\n // { connect }\n if (relation.connect) {\n // Transform the relation to connect\n const connect: any = await mapRelation(callback, relation.connect, true);\n relation = { ...relation, connect: toArray(connect) };\n }\n\n return relation;\n }\n\n // ShortHand\n if (isNumeric(relation)) {\n const result = await callback({ id: relation });\n return wrapInSet(result);\n }\n\n if (typeof relation === 'string') {\n const result = await callback({ documentId: relation });\n return wrapInSet(result);\n }\n\n // Anything else\n return callback(relation);\n};\n\ntype TraverseEntity = Parameters<typeof traverseEntity>;\n\n/**\n * Utility function, same as `traverseEntity` but only for relations.\n */\nconst traverseEntityRelations = async (\n visitor: TraverseEntity[0],\n options: TraverseEntity[1],\n data: TraverseEntity[2]\n) => {\n return traverseEntity(\n async (options, utils) => {\n const { attribute } = options;\n\n if (!attribute) {\n return;\n }\n\n if (attribute.type !== 'relation') {\n return;\n }\n\n // TODO: Handle join columns\n if (attribute.useJoinTable === false) {\n return;\n }\n\n // TODO: Handle morph relations (they have multiple targets)\n const target = attribute.target as UID.Schema | undefined;\n if (!target) {\n return;\n }\n\n return visitor(options, utils);\n },\n options,\n data\n );\n};\n\nconst mapRelationCurried = curry(mapRelation);\nconst traverseEntityRelationsCurried = curry(traverseEntityRelations);\n\nexport {\n mapRelationCurried as mapRelation,\n traverseEntityRelationsCurried as traverseEntityRelations,\n};\n"],"names":["isNil","async","isObject","traverseEntity","options","curry"],"mappings":";;;;AAQA,MAAM,YAAY,CAAC,UAAgC;AAC7C,MAAA,MAAM,QAAQ,KAAK;AAAU,WAAA;AAC3B,QAAA,SAAS,SAAS,OAAO,EAAE;AAC1B,SAAA,CAAC,OAAO,MAAM,MAAM;AAC7B;AAEA,MAAM,UAAU,CAAC,UAAe;AAE9B,MAAIA,GAAAA,MAAM,KAAK;AAAU,WAAA;AACrB,MAAA,MAAM,QAAQ,KAAK;AAAU,WAAA;AAEjC,SAAO,CAAC,KAAK;AACf;AAkBA,MAAM,cAAc,OAClB,UACA,KACA,cAAc,UACQ;AACtB,MAAI,WAAqB;AAEnB,QAAA,YAAY,CAAC,UAAe;AAEhC,QAAI,aAAa;AACR,aAAA;AAAA,IACT;AACA,WAAO,EAAE,KAAK,QAAQ,KAAK,EAAE;AAAA,EAAA;AAI3B,MAAAA,GAAAA,MAAM,QAAQ,GAAG;AACnB,WAAO,SAAS,QAAQ;AAAA,EAC1B;AAGI,MAAA,MAAM,QAAQ,QAAQ,GAAG;AACpB,WAAAC,YAAA,MACJ,IAAI,UAAU,CAAC,MAAgB,YAAY,UAAU,GAAG,IAAI,CAAC,EAC7D,KAAK,CAAC,WAAgB,OAAO,OAAO,OAAO,OAAO,CAAC,EACnD,KAAK,SAAS;AAAA,EACnB;AAGI,MAAAC,GAAAA,SAAS,QAAQ,GAAG;AAElB,QAAA,QAAQ,YAAY,gBAAgB,UAAU;AAC1C,YAAA,SAAS,MAAM,SAAS,QAAQ;AACtC,aAAO,UAAU,MAAM;AAAA,IACzB;AAGI,QAAA,CAAC,SAAS,OAAO,CAAC,SAAS,cAAc,CAAC,SAAS,SAAS;AAC9D,aAAO,SAAS,QAAQ;AAAA,IAC1B;AAGA,QAAI,SAAS,KAAK;AAChB,YAAM,MAAW,MAAM,YAAY,UAAU,SAAS,KAAK,IAAI;AAC/D,iBAAW,EAAE,GAAG,UAAU,KAAK,QAAQ,GAAG;IAC5C;AAGA,QAAI,SAAS,YAAY;AACvB,YAAM,aAAkB,MAAM,YAAY,UAAU,SAAS,YAAY,IAAI;AAC7E,iBAAW,EAAE,GAAG,UAAU,YAAY,QAAQ,UAAU;IAC1D;AAGA,QAAI,SAAS,SAAS;AAEpB,YAAM,UAAe,MAAM,YAAY,UAAU,SAAS,SAAS,IAAI;AACvE,iBAAW,EAAE,GAAG,UAAU,SAAS,QAAQ,OAAO;IACpD;AAEO,WAAA;AAAA,EACT;AAGI,MAAA,UAAU,QAAQ,GAAG;AACvB,UAAM,SAAS,MAAM,SAAS,EAAE,IAAI,SAAU,CAAA;AAC9C,WAAO,UAAU,MAAM;AAAA,EACzB;AAEI,MAAA,OAAO,aAAa,UAAU;AAChC,UAAM,SAAS,MAAM,SAAS,EAAE,YAAY,SAAU,CAAA;AACtD,WAAO,UAAU,MAAM;AAAA,EACzB;AAGA,SAAO,SAAS,QAAQ;AAC1B;AAOA,MAAM,0BAA0B,OAC9B,SACA,SACA,SACG;AACI,SAAAC,YAAA;AAAA,IACL,OAAOC,UAAS,UAAU;AAClB,YAAA,EAAE,UAAcA,IAAAA;AAEtB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEI,UAAA,UAAU,SAAS,YAAY;AACjC;AAAA,MACF;AAGI,UAAA,UAAU,iBAAiB,OAAO;AACpC;AAAA,MACF;AAGA,YAAM,SAAS,UAAU;AACzB,UAAI,CAAC,QAAQ;AACX;AAAA,MACF;AAEO,aAAA,QAAQA,UAAS,KAAK;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEM,MAAA,qBAAqBC,SAAM,WAAW;AACtC,MAAA,iCAAiCA,SAAM,uBAAuB;;;"}
1
+ {"version":3,"file":"map-relation.js","sources":["../../../../../../src/services/document-service/transform/relations/utils/map-relation.ts"],"sourcesContent":["/* eslint-disable node/no-callback-literal */\nimport { isObject, curry, isNil } from 'lodash/fp';\n\nimport { traverseEntity, async } from '@strapi/utils';\n\nimport { Relation } from './types';\n\nconst isNumeric = (value: any): value is number => {\n if (Array.isArray(value)) return false; // Handle [1, 'docId'] case\n const parsed = parseInt(value, 10);\n return !Number.isNaN(parsed);\n};\n\nconst toArray = (value: any) => {\n // Keep value as it is if it's a nullish value\n if (isNil(value)) return value;\n if (Array.isArray(value)) return value;\n\n return [value];\n};\n\n/**\n * There are multiple ways to create Strapi relations.\n * This is a utility to traverse and transform relation data\n *\n *\n * For consistency and ease of use, the response will always be an object with the following shape:\n * { set: [{...}], connect: [{...}], disconnect: [{...}] }\n *\n * @example\n * transformRelationData({\n * onLongHand: (relation) => {\n * // Change the id of the relation\n * return { id: 'other' };\n * },\n * }, relation)\n */\nconst mapRelation = async (\n callback: (relation: any) => any,\n rel: Relation,\n isRecursive = false\n): Promise<Relation> => {\n let relation: Relation = rel;\n\n const wrapInSet = (value: any) => {\n // Ignore wrapping if it's a recursive call\n if (isRecursive) {\n return value;\n }\n return { set: toArray(value) };\n };\n\n // undefined | null\n if (isNil(relation)) {\n return callback(relation);\n }\n\n // LongHand[] | ShortHand[]\n if (Array.isArray(relation)) {\n return async\n .map(relation, (r: Relation) => mapRelation(callback, r, true))\n .then((result: any) => result.flat().filter(Boolean))\n .then(wrapInSet);\n }\n\n // LongHand\n if (isObject(relation)) {\n // { id: 1 } || { documentId: 1 }\n if ('id' in relation || 'documentId' in relation) {\n const result = await callback(relation);\n return wrapInSet(result);\n }\n\n // If not connecting anything, return default visitor\n if (!relation.set && !relation.disconnect && !relation.connect) {\n return callback(relation);\n }\n\n // { set }\n if (relation.set) {\n const set: any = await mapRelation(callback, relation.set, true);\n relation = { ...relation, set: toArray(set) };\n }\n\n // { disconnect}\n if (relation.disconnect) {\n const disconnect: any = await mapRelation(callback, relation.disconnect, true);\n relation = { ...relation, disconnect: toArray(disconnect) };\n }\n\n // { connect }\n if (relation.connect) {\n // Transform the relation to connect\n const connect: any = await mapRelation(callback, relation.connect, true);\n relation = { ...relation, connect: toArray(connect) };\n }\n\n return relation;\n }\n\n // ShortHand\n if (isNumeric(relation)) {\n const result = await callback({ id: relation });\n return wrapInSet(result);\n }\n\n if (typeof relation === 'string') {\n const result = await callback({ documentId: relation });\n return wrapInSet(result);\n }\n\n // Anything else\n return callback(relation);\n};\n\ntype TraverseEntity = Parameters<typeof traverseEntity>;\n\n/**\n * Utility function, same as `traverseEntity` but only for relations.\n */\nconst traverseEntityRelations = async (\n visitor: TraverseEntity[0],\n options: TraverseEntity[1],\n data: TraverseEntity[2]\n) => {\n return traverseEntity(\n async (options, utils) => {\n const { attribute } = options;\n\n if (!attribute) {\n return;\n }\n\n if (attribute.type !== 'relation') {\n return;\n }\n\n // TODO: Handle join columns\n if (attribute.useJoinTable === false) {\n return;\n }\n\n return visitor(options, utils);\n },\n options,\n data\n );\n};\n\nconst mapRelationCurried = curry(mapRelation);\nconst traverseEntityRelationsCurried = curry(traverseEntityRelations);\n\nexport {\n mapRelationCurried as mapRelation,\n traverseEntityRelationsCurried as traverseEntityRelations,\n};\n"],"names":["isNumeric","value","Array","isArray","parsed","parseInt","Number","isNaN","toArray","isNil","mapRelation","callback","rel","isRecursive","relation","wrapInSet","set","async","map","r","then","result","flat","filter","Boolean","isObject","disconnect","connect","id","documentId","traverseEntityRelations","visitor","options","data","traverseEntity","utils","attribute","type","useJoinTable","mapRelationCurried","curry","traverseEntityRelationsCurried"],"mappings":";;;;;AAOA,MAAMA,YAAY,CAACC,KAAAA,GAAAA;AACjB,IAAA,IAAIC,MAAMC,OAAO,CAACF,KAAQ,CAAA,EAAA,OAAO;IACjC,MAAMG,MAAAA,GAASC,SAASJ,KAAO,EAAA,EAAA,CAAA;IAC/B,OAAO,CAACK,MAAOC,CAAAA,KAAK,CAACH,MAAAA,CAAAA;AACvB,CAAA;AAEA,MAAMI,UAAU,CAACP,KAAAA,GAAAA;;IAEf,IAAIQ,QAAAA,CAAMR,QAAQ,OAAOA,KAAAA;AACzB,IAAA,IAAIC,KAAMC,CAAAA,OAAO,CAACF,KAAAA,CAAAA,EAAQ,OAAOA,KAAAA;IAEjC,OAAO;AAACA,QAAAA;AAAM,KAAA;AAChB,CAAA;AAEA;;;;;;;;;;;;;;;AAeC,IACD,MAAMS,WAAc,GAAA,OAClBC,QACAC,EAAAA,GAAAA,EACAC,cAAc,KAAK,GAAA;AAEnB,IAAA,IAAIC,QAAqBF,GAAAA,GAAAA;AAEzB,IAAA,MAAMG,YAAY,CAACd,KAAAA,GAAAA;;AAEjB,QAAA,IAAIY,WAAa,EAAA;YACf,OAAOZ,KAAAA;AACT;QACA,OAAO;AAAEe,YAAAA,GAAAA,EAAKR,OAAQP,CAAAA,KAAAA;AAAO,SAAA;AAC/B,KAAA;;AAGA,IAAA,IAAIQ,SAAMK,QAAW,CAAA,EAAA;AACnB,QAAA,OAAOH,QAASG,CAAAA,QAAAA,CAAAA;AAClB;;IAGA,IAAIZ,KAAAA,CAAMC,OAAO,CAACW,QAAW,CAAA,EAAA;QAC3B,OAAOG,iBAAAA,CACJC,GAAG,CAACJ,QAAAA,EAAU,CAACK,CAAgBT,GAAAA,WAAAA,CAAYC,UAAUQ,CAAG,EAAA,IAAA,CAAA,CAAA,CACxDC,IAAI,CAAC,CAACC,SAAgBA,MAAOC,CAAAA,IAAI,GAAGC,MAAM,CAACC,OAC3CJ,CAAAA,CAAAA,CAAAA,IAAI,CAACL,SAAAA,CAAAA;AACV;;AAGA,IAAA,IAAIU,YAASX,QAAW,CAAA,EAAA;;QAEtB,IAAI,IAAA,IAAQA,QAAY,IAAA,YAAA,IAAgBA,QAAU,EAAA;YAChD,MAAMO,MAAAA,GAAS,MAAMV,QAASG,CAAAA,QAAAA,CAAAA;AAC9B,YAAA,OAAOC,SAAUM,CAAAA,MAAAA,CAAAA;AACnB;;QAGA,IAAI,CAACP,QAASE,CAAAA,GAAG,IAAI,CAACF,QAASY,CAAAA,UAAU,IAAI,CAACZ,QAASa,CAAAA,OAAO,EAAE;AAC9D,YAAA,OAAOhB,QAASG,CAAAA,QAAAA,CAAAA;AAClB;;QAGA,IAAIA,QAAAA,CAASE,GAAG,EAAE;AAChB,YAAA,MAAMA,MAAW,MAAMN,WAAAA,CAAYC,QAAUG,EAAAA,QAAAA,CAASE,GAAG,EAAE,IAAA,CAAA;YAC3DF,QAAW,GAAA;AAAE,gBAAA,GAAGA,QAAQ;AAAEE,gBAAAA,GAAAA,EAAKR,OAAQQ,CAAAA,GAAAA;AAAK,aAAA;AAC9C;;QAGA,IAAIF,QAAAA,CAASY,UAAU,EAAE;AACvB,YAAA,MAAMA,aAAkB,MAAMhB,WAAAA,CAAYC,QAAUG,EAAAA,QAAAA,CAASY,UAAU,EAAE,IAAA,CAAA;YACzEZ,QAAW,GAAA;AAAE,gBAAA,GAAGA,QAAQ;AAAEY,gBAAAA,UAAAA,EAAYlB,OAAQkB,CAAAA,UAAAA;AAAY,aAAA;AAC5D;;QAGA,IAAIZ,QAAAA,CAASa,OAAO,EAAE;;AAEpB,YAAA,MAAMA,UAAe,MAAMjB,WAAAA,CAAYC,QAAUG,EAAAA,QAAAA,CAASa,OAAO,EAAE,IAAA,CAAA;YACnEb,QAAW,GAAA;AAAE,gBAAA,GAAGA,QAAQ;AAAEa,gBAAAA,OAAAA,EAASnB,OAAQmB,CAAAA,OAAAA;AAAS,aAAA;AACtD;QAEA,OAAOb,QAAAA;AACT;;AAGA,IAAA,IAAId,UAAUc,QAAW,CAAA,EAAA;QACvB,MAAMO,MAAAA,GAAS,MAAMV,QAAS,CAAA;YAAEiB,EAAId,EAAAA;AAAS,SAAA,CAAA;AAC7C,QAAA,OAAOC,SAAUM,CAAAA,MAAAA,CAAAA;AACnB;IAEA,IAAI,OAAOP,aAAa,QAAU,EAAA;QAChC,MAAMO,MAAAA,GAAS,MAAMV,QAAS,CAAA;YAAEkB,UAAYf,EAAAA;AAAS,SAAA,CAAA;AACrD,QAAA,OAAOC,SAAUM,CAAAA,MAAAA,CAAAA;AACnB;;AAGA,IAAA,OAAOV,QAASG,CAAAA,QAAAA,CAAAA;AAClB,CAAA;AAIA;;AAEC,IACD,MAAMgB,uBAAAA,GAA0B,OAC9BC,OAAAA,EACAC,OACAC,EAAAA,IAAAA,GAAAA;IAEA,OAAOC,0BAAAA,CACL,OAAOF,OAASG,EAAAA,KAAAA,GAAAA;QACd,MAAM,EAAEC,SAAS,EAAE,GAAGJ,OAAAA;AAEtB,QAAA,IAAI,CAACI,SAAW,EAAA;AACd,YAAA;AACF;QAEA,IAAIA,SAAAA,CAAUC,IAAI,KAAK,UAAY,EAAA;AACjC,YAAA;AACF;;QAGA,IAAID,SAAAA,CAAUE,YAAY,KAAK,KAAO,EAAA;AACpC,YAAA;AACF;AAEA,QAAA,OAAOP,QAAQC,OAASG,EAAAA,KAAAA,CAAAA;AAC1B,KAAA,EACAH,OACAC,EAAAA,IAAAA,CAAAA;AAEJ,CAAA;AAEA,MAAMM,qBAAqBC,QAAM9B,CAAAA,WAAAA;AACjC,MAAM+B,iCAAiCD,QAAMV,CAAAA,uBAAAA;;;;;"}