@etohq/utils 1.3.0 → 1.5.0

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 (344) hide show
  1. package/LICENSE +21 -0
  2. package/dist/analytics/abstract-analytics-provider.d.ts +110 -0
  3. package/dist/analytics/abstract-analytics-provider.d.ts.map +1 -0
  4. package/dist/analytics/abstract-analytics-provider.js +107 -0
  5. package/dist/analytics/abstract-analytics-provider.js.map +1 -0
  6. package/dist/analytics/index.d.ts +2 -0
  7. package/dist/analytics/index.d.ts.map +1 -0
  8. package/dist/analytics/index.js +18 -0
  9. package/dist/analytics/index.js.map +1 -0
  10. package/dist/auth/token.d.ts +5 -3
  11. package/dist/auth/token.d.ts.map +1 -1
  12. package/dist/auth/token.js +5 -2
  13. package/dist/auth/token.js.map +1 -1
  14. package/dist/bundles.d.ts +1 -0
  15. package/dist/bundles.d.ts.map +1 -1
  16. package/dist/bundles.js +2 -1
  17. package/dist/bundles.js.map +1 -1
  18. package/dist/common/api-error.d.ts +205 -0
  19. package/dist/common/api-error.d.ts.map +1 -0
  20. package/dist/common/api-error.js +274 -0
  21. package/dist/common/api-error.js.map +1 -0
  22. package/dist/common/build-query.d.ts +1 -1
  23. package/dist/common/build-query.d.ts.map +1 -1
  24. package/dist/common/compress-name.d.ts +2 -0
  25. package/dist/common/compress-name.d.ts.map +1 -0
  26. package/dist/common/compress-name.js +34 -0
  27. package/dist/common/compress-name.js.map +1 -0
  28. package/dist/common/container.d.ts +98 -0
  29. package/dist/common/container.d.ts.map +1 -1
  30. package/dist/common/container.js +94 -0
  31. package/dist/common/container.js.map +1 -1
  32. package/dist/common/create-psql-index-helper.d.ts +1 -1
  33. package/dist/common/define-config.d.ts +4 -4
  34. package/dist/common/define-config.d.ts.map +1 -1
  35. package/dist/common/define-config.js +45 -26
  36. package/dist/common/define-config.js.map +1 -1
  37. package/dist/common/errors.d.ts +6 -4
  38. package/dist/common/errors.d.ts.map +1 -1
  39. package/dist/common/errors.js +25 -5
  40. package/dist/common/errors.js.map +1 -1
  41. package/dist/common/exec-mode.d.ts +2 -0
  42. package/dist/common/exec-mode.d.ts.map +1 -0
  43. package/dist/common/exec-mode.js +15 -0
  44. package/dist/common/exec-mode.js.map +1 -0
  45. package/dist/common/flatten-object-to-key-value-pairs.d.ts.map +1 -1
  46. package/dist/common/flatten-object-to-key-value-pairs.js +214 -72
  47. package/dist/common/flatten-object-to-key-value-pairs.js.map +1 -1
  48. package/dist/common/get-resolved-plugins.d.ts +4 -0
  49. package/dist/common/get-resolved-plugins.d.ts.map +1 -0
  50. package/dist/common/get-resolved-plugins.js +121 -0
  51. package/dist/common/get-resolved-plugins.js.map +1 -0
  52. package/dist/common/get-selects-and-relations-from-object-array.d.ts +2 -1
  53. package/dist/common/get-selects-and-relations-from-object-array.d.ts.map +1 -1
  54. package/dist/common/get-selects-and-relations-from-object-array.js +7 -5
  55. package/dist/common/get-selects-and-relations-from-object-array.js.map +1 -1
  56. package/dist/common/index.d.ts +19 -5
  57. package/dist/common/index.d.ts.map +1 -1
  58. package/dist/common/index.js +19 -5
  59. package/dist/common/index.js.map +1 -1
  60. package/dist/common/load-env.d.ts +3 -0
  61. package/dist/common/load-env.d.ts.map +1 -1
  62. package/dist/common/load-env.js +7 -4
  63. package/dist/common/load-env.js.map +1 -1
  64. package/dist/common/math.d.ts +2 -2
  65. package/dist/common/math.d.ts.map +1 -1
  66. package/dist/common/math.js +13 -6
  67. package/dist/common/math.js.map +1 -1
  68. package/dist/common/merge-metadata.d.ts +15 -0
  69. package/dist/common/merge-metadata.d.ts.map +1 -0
  70. package/dist/common/merge-metadata.js +34 -0
  71. package/dist/common/merge-metadata.js.map +1 -0
  72. package/dist/common/normalize-csv-value.d.ts +6 -0
  73. package/dist/common/normalize-csv-value.d.ts.map +1 -0
  74. package/dist/common/normalize-csv-value.js +14 -0
  75. package/dist/common/normalize-csv-value.js.map +1 -0
  76. package/dist/common/retry-execution.d.ts +18 -0
  77. package/dist/common/retry-execution.d.ts.map +1 -0
  78. package/dist/common/retry-execution.js +50 -0
  79. package/dist/common/retry-execution.js.map +1 -0
  80. package/dist/common/to-unix-slash.d.ts +2 -0
  81. package/dist/common/to-unix-slash.d.ts.map +1 -0
  82. package/dist/common/to-unix-slash.js +11 -0
  83. package/dist/common/to-unix-slash.js.map +1 -0
  84. package/dist/common/try-convert-to-boolean.d.ts +7 -0
  85. package/dist/common/try-convert-to-boolean.d.ts.map +1 -0
  86. package/dist/common/try-convert-to-boolean.js +15 -0
  87. package/dist/common/try-convert-to-boolean.js.map +1 -0
  88. package/dist/common/try-convert-to-number.d.ts +7 -0
  89. package/dist/common/try-convert-to-number.d.ts.map +1 -0
  90. package/dist/common/try-convert-to-number.js +10 -0
  91. package/dist/common/try-convert-to-number.js.map +1 -0
  92. package/dist/common/unflatten-object-keys.d.ts +29 -0
  93. package/dist/common/unflatten-object-keys.d.ts.map +1 -0
  94. package/dist/common/unflatten-object-keys.js +67 -0
  95. package/dist/common/unflatten-object-keys.js.map +1 -0
  96. package/dist/common/validate-module-name.d.ts +2 -0
  97. package/dist/common/validate-module-name.d.ts.map +1 -0
  98. package/dist/common/validate-module-name.js +27 -0
  99. package/dist/common/validate-module-name.js.map +1 -0
  100. package/dist/common/wrap-handler.d.ts +2 -0
  101. package/dist/common/wrap-handler.d.ts.map +1 -0
  102. package/dist/common/wrap-handler.js +40 -0
  103. package/dist/common/wrap-handler.js.map +1 -0
  104. package/dist/core-flows/events.d.ts +57 -0
  105. package/dist/core-flows/events.d.ts.map +1 -1
  106. package/dist/core-flows/events.js +58 -8
  107. package/dist/core-flows/events.js.map +1 -1
  108. package/dist/dal/index.d.ts +1 -0
  109. package/dist/dal/index.d.ts.map +1 -1
  110. package/dist/dal/index.js +1 -0
  111. package/dist/dal/index.js.map +1 -1
  112. package/dist/dal/mikro-orm/big-number-field.d.ts.map +1 -1
  113. package/dist/dal/mikro-orm/big-number-field.js +36 -21
  114. package/dist/dal/mikro-orm/big-number-field.js.map +1 -1
  115. package/dist/dal/mikro-orm/mikro-orm-create-connection.d.ts +10 -4
  116. package/dist/dal/mikro-orm/mikro-orm-create-connection.d.ts.map +1 -1
  117. package/dist/dal/mikro-orm/mikro-orm-create-connection.js +53 -11
  118. package/dist/dal/mikro-orm/mikro-orm-create-connection.js.map +1 -1
  119. package/dist/dal/mikro-orm/mikro-orm-free-text-search-filter.d.ts +3 -6
  120. package/dist/dal/mikro-orm/mikro-orm-free-text-search-filter.d.ts.map +1 -1
  121. package/dist/dal/mikro-orm/mikro-orm-free-text-search-filter.js +16 -21
  122. package/dist/dal/mikro-orm/mikro-orm-free-text-search-filter.js.map +1 -1
  123. package/dist/dal/mikro-orm/mikro-orm-repository.d.ts +4 -7
  124. package/dist/dal/mikro-orm/mikro-orm-repository.d.ts.map +1 -1
  125. package/dist/dal/mikro-orm/mikro-orm-repository.js +94 -79
  126. package/dist/dal/mikro-orm/mikro-orm-repository.js.map +1 -1
  127. package/dist/dal/mikro-orm/mikro-orm-serializer.d.ts +7 -3
  128. package/dist/dal/mikro-orm/mikro-orm-serializer.d.ts.map +1 -1
  129. package/dist/dal/mikro-orm/mikro-orm-serializer.js +18 -15
  130. package/dist/dal/mikro-orm/mikro-orm-serializer.js.map +1 -1
  131. package/dist/dal/mikro-orm/sql-migration-generator.d.ts +6 -4
  132. package/dist/dal/mikro-orm/sql-migration-generator.d.ts.map +1 -1
  133. package/dist/dal/mikro-orm/sql-migration-generator.js +120 -70
  134. package/dist/dal/mikro-orm/sql-migration-generator.js.map +1 -1
  135. package/dist/dal/mikro-orm/utils.d.ts +14 -1
  136. package/dist/dal/mikro-orm/utils.d.ts.map +1 -1
  137. package/dist/dal/mikro-orm/utils.js +82 -38
  138. package/dist/dal/mikro-orm/utils.js.map +1 -1
  139. package/dist/defaults/countries.d.ts.map +1 -1
  140. package/dist/defaults/countries.js +0 -6
  141. package/dist/defaults/countries.js.map +1 -1
  142. package/dist/defaults/currencies.d.ts.map +1 -1
  143. package/dist/defaults/currencies.js +9 -0
  144. package/dist/defaults/currencies.js.map +1 -1
  145. package/dist/dml/entity-builder.d.ts.map +1 -1
  146. package/dist/dml/entity-builder.js.map +1 -1
  147. package/dist/dml/entity.d.ts +4 -5
  148. package/dist/dml/entity.d.ts.map +1 -1
  149. package/dist/dml/entity.js +0 -2
  150. package/dist/dml/entity.js.map +1 -1
  151. package/dist/dml/helpers/create-graphql.d.ts.map +1 -1
  152. package/dist/dml/helpers/create-graphql.js +27 -2
  153. package/dist/dml/helpers/create-graphql.js.map +1 -1
  154. package/dist/dml/helpers/create-mikro-orm-entity.d.ts.map +1 -1
  155. package/dist/dml/helpers/create-mikro-orm-entity.js +9 -6
  156. package/dist/dml/helpers/create-mikro-orm-entity.js.map +1 -1
  157. package/dist/dml/helpers/entity-builder/define-property.d.ts.map +1 -1
  158. package/dist/dml/helpers/entity-builder/define-property.js +9 -7
  159. package/dist/dml/helpers/entity-builder/define-property.js.map +1 -1
  160. package/dist/dml/helpers/entity-builder/define-relationship.d.ts +1 -1
  161. package/dist/dml/helpers/entity-builder/define-relationship.d.ts.map +1 -1
  162. package/dist/dml/helpers/entity-builder/define-relationship.js +41 -25
  163. package/dist/dml/helpers/entity-builder/define-relationship.js.map +1 -1
  164. package/dist/dml/helpers/entity-builder/index.d.ts +1 -0
  165. package/dist/dml/helpers/entity-builder/index.d.ts.map +1 -1
  166. package/dist/dml/helpers/entity-builder/index.js +1 -0
  167. package/dist/dml/helpers/entity-builder/index.js.map +1 -1
  168. package/dist/dml/helpers/entity-builder/relationship-helpers.d.ts +6 -0
  169. package/dist/dml/helpers/entity-builder/relationship-helpers.d.ts.map +1 -0
  170. package/dist/dml/helpers/entity-builder/relationship-helpers.js +12 -0
  171. package/dist/dml/helpers/entity-builder/relationship-helpers.js.map +1 -0
  172. package/dist/dml/helpers/graphql-builder/get-attribute.js +2 -2
  173. package/dist/dml/helpers/graphql-builder/get-attribute.js.map +1 -1
  174. package/dist/dml/index.d.ts +1 -1
  175. package/dist/dml/index.d.ts.map +1 -1
  176. package/dist/dml/index.js +1 -1
  177. package/dist/dml/index.js.map +1 -1
  178. package/dist/dml/integration-tests/utils.js +1 -1
  179. package/dist/dml/integration-tests/utils.js.map +1 -1
  180. package/dist/dml/properties/autoincrement.d.ts +20 -1
  181. package/dist/dml/properties/autoincrement.d.ts.map +1 -1
  182. package/dist/dml/properties/autoincrement.js +19 -0
  183. package/dist/dml/properties/autoincrement.js.map +1 -1
  184. package/dist/dml/properties/number.d.ts +20 -1
  185. package/dist/dml/properties/number.d.ts.map +1 -1
  186. package/dist/dml/properties/number.js +19 -0
  187. package/dist/dml/properties/number.js.map +1 -1
  188. package/dist/event-bus/index.d.ts +1 -1
  189. package/dist/event-bus/index.d.ts.map +1 -1
  190. package/dist/event-bus/index.js +5 -6
  191. package/dist/event-bus/index.js.map +1 -1
  192. package/dist/event-bus/message-aggregator.js +1 -1
  193. package/dist/event-bus/message-aggregator.js.map +1 -1
  194. package/dist/feature-flags/eto-v2.d.ts +3 -0
  195. package/dist/feature-flags/eto-v2.d.ts.map +1 -0
  196. package/dist/feature-flags/eto-v2.js +10 -0
  197. package/dist/feature-flags/eto-v2.js.map +1 -0
  198. package/dist/feature-flags/many-to-many-inventory.d.ts +3 -0
  199. package/dist/feature-flags/many-to-many-inventory.d.ts.map +1 -0
  200. package/dist/feature-flags/many-to-many-inventory.js +10 -0
  201. package/dist/feature-flags/many-to-many-inventory.js.map +1 -0
  202. package/dist/feature-flags/order-editing.d.ts +3 -0
  203. package/dist/feature-flags/order-editing.d.ts.map +1 -0
  204. package/dist/feature-flags/order-editing.js +10 -0
  205. package/dist/feature-flags/order-editing.js.map +1 -0
  206. package/dist/feature-flags/product-categories.d.ts +3 -0
  207. package/dist/feature-flags/product-categories.d.ts.map +1 -0
  208. package/dist/feature-flags/product-categories.js +10 -0
  209. package/dist/feature-flags/product-categories.js.map +1 -0
  210. package/dist/feature-flags/sales-channels.d.ts +3 -0
  211. package/dist/feature-flags/sales-channels.d.ts.map +1 -0
  212. package/dist/feature-flags/sales-channels.js +10 -0
  213. package/dist/feature-flags/sales-channels.js.map +1 -0
  214. package/dist/feature-flags/tax-inclusive-pricing.d.ts +3 -0
  215. package/dist/feature-flags/tax-inclusive-pricing.d.ts.map +1 -0
  216. package/dist/feature-flags/tax-inclusive-pricing.js +10 -0
  217. package/dist/feature-flags/tax-inclusive-pricing.js.map +1 -0
  218. package/dist/file/abstract-file-provider.d.ts +70 -11
  219. package/dist/file/abstract-file-provider.d.ts.map +1 -1
  220. package/dist/file/abstract-file-provider.js +73 -11
  221. package/dist/file/abstract-file-provider.js.map +1 -1
  222. package/dist/graphql/graphql-to-ts-types.d.ts.map +1 -1
  223. package/dist/graphql/graphql-to-ts-types.js +23 -2
  224. package/dist/graphql/graphql-to-ts-types.js.map +1 -1
  225. package/dist/index.d.ts +1 -0
  226. package/dist/index.d.ts.map +1 -1
  227. package/dist/index.js +1 -0
  228. package/dist/index.js.map +1 -1
  229. package/dist/migrations/index.d.ts +8 -0
  230. package/dist/migrations/index.d.ts.map +1 -1
  231. package/dist/migrations/index.js +27 -2
  232. package/dist/migrations/index.js.map +1 -1
  233. package/dist/modules-sdk/build-query.d.ts.map +1 -1
  234. package/dist/modules-sdk/build-query.js +14 -13
  235. package/dist/modules-sdk/build-query.js.map +1 -1
  236. package/dist/modules-sdk/create-pg-connection.d.ts +2 -1
  237. package/dist/modules-sdk/create-pg-connection.d.ts.map +1 -1
  238. package/dist/modules-sdk/create-pg-connection.js +1 -1
  239. package/dist/modules-sdk/decorators/inject-manager.d.ts.map +1 -1
  240. package/dist/modules-sdk/decorators/inject-manager.js +6 -0
  241. package/dist/modules-sdk/decorators/inject-manager.js.map +1 -1
  242. package/dist/modules-sdk/decorators/inject-transaction-manager.js +5 -5
  243. package/dist/modules-sdk/decorators/inject-transaction-manager.js.map +1 -1
  244. package/dist/modules-sdk/define-link.d.ts +2 -0
  245. package/dist/modules-sdk/define-link.d.ts.map +1 -1
  246. package/dist/modules-sdk/define-link.js +16 -0
  247. package/dist/modules-sdk/define-link.js.map +1 -1
  248. package/dist/modules-sdk/definition.d.ts +9 -0
  249. package/dist/modules-sdk/definition.d.ts.map +1 -1
  250. package/dist/modules-sdk/definition.js +5 -2
  251. package/dist/modules-sdk/definition.js.map +1 -1
  252. package/dist/modules-sdk/eto-internal-service.d.ts.map +1 -1
  253. package/dist/modules-sdk/eto-internal-service.js +35 -37
  254. package/dist/modules-sdk/eto-internal-service.js.map +1 -1
  255. package/dist/modules-sdk/eto-service.d.ts.map +1 -1
  256. package/dist/modules-sdk/eto-service.js +25 -41
  257. package/dist/modules-sdk/eto-service.js.map +1 -1
  258. package/dist/modules-sdk/event-builder-factory.js +9 -9
  259. package/dist/modules-sdk/event-builder-factory.js.map +1 -1
  260. package/dist/modules-sdk/joiner-config-builder.js +1 -1
  261. package/dist/modules-sdk/joiner-config-builder.js.map +1 -1
  262. package/dist/modules-sdk/load-module-database-config.d.ts.map +1 -1
  263. package/dist/modules-sdk/load-module-database-config.js +3 -0
  264. package/dist/modules-sdk/load-module-database-config.js.map +1 -1
  265. package/dist/modules-sdk/loaders/mikro-orm-connection-loader.d.ts.map +1 -1
  266. package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js +0 -7
  267. package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js.map +1 -1
  268. package/dist/modules-sdk/migration-scripts/index.d.ts +1 -0
  269. package/dist/modules-sdk/migration-scripts/index.d.ts.map +1 -1
  270. package/dist/modules-sdk/migration-scripts/index.js +1 -0
  271. package/dist/modules-sdk/migration-scripts/index.js.map +1 -1
  272. package/dist/modules-sdk/migration-scripts/migration-down.js +2 -2
  273. package/dist/modules-sdk/migration-scripts/migration-down.js.map +1 -1
  274. package/dist/modules-sdk/migration-scripts/migration-generate.d.ts.map +1 -1
  275. package/dist/modules-sdk/migration-scripts/migration-generate.js +7 -3
  276. package/dist/modules-sdk/migration-scripts/migration-generate.js.map +1 -1
  277. package/dist/modules-sdk/migration-scripts/migration-up.js +2 -2
  278. package/dist/modules-sdk/migration-scripts/migration-up.js.map +1 -1
  279. package/dist/modules-sdk/migration-scripts/service-migration-generate.d.ts +7 -0
  280. package/dist/modules-sdk/migration-scripts/service-migration-generate.d.ts.map +1 -0
  281. package/dist/modules-sdk/migration-scripts/service-migration-generate.js +49 -0
  282. package/dist/modules-sdk/migration-scripts/service-migration-generate.js.map +1 -0
  283. package/dist/modules-sdk/mikro-orm-cli-config-builder.d.ts +0 -1
  284. package/dist/modules-sdk/mikro-orm-cli-config-builder.d.ts.map +1 -1
  285. package/dist/modules-sdk/mikro-orm-cli-config-builder.js +7 -6
  286. package/dist/modules-sdk/mikro-orm-cli-config-builder.js.map +1 -1
  287. package/dist/modules-sdk/module.d.ts.map +1 -1
  288. package/dist/modules-sdk/module.js +12 -14
  289. package/dist/modules-sdk/module.js.map +1 -1
  290. package/dist/modules-sdk/modules-to-container-types.d.ts.map +1 -1
  291. package/dist/modules-sdk/modules-to-container-types.js +30 -3
  292. package/dist/modules-sdk/modules-to-container-types.js.map +1 -1
  293. package/dist/modules-sdk/query-context.d.ts +2 -2
  294. package/dist/modules-sdk/query-context.d.ts.map +1 -1
  295. package/dist/modules-sdk/query-context.js.map +1 -1
  296. package/dist/modules-sdk/types/eto-service.d.ts +34 -10
  297. package/dist/modules-sdk/types/eto-service.d.ts.map +1 -1
  298. package/dist/notification/abstract-notification-provider.d.ts +10 -0
  299. package/dist/notification/abstract-notification-provider.d.ts.map +1 -1
  300. package/dist/notification/abstract-notification-provider.js.map +1 -1
  301. package/dist/payment/abstract-payment-provider.d.ts +253 -263
  302. package/dist/payment/abstract-payment-provider.d.ts.map +1 -1
  303. package/dist/payment/abstract-payment-provider.js +7 -15
  304. package/dist/payment/abstract-payment-provider.js.map +1 -1
  305. package/dist/payment/index.d.ts +0 -2
  306. package/dist/payment/index.d.ts.map +1 -1
  307. package/dist/payment/index.js +0 -2
  308. package/dist/payment/index.js.map +1 -1
  309. package/dist/payment/payment-collection.d.ts +13 -1
  310. package/dist/payment/payment-collection.d.ts.map +1 -1
  311. package/dist/payment/payment-collection.js +12 -0
  312. package/dist/payment/payment-collection.js.map +1 -1
  313. package/dist/payment/webhook.d.ts +13 -1
  314. package/dist/payment/webhook.d.ts.map +1 -1
  315. package/dist/payment/webhook.js +13 -1
  316. package/dist/payment/webhook.js.map +1 -1
  317. package/dist/pg/index.d.ts +1 -1
  318. package/dist/pg/index.d.ts.map +1 -1
  319. package/dist/totals/big-number.d.ts +23 -0
  320. package/dist/totals/big-number.d.ts.map +1 -0
  321. package/dist/totals/big-number.js +115 -0
  322. package/dist/totals/big-number.js.map +1 -0
  323. package/dist/totals/create-raw-properties-from-bignumber.d.ts +5 -0
  324. package/dist/totals/create-raw-properties-from-bignumber.d.ts.map +1 -0
  325. package/dist/totals/create-raw-properties-from-bignumber.js +52 -0
  326. package/dist/totals/create-raw-properties-from-bignumber.js.map +1 -0
  327. package/dist/totals/index.d.ts +6 -0
  328. package/dist/totals/index.d.ts.map +1 -0
  329. package/dist/totals/index.js +22 -0
  330. package/dist/totals/index.js.map +1 -0
  331. package/dist/totals/math.d.ts +24 -0
  332. package/dist/totals/math.d.ts.map +1 -0
  333. package/dist/totals/math.js +106 -0
  334. package/dist/totals/math.js.map +1 -0
  335. package/dist/totals/transform-properties-to-bignumber.d.ts +6 -0
  336. package/dist/totals/transform-properties-to-bignumber.d.ts.map +1 -0
  337. package/dist/totals/transform-properties-to-bignumber.js +40 -0
  338. package/dist/totals/transform-properties-to-bignumber.js.map +1 -0
  339. package/dist/tsconfig.tsbuildinfo +1 -1
  340. package/package.json +41 -38
  341. package/dist/payment/get-smallest-unit.d.ts +0 -17
  342. package/dist/payment/get-smallest-unit.d.ts.map +0 -1
  343. package/dist/payment/get-smallest-unit.js +0 -68
  344. package/dist/payment/get-smallest-unit.js.map +0 -1
@@ -9,6 +9,7 @@ exports.transformModules = transformModules;
9
9
  const is_string_1 = require("./is-string");
10
10
  const normalize_import_path_with_source_1 = require("./normalize-import-path-with-source");
11
11
  const resolve_exports_1 = require("./resolve-exports");
12
+ const is_object_1 = require("./is-object");
12
13
  const DEFAULT_SECRET = "supersecret";
13
14
  const DEFAULT_ADMIN_URL = "/";
14
15
  const DEFAULT_STORE_CORS = "http://localhost:8000";
@@ -17,7 +18,7 @@ const DEFAULT_ADMIN_CORS = "http://localhost:7000,http://localhost:7001,http://l
17
18
  exports.DEFAULT_STORE_RESTRICTED_FIELDS = [
18
19
  "order",
19
20
  "orders",
20
- /* "customer",
21
+ /*"customer",
21
22
  "customers",
22
23
  "payment_collection",
23
24
  "payment_collections"*/
@@ -84,17 +85,12 @@ const defineConfig = (config = {}) => {
84
85
  const featureFlags = {
85
86
  ...config.featureFlags,
86
87
  };
87
- // todo revist
88
- // todo delete this whole function its not needed anymore/
89
- // @ts-ignore
90
- const modules = resolveModules({}, config.modules);
91
88
  return {
92
89
  projectConfig,
93
90
  featureFlags,
94
91
  plugins: config.plugins || [],
95
92
  admin,
96
- modules: modules,
97
- modulesDefinition: {},
93
+ inputModules: config.modules,
98
94
  };
99
95
  };
100
96
  exports.defineConfig = defineConfig;
@@ -147,26 +143,50 @@ function createReversedModuleMap(moduleMap) {
147
143
  // }
148
144
  return reversedModuleMap;
149
145
  }
150
- function resolveModules(defaultModules, configModules) {
151
- if (!defaultModules) {
146
+ function mapModulesToDeclarations(modules) {
147
+ return modules.map((module) => ({
148
+ resolve: module.defaultPackage,
149
+ key: module.key,
150
+ ...(module.options && { options: module.options }),
151
+ }));
152
+ }
153
+ function resolveModules(modulesDefinitionInput, inputModules) {
154
+ // determine core and shared modules at the moduleDefinition input loader.
155
+ const modules = mapModulesToDeclarations(modulesDefinitionInput);
156
+ if (!modules) {
152
157
  throw new Error("Default modules are required");
153
158
  }
154
- // if (configModules) {
155
- // defaultModules.push(...configModules)
156
- // } else {
157
- // throw new Error("Invalid modules configuration. Should be an array")
158
- // }
159
- const moduleMap = createModuleMap(defaultModules);
159
+ /**
160
+ * Backward compatibility for the old way of defining modules (object vs array)
161
+ */
162
+ if (inputModules) {
163
+ if ((0, is_object_1.isObject)(inputModules)) {
164
+ const modules_ = (inputModules ??
165
+ {});
166
+ Object.entries(modules_).forEach(([key, moduleConfig]) => {
167
+ modules.push({
168
+ key: key,
169
+ ...((0, is_object_1.isObject)(moduleConfig)
170
+ ? moduleConfig
171
+ : { disable: !moduleConfig }),
172
+ });
173
+ });
174
+ }
175
+ else if (Array.isArray(inputModules)) {
176
+ const modules_ = (inputModules ?? []);
177
+ modules.push(...modules_);
178
+ }
179
+ else {
180
+ throw new Error("Invalid modules configuration. Should be an array or object.");
181
+ }
182
+ }
183
+ const moduleMap = createModuleMap(modules);
160
184
  const reversedModuleMap = createReversedModuleMap(moduleMap);
161
- const transformedModules = transformModules({
162
- modules: defaultModules,
185
+ return transformModules({
186
+ modules,
163
187
  moduleMap,
164
188
  reversedModuleMap,
165
189
  });
166
- if (configModules) {
167
- return { ...transformedModules, ...configModules };
168
- }
169
- return transformedModules;
170
190
  }
171
191
  /**
172
192
  * Transforms an array of modules into an object. The last module will
@@ -175,15 +195,14 @@ function resolveModules(defaultModules, configModules) {
175
195
  function transformModules({ modules, moduleMap, reversedModuleMap, }) {
176
196
  return modules.reduce((acc, moduleConfig) => {
177
197
  if (moduleConfig.scope === "external" && !moduleConfig.key) {
178
- throw new Error("External modules configuration must have a 'key'.");
198
+ throw new Error("External modules configuration must have a 'key'. Please provide a key for the module.");
179
199
  }
180
200
  if ("disable" in moduleConfig && "key" in moduleConfig) {
181
201
  acc[moduleConfig.key] = moduleConfig;
182
202
  }
183
- // TODO: handle external modules late
184
- let serviceName = "key" in moduleConfig && moduleConfig.key ? String(moduleConfig.key) : "";
203
+ // TODO: handle external modules later
204
+ let serviceName = "key" in moduleConfig && moduleConfig.key ? moduleConfig.key : "";
185
205
  delete moduleConfig.key;
186
- // backward compactibility to suppose none provider based import.
187
206
  if (!serviceName && "resolve" in moduleConfig) {
188
207
  if ((0, is_string_1.isString)(moduleConfig.resolve) &&
189
208
  reversedModuleMap[moduleConfig.resolve]) {
@@ -204,7 +223,7 @@ function transformModules({ modules, moduleMap, reversedModuleMap, }) {
204
223
  : defaultExport.service.prototype.__joinerConfig ?? {};
205
224
  serviceName = joinerConfig.serviceName;
206
225
  if (!serviceName) {
207
- throw new Error(`Module ${moduleConfig.resolve} doesn't have a serviceName.`);
226
+ throw new Error(`Module ${moduleConfig.resolve} doesn't have a serviceName. Please provide a 'key' for the module or check the service joiner config.`);
208
227
  }
209
228
  }
210
229
  acc[serviceName] = moduleConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/common/define-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/common/define-config.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ErrCode, APIError } from "./api-error";
1
2
  /**
2
3
  * @typedef EtoErrorType
3
4
  *
@@ -26,11 +27,11 @@ export declare const EtoErrorCodes: {
26
27
  * Standardized error to be used across Eto project.
27
28
  * @extends Error
28
29
  */
29
- export declare class EtoError extends Error {
30
+ export declare class EtoError extends APIError {
30
31
  __isEtoError: boolean;
31
32
  type: string;
32
33
  message: string;
33
- code?: string;
34
+ code: ErrCode;
34
35
  date: Date;
35
36
  static Types: {
36
37
  /** Errors stemming from the database */
@@ -59,10 +60,11 @@ export declare class EtoError extends Error {
59
60
  * @param {string} code - code of error
60
61
  * @param {Array} params - params
61
62
  */
62
- constructor(type: string, message: string, code?: string, ...params: any);
63
+ constructor(type: string, message: string, code?: string, ...params: any[]);
63
64
  /**
65
+ static isEtoError(err: unknown): err is EtoError {
64
66
  * Checks the object for the EtoError type.
65
67
  */
66
- static isEtoError(error: any): error is EtoError;
68
+ static isEtoError(err: unknown): err is EtoError;
67
69
  }
68
70
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa;IACxB,wCAAwC;;;;;;;;;;;;;CAazC,CAAA;AAED,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,YAAY,UAAO;IAEZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACjB,OAAc,KAAK;QAhCnB,wCAAwC;;;;;;;;;;;;;MAgCL;IACnC,OAAc,KAAK;;;;MAAgB;IAEnC;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG;IAaxE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,QAAQ;CAGjD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,aAAa;IACxB,wCAAwC;;;;;;;;;;;;;CAazC,CAAA;AAED,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAkBD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IACpC,YAAY,UAAO;IAEZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACjB,OAAc,KAAK;QAhDnB,wCAAwC;;;;;;;;;;;;;MAgDL;IACnC,OAAc,KAAK;;;;MAAgB;IAEnC;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAiB1E;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ;CAGjD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EtoError = exports.EtoErrorCodes = exports.EtoErrorTypes = void 0;
4
+ const api_error_1 = require("./api-error");
4
5
  /**
5
6
  * @typedef EtoErrorType
6
7
  *
@@ -25,11 +26,26 @@ exports.EtoErrorCodes = {
25
26
  CART_INCOMPATIBLE_STATE: "cart_incompatible_state",
26
27
  UNKNOWN_MODULES: "unknown_modules",
27
28
  };
29
+ const EtoTypeToErrCode = {
30
+ [exports.EtoErrorTypes.INVALID_ARGUMENT]: api_error_1.ErrCode.InvalidArgument,
31
+ [exports.EtoErrorTypes.NOT_FOUND]: api_error_1.ErrCode.NotFound,
32
+ [exports.EtoErrorTypes.UNAUTHORIZED]: api_error_1.ErrCode.PermissionDenied,
33
+ [exports.EtoErrorTypes.DUPLICATE_ERROR]: api_error_1.ErrCode.AlreadyExists,
34
+ [exports.EtoErrorTypes.UNEXPECTED_STATE]: api_error_1.ErrCode.FailedPrecondition,
35
+ [exports.EtoErrorTypes.CONFLICT]: api_error_1.ErrCode.Aborted,
36
+ [exports.EtoErrorTypes.DB_ERROR]: api_error_1.ErrCode.Internal,
37
+ [exports.EtoErrorTypes.INVALID_DATA]: api_error_1.ErrCode.OutOfRange,
38
+ [exports.EtoErrorTypes.UNKNOWN_MODULES]: api_error_1.ErrCode.Unknown,
39
+ // Defaults
40
+ [exports.EtoErrorTypes.NOT_ALLOWED]: api_error_1.ErrCode.PermissionDenied,
41
+ [exports.EtoErrorTypes.PAYMENT_AUTHORIZATION_ERROR]: api_error_1.ErrCode.FailedPrecondition,
42
+ [exports.EtoErrorTypes.PAYMENT_REQUIRES_MORE_ERROR]: api_error_1.ErrCode.ResourceExhausted,
43
+ };
28
44
  /**
29
45
  * Standardized error to be used across Eto project.
30
46
  * @extends Error
31
47
  */
32
- class EtoError extends Error {
48
+ class EtoError extends api_error_1.APIError {
33
49
  /**
34
50
  * Creates a standardized error to be used across Eto project.
35
51
  * @param {string} type - type of error
@@ -38,21 +54,25 @@ class EtoError extends Error {
38
54
  * @param {Array} params - params
39
55
  */
40
56
  constructor(type, message, code, ...params) {
41
- super(...params);
57
+ const errCode = EtoTypeToErrCode[type] ?? api_error_1.ErrCode.Unknown;
58
+ const details = code ? { code } : undefined;
59
+ // APIError constructor: (code: ErrCode, msg: string, cause?: Error, details?: ErrDetails)
60
+ super(errCode, message, undefined, details);
42
61
  this.__isEtoError = true;
43
62
  if (Error.captureStackTrace) {
44
63
  Error.captureStackTrace(this, EtoError);
45
64
  }
46
65
  this.type = type;
47
- this.code = code;
66
+ this.code = errCode || api_error_1.ErrCode.Internal;
48
67
  this.message = message;
49
68
  this.date = new Date();
50
69
  }
51
70
  /**
71
+ static isEtoError(err: unknown): err is EtoError {
52
72
  * Checks the object for the EtoError type.
53
73
  */
54
- static isEtoError(error) {
55
- return !!error.__isEtoError;
74
+ static isEtoError(err) {
75
+ return !!(err && typeof err === "object" && err.__isEtoError);
56
76
  }
57
77
  }
58
78
  exports.EtoError = EtoError;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,aAAa,GAAG;IAC3B,wCAAwC;IACxC,QAAQ,EAAE,gBAAgB;IAC1B,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;IAClC,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EAAE,6BAA6B;CAC3D,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,sBAAsB,EAAE,wBAAwB;IAChD,uBAAuB,EAAE,yBAAyB;IAClD,eAAe,EAAE,iBAAiB;CACnC,CAAA;AAED;;;GAGG;AACH,MAAa,QAAS,SAAQ,KAAK;IAUjC;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,IAAa,EAAE,GAAG,MAAW;QACtE,KAAK,CAAC,GAAG,MAAM,CAAC,CAAA;QAjBlB,iBAAY,GAAG,IAAI,CAAA;QAmBjB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,CAAA;IAC7B,CAAC;;AAnCH,4BAoCC;AA7Be,cAAK,GAAG,qBAAa,AAAhB,CAAgB;AACrB,cAAK,GAAG,qBAAa,AAAhB,CAAgB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isExecMode(): boolean;
2
+ //# sourceMappingURL=exec-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec-mode.d.ts","sourceRoot":"","sources":["../../src/common/exec-mode.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,YAazB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isExecMode = isExecMode;
4
+ function isExecMode() {
5
+ // Check for npm/npx-specific environment variables
6
+ const isNpx = process.env.npm_lifecycle_event === "npx" ||
7
+ process.env.npm_command === "exec";
8
+ const hasNpmExecPath = !!process.env.npm_execpath;
9
+ const hasNpxPath = process.env.PATH &&
10
+ process.env.PATH.includes("_npx") &&
11
+ process.env.PATH.includes("node_modules/.bin");
12
+ // Return true if any strong indicator of npx/exec mode is present
13
+ return !!(isNpx || hasNpmExecPath || hasNpxPath);
14
+ }
15
+ //# sourceMappingURL=exec-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec-mode.js","sourceRoot":"","sources":["../../src/common/exec-mode.ts"],"names":[],"mappings":";;AAAA,gCAaC;AAbD,SAAgB,UAAU;IACxB,mDAAmD;IACnD,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,KAAK;QACzC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAA;IACpC,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;IACjD,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,IAAI;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IAEhD,kEAAkE;IAClE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,IAAI,UAAU,CAAC,CAAA;AAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"flatten-object-to-key-value-pairs.d.ts","sourceRoot":"","sources":["../../src/common/flatten-object-to-key-value-pairs.ts"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AA0BD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CA+G5E"}
1
+ {"version":3,"file":"flatten-object-to-key-value-pairs.d.ts","sourceRoot":"","sources":["../../src/common/flatten-object-to-key-value-pairs.ts"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AA4BD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CAqR5E"}
@@ -25,101 +25,243 @@ const is_object_1 = require("./is-object");
25
25
  "product.categories.id": ["test-category"],
26
26
  "product.categories.name": ["Test Category"]
27
27
  }
28
+
29
+ Null and undefined values are excluded from the result.
28
30
  */
29
31
  function flattenObjectToKeyValuePairs(obj) {
30
32
  const result = {};
31
- // Find all paths that contain arrays of objects
32
- function findArrayPaths(obj, currentPath = []) {
33
- const paths = [];
34
- if (!obj || typeof obj !== "object") {
35
- return paths;
33
+ function shouldPreserveArray(value, path) {
34
+ if (!Array.isArray(value) || value.length === 0) {
35
+ return false;
36
36
  }
37
- // If it's an array of objects, add this path
38
- if (Array.isArray(obj) && obj.length > 0 && (0, is_object_1.isObject)(obj[0])) {
39
- paths.push(currentPath);
37
+ if (value.some((item) => (0, is_object_1.isObject)(item) && !Array.isArray(item))) {
38
+ return true;
40
39
  }
41
- // Check all properties
42
- if ((0, is_object_1.isObject)(obj)) {
43
- Object.entries(obj).forEach(([key, value]) => {
44
- const newPath = [...currentPath, key];
45
- paths.push(...findArrayPaths(value, newPath));
46
- });
40
+ if (value.some((item) => Array.isArray(item))) {
41
+ return true;
47
42
  }
48
- return paths;
43
+ if (path.length > 1) {
44
+ return true;
45
+ }
46
+ if (value.length > 1) {
47
+ const firstType = typeof value[0];
48
+ const allSameType = value.every((item) => typeof item === firstType && !(0, is_object_1.isObject)(item) && !Array.isArray(item));
49
+ if (allSameType) {
50
+ return true;
51
+ }
52
+ }
53
+ return false;
49
54
  }
50
- // Extract array values at a specific path
51
- function getArrayValues(obj, path) {
52
- const arrayObj = path.reduce((acc, key) => {
53
- if (acc && (0, is_object_1.isObject)(acc)) {
54
- return acc[key];
55
- }
56
- return undefined;
57
- }, obj);
58
- if (!Array.isArray(arrayObj))
55
+ /**
56
+ * Normalize array values - unwrap single-item arrays and handle empty arrays
57
+ */
58
+ function normalizeArrayValue(value, path) {
59
+ if (!Array.isArray(value)) {
60
+ return value;
61
+ }
62
+ if (value.length === 1 &&
63
+ Array.isArray(value[0]) &&
64
+ value[0].length === 0) {
59
65
  return [];
60
- return arrayObj;
66
+ }
67
+ if (shouldPreserveArray(value, path)) {
68
+ return value;
69
+ }
70
+ if (value.length === 1 && !(0, is_object_1.isObject)(value[0]) && !Array.isArray(value[0])) {
71
+ return value[0];
72
+ }
73
+ return value;
61
74
  }
62
- // Process non-array paths
63
- function processRegularPaths(obj, prefix = "") {
64
- if (!obj || typeof obj !== "object") {
65
- result[prefix] = obj;
75
+ /**
76
+ * Recursively process an object/array and flatten it
77
+ */
78
+ function processPath(value, currentPath = []) {
79
+ // Handle null, undefined, or primitive values
80
+ if (!value || typeof value !== "object") {
81
+ if (value !== null && value !== undefined && currentPath.length > 0) {
82
+ result[currentPath.join(".")] = value;
83
+ }
66
84
  return;
67
85
  }
68
- if (Array.isArray(obj))
86
+ if (Array.isArray(value)) {
87
+ if (value.length === 0) {
88
+ if (currentPath.length > 0) {
89
+ result[currentPath.join(".")] = [];
90
+ }
91
+ return;
92
+ }
93
+ if (value.some((item) => (0, is_object_1.isObject)(item) && !Array.isArray(item))) {
94
+ extractPropertiesFromArray(value, currentPath);
95
+ }
96
+ else if (value.some((item) => Array.isArray(item))) {
97
+ const allValues = [];
98
+ const flattenedObjects = [];
99
+ const flattenArray = (arr, collector = []) => {
100
+ arr.forEach((item) => {
101
+ if (Array.isArray(item)) {
102
+ flattenArray(item, collector);
103
+ }
104
+ else if ((0, is_object_1.isObject)(item)) {
105
+ collector.push(item);
106
+ }
107
+ else if (item !== null && item !== undefined) {
108
+ allValues.push(item);
109
+ }
110
+ });
111
+ };
112
+ flattenArray(value, flattenedObjects);
113
+ if (flattenedObjects.length > 0) {
114
+ extractPropertiesFromArray(flattenedObjects, currentPath);
115
+ }
116
+ else if (allValues.length > 0) {
117
+ result[currentPath.join(".")] = normalizeArrayValue(allValues, currentPath);
118
+ }
119
+ }
120
+ else {
121
+ const cleanedValues = value.filter((v) => v !== null && v !== undefined);
122
+ if (cleanedValues.length > 0) {
123
+ result[currentPath.join(".")] = normalizeArrayValue(cleanedValues, currentPath);
124
+ }
125
+ }
126
+ return;
127
+ }
128
+ Object.entries(value).forEach(([key, propValue]) => {
129
+ const newPath = [...currentPath, key];
130
+ if (propValue === null || propValue === undefined) {
131
+ return;
132
+ }
133
+ else if (Array.isArray(propValue)) {
134
+ if (propValue.length === 0) {
135
+ result[newPath.join(".")] = [];
136
+ }
137
+ else {
138
+ processPath(propValue, newPath);
139
+ }
140
+ }
141
+ else if ((0, is_object_1.isObject)(propValue)) {
142
+ processPath(propValue, newPath);
143
+ }
144
+ else {
145
+ result[newPath.join(".")] = propValue;
146
+ }
147
+ });
148
+ }
149
+ /**
150
+ * Extract all properties from an array of objects and store them
151
+ */
152
+ function extractPropertiesFromArray(array, basePath = []) {
153
+ if (!array.length)
69
154
  return;
70
- Object.entries(obj).forEach(([key, value]) => {
71
- const newPrefix = prefix ? `${prefix}.${key}` : key;
72
- if (value && (0, is_object_1.isObject)(value) && !Array.isArray(value)) {
73
- processRegularPaths(value, newPrefix);
155
+ // Collect all unique keys from all objects in the array
156
+ const allKeys = new Set();
157
+ array.forEach((item) => {
158
+ if ((0, is_object_1.isObject)(item) && !Array.isArray(item)) {
159
+ Object.keys(item).forEach((key) => allKeys.add(key));
160
+ }
161
+ });
162
+ allKeys.forEach((key) => {
163
+ const valuePath = [...basePath, key];
164
+ const values = [];
165
+ array.forEach((item) => {
166
+ if ((0, is_object_1.isObject)(item) && !Array.isArray(item) && key in item) {
167
+ const itemValue = item[key];
168
+ if (itemValue !== null && itemValue !== undefined) {
169
+ values.push(itemValue);
170
+ }
171
+ }
172
+ });
173
+ if (values.length === 0)
174
+ return;
175
+ if (values.every((v) => (0, is_object_1.isObject)(v) && !Array.isArray(v))) {
176
+ extractNestedObjectProperties(values, valuePath);
177
+ }
178
+ else if (values.some((v) => Array.isArray(v))) {
179
+ if (values.every((v) => Array.isArray(v) && v.length === 0)) {
180
+ result[valuePath.join(".")] = [];
181
+ }
182
+ else {
183
+ const flattenedArray = [];
184
+ for (const arrayValue of values) {
185
+ if (Array.isArray(arrayValue)) {
186
+ if (arrayValue.some((v) => (0, is_object_1.isObject)(v) && !Array.isArray(v))) {
187
+ extractPropertiesFromArray(arrayValue, valuePath);
188
+ }
189
+ else {
190
+ flattenedArray.push(...arrayValue);
191
+ }
192
+ }
193
+ else {
194
+ flattenedArray.push(arrayValue);
195
+ }
196
+ }
197
+ if (flattenedArray.length > 0 &&
198
+ !flattenedArray.some((v) => (0, is_object_1.isObject)(v) && !Array.isArray(v))) {
199
+ result[valuePath.join(".")] = normalizeArrayValue(flattenedArray, valuePath);
200
+ }
201
+ }
74
202
  }
75
- else if (!Array.isArray(value)) {
76
- result[newPrefix] = value;
203
+ else {
204
+ result[valuePath.join(".")] = normalizeArrayValue(values, valuePath);
77
205
  }
78
206
  });
79
207
  }
80
- // Process the object
81
- processRegularPaths(obj);
82
- // Find and process array paths
83
- const arrayPaths = findArrayPaths(obj);
84
- arrayPaths.forEach((path) => {
85
- const pathStr = path.join(".");
86
- const arrayObjects = getArrayValues(obj, path);
87
- if (Array.isArray(arrayObjects) && arrayObjects.length > 0) {
88
- // Get all possible keys from the array objects
89
- const keys = new Set();
90
- arrayObjects.forEach((item) => {
91
- if (item && (0, is_object_1.isObject)(item)) {
92
- Object.keys(item).forEach((k) => keys.add(k));
208
+ /**
209
+ * Extract properties from nested objects and add them to the result
210
+ */
211
+ function extractNestedObjectProperties(objects, basePath = []) {
212
+ if (!objects.length)
213
+ return;
214
+ // Collect all unique keys from all objects
215
+ const allNestedKeys = new Set();
216
+ objects.forEach((obj) => {
217
+ if ((0, is_object_1.isObject)(obj) && !Array.isArray(obj)) {
218
+ Object.keys(obj).forEach((key) => allNestedKeys.add(key));
219
+ }
220
+ });
221
+ allNestedKeys.forEach((nestedKey) => {
222
+ const nestedPath = [...basePath, nestedKey];
223
+ const nestedValues = [];
224
+ objects.forEach((obj) => {
225
+ if ((0, is_object_1.isObject)(obj) && !Array.isArray(obj) && nestedKey in obj) {
226
+ const nestedValue = obj[nestedKey];
227
+ if (nestedValue !== null && nestedValue !== undefined) {
228
+ nestedValues.push(nestedValue);
229
+ }
93
230
  }
94
231
  });
95
- // Process each key
96
- keys.forEach((key) => {
97
- const values = arrayObjects
98
- .map((item) => {
99
- if (item && (0, is_object_1.isObject)(item)) {
100
- return item[key];
232
+ if (nestedValues.length === 0)
233
+ return;
234
+ if (nestedValues.every((v) => (0, is_object_1.isObject)(v) && !Array.isArray(v))) {
235
+ extractNestedObjectProperties(nestedValues, nestedPath);
236
+ }
237
+ else if (nestedValues.some((v) => Array.isArray(v))) {
238
+ if (nestedValues.every((v) => Array.isArray(v) && v.length === 0)) {
239
+ result[nestedPath.join(".")] = [];
240
+ }
241
+ else {
242
+ const allArrayItems = [];
243
+ for (const arrayValue of nestedValues) {
244
+ if (Array.isArray(arrayValue)) {
245
+ allArrayItems.push(...arrayValue);
246
+ }
247
+ else {
248
+ allArrayItems.push(arrayValue);
249
+ }
101
250
  }
102
- return undefined;
103
- })
104
- .filter((v) => v !== undefined);
105
- if (values.length > 0) {
106
- const newPath = `${pathStr}.${key}`;
107
- if (values.every((v) => (0, is_object_1.isObject)(v) && !Array.isArray(v))) {
108
- // If these are all objects, recursively process them
109
- const subObj = { [key]: values };
110
- const subResult = flattenObjectToKeyValuePairs(subObj);
111
- Object.entries(subResult).forEach(([k, v]) => {
112
- const finalPath = `${pathStr}.${k}`;
113
- result[finalPath] = v;
114
- });
251
+ if (allArrayItems.some((item) => (0, is_object_1.isObject)(item) && !Array.isArray(item))) {
252
+ extractPropertiesFromArray(allArrayItems, nestedPath);
115
253
  }
116
254
  else {
117
- result[newPath] = values;
255
+ result[nestedPath.join(".")] = normalizeArrayValue(allArrayItems, nestedPath);
118
256
  }
119
257
  }
120
- });
121
- }
122
- });
258
+ }
259
+ else {
260
+ result[nestedPath.join(".")] = normalizeArrayValue(nestedValues, nestedPath);
261
+ }
262
+ });
263
+ }
264
+ processPath(obj);
123
265
  return result;
124
266
  }
125
267
  //# sourceMappingURL=flatten-object-to-key-value-pairs.js.map