@payloadcms/drizzle 3.0.0-canary.2c2c95f → 3.0.0-canary.3eda767

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/dist/count.d.ts.map +1 -1
  2. package/dist/count.js +2 -2
  3. package/dist/count.js.map +1 -1
  4. package/dist/create.js +1 -1
  5. package/dist/create.js.map +1 -1
  6. package/dist/createGlobal.js +1 -1
  7. package/dist/createGlobal.js.map +1 -1
  8. package/dist/createGlobalVersion.d.ts +1 -1
  9. package/dist/createGlobalVersion.d.ts.map +1 -1
  10. package/dist/createGlobalVersion.js +7 -3
  11. package/dist/createGlobalVersion.js.map +1 -1
  12. package/dist/createTableName.d.ts.map +1 -1
  13. package/dist/createTableName.js +6 -2
  14. package/dist/createTableName.js.map +1 -1
  15. package/dist/createVersion.d.ts +1 -1
  16. package/dist/createVersion.d.ts.map +1 -1
  17. package/dist/createVersion.js +22 -15
  18. package/dist/createVersion.js.map +1 -1
  19. package/dist/deleteMany.js +1 -1
  20. package/dist/deleteMany.js.map +1 -1
  21. package/dist/deleteOne.d.ts.map +1 -1
  22. package/dist/deleteOne.js +6 -4
  23. package/dist/deleteOne.js.map +1 -1
  24. package/dist/deleteVersions.js +2 -2
  25. package/dist/deleteVersions.js.map +1 -1
  26. package/dist/destroy.d.ts.map +1 -1
  27. package/dist/destroy.js +3 -1
  28. package/dist/destroy.js.map +1 -1
  29. package/dist/exports/postgres.d.ts +15 -0
  30. package/dist/exports/postgres.d.ts.map +1 -0
  31. package/dist/exports/postgres.js +16 -0
  32. package/dist/exports/postgres.js.map +1 -0
  33. package/dist/find/buildFindManyArgs.d.ts +14 -7
  34. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  35. package/dist/find/buildFindManyArgs.js +9 -2
  36. package/dist/find/buildFindManyArgs.js.map +1 -1
  37. package/dist/find/findMany.d.ts +2 -1
  38. package/dist/find/findMany.d.ts.map +1 -1
  39. package/dist/find/findMany.js +11 -7
  40. package/dist/find/findMany.js.map +1 -1
  41. package/dist/find/traverseFields.d.ts +8 -3
  42. package/dist/find/traverseFields.d.ts.map +1 -1
  43. package/dist/find/traverseFields.js +157 -17
  44. package/dist/find/traverseFields.js.map +1 -1
  45. package/dist/find.d.ts.map +1 -1
  46. package/dist/find.js +3 -2
  47. package/dist/find.js.map +1 -1
  48. package/dist/findGlobalVersions.js +2 -2
  49. package/dist/findGlobalVersions.js.map +1 -1
  50. package/dist/findMigrationDir.d.ts.map +1 -1
  51. package/dist/findMigrationDir.js +3 -1
  52. package/dist/findMigrationDir.js.map +1 -1
  53. package/dist/findOne.d.ts +1 -1
  54. package/dist/findOne.d.ts.map +1 -1
  55. package/dist/findOne.js +2 -1
  56. package/dist/findOne.js.map +1 -1
  57. package/dist/findVersions.js +2 -2
  58. package/dist/findVersions.js.map +1 -1
  59. package/dist/index.d.ts +3 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +3 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/migrate.d.ts +1 -1
  64. package/dist/migrate.d.ts.map +1 -1
  65. package/dist/migrate.js +7 -10
  66. package/dist/migrate.js.map +1 -1
  67. package/dist/migrateDown.d.ts.map +1 -1
  68. package/dist/migrateDown.js +1 -1
  69. package/dist/migrateDown.js.map +1 -1
  70. package/dist/migrateFresh.d.ts.map +1 -1
  71. package/dist/migrateFresh.js +1 -0
  72. package/dist/migrateFresh.js.map +1 -1
  73. package/dist/migrateRefresh.d.ts.map +1 -1
  74. package/dist/migrateRefresh.js +2 -1
  75. package/dist/migrateRefresh.js.map +1 -1
  76. package/dist/migrateReset.d.ts.map +1 -1
  77. package/dist/migrateReset.js +5 -3
  78. package/dist/migrateReset.js.map +1 -1
  79. package/dist/migrateStatus.js +0 -1
  80. package/dist/migrateStatus.js.map +1 -1
  81. package/dist/postgres/countDistinct.d.ts +3 -0
  82. package/dist/postgres/countDistinct.d.ts.map +1 -0
  83. package/dist/postgres/countDistinct.js +23 -0
  84. package/dist/postgres/countDistinct.js.map +1 -0
  85. package/dist/postgres/createDatabase.d.ts +14 -0
  86. package/dist/postgres/createDatabase.d.ts.map +1 -0
  87. package/dist/postgres/createDatabase.js +76 -0
  88. package/dist/postgres/createDatabase.js.map +1 -0
  89. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts +2 -0
  90. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.d.ts.map +1 -0
  91. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js +16 -0
  92. package/dist/postgres/createJSONQuery/convertPathToJSONTraversal.js.map +1 -0
  93. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts +2 -0
  94. package/dist/postgres/createJSONQuery/formatJSONPathSegment.d.ts.map +1 -0
  95. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js +5 -0
  96. package/dist/postgres/createJSONQuery/formatJSONPathSegment.js.map +1 -0
  97. package/dist/postgres/createJSONQuery/index.d.ts +10 -0
  98. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -0
  99. package/dist/postgres/createJSONQuery/index.js +54 -0
  100. package/dist/postgres/createJSONQuery/index.js.map +1 -0
  101. package/dist/postgres/createMigration.d.ts +3 -0
  102. package/dist/postgres/createMigration.d.ts.map +1 -0
  103. package/dist/postgres/createMigration.js +95 -0
  104. package/dist/postgres/createMigration.js.map +1 -0
  105. package/dist/postgres/defaultSnapshot.d.ts +3 -0
  106. package/dist/postgres/defaultSnapshot.d.ts.map +1 -0
  107. package/dist/postgres/defaultSnapshot.js +18 -0
  108. package/dist/postgres/defaultSnapshot.js.map +1 -0
  109. package/dist/postgres/deleteWhere.d.ts +3 -0
  110. package/dist/postgres/deleteWhere.d.ts.map +1 -0
  111. package/dist/postgres/deleteWhere.js +6 -0
  112. package/dist/postgres/deleteWhere.js.map +1 -0
  113. package/dist/postgres/dropDatabase.d.ts +3 -0
  114. package/dist/postgres/dropDatabase.d.ts.map +1 -0
  115. package/dist/postgres/dropDatabase.js +9 -0
  116. package/dist/postgres/dropDatabase.js.map +1 -0
  117. package/dist/postgres/execute.d.ts +3 -0
  118. package/dist/postgres/execute.d.ts.map +1 -0
  119. package/dist/postgres/execute.js +11 -0
  120. package/dist/postgres/execute.js.map +1 -0
  121. package/dist/postgres/getMigrationTemplate.d.ts +4 -0
  122. package/dist/postgres/getMigrationTemplate.d.ts.map +1 -0
  123. package/dist/postgres/getMigrationTemplate.js +13 -0
  124. package/dist/postgres/getMigrationTemplate.js.map +1 -0
  125. package/dist/postgres/init.d.ts +3 -0
  126. package/dist/postgres/init.d.ts.map +1 -0
  127. package/dist/postgres/init.js +104 -0
  128. package/dist/postgres/init.js.map +1 -0
  129. package/dist/postgres/insert.d.ts +3 -0
  130. package/dist/postgres/insert.d.ts.map +1 -0
  131. package/dist/postgres/insert.js +12 -0
  132. package/dist/postgres/insert.js.map +1 -0
  133. package/dist/postgres/requireDrizzleKit.d.ts +3 -0
  134. package/dist/postgres/requireDrizzleKit.d.ts.map +1 -0
  135. package/dist/postgres/requireDrizzleKit.js +5 -0
  136. package/dist/postgres/requireDrizzleKit.js.map +1 -0
  137. package/dist/postgres/schema/build.d.ts +42 -0
  138. package/dist/postgres/schema/build.d.ts.map +1 -0
  139. package/dist/postgres/schema/build.js +404 -0
  140. package/dist/postgres/schema/build.js.map +1 -0
  141. package/dist/postgres/schema/createIndex.d.ts +11 -0
  142. package/dist/postgres/schema/createIndex.d.ts.map +1 -0
  143. package/dist/postgres/schema/createIndex.js +20 -0
  144. package/dist/postgres/schema/createIndex.js.map +1 -0
  145. package/dist/postgres/schema/idToUUID.d.ts +3 -0
  146. package/dist/postgres/schema/idToUUID.d.ts.map +1 -0
  147. package/dist/postgres/schema/idToUUID.js +11 -0
  148. package/dist/postgres/schema/idToUUID.js.map +1 -0
  149. package/dist/postgres/schema/parentIDColumnMap.d.ts +4 -0
  150. package/dist/postgres/schema/parentIDColumnMap.d.ts.map +1 -0
  151. package/dist/postgres/schema/parentIDColumnMap.js +9 -0
  152. package/dist/postgres/schema/parentIDColumnMap.js.map +1 -0
  153. package/dist/postgres/schema/setColumnID.d.ts +11 -0
  154. package/dist/postgres/schema/setColumnID.d.ts.map +1 -0
  155. package/dist/postgres/schema/setColumnID.js +24 -0
  156. package/dist/postgres/schema/setColumnID.js.map +1 -0
  157. package/dist/postgres/schema/traverseFields.d.ts +42 -0
  158. package/dist/postgres/schema/traverseFields.d.ts.map +1 -0
  159. package/dist/postgres/schema/traverseFields.js +739 -0
  160. package/dist/postgres/schema/traverseFields.js.map +1 -0
  161. package/dist/postgres/schema/withDefault.d.ts +4 -0
  162. package/dist/postgres/schema/withDefault.d.ts.map +1 -0
  163. package/dist/postgres/schema/withDefault.js +12 -0
  164. package/dist/postgres/schema/withDefault.js.map +1 -0
  165. package/dist/postgres/types.d.ts +139 -0
  166. package/dist/postgres/types.d.ts.map +1 -0
  167. package/dist/postgres/types.js +3 -0
  168. package/dist/postgres/types.js.map +1 -0
  169. package/dist/queries/addJoinTable.d.ts +11 -0
  170. package/dist/queries/addJoinTable.d.ts.map +1 -0
  171. package/dist/queries/addJoinTable.js +13 -0
  172. package/dist/queries/addJoinTable.js.map +1 -0
  173. package/dist/queries/buildAndOrConditions.d.ts +1 -1
  174. package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
  175. package/dist/queries/buildAndOrConditions.js +2 -4
  176. package/dist/queries/buildAndOrConditions.js.map +1 -1
  177. package/dist/queries/buildOrderBy.d.ts +18 -0
  178. package/dist/queries/buildOrderBy.d.ts.map +1 -0
  179. package/dist/queries/buildOrderBy.js +56 -0
  180. package/dist/queries/buildOrderBy.js.map +1 -0
  181. package/dist/queries/buildQuery.d.ts +8 -7
  182. package/dist/queries/buildQuery.d.ts.map +1 -1
  183. package/dist/queries/buildQuery.js +12 -47
  184. package/dist/queries/buildQuery.js.map +1 -1
  185. package/dist/queries/getTableColumnFromPath.d.ts +6 -2
  186. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  187. package/dist/queries/getTableColumnFromPath.js +134 -87
  188. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  189. package/dist/queries/operatorMap.d.ts.map +1 -1
  190. package/dist/queries/operatorMap.js.map +1 -1
  191. package/dist/queries/parseParams.d.ts +1 -1
  192. package/dist/queries/parseParams.d.ts.map +1 -1
  193. package/dist/queries/parseParams.js +52 -6
  194. package/dist/queries/parseParams.js.map +1 -1
  195. package/dist/queries/sanitizeQueryValue.d.ts +12 -1
  196. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
  197. package/dist/queries/sanitizeQueryValue.js +81 -23
  198. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  199. package/dist/queries/selectDistinct.d.ts +3 -4
  200. package/dist/queries/selectDistinct.d.ts.map +1 -1
  201. package/dist/queries/selectDistinct.js.map +1 -1
  202. package/dist/queryDrafts.d.ts.map +1 -1
  203. package/dist/queryDrafts.js +5 -6
  204. package/dist/queryDrafts.js.map +1 -1
  205. package/dist/transactions/beginTransaction.js +7 -4
  206. package/dist/transactions/beginTransaction.js.map +1 -1
  207. package/dist/transactions/commitTransaction.d.ts.map +1 -1
  208. package/dist/transactions/commitTransaction.js +3 -1
  209. package/dist/transactions/commitTransaction.js.map +1 -1
  210. package/dist/transform/read/hasManyNumber.d.ts +2 -1
  211. package/dist/transform/read/hasManyNumber.d.ts.map +1 -1
  212. package/dist/transform/read/hasManyNumber.js +12 -2
  213. package/dist/transform/read/hasManyNumber.js.map +1 -1
  214. package/dist/transform/read/hasManyText.d.ts +2 -1
  215. package/dist/transform/read/hasManyText.d.ts.map +1 -1
  216. package/dist/transform/read/hasManyText.js +12 -2
  217. package/dist/transform/read/hasManyText.js.map +1 -1
  218. package/dist/transform/read/index.d.ts +3 -2
  219. package/dist/transform/read/index.d.ts.map +1 -1
  220. package/dist/transform/read/index.js +3 -2
  221. package/dist/transform/read/index.js.map +1 -1
  222. package/dist/transform/read/relationship.d.ts +2 -1
  223. package/dist/transform/read/relationship.d.ts.map +1 -1
  224. package/dist/transform/read/relationship.js +15 -6
  225. package/dist/transform/read/relationship.js.map +1 -1
  226. package/dist/transform/read/traverseFields.d.ts +10 -3
  227. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  228. package/dist/transform/read/traverseFields.js +191 -98
  229. package/dist/transform/read/traverseFields.js.map +1 -1
  230. package/dist/transform/write/array.d.ts +6 -1
  231. package/dist/transform/write/array.d.ts.map +1 -1
  232. package/dist/transform/write/array.js +7 -3
  233. package/dist/transform/write/array.js.map +1 -1
  234. package/dist/transform/write/blocks.d.ts +8 -3
  235. package/dist/transform/write/blocks.d.ts.map +1 -1
  236. package/dist/transform/write/blocks.js +19 -7
  237. package/dist/transform/write/blocks.js.map +1 -1
  238. package/dist/transform/write/index.d.ts.map +1 -1
  239. package/dist/transform/write/index.js +1 -1
  240. package/dist/transform/write/index.js.map +1 -1
  241. package/dist/transform/write/relationships.d.ts.map +1 -1
  242. package/dist/transform/write/relationships.js +6 -2
  243. package/dist/transform/write/relationships.js.map +1 -1
  244. package/dist/transform/write/selects.d.ts.map +1 -1
  245. package/dist/transform/write/selects.js +1 -1
  246. package/dist/transform/write/selects.js.map +1 -1
  247. package/dist/transform/write/traverseFields.d.ts +6 -1
  248. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  249. package/dist/transform/write/traverseFields.js +58 -19
  250. package/dist/transform/write/traverseFields.js.map +1 -1
  251. package/dist/types.d.ts +13 -12
  252. package/dist/types.d.ts.map +1 -1
  253. package/dist/types.js.map +1 -1
  254. package/dist/update.d.ts.map +1 -1
  255. package/dist/update.js +4 -3
  256. package/dist/update.js.map +1 -1
  257. package/dist/updateGlobal.js +1 -1
  258. package/dist/updateGlobal.js.map +1 -1
  259. package/dist/updateGlobalVersion.js +3 -3
  260. package/dist/updateGlobalVersion.js.map +1 -1
  261. package/dist/updateVersion.js +3 -3
  262. package/dist/updateVersion.js.map +1 -1
  263. package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +1 -1
  264. package/dist/upsertRow/deleteExistingRowsByPath.js +6 -2
  265. package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -1
  266. package/dist/upsertRow/index.d.ts +1 -1
  267. package/dist/upsertRow/index.d.ts.map +1 -1
  268. package/dist/upsertRow/index.js +51 -14
  269. package/dist/upsertRow/index.js.map +1 -1
  270. package/dist/upsertRow/insertArrays.d.ts.map +1 -1
  271. package/dist/upsertRow/insertArrays.js +5 -2
  272. package/dist/upsertRow/insertArrays.js.map +1 -1
  273. package/dist/upsertRow/types.d.ts +8 -5
  274. package/dist/upsertRow/types.d.ts.map +1 -1
  275. package/dist/upsertRow/types.js.map +1 -1
  276. package/dist/utilities/buildIndexName.d.ts +7 -0
  277. package/dist/utilities/buildIndexName.d.ts.map +1 -0
  278. package/dist/utilities/buildIndexName.js +14 -0
  279. package/dist/utilities/buildIndexName.js.map +1 -0
  280. package/dist/utilities/createBlocksMap.d.ts.map +1 -1
  281. package/dist/utilities/createBlocksMap.js +4 -2
  282. package/dist/utilities/createBlocksMap.js.map +1 -1
  283. package/dist/utilities/createRelationshipMap.d.ts.map +1 -1
  284. package/dist/utilities/createRelationshipMap.js +3 -1
  285. package/dist/utilities/createRelationshipMap.js.map +1 -1
  286. package/dist/utilities/executeSchemaHooks.d.ts +24 -0
  287. package/dist/utilities/executeSchemaHooks.d.ts.map +1 -0
  288. package/dist/utilities/executeSchemaHooks.js +21 -0
  289. package/dist/utilities/executeSchemaHooks.js.map +1 -0
  290. package/dist/utilities/extendDrizzleTable.d.ts +19 -0
  291. package/dist/utilities/extendDrizzleTable.d.ts.map +1 -0
  292. package/dist/utilities/extendDrizzleTable.js +38 -0
  293. package/dist/utilities/extendDrizzleTable.js.map +1 -0
  294. package/dist/utilities/getCollectionIdType.d.ts +7 -0
  295. package/dist/utilities/getCollectionIdType.d.ts.map +1 -0
  296. package/dist/utilities/getCollectionIdType.js +11 -0
  297. package/dist/utilities/getCollectionIdType.js.map +1 -0
  298. package/dist/utilities/getNameFromDrizzleTable.d.ts +3 -0
  299. package/dist/utilities/getNameFromDrizzleTable.d.ts.map +1 -0
  300. package/dist/utilities/getNameFromDrizzleTable.js +6 -0
  301. package/dist/utilities/getNameFromDrizzleTable.js.map +1 -0
  302. package/dist/utilities/hasLocalesTable.d.ts.map +1 -1
  303. package/dist/utilities/hasLocalesTable.js +13 -3
  304. package/dist/utilities/hasLocalesTable.js.map +1 -1
  305. package/dist/utilities/isPolymorphicRelationship.d.ts +6 -0
  306. package/dist/utilities/isPolymorphicRelationship.d.ts.map +1 -0
  307. package/dist/utilities/isPolymorphicRelationship.js +5 -0
  308. package/dist/utilities/isPolymorphicRelationship.js.map +1 -0
  309. package/dist/utilities/migrationTableExists.js +1 -1
  310. package/dist/utilities/migrationTableExists.js.map +1 -1
  311. package/dist/utilities/pushDevSchema.d.ts.map +1 -1
  312. package/dist/utilities/pushDevSchema.js +4 -2
  313. package/dist/utilities/pushDevSchema.js.map +1 -1
  314. package/package.json +18 -9
@@ -1,10 +1,10 @@
1
- /* eslint-disable no-param-reassign */ import { fieldAffectsData } from 'payload/shared';
1
+ import { fieldAffectsData, fieldIsVirtual } from 'payload/shared';
2
2
  import { transformHasManyNumber } from './hasManyNumber.js';
3
3
  import { transformHasManyText } from './hasManyText.js';
4
4
  import { transformRelationship } from './relationship.js';
5
5
  // Traverse fields recursively, transforming data
6
6
  // for each field type into required Payload shape
7
- export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fieldPrefix, fields, numbers, path, relationships, table, texts })=>{
7
+ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fieldPrefix, fields, joinQuery, numbers, path, relationships, table, texts, withinArrayOrBlockLocale })=>{
8
8
  const sanitizedPath = path ? `${path}.` : path;
9
9
  const formatted = fields.reduce((result, field)=>{
10
10
  if (field.type === 'tabs') {
@@ -19,11 +19,13 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
19
19
  ...tab,
20
20
  type: 'tab'
21
21
  })),
22
+ joinQuery,
22
23
  numbers,
23
24
  path,
24
25
  relationships,
25
26
  table,
26
- texts
27
+ texts,
28
+ withinArrayOrBlockLocale
27
29
  });
28
30
  }
29
31
  if (field.type === 'collapsible' || field.type === 'row' || field.type === 'tab' && !('name' in field)) {
@@ -35,16 +37,21 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
35
37
  deletions,
36
38
  fieldPrefix,
37
39
  fields: field.fields,
40
+ joinQuery,
38
41
  numbers,
39
42
  path,
40
43
  relationships,
41
44
  table,
42
- texts
45
+ texts,
46
+ withinArrayOrBlockLocale
43
47
  });
44
48
  }
45
49
  if (fieldAffectsData(field)) {
50
+ if (fieldIsVirtual(field)) {
51
+ return result;
52
+ }
46
53
  const fieldName = `${fieldPrefix || ''}${field.name}`;
47
- const fieldData = table[fieldName];
54
+ let fieldData = table[fieldName];
48
55
  const localizedFieldData = {};
49
56
  const valuesToTransform = [];
50
57
  if (fieldPrefix) {
@@ -55,7 +62,9 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
55
62
  if (field.localized) {
56
63
  result[field.name] = fieldData.reduce((arrayResult, row)=>{
57
64
  if (typeof row._locale === 'string') {
58
- if (!arrayResult[row._locale]) arrayResult[row._locale] = [];
65
+ if (!arrayResult[row._locale]) {
66
+ arrayResult[row._locale] = [];
67
+ }
59
68
  const locale = row._locale;
60
69
  const data = {};
61
70
  delete row._locale;
@@ -75,7 +84,8 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
75
84
  path: `${sanitizedPath}${field.name}.${row._order - 1}`,
76
85
  relationships,
77
86
  table: row,
78
- texts
87
+ texts,
88
+ withinArrayOrBlockLocale: locale
79
89
  });
80
90
  if ('_order' in rowResult) {
81
91
  delete rowResult._order;
@@ -85,7 +95,7 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
85
95
  return arrayResult;
86
96
  }, {});
87
97
  } else {
88
- result[field.name] = fieldData.map((row, i)=>{
98
+ result[field.name] = fieldData.reduce((acc, row, i)=>{
89
99
  if (row._uuid) {
90
100
  row.id = row._uuid;
91
101
  delete row._uuid;
@@ -93,37 +103,47 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
93
103
  if ('_order' in row) {
94
104
  delete row._order;
95
105
  }
96
- return traverseFields({
97
- adapter,
98
- blocks,
99
- config,
100
- dataRef: row,
101
- deletions,
102
- fieldPrefix: '',
103
- fields: field.fields,
104
- numbers,
105
- path: `${sanitizedPath}${field.name}.${i}`,
106
- relationships,
107
- table: row,
108
- texts
109
- });
110
- });
106
+ if (!withinArrayOrBlockLocale || withinArrayOrBlockLocale && withinArrayOrBlockLocale === row._locale) {
107
+ if (row._locale) {
108
+ delete row._locale;
109
+ }
110
+ acc.push(traverseFields({
111
+ adapter,
112
+ blocks,
113
+ config,
114
+ dataRef: row,
115
+ deletions,
116
+ fieldPrefix: '',
117
+ fields: field.fields,
118
+ numbers,
119
+ path: `${sanitizedPath}${field.name}.${i}`,
120
+ relationships,
121
+ table: row,
122
+ texts,
123
+ withinArrayOrBlockLocale
124
+ }));
125
+ }
126
+ return acc;
127
+ }, []);
111
128
  }
112
129
  }
113
130
  return result;
114
131
  }
115
132
  if (field.type === 'blocks') {
116
133
  const blockFieldPath = `${sanitizedPath}${field.name}`;
117
- if (Array.isArray(blocks[blockFieldPath])) {
134
+ const blocksByPath = blocks[blockFieldPath];
135
+ if (Array.isArray(blocksByPath)) {
118
136
  if (field.localized) {
119
137
  result[field.name] = {};
120
- blocks[blockFieldPath].forEach((row)=>{
138
+ blocksByPath.forEach((row)=>{
121
139
  if (row._uuid) {
122
140
  row.id = row._uuid;
123
141
  delete row._uuid;
124
142
  }
125
143
  if (typeof row._locale === 'string') {
126
- if (!result[field.name][row._locale]) result[field.name][row._locale] = [];
144
+ if (!result[field.name][row._locale]) {
145
+ result[field.name][row._locale] = [];
146
+ }
127
147
  result[field.name][row._locale].push(row);
128
148
  delete row._locale;
129
149
  }
@@ -144,7 +164,8 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
144
164
  path: `${blockFieldPath}.${row._order - 1}`,
145
165
  relationships,
146
166
  table: row,
147
- texts
167
+ texts,
168
+ withinArrayOrBlockLocale: locale
148
169
  });
149
170
  delete blockResult._order;
150
171
  return blockResult;
@@ -153,7 +174,21 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
153
174
  });
154
175
  });
155
176
  } else {
156
- result[field.name] = blocks[blockFieldPath].map((row, i)=>{
177
+ // Add locale-specific index to have a proper blockFieldPath for current locale
178
+ // because blocks can be in the same array for different locales!
179
+ if (withinArrayOrBlockLocale && config.localization) {
180
+ for (const locale of config.localization.localeCodes){
181
+ let localeIndex = 0;
182
+ for(let i = 0; i < blocksByPath.length; i++){
183
+ const row = blocksByPath[i];
184
+ if (row._locale === locale) {
185
+ row._index = localeIndex;
186
+ localeIndex++;
187
+ }
188
+ }
189
+ }
190
+ }
191
+ result[field.name] = blocksByPath.reduce((acc, row, i)=>{
157
192
  delete row._order;
158
193
  if (row._uuid) {
159
194
  row.id = row._uuid;
@@ -161,23 +196,36 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
161
196
  }
162
197
  const block = field.blocks.find(({ slug })=>slug === row.blockType);
163
198
  if (block) {
164
- return traverseFields({
165
- adapter,
166
- blocks,
167
- config,
168
- dataRef: row,
169
- deletions,
170
- fieldPrefix: '',
171
- fields: block.fields,
172
- numbers,
173
- path: `${blockFieldPath}.${i}`,
174
- relationships,
175
- table: row,
176
- texts
177
- });
199
+ if (!withinArrayOrBlockLocale || withinArrayOrBlockLocale && withinArrayOrBlockLocale === row._locale) {
200
+ if (row._locale) {
201
+ delete row._locale;
202
+ }
203
+ if (typeof row._index === 'number') {
204
+ i = row._index;
205
+ delete row._index;
206
+ }
207
+ acc.push(traverseFields({
208
+ adapter,
209
+ blocks,
210
+ config,
211
+ dataRef: row,
212
+ deletions,
213
+ fieldPrefix: '',
214
+ fields: block.fields,
215
+ numbers,
216
+ path: `${blockFieldPath}.${i}`,
217
+ relationships,
218
+ table: row,
219
+ texts,
220
+ withinArrayOrBlockLocale
221
+ }));
222
+ return acc;
223
+ }
224
+ } else {
225
+ acc.push({});
178
226
  }
179
- return {};
180
- });
227
+ return acc;
228
+ }, []);
181
229
  }
182
230
  }
183
231
  return result;
@@ -215,7 +263,9 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
215
263
  const relationsByLocale = {};
216
264
  relationPathMatch.forEach((row)=>{
217
265
  if (typeof row.locale === 'string') {
218
- if (!relationsByLocale[row.locale]) relationsByLocale[row.locale] = [];
266
+ if (!relationsByLocale[row.locale]) {
267
+ relationsByLocale[row.locale] = [];
268
+ }
219
269
  relationsByLocale[row.locale].push(row);
220
270
  }
221
271
  });
@@ -231,21 +281,64 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
231
281
  transformRelationship({
232
282
  field,
233
283
  ref: result,
234
- relations: relationPathMatch
284
+ relations: relationPathMatch,
285
+ withinArrayOrBlockLocale
235
286
  });
236
287
  }
237
288
  return result;
238
289
  }
239
290
  }
291
+ if (field.type === 'join') {
292
+ const { limit = 10 } = joinQuery?.[`${fieldPrefix.replaceAll('_', '.')}${field.name}`] || {};
293
+ // raw hasMany results from SQLite
294
+ if (typeof fieldData === 'string') {
295
+ fieldData = JSON.parse(fieldData);
296
+ }
297
+ let fieldResult;
298
+ if (Array.isArray(fieldData)) {
299
+ if (field.localized) {
300
+ fieldResult = fieldData.reduce((joinResult, row)=>{
301
+ if (typeof row._locale === 'string') {
302
+ if (!joinResult[row._locale]) {
303
+ joinResult[row._locale] = {
304
+ docs: [],
305
+ hasNextPage: false
306
+ };
307
+ }
308
+ joinResult[row._locale].docs.push(row._parentID);
309
+ }
310
+ return joinResult;
311
+ }, {});
312
+ Object.keys(fieldResult).forEach((locale)=>{
313
+ fieldResult[locale].hasNextPage = fieldResult[locale].docs.length > limit;
314
+ fieldResult[locale].docs = fieldResult[locale].docs.slice(0, limit);
315
+ });
316
+ } else {
317
+ const hasNextPage = limit !== 0 && fieldData.length > limit;
318
+ fieldResult = {
319
+ docs: (hasNextPage ? fieldData.slice(0, limit) : fieldData).map(({ id })=>({
320
+ id
321
+ })),
322
+ hasNextPage
323
+ };
324
+ }
325
+ }
326
+ result[field.name] = fieldResult;
327
+ return result;
328
+ }
240
329
  if (field.type === 'text' && field?.hasMany) {
241
330
  const textPathMatch = texts[`${sanitizedPath}${field.name}`];
242
- if (!textPathMatch) return result;
331
+ if (!textPathMatch) {
332
+ return result;
333
+ }
243
334
  if (field.localized) {
244
335
  result[field.name] = {};
245
336
  const textsByLocale = {};
246
337
  textPathMatch.forEach((row)=>{
247
338
  if (typeof row.locale === 'string') {
248
- if (!textsByLocale[row.locale]) textsByLocale[row.locale] = [];
339
+ if (!textsByLocale[row.locale]) {
340
+ textsByLocale[row.locale] = [];
341
+ }
249
342
  textsByLocale[row.locale].push(row);
250
343
  }
251
344
  });
@@ -261,20 +354,25 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
261
354
  transformHasManyText({
262
355
  field,
263
356
  ref: result,
264
- textRows: textPathMatch
357
+ textRows: textPathMatch,
358
+ withinArrayOrBlockLocale
265
359
  });
266
360
  }
267
361
  return result;
268
362
  }
269
363
  if (field.type === 'number' && field.hasMany) {
270
364
  const numberPathMatch = numbers[`${sanitizedPath}${field.name}`];
271
- if (!numberPathMatch) return result;
365
+ if (!numberPathMatch) {
366
+ return result;
367
+ }
272
368
  if (field.localized) {
273
369
  result[field.name] = {};
274
370
  const numbersByLocale = {};
275
371
  numberPathMatch.forEach((row)=>{
276
372
  if (typeof row.locale === 'string') {
277
- if (!numbersByLocale[row.locale]) numbersByLocale[row.locale] = [];
373
+ if (!numbersByLocale[row.locale]) {
374
+ numbersByLocale[row.locale] = [];
375
+ }
278
376
  numbersByLocale[row.locale].push(row);
279
377
  }
280
378
  });
@@ -290,7 +388,8 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
290
388
  transformHasManyNumber({
291
389
  field,
292
390
  numberRows: numberPathMatch,
293
- ref: result
391
+ ref: result,
392
+ withinArrayOrBlockLocale
294
393
  });
295
394
  }
296
395
  return result;
@@ -300,22 +399,36 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
300
399
  if (field.localized) {
301
400
  result[field.name] = fieldData.reduce((selectResult, row)=>{
302
401
  if (typeof row.locale === 'string') {
303
- if (!selectResult[row.locale]) selectResult[row.locale] = [];
402
+ if (!selectResult[row.locale]) {
403
+ selectResult[row.locale] = [];
404
+ }
304
405
  selectResult[row.locale].push(row.value);
305
406
  }
306
407
  return selectResult;
307
408
  }, {});
308
409
  } else {
309
- result[field.name] = fieldData.map(({ value })=>value);
410
+ let selectData = fieldData;
411
+ if (withinArrayOrBlockLocale) {
412
+ selectData = selectData.filter(({ locale })=>locale === withinArrayOrBlockLocale);
413
+ }
414
+ result[field.name] = selectData.map(({ value })=>value);
310
415
  }
311
416
  }
312
417
  return result;
313
418
  }
314
419
  if (field.localized && Array.isArray(table._locales)) {
420
+ if (!table._locales.length && adapter.payload.config.localization) {
421
+ adapter.payload.config.localization.localeCodes.forEach((_locale)=>table._locales.push({
422
+ _locale
423
+ }));
424
+ }
315
425
  table._locales.forEach((localeRow)=>{
316
426
  valuesToTransform.push({
317
427
  ref: localizedFieldData,
318
- table: localeRow
428
+ table: {
429
+ ...table,
430
+ ...localeRow
431
+ }
319
432
  });
320
433
  });
321
434
  } else {
@@ -333,49 +446,29 @@ export const traverseFields = ({ adapter, blocks, config, dataRef, deletions, fi
333
446
  case 'group':
334
447
  {
335
448
  const groupFieldPrefix = `${fieldPrefix || ''}${field.name}_`;
336
- if (field.localized) {
337
- if (typeof locale === 'string' && !ref[locale]) {
338
- ref[locale] = {};
339
- delete table._locale;
340
- }
341
- Object.entries(ref).forEach(([groupLocale, groupLocaleData])=>{
342
- ref[groupLocale] = traverseFields({
343
- adapter,
344
- blocks,
345
- config,
346
- dataRef: groupLocaleData,
347
- deletions,
348
- fieldPrefix: groupFieldPrefix,
349
- fields: field.fields,
350
- numbers,
351
- path: `${sanitizedPath}${field.name}`,
352
- relationships,
353
- table,
354
- texts
355
- });
356
- });
357
- if ('_order' in ref) {
358
- delete ref._order;
359
- }
360
- } else {
361
- const groupData = {};
362
- ref[field.name] = traverseFields({
363
- adapter,
364
- blocks,
365
- config,
366
- dataRef: groupData,
367
- deletions,
368
- fieldPrefix: groupFieldPrefix,
369
- fields: field.fields,
370
- numbers,
371
- path: `${sanitizedPath}${field.name}`,
372
- relationships,
373
- table,
374
- texts
375
- });
376
- if ('_order' in ref) {
377
- delete ref._order;
378
- }
449
+ const groupData = {};
450
+ const locale = table._locale;
451
+ const refKey = field.localized && locale ? locale : field.name;
452
+ if (field.localized && locale) {
453
+ delete table._locale;
454
+ }
455
+ ref[refKey] = traverseFields({
456
+ adapter,
457
+ blocks,
458
+ config,
459
+ dataRef: groupData,
460
+ deletions,
461
+ fieldPrefix: groupFieldPrefix,
462
+ fields: field.fields,
463
+ numbers,
464
+ path: `${sanitizedPath}${field.name}`,
465
+ relationships,
466
+ table,
467
+ texts,
468
+ withinArrayOrBlockLocale: locale || withinArrayOrBlockLocale
469
+ });
470
+ if ('_order' in ref) {
471
+ delete ref._order;
379
472
  }
380
473
  return;
381
474
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transform/read/traverseFields.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Field, TabAsField } from 'payload'\nimport type { SanitizedConfig } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type { BlocksMap } from '../../utilities/createBlocksMap.js'\n\nimport { transformHasManyNumber } from './hasManyNumber.js'\nimport { transformHasManyText } from './hasManyText.js'\nimport { transformRelationship } from './relationship.js'\n\ntype TraverseFieldsArgs = {\n /**\n * The DB adapter\n */\n adapter: DrizzleAdapter\n /**\n * Pre-formatted blocks map\n */\n blocks: BlocksMap\n /**\n * The full Payload config\n */\n config: SanitizedConfig\n /**\n * The data reference to be mutated within this recursive function\n */\n dataRef: Record<string, unknown>\n /**\n * Data that needs to be removed from the result after all fields have populated\n */\n deletions: (() => void)[]\n /**\n * Column prefix can be built up by group and named tab fields\n */\n fieldPrefix: string\n /**\n * An array of Payload fields to traverse\n */\n fields: (Field | TabAsField)[]\n /**\n * All hasMany number fields, as returned by Drizzle, keyed on an object by field path\n */\n numbers: Record<string, Record<string, unknown>[]>\n /**\n * The current field path (in dot notation), used to merge in relationships\n */\n path: string\n /**\n * All related documents, as returned by Drizzle, keyed on an object by field path\n */\n relationships: Record<string, Record<string, unknown>[]>\n /**\n * Data structure representing the nearest table from db\n */\n table: Record<string, unknown>\n /**\n * All hasMany text fields, as returned by Drizzle, keyed on an object by field path\n */\n texts: Record<string, Record<string, unknown>[]>\n}\n\n// Traverse fields recursively, transforming data\n// for each field type into required Payload shape\nexport const traverseFields = <T extends Record<string, unknown>>({\n adapter,\n blocks,\n config,\n dataRef,\n deletions,\n fieldPrefix,\n fields,\n numbers,\n path,\n relationships,\n table,\n texts,\n}: TraverseFieldsArgs): T => {\n const sanitizedPath = path ? `${path}.` : path\n\n const formatted = fields.reduce((result, field) => {\n if (field.type === 'tabs') {\n traverseFields({\n adapter,\n blocks,\n config,\n dataRef,\n deletions,\n fieldPrefix,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n numbers,\n path,\n relationships,\n table,\n texts,\n })\n }\n\n if (\n field.type === 'collapsible' ||\n field.type === 'row' ||\n (field.type === 'tab' && !('name' in field))\n ) {\n traverseFields({\n adapter,\n blocks,\n config,\n dataRef,\n deletions,\n fieldPrefix,\n fields: field.fields,\n numbers,\n path,\n relationships,\n table,\n texts,\n })\n }\n\n if (fieldAffectsData(field)) {\n const fieldName = `${fieldPrefix || ''}${field.name}`\n const fieldData = table[fieldName]\n const localizedFieldData = {}\n const valuesToTransform: {\n ref: Record<string, unknown>\n table: Record<string, unknown>\n }[] = []\n\n if (fieldPrefix) {\n deletions.push(() => delete table[fieldName])\n }\n\n if (field.type === 'array') {\n if (Array.isArray(fieldData)) {\n if (field.localized) {\n result[field.name] = fieldData.reduce((arrayResult, row) => {\n if (typeof row._locale === 'string') {\n if (!arrayResult[row._locale]) arrayResult[row._locale] = []\n const locale = row._locale\n const data = {}\n delete row._locale\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n\n const rowResult = traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: data,\n deletions,\n fieldPrefix: '',\n fields: field.fields,\n numbers,\n path: `${sanitizedPath}${field.name}.${row._order - 1}`,\n relationships,\n table: row,\n texts,\n })\n\n if ('_order' in rowResult) {\n delete rowResult._order\n }\n\n arrayResult[locale].push(rowResult)\n }\n\n return arrayResult\n }, {})\n } else {\n result[field.name] = fieldData.map((row, i) => {\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n\n if ('_order' in row) {\n delete row._order\n }\n\n return traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: row,\n deletions,\n fieldPrefix: '',\n fields: field.fields,\n numbers,\n path: `${sanitizedPath}${field.name}.${i}`,\n relationships,\n table: row,\n texts,\n })\n })\n }\n }\n\n return result\n }\n\n if (field.type === 'blocks') {\n const blockFieldPath = `${sanitizedPath}${field.name}`\n\n if (Array.isArray(blocks[blockFieldPath])) {\n if (field.localized) {\n result[field.name] = {}\n\n blocks[blockFieldPath].forEach((row) => {\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n if (typeof row._locale === 'string') {\n if (!result[field.name][row._locale]) result[field.name][row._locale] = []\n result[field.name][row._locale].push(row)\n delete row._locale\n }\n })\n\n Object.entries(result[field.name]).forEach(([locale, localizedBlocks]) => {\n result[field.name][locale] = localizedBlocks.map((row) => {\n const block = field.blocks.find(({ slug }) => slug === row.blockType)\n\n if (block) {\n const blockResult = traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: row,\n deletions,\n fieldPrefix: '',\n fields: block.fields,\n numbers,\n path: `${blockFieldPath}.${row._order - 1}`,\n relationships,\n table: row,\n texts,\n })\n\n delete blockResult._order\n return blockResult\n }\n\n return {}\n })\n })\n } else {\n result[field.name] = blocks[blockFieldPath].map((row, i) => {\n delete row._order\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n const block = field.blocks.find(({ slug }) => slug === row.blockType)\n\n if (block) {\n return traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: row,\n deletions,\n fieldPrefix: '',\n fields: block.fields,\n numbers,\n path: `${blockFieldPath}.${i}`,\n relationships,\n table: row,\n texts,\n })\n }\n\n return {}\n })\n }\n }\n\n return result\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (typeof field.relationTo === 'string' && !('hasMany' in field && field.hasMany)) {\n if (\n field.localized &&\n config.localization &&\n config.localization.locales &&\n Array.isArray(table?._locales)\n ) {\n table._locales.forEach((localeRow) => {\n result[field.name] = { [localeRow._locale]: localeRow[fieldName] }\n })\n } else {\n valuesToTransform.push({ ref: result, table })\n }\n } else {\n const relationPathMatch = relationships[`${sanitizedPath}${field.name}`]\n if (!relationPathMatch) {\n if ('hasMany' in field && field.hasMany) {\n if (field.localized && config.localization && config.localization.locales) {\n result[field.name] = {\n [config.localization.defaultLocale]: [],\n }\n } else {\n result[field.name] = []\n }\n }\n\n return result\n }\n\n if (field.localized) {\n result[field.name] = {}\n const relationsByLocale: Record<string, Record<string, unknown>[]> = {}\n\n relationPathMatch.forEach((row) => {\n if (typeof row.locale === 'string') {\n if (!relationsByLocale[row.locale]) relationsByLocale[row.locale] = []\n relationsByLocale[row.locale].push(row)\n }\n })\n\n Object.entries(relationsByLocale).forEach(([locale, relations]) => {\n transformRelationship({\n field,\n locale,\n ref: result,\n relations,\n })\n })\n } else {\n transformRelationship({\n field,\n ref: result,\n relations: relationPathMatch,\n })\n }\n return result\n }\n }\n\n if (field.type === 'text' && field?.hasMany) {\n const textPathMatch = texts[`${sanitizedPath}${field.name}`]\n if (!textPathMatch) return result\n\n if (field.localized) {\n result[field.name] = {}\n const textsByLocale: Record<string, Record<string, unknown>[]> = {}\n\n textPathMatch.forEach((row) => {\n if (typeof row.locale === 'string') {\n if (!textsByLocale[row.locale]) textsByLocale[row.locale] = []\n textsByLocale[row.locale].push(row)\n }\n })\n\n Object.entries(textsByLocale).forEach(([locale, texts]) => {\n transformHasManyText({\n field,\n locale,\n ref: result,\n textRows: texts,\n })\n })\n } else {\n transformHasManyText({\n field,\n ref: result,\n textRows: textPathMatch,\n })\n }\n\n return result\n }\n\n if (field.type === 'number' && field.hasMany) {\n const numberPathMatch = numbers[`${sanitizedPath}${field.name}`]\n if (!numberPathMatch) return result\n\n if (field.localized) {\n result[field.name] = {}\n const numbersByLocale: Record<string, Record<string, unknown>[]> = {}\n\n numberPathMatch.forEach((row) => {\n if (typeof row.locale === 'string') {\n if (!numbersByLocale[row.locale]) numbersByLocale[row.locale] = []\n numbersByLocale[row.locale].push(row)\n }\n })\n\n Object.entries(numbersByLocale).forEach(([locale, numbers]) => {\n transformHasManyNumber({\n field,\n locale,\n numberRows: numbers,\n ref: result,\n })\n })\n } else {\n transformHasManyNumber({\n field,\n numberRows: numberPathMatch,\n ref: result,\n })\n }\n\n return result\n }\n\n if (field.type === 'select' && field.hasMany) {\n if (Array.isArray(fieldData)) {\n if (field.localized) {\n result[field.name] = fieldData.reduce((selectResult, row) => {\n if (typeof row.locale === 'string') {\n if (!selectResult[row.locale]) selectResult[row.locale] = []\n selectResult[row.locale].push(row.value)\n }\n\n return selectResult\n }, {})\n } else {\n result[field.name] = fieldData.map(({ value }) => value)\n }\n }\n return result\n }\n\n if (field.localized && Array.isArray(table._locales)) {\n table._locales.forEach((localeRow) => {\n valuesToTransform.push({ ref: localizedFieldData, table: localeRow })\n })\n } else {\n valuesToTransform.push({ ref: result, table })\n }\n\n valuesToTransform.forEach(({ ref, table }) => {\n const fieldData = table[`${fieldPrefix || ''}${field.name}`]\n const locale = table?._locale\n let val = fieldData\n\n switch (field.type) {\n case 'tab':\n case 'group': {\n const groupFieldPrefix = `${fieldPrefix || ''}${field.name}_`\n\n if (field.localized) {\n if (typeof locale === 'string' && !ref[locale]) {\n ref[locale] = {}\n delete table._locale\n }\n\n Object.entries(ref).forEach(([groupLocale, groupLocaleData]) => {\n ref[groupLocale] = traverseFields<Record<string, unknown>>({\n adapter,\n blocks,\n config,\n dataRef: groupLocaleData as Record<string, unknown>,\n deletions,\n fieldPrefix: groupFieldPrefix,\n fields: field.fields,\n numbers,\n path: `${sanitizedPath}${field.name}`,\n relationships,\n table,\n texts,\n })\n })\n if ('_order' in ref) {\n delete ref._order\n }\n } else {\n const groupData = {}\n\n ref[field.name] = traverseFields<Record<string, unknown>>({\n adapter,\n blocks,\n config,\n dataRef: groupData as Record<string, unknown>,\n deletions,\n fieldPrefix: groupFieldPrefix,\n fields: field.fields,\n numbers,\n path: `${sanitizedPath}${field.name}`,\n relationships,\n table,\n texts,\n })\n if ('_order' in ref) {\n delete ref._order\n }\n }\n\n return\n }\n\n case 'text': {\n if (typeof fieldData === 'string') {\n val = String(fieldData)\n }\n\n break\n }\n\n case 'number': {\n if (typeof fieldData === 'string') {\n val = Number.parseFloat(fieldData)\n }\n\n break\n }\n\n case 'date': {\n if (typeof fieldData === 'string') {\n val = new Date(fieldData).toISOString()\n }\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (\n val &&\n typeof field.relationTo === 'string' &&\n adapter.payload.collections[field.relationTo].customIDType === 'number'\n ) {\n val = Number(val)\n }\n\n break\n }\n\n default: {\n break\n }\n }\n if (typeof locale === 'string') {\n ref[locale] = val\n } else {\n result[field.name] = val\n }\n })\n\n if (Object.keys(localizedFieldData).length > 0) {\n result[field.name] = localizedFieldData\n }\n\n return result\n }\n\n return result\n }, dataRef)\n\n if (Array.isArray(table._locales)) {\n deletions.push(() => delete table._locales)\n }\n\n return formatted as T\n}\n"],"names":["fieldAffectsData","transformHasManyNumber","transformHasManyText","transformRelationship","traverseFields","adapter","blocks","config","dataRef","deletions","fieldPrefix","fields","numbers","path","relationships","table","texts","sanitizedPath","formatted","reduce","result","field","type","tabs","map","tab","fieldName","name","fieldData","localizedFieldData","valuesToTransform","push","Array","isArray","localized","arrayResult","row","_locale","locale","data","_uuid","id","rowResult","_order","i","blockFieldPath","forEach","Object","entries","localizedBlocks","block","find","slug","blockType","blockResult","relationTo","hasMany","localization","locales","_locales","localeRow","ref","relationPathMatch","defaultLocale","relationsByLocale","relations","textPathMatch","textsByLocale","textRows","numberPathMatch","numbersByLocale","numberRows","selectResult","value","val","groupFieldPrefix","groupLocale","groupLocaleData","groupData","String","Number","parseFloat","Date","toISOString","payload","collections","customIDType","keys","length"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/transform/read/traverseFields.ts"],"sourcesContent":["import type { Field, JoinQuery, SanitizedConfig, TabAsField } from 'payload'\n\nimport { fieldAffectsData, fieldIsVirtual } from 'payload/shared'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type { BlocksMap } from '../../utilities/createBlocksMap.js'\n\nimport { transformHasManyNumber } from './hasManyNumber.js'\nimport { transformHasManyText } from './hasManyText.js'\nimport { transformRelationship } from './relationship.js'\n\ntype TraverseFieldsArgs = {\n /**\n * The DB adapter\n */\n adapter: DrizzleAdapter\n /**\n * Pre-formatted blocks map\n */\n blocks: BlocksMap\n /**\n * The full Payload config\n */\n config: SanitizedConfig\n /**\n * The data reference to be mutated within this recursive function\n */\n dataRef: Record<string, unknown>\n /**\n * Data that needs to be removed from the result after all fields have populated\n */\n deletions: (() => void)[]\n /**\n * Column prefix can be built up by group and named tab fields\n */\n fieldPrefix: string\n /**\n * An array of Payload fields to traverse\n */\n fields: (Field | TabAsField)[]\n /**\n *\n */\n joinQuery?: JoinQuery\n /**\n * All hasMany number fields, as returned by Drizzle, keyed on an object by field path\n */\n numbers: Record<string, Record<string, unknown>[]>\n /**\n * The current field path (in dot notation), used to merge in relationships\n */\n path: string\n /**\n * All related documents, as returned by Drizzle, keyed on an object by field path\n */\n relationships: Record<string, Record<string, unknown>[]>\n /**\n * Data structure representing the nearest table from db\n */\n table: Record<string, unknown>\n /**\n * All hasMany text fields, as returned by Drizzle, keyed on an object by field path\n */\n texts: Record<string, Record<string, unknown>[]>\n /**\n * Set to a locale if this group of fields is within a localized array or block.\n */\n withinArrayOrBlockLocale?: string\n}\n\n// Traverse fields recursively, transforming data\n// for each field type into required Payload shape\nexport const traverseFields = <T extends Record<string, unknown>>({\n adapter,\n blocks,\n config,\n dataRef,\n deletions,\n fieldPrefix,\n fields,\n joinQuery,\n numbers,\n path,\n relationships,\n table,\n texts,\n withinArrayOrBlockLocale,\n}: TraverseFieldsArgs): T => {\n const sanitizedPath = path ? `${path}.` : path\n\n const formatted = fields.reduce((result, field) => {\n if (field.type === 'tabs') {\n traverseFields({\n adapter,\n blocks,\n config,\n dataRef,\n deletions,\n fieldPrefix,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n joinQuery,\n numbers,\n path,\n relationships,\n table,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n\n if (\n field.type === 'collapsible' ||\n field.type === 'row' ||\n (field.type === 'tab' && !('name' in field))\n ) {\n traverseFields({\n adapter,\n blocks,\n config,\n dataRef,\n deletions,\n fieldPrefix,\n fields: field.fields,\n joinQuery,\n numbers,\n path,\n relationships,\n table,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n\n if (fieldAffectsData(field)) {\n if (fieldIsVirtual(field)) {\n return result\n }\n\n const fieldName = `${fieldPrefix || ''}${field.name}`\n let fieldData = table[fieldName]\n const localizedFieldData = {}\n const valuesToTransform: {\n ref: Record<string, unknown>\n table: Record<string, unknown>\n }[] = []\n\n if (fieldPrefix) {\n deletions.push(() => delete table[fieldName])\n }\n\n if (field.type === 'array') {\n if (Array.isArray(fieldData)) {\n if (field.localized) {\n result[field.name] = fieldData.reduce((arrayResult, row) => {\n if (typeof row._locale === 'string') {\n if (!arrayResult[row._locale]) {\n arrayResult[row._locale] = []\n }\n const locale = row._locale\n const data = {}\n delete row._locale\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n\n const rowResult = traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: data,\n deletions,\n fieldPrefix: '',\n fields: field.fields,\n numbers,\n path: `${sanitizedPath}${field.name}.${row._order - 1}`,\n relationships,\n table: row,\n texts,\n withinArrayOrBlockLocale: locale,\n })\n\n if ('_order' in rowResult) {\n delete rowResult._order\n }\n\n arrayResult[locale].push(rowResult)\n }\n\n return arrayResult\n }, {})\n } else {\n result[field.name] = fieldData.reduce((acc, row, i) => {\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n\n if ('_order' in row) {\n delete row._order\n }\n\n if (\n !withinArrayOrBlockLocale ||\n (withinArrayOrBlockLocale && withinArrayOrBlockLocale === row._locale)\n ) {\n if (row._locale) {\n delete row._locale\n }\n\n acc.push(\n traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: row,\n deletions,\n fieldPrefix: '',\n fields: field.fields,\n numbers,\n path: `${sanitizedPath}${field.name}.${i}`,\n relationships,\n table: row,\n texts,\n withinArrayOrBlockLocale,\n }),\n )\n }\n\n return acc\n }, [])\n }\n }\n\n return result\n }\n\n if (field.type === 'blocks') {\n const blockFieldPath = `${sanitizedPath}${field.name}`\n const blocksByPath = blocks[blockFieldPath]\n\n if (Array.isArray(blocksByPath)) {\n if (field.localized) {\n result[field.name] = {}\n\n blocksByPath.forEach((row) => {\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n if (typeof row._locale === 'string') {\n if (!result[field.name][row._locale]) {\n result[field.name][row._locale] = []\n }\n result[field.name][row._locale].push(row)\n delete row._locale\n }\n })\n\n Object.entries(result[field.name]).forEach(([locale, localizedBlocks]) => {\n result[field.name][locale] = localizedBlocks.map((row) => {\n const block = field.blocks.find(({ slug }) => slug === row.blockType)\n\n if (block) {\n const blockResult = traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: row,\n deletions,\n fieldPrefix: '',\n fields: block.fields,\n numbers,\n path: `${blockFieldPath}.${row._order - 1}`,\n relationships,\n table: row,\n texts,\n withinArrayOrBlockLocale: locale,\n })\n\n delete blockResult._order\n return blockResult\n }\n\n return {}\n })\n })\n } else {\n // Add locale-specific index to have a proper blockFieldPath for current locale\n // because blocks can be in the same array for different locales!\n if (withinArrayOrBlockLocale && config.localization) {\n for (const locale of config.localization.localeCodes) {\n let localeIndex = 0\n\n for (let i = 0; i < blocksByPath.length; i++) {\n const row = blocksByPath[i]\n if (row._locale === locale) {\n row._index = localeIndex\n localeIndex++\n }\n }\n }\n }\n\n result[field.name] = blocksByPath.reduce((acc, row, i) => {\n delete row._order\n if (row._uuid) {\n row.id = row._uuid\n delete row._uuid\n }\n const block = field.blocks.find(({ slug }) => slug === row.blockType)\n\n if (block) {\n if (\n !withinArrayOrBlockLocale ||\n (withinArrayOrBlockLocale && withinArrayOrBlockLocale === row._locale)\n ) {\n if (row._locale) {\n delete row._locale\n }\n if (typeof row._index === 'number') {\n i = row._index\n delete row._index\n }\n\n acc.push(\n traverseFields<T>({\n adapter,\n blocks,\n config,\n dataRef: row,\n deletions,\n fieldPrefix: '',\n fields: block.fields,\n numbers,\n path: `${blockFieldPath}.${i}`,\n relationships,\n table: row,\n texts,\n withinArrayOrBlockLocale,\n }),\n )\n\n return acc\n }\n } else {\n acc.push({})\n }\n\n return acc\n }, [])\n }\n }\n\n return result\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (typeof field.relationTo === 'string' && !('hasMany' in field && field.hasMany)) {\n if (\n field.localized &&\n config.localization &&\n config.localization.locales &&\n Array.isArray(table?._locales)\n ) {\n table._locales.forEach((localeRow) => {\n result[field.name] = { [localeRow._locale]: localeRow[fieldName] }\n })\n } else {\n valuesToTransform.push({ ref: result, table })\n }\n } else {\n const relationPathMatch = relationships[`${sanitizedPath}${field.name}`]\n\n if (!relationPathMatch) {\n if ('hasMany' in field && field.hasMany) {\n if (field.localized && config.localization && config.localization.locales) {\n result[field.name] = {\n [config.localization.defaultLocale]: [],\n }\n } else {\n result[field.name] = []\n }\n }\n\n return result\n }\n\n if (field.localized) {\n result[field.name] = {}\n const relationsByLocale: Record<string, Record<string, unknown>[]> = {}\n\n relationPathMatch.forEach((row) => {\n if (typeof row.locale === 'string') {\n if (!relationsByLocale[row.locale]) {\n relationsByLocale[row.locale] = []\n }\n relationsByLocale[row.locale].push(row)\n }\n })\n\n Object.entries(relationsByLocale).forEach(([locale, relations]) => {\n transformRelationship({\n field,\n locale,\n ref: result,\n relations,\n })\n })\n } else {\n transformRelationship({\n field,\n ref: result,\n relations: relationPathMatch,\n withinArrayOrBlockLocale,\n })\n }\n return result\n }\n }\n\n if (field.type === 'join') {\n const { limit = 10 } = joinQuery?.[`${fieldPrefix.replaceAll('_', '.')}${field.name}`] || {}\n\n // raw hasMany results from SQLite\n if (typeof fieldData === 'string') {\n fieldData = JSON.parse(fieldData)\n }\n\n let fieldResult:\n | { docs: unknown[]; hasNextPage: boolean }\n | Record<string, { docs: unknown[]; hasNextPage: boolean }>\n if (Array.isArray(fieldData)) {\n if (field.localized) {\n fieldResult = fieldData.reduce((joinResult, row) => {\n if (typeof row._locale === 'string') {\n if (!joinResult[row._locale]) {\n joinResult[row._locale] = {\n docs: [],\n hasNextPage: false,\n }\n }\n joinResult[row._locale].docs.push(row._parentID)\n }\n\n return joinResult\n }, {})\n Object.keys(fieldResult).forEach((locale) => {\n fieldResult[locale].hasNextPage = fieldResult[locale].docs.length > limit\n fieldResult[locale].docs = fieldResult[locale].docs.slice(0, limit)\n })\n } else {\n const hasNextPage = limit !== 0 && fieldData.length > limit\n fieldResult = {\n docs: (hasNextPage ? fieldData.slice(0, limit) : fieldData).map(({ id }) => ({\n id,\n })),\n hasNextPage,\n }\n }\n }\n\n result[field.name] = fieldResult\n return result\n }\n\n if (field.type === 'text' && field?.hasMany) {\n const textPathMatch = texts[`${sanitizedPath}${field.name}`]\n if (!textPathMatch) {\n return result\n }\n\n if (field.localized) {\n result[field.name] = {}\n const textsByLocale: Record<string, Record<string, unknown>[]> = {}\n\n textPathMatch.forEach((row) => {\n if (typeof row.locale === 'string') {\n if (!textsByLocale[row.locale]) {\n textsByLocale[row.locale] = []\n }\n textsByLocale[row.locale].push(row)\n }\n })\n\n Object.entries(textsByLocale).forEach(([locale, texts]) => {\n transformHasManyText({\n field,\n locale,\n ref: result,\n textRows: texts,\n })\n })\n } else {\n transformHasManyText({\n field,\n ref: result,\n textRows: textPathMatch,\n withinArrayOrBlockLocale,\n })\n }\n\n return result\n }\n\n if (field.type === 'number' && field.hasMany) {\n const numberPathMatch = numbers[`${sanitizedPath}${field.name}`]\n if (!numberPathMatch) {\n return result\n }\n\n if (field.localized) {\n result[field.name] = {}\n const numbersByLocale: Record<string, Record<string, unknown>[]> = {}\n\n numberPathMatch.forEach((row) => {\n if (typeof row.locale === 'string') {\n if (!numbersByLocale[row.locale]) {\n numbersByLocale[row.locale] = []\n }\n numbersByLocale[row.locale].push(row)\n }\n })\n\n Object.entries(numbersByLocale).forEach(([locale, numbers]) => {\n transformHasManyNumber({\n field,\n locale,\n numberRows: numbers,\n ref: result,\n })\n })\n } else {\n transformHasManyNumber({\n field,\n numberRows: numberPathMatch,\n ref: result,\n withinArrayOrBlockLocale,\n })\n }\n\n return result\n }\n\n if (field.type === 'select' && field.hasMany) {\n if (Array.isArray(fieldData)) {\n if (field.localized) {\n result[field.name] = fieldData.reduce((selectResult, row) => {\n if (typeof row.locale === 'string') {\n if (!selectResult[row.locale]) {\n selectResult[row.locale] = []\n }\n selectResult[row.locale].push(row.value)\n }\n\n return selectResult\n }, {})\n } else {\n let selectData = fieldData\n if (withinArrayOrBlockLocale) {\n selectData = selectData.filter(({ locale }) => locale === withinArrayOrBlockLocale)\n }\n result[field.name] = selectData.map(({ value }) => value)\n }\n }\n return result\n }\n\n if (field.localized && Array.isArray(table._locales)) {\n if (!table._locales.length && adapter.payload.config.localization) {\n adapter.payload.config.localization.localeCodes.forEach((_locale) =>\n (table._locales as unknown[]).push({ _locale }),\n )\n }\n\n table._locales.forEach((localeRow) => {\n valuesToTransform.push({\n ref: localizedFieldData,\n table: {\n ...table,\n ...localeRow,\n },\n })\n })\n } else {\n valuesToTransform.push({ ref: result, table })\n }\n\n valuesToTransform.forEach(({ ref, table }) => {\n const fieldData = table[`${fieldPrefix || ''}${field.name}`]\n const locale = table?._locale\n let val = fieldData\n\n switch (field.type) {\n case 'tab':\n case 'group': {\n const groupFieldPrefix = `${fieldPrefix || ''}${field.name}_`\n const groupData = {}\n const locale = table._locale as string\n const refKey = field.localized && locale ? locale : field.name\n\n if (field.localized && locale) {\n delete table._locale\n }\n ref[refKey] = traverseFields<Record<string, unknown>>({\n adapter,\n blocks,\n config,\n dataRef: groupData as Record<string, unknown>,\n deletions,\n fieldPrefix: groupFieldPrefix,\n fields: field.fields,\n numbers,\n path: `${sanitizedPath}${field.name}`,\n relationships,\n table,\n texts,\n withinArrayOrBlockLocale: locale || withinArrayOrBlockLocale,\n })\n\n if ('_order' in ref) {\n delete ref._order\n }\n\n return\n }\n\n case 'text': {\n if (typeof fieldData === 'string') {\n val = String(fieldData)\n }\n\n break\n }\n\n case 'number': {\n if (typeof fieldData === 'string') {\n val = Number.parseFloat(fieldData)\n }\n\n break\n }\n\n case 'date': {\n if (typeof fieldData === 'string') {\n val = new Date(fieldData).toISOString()\n }\n\n break\n }\n\n case 'relationship':\n case 'upload': {\n if (\n val &&\n typeof field.relationTo === 'string' &&\n adapter.payload.collections[field.relationTo].customIDType === 'number'\n ) {\n val = Number(val)\n }\n\n break\n }\n\n default: {\n break\n }\n }\n if (typeof locale === 'string') {\n ref[locale] = val\n } else {\n result[field.name] = val\n }\n })\n\n if (Object.keys(localizedFieldData).length > 0) {\n result[field.name] = localizedFieldData\n }\n\n return result\n }\n\n return result\n }, dataRef)\n\n if (Array.isArray(table._locales)) {\n deletions.push(() => delete table._locales)\n }\n\n return formatted as T\n}\n"],"names":["fieldAffectsData","fieldIsVirtual","transformHasManyNumber","transformHasManyText","transformRelationship","traverseFields","adapter","blocks","config","dataRef","deletions","fieldPrefix","fields","joinQuery","numbers","path","relationships","table","texts","withinArrayOrBlockLocale","sanitizedPath","formatted","reduce","result","field","type","tabs","map","tab","fieldName","name","fieldData","localizedFieldData","valuesToTransform","push","Array","isArray","localized","arrayResult","row","_locale","locale","data","_uuid","id","rowResult","_order","acc","i","blockFieldPath","blocksByPath","forEach","Object","entries","localizedBlocks","block","find","slug","blockType","blockResult","localization","localeCodes","localeIndex","length","_index","relationTo","hasMany","locales","_locales","localeRow","ref","relationPathMatch","defaultLocale","relationsByLocale","relations","limit","replaceAll","JSON","parse","fieldResult","joinResult","docs","hasNextPage","_parentID","keys","slice","textPathMatch","textsByLocale","textRows","numberPathMatch","numbersByLocale","numberRows","selectResult","value","selectData","filter","payload","val","groupFieldPrefix","groupData","refKey","String","Number","parseFloat","Date","toISOString","collections","customIDType"],"mappings":"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"}
@@ -20,7 +20,12 @@ type Args = {
20
20
  [tableName: string]: Record<string, unknown>[];
21
21
  };
22
22
  texts: Record<string, unknown>[];
23
+ /**
24
+ * Set to a locale code if this set of fields is traversed within a
25
+ * localized array or block field
26
+ */
27
+ withinArrayOrBlockLocale?: string;
23
28
  };
24
- export declare const transformArray: ({ adapter, arrayTableName, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts, }: Args) => ArrayRowToInsert[];
29
+ export declare const transformArray: ({ adapter, arrayTableName, baseTableName, blocks, blocksToDelete, data, field, locale, numbers, path, relationships, relationshipsToDelete, selects, texts, withinArrayOrBlockLocale, }: Args) => ArrayRowToInsert[];
25
30
  export {};
26
31
  //# sourceMappingURL=array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/transform/write/array.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAK1F,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,cAAc,kKAexB,IAAI,uBA6DN,CAAA"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/transform/write/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAK1F,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,cAAc,4LAgBxB,IAAI,uBAkEN,CAAA"}