@xxmachina/common 19.25.0 → 19.26.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 (256) hide show
  1. package/fesm2022/xxmachina-common-_shared-auth.mjs.map +1 -1
  2. package/fesm2022/xxmachina-common-_shared-meta-redis.mjs +3 -3
  3. package/fesm2022/xxmachina-common-_shared-meta-redis.mjs.map +1 -1
  4. package/fesm2022/xxmachina-common-_shared-meta.mjs.map +1 -1
  5. package/fesm2022/xxmachina-common-auth-azure.mjs +4 -4
  6. package/fesm2022/xxmachina-common-auth-azure.mjs.map +1 -1
  7. package/fesm2022/xxmachina-common-auth-core.mjs +3 -3
  8. package/fesm2022/xxmachina-common-auth-core.mjs.map +1 -1
  9. package/fesm2022/xxmachina-common-auth-firebase.mjs.map +1 -1
  10. package/fesm2022/xxmachina-common-auth-passports-anonymous.mjs.map +1 -1
  11. package/fesm2022/xxmachina-common-auth-passports-firebase.mjs.map +1 -1
  12. package/fesm2022/xxmachina-common-auth-passports-internal.mjs.map +1 -1
  13. package/fesm2022/xxmachina-common-auth-passports-msal.mjs.map +1 -1
  14. package/fesm2022/xxmachina-common-auth-passports.mjs.map +1 -1
  15. package/fesm2022/xxmachina-common-auth.mjs +3 -3
  16. package/fesm2022/xxmachina-common-auth.mjs.map +1 -1
  17. package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs.map +1 -1
  18. package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -1
  19. package/fesm2022/xxmachina-common-domain-models-presenter.mjs.map +1 -1
  20. package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -1
  21. package/fesm2022/xxmachina-common-domain.mjs.map +1 -1
  22. package/fesm2022/xxmachina-common-infra-converters-google.mjs +3 -3
  23. package/fesm2022/xxmachina-common-infra-converters-google.mjs.map +1 -1
  24. package/fesm2022/xxmachina-common-infra-external-data-connect.mjs.map +1 -1
  25. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs +5 -5
  26. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -1
  27. package/fesm2022/xxmachina-common-infra-external-resend.mjs.map +1 -1
  28. package/fesm2022/xxmachina-common-infra-external.mjs +3 -3
  29. package/fesm2022/xxmachina-common-infra-external.mjs.map +1 -1
  30. package/fesm2022/xxmachina-common-infra-query-firestore.mjs +6 -6
  31. package/fesm2022/xxmachina-common-infra-query-firestore.mjs.map +1 -1
  32. package/fesm2022/xxmachina-common-infra-query-hasura.mjs +3 -3
  33. package/fesm2022/xxmachina-common-infra-query-hasura.mjs.map +1 -1
  34. package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs.map +1 -1
  35. package/fesm2022/xxmachina-common-infra-repository-firestore.mjs +15 -15
  36. package/fesm2022/xxmachina-common-infra-repository-firestore.mjs.map +1 -1
  37. package/fesm2022/xxmachina-common-infra-repository-hasura.mjs +6 -6
  38. package/fesm2022/xxmachina-common-infra-repository-hasura.mjs.map +1 -1
  39. package/fesm2022/xxmachina-common-infra-repository-notion.mjs +15 -15
  40. package/fesm2022/xxmachina-common-infra-repository-notion.mjs.map +1 -1
  41. package/fesm2022/xxmachina-common-infra.mjs +114 -111
  42. package/fesm2022/xxmachina-common-infra.mjs.map +1 -1
  43. package/fesm2022/xxmachina-common-invoice-domain-builders.mjs.map +1 -1
  44. package/fesm2022/xxmachina-common-invoice-domain-models.mjs.map +1 -1
  45. package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs.map +1 -1
  46. package/fesm2022/xxmachina-common-invoice-domain.mjs.map +1 -1
  47. package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs +3 -3
  48. package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs.map +1 -1
  49. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs +3 -3
  50. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -1
  51. package/fesm2022/xxmachina-common-invoice-usecase-order.mjs +3 -3
  52. package/fesm2022/xxmachina-common-invoice-usecase-order.mjs.map +1 -1
  53. package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs +3 -3
  54. package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs.map +1 -1
  55. package/fesm2022/xxmachina-common-services-graphql.mjs +9 -9
  56. package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -1
  57. package/fesm2022/xxmachina-common-services-query-config.mjs +3 -3
  58. package/fesm2022/xxmachina-common-services-query-config.mjs.map +1 -1
  59. package/fesm2022/xxmachina-common-services-query.mjs +6 -6
  60. package/fesm2022/xxmachina-common-services-query.mjs.map +1 -1
  61. package/fesm2022/xxmachina-common-services-speech.mjs +10 -10
  62. package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -1
  63. package/fesm2022/xxmachina-common-services-transformer.mjs +3 -3
  64. package/fesm2022/xxmachina-common-services-transformer.mjs.map +1 -1
  65. package/fesm2022/xxmachina-common-stores-firestore.mjs.map +1 -1
  66. package/fesm2022/xxmachina-common-stores-hasura.mjs.map +1 -1
  67. package/fesm2022/xxmachina-common-stores-inmemory.mjs +3 -3
  68. package/fesm2022/xxmachina-common-stores-inmemory.mjs.map +1 -1
  69. package/fesm2022/xxmachina-common-stores.mjs.map +1 -1
  70. package/fesm2022/xxmachina-common-usecase-assistant.mjs +3 -3
  71. package/fesm2022/xxmachina-common-usecase-assistant.mjs.map +1 -1
  72. package/fesm2022/xxmachina-common-usecase-database.mjs +3 -3
  73. package/fesm2022/xxmachina-common-usecase-database.mjs.map +1 -1
  74. package/fesm2022/xxmachina-common-usecase-graphql.mjs +3 -3
  75. package/fesm2022/xxmachina-common-usecase-graphql.mjs.map +1 -1
  76. package/fesm2022/xxmachina-common-usecase-link.mjs +3 -3
  77. package/fesm2022/xxmachina-common-usecase-link.mjs.map +1 -1
  78. package/fesm2022/xxmachina-common-usecase-project.mjs +3 -3
  79. package/fesm2022/xxmachina-common-usecase-project.mjs.map +1 -1
  80. package/fesm2022/xxmachina-common-usecase-spec.mjs +3 -3
  81. package/fesm2022/xxmachina-common-usecase-spec.mjs.map +1 -1
  82. package/fesm2022/xxmachina-common-usecase.mjs +18 -18
  83. package/fesm2022/xxmachina-common-usecase.mjs.map +1 -1
  84. package/fesm2022/xxmachina-common-utils-crypto.mjs.map +1 -1
  85. package/fesm2022/xxmachina-common-utils.mjs.map +1 -1
  86. package/fesm2022/xxmachina-common.mjs.map +1 -1
  87. package/package.json +146 -146
  88. package/{_shared/auth/index.d.ts → types/xxmachina-common-_shared-auth.d.ts} +1 -1
  89. package/types/xxmachina-common-_shared-auth.d.ts.map +1 -0
  90. package/{_shared/meta/redis/index.d.ts → types/xxmachina-common-_shared-meta-redis.d.ts} +1 -1
  91. package/types/xxmachina-common-_shared-meta-redis.d.ts.map +1 -0
  92. package/{_shared/meta/index.d.ts → types/xxmachina-common-_shared-meta.d.ts} +1 -1
  93. package/types/xxmachina-common-_shared-meta.d.ts.map +1 -0
  94. package/{auth/azure/index.d.ts → types/xxmachina-common-auth-azure.d.ts} +1 -1
  95. package/types/xxmachina-common-auth-azure.d.ts.map +1 -0
  96. package/{auth/index.d.ts → types/xxmachina-common-auth-core.d.ts} +1 -1
  97. package/types/xxmachina-common-auth-core.d.ts.map +1 -0
  98. package/{auth/firebase/index.d.ts → types/xxmachina-common-auth-firebase.d.ts} +1 -1
  99. package/types/xxmachina-common-auth-firebase.d.ts.map +1 -0
  100. package/{auth/passports/anonymous/index.d.ts → types/xxmachina-common-auth-passports-anonymous.d.ts} +1 -1
  101. package/types/xxmachina-common-auth-passports-anonymous.d.ts.map +1 -0
  102. package/{auth/passports/firebase/index.d.ts → types/xxmachina-common-auth-passports-firebase.d.ts} +1 -1
  103. package/types/xxmachina-common-auth-passports-firebase.d.ts.map +1 -0
  104. package/{auth/passports/internal/index.d.ts → types/xxmachina-common-auth-passports-internal.d.ts} +1 -1
  105. package/types/xxmachina-common-auth-passports-internal.d.ts.map +1 -0
  106. package/{auth/passports/msal/index.d.ts → types/xxmachina-common-auth-passports-msal.d.ts} +1 -1
  107. package/types/xxmachina-common-auth-passports-msal.d.ts.map +1 -0
  108. package/{auth/passports/index.d.ts → types/xxmachina-common-auth-passports.d.ts} +1 -1
  109. package/types/xxmachina-common-auth-passports.d.ts.map +1 -0
  110. package/{auth/core/index.d.ts → types/xxmachina-common-auth.d.ts} +1 -1
  111. package/types/xxmachina-common-auth.d.ts.map +1 -0
  112. package/{domain/builder/screen-item/index.d.ts → types/xxmachina-common-domain-builder-screen-item.d.ts} +1 -1
  113. package/types/xxmachina-common-domain-builder-screen-item.d.ts.map +1 -0
  114. package/{domain/builder/index.d.ts → types/xxmachina-common-domain-builder.d.ts} +1 -1
  115. package/types/xxmachina-common-domain-builder.d.ts.map +1 -0
  116. package/{domain/models/presenter/index.d.ts → types/xxmachina-common-domain-models-presenter.d.ts} +1 -1
  117. package/types/xxmachina-common-domain-models-presenter.d.ts.map +1 -0
  118. package/{domain/models/index.d.ts → types/xxmachina-common-domain-models.d.ts} +1 -1
  119. package/types/xxmachina-common-domain-models.d.ts.map +1 -0
  120. package/{domain/index.d.ts → types/xxmachina-common-domain.d.ts} +1 -1
  121. package/types/xxmachina-common-domain.d.ts.map +1 -0
  122. package/{infra/converters/google/index.d.ts → types/xxmachina-common-infra-converters-google.d.ts} +1 -1
  123. package/types/xxmachina-common-infra-converters-google.d.ts.map +1 -0
  124. package/{infra/external/data-connect/index.d.ts → types/xxmachina-common-infra-external-data-connect.d.ts} +1 -1
  125. package/types/xxmachina-common-infra-external-data-connect.d.ts.map +1 -0
  126. package/{infra/external/quick-js/index.d.ts → types/xxmachina-common-infra-external-quick-js.d.ts} +1 -1
  127. package/types/xxmachina-common-infra-external-quick-js.d.ts.map +1 -0
  128. package/{infra/external/resend/index.d.ts → types/xxmachina-common-infra-external-resend.d.ts} +1 -1
  129. package/types/xxmachina-common-infra-external-resend.d.ts.map +1 -0
  130. package/{infra/external/index.d.ts → types/xxmachina-common-infra-external.d.ts} +3 -3
  131. package/types/xxmachina-common-infra-external.d.ts.map +1 -0
  132. package/{infra/query/firestore/index.d.ts → types/xxmachina-common-infra-query-firestore.d.ts} +1 -1
  133. package/types/xxmachina-common-infra-query-firestore.d.ts.map +1 -0
  134. package/{infra/query/hasura/index.d.ts → types/xxmachina-common-infra-query-hasura.d.ts} +1 -1
  135. package/types/xxmachina-common-infra-query-hasura.d.ts.map +1 -0
  136. package/{infra/repository/dataconnect/index.d.ts → types/xxmachina-common-infra-repository-dataconnect.d.ts} +1 -1
  137. package/types/xxmachina-common-infra-repository-dataconnect.d.ts.map +1 -0
  138. package/{infra/repository/firestore/index.d.ts → types/xxmachina-common-infra-repository-firestore.d.ts} +1 -1
  139. package/types/xxmachina-common-infra-repository-firestore.d.ts.map +1 -0
  140. package/{infra/repository/hasura/index.d.ts → types/xxmachina-common-infra-repository-hasura.d.ts} +1 -1
  141. package/types/xxmachina-common-infra-repository-hasura.d.ts.map +1 -0
  142. package/{infra/repository/notion/index.d.ts → types/xxmachina-common-infra-repository-notion.d.ts} +1 -1
  143. package/types/xxmachina-common-infra-repository-notion.d.ts.map +1 -0
  144. package/{infra/index.d.ts → types/xxmachina-common-infra.d.ts} +73 -44
  145. package/types/xxmachina-common-infra.d.ts.map +1 -0
  146. package/{invoice/domain/builders/index.d.ts → types/xxmachina-common-invoice-domain-builders.d.ts} +1 -1
  147. package/types/xxmachina-common-invoice-domain-builders.d.ts.map +1 -0
  148. package/{invoice/domain/models/index.d.ts → types/xxmachina-common-invoice-domain-models.d.ts} +1 -1
  149. package/types/xxmachina-common-invoice-domain-models.d.ts.map +1 -0
  150. package/{invoice/domain/resolvers/index.d.ts → types/xxmachina-common-invoice-domain-resolvers.d.ts} +1 -1
  151. package/types/xxmachina-common-invoice-domain-resolvers.d.ts.map +1 -0
  152. package/{invoice/domain/index.d.ts → types/xxmachina-common-invoice-domain.d.ts} +1 -1
  153. package/types/xxmachina-common-invoice-domain.d.ts.map +1 -0
  154. package/{invoice/usecase/contract/index.d.ts → types/xxmachina-common-invoice-usecase-contract.d.ts} +1 -1
  155. package/types/xxmachina-common-invoice-usecase-contract.d.ts.map +1 -0
  156. package/{invoice/usecase/invoice/index.d.ts → types/xxmachina-common-invoice-usecase-invoice.d.ts} +1 -1
  157. package/types/xxmachina-common-invoice-usecase-invoice.d.ts.map +1 -0
  158. package/{invoice/usecase/order/index.d.ts → types/xxmachina-common-invoice-usecase-order.d.ts} +1 -1
  159. package/types/xxmachina-common-invoice-usecase-order.d.ts.map +1 -0
  160. package/{invoice/usecase/partner/index.d.ts → types/xxmachina-common-invoice-usecase-partner.d.ts} +1 -1
  161. package/types/xxmachina-common-invoice-usecase-partner.d.ts.map +1 -0
  162. package/{services/graphql/index.d.ts → types/xxmachina-common-services-graphql.d.ts} +1 -1
  163. package/types/xxmachina-common-services-graphql.d.ts.map +1 -0
  164. package/{services/query/config/index.d.ts → types/xxmachina-common-services-query-config.d.ts} +1 -1
  165. package/types/xxmachina-common-services-query-config.d.ts.map +1 -0
  166. package/{services/query/index.d.ts → types/xxmachina-common-services-query.d.ts} +1 -1
  167. package/types/xxmachina-common-services-query.d.ts.map +1 -0
  168. package/{services/speech/index.d.ts → types/xxmachina-common-services-speech.d.ts} +1 -1
  169. package/types/xxmachina-common-services-speech.d.ts.map +1 -0
  170. package/{services/transformer/index.d.ts → types/xxmachina-common-services-transformer.d.ts} +1 -1
  171. package/types/xxmachina-common-services-transformer.d.ts.map +1 -0
  172. package/{stores/firestore/index.d.ts → types/xxmachina-common-stores-firestore.d.ts} +1 -1
  173. package/types/xxmachina-common-stores-firestore.d.ts.map +1 -0
  174. package/{stores/hasura/index.d.ts → types/xxmachina-common-stores-hasura.d.ts} +1 -1
  175. package/types/xxmachina-common-stores-hasura.d.ts.map +1 -0
  176. package/{stores/inmemory/index.d.ts → types/xxmachina-common-stores-inmemory.d.ts} +1 -1
  177. package/types/xxmachina-common-stores-inmemory.d.ts.map +1 -0
  178. package/{stores/index.d.ts → types/xxmachina-common-stores.d.ts} +6 -6
  179. package/types/xxmachina-common-stores.d.ts.map +1 -0
  180. package/{usecase/assistant/index.d.ts → types/xxmachina-common-usecase-assistant.d.ts} +1 -1
  181. package/types/xxmachina-common-usecase-assistant.d.ts.map +1 -0
  182. package/{usecase/database/index.d.ts → types/xxmachina-common-usecase-database.d.ts} +1 -1
  183. package/types/xxmachina-common-usecase-database.d.ts.map +1 -0
  184. package/{usecase/graphql/index.d.ts → types/xxmachina-common-usecase-graphql.d.ts} +1 -1
  185. package/types/xxmachina-common-usecase-graphql.d.ts.map +1 -0
  186. package/{usecase/link/index.d.ts → types/xxmachina-common-usecase-link.d.ts} +1 -1
  187. package/types/xxmachina-common-usecase-link.d.ts.map +1 -0
  188. package/{usecase/project/index.d.ts → types/xxmachina-common-usecase-project.d.ts} +1 -1
  189. package/types/xxmachina-common-usecase-project.d.ts.map +1 -0
  190. package/{usecase/spec/index.d.ts → types/xxmachina-common-usecase-spec.d.ts} +1 -1
  191. package/types/xxmachina-common-usecase-spec.d.ts.map +1 -0
  192. package/{usecase/index.d.ts → types/xxmachina-common-usecase.d.ts} +1 -1
  193. package/types/xxmachina-common-usecase.d.ts.map +1 -0
  194. package/{utils/crypto/index.d.ts → types/xxmachina-common-utils-crypto.d.ts} +1 -1
  195. package/types/xxmachina-common-utils-crypto.d.ts.map +1 -0
  196. package/{utils/index.d.ts → types/xxmachina-common-utils.d.ts} +1 -1
  197. package/types/xxmachina-common-utils.d.ts.map +1 -0
  198. package/types/xxmachina-common.d.ts +2 -0
  199. package/types/xxmachina-common.d.ts.map +1 -0
  200. package/_shared/auth/index.d.ts.map +0 -1
  201. package/_shared/meta/index.d.ts.map +0 -1
  202. package/_shared/meta/redis/index.d.ts.map +0 -1
  203. package/auth/azure/index.d.ts.map +0 -1
  204. package/auth/core/index.d.ts.map +0 -1
  205. package/auth/firebase/index.d.ts.map +0 -1
  206. package/auth/index.d.ts.map +0 -1
  207. package/auth/passports/anonymous/index.d.ts.map +0 -1
  208. package/auth/passports/firebase/index.d.ts.map +0 -1
  209. package/auth/passports/index.d.ts.map +0 -1
  210. package/auth/passports/internal/index.d.ts.map +0 -1
  211. package/auth/passports/msal/index.d.ts.map +0 -1
  212. package/domain/builder/index.d.ts.map +0 -1
  213. package/domain/builder/screen-item/index.d.ts.map +0 -1
  214. package/domain/index.d.ts.map +0 -1
  215. package/domain/models/index.d.ts.map +0 -1
  216. package/domain/models/presenter/index.d.ts.map +0 -1
  217. package/index.d.ts +0 -2
  218. package/index.d.ts.map +0 -1
  219. package/infra/converters/google/index.d.ts.map +0 -1
  220. package/infra/external/data-connect/index.d.ts.map +0 -1
  221. package/infra/external/index.d.ts.map +0 -1
  222. package/infra/external/quick-js/index.d.ts.map +0 -1
  223. package/infra/external/resend/index.d.ts.map +0 -1
  224. package/infra/index.d.ts.map +0 -1
  225. package/infra/query/firestore/index.d.ts.map +0 -1
  226. package/infra/query/hasura/index.d.ts.map +0 -1
  227. package/infra/repository/dataconnect/index.d.ts.map +0 -1
  228. package/infra/repository/firestore/index.d.ts.map +0 -1
  229. package/infra/repository/hasura/index.d.ts.map +0 -1
  230. package/infra/repository/notion/index.d.ts.map +0 -1
  231. package/invoice/domain/builders/index.d.ts.map +0 -1
  232. package/invoice/domain/index.d.ts.map +0 -1
  233. package/invoice/domain/models/index.d.ts.map +0 -1
  234. package/invoice/domain/resolvers/index.d.ts.map +0 -1
  235. package/invoice/usecase/contract/index.d.ts.map +0 -1
  236. package/invoice/usecase/invoice/index.d.ts.map +0 -1
  237. package/invoice/usecase/order/index.d.ts.map +0 -1
  238. package/invoice/usecase/partner/index.d.ts.map +0 -1
  239. package/services/graphql/index.d.ts.map +0 -1
  240. package/services/query/config/index.d.ts.map +0 -1
  241. package/services/query/index.d.ts.map +0 -1
  242. package/services/speech/index.d.ts.map +0 -1
  243. package/services/transformer/index.d.ts.map +0 -1
  244. package/stores/firestore/index.d.ts.map +0 -1
  245. package/stores/hasura/index.d.ts.map +0 -1
  246. package/stores/index.d.ts.map +0 -1
  247. package/stores/inmemory/index.d.ts.map +0 -1
  248. package/usecase/assistant/index.d.ts.map +0 -1
  249. package/usecase/database/index.d.ts.map +0 -1
  250. package/usecase/graphql/index.d.ts.map +0 -1
  251. package/usecase/index.d.ts.map +0 -1
  252. package/usecase/link/index.d.ts.map +0 -1
  253. package/usecase/project/index.d.ts.map +0 -1
  254. package/usecase/spec/index.d.ts.map +0 -1
  255. package/utils/crypto/index.d.ts.map +0 -1
  256. package/utils/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-invoice-usecase-contract.mjs","sources":["../tmp-esm2022/invoice/usecase/contract/contract.usecase.js","../tmp-esm2022/invoice/usecase/contract/xxmachina-common-invoice-usecase-contract.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ContractNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Contract } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class ContractUsecase {\n notionRepo = inject(ContractNotionRepository);\n hasuraRepo = getHasuraRepository(Contract, { hasura: inject(HasuraService) });\n async sync() {\n const items = await this.notionRepo.list();\n await this.hasuraRepo.createMany(items);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContractUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QudXNlY2FzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL2NvbnRyYWN0L2NvbnRyYWN0LnVzZWNhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLGVBQWU7SUFDaEIsVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzlDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV4RixLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7dUdBUFUsZUFBZTsyR0FBZixlQUFlLGNBREgsTUFBTTs7MkZBQ2xCLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cmFjdE5vdGlvblJlcG9zaXRvcnkgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9yZXBvc2l0b3J5L25vdGlvbic7XG5pbXBvcnQgeyBnZXRIYXN1cmFSZXBvc2l0b3J5LCBIYXN1cmFTZXJ2aWNlIH0gZnJvbSAnQG54LWRkZC9oYXN1cmEnO1xuaW1wb3J0IHsgQ29udHJhY3QgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb250cmFjdFVzZWNhc2Uge1xuICBwcm90ZWN0ZWQgbm90aW9uUmVwbyA9IGluamVjdChDb250cmFjdE5vdGlvblJlcG9zaXRvcnkpO1xuICBwcm90ZWN0ZWQgaGFzdXJhUmVwbyA9IGdldEhhc3VyYVJlcG9zaXRvcnkoQ29udHJhY3QsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG5cbiAgYXN5bmMgc3luYygpIHtcbiAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMubm90aW9uUmVwby5saXN0KCk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmNyZWF0ZU1hbnkoaXRlbXMpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvdXNlY2FzZS9jb250cmFjdC94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtdXNlY2FzZS1jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,eAAe,CAAC;AAC7B,IAAI,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACjD,IAAI,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACjF,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAClD,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/C,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC1K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACjJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AClBb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-contract.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/contract/contract.usecase.ts","../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/contract/xxmachina-common-invoice-usecase-contract.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ContractNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Contract } from '@xxmachina/common/invoice/domain/models';\n\n@Injectable({providedIn: 'root'})\nexport class ContractUsecase {\n protected notionRepo = inject(ContractNotionRepository);\n protected hasuraRepo = getHasuraRepository(Contract, { hasura: inject(HasuraService) });\n\n async sync() {\n const items = await this.notionRepo.list();\n await this.hasuraRepo.createMany(items);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,eAAe,CAAA;AAChB,IAAA,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAC7C,IAAA,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAEvF,IAAA,MAAM,IAAI,GAAA;QACR,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;IACzC;uGAPW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADH,MAAM,EAAA,CAAA;;2FAClB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACLhC;;AAEG;;;;"}
@@ -174,10 +174,10 @@ class InvoiceUsecase {
174
174
  throw error;
175
175
  }
176
176
  }
177
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
178
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, providedIn: 'root' });
177
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InvoiceUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
178
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InvoiceUsecase, providedIn: 'root' });
179
179
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InvoiceUsecase, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InvoiceUsecase, decorators: [{
181
181
  type: Injectable,
182
182
  args: [{ providedIn: 'root' }]
183
183
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-invoice-usecase-invoice.mjs","sources":["../tmp-esm2022/invoice/usecase/invoice/invoice-queries.js","../tmp-esm2022/invoice/usecase/invoice/invoice-utils.js","../tmp-esm2022/invoice/usecase/invoice/invoice.service.js","../tmp-esm2022/invoice/usecase/invoice/xxmachina-common-invoice-usecase-invoice.js"],"sourcesContent":["/**\n * 請求書関連のGraphQLクエリ\n */\nexport const GET_INVOICE_WITH_RELATIONS_QUERY = `\n query GetInvoiceWithRelations($id: String!) {\n invoices_by_pk(id: $id) {\n id\n no\n title\n subject\n customer_id\n vendor_id\n amount\n due_date\n orders {\n id\n title\n ecl_id\n customer_id\n vendor_id\n contract_id\n invoice_id\n start_date\n end_date\n unit_price\n unit\n quantity\n amount_input\n amount\n status_in\n status_out\n }\n customer {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n vendor {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n }\n }\n`;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1xdWVyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9pbnZvaWNlL3VzZWNhc2UvaW52b2ljZS9pbnZvaWNlLXF1ZXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTZEL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog6KuL5rGC5pu46Zai6YCj44GuR3JhcGhRTOOCr+OCqOODqlxuICovXG5cbmV4cG9ydCBjb25zdCBHRVRfSU5WT0lDRV9XSVRIX1JFTEFUSU9OU19RVUVSWSA9IGBcbiAgcXVlcnkgR2V0SW52b2ljZVdpdGhSZWxhdGlvbnMoJGlkOiBTdHJpbmchKSB7XG4gICAgaW52b2ljZXNfYnlfcGsoaWQ6ICRpZCkge1xuICAgICAgaWRcbiAgICAgIG5vXG4gICAgICB0aXRsZVxuICAgICAgc3ViamVjdFxuICAgICAgY3VzdG9tZXJfaWRcbiAgICAgIHZlbmRvcl9pZFxuICAgICAgYW1vdW50XG4gICAgICBkdWVfZGF0ZVxuICAgICAgb3JkZXJzIHtcbiAgICAgICAgaWRcbiAgICAgICAgdGl0bGVcbiAgICAgICAgZWNsX2lkXG4gICAgICAgIGN1c3RvbWVyX2lkXG4gICAgICAgIHZlbmRvcl9pZFxuICAgICAgICBjb250cmFjdF9pZFxuICAgICAgICBpbnZvaWNlX2lkXG4gICAgICAgIHN0YXJ0X2RhdGVcbiAgICAgICAgZW5kX2RhdGVcbiAgICAgICAgdW5pdF9wcmljZVxuICAgICAgICB1bml0XG4gICAgICAgIHF1YW50aXR5XG4gICAgICAgIGFtb3VudF9pbnB1dFxuICAgICAgICBhbW91bnRcbiAgICAgICAgc3RhdHVzX2luXG4gICAgICAgIHN0YXR1c19vdXRcbiAgICAgIH1cbiAgICAgIGN1c3RvbWVyIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGFsX2NvZGVcbiAgICAgICAgZW1haWxcbiAgICAgICAgYmlsbGluZ19lbWFpbFxuICAgICAgICBiaWxsaW5nX2NvbnRhY3RcbiAgICAgICAgcGhvbmVfbnVtYmVyXG4gICAgICAgIGNvbnRhY3RcbiAgICAgICAgc3VmZml4XG4gICAgICAgIGJhbmtfYWNjb3VudFxuICAgICAgICBpbnZvaWNlX251bWJlclxuICAgICAgfVxuICAgICAgdmVuZG9yIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGFsX2NvZGVcbiAgICAgICAgZW1haWxcbiAgICAgICAgYmlsbGluZ19lbWFpbFxuICAgICAgICBiaWxsaW5nX2NvbnRhY3RcbiAgICAgICAgcGhvbmVfbnVtYmVyXG4gICAgICAgIGNvbnRhY3RcbiAgICAgICAgc3VmZml4XG4gICAgICAgIGJhbmtfYWNjb3VudFxuICAgICAgICBpbnZvaWNlX251bWJlclxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcbiJdfQ==","/**\n * 請求書データ変換ユーティリティ\n */\n/**\n * スネークケースをキャメルケースに変換\n */\nconst snakeToCamel = (str) => str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n/**\n * 請求書データをキャメルケースに変換し、__typenameを除外\n */\nexport function transformInvoiceData(data) {\n const transform = (obj) => {\n if (Array.isArray(obj)) {\n return obj.map(transform);\n }\n else if (obj !== null && typeof obj === 'object') {\n const transformed = {};\n for (const [key, value] of Object.entries(obj)) {\n if (key === '__typename')\n continue;\n const camelKey = snakeToCamel(key);\n transformed[camelKey] = transform(value);\n }\n return transformed;\n }\n return obj;\n };\n return transform(data);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL2ludm9pY2UvaW52b2ljZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRSxDQUMzQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBRWhFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQVM7SUFDNUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFRLEVBQU8sRUFBRTtRQUNsQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUIsQ0FBQzthQUFNLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxNQUFNLFdBQVcsR0FBUSxFQUFFLENBQUM7WUFDNUIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsSUFBSSxHQUFHLEtBQUssWUFBWTtvQkFBRSxTQUFTO2dCQUNuQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsQ0FBQztZQUNELE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIOiri+axguabuOODh+ODvOOCv+WkieaPm+ODpuODvOODhuOCo+ODquODhuOCo1xuICovXG5cbi8qKlxuICog44K544ON44O844Kv44Kx44O844K544KS44Kt44Oj44Oh44Or44Kx44O844K544Gr5aSJ5o+bXG4gKi9cbmNvbnN0IHNuYWtlVG9DYW1lbCA9IChzdHI6IHN0cmluZyk6IHN0cmluZyA9PlxuICBzdHIucmVwbGFjZSgvXyhbYS16XSkvZywgKF8sIGxldHRlcikgPT4gbGV0dGVyLnRvVXBwZXJDYXNlKCkpO1xuXG4vKipcbiAqIOiri+axguabuOODh+ODvOOCv+OCkuOCreODo+ODoeODq+OCseODvOOCueOBq+WkieaPm+OBl+OAgV9fdHlwZW5hbWXjgpLpmaTlpJZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludm9pY2VEYXRhKGRhdGE6IGFueSk6IGFueSB7XG4gIGNvbnN0IHRyYW5zZm9ybSA9IChvYmo6IGFueSk6IGFueSA9PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgcmV0dXJuIG9iai5tYXAodHJhbnNmb3JtKTtcbiAgICB9IGVsc2UgaWYgKG9iaiAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgICAgY29uc3QgdHJhbnNmb3JtZWQ6IGFueSA9IHt9O1xuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnX190eXBlbmFtZScpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBjYW1lbEtleSA9IHNuYWtlVG9DYW1lbChrZXkpO1xuICAgICAgICB0cmFuc2Zvcm1lZFtjYW1lbEtleV0gPSB0cmFuc2Zvcm0odmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9O1xuXG4gIHJldHVybiB0cmFuc2Zvcm0oZGF0YSk7XG59XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { InvoiceNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { CHROMIUM } from '@nx-ddd/common/infrastructure/externals/chromium';\nimport { makeDI } from '@nx-ddd/core';\nimport { RESEND_SERVICE } from '@xxmachina/common/infra/external/resend';\nimport { Invoice } from '@xxmachina/common/invoice/domain/models';\nimport { deepSnakeToCamelCase, getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { gql } from '@apollo/client/core';\nimport { GET_INVOICE_WITH_RELATIONS_QUERY } from './invoice-queries';\nimport { transformInvoiceData } from './invoice-utils';\nimport * as i0 from \"@angular/core\";\nexport const INVOICE_CONFIG = makeDI('[@xxmachina/invoice] INVOICE_CONFIG', { optional: false });\nexport class InvoiceUsecase {\n notionRepo = inject(InvoiceNotionRepository);\n chromium = CHROMIUM.inject();\n config = INVOICE_CONFIG.inject();\n resend = RESEND_SERVICE.inject();\n hasura = getHasuraRepository(Invoice, { hasura: inject(HasuraService) });\n hasuraService = inject(HasuraService);\n async list() {\n return this.notionRepo.list();\n }\n async syncOne(id) {\n const invoice = await this.notionRepo.get({ id });\n await this.hasura.create(invoice);\n }\n async sync() {\n console.log('[InvoiceUsecase] Starting sync from Notion to Hasura...');\n const invoices = await this.notionRepo.list();\n console.log(`[InvoiceUsecase] Retrieved ${invoices.length} invoices from Notion`);\n console.log('[InvoiceUsecase] Deleting existing records in Hasura...');\n await this.hasura.deleteAll();\n console.log('[InvoiceUsecase] Saving invoices to Hasura...');\n await this.hasura.saveMany(invoices);\n console.log('[InvoiceUsecase] Sync completed successfully');\n return { synced: invoices.length };\n }\n async makePdf(data) {\n return this.chromium.start(async (browser) => {\n const context = await browser.newContext({ deviceScaleFactor: 2 });\n const page = await context.newPage();\n page.on('console', msg => console.log('PAGE LOG:', msg.text()));\n page.on('pageerror', err => console.log('PAGE ERROR:', err.message));\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(data))}`;\n await page.goto(url, { waitUntil: 'networkidle' });\n await page.evaluate(() => document.fonts.ready);\n await page.waitForSelector('h1');\n const title = await page.title();\n const pdf = await page.pdf({ format: 'A4' });\n return { pdf, title, name: `${title}.pdf` };\n });\n }\n async sendMail(mail) {\n const pdf = await this.makePdf(mail.invoice);\n await this.resend.emails.send({\n from: mail.from,\n to: mail.to,\n subject: mail.subject,\n html: mail.content,\n attachments: [{ filename: pdf.name, content: pdf.pdf, contentType: 'application/pdf' }]\n });\n }\n async getLink(invoiceId) {\n try {\n const result = await this.hasuraService.query({\n query: gql `${GET_INVOICE_WITH_RELATIONS_QUERY}`,\n variables: { id: invoiceId }\n }).then(result => deepSnakeToCamelCase(result));\n const invoiceData = result.data?.invoicesByPk;\n if (!invoiceData) {\n throw new Error(`Invoice with ID ${invoiceId} not found`);\n }\n const transformedData = transformInvoiceData(invoiceData);\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(transformedData))}`;\n return url;\n }\n catch (error) {\n console.error(`[InvoiceUsecase] Failed to get link for invoice ${invoiceId}:`, error);\n throw error;\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InvoiceUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9pbnZvaWNlL3VzZWNhc2UvaW52b2ljZS9pbnZvaWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQWUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU12RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFnQixxQ0FBcUMsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0FBRzlHLE1BQU0sT0FBTyxjQUFjO0lBQ1IsVUFBVSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzdDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNq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QUssQ0FBQyxtQkFBbUIsU0FBUyxZQUFZLENBQUMsQ0FBQztZQUM1RCxDQUFDO1lBRUQsTUFBTSxlQUFlLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsU0FBUyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxtREFBbUQsU0FBUyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEYsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzt1R0EvRVUsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnZvaWNlTm90aW9uUmVwb3NpdG9yeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvbm90aW9uJztcbmltcG9ydCB7IENIUk9NSVVNIH0gZnJvbSAnQG54LWRkZC9jb21tb24vaW5mcmFzdHJ1Y3R1cmUvZXh0ZXJuYWxzL2Nocm9taXVtJztcbmltcG9ydCB7IG1ha2VESSB9IGZyb20gJ0BueC1kZGQvY29yZSc7XG5pbXBvcnQgeyBSRVNFTkRfU0VSVklDRSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL2V4dGVybmFsL3Jlc2VuZCc7XG5pbXBvcnQgeyBJbnZvaWNlLCBJbnZvaWNlTWFpbCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2ludm9pY2UvZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBkZWVwU25ha2VUb0NhbWVsQ2FzZSwgZ2V0SGFzdXJhUmVwb3NpdG9yeSwgSGFzdXJhU2VydmljZSB9IGZyb20gJ0BueC1kZGQvaGFzdXJhJztcbmltcG9ydCB7IGdxbCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgR0VUX0lOVk9JQ0VfV0lUSF9SRUxBVElPTlNfUVVFUlkgfSBmcm9tICcuL2ludm9pY2UtcXVlcmllcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1JbnZvaWNlRGF0YSB9IGZyb20gJy4vaW52b2ljZS11dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZUNvbmZpZyB7XG4gIHRlbXBsYXRlQmFzZVVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgSU5WT0lDRV9DT05GSUcgPSBtYWtlREk8SW52b2ljZUNvbmZpZz4oJ1tAeHhtYWNoaW5hL2ludm9pY2VdIElOVk9JQ0VfQ09ORklHJywge29wdGlvbmFsOiBmYWxzZX0pO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludm9pY2VVc2VjYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBub3Rpb25SZXBvID0gaW5qZWN0KEludm9pY2VOb3Rpb25SZXBvc2l0b3J5KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjaHJvbWl1bSA9IENIUk9NSVVNLmluamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IElOVk9JQ0VfQ09ORklHLmluamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc2VuZCA9IFJFU0VORF9TRVJWSUNFLmluamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGhhc3VyYSA9IGdldEhhc3VyYVJlcG9zaXRvcnkoSW52b2ljZSwgeyBoYXN1cmE6IGluamVjdChIYXN1cmFTZXJ2aWNlKSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBoYXN1cmFTZXJ2aWNlID0gaW5qZWN0KEhhc3VyYVNlcnZpY2UpO1xuXG4gIGFzeW5jIGxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMubm90aW9uUmVwby5saXN0KCk7XG4gIH1cblxuICBhc3luYyBzeW5jT25lKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpbnZvaWNlID0gYXdhaXQgdGhpcy5ub3Rpb25SZXBvLmdldCh7IGlkIH0pO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhLmNyZWF0ZShpbnZvaWNlKTtcbiAgfVxuXG4gIGFzeW5jIHN5bmMoKSB7XG4gICAgY29uc29sZS5sb2coJ1tJbnZvaWNlVXNlY2FzZV0gU3RhcnRpbmcgc3luYyBmcm9tIE5vdGlvbiB0byBIYXN1cmEuLi4nKTtcblxuICAgIGNvbnN0IGludm9pY2VzID0gYXdhaXQgdGhpcy5ub3Rpb25SZXBvLmxpc3QoKTtcbiAgICBjb25zb2xlLmxvZyhgW0ludm9pY2VVc2VjYXNlXSBSZXRyaWV2ZWQgJHtpbnZvaWNlcy5sZW5ndGh9IGludm9pY2VzIGZyb20gTm90aW9uYCk7XG5cbiAgICBjb25zb2xlLmxvZygnW0ludm9pY2VVc2VjYXNlXSBEZWxldGluZyBleGlzdGluZyByZWNvcmRzIGluIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhLmRlbGV0ZUFsbCgpO1xuXG4gICAgY29uc29sZS5sb2coJ1tJbnZvaWNlVXNlY2FzZV0gU2F2aW5nIGludm9pY2VzIHRvIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhLnNhdmVNYW55KGludm9pY2VzKTtcblxuICAgIGNvbnNvbGUubG9nKCdbSW52b2ljZVVzZWNhc2VdIFN5bmMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgIHJldHVybiB7IHN5bmNlZDogaW52b2ljZXMubGVuZ3RoIH07XG4gIH1cblxuICBhc3luYyBtYWtlUGRmKGRhdGE6IG9iamVjdCk6IFByb21pc2U8eyBwZGY6IEJ1ZmZlciwgdGl0bGU6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5jaHJvbWl1bS5zdGFydChhc3luYyAoYnJvd3NlcikgPT4ge1xuICAgICAgY29uc3QgY29udGV4dCA9IGF3YWl0IGJyb3dzZXIubmV3Q29udGV4dCh7IGRldmljZVNjYWxlRmFjdG9yOiAyIH0pO1xuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IGNvbnRleHQubmV3UGFnZSgpO1xuICAgICAgcGFnZS5vbignY29uc29sZScsIG1zZyA9PiBjb25zb2xlLmxvZygnUEFHRSBMT0c6JywgbXNnLnRleHQoKSkpO1xuICAgICAgcGFnZS5vbigncGFnZWVycm9yJywgZXJyID0+IGNvbnNvbGUubG9nKCdQQUdFIEVSUk9SOicsIGVyci5tZXNzYWdlKSk7XG4gICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy50ZW1wbGF0ZUJhc2VVcmx9P2pzb249JHtlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZGF0YSkpfWA7XG4gICAgICBhd2FpdCBwYWdlLmdvdG8odXJsLCB7IHdhaXRVbnRpbDogJ25ldHdvcmtpZGxlJyB9KTtcbiAgICAgIGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4gZG9jdW1lbnQuZm9udHMucmVhZHkpO1xuICAgICAgYXdhaXQgcGFnZS53YWl0Rm9yU2VsZWN0b3IoJ2gxJyk7XG4gICAgICBjb25zdCB0aXRsZSA9IGF3YWl0IHBhZ2UudGl0bGUoKTtcbiAgICAgIGNvbnN0IHBkZiA9IGF3YWl0IHBhZ2UucGRmKHsgZm9ybWF0OiAnQTQnIH0pO1xuICAgICAgcmV0dXJuIHsgcGRmLCB0aXRsZSwgbmFtZTogYCR7dGl0bGV9LnBkZmAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNlbmRNYWlsKG1haWw6IEludm9pY2VNYWlsKSB7XG4gICAgY29uc3QgcGRmID0gYXdhaXQgdGhpcy5tYWtlUGRmKG1haWwuaW52b2ljZSk7XG4gICAgYXdhaXQgdGhpcy5yZXNlbmQuZW1haWxzLnNlbmQoe1xuICAgICAgZnJvbTogbWFpbC5mcm9tLFxuICAgICAgdG86IG1haWwudG8sXG4gICAgICBzdWJqZWN0OiBtYWlsLnN1YmplY3QsXG4gICAgICBodG1sOiBtYWlsLmNvbnRlbnQsXG4gICAgICBhdHRhY2htZW50czogW3sgZmlsZW5hbWU6IHBkZi5uYW1lLCBjb250ZW50OiBwZGYucGRmLCBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL3BkZicgfV1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldExpbmsoaW52b2ljZUlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmhhc3VyYVNlcnZpY2UucXVlcnkoe1xuICAgICAgICBxdWVyeTogZ3FsYCR7R0VUX0lOVk9JQ0VfV0lUSF9SRUxBVElPTlNfUVVFUll9YCxcbiAgICAgICAgdmFyaWFibGVzOiB7IGlkOiBpbnZvaWNlSWQgfVxuICAgICAgfSkudGhlbihyZXN1bHQgPT4gZGVlcFNuYWtlVG9DYW1lbENhc2UocmVzdWx0KSk7XG5cbiAgICAgIGNvbnN0IGludm9pY2VEYXRhID0gKHJlc3VsdCBhcyBhbnkpLmRhdGE/Lmludm9pY2VzQnlQaztcbiAgICAgIGlmICghaW52b2ljZURhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZvaWNlIHdpdGggSUQgJHtpbnZvaWNlSWR9IG5vdCBmb3VuZGApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGEgPSB0cmFuc2Zvcm1JbnZvaWNlRGF0YShpbnZvaWNlRGF0YSk7XG4gICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy50ZW1wbGF0ZUJhc2VVcmx9P2pzb249JHtlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodHJhbnNmb3JtZWREYXRhKSl9YDtcbiAgICAgIHJldHVybiB1cmw7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFtJbnZvaWNlVXNlY2FzZV0gRmFpbGVkIHRvIGdldCBsaW5rIGZvciBpbnZvaWNlICR7aW52b2ljZUlkfTpgLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL2ludm9pY2UveHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-invoice.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/invoice/invoice-queries.ts","../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/invoice/invoice-utils.ts","../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/invoice/invoice.service.ts","../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/invoice/xxmachina-common-invoice-usecase-invoice.ts"],"sourcesContent":["/**\n * 請求書関連のGraphQLクエリ\n */\n\nexport const GET_INVOICE_WITH_RELATIONS_QUERY = `\n query GetInvoiceWithRelations($id: String!) {\n invoices_by_pk(id: $id) {\n id\n no\n title\n subject\n customer_id\n vendor_id\n amount\n due_date\n orders {\n id\n title\n ecl_id\n customer_id\n vendor_id\n contract_id\n invoice_id\n start_date\n end_date\n unit_price\n unit\n quantity\n amount_input\n amount\n status_in\n status_out\n }\n customer {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n vendor {\n id\n name\n type\n address\n postal_code\n email\n billing_email\n billing_contact\n phone_number\n contact\n suffix\n bank_account\n invoice_number\n }\n }\n }\n`;\n","/**\n * 請求書データ変換ユーティリティ\n */\n\n/**\n * スネークケースをキャメルケースに変換\n */\nconst snakeToCamel = (str: string): string =>\n str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n\n/**\n * 請求書データをキャメルケースに変換し、__typenameを除外\n */\nexport function transformInvoiceData(data: any): any {\n const transform = (obj: any): any => {\n if (Array.isArray(obj)) {\n return obj.map(transform);\n } else if (obj !== null && typeof obj === 'object') {\n const transformed: any = {};\n for (const [key, value] of Object.entries(obj)) {\n if (key === '__typename') continue;\n const camelKey = snakeToCamel(key);\n transformed[camelKey] = transform(value);\n }\n return transformed;\n }\n return obj;\n };\n\n return transform(data);\n}\n","import { inject, Injectable } from '@angular/core';\nimport { InvoiceNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { CHROMIUM } from '@nx-ddd/common/infrastructure/externals/chromium';\nimport { makeDI } from '@nx-ddd/core';\nimport { RESEND_SERVICE } from '@xxmachina/common/infra/external/resend';\nimport { Invoice, InvoiceMail } from '@xxmachina/common/invoice/domain/models';\nimport { deepSnakeToCamelCase, getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { gql } from '@apollo/client/core';\nimport { GET_INVOICE_WITH_RELATIONS_QUERY } from './invoice-queries';\nimport { transformInvoiceData } from './invoice-utils';\n\nexport interface InvoiceConfig {\n templateBaseUrl: string;\n}\n\nexport const INVOICE_CONFIG = makeDI<InvoiceConfig>('[@xxmachina/invoice] INVOICE_CONFIG', {optional: false});\n\n@Injectable({ providedIn: 'root' })\nexport class InvoiceUsecase {\n private readonly notionRepo = inject(InvoiceNotionRepository);\n private readonly chromium = CHROMIUM.inject();\n private readonly config = INVOICE_CONFIG.inject();\n private readonly resend = RESEND_SERVICE.inject();\n private readonly hasura = getHasuraRepository(Invoice, { hasura: inject(HasuraService) });\n private readonly hasuraService = inject(HasuraService);\n\n async list() {\n return this.notionRepo.list();\n }\n\n async syncOne(id: string) {\n const invoice = await this.notionRepo.get({ id });\n await this.hasura.create(invoice);\n }\n\n async sync() {\n console.log('[InvoiceUsecase] Starting sync from Notion to Hasura...');\n\n const invoices = await this.notionRepo.list();\n console.log(`[InvoiceUsecase] Retrieved ${invoices.length} invoices from Notion`);\n\n console.log('[InvoiceUsecase] Deleting existing records in Hasura...');\n await this.hasura.deleteAll();\n\n console.log('[InvoiceUsecase] Saving invoices to Hasura...');\n await this.hasura.saveMany(invoices);\n\n console.log('[InvoiceUsecase] Sync completed successfully');\n return { synced: invoices.length };\n }\n\n async makePdf(data: object): Promise<{ pdf: Buffer, title: string, name: string }> {\n return this.chromium.start(async (browser) => {\n const context = await browser.newContext({ deviceScaleFactor: 2 });\n const page = await context.newPage();\n page.on('console', msg => console.log('PAGE LOG:', msg.text()));\n page.on('pageerror', err => console.log('PAGE ERROR:', err.message));\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(data))}`;\n await page.goto(url, { waitUntil: 'networkidle' });\n await page.evaluate(() => document.fonts.ready);\n await page.waitForSelector('h1');\n const title = await page.title();\n const pdf = await page.pdf({ format: 'A4' });\n return { pdf, title, name: `${title}.pdf` };\n });\n }\n\n async sendMail(mail: InvoiceMail) {\n const pdf = await this.makePdf(mail.invoice);\n await this.resend.emails.send({\n from: mail.from,\n to: mail.to,\n subject: mail.subject,\n html: mail.content,\n attachments: [{ filename: pdf.name, content: pdf.pdf, contentType: 'application/pdf' }]\n });\n }\n\n async getLink(invoiceId: string): Promise<string> {\n try {\n const result = await this.hasuraService.query({\n query: gql`${GET_INVOICE_WITH_RELATIONS_QUERY}`,\n variables: { id: invoiceId }\n }).then(result => deepSnakeToCamelCase(result));\n\n const invoiceData = (result as any).data?.invoicesByPk;\n if (!invoiceData) {\n throw new Error(`Invoice with ID ${invoiceId} not found`);\n }\n\n const transformedData = transformInvoiceData(invoiceData);\n const url = `${this.config.templateBaseUrl}?json=${encodeURIComponent(JSON.stringify(transformedData))}`;\n return url;\n } catch (error) {\n console.error(`[InvoiceUsecase] Failed to get link for invoice ${invoiceId}:`, error);\n throw error;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -20,10 +20,10 @@ class OrderUsecase {
20
20
  console.log('[OrderUsecase] Sync completed successfully');
21
21
  return { synced: orders.length };
22
22
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, providedIn: 'root' });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: OrderUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: OrderUsecase, providedIn: 'root' });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: OrderUsecase, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: OrderUsecase, decorators: [{
27
27
  type: Injectable,
28
28
  args: [{ providedIn: 'root' }]
29
29
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-invoice-usecase-order.mjs","sources":["../tmp-esm2022/invoice/usecase/order/order.service.js","../tmp-esm2022/invoice/usecase/order/xxmachina-common-invoice-usecase-order.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { OrderNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Order } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class OrderUsecase {\n notion = inject(OrderNotionRepository);\n hasuraRepo = getHasuraRepository(Order, { hasura: inject(HasuraService) });\n async sync() {\n console.log('[OrderUsecase] Starting sync from Notion to Hasura...');\n const orders = await this.notion.list();\n console.log(`[OrderUsecase] Retrieved ${orders.length} orders from Notion`);\n // Delete existing records to avoid duplicates\n console.log('[OrderUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n // Save all orders\n console.log('[OrderUsecase] Saving orders to Hasura...');\n await this.hasuraRepo.saveMany(orders);\n console.log('[OrderUsecase] Sync completed successfully');\n return { synced: orders.length };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OrderUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL29yZGVyL29yZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLFlBQVk7SUFDYixNQUFNLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXJGLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixNQUFNLENBQUMsTUFBTSxxQkFBcUIsQ0FBQyxDQUFDO1FBRTVFLDhDQUE4QztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWxDLGtCQUFrQjtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMsQ0FBQzt1R0FwQlUsWUFBWTsyR0FBWixZQUFZLGNBREMsTUFBTTs7MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcmRlck5vdGlvblJlcG9zaXRvcnkgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9yZXBvc2l0b3J5L25vdGlvbic7XG5pbXBvcnQgeyBnZXRIYXN1cmFSZXBvc2l0b3J5LCBIYXN1cmFTZXJ2aWNlIH0gZnJvbSAnQG54LWRkZC9oYXN1cmEnO1xuaW1wb3J0IHsgT3JkZXIgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbnZvaWNlL2RvbWFpbi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE9yZGVyVXNlY2FzZSB7XG4gIHByb3RlY3RlZCBub3Rpb24gPSBpbmplY3QoT3JkZXJOb3Rpb25SZXBvc2l0b3J5KTtcbiAgcHJvdGVjdGVkIGhhc3VyYVJlcG8gPSBnZXRIYXN1cmFSZXBvc2l0b3J5KE9yZGVyLCB7IGhhc3VyYTogaW5qZWN0KEhhc3VyYVNlcnZpY2UpIH0pO1xuXG4gIGFzeW5jIHN5bmMoKSB7XG4gICAgY29uc29sZS5sb2coJ1tPcmRlclVzZWNhc2VdIFN0YXJ0aW5nIHN5bmMgZnJvbSBOb3Rpb24gdG8gSGFzdXJhLi4uJyk7XG4gICAgXG4gICAgY29uc3Qgb3JkZXJzID0gYXdhaXQgdGhpcy5ub3Rpb24ubGlzdCgpO1xuICAgIGNvbnNvbGUubG9nKGBbT3JkZXJVc2VjYXNlXSBSZXRyaWV2ZWQgJHtvcmRlcnMubGVuZ3RofSBvcmRlcnMgZnJvbSBOb3Rpb25gKTtcbiAgICBcbiAgICAvLyBEZWxldGUgZXhpc3RpbmcgcmVjb3JkcyB0byBhdm9pZCBkdXBsaWNhdGVzXG4gICAgY29uc29sZS5sb2coJ1tPcmRlclVzZWNhc2VdIERlbGV0aW5nIGV4aXN0aW5nIHJlY29yZHMgaW4gSGFzdXJhLi4uJyk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIC8vIFNhdmUgYWxsIG9yZGVyc1xuICAgIGNvbnNvbGUubG9nKCdbT3JkZXJVc2VjYXNlXSBTYXZpbmcgb3JkZXJzIHRvIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhUmVwby5zYXZlTWFueShvcmRlcnMpO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKCdbT3JkZXJVc2VjYXNlXSBTeW5jIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknKTtcbiAgICByZXR1cm4geyBzeW5jZWQ6IG9yZGVycy5sZW5ndGggfTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2Utb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL2ludm9pY2UvdXNlY2FzZS9vcmRlci94eG1hY2hpbmEtY29tbW9uLWludm9pY2UtdXNlY2FzZS1vcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,YAAY,CAAC;AAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,IAAI,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAC9E,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;AAC5E,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAC/C,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACnF;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;AAC5E,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;AACzC;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC;AAChE,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC9C,QAAQ,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC;AACjE,QAAQ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;AACxC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACvK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC9I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC3Bb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-order.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/order/order.service.ts","../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/order/xxmachina-common-invoice-usecase-order.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { OrderNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Order } from '@xxmachina/common/invoice/domain/models';\n\n@Injectable({ providedIn: 'root' })\nexport class OrderUsecase {\n protected notion = inject(OrderNotionRepository);\n protected hasuraRepo = getHasuraRepository(Order, { hasura: inject(HasuraService) });\n\n async sync() {\n console.log('[OrderUsecase] Starting sync from Notion to Hasura...');\n \n const orders = await this.notion.list();\n console.log(`[OrderUsecase] Retrieved ${orders.length} orders from Notion`);\n \n // Delete existing records to avoid duplicates\n console.log('[OrderUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n \n // Save all orders\n console.log('[OrderUsecase] Saving orders to Hasura...');\n await this.hasuraRepo.saveMany(orders);\n \n console.log('[OrderUsecase] Sync completed successfully');\n return { synced: orders.length };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,YAAY,CAAA;AACb,IAAA,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACtC,IAAA,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAEpF,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;QAEpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,CAAA,yBAAA,EAA4B,MAAM,CAAC,MAAM,CAAA,mBAAA,CAAqB,CAAC;;AAG3E,QAAA,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC;AACpE,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;;AAGjC,QAAA,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC;QACxD,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;AAEtC,QAAA,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC;AACzD,QAAA,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAClC;uGApBW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA;;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
@@ -20,10 +20,10 @@ class PartnerUsecase {
20
20
  console.log('[PartnerUsecase] Sync completed successfully');
21
21
  return { synced: items.length };
22
22
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, providedIn: 'root' });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PartnerUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PartnerUsecase, providedIn: 'root' });
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PartnerUsecase, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PartnerUsecase, decorators: [{
27
27
  type: Injectable,
28
28
  args: [{ providedIn: 'root' }]
29
29
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-invoice-usecase-partner.mjs","sources":["../tmp-esm2022/invoice/usecase/partner/partner.usecase.js","../tmp-esm2022/invoice/usecase/partner/xxmachina-common-invoice-usecase-partner.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { PartnerNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Partner } from '@xxmachina/common/invoice/domain/models';\nimport * as i0 from \"@angular/core\";\nexport class PartnerUsecase {\n notionRepo = inject(PartnerNotionRepository);\n hasuraRepo = getHasuraRepository(Partner, { hasura: inject(HasuraService) });\n async sync() {\n console.log('[PartnerUsecase] Starting sync from Notion to Hasura...');\n const items = await this.notionRepo.list();\n console.log(`[PartnerUsecase] Retrieved ${items.length} partners from Notion`);\n // Delete existing records to avoid duplicates\n console.log('[PartnerUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n // Save all partners\n console.log('[PartnerUsecase] Saving partners to Hasura...');\n await this.hasuraRepo.saveMany(items);\n console.log('[PartnerUsecase] Sync completed successfully');\n return { synced: items.length };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PartnerUsecase, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lci51c2VjYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9pbnZvaWNlL3VzZWNhc2UvcGFydG5lci9wYXJ0bmVyLnVzZWNhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLGNBQWM7SUFDZixVQUFVLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDN0MsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZGLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBRXZFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixLQUFLLENBQUMsTUFBTSx1QkFBdUIsQ0FBQyxDQUFDO1FBRS9FLDhDQUE4QztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWxDLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QyxPQUFPLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt1R0FwQlUsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJ0bmVyTm90aW9uUmVwb3NpdG9yeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvbm90aW9uJztcbmltcG9ydCB7IGdldEhhc3VyYVJlcG9zaXRvcnksIEhhc3VyYVNlcnZpY2UgfSBmcm9tICdAbngtZGRkL2hhc3VyYSc7XG5pbXBvcnQgeyBQYXJ0bmVyIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vaW52b2ljZS9kb21haW4vbW9kZWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQYXJ0bmVyVXNlY2FzZSB7XG4gIHByb3RlY3RlZCBub3Rpb25SZXBvID0gaW5qZWN0KFBhcnRuZXJOb3Rpb25SZXBvc2l0b3J5KTtcbiAgcHJvdGVjdGVkIGhhc3VyYVJlcG8gPSBnZXRIYXN1cmFSZXBvc2l0b3J5KFBhcnRuZXIsIHsgaGFzdXJhOiBpbmplY3QoSGFzdXJhU2VydmljZSkgfSk7XG5cbiAgYXN5bmMgc3luYygpIHtcbiAgICBjb25zb2xlLmxvZygnW1BhcnRuZXJVc2VjYXNlXSBTdGFydGluZyBzeW5jIGZyb20gTm90aW9uIHRvIEhhc3VyYS4uLicpO1xuICAgIFxuICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5ub3Rpb25SZXBvLmxpc3QoKTtcbiAgICBjb25zb2xlLmxvZyhgW1BhcnRuZXJVc2VjYXNlXSBSZXRyaWV2ZWQgJHtpdGVtcy5sZW5ndGh9IHBhcnRuZXJzIGZyb20gTm90aW9uYCk7XG4gICAgXG4gICAgLy8gRGVsZXRlIGV4aXN0aW5nIHJlY29yZHMgdG8gYXZvaWQgZHVwbGljYXRlc1xuICAgIGNvbnNvbGUubG9nKCdbUGFydG5lclVzZWNhc2VdIERlbGV0aW5nIGV4aXN0aW5nIHJlY29yZHMgaW4gSGFzdXJhLi4uJyk7XG4gICAgYXdhaXQgdGhpcy5oYXN1cmFSZXBvLmRlbGV0ZUFsbCgpO1xuICAgIFxuICAgIC8vIFNhdmUgYWxsIHBhcnRuZXJzXG4gICAgY29uc29sZS5sb2coJ1tQYXJ0bmVyVXNlY2FzZV0gU2F2aW5nIHBhcnRuZXJzIHRvIEhhc3VyYS4uLicpO1xuICAgIGF3YWl0IHRoaXMuaGFzdXJhUmVwby5zYXZlTWFueShpdGVtcyk7XG4gICAgXG4gICAgY29uc29sZS5sb2coJ1tQYXJ0bmVyVXNlY2FzZV0gU3luYyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgcmV0dXJuIHsgc3luY2VkOiBpdGVtcy5sZW5ndGggfTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtcGFydG5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvaW52b2ljZS91c2VjYXNlL3BhcnRuZXIveHhtYWNoaW5hLWNvbW1vbi1pbnZvaWNlLXVzZWNhc2UtcGFydG5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,MAAM,cAAc,CAAC;AAC5B,IAAI,UAAU,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAChD,IAAI,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAChF,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAClD,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,2BAA2B,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACtF;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;AAC9E,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;AACzC;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC;AACpE,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC7C,QAAQ,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC;AACnE,QAAQ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;AACvC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACzK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC3Bb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-invoice-usecase-partner.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/partner/partner.usecase.ts","../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/partner/xxmachina-common-invoice-usecase-partner.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { PartnerNotionRepository } from '@xxmachina/common/infra/repository/notion';\nimport { getHasuraRepository, HasuraService } from '@nx-ddd/hasura';\nimport { Partner } from '@xxmachina/common/invoice/domain/models';\n\n@Injectable({ providedIn: 'root' })\nexport class PartnerUsecase {\n protected notionRepo = inject(PartnerNotionRepository);\n protected hasuraRepo = getHasuraRepository(Partner, { hasura: inject(HasuraService) });\n\n async sync() {\n console.log('[PartnerUsecase] Starting sync from Notion to Hasura...');\n \n const items = await this.notionRepo.list();\n console.log(`[PartnerUsecase] Retrieved ${items.length} partners from Notion`);\n \n // Delete existing records to avoid duplicates\n console.log('[PartnerUsecase] Deleting existing records in Hasura...');\n await this.hasuraRepo.deleteAll();\n \n // Save all partners\n console.log('[PartnerUsecase] Saving partners to Hasura...');\n await this.hasuraRepo.saveMany(items);\n \n console.log('[PartnerUsecase] Sync completed successfully');\n return { synced: items.length };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAMa,cAAc,CAAA;AACf,IAAA,UAAU,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC5C,IAAA,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AAEtF,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;QAEtE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAC1C,OAAO,CAAC,GAAG,CAAC,CAAA,2BAAA,EAA8B,KAAK,CAAC,MAAM,CAAA,qBAAA,CAAuB,CAAC;;AAG9E,QAAA,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC;AACtE,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;;AAGjC,QAAA,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC;QAC5D,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;AAErC,QAAA,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC;AAC3D,QAAA,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;IACjC;uGApBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
@@ -49,10 +49,10 @@ class GraphqlService {
49
49
  fetchPolicy: 'network-only',
50
50
  })));
51
51
  }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, providedIn: 'root' });
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, providedIn: 'root' });
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{ providedIn: 'root' }]
58
58
  }] });
@@ -160,10 +160,10 @@ class AstSubscriptionSplitterService {
160
160
  return combined;
161
161
  }));
162
162
  }
163
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AstSubscriptionSplitterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
164
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AstSubscriptionSplitterService, providedIn: 'root' });
163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AstSubscriptionSplitterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
164
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AstSubscriptionSplitterService, providedIn: 'root' });
165
165
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AstSubscriptionSplitterService, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AstSubscriptionSplitterService, decorators: [{
167
167
  type: Injectable,
168
168
  args: [{ providedIn: 'root' }]
169
169
  }] });
@@ -268,10 +268,10 @@ class GraphqlEnhancedService extends GraphqlService {
268
268
  };
269
269
  }));
270
270
  }
271
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlEnhancedService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
272
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlEnhancedService, providedIn: 'root' });
271
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlEnhancedService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
272
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlEnhancedService, providedIn: 'root' });
273
273
  }
274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlEnhancedService, decorators: [{
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlEnhancedService, decorators: [{
275
275
  type: Injectable,
276
276
  args: [{ providedIn: 'root' }]
277
277
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-services-graphql.mjs","sources":["../tmp-esm2022/services/graphql/graphql.service.js","../tmp-esm2022/services/graphql/subscription-splitter/ast-splitter.service.js","../tmp-esm2022/services/graphql/graphql-utils.js","../tmp-esm2022/services/graphql/graphql-enhanced.service.js","../tmp-esm2022/services/graphql/graphql-enhanced.provider.js","../tmp-esm2022/services/graphql/xxmachina-common-services-graphql.js"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { ApolloClientManagerService } from \"@nx-ddd/hasura\";\nimport { EMPTY, switchMap } from \"rxjs\";\nimport { gql } from \"apollo-angular\";\nimport { getIntrospectionQuery } from \"graphql\";\nimport * as i0 from \"@angular/core\";\nexport class GraphqlService {\n apolloClientManager = inject(ApolloClientManagerService);\n /**\n * @TODO\n * this.apolloMulti.getClientはendpoint単位でApolloClientを管理しているため、\n * _query.graphql.headersに認証情報などが含まれていないリクエストが初めに来ると、\n * {message: 'no subscriptions exist}のようなエラーが出る。\n * Headersが更新されるたびに、ApolloClientを再生成するような処理も必要。\n */\n subscribe(graphql) {\n if (!graphql.query)\n return EMPTY;\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.subscribe({\n query: gql `${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })));\n }\n query(graphql) {\n if (!graphql.query)\n return EMPTY;\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({\n query: gql `${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })));\n }\n getSchema(graphql) {\n const getHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(switchMap((client) => client.query({\n query: gql `${getIntrospectionQuery()}`,\n variables: {},\n fetchPolicy: 'network-only',\n })));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsL2dyYXBocWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFZOUQsTUFBTSxPQUFPLGNBQWM7SUFDaEIsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFbEU7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLE9BQTBCO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFlLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxVQUFVO1lBQ2xFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTztZQUNqQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBaUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDMUUsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFzQjtZQUMxRCxLQUFLLEVBQUUsR0FBRyxDQUFBLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUM1QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsV0FBVyxFQUFFLGNBQWM7U0FDNUIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBMEI7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQWUsT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFVBQVU7WUFDbEUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ2pCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFpQyxDQUFDLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMxRSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQXNCO1lBQ3RELEtBQUssRUFBRSxHQUFHLENBQUEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzVCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUMsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFtQztRQUMzQyxNQUFNLFVBQVUsR0FBZSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVTtZQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU87WUFDakIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQWlDLENBQUMsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFFLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBc0I7WUFDdEQsS0FBSyxFQUFFLEdBQUcsQ0FBQSxHQUFHLHFCQUFxQixFQUFFLEVBQUU7WUFDdEMsU0FBUyxFQUFFLEVBQUU7WUFDYixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUMsQ0FDSixDQUFDO0lBQ0osQ0FBQzt1R0FqRFUsY0FBYzsyR0FBZCxjQUFjLGNBREYsTUFBTTs7MkZBQ2xCLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEdldEhlYWRlcnMgfSBmcm9tIFwiQG54LWRkZC9oYXN1cmFcIjtcbmltcG9ydCB7IEFwb2xsb0NsaWVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSBcIkBueC1kZGQvaGFzdXJhXCI7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGdxbCB9IGZyb20gXCJhcG9sbG8tYW5ndWxhclwiO1xuaW1wb3J0IHsgRG9jdW1lbnROb2RlLCBnZXRJbnRyb3NwZWN0aW9uUXVlcnkgfSBmcm9tIFwiZ3JhcGhxbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGFibGVHcmFwaHFsIHtcbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZyB8IERvY3VtZW50Tm9kZTtcbiAgdmFyaWFibGVzOiBvYmplY3Q7XG4gIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBHZXRIZWFkZXJzO1xufVxuXG5leHBvcnQgdHlwZSBFeGVjdXRhYmxlR2V0U2NoZW1hR3JhcGhxbCA9IFBpY2s8RXhlY3V0YWJsZUdyYXBocWwsICdlbmRwb2ludCcgfCAnaGVhZGVycyc+O1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBHcmFwaHFsU2VydmljZSB7XG4gIHJlYWRvbmx5IGFwb2xsb0NsaWVudE1hbmFnZXIgPSBpbmplY3QoQXBvbGxvQ2xpZW50TWFuYWdlclNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBAVE9ET1xuICAgKiB0aGlzLmFwb2xsb011bHRpLmdldENsaWVudOOBr2VuZHBvaW505Y2Y5L2N44GnQXBvbGxvQ2xpZW5044KS566h55CG44GX44Gm44GE44KL44Gf44KB44CBXG4gICAqIF9xdWVyeS5ncmFwaHFsLmhlYWRlcnPjgavoqo3oqLzmg4XloLHjgarjganjgYzlkKvjgb7jgozjgabjgYTjgarjgYTjg6rjgq/jgqjjgrnjg4jjgYzliJ3jgoHjgavmnaXjgovjgajjgIFcbiAgICoge21lc3NhZ2U6ICdubyBzdWJzY3JpcHRpb25zIGV4aXN0feOBruOCiOOBhuOBquOCqOODqeODvOOBjOWHuuOCi+OAglxuICAgKiBIZWFkZXJz44GM5pu05paw44GV44KM44KL44Gf44Gz44Gr44CBQXBvbGxvQ2xpZW5044KS5YaN55Sf5oiQ44GZ44KL44KI44GG44Gq5Yem55CG44KC5b+F6KaB44CCXG4gICAqL1xuICBzdWJzY3JpYmUoZ3JhcGhxbDogRXhlY3V0YWJsZUdyYXBocWwpIHtcbiAgICBpZiAoIWdyYXBocWwucXVlcnkpIHJldHVybiBFTVBUWTtcbiAgICBjb25zdCBnZXRIZWFkZXJzOiBHZXRIZWFkZXJzID0gdHlwZW9mIGdyYXBocWwuaGVhZGVycyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBncmFwaHFsLmhlYWRlcnNcbiAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGdyYXBocWwuaGVhZGVycyBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG9DbGllbnRNYW5hZ2VyLmdldENsaWVudChncmFwaHFsLmVuZHBvaW50LCBnZXRIZWFkZXJzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjbGllbnQpID0+IGNsaWVudC5zdWJzY3JpYmU8UmVjb3JkPHN0cmluZywgYW55Pj4oe1xuICAgICAgICBxdWVyeTogZ3FsYCR7Z3JhcGhxbC5xdWVyeX1gLFxuICAgICAgICB2YXJpYWJsZXM6IGdyYXBocWwudmFyaWFibGVzLFxuICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxuXG4gIHF1ZXJ5KGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsKSB7XG4gICAgaWYgKCFncmFwaHFsLnF1ZXJ5KSByZXR1cm4gRU1QVFk7XG4gICAgY29uc3QgZ2V0SGVhZGVyczogR2V0SGVhZGVycyA9IHR5cGVvZiBncmFwaHFsLmhlYWRlcnMgPT09ICdmdW5jdGlvbidcbiAgICAgID8gZ3JhcGhxbC5oZWFkZXJzXG4gICAgICA6ICgpID0+IFByb21pc2UucmVzb2x2ZShncmFwaHFsLmhlYWRlcnMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvQ2xpZW50TWFuYWdlci5nZXRDbGllbnQoZ3JhcGhxbC5lbmRwb2ludCwgZ2V0SGVhZGVycykucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoY2xpZW50KSA9PiBjbGllbnQucXVlcnk8UmVjb3JkPHN0cmluZywgYW55Pj4oe1xuICAgICAgICBxdWVyeTogZ3FsYCR7Z3JhcGhxbC5xdWVyeX1gLFxuICAgICAgICB2YXJpYWJsZXM6IGdyYXBocWwudmFyaWFibGVzLFxuICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxuXG4gIGdldFNjaGVtYShncmFwaHFsOiBFeGVjdXRhYmxlR2V0U2NoZW1hR3JhcGhxbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgZ2V0SGVhZGVyczogR2V0SGVhZGVycyA9IHR5cGVvZiBncmFwaHFsLmhlYWRlcnMgPT09ICdmdW5jdGlvbicgXG4gICAgICA/IGdyYXBocWwuaGVhZGVycyBcbiAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGdyYXBocWwuaGVhZGVycyBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgICByZXR1cm4gdGhpcy5hcG9sbG9DbGllbnRNYW5hZ2VyLmdldENsaWVudChncmFwaHFsLmVuZHBvaW50LCBnZXRIZWFkZXJzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjbGllbnQpID0+IGNsaWVudC5xdWVyeTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7XG4gICAgICAgIHF1ZXJ5OiBncWxgJHtnZXRJbnRyb3NwZWN0aW9uUXVlcnkoKX1gLFxuICAgICAgICB2YXJpYWJsZXM6IHt9LFxuICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport { parse, print, visit, Kind, OperationTypeNode } from 'graphql';\nimport { combineLatest, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\n/**\n * AST-based subscription splitter service\n * GraphQL ASTを使用して正確にサブスクリプションを分割\n */\nexport class AstSubscriptionSplitterService {\n splitSubscription(query) {\n const document = typeof query === 'string' ? parse(query) : query;\n // Find the subscription operation\n let subscriptionOp;\n visit(document, {\n OperationDefinition(node) {\n if (node.operation === OperationTypeNode.SUBSCRIPTION) {\n subscriptionOp = node;\n }\n }\n });\n if (!subscriptionOp || !subscriptionOp.selectionSet.selections.length) {\n return [];\n }\n const results = [];\n // Process each field in the subscription\n subscriptionOp.selectionSet.selections.forEach(selection => {\n if (selection.kind === Kind.FIELD) {\n const field = selection;\n const fieldName = field.alias?.value || field.name.value;\n // Extract variables used in this field\n const usedVariables = this.extractUsedVariables(field);\n // Create a new subscription with only this field and its used variables\n const newDoc = {\n kind: Kind.DOCUMENT,\n definitions: [{\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.SUBSCRIPTION,\n name: subscriptionOp.name ? {\n kind: Kind.NAME,\n value: subscriptionOp.name.value\n } : undefined,\n variableDefinitions: this.filterVariableDefinitions(subscriptionOp.variableDefinitions || [], usedVariables),\n selectionSet: {\n kind: Kind.SELECTION_SET,\n selections: [field]\n }\n }]\n };\n results.push({\n fieldName: field.name.value,\n query: print(newDoc)\n });\n }\n });\n return results;\n }\n /**\n * Extract variables used in a field and its subfields\n */\n extractUsedVariables(field) {\n const usedVars = new Set();\n // Visit all nodes in the field to find variable references\n visit(field, {\n Variable(node) {\n usedVars.add(node.name.value);\n }\n });\n return usedVars;\n }\n /**\n * Filter variable definitions to only include used variables\n */\n filterVariableDefinitions(definitions, usedVariables) {\n return definitions.filter(def => usedVariables.has(def.variable.name.value));\n }\n /**\n * Combine multiple observables from split queries\n */\n combineResults(results, fieldNames) {\n if (results.length === 0) {\n return of({});\n }\n if (results.length === 1) {\n return results[0];\n }\n return combineLatest(results).pipe(map(data => {\n const combined = {};\n fieldNames.forEach((fieldName, index) => {\n if (data[index] && typeof data[index] === 'object') {\n Object.keys(data[index]).forEach(key => {\n if (combined[key]) {\n if (Array.isArray(combined[key])) {\n combined[key] = [...combined[key], ...(Array.isArray(data[index][key]) ? data[index][key] : [data[index][key]])];\n }\n else {\n combined[key] = [combined[key], data[index][key]];\n }\n }\n else {\n combined[key] = data[index][key];\n }\n });\n }\n });\n return combined;\n }));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AstSubscriptionSplitterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AstSubscriptionSplitterService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AstSubscriptionSplitterService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LXNwbGl0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2dyYXBocWwvc3Vic2NyaXB0aW9uLXNwbGl0dGVyL2FzdC1zcGxpdHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUVMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQU1MLElBQUksRUFDSixpQkFBaUIsRUFDbEIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFjLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVyQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sOEJBQThCO0lBRXpDLGlCQUFpQixDQUFDLEtBQTRCO1FBQzVDLE1BQU0sUUFBUSxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFbEUsa0NBQWtDO1FBQ2xDLElBQUksY0FBbUQsQ0FBQztRQUN4RCxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2QsbUJBQW1CLENBQUMsSUFBSTtnQkFDdEIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO29CQUN0RCxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0RSxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBMkMsRUFBRSxDQUFDO1FBRTNELHlDQUF5QztRQUN6QyxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDekQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxLQUFLLEdBQUcsU0FBc0IsQ0FBQztnQkFDckMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBRXpELHVDQUF1QztnQkFDdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV2RCx3RUFBd0U7Z0JBQ3hFLE1BQU0sTUFBTSxHQUFpQjtvQkFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUNuQixXQUFXLEVBQUUsQ0FBQzs0QkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjs0QkFDL0IsU0FBUyxFQUFFLGlCQUFpQixDQUFDLFlBQVk7NEJBQ3pDLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQ0FDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dDQUNmLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUs7NkJBQ2pDLENBQUMsQ0FBQyxDQUFDLFNBQVM7NEJBQ2IsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUNqRCxjQUFjLENBQUMsbUJBQW1CLElBQUksRUFBRSxFQUN4QyxhQUFhLENBQ2Q7NEJBQ0QsWUFBWSxFQUFFO2dDQUNaLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYTtnQ0FDeEIsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDOzZCQUNwQjt5QkFDRixDQUFDO2lCQUNILENBQUM7Z0JBRUYsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLO29CQUMzQixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztpQkFDckIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CLENBQUMsS0FBZ0I7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUVuQywyREFBMkQ7UUFDM0QsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNYLFFBQVEsQ0FBQyxJQUFJO2dCQUNYLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ0sseUJBQXlCLENBQy9CLFdBQWtELEVBQ2xELGFBQTBCO1FBRTFCLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUM5QixhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUNaLE9BQTBCLEVBQzFCLFVBQW9CO1FBRXBCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULE1BQU0sUUFBUSxHQUFRLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDbkQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7d0JBQ3JDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7NEJBQ2xCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUNqQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDbkgsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDcEQsQ0FBQzt3QkFDSCxDQUFDOzZCQUFNLENBQUM7NEJBQ04sUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbkMsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0E3SFUsOEJBQThCOzJHQUE5Qiw4QkFBOEIsY0FEakIsTUFBTTs7MkZBQ25CLDhCQUE4QjtrQkFEMUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBcbiAgRG9jdW1lbnROb2RlLCBcbiAgcGFyc2UsIFxuICBwcmludCxcbiAgdmlzaXQsXG4gIE9wZXJhdGlvbkRlZmluaXRpb25Ob2RlLFxuICBGaWVsZE5vZGUsXG4gIFZhcmlhYmxlRGVmaW5pdGlvbk5vZGUsXG4gIFNlbGVjdGlvblNldE5vZGUsXG4gIEFyZ3VtZW50Tm9kZSxcbiAgS2luZCxcbiAgT3BlcmF0aW9uVHlwZU5vZGVcbn0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEFTVC1iYXNlZCBzdWJzY3JpcHRpb24gc3BsaXR0ZXIgc2VydmljZVxuICogR3JhcGhRTCBBU1TjgpLkvb/nlKjjgZfjgabmraPnorrjgavjgrXjg5bjgrnjgq/jg6rjg5fjgrfjg6fjg7PjgpLliIblibJcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBc3RTdWJzY3JpcHRpb25TcGxpdHRlclNlcnZpY2Uge1xuICBcbiAgc3BsaXRTdWJzY3JpcHRpb24ocXVlcnk6IHN0cmluZyB8IERvY3VtZW50Tm9kZSk6IHsgZmllbGROYW1lOiBzdHJpbmc7IHF1ZXJ5OiBzdHJpbmcgfVtdIHtcbiAgICBjb25zdCBkb2N1bWVudCA9IHR5cGVvZiBxdWVyeSA9PT0gJ3N0cmluZycgPyBwYXJzZShxdWVyeSkgOiBxdWVyeTtcbiAgICBcbiAgICAvLyBGaW5kIHRoZSBzdWJzY3JpcHRpb24gb3BlcmF0aW9uXG4gICAgbGV0IHN1YnNjcmlwdGlvbk9wOiBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSB8IHVuZGVmaW5lZDtcbiAgICB2aXNpdChkb2N1bWVudCwge1xuICAgICAgT3BlcmF0aW9uRGVmaW5pdGlvbihub2RlKSB7XG4gICAgICAgIGlmIChub2RlLm9wZXJhdGlvbiA9PT0gT3BlcmF0aW9uVHlwZU5vZGUuU1VCU0NSSVBUSU9OKSB7XG4gICAgICAgICAgc3Vic2NyaXB0aW9uT3AgPSBub2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgaWYgKCFzdWJzY3JpcHRpb25PcCB8fCAhc3Vic2NyaXB0aW9uT3Auc2VsZWN0aW9uU2V0LnNlbGVjdGlvbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IHJlc3VsdHM6IHsgZmllbGROYW1lOiBzdHJpbmc7IHF1ZXJ5OiBzdHJpbmcgfVtdID0gW107XG4gICAgXG4gICAgLy8gUHJvY2VzcyBlYWNoIGZpZWxkIGluIHRoZSBzdWJzY3JpcHRpb25cbiAgICBzdWJzY3JpcHRpb25PcC5zZWxlY3Rpb25TZXQuc2VsZWN0aW9ucy5mb3JFYWNoKHNlbGVjdGlvbiA9PiB7XG4gICAgICBpZiAoc2VsZWN0aW9uLmtpbmQgPT09IEtpbmQuRklFTEQpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBzZWxlY3Rpb24gYXMgRmllbGROb2RlO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZC5hbGlhcz8udmFsdWUgfHwgZmllbGQubmFtZS52YWx1ZTtcbiAgICAgICAgXG4gICAgICAgIC8vIEV4dHJhY3QgdmFyaWFibGVzIHVzZWQgaW4gdGhpcyBmaWVsZFxuICAgICAgICBjb25zdCB1c2VkVmFyaWFibGVzID0gdGhpcy5leHRyYWN0VXNlZFZhcmlhYmxlcyhmaWVsZCk7XG4gICAgICAgIFxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgc3Vic2NyaXB0aW9uIHdpdGggb25seSB0aGlzIGZpZWxkIGFuZCBpdHMgdXNlZCB2YXJpYWJsZXNcbiAgICAgICAgY29uc3QgbmV3RG9jOiBEb2N1bWVudE5vZGUgPSB7XG4gICAgICAgICAga2luZDogS2luZC5ET0NVTUVOVCxcbiAgICAgICAgICBkZWZpbml0aW9uczogW3tcbiAgICAgICAgICAgIGtpbmQ6IEtpbmQuT1BFUkFUSU9OX0RFRklOSVRJT04sXG4gICAgICAgICAgICBvcGVyYXRpb246IE9wZXJhdGlvblR5cGVOb2RlLlNVQlNDUklQVElPTixcbiAgICAgICAgICAgIG5hbWU6IHN1YnNjcmlwdGlvbk9wLm5hbWUgPyB7XG4gICAgICAgICAgICAgIGtpbmQ6IEtpbmQuTkFNRSxcbiAgICAgICAgICAgICAgdmFsdWU6IHN1YnNjcmlwdGlvbk9wLm5hbWUudmFsdWVcbiAgICAgICAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB2YXJpYWJsZURlZmluaXRpb25zOiB0aGlzLmZpbHRlclZhcmlhYmxlRGVmaW5pdGlvbnMoXG4gICAgICAgICAgICAgIHN1YnNjcmlwdGlvbk9wLnZhcmlhYmxlRGVmaW5pdGlvbnMgfHwgW10sXG4gICAgICAgICAgICAgIHVzZWRWYXJpYWJsZXNcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHtcbiAgICAgICAgICAgICAga2luZDogS2luZC5TRUxFQ1RJT05fU0VULFxuICAgICAgICAgICAgICBzZWxlY3Rpb25zOiBbZmllbGRdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfV1cbiAgICAgICAgfTtcbiAgICAgICAgXG4gICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgZmllbGROYW1lOiBmaWVsZC5uYW1lLnZhbHVlLFxuICAgICAgICAgIHF1ZXJ5OiBwcmludChuZXdEb2MpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIFxuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG4gIFxuICAvKipcbiAgICogRXh0cmFjdCB2YXJpYWJsZXMgdXNlZCBpbiBhIGZpZWxkIGFuZCBpdHMgc3ViZmllbGRzXG4gICAqL1xuICBwcml2YXRlIGV4dHJhY3RVc2VkVmFyaWFibGVzKGZpZWxkOiBGaWVsZE5vZGUpOiBTZXQ8c3RyaW5nPiB7XG4gICAgY29uc3QgdXNlZFZhcnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBcbiAgICAvLyBWaXNpdCBhbGwgbm9kZXMgaW4gdGhlIGZpZWxkIHRvIGZpbmQgdmFyaWFibGUgcmVmZXJlbmNlc1xuICAgIHZpc2l0KGZpZWxkLCB7XG4gICAgICBWYXJpYWJsZShub2RlKSB7XG4gICAgICAgIHVzZWRWYXJzLmFkZChub2RlLm5hbWUudmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIFxuICAgIHJldHVybiB1c2VkVmFycztcbiAgfVxuICBcbiAgLyoqXG4gICAqIEZpbHRlciB2YXJpYWJsZSBkZWZpbml0aW9ucyB0byBvbmx5IGluY2x1ZGUgdXNlZCB2YXJpYWJsZXNcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyVmFyaWFibGVEZWZpbml0aW9ucyhcbiAgICBkZWZpbml0aW9uczogUmVhZG9ubHlBcnJheTxWYXJpYWJsZURlZmluaXRpb25Ob2RlPixcbiAgICB1c2VkVmFyaWFibGVzOiBTZXQ8c3RyaW5nPlxuICApOiBWYXJpYWJsZURlZmluaXRpb25Ob2RlW10ge1xuICAgIHJldHVybiBkZWZpbml0aW9ucy5maWx0ZXIoZGVmID0+IFxuICAgICAgdXNlZFZhcmlhYmxlcy5oYXMoZGVmLnZhcmlhYmxlLm5hbWUudmFsdWUpXG4gICAgKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIENvbWJpbmUgbXVsdGlwbGUgb2JzZXJ2YWJsZXMgZnJvbSBzcGxpdCBxdWVyaWVzXG4gICAqL1xuICBjb21iaW5lUmVzdWx0cyhcbiAgICByZXN1bHRzOiBPYnNlcnZhYmxlPGFueT5bXSxcbiAgICBmaWVsZE5hbWVzOiBzdHJpbmdbXVxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChyZXN1bHRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICB9XG4gICAgXG4gICAgaWYgKHJlc3VsdHMubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gcmVzdWx0c1swXTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QocmVzdWx0cykucGlwZShcbiAgICAgIG1hcChkYXRhID0+IHtcbiAgICAgICAgY29uc3QgY29tYmluZWQ6IGFueSA9IHt9O1xuICAgICAgICBmaWVsZE5hbWVzLmZvckVhY2goKGZpZWxkTmFtZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBpZiAoZGF0YVtpbmRleF0gJiYgdHlwZW9mIGRhdGFbaW5kZXhdID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YVtpbmRleF0pLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgICAgaWYgKGNvbWJpbmVkW2tleV0pIHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjb21iaW5lZFtrZXldKSkge1xuICAgICAgICAgICAgICAgICAgY29tYmluZWRba2V5XSA9IFsuLi5jb21iaW5lZFtrZXldLCAuLi4oQXJyYXkuaXNBcnJheShkYXRhW2luZGV4XVtrZXldKSA/IGRhdGFbaW5kZXhdW2tleV0gOiBbZGF0YVtpbmRleF1ba2V5XV0pXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgY29tYmluZWRba2V5XSA9IFtjb21iaW5lZFtrZXldLCBkYXRhW2luZGV4XVtrZXldXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29tYmluZWRba2V5XSA9IGRhdGFbaW5kZXhdW2tleV07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjb21iaW5lZDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufSJdfQ==","/**\n * クエリがsubscriptionかどうかを判定\n */\nexport function isSubscription(query) {\n const queryStr = typeof query === 'string' ? query : query.loc?.source?.body || '';\n return queryStr.trim().startsWith('subscription');\n}\n/**\n * クエリから使用されている変数を抽出\n */\nexport function extractUsedVariablesFromQuery(query) {\n const variables = new Set();\n const regex = /\\$(\\w+)/g;\n let match;\n while ((match = regex.exec(query)) !== null) {\n variables.add(match[1]);\n }\n return variables;\n}\n/**\n * 変数値から使用される変数のみをフィルタリング\n */\nexport function filterVariableValues(variables, usedVars) {\n const filtered = {};\n for (const [key, value] of Object.entries(variables)) {\n if (usedVars.has(key)) {\n filtered[key] = value;\n }\n }\n return filtered;\n}\n/**\n * GraphQLクエリから未使用の変数を削除\n */\nexport function removeUnusedVariables(graphql) {\n if (!graphql.variables || Object.keys(graphql.variables).length === 0) {\n return graphql;\n }\n const queryStr = typeof graphql.query === 'string' ? graphql.query : graphql.query.loc?.source?.body || '';\n const usedVars = extractUsedVariablesFromQuery(queryStr);\n const filteredVariables = filterVariableValues(graphql.variables, usedVars);\n return {\n ...graphql,\n variables: filteredVariables\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvc2VydmljZXMvZ3JhcGhxbC9ncmFwaHFsLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUE0QjtJQUN6RCxNQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNuRixPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QixDQUFDLEtBQWE7SUFDekQsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUM7SUFDekIsSUFBSSxLQUFLLENBQUM7SUFFVixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM1QyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxRQUFxQjtJQUMzRSxNQUFNLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFekIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNyRCxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQTBCO0lBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDM0csTUFBTSxRQUFRLEdBQUcsNkJBQTZCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTVFLE9BQU87UUFDTCxHQUFHLE9BQU87UUFDVixTQUFTLEVBQUUsaUJBQWlCO0tBQzdCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9jdW1lbnROb2RlIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyBFeGVjdXRhYmxlR3JhcGhxbCB9IGZyb20gJy4vZ3JhcGhxbC5zZXJ2aWNlJztcblxuLyoqXG4gKiDjgq/jgqjjg6rjgYxzdWJzY3JpcHRpb27jgYvjganjgYbjgYvjgpLliKTlrppcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3Vic2NyaXB0aW9uKHF1ZXJ5OiBzdHJpbmcgfCBEb2N1bWVudE5vZGUpOiBib29sZWFuIHtcbiAgY29uc3QgcXVlcnlTdHIgPSB0eXBlb2YgcXVlcnkgPT09ICdzdHJpbmcnID8gcXVlcnkgOiBxdWVyeS5sb2M/LnNvdXJjZT8uYm9keSB8fCAnJztcbiAgcmV0dXJuIHF1ZXJ5U3RyLnRyaW0oKS5zdGFydHNXaXRoKCdzdWJzY3JpcHRpb24nKTtcbn1cblxuLyoqXG4gKiDjgq/jgqjjg6rjgYvjgonkvb/nlKjjgZXjgozjgabjgYTjgovlpInmlbDjgpLmir3lh7pcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RVc2VkVmFyaWFibGVzRnJvbVF1ZXJ5KHF1ZXJ5OiBzdHJpbmcpOiBTZXQ8c3RyaW5nPiB7XG4gIGNvbnN0IHZhcmlhYmxlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCByZWdleCA9IC9cXCQoXFx3KykvZztcbiAgbGV0IG1hdGNoO1xuXG4gIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHF1ZXJ5KSkgIT09IG51bGwpIHtcbiAgICB2YXJpYWJsZXMuYWRkKG1hdGNoWzFdKTtcbiAgfVxuXG4gIHJldHVybiB2YXJpYWJsZXM7XG59XG5cbi8qKlxuICog5aSJ5pWw5YCk44GL44KJ5L2/55So44GV44KM44KL5aSJ5pWw44Gu44G/44KS44OV44Kj44Or44K/44Oq44Oz44KwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJWYXJpYWJsZVZhbHVlcyh2YXJpYWJsZXM6IG9iamVjdCwgdXNlZFZhcnM6IFNldDxzdHJpbmc+KTogb2JqZWN0IHtcbiAgY29uc3QgZmlsdGVyZWQ6IGFueSA9IHt9O1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlcykpIHtcbiAgICBpZiAodXNlZFZhcnMuaGFzKGtleSkpIHtcbiAgICAgIGZpbHRlcmVkW2tleV0gPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlsdGVyZWQ7XG59XG5cbi8qKlxuICogR3JhcGhRTOOCr+OCqOODquOBi+OCieacquS9v+eUqOOBruWkieaVsOOCkuWJiumZpFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVW51c2VkVmFyaWFibGVzKGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsKTogRXhlY3V0YWJsZUdyYXBocWwge1xuICBpZiAoIWdyYXBocWwudmFyaWFibGVzIHx8IE9iamVjdC5rZXlzKGdyYXBocWwudmFyaWFibGVzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZ3JhcGhxbDtcbiAgfVxuXG4gIGNvbnN0IHF1ZXJ5U3RyID0gdHlwZW9mIGdyYXBocWwucXVlcnkgPT09ICdzdHJpbmcnID8gZ3JhcGhxbC5xdWVyeSA6IGdyYXBocWwucXVlcnkubG9jPy5zb3VyY2U/LmJvZHkgfHwgJyc7XG4gIGNvbnN0IHVzZWRWYXJzID0gZXh0cmFjdFVzZWRWYXJpYWJsZXNGcm9tUXVlcnkocXVlcnlTdHIpO1xuICBjb25zdCBmaWx0ZXJlZFZhcmlhYmxlcyA9IGZpbHRlclZhcmlhYmxlVmFsdWVzKGdyYXBocWwudmFyaWFibGVzLCB1c2VkVmFycyk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5ncmFwaHFsLFxuICAgIHZhcmlhYmxlczogZmlsdGVyZWRWYXJpYWJsZXNcbiAgfTtcbn1cbiJdfQ==","import { inject, Injectable } from '@angular/core';\nimport { combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { GraphqlService } from './graphql.service';\nimport { AstSubscriptionSplitterService } from './subscription-splitter/ast-splitter.service';\nimport { isSubscription, extractUsedVariablesFromQuery, filterVariableValues, removeUnusedVariables } from './graphql-utils';\nimport * as i0 from \"@angular/core\";\n/**\n * GraphqlServiceを拡張して、subscription分割機能を追加\n *\n * GraphQL/Hasuraの制限「1つのsubscriptionには1つのトップレベルフィールドのみ」を回避し、\n * 複数のフィールドを含むsubscriptionを自動的に分割して並列実行します。\n */\nexport class GraphqlEnhancedService extends GraphqlService {\n splitter = inject(AstSubscriptionSplitterService);\n /**\n * subscriptionクエリを実行\n * デフォルトでsubscriptionは自動的に分割される\n */\n subscribe(graphql) {\n const shouldSplit = graphql.enableSplitting !== false && isSubscription(graphql.query);\n if (!shouldSplit) {\n const filteredGraphql = removeUnusedVariables(graphql);\n return super.subscribe(filteredGraphql);\n }\n return this.subscribeSplit(graphql);\n }\n /**\n * subscriptionクエリを分割して並列実行し、結果を結合\n */\n subscribeSplit(graphql) {\n const splitQueries = this.splitter.splitSubscription(graphql.query);\n if (splitQueries.length <= 1) {\n return super.subscribe(graphql);\n }\n const observables = splitQueries.map((splitQuery) => {\n const usedVars = extractUsedVariablesFromQuery(splitQuery.query);\n const filteredVariables = filterVariableValues(graphql.variables, usedVars);\n const splitGraphql = {\n ...graphql,\n query: splitQuery.query,\n variables: filteredVariables\n };\n return super.subscribe(splitGraphql).pipe(map(result => ({ fieldName: splitQuery.fieldName, result })));\n });\n return combineLatest(observables).pipe(map(results => {\n const combinedData = {};\n results.forEach(({ fieldName, result }) => {\n const data = result.data || result;\n if (data[fieldName] !== undefined) {\n combinedData[fieldName] = data[fieldName];\n }\n });\n return {\n data: combinedData,\n loading: false,\n networkStatus: 7\n };\n }));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlEnhancedService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlEnhancedService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: GraphqlEnhancedService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1lbmhhbmNlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsL2dyYXBocWwtZW5oYW5jZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFxQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRTlGLE9BQU8sRUFDTCxjQUFjLEVBQ2QsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDdEIsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNekI7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBYztJQUN2QyxRQUFRLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFbkU7OztPQUdHO0lBQ00sU0FBUyxDQUFDLE9BQXVDO1FBQ3hELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxlQUFlLEtBQUssS0FBSyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxPQUEwQjtRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRSxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbEQsTUFBTSxRQUFRLEdBQUcsNkJBQTZCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pFLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUU1RSxNQUFNLFlBQVksR0FBc0I7Z0JBQ3RDLEdBQUcsT0FBTztnQkFDVixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3ZCLFNBQVMsRUFBRSxpQkFBaUI7YUFDN0IsQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQzdELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1osTUFBTSxZQUFZLEdBQVEsRUFBRSxDQUFDO1lBRTdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2dCQUN4QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztnQkFDbkMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ2xDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzVDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLGFBQWEsRUFBRSxDQUFDO2FBQ0YsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0E3RFUsc0JBQXNCOzJHQUF0QixzQkFBc0IsY0FEVCxNQUFNOzsyRkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR3JhcGhxbFNlcnZpY2UsIEV4ZWN1dGFibGVHcmFwaHFsIH0gZnJvbSAnLi9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXN0U3Vic2NyaXB0aW9uU3BsaXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zdWJzY3JpcHRpb24tc3BsaXR0ZXIvYXN0LXNwbGl0dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmV0Y2hSZXN1bHQgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7XG4gIGlzU3Vic2NyaXB0aW9uLFxuICBleHRyYWN0VXNlZFZhcmlhYmxlc0Zyb21RdWVyeSxcbiAgZmlsdGVyVmFyaWFibGVWYWx1ZXMsXG4gIHJlbW92ZVVudXNlZFZhcmlhYmxlc1xufSBmcm9tICcuL2dyYXBocWwtdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGFibGVHcmFwaHFsV2l0aFNwbGl0dGluZyBleHRlbmRzIEV4ZWN1dGFibGVHcmFwaHFsIHtcbiAgZW5hYmxlU3BsaXR0aW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHcmFwaHFsU2VydmljZeOCkuaLoeW8teOBl+OBpuOAgXN1YnNjcmlwdGlvbuWIhuWJsuapn+iDveOCkui/veWKoFxuICpcbiAqIEdyYXBoUUwvSGFzdXJh44Gu5Yi26ZmQ44CMMeOBpOOBrnN1YnNjcmlwdGlvbuOBq+OBrzHjgaTjga7jg4jjg4Pjg5fjg6zjg5njg6vjg5XjgqPjg7zjg6vjg4njga7jgb/jgI3jgpLlm57pgb/jgZfjgIFcbiAqIOikh+aVsOOBruODleOCo+ODvOODq+ODieOCkuWQq+OCgHN1YnNjcmlwdGlvbuOCkuiHquWLleeahOOBq+WIhuWJsuOBl+OBpuS4puWIl+Wun+ihjOOBl+OBvuOBmeOAglxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEdyYXBocWxFbmhhbmNlZFNlcnZpY2UgZXh0ZW5kcyBHcmFwaHFsU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3BsaXR0ZXIgPSBpbmplY3QoQXN0U3Vic2NyaXB0aW9uU3BsaXR0ZXJTZXJ2aWNlKTtcblxuICAvKipcbiAgICogc3Vic2NyaXB0aW9u44Kv44Ko44Oq44KS5a6f6KGMXG4gICAqIOODh+ODleOCqeODq+ODiOOBp3N1YnNjcmlwdGlvbuOBr+iHquWLleeahOOBq+WIhuWJsuOBleOCjOOCi1xuICAgKi9cbiAgb3ZlcnJpZGUgc3Vic2NyaWJlKGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsV2l0aFNwbGl0dGluZyk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ8YW55Pj4ge1xuICAgIGNvbnN0IHNob3VsZFNwbGl0ID0gZ3JhcGhxbC5lbmFibGVTcGxpdHRpbmcgIT09IGZhbHNlICYmIGlzU3Vic2NyaXB0aW9uKGdyYXBocWwucXVlcnkpO1xuXG4gICAgaWYgKCFzaG91bGRTcGxpdCkge1xuICAgICAgY29uc3QgZmlsdGVyZWRHcmFwaHFsID0gcmVtb3ZlVW51c2VkVmFyaWFibGVzKGdyYXBocWwpO1xuICAgICAgcmV0dXJuIHN1cGVyLnN1YnNjcmliZShmaWx0ZXJlZEdyYXBocWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN1YnNjcmliZVNwbGl0KGdyYXBocWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIHN1YnNjcmlwdGlvbuOCr+OCqOODquOCkuWIhuWJsuOBl+OBpuS4puWIl+Wun+ihjOOBl+OAgee1kOaenOOCkue1kOWQiFxuICAgKi9cbiAgcHJpdmF0ZSBzdWJzY3JpYmVTcGxpdChncmFwaHFsOiBFeGVjdXRhYmxlR3JhcGhxbCk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ8YW55Pj4ge1xuICAgIGNvbnN0IHNwbGl0UXVlcmllcyA9IHRoaXMuc3BsaXR0ZXIuc3BsaXRTdWJzY3JpcHRpb24oZ3JhcGhxbC5xdWVyeSk7XG5cbiAgICBpZiAoc3BsaXRRdWVyaWVzLmxlbmd0aCA8PSAxKSB7XG4gICAgICByZXR1cm4gc3VwZXIuc3Vic2NyaWJlKGdyYXBocWwpO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmFibGVzID0gc3BsaXRRdWVyaWVzLm1hcCgoc3BsaXRRdWVyeSkgPT4ge1xuICAgICAgY29uc3QgdXNlZFZhcnMgPSBleHRyYWN0VXNlZFZhcmlhYmxlc0Zyb21RdWVyeShzcGxpdFF1ZXJ5LnF1ZXJ5KTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkVmFyaWFibGVzID0gZmlsdGVyVmFyaWFibGVWYWx1ZXMoZ3JhcGhxbC52YXJpYWJsZXMsIHVzZWRWYXJzKTtcblxuICAgICAgY29uc3Qgc3BsaXRHcmFwaHFsOiBFeGVjdXRhYmxlR3JhcGhxbCA9IHtcbiAgICAgICAgLi4uZ3JhcGhxbCxcbiAgICAgICAgcXVlcnk6IHNwbGl0UXVlcnkucXVlcnksXG4gICAgICAgIHZhcmlhYmxlczogZmlsdGVyZWRWYXJpYWJsZXNcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBzdXBlci5zdWJzY3JpYmUoc3BsaXRHcmFwaHFsKS5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+ICh7IGZpZWxkTmFtZTogc3BsaXRRdWVyeS5maWVsZE5hbWUsIHJlc3VsdCB9KSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChvYnNlcnZhYmxlcykucGlwZShcbiAgICAgIG1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgY29uc3QgY29tYmluZWREYXRhOiBhbnkgPSB7fTtcblxuICAgICAgICByZXN1bHRzLmZvckVhY2goKHsgZmllbGROYW1lLCByZXN1bHQgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXN1bHQuZGF0YSB8fCByZXN1bHQ7XG4gICAgICAgICAgaWYgKGRhdGFbZmllbGROYW1lXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb21iaW5lZERhdGFbZmllbGROYW1lXSA9IGRhdGFbZmllbGROYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YTogY29tYmluZWREYXRhLFxuICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIG5ldHdvcmtTdGF0dXM6IDdcbiAgICAgICAgfSBhcyBGZXRjaFJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19","import { GraphqlService } from './graphql.service';\nimport { GraphqlEnhancedService } from './graphql-enhanced.service';\n/**\n * GraphqlServiceをGraphqlEnhancedServiceで置き換えるプロバイダー\n *\n * 使用方法:\n * ```typescript\n * export default <Routes>[\n * {\n * path: '',\n * component: YourComponent,\n * providers: [\n * provideGraphqlEnhancedLocally()\n * ]\n * }\n * ];\n * ```\n */\nexport function provideGraphqlEnhancedLocally() {\n return [\n {\n provide: GraphqlService,\n useClass: GraphqlEnhancedService\n }\n ];\n}\n/**\n * グローバルにGraphqlEnhancedServiceを提供\n * app.config.tsで使用\n */\nexport function provideGraphqlEnhancedGlobally() {\n return provideGraphqlEnhancedLocally();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1lbmhhbmNlZC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvc2VydmljZXMvZ3JhcGhxbC9ncmFwaHFsLWVuaGFuY2VkLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFFBQVEsRUFBRSxzQkFBc0I7U0FDakM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSw4QkFBOEI7SUFDNUMsT0FBTyw2QkFBNkIsRUFBRSxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JhcGhxbFNlcnZpY2UgfSBmcm9tICcuL2dyYXBocWwuc2VydmljZSc7XG5pbXBvcnQgeyBHcmFwaHFsRW5oYW5jZWRTZXJ2aWNlIH0gZnJvbSAnLi9ncmFwaHFsLWVuaGFuY2VkLnNlcnZpY2UnO1xuXG4vKipcbiAqIEdyYXBocWxTZXJ2aWNl44KSR3JhcGhxbEVuaGFuY2VkU2VydmljZeOBp+e9ruOBjeaPm+OBiOOCi+ODl+ODreODkOOCpOODgOODvFxuICogXG4gKiDkvb/nlKjmlrnms5U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgZGVmYXVsdCA8Um91dGVzPltcbiAqICAge1xuICogICAgIHBhdGg6ICcnLFxuICogICAgIGNvbXBvbmVudDogWW91ckNvbXBvbmVudCxcbiAqICAgICBwcm92aWRlcnM6IFtcbiAqICAgICAgIHByb3ZpZGVHcmFwaHFsRW5oYW5jZWRMb2NhbGx5KClcbiAqICAgICBdXG4gKiAgIH1cbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVHcmFwaHFsRW5oYW5jZWRMb2NhbGx5KCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEdyYXBocWxTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEdyYXBocWxFbmhhbmNlZFNlcnZpY2VcbiAgICB9XG4gIF07XG59XG5cbi8qKlxuICog44Kw44Ot44O844OQ44Or44GrR3JhcGhxbEVuaGFuY2VkU2VydmljZeOCkuaPkOS+m1xuICogYXBwLmNvbmZpZy50c+OBp+S9v+eUqFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUdyYXBocWxFbmhhbmNlZEdsb2JhbGx5KCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gcHJvdmlkZUdyYXBocWxFbmhhbmNlZExvY2FsbHkoKTtcbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1ncmFwaHFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ncmFwaHFsL3h4bWFjaGluYS1jb21tb24tc2VydmljZXMtZ3JhcGhxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-common-services-graphql.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/graphql/graphql.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/graphql/subscription-splitter/ast-splitter.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/graphql/graphql-utils.ts","../../../../../packages/@xxmachina/common/src/lib/services/graphql/graphql-enhanced.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/graphql/graphql-enhanced.provider.ts","../../../../../packages/@xxmachina/common/src/lib/services/graphql/xxmachina-common-services-graphql.ts"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { GetHeaders } from \"@nx-ddd/hasura\";\nimport { ApolloClientManagerService } from \"@nx-ddd/hasura\";\nimport { EMPTY, Observable, switchMap } from \"rxjs\";\nimport { gql } from \"apollo-angular\";\nimport { DocumentNode, getIntrospectionQuery } from \"graphql\";\n\nexport interface ExecutableGraphql {\n endpoint: string;\n query: string | DocumentNode;\n variables: object;\n headers: Record<string, string> | GetHeaders;\n}\n\nexport type ExecutableGetSchemaGraphql = Pick<ExecutableGraphql, 'endpoint' | 'headers'>;\n\n@Injectable({providedIn: 'root'})\nexport class GraphqlService {\n readonly apolloClientManager = inject(ApolloClientManagerService);\n\n /**\n * @TODO\n * this.apolloMulti.getClientはendpoint単位でApolloClientを管理しているため、\n * _query.graphql.headersに認証情報などが含まれていないリクエストが初めに来ると、\n * {message: 'no subscriptions exist}のようなエラーが出る。\n * Headersが更新されるたびに、ApolloClientを再生成するような処理も必要。\n */\n subscribe(graphql: ExecutableGraphql) {\n if (!graphql.query) return EMPTY;\n const getHeaders: GetHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers as Record<string, string>);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(\n switchMap((client) => client.subscribe<Record<string, any>>({\n query: gql`${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })),\n );\n }\n\n query(graphql: ExecutableGraphql) {\n if (!graphql.query) return EMPTY;\n const getHeaders: GetHeaders = typeof graphql.headers === 'function'\n ? graphql.headers\n : () => Promise.resolve(graphql.headers as Record<string, string>);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(\n switchMap((client) => client.query<Record<string, any>>({\n query: gql`${graphql.query}`,\n variables: graphql.variables,\n fetchPolicy: 'network-only',\n })),\n );\n }\n\n getSchema(graphql: ExecutableGetSchemaGraphql): Observable<any> {\n const getHeaders: GetHeaders = typeof graphql.headers === 'function' \n ? graphql.headers \n : () => Promise.resolve(graphql.headers as Record<string, string>);\n return this.apolloClientManager.getClient(graphql.endpoint, getHeaders).pipe(\n switchMap((client) => client.query<Record<string, any>>({\n query: gql`${getIntrospectionQuery()}`,\n variables: {},\n fetchPolicy: 'network-only',\n })),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { \n DocumentNode, \n parse, \n print,\n visit,\n OperationDefinitionNode,\n FieldNode,\n VariableDefinitionNode,\n SelectionSetNode,\n ArgumentNode,\n Kind,\n OperationTypeNode\n} from 'graphql';\nimport { Observable, combineLatest, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * AST-based subscription splitter service\n * GraphQL ASTを使用して正確にサブスクリプションを分割\n */\n@Injectable({ providedIn: 'root' })\nexport class AstSubscriptionSplitterService {\n \n splitSubscription(query: string | DocumentNode): { fieldName: string; query: string }[] {\n const document = typeof query === 'string' ? parse(query) : query;\n \n // Find the subscription operation\n let subscriptionOp: OperationDefinitionNode | undefined;\n visit(document, {\n OperationDefinition(node) {\n if (node.operation === OperationTypeNode.SUBSCRIPTION) {\n subscriptionOp = node;\n }\n }\n });\n \n if (!subscriptionOp || !subscriptionOp.selectionSet.selections.length) {\n return [];\n }\n \n const results: { fieldName: string; query: string }[] = [];\n \n // Process each field in the subscription\n subscriptionOp.selectionSet.selections.forEach(selection => {\n if (selection.kind === Kind.FIELD) {\n const field = selection as FieldNode;\n const fieldName = field.alias?.value || field.name.value;\n \n // Extract variables used in this field\n const usedVariables = this.extractUsedVariables(field);\n \n // Create a new subscription with only this field and its used variables\n const newDoc: DocumentNode = {\n kind: Kind.DOCUMENT,\n definitions: [{\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.SUBSCRIPTION,\n name: subscriptionOp.name ? {\n kind: Kind.NAME,\n value: subscriptionOp.name.value\n } : undefined,\n variableDefinitions: this.filterVariableDefinitions(\n subscriptionOp.variableDefinitions || [],\n usedVariables\n ),\n selectionSet: {\n kind: Kind.SELECTION_SET,\n selections: [field]\n }\n }]\n };\n \n results.push({\n fieldName: field.name.value,\n query: print(newDoc)\n });\n }\n });\n \n return results;\n }\n \n /**\n * Extract variables used in a field and its subfields\n */\n private extractUsedVariables(field: FieldNode): Set<string> {\n const usedVars = new Set<string>();\n \n // Visit all nodes in the field to find variable references\n visit(field, {\n Variable(node) {\n usedVars.add(node.name.value);\n }\n });\n \n return usedVars;\n }\n \n /**\n * Filter variable definitions to only include used variables\n */\n private filterVariableDefinitions(\n definitions: ReadonlyArray<VariableDefinitionNode>,\n usedVariables: Set<string>\n ): VariableDefinitionNode[] {\n return definitions.filter(def => \n usedVariables.has(def.variable.name.value)\n );\n }\n \n /**\n * Combine multiple observables from split queries\n */\n combineResults(\n results: Observable<any>[],\n fieldNames: string[]\n ): Observable<any> {\n if (results.length === 0) {\n return of({});\n }\n \n if (results.length === 1) {\n return results[0];\n }\n \n return combineLatest(results).pipe(\n map(data => {\n const combined: any = {};\n fieldNames.forEach((fieldName, index) => {\n if (data[index] && typeof data[index] === 'object') {\n Object.keys(data[index]).forEach(key => {\n if (combined[key]) {\n if (Array.isArray(combined[key])) {\n combined[key] = [...combined[key], ...(Array.isArray(data[index][key]) ? data[index][key] : [data[index][key]])];\n } else {\n combined[key] = [combined[key], data[index][key]];\n }\n } else {\n combined[key] = data[index][key];\n }\n });\n }\n });\n return combined;\n })\n );\n }\n}","import { DocumentNode } from 'graphql';\nimport { ExecutableGraphql } from './graphql.service';\n\n/**\n * クエリがsubscriptionかどうかを判定\n */\nexport function isSubscription(query: string | DocumentNode): boolean {\n const queryStr = typeof query === 'string' ? query : query.loc?.source?.body || '';\n return queryStr.trim().startsWith('subscription');\n}\n\n/**\n * クエリから使用されている変数を抽出\n */\nexport function extractUsedVariablesFromQuery(query: string): Set<string> {\n const variables = new Set<string>();\n const regex = /\\$(\\w+)/g;\n let match;\n\n while ((match = regex.exec(query)) !== null) {\n variables.add(match[1]);\n }\n\n return variables;\n}\n\n/**\n * 変数値から使用される変数のみをフィルタリング\n */\nexport function filterVariableValues(variables: object, usedVars: Set<string>): object {\n const filtered: any = {};\n\n for (const [key, value] of Object.entries(variables)) {\n if (usedVars.has(key)) {\n filtered[key] = value;\n }\n }\n\n return filtered;\n}\n\n/**\n * GraphQLクエリから未使用の変数を削除\n */\nexport function removeUnusedVariables(graphql: ExecutableGraphql): ExecutableGraphql {\n if (!graphql.variables || Object.keys(graphql.variables).length === 0) {\n return graphql;\n }\n\n const queryStr = typeof graphql.query === 'string' ? graphql.query : graphql.query.loc?.source?.body || '';\n const usedVars = extractUsedVariablesFromQuery(queryStr);\n const filteredVariables = filterVariableValues(graphql.variables, usedVars);\n\n return {\n ...graphql,\n variables: filteredVariables\n };\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Observable, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { GraphqlService, ExecutableGraphql } from './graphql.service';\nimport { AstSubscriptionSplitterService } from './subscription-splitter/ast-splitter.service';\nimport { FetchResult } from '@apollo/client/core';\nimport {\n isSubscription,\n extractUsedVariablesFromQuery,\n filterVariableValues,\n removeUnusedVariables\n} from './graphql-utils';\n\nexport interface ExecutableGraphqlWithSplitting extends ExecutableGraphql {\n enableSplitting?: boolean;\n}\n\n/**\n * GraphqlServiceを拡張して、subscription分割機能を追加\n *\n * GraphQL/Hasuraの制限「1つのsubscriptionには1つのトップレベルフィールドのみ」を回避し、\n * 複数のフィールドを含むsubscriptionを自動的に分割して並列実行します。\n */\n@Injectable({ providedIn: 'root' })\nexport class GraphqlEnhancedService extends GraphqlService {\n private readonly splitter = inject(AstSubscriptionSplitterService);\n\n /**\n * subscriptionクエリを実行\n * デフォルトでsubscriptionは自動的に分割される\n */\n override subscribe(graphql: ExecutableGraphqlWithSplitting): Observable<FetchResult<any>> {\n const shouldSplit = graphql.enableSplitting !== false && isSubscription(graphql.query);\n\n if (!shouldSplit) {\n const filteredGraphql = removeUnusedVariables(graphql);\n return super.subscribe(filteredGraphql);\n }\n\n return this.subscribeSplit(graphql);\n }\n\n /**\n * subscriptionクエリを分割して並列実行し、結果を結合\n */\n private subscribeSplit(graphql: ExecutableGraphql): Observable<FetchResult<any>> {\n const splitQueries = this.splitter.splitSubscription(graphql.query);\n\n if (splitQueries.length <= 1) {\n return super.subscribe(graphql);\n }\n\n const observables = splitQueries.map((splitQuery) => {\n const usedVars = extractUsedVariablesFromQuery(splitQuery.query);\n const filteredVariables = filterVariableValues(graphql.variables, usedVars);\n\n const splitGraphql: ExecutableGraphql = {\n ...graphql,\n query: splitQuery.query,\n variables: filteredVariables\n };\n\n return super.subscribe(splitGraphql).pipe(\n map(result => ({ fieldName: splitQuery.fieldName, result }))\n );\n });\n\n return combineLatest(observables).pipe(\n map(results => {\n const combinedData: any = {};\n\n results.forEach(({ fieldName, result }) => {\n const data = result.data || result;\n if (data[fieldName] !== undefined) {\n combinedData[fieldName] = data[fieldName];\n }\n });\n\n return {\n data: combinedData,\n loading: false,\n networkStatus: 7\n } as FetchResult;\n })\n );\n }\n}\n","import { Provider } from '@angular/core';\nimport { GraphqlService } from './graphql.service';\nimport { GraphqlEnhancedService } from './graphql-enhanced.service';\n\n/**\n * GraphqlServiceをGraphqlEnhancedServiceで置き換えるプロバイダー\n * \n * 使用方法:\n * ```typescript\n * export default <Routes>[\n * {\n * path: '',\n * component: YourComponent,\n * providers: [\n * provideGraphqlEnhancedLocally()\n * ]\n * }\n * ];\n * ```\n */\nexport function provideGraphqlEnhancedLocally(): Provider[] {\n return [\n {\n provide: GraphqlService,\n useClass: GraphqlEnhancedService\n }\n ];\n}\n\n/**\n * グローバルにGraphqlEnhancedServiceを提供\n * app.config.tsで使用\n */\nexport function provideGraphqlEnhancedGlobally(): Provider[] {\n return provideGraphqlEnhancedLocally();\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -28,10 +28,10 @@ class QueryConfigService {
28
28
  resolve(params) {
29
29
  return this.config$.pipe(map(config => this.replace(params, config)));
30
30
  }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, providedIn: 'root' });
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryConfigService, providedIn: 'root' });
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryConfigService, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryConfigService, decorators: [{
35
35
  type: Injectable,
36
36
  args: [{ providedIn: 'root' }]
37
37
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-services-query-config.mjs","sources":["../tmp-esm2022/services/query/config/config.service.js","../tmp-esm2022/services/query/config/xxmachina-common-services-query-config.js"],"sourcesContent":["import { inject, Injectable, InjectionToken, makeEnvironmentProviders } from \"@angular/core\";\nimport { reconstruct } from \"@nx-ddd/core\";\nimport { map } from \"rxjs\";\nimport * as i0 from \"@angular/core\";\nexport const QUERY_CONFIG = new InjectionToken('[@xxmachina/components] QUERY_CONFIG');\nexport function provideQueryConfig(useFactory) {\n return makeEnvironmentProviders([{ provide: QUERY_CONFIG, useFactory }]);\n}\nexport class QueryConfigService {\n config$ = inject(QUERY_CONFIG);\n replaceText(text, config) {\n return Object.entries(config).reduce((text, [key, value]) => text.replaceAll(`$${key}`, value), text);\n }\n replace(params, config) {\n if (typeof params === 'string') {\n return this.replaceText(params, config);\n }\n const resonstruceted = reconstruct(params, (_, value) => {\n if (typeof value === 'string') {\n const newValue = this.replaceText(value, config);\n return [true, newValue];\n }\n return [false];\n });\n return resonstruceted;\n }\n resolve(params) {\n return this.config$.pipe(map(config => this.replace(params, config)));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryConfigService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryConfigService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3F1ZXJ5L2NvbmZpZy9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUEwQixzQ0FBc0MsQ0FBQyxDQUFDO0FBRWhILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUF5QztJQUMxRSxPQUFPLHdCQUF3QixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBR0QsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixPQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTlCLFdBQVcsQ0FBQyxJQUFZLEVBQUUsTUFBbUI7UUFDckQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFUyxPQUFPLENBQXlDLE1BQVMsRUFBRSxNQUFtQjtRQUN0RixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFNLENBQUM7UUFDL0MsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxDQUFtQixNQUFTO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RCLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO3VHQXpCVSxrQkFBa0I7MkdBQWxCLGtCQUFrQixjQURMLE1BQU07OzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyByZWNvbnN0cnVjdCB9IGZyb20gXCJAbngtZGRkL2NvcmVcIjtcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmlnID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbmV4cG9ydCBjb25zdCBRVUVSWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxRdWVyeUNvbmZpZz4+KCdbQHh4bWFjaGluYS9jb21wb25lbnRzXSBRVUVSWV9DT05GSUcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVRdWVyeUNvbmZpZyh1c2VGYWN0b3J5OiAoKSA9PiBPYnNlcnZhYmxlPFF1ZXJ5Q29uZmlnPik6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbeyBwcm92aWRlOiBRVUVSWV9DT05GSUcsIHVzZUZhY3RvcnkgfV0pO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5Q29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5IGNvbmZpZyQgPSBpbmplY3QoUVVFUllfQ09ORklHKTtcblxuICBwcm90ZWN0ZWQgcmVwbGFjZVRleHQodGV4dDogc3RyaW5nLCBjb25maWc6IFF1ZXJ5Q29uZmlnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY29uZmlnKS5yZWR1Y2UoKHRleHQsIFtrZXksIHZhbHVlXSkgPT4gdGV4dC5yZXBsYWNlQWxsKGAkJHtrZXl9YCwgdmFsdWUpLCB0ZXh0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXBsYWNlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgc3RyaW5nPihwYXJhbXM6IFQsIGNvbmZpZzogUXVlcnlDb25maWcpOiBUIHtcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlcGxhY2VUZXh0KHBhcmFtcywgY29uZmlnKSBhcyBUO1xuICAgIH1cbiAgICBjb25zdCByZXNvbnN0cnVjZXRlZCA9IHJlY29uc3RydWN0KHBhcmFtcywgKF8sIHZhbHVlKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMucmVwbGFjZVRleHQodmFsdWUsIGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBbdHJ1ZSwgbmV3VmFsdWVdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtmYWxzZV07XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc29uc3RydWNldGVkIGFzIFQ7XG4gIH1cblxuICByZXNvbHZlPFQgZXh0ZW5kcyBvYmplY3Q+KHBhcmFtczogVCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZyQucGlwZShcbiAgICAgIG1hcChjb25maWcgPT4gdGhpcy5yZXBsYWNlKHBhcmFtcywgY29uZmlnKSksXG4gICAgKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1xdWVyeS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3F1ZXJ5L2NvbmZpZy94eG1hY2hpbmEtY29tbW9uLXNlcnZpY2VzLXF1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;AAIY,MAAC,YAAY,GAAG,IAAI,cAAc,CAAC,sCAAsC;AAC9E,SAAS,kBAAkB,CAAC,UAAU,EAAE;AAC/C,IAAI,OAAO,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5E;AACO,MAAM,kBAAkB,CAAC;AAChC,IAAI,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;AAClC,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE;AAC9B,QAAQ,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;AAC7G,IAAI;AACJ,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;AAC5B,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;AACnD,QAAQ;AACR,QAAQ,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACjE,YAAY,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3C,gBAAgB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;AAChE,gBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;AACvC,YAAY;AACZ,YAAY,OAAO,CAAC,KAAK,CAAC;AAC1B,QAAQ,CAAC,CAAC;AACV,QAAQ,OAAO,cAAc;AAC7B,IAAI;AACJ,IAAI,OAAO,CAAC,MAAM,EAAE;AACpB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7E,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC7K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACpJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC;AAC5H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;ACnCb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-services-query-config.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/query/config/config.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/query/config/xxmachina-common-services-query-config.ts"],"sourcesContent":["import { EnvironmentProviders, inject, Injectable, InjectionToken, makeEnvironmentProviders } from \"@angular/core\";\nimport { reconstruct } from \"@nx-ddd/core\";\nimport { map, Observable } from \"rxjs\";\n\nexport type QueryConfig = Record<string, string>;\nexport const QUERY_CONFIG = new InjectionToken<Observable<QueryConfig>>('[@xxmachina/components] QUERY_CONFIG');\n\nexport function provideQueryConfig(useFactory: () => Observable<QueryConfig>): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: QUERY_CONFIG, useFactory }]);\n}\n\n@Injectable({ providedIn: 'root' })\nexport class QueryConfigService {\n readonly config$ = inject(QUERY_CONFIG);\n\n protected replaceText(text: string, config: QueryConfig): string {\n return Object.entries(config).reduce((text, [key, value]) => text.replaceAll(`$${key}`, value), text);\n }\n\n protected replace<T extends Record<string, any> | string>(params: T, config: QueryConfig): T {\n if (typeof params === 'string') {\n return this.replaceText(params, config) as T;\n }\n const resonstruceted = reconstruct(params, (_, value) => {\n if (typeof value === 'string') {\n const newValue = this.replaceText(value, config);\n return [true, newValue];\n }\n return [false];\n });\n return resonstruceted as T;\n }\n\n resolve<T extends object>(params: T): Observable<T> {\n return this.config$.pipe(\n map(config => this.replace(params, config)),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAKa,YAAY,GAAG,IAAI,cAAc,CAA0B,sCAAsC;AAExG,SAAU,kBAAkB,CAAC,UAAyC,EAAA;AAC1E,IAAA,OAAO,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;AAC1E;MAGa,kBAAkB,CAAA;AACpB,IAAA,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;IAE7B,WAAW,CAAC,IAAY,EAAE,MAAmB,EAAA;AACrD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;IACvG;IAEU,OAAO,CAAyC,MAAS,EAAE,MAAmB,EAAA;AACtF,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAM;QAC9C;QACA,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAI;AACtD,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;AAChD,gBAAA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;YACzB;YACA,OAAO,CAAC,KAAK,CAAC;AAChB,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,cAAmB;IAC5B;AAEA,IAAA,OAAO,CAAmB,MAAS,EAAA;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC5C;IACH;uGAzBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA;;2FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACXlC;;AAEG;;;;"}
@@ -18,10 +18,10 @@ class QueryResolverService {
18
18
  }
19
19
  })));
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryResolverService, providedIn: 'root' });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryResolverService, providedIn: 'root' });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryResolverService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryResolverService, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{ providedIn: 'root' }]
27
27
  }] });
@@ -49,10 +49,10 @@ class QueryService {
49
49
  getSchema(query) {
50
50
  return this.resolver.resolve(query).pipe(switchMap((executableQuery) => this.graphql.getSchema(executableQuery.graphql)), map((result) => result?.['data']));
51
51
  }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryService, providedIn: 'root' });
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryService, providedIn: 'root' });
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryService, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryService, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{ providedIn: 'root' }]
58
58
  }] });