@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-services-query.mjs","sources":["../tmp-esm2022/services/query/resolver/resolver.service.js","../tmp-esm2022/services/query/query.service.js","../tmp-esm2022/services/query/xxmachina-common-services-query.js"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { QueryHelper } from \"@xxmachina/common/domain\";\nimport { filter, map } from \"rxjs\";\nimport { QueryConfigService } from \"@xxmachina/common/services/query/config\";\nimport * as i0 from \"@angular/core\";\nexport class QueryResolverService {\n config = inject(QueryConfigService);\n resolve(query) {\n return this.config.resolve(query).pipe(filter((rq) => !!rq.graphql?.query?.trim()), map((resolvedQuery) => ({\n graphql: {\n endpoint: resolvedQuery.graphql.endpoint,\n query: resolvedQuery.graphql.query,\n variables: QueryHelper.pruneUnusedVariables(resolvedQuery.graphql.variables, resolvedQuery.graphql.query),\n headers: () => this.config.resolve(query.graphql.headers),\n }\n })));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryResolverService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryResolverService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvc2VydmljZXMvcXVlcnkvcmVzb2x2ZXIvcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQVMsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBTzdFLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNwQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUMzQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLFFBQVEsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVE7Z0JBQ3hDLEtBQUssRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUs7Z0JBQ2xDLFNBQVMsRUFBRSxXQUFXLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3pHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUMxRDtTQUNGLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDSixDQUFDO3VHQWZVLG9CQUFvQjsyR0FBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5SGVscGVyIH0gZnJvbSBcIkB4eG1hY2hpbmEvY29tbW9uL2RvbWFpblwiO1xuaW1wb3J0IHsgRXhlY3V0YWJsZUdyYXBocWwgfSBmcm9tIFwiQHh4bWFjaGluYS9jb21tb24vc2VydmljZXMvZ3JhcGhxbFwiO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUXVlcnlDb25maWdTZXJ2aWNlIH0gZnJvbSBcIkB4eG1hY2hpbmEvY29tbW9uL3NlcnZpY2VzL3F1ZXJ5L2NvbmZpZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGFibGVRdWVyeSB7XG4gIGdyYXBocWw6IEV4ZWN1dGFibGVHcmFwaHFsO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UmVzb2x2ZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFF1ZXJ5Q29uZmlnU2VydmljZSk7XG5cbiAgcmVzb2x2ZShxdWVyeTogUXVlcnkpOiBPYnNlcnZhYmxlPEV4ZWN1dGFibGVRdWVyeT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXNvbHZlKHF1ZXJ5KS5waXBlKFxuICAgICAgZmlsdGVyKChycSkgPT4gISFycS5ncmFwaHFsPy5xdWVyeT8udHJpbSgpKSxcbiAgICAgIG1hcCgocmVzb2x2ZWRRdWVyeSkgPT4gKHtcbiAgICAgICAgZ3JhcGhxbDoge1xuICAgICAgICAgIGVuZHBvaW50OiByZXNvbHZlZFF1ZXJ5LmdyYXBocWwuZW5kcG9pbnQsXG4gICAgICAgICAgcXVlcnk6IHJlc29sdmVkUXVlcnkuZ3JhcGhxbC5xdWVyeSxcbiAgICAgICAgICB2YXJpYWJsZXM6IFF1ZXJ5SGVscGVyLnBydW5lVW51c2VkVmFyaWFibGVzKHJlc29sdmVkUXVlcnkuZ3JhcGhxbC52YXJpYWJsZXMsIHJlc29sdmVkUXVlcnkuZ3JhcGhxbC5xdWVyeSksXG4gICAgICAgICAgaGVhZGVyczogKCkgPT4gdGhpcy5jb25maWcucmVzb2x2ZShxdWVyeS5ncmFwaHFsLmhlYWRlcnMpLFxuICAgICAgICB9XG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxufVxuIl19","import { inject, Injectable } from \"@angular/core\";\nimport { map, switchMap } from \"rxjs\";\nimport { QueryHelper } from \"@xxmachina/common/domain\";\nimport { QueryResolverService } from \"./resolver\";\nimport { GraphqlService } from \"@xxmachina/common/services/graphql\";\nimport { TransformerService } from \"@xxmachina/common/services/transformer\";\nimport * as i0 from \"@angular/core\";\nexport class QueryService {\n resolver = inject(QueryResolverService);\n graphql = inject(GraphqlService);\n transformer = inject(TransformerService);\n subscribe(query) {\n return this.resolver.resolve(query).pipe(switchMap((executableQuery) => {\n return this.graphql.subscribe(executableQuery.graphql).pipe(switchMap(async (result) => this.transformer.transform({\n transformerTs: query.graphql?.transformerTs,\n transformer: query.graphql?.transformer,\n }, QueryHelper.parseResult(result))));\n }));\n }\n query(query) {\n return this.resolver.resolve(query).pipe(switchMap((executableQuery) => {\n return this.graphql.query(executableQuery.graphql).pipe(switchMap(async (result) => this.transformer.transform({\n transformerTs: query.graphql?.transformerTs,\n transformer: query.graphql?.transformer,\n }, QueryHelper.parseResult(result))));\n }));\n }\n getSchema(query) {\n return this.resolver.resolve(query).pipe(switchMap((executableQuery) => this.graphql.getSchema(executableQuery.graphql)), map((result) => result?.['data']));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvc2VydmljZXMvcXVlcnkvcXVlcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFtQixvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBSTVFLE1BQU0sT0FBTyxZQUFZO0lBQ0osUUFBUSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRTVELFNBQVMsQ0FBeUIsS0FBWTtRQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdEMsU0FBUyxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDekQsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO2dCQUMxRCxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhO2dCQUMzQyxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXO2FBQ3hDLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBeUIsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdEMsU0FBUyxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDckQsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO2dCQUMxRCxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhO2dCQUMzQyxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXO2FBQ3hDLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQ3JDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN0QyxTQUFTLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDaEcsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN2QyxDQUFDO0lBQ0osQ0FBQzt1R0FwQ1UsWUFBWTsyR0FBWixZQUFZLGNBREMsTUFBTTs7MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIkB4eG1hY2hpbmEvY29tbW9uL2RvbWFpblwiO1xuaW1wb3J0IHsgUXVlcnlIZWxwZXIgfSBmcm9tIFwiQHh4bWFjaGluYS9jb21tb24vZG9tYWluXCI7XG5pbXBvcnQgeyBFeGVjdXRhYmxlUXVlcnksIFF1ZXJ5UmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSBcIi4vcmVzb2x2ZXJcIjtcbmltcG9ydCB7IEdyYXBocWxTZXJ2aWNlIH0gZnJvbSBcIkB4eG1hY2hpbmEvY29tbW9uL3NlcnZpY2VzL2dyYXBocWxcIjtcbmltcG9ydCB7IFRyYW5zZm9ybWVyU2VydmljZSB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbW1vbi9zZXJ2aWNlcy90cmFuc2Zvcm1lclwiO1xuXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUXVlcnlTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc29sdmVyID0gaW5qZWN0KFF1ZXJ5UmVzb2x2ZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyYXBocWwgPSBpbmplY3QoR3JhcGhxbFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNmb3JtZXIgPSBpbmplY3QoVHJhbnNmb3JtZXJTZXJ2aWNlKTtcblxuICBzdWJzY3JpYmU8UiBleHRlbmRzIG9iamVjdCA9IGFueT4ocXVlcnk6IFF1ZXJ5KTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZXIucmVzb2x2ZShxdWVyeSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoZXhlY3V0YWJsZVF1ZXJ5OiBFeGVjdXRhYmxlUXVlcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JhcGhxbC5zdWJzY3JpYmUoZXhlY3V0YWJsZVF1ZXJ5LmdyYXBocWwpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKGFzeW5jIChyZXN1bHQ6IGFueSkgPT4gdGhpcy50cmFuc2Zvcm1lci50cmFuc2Zvcm0oe1xuICAgICAgICAgICAgdHJhbnNmb3JtZXJUczogcXVlcnkuZ3JhcGhxbD8udHJhbnNmb3JtZXJUcyxcbiAgICAgICAgICAgIHRyYW5zZm9ybWVyOiBxdWVyeS5ncmFwaHFsPy50cmFuc2Zvcm1lcixcbiAgICAgICAgICB9LCBRdWVyeUhlbHBlci5wYXJzZVJlc3VsdChyZXN1bHQpKSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcXVlcnk8UiBleHRlbmRzIG9iamVjdCA9IGFueT4ocXVlcnk6IFF1ZXJ5KTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZXIucmVzb2x2ZShxdWVyeSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoZXhlY3V0YWJsZVF1ZXJ5OiBFeGVjdXRhYmxlUXVlcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JhcGhxbC5xdWVyeShleGVjdXRhYmxlUXVlcnkuZ3JhcGhxbCkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoYXN5bmMgKHJlc3VsdDogYW55KSA9PiB0aGlzLnRyYW5zZm9ybWVyLnRyYW5zZm9ybSh7XG4gICAgICAgICAgICB0cmFuc2Zvcm1lclRzOiBxdWVyeS5ncmFwaHFsPy50cmFuc2Zvcm1lclRzLFxuICAgICAgICAgICAgdHJhbnNmb3JtZXI6IHF1ZXJ5LmdyYXBocWw/LnRyYW5zZm9ybWVyLFxuICAgICAgICAgIH0sIFF1ZXJ5SGVscGVyLnBhcnNlUmVzdWx0KHJlc3VsdCkpKSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBnZXRTY2hlbWEocXVlcnk6IFF1ZXJ5KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlci5yZXNvbHZlKHF1ZXJ5KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChleGVjdXRhYmxlUXVlcnk6IEV4ZWN1dGFibGVRdWVyeSkgPT4gdGhpcy5ncmFwaHFsLmdldFNjaGVtYShleGVjdXRhYmxlUXVlcnkuZ3JhcGhxbCkpLFxuICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0Py5bJ2RhdGEnXSksXG4gICAgKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvc2VydmljZXMvcXVlcnkveHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;;;AAKO,MAAM,oBAAoB,CAAC;AAClC,IAAI,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACvC,IAAI,OAAO,CAAC,KAAK,EAAE;AACnB,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,MAAM;AACpH,YAAY,OAAO,EAAE;AACrB,gBAAgB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ;AACxD,gBAAgB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK;AAClD,gBAAgB,SAAS,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;AACzH,gBAAgB,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;AACzE;AACA,SAAS,CAAC,CAAC,CAAC;AACZ,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,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC/K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACtJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AChBN,MAAM,YAAY,CAAC;AAC1B,IAAI,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC3C,IAAI,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AACpC,IAAI,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC5C,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,KAAK;AAChF,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC/H,gBAAgB,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa;AAC3D,gBAAgB,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW;AACvD,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjD,QAAQ,CAAC,CAAC,CAAC;AACX,IAAI;AACJ,IAAI,KAAK,CAAC,KAAK,EAAE;AACjB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,KAAK;AAChF,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC3H,gBAAgB,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa;AAC3D,gBAAgB,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW;AACvD,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjD,QAAQ,CAAC,CAAC,CAAC;AACX,IAAI;AACJ,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AACpK,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;;ACpCb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-services-query.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/query/resolver/resolver.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/query/query.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/query/xxmachina-common-services-query.ts"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { Query, QueryHelper } from \"@xxmachina/common/domain\";\nimport { ExecutableGraphql } from \"@xxmachina/common/services/graphql\";\nimport { filter, map, Observable } from \"rxjs\";\nimport { QueryConfigService } from \"@xxmachina/common/services/query/config\";\n\nexport interface ExecutableQuery {\n graphql: ExecutableGraphql;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class QueryResolverService {\n readonly config = inject(QueryConfigService);\n\n resolve(query: Query): Observable<ExecutableQuery> {\n return this.config.resolve(query).pipe(\n filter((rq) => !!rq.graphql?.query?.trim()),\n map((resolvedQuery) => ({\n graphql: {\n endpoint: resolvedQuery.graphql.endpoint,\n query: resolvedQuery.graphql.query,\n variables: QueryHelper.pruneUnusedVariables(resolvedQuery.graphql.variables, resolvedQuery.graphql.query),\n headers: () => this.config.resolve(query.graphql.headers),\n }\n })),\n );\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { map, Observable, switchMap } from \"rxjs\";\nimport { Query } from \"@xxmachina/common/domain\";\nimport { QueryHelper } from \"@xxmachina/common/domain\";\nimport { ExecutableQuery, QueryResolverService } from \"./resolver\";\nimport { GraphqlService } from \"@xxmachina/common/services/graphql\";\nimport { TransformerService } from \"@xxmachina/common/services/transformer\";\n\n\n@Injectable({ providedIn: 'root' })\nexport class QueryService {\n protected readonly resolver = inject(QueryResolverService);\n protected readonly graphql = inject(GraphqlService);\n protected readonly transformer = inject(TransformerService);\n\n subscribe<R extends object = any>(query: Query): Observable<R> {\n return this.resolver.resolve(query).pipe(\n switchMap((executableQuery: ExecutableQuery) => {\n return this.graphql.subscribe(executableQuery.graphql).pipe(\n switchMap(async (result: any) => this.transformer.transform({\n transformerTs: query.graphql?.transformerTs,\n transformer: query.graphql?.transformer,\n }, QueryHelper.parseResult(result))),\n );\n }),\n );\n }\n\n query<R extends object = any>(query: Query): Observable<R> {\n return this.resolver.resolve(query).pipe(\n switchMap((executableQuery: ExecutableQuery) => {\n return this.graphql.query(executableQuery.graphql).pipe(\n switchMap(async (result: any) => this.transformer.transform({\n transformerTs: query.graphql?.transformerTs,\n transformer: query.graphql?.transformer,\n }, QueryHelper.parseResult(result))),\n );\n }),\n );\n }\n\n getSchema(query: Query): Observable<any> {\n return this.resolver.resolve(query).pipe(\n switchMap((executableQuery: ExecutableQuery) => this.graphql.getSchema(executableQuery.graphql)),\n map((result: any) => result?.['data']),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -48,22 +48,22 @@ class SpeechService {
48
48
  static instanceCounter = 0;
49
49
  PAUSE_THRESHOLD = 1000;
50
50
  recognition = null;
51
- lastSpeechTime = signal(Date.now());
51
+ lastSpeechTime = signal(Date.now(), ...(ngDevMode ? [{ debugName: "lastSpeechTime" }] : []));
52
52
  ignoreResults = false;
53
53
  lastKnownResultsLength = 0;
54
54
  resultIndexThreshold = 0;
55
- transcript = signal({ finalized: '', interim: '' });
55
+ transcript = signal({ finalized: '', interim: '' }, ...(ngDevMode ? [{ debugName: "transcript" }] : []));
56
56
  transcript$ = toObservable(this.transcript);
57
- isListening = signal(false);
58
- activeComponentId = signal(null);
57
+ isListening = signal(false, ...(ngDevMode ? [{ debugName: "isListening" }] : []));
58
+ activeComponentId = signal(null, ...(ngDevMode ? [{ debugName: "activeComponentId" }] : []));
59
59
  isSupported = typeof window !== 'undefined' &&
60
60
  (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));
61
- finalized = computed(() => this.transcript().finalized);
61
+ finalized = computed(() => this.transcript().finalized, ...(ngDevMode ? [{ debugName: "finalized" }] : []));
62
62
  finalized$ = toObservable(this.finalized);
63
63
  // 自動モード: セッション選択時に自動的に音声入力を開始
64
- autoModeEnabled = signal(false);
64
+ autoModeEnabled = signal(false, ...(ngDevMode ? [{ debugName: "autoModeEnabled" }] : []));
65
65
  // 選択中のセッションID(自動音声入力制御用)
66
- selectedSessionId = signal(null);
66
+ selectedSessionId = signal(null, ...(ngDevMode ? [{ debugName: "selectedSessionId" }] : []));
67
67
  constructor() {
68
68
  interval(this.PAUSE_THRESHOLD).pipe(filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD)).subscribe(() => {
69
69
  this.transcript.update(current => ({
@@ -230,10 +230,10 @@ class SpeechService {
230
230
  this.recognition = null;
231
231
  }
232
232
  }
233
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: SpeechService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
234
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: SpeechService, providedIn: 'root' });
233
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: SpeechService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
234
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: SpeechService, providedIn: 'root' });
235
235
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: SpeechService, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: SpeechService, decorators: [{
237
237
  type: Injectable,
238
238
  args: [{ providedIn: 'root' }]
239
239
  }], ctorParameters: () => [] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-services-speech.mjs","sources":["../tmp-esm2022/services/speech/speech-recognition-utils.js","../tmp-esm2022/services/speech/speech.service.js","../tmp-esm2022/services/speech/xxmachina-common-services-speech.js"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\n/**\n * SpeechRecognition APIの初期化\n */\nexport function initializeSpeechRecognitionAPI() {\n if (typeof window === 'undefined')\n return null;\n if (!('SpeechRecognition' in window) && !('webkitSpeechRecognition' in window)) {\n console.warn('[SpeechService] SpeechRecognition API is not supported in this browser');\n return null;\n }\n const SpeechRecognitionAPI = window.SpeechRecognition || window.webkitSpeechRecognition;\n const recognition = new SpeechRecognitionAPI();\n recognition.continuous = true;\n recognition.interimResults = true;\n recognition.lang = 'ja-JP';\n return recognition;\n}\n/**\n * SpeechRecognitionイベントをパースして中間結果と確定結果を返す\n * @param startIndex - 読み取り開始インデックス(指定時はevent.resultIndexより優先)\n */\nexport function parseSpeechRecognitionEvent(event, startIndex) {\n const from = startIndex ?? event.resultIndex;\n const results = [];\n for (let i = from; i < event.results.length; i++) {\n results.push({\n transcript: event.results[i][0].transcript,\n confidence: event.results[i][0].confidence,\n isFinal: event.results[i].isFinal,\n });\n }\n return {\n interim: results.filter((result) => !result.isFinal).map((result) => result.transcript).join(''),\n finalized: results.filter((result) => result.isFinal).map((result) => result.transcript).join(''),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcGVlY2gvc3BlZWNoLXJlY29nbml0aW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFFQUFxRTtBQUNyRSxrREFBa0Q7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsOEJBQThCO0lBQzVDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQy9DLElBQUksQ0FBQyxDQUFDLG1CQUFtQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyx5QkFBeUIsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0VBQXdFLENBQUMsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLG9CQUFvQixHQUFJLE1BQWMsQ0FBQyxpQkFBaUIsSUFBSyxNQUFjLENBQUMsdUJBQXVCLENBQUM7SUFDMUcsTUFBTSxXQUFXLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzlCLFdBQVcsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQzNCLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLEtBQTZCLEVBQzdCLFVBQW1CO0lBRW5CLE1BQU0sSUFBSSxHQUFHLFVBQVUsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzdDLE1BQU0sT0FBTyxHQUFtQyxFQUFFLENBQUM7SUFDbkQsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakQsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNYLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7WUFDMUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUMxQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1NBQzNCLENBQUMsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDckcsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0tBQ3ZHLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC90cmlwbGUtc2xhc2gtcmVmZXJlbmNlXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9zcGVlY2gtcmVjb2duaXRpb24uZC50c1wiIC8+XG5cbi8qKlxuICogU3BlZWNoUmVjb2duaXRpb24gQVBJ44Gu5Yid5pyf5YyWXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU3BlZWNoUmVjb2duaXRpb25BUEkoKTogU3BlZWNoUmVjb2duaXRpb24gfCBudWxsIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcbiAgaWYgKCEoJ1NwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpICYmICEoJ3dlYmtpdFNwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpKSB7XG4gICAgY29uc29sZS53YXJuKCdbU3BlZWNoU2VydmljZV0gU3BlZWNoUmVjb2duaXRpb24gQVBJIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkFQSSA9ICh3aW5kb3cgYXMgYW55KS5TcGVlY2hSZWNvZ25pdGlvbiB8fCAod2luZG93IGFzIGFueSkud2Via2l0U3BlZWNoUmVjb2duaXRpb247XG4gIGNvbnN0IHJlY29nbml0aW9uID0gbmV3IFNwZWVjaFJlY29nbml0aW9uQVBJKCk7XG4gIHJlY29nbml0aW9uLmNvbnRpbnVvdXMgPSB0cnVlO1xuICByZWNvZ25pdGlvbi5pbnRlcmltUmVzdWx0cyA9IHRydWU7XG4gIHJlY29nbml0aW9uLmxhbmcgPSAnamEtSlAnO1xuICByZXR1cm4gcmVjb2duaXRpb247XG59XG5cbi8qKlxuICogU3BlZWNoUmVjb2duaXRpb27jgqTjg5njg7Pjg4jjgpLjg5Hjg7zjgrnjgZfjgabkuK3plpPntZDmnpzjgajnorrlrprntZDmnpzjgpLov5TjgZlcbiAqIEBwYXJhbSBzdGFydEluZGV4IC0g6Kqt44G/5Y+W44KK6ZaL5aeL44Kk44Oz44OH44OD44Kv44K577yI5oyH5a6a5pmC44GvZXZlbnQucmVzdWx0SW5kZXjjgojjgorlhKrlhYjvvIlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3BlZWNoUmVjb2duaXRpb25FdmVudChcbiAgZXZlbnQ6IFNwZWVjaFJlY29nbml0aW9uRXZlbnQsXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXIsXG4pOiB7IGludGVyaW06IHN0cmluZzsgZmluYWxpemVkOiBzdHJpbmcgfSB7XG4gIGNvbnN0IGZyb20gPSBzdGFydEluZGV4ID8/IGV2ZW50LnJlc3VsdEluZGV4O1xuICBjb25zdCByZXN1bHRzOiBTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IGZyb207IGkgPCBldmVudC5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgIHRyYW5zY3JpcHQ6IGV2ZW50LnJlc3VsdHNbaV1bMF0udHJhbnNjcmlwdCxcbiAgICAgIGNvbmZpZGVuY2U6IGV2ZW50LnJlc3VsdHNbaV1bMF0uY29uZmlkZW5jZSxcbiAgICAgIGlzRmluYWw6IGV2ZW50LnJlc3VsdHNbaV0uaXNGaW5hbCxcbiAgICB9IGFzIGFueSk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBpbnRlcmltOiByZXN1bHRzLmZpbHRlcigocmVzdWx0OiBhbnkpID0+ICFyZXN1bHQuaXNGaW5hbCkubWFwKChyZXN1bHQpID0+IHJlc3VsdC50cmFuc2NyaXB0KS5qb2luKCcnKSxcbiAgICBmaW5hbGl6ZWQ6IHJlc3VsdHMuZmlsdGVyKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0LmlzRmluYWwpLm1hcCgocmVzdWx0KSA9PiByZXN1bHQudHJhbnNjcmlwdCkuam9pbignJyksXG4gIH07XG59XG4iXX0=","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\nimport { Injectable, signal, effect, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { filter, interval } from 'rxjs';\nimport { initializeSpeechRecognitionAPI, parseSpeechRecognitionEvent } from './speech-recognition-utils';\nimport * as i0 from \"@angular/core\";\nexport class SpeechService {\n static instanceCounter = 0;\n PAUSE_THRESHOLD = 1000;\n recognition = null;\n lastSpeechTime = signal(Date.now());\n ignoreResults = false;\n lastKnownResultsLength = 0;\n resultIndexThreshold = 0;\n transcript = signal({ finalized: '', interim: '' });\n transcript$ = toObservable(this.transcript);\n isListening = signal(false);\n activeComponentId = signal(null);\n isSupported = typeof window !== 'undefined' &&\n (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));\n finalized = computed(() => this.transcript().finalized);\n finalized$ = toObservable(this.finalized);\n // 自動モード: セッション選択時に自動的に音声入力を開始\n autoModeEnabled = signal(false);\n // 選択中のセッションID(自動音声入力制御用)\n selectedSessionId = signal(null);\n constructor() {\n interval(this.PAUSE_THRESHOLD).pipe(filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD)).subscribe(() => {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n });\n effect(() => {\n if (!this.isListening()) {\n this.stopRecognition();\n }\n });\n }\n generateComponentId() {\n return `speech-${++SpeechService.instanceCounter}`;\n }\n isActiveComponent(componentId) {\n return this.activeComponentId() === componentId;\n }\n start(componentId) {\n if (!this.isSupported) {\n console.warn('[SpeechService] Speech recognition is not supported');\n return;\n }\n this.stopRecognition();\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n this.isListening.set(true);\n this.startRecognition();\n }\n stop() {\n this.isListening.set(false);\n this.activeComponentId.set(null);\n }\n toggle(componentId) {\n if (this.isActiveComponent(componentId) && this.isListening()) {\n this.stop();\n }\n else {\n this.start(componentId);\n }\n }\n clear() {\n this.transcript.set({ interim: '', finalized: '' });\n if (this.autoModeEnabled() && this.recognition && this.isListening()) {\n // Auto mode: Speech APIを止めない。result indexで古い結果をフィルタ\n this.resultIndexThreshold = this.lastKnownResultsLength;\n return;\n }\n // Non-auto mode: stop → onend → restart で確実にリセット\n this.ignoreResults = true;\n if (this.recognition && this.isListening()) {\n try {\n this.recognition.stop();\n }\n catch (error) {\n console.error('[SpeechService] Error restarting recognition:', error);\n }\n }\n }\n // 自動モードのトグル\n toggleAutoMode(enabled) {\n this.autoModeEnabled.set(enabled);\n if (enabled) {\n // 自動モードON → セッション選択済みならSpeech API有効化\n if (this.selectedSessionId()) {\n this.isListening.set(true);\n this.startRecognition();\n }\n }\n else {\n this.stop();\n }\n }\n // セッション選択時の自動音声入力制御(Speech APIは止めない)\n selectSession(sessionId) {\n const prevId = this.selectedSessionId();\n this.selectedSessionId.set(sessionId);\n if (!this.autoModeEnabled())\n return;\n if (!sessionId) {\n this.stop();\n return;\n }\n // セッション切り替え時: 前のテキストを確定→書き込み先は各コンポーネントが切り替える\n if (prevId && prevId !== sessionId) {\n this.finalizeCurrentTranscript();\n }\n }\n // 書き込み先の切り替え専用(Speech APIは触らない)\n activateComponent(componentId) {\n if (this.activeComponentId() === componentId)\n return;\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n }\n finalizeCurrentTranscript() {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n }\n setupRecognition() {\n if (!this.isSupported)\n return;\n this.recognition = initializeSpeechRecognitionAPI();\n if (!this.recognition)\n return;\n this.recognition.onresult = (event) => {\n if (this.ignoreResults)\n return;\n this.lastKnownResultsLength = event.results.length;\n // auto mode clear後: threshold未満のresultをスキップ\n const startIndex = Math.max(event.resultIndex, this.resultIndexThreshold);\n if (startIndex >= event.results.length)\n return;\n const { interim, finalized } = parseSpeechRecognitionEvent(event, startIndex);\n this.transcript.update((current) => ({\n interim,\n finalized: finalized.length ? `${current.finalized}${finalized}` : current.finalized\n }));\n this.lastSpeechTime.set(Date.now());\n };\n this.recognition.onerror = (event) => {\n console.error('[SpeechService] Recognition error:', event.error);\n if (event.error === 'not-allowed') {\n this.stop();\n }\n };\n this.recognition.onend = () => {\n if (this.isListening()) {\n this.startRecognition();\n }\n };\n }\n startRecognition() {\n this.ignoreResults = false;\n this.resultIndexThreshold = 0;\n this.lastKnownResultsLength = 0;\n if (!this.recognition) {\n this.setupRecognition();\n }\n try {\n this.recognition?.start();\n }\n catch (error) {\n console.error('[SpeechService] Failed to start recognition:', error);\n this.recognition = null;\n this.setupRecognition();\n this.recognition?.start();\n }\n }\n stopRecognition() {\n if (this.recognition) {\n this.recognition.onend = null;\n this.recognition.onresult = null;\n this.recognition.onerror = null;\n try {\n this.recognition.stop();\n }\n catch (error) {\n console.error('[SpeechService] Error stopping recognition:', error);\n }\n this.recognition = null;\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC9zcGVlY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUd6RyxNQUFNLE9BQU8sYUFBYTtJQUNoQixNQUFNLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNsQixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLFdBQVcsR0FBNkIsSUFBSSxDQUFDO0lBQzdDLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDcEMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFDM0Isb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBRXhCLFVBQVUsR0FBRyxNQUFNLENBQXlDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RixXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLGlCQUFpQixHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFD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QUFFLENBQUM7WUFDMUIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RSxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7dUdBN01VLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdHJpcGxlLXNsYXNoLXJlZmVyZW5jZVxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vc3BlZWNoLXJlY29nbml0aW9uLmQudHNcIiAvPlxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBlZmZlY3QsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbml0aWFsaXplU3BlZWNoUmVjb2duaXRpb25BUEksIHBhcnNlU3BlZWNoUmVjb2duaXRpb25FdmVudCB9IGZyb20gJy4vc3BlZWNoLXJlY29nbml0aW9uLXV0aWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTcGVlY2hTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VDb3VudGVyID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSBQQVVTRV9USFJFU0hPTEQgPSAxMDAwO1xuICBwcml2YXRlIHJlY29nbml0aW9uOiBTcGVlY2hSZWNvZ25pdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxhc3RTcGVlY2hUaW1lID0gc2lnbmFsKERhdGUubm93KCkpO1xuICBwcml2YXRlIGlnbm9yZVJlc3VsdHMgPSBmYWxzZTtcbiAgcHJpdmF0ZSBsYXN0S25vd25SZXN1bHRzTGVuZ3RoID0gMDtcbiAgcHJpdmF0ZSByZXN1bHRJbmRleFRocmVzaG9sZCA9IDA7XG5cbiAgcmVhZG9ubHkgdHJhbnNjcmlwdCA9IHNpZ25hbDx7IGZpbmFsaXplZDogc3RyaW5nOyBpbnRlcmltOiBzdHJpbmcgfT4oeyBmaW5hbGl6ZWQ6ICcnLCBpbnRlcmltOiAnJyB9KTtcbiAgcmVhZG9ubHkgdHJhbnNjcmlwdCQgPSB0b09ic2VydmFibGUodGhpcy50cmFuc2NyaXB0KTtcbiAgcmVhZG9ubHkgaXNMaXN0ZW5pbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBhY3RpdmVDb21wb25lbnRJZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgaXNTdXBwb3J0ZWQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICgoJ1NwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpIHx8ICgnd2Via2l0U3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdykpO1xuXG4gIHJlYWRvbmx5IGZpbmFsaXplZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudHJhbnNjcmlwdCgpLmZpbmFsaXplZCk7XG4gIHJlYWRvbmx5IGZpbmFsaXplZCQgPSB0b09ic2VydmFibGUodGhpcy5maW5hbGl6ZWQpO1xuXG4gIC8vIOiHquWLleODouODvOODiTog44K744OD44K344On44Oz6YG45oqe5pmC44Gr6Ieq5YuV55qE44Gr6Z+z5aOw5YWl5Yqb44KS6ZaL5aeLXG4gIHJlYWRvbmx5IGF1dG9Nb2RlRW5hYmxlZCA9IHNpZ25hbChmYWxzZSk7XG4gIC8vIOmBuOaKnuS4reOBruOCu+ODg+OCt+ODp+ODs0lE77yI6Ieq5YuV6Z+z5aOw5YWl5Yqb5Yi25b6h55So77yJXG4gIHJlYWRvbmx5IHNlbGVjdGVkU2Vzc2lvbklkID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGludGVydmFsKHRoaXMuUEFVU0VfVEhSRVNIT0xEKS5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuaXNMaXN0ZW5pbmcoKSAmJiAoRGF0ZS5ub3coKSAtIHRoaXMubGFzdFNwZWVjaFRpbWUoKSkgPj0gdGhpcy5QQVVTRV9USFJFU0hPTEQpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudHJhbnNjcmlwdC51cGRhdGUoY3VycmVudCA9PiAoe1xuICAgICAgICBpbnRlcmltOiAnJyxcbiAgICAgICAgZmluYWxpemVkOiBjdXJyZW50LmZpbmFsaXplZCArIChjdXJyZW50LmludGVyaW0gfHwgJycpXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzTGlzdGVuaW5nKCkpIHtcbiAgICAgICAgdGhpcy5zdG9wUmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlQ29tcG9uZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNwZWVjaC0keysrU3BlZWNoU2VydmljZS5pbnN0YW5jZUNvdW50ZXJ9YDtcbiAgfVxuXG4gIGlzQWN0aXZlQ29tcG9uZW50KGNvbXBvbmVudElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVDb21wb25lbnRJZCgpID09PSBjb21wb25lbnRJZDtcbiAgfVxuXG4gIHN0YXJ0KGNvbXBvbmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTdXBwb3J0ZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1NwZWVjaFNlcnZpY2VdIFNwZWVjaCByZWNvZ25pdGlvbiBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RvcFJlY29nbml0aW9uKCk7XG4gICAgdGhpcy5hY3RpdmVDb21wb25lbnRJZC5zZXQoY29tcG9uZW50SWQpO1xuICAgIHRoaXMudHJhbnNjcmlwdC5zZXQoeyBpbnRlcmltOiAnJywgZmluYWxpemVkOiAnJyB9KTtcbiAgICB0aGlzLmlzTGlzdGVuaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLnN0YXJ0UmVjb2duaXRpb24oKTtcbiAgfVxuXG4gIHN0b3AoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xpc3RlbmluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuYWN0aXZlQ29tcG9uZW50SWQuc2V0KG51bGwpO1xuICB9XG5cbiAgdG9nZ2xlKGNvbXBvbmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZUNvbXBvbmVudChjb21wb25lbnRJZCkgJiYgdGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICB0aGlzLnN0b3AoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydChjb21wb25lbnRJZCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2NyaXB0LnNldCh7IGludGVyaW06ICcnLCBmaW5hbGl6ZWQ6ICcnIH0pO1xuXG4gICAgaWYgKHRoaXMuYXV0b01vZGVFbmFibGVkKCkgJiYgdGhpcy5yZWNvZ25pdGlvbiAmJiB0aGlzLmlzTGlzdGVuaW5nKCkpIHtcbiAgICAgIC8vIEF1dG8gbW9kZTogU3BlZWNoIEFQSeOCkuatouOCgeOBquOBhOOAgnJlc3VsdCBpbmRleOOBp+WPpOOBhOe1kOaenOOCkuODleOCo+ODq+OCv1xuICAgICAgdGhpcy5yZXN1bHRJbmRleFRocmVzaG9sZCA9IHRoaXMubGFzdEtub3duUmVzdWx0c0xlbmd0aDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBOb24tYXV0byBtb2RlOiBzdG9wIOKGkiBvbmVuZCDihpIgcmVzdGFydCDjgafnorrlrp/jgavjg6rjgrvjg4Pjg4hcbiAgICB0aGlzLmlnbm9yZVJlc3VsdHMgPSB0cnVlO1xuICAgIGlmICh0aGlzLnJlY29nbml0aW9uICYmIHRoaXMuaXNMaXN0ZW5pbmcoKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdG9wKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdbU3BlZWNoU2VydmljZV0gRXJyb3IgcmVzdGFydGluZyByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g6Ieq5YuV44Oi44O844OJ44Gu44OI44Kw44OrXG4gIHRvZ2dsZUF1dG9Nb2RlKGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9Nb2RlRW5hYmxlZC5zZXQoZW5hYmxlZCk7XG4gICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgIC8vIOiHquWLleODouODvOODiU9OIOKGkiDjgrvjg4Pjgrfjg6fjg7Ppgbjmip7muIjjgb/jgarjgolTcGVlY2ggQVBJ5pyJ5Yq55YyWXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFNlc3Npb25JZCgpKSB7XG4gICAgICAgIHRoaXMuaXNMaXN0ZW5pbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLnN0YXJ0UmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdG9wKCk7XG4gICAgfVxuICB9XG5cbiAgLy8g44K744OD44K344On44Oz6YG45oqe5pmC44Gu6Ieq5YuV6Z+z5aOw5YWl5Yqb5Yi25b6h77yIU3BlZWNoIEFQSeOBr+atouOCgeOBquOBhO+8iVxuICBzZWxlY3RTZXNzaW9uKHNlc3Npb25JZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZJZCA9IHRoaXMuc2VsZWN0ZWRTZXNzaW9uSWQoKTtcbiAgICB0aGlzLnNlbGVjdGVkU2Vzc2lvbklkLnNldChzZXNzaW9uSWQpO1xuICAgIGlmICghdGhpcy5hdXRvTW9kZUVuYWJsZWQoKSkgcmV0dXJuO1xuXG4gICAgaWYgKCFzZXNzaW9uSWQpIHtcbiAgICAgIHRoaXMuc3RvcCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIOOCu+ODg+OCt+ODp+ODs+WIh+OCiuabv+OBiOaZgjog5YmN44Gu44OG44Kt44K544OI44KS56K65a6a4oaS5pu444GN6L6844G/5YWI44Gv5ZCE44Kz44Oz44Od44O844ON44Oz44OI44GM5YiH44KK5pu/44GI44KLXG4gICAgaWYgKHByZXZJZCAmJiBwcmV2SWQgIT09IHNlc3Npb25JZCkge1xuICAgICAgdGhpcy5maW5hbGl6ZUN1cnJlbnRUcmFuc2NyaXB0KCk7XG4gICAgfVxuICB9XG5cbiAgLy8g5pu444GN6L6844G/5YWI44Gu5YiH44KK5pu/44GI5bCC55So77yIU3BlZWNoIEFQSeOBr+inpuOCieOBquOBhO+8iVxuICBhY3RpdmF0ZUNvbXBvbmVudChjb21wb25lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlQ29tcG9uZW50SWQoKSA9PT0gY29tcG9uZW50SWQpIHJldHVybjtcbiAgICB0aGlzLmFjdGl2ZUNvbXBvbmVudElkLnNldChjb21wb25lbnRJZCk7XG4gICAgdGhpcy50cmFuc2NyaXB0LnNldCh7IGludGVyaW06ICcnLCBmaW5hbGl6ZWQ6ICcnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5hbGl6ZUN1cnJlbnRUcmFuc2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNjcmlwdC51cGRhdGUoY3VycmVudCA9PiAoe1xuICAgICAgaW50ZXJpbTogJycsXG4gICAgICBmaW5hbGl6ZWQ6IGN1cnJlbnQuZmluYWxpemVkICsgKGN1cnJlbnQuaW50ZXJpbSB8fCAnJylcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVjb2duaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uID0gaW5pdGlhbGl6ZVNwZWVjaFJlY29nbml0aW9uQVBJKCk7XG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uLm9ucmVzdWx0ID0gKGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5pZ25vcmVSZXN1bHRzKSByZXR1cm47XG4gICAgICB0aGlzLmxhc3RLbm93blJlc3VsdHNMZW5ndGggPSBldmVudC5yZXN1bHRzLmxlbmd0aDtcblxuICAgICAgLy8gYXV0byBtb2RlIGNsZWFy5b6MOiB0aHJlc2hvbGTmnKrmuoDjga5yZXN1bHTjgpLjgrnjgq3jg4Pjg5dcbiAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBNYXRoLm1heChldmVudC5yZXN1bHRJbmRleCwgdGhpcy5yZXN1bHRJbmRleFRocmVzaG9sZCk7XG4gICAgICBpZiAoc3RhcnRJbmRleCA+PSBldmVudC5yZXN1bHRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB7IGludGVyaW0sIGZpbmFsaXplZCB9ID0gcGFyc2VTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGV2ZW50LCBzdGFydEluZGV4KTtcbiAgICAgIHRoaXMudHJhbnNjcmlwdC51cGRhdGUoKGN1cnJlbnQpID0+ICh7XG4gICAgICAgIGludGVyaW0sXG4gICAgICAgIGZpbmFsaXplZDogZmluYWxpemVkLmxlbmd0aCA/IGAke2N1cnJlbnQuZmluYWxpemVkfSR7ZmluYWxpemVkfWAgOiBjdXJyZW50LmZpbmFsaXplZFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5sYXN0U3BlZWNoVGltZS5zZXQoRGF0ZS5ub3coKSk7XG4gICAgfTtcblxuICAgIHRoaXMucmVjb2duaXRpb24ub25lcnJvciA9IChldmVudDogU3BlZWNoUmVjb2duaXRpb25FcnJvckV2ZW50KSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbU3BlZWNoU2VydmljZV0gUmVjb2duaXRpb24gZXJyb3I6JywgZXZlbnQuZXJyb3IpO1xuICAgICAgaWYgKGV2ZW50LmVycm9yID09PSAnbm90LWFsbG93ZWQnKSB7XG4gICAgICAgIHRoaXMuc3RvcCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLnJlY29nbml0aW9uLm9uZW5kID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNMaXN0ZW5pbmcoKSkge1xuICAgICAgICB0aGlzLnN0YXJ0UmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJlY29nbml0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMucmVzdWx0SW5kZXhUaHJlc2hvbGQgPSAwO1xuICAgIHRoaXMubGFzdEtub3duUmVzdWx0c0xlbmd0aCA9IDA7XG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSB7XG4gICAgICB0aGlzLnNldHVwUmVjb2duaXRpb24oKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignW1NwZWVjaFNlcnZpY2VdIEZhaWxlZCB0byBzdGFydCByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMuc2V0dXBSZWNvZ25pdGlvbigpO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0b3BSZWNvZ25pdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvZ25pdGlvbikge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5vbmVuZCA9IG51bGw7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLm9ucmVzdWx0ID0gbnVsbDtcbiAgICAgIHRoaXMucmVjb2duaXRpb24ub25lcnJvciA9IG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTcGVlY2hTZXJ2aWNlXSBFcnJvciBzdG9wcGluZyByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1zcGVlY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC94eG1hY2hpbmEtY29tbW9uLXNlcnZpY2VzLXNwZWVjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-common-services-speech.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/speech/speech-recognition-utils.ts","../../../../../packages/@xxmachina/common/src/lib/services/speech/speech.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/speech/xxmachina-common-services-speech.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\n\n/**\n * SpeechRecognition APIの初期化\n */\nexport function initializeSpeechRecognitionAPI(): SpeechRecognition | null {\n if (typeof window === 'undefined') return null;\n if (!('SpeechRecognition' in window) && !('webkitSpeechRecognition' in window)) {\n console.warn('[SpeechService] SpeechRecognition API is not supported in this browser');\n return null;\n }\n\n const SpeechRecognitionAPI = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition;\n const recognition = new SpeechRecognitionAPI();\n recognition.continuous = true;\n recognition.interimResults = true;\n recognition.lang = 'ja-JP';\n return recognition;\n}\n\n/**\n * SpeechRecognitionイベントをパースして中間結果と確定結果を返す\n * @param startIndex - 読み取り開始インデックス(指定時はevent.resultIndexより優先)\n */\nexport function parseSpeechRecognitionEvent(\n event: SpeechRecognitionEvent,\n startIndex?: number,\n): { interim: string; finalized: string } {\n const from = startIndex ?? event.resultIndex;\n const results: SpeechRecognitionAlternative[] = [];\n for (let i = from; i < event.results.length; i++) {\n results.push({\n transcript: event.results[i][0].transcript,\n confidence: event.results[i][0].confidence,\n isFinal: event.results[i].isFinal,\n } as any);\n }\n return {\n interim: results.filter((result: any) => !result.isFinal).map((result) => result.transcript).join(''),\n finalized: results.filter((result: any) => result.isFinal).map((result) => result.transcript).join(''),\n };\n}\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\nimport { Injectable, signal, effect, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { filter, interval } from 'rxjs';\nimport { initializeSpeechRecognitionAPI, parseSpeechRecognitionEvent } from './speech-recognition-utils';\n\n@Injectable({ providedIn: 'root' })\nexport class SpeechService {\n private static instanceCounter = 0;\n private readonly PAUSE_THRESHOLD = 1000;\n private recognition: SpeechRecognition | null = null;\n private lastSpeechTime = signal(Date.now());\n private ignoreResults = false;\n private lastKnownResultsLength = 0;\n private resultIndexThreshold = 0;\n\n readonly transcript = signal<{ finalized: string; interim: string }>({ finalized: '', interim: '' });\n readonly transcript$ = toObservable(this.transcript);\n readonly isListening = signal(false);\n readonly activeComponentId = signal<string | null>(null);\n readonly isSupported = typeof window !== 'undefined' &&\n (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));\n\n readonly finalized = computed(() => this.transcript().finalized);\n readonly finalized$ = toObservable(this.finalized);\n\n // 自動モード: セッション選択時に自動的に音声入力を開始\n readonly autoModeEnabled = signal(false);\n // 選択中のセッションID(自動音声入力制御用)\n readonly selectedSessionId = signal<string | null>(null);\n\n constructor() {\n interval(this.PAUSE_THRESHOLD).pipe(\n filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD),\n ).subscribe(() => {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n });\n\n effect(() => {\n if (!this.isListening()) {\n this.stopRecognition();\n }\n });\n }\n\n generateComponentId(): string {\n return `speech-${++SpeechService.instanceCounter}`;\n }\n\n isActiveComponent(componentId: string): boolean {\n return this.activeComponentId() === componentId;\n }\n\n start(componentId: string): void {\n if (!this.isSupported) {\n console.warn('[SpeechService] Speech recognition is not supported');\n return;\n }\n this.stopRecognition();\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n this.isListening.set(true);\n this.startRecognition();\n }\n\n stop(): void {\n this.isListening.set(false);\n this.activeComponentId.set(null);\n }\n\n toggle(componentId: string): void {\n if (this.isActiveComponent(componentId) && this.isListening()) {\n this.stop();\n } else {\n this.start(componentId);\n }\n }\n\n clear(): void {\n this.transcript.set({ interim: '', finalized: '' });\n\n if (this.autoModeEnabled() && this.recognition && this.isListening()) {\n // Auto mode: Speech APIを止めない。result indexで古い結果をフィルタ\n this.resultIndexThreshold = this.lastKnownResultsLength;\n return;\n }\n\n // Non-auto mode: stop → onend → restart で確実にリセット\n this.ignoreResults = true;\n if (this.recognition && this.isListening()) {\n try {\n this.recognition.stop();\n } catch (error) {\n console.error('[SpeechService] Error restarting recognition:', error);\n }\n }\n }\n\n // 自動モードのトグル\n toggleAutoMode(enabled: boolean): void {\n this.autoModeEnabled.set(enabled);\n if (enabled) {\n // 自動モードON → セッション選択済みならSpeech API有効化\n if (this.selectedSessionId()) {\n this.isListening.set(true);\n this.startRecognition();\n }\n } else {\n this.stop();\n }\n }\n\n // セッション選択時の自動音声入力制御(Speech APIは止めない)\n selectSession(sessionId: string | null): void {\n const prevId = this.selectedSessionId();\n this.selectedSessionId.set(sessionId);\n if (!this.autoModeEnabled()) return;\n\n if (!sessionId) {\n this.stop();\n return;\n }\n\n // セッション切り替え時: 前のテキストを確定→書き込み先は各コンポーネントが切り替える\n if (prevId && prevId !== sessionId) {\n this.finalizeCurrentTranscript();\n }\n }\n\n // 書き込み先の切り替え専用(Speech APIは触らない)\n activateComponent(componentId: string): void {\n if (this.activeComponentId() === componentId) return;\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n }\n\n private finalizeCurrentTranscript(): void {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n }\n\n private setupRecognition(): void {\n if (!this.isSupported) return;\n\n this.recognition = initializeSpeechRecognitionAPI();\n if (!this.recognition) return;\n\n this.recognition.onresult = (event: SpeechRecognitionEvent) => {\n if (this.ignoreResults) return;\n this.lastKnownResultsLength = event.results.length;\n\n // auto mode clear後: threshold未満のresultをスキップ\n const startIndex = Math.max(event.resultIndex, this.resultIndexThreshold);\n if (startIndex >= event.results.length) return;\n\n const { interim, finalized } = parseSpeechRecognitionEvent(event, startIndex);\n this.transcript.update((current) => ({\n interim,\n finalized: finalized.length ? `${current.finalized}${finalized}` : current.finalized\n }));\n this.lastSpeechTime.set(Date.now());\n };\n\n this.recognition.onerror = (event: SpeechRecognitionErrorEvent) => {\n console.error('[SpeechService] Recognition error:', event.error);\n if (event.error === 'not-allowed') {\n this.stop();\n }\n };\n\n this.recognition.onend = () => {\n if (this.isListening()) {\n this.startRecognition();\n }\n };\n }\n\n private startRecognition(): void {\n this.ignoreResults = false;\n this.resultIndexThreshold = 0;\n this.lastKnownResultsLength = 0;\n if (!this.recognition) {\n this.setupRecognition();\n }\n\n try {\n this.recognition?.start();\n } catch (error) {\n console.error('[SpeechService] Failed to start recognition:', error);\n this.recognition = null;\n this.setupRecognition();\n this.recognition?.start();\n }\n }\n\n private stopRecognition(): void {\n if (this.recognition) {\n this.recognition.onend = null;\n this.recognition.onresult = null;\n this.recognition.onerror = null;\n try {\n this.recognition.stop();\n } catch (error) {\n console.error('[SpeechService] Error stopping recognition:', error);\n }\n this.recognition = null;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ class TransformerService {
11
11
  }
12
12
  return transformer(input);
13
13
  }
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TransformerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TransformerService, providedIn: 'root' });
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TransformerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TransformerService, providedIn: 'root' });
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TransformerService, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TransformerService, decorators: [{
18
18
  type: Injectable,
19
19
  args: [{ providedIn: 'root' }]
20
20
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-services-transformer.mjs","sources":["../tmp-esm2022/services/transformer/transformer.service.js","../tmp-esm2022/services/transformer/xxmachina-common-services-transformer.js"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { QuickJsService } from \"@xxmachina/common/infra/external/quick-js\";\nimport * as i0 from \"@angular/core\";\nexport class TransformerService {\n quickJs = inject(QuickJsService);\n transform({ transformerTs, transformer = (result) => result, }, input) {\n if (transformerTs) {\n const typescript = transformerTs;\n return this.quickJs.apply(typescript, 'transformer', [input]);\n }\n return transformer(input);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TransformerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TransformerService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TransformerService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdHJhbnNmb3JtZXIvdHJhbnNmb3JtZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRzNFLE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUUxQyxTQUFTLENBQUMsRUFDUixhQUFhLEVBQ2IsV0FBVyxHQUFHLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEdBSXRDLEVBQUUsS0FBVTtRQUNYLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7dUdBZlUsa0JBQWtCOzJHQUFsQixrQkFBa0IsY0FETixNQUFNOzsyRkFDbEIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWlja0pzU2VydmljZSB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9leHRlcm5hbC9xdWljay1qc1wiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2Zvcm1lclNlcnZpY2Uge1xuICByZWFkb25seSBxdWlja0pzID0gaW5qZWN0KFF1aWNrSnNTZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0oe1xuICAgIHRyYW5zZm9ybWVyVHMsXG4gICAgdHJhbnNmb3JtZXIgPSAocmVzdWx0OiBhbnkpID0+IHJlc3VsdCxcbiAgfToge1xuICAgIHRyYW5zZm9ybWVyVHM/OiBzdHJpbmcsXG4gICAgdHJhbnNmb3JtZXI/OiAocmVzdWx0OiBhbnkpID0+IGFueSxcbiAgfSwgaW5wdXQ6IGFueSkge1xuICAgIGlmICh0cmFuc2Zvcm1lclRzKSB7XG4gICAgICBjb25zdCB0eXBlc2NyaXB0ID0gdHJhbnNmb3JtZXJUcztcbiAgICAgIHJldHVybiB0aGlzLnF1aWNrSnMuYXBwbHkodHlwZXNjcmlwdCwgJ3RyYW5zZm9ybWVyJywgW2lucHV0XSk7XG4gICAgfVxuICAgIHJldHVybiB0cmFuc2Zvcm1lcihpbnB1dCk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy10cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdHJhbnNmb3JtZXIveHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy10cmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGO,MAAM,kBAAkB,CAAC;AAChC,IAAI,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AACpC,IAAI,SAAS,CAAC,EAAE,aAAa,EAAE,WAAW,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,EAAE,KAAK,EAAE;AAC3E,QAAQ,IAAI,aAAa,EAAE;AAC3B,YAAY,MAAM,UAAU,GAAG,aAAa;AAC5C,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;AACzE,QAAQ;AACR,QAAQ,OAAO,WAAW,CAAC,KAAK,CAAC;AACjC,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;;AClBb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-services-transformer.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/transformer/transformer.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/transformer/xxmachina-common-services-transformer.ts"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { QuickJsService } from \"@xxmachina/common/infra/external/quick-js\";\n\n@Injectable({providedIn: 'root'})\nexport class TransformerService {\n readonly quickJs = inject(QuickJsService);\n\n transform({\n transformerTs,\n transformer = (result: any) => result,\n }: {\n transformerTs?: string,\n transformer?: (result: any) => any,\n }, input: any) {\n if (transformerTs) {\n const typescript = transformerTs;\n return this.quickJs.apply(typescript, 'transformer', [input]);\n }\n return transformer(input);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,kBAAkB,CAAA;AACpB,IAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAEzC,IAAA,SAAS,CAAC,EACR,aAAa,EACb,WAAW,GAAG,CAAC,MAAW,KAAK,MAAM,GAItC,EAAE,KAAU,EAAA;QACX,IAAI,aAAa,EAAE;YACjB,MAAM,UAAU,GAAG,aAAa;AAChC,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QAC/D;AACA,QAAA,OAAO,WAAW,CAAC,KAAK,CAAC;IAC3B;uGAfW,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,cADN,MAAM,EAAA,CAAA;;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACHhC;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-stores-firestore.mjs","sources":["../tmp-esm2022/stores/firestore/firestore.store.js","../tmp-esm2022/stores/firestore/xxmachina-common-stores-firestore.js"],"sourcesContent":["import { inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport { QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryFirestoreQuery, ResourceFirestoreQuery } from '@xxmachina/common/infra/query/firestore';\nimport { QueryFirestoreRepository, ResourceFirestoreRepository } from '@xxmachina/common/infra/repository/firestore';\nexport function getFirestoreQueryStore() {\n const query = inject(QueryFirestoreQuery);\n const repo = inject(QueryFirestoreRepository);\n return {\n list: () => query.listChanges({ projectId: 'default' }).pipe(map(items => items.map((item) => QueryHelper.convertToV2(item)))),\n create: (item) => repo.create(item),\n update: (item) => repo.update(item).then(() => { }),\n save: (item) => repo.save(item).then(() => item),\n };\n}\nexport function getFirestoreResourceStore() {\n const query = inject(ResourceFirestoreQuery);\n const repo = inject(ResourceFirestoreRepository);\n return {\n list: () => query.listChanges({ projectId: 'default' }),\n create: (item) => repo.create(item),\n update: (item) => repo.update(item).then(() => { }),\n save: (item) => repo.save(item).then(() => item),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zdG9yZXMvZmlyZXN0b3JlL2ZpcmVzdG9yZS5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR3JILE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDOUMsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN4RCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDdEU7UUFDRCxNQUFNLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ3RELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNqRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLENBQUM7UUFDckQsTUFBTSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QyxNQUFNLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztLQUN0RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRdWVyeUhlbHBlciB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlGaXJlc3RvcmVRdWVyeSwgUmVzb3VyY2VGaXJlc3RvcmVRdWVyeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3F1ZXJ5L2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBRdWVyeUZpcmVzdG9yZVJlcG9zaXRvcnksIFJlc291cmNlRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvZmlyZXN0b3JlJztcbmltcG9ydCB7ICB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2luZnJhL3JlcG9zaXRvcnkvZmlyZXN0b3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcmVzdG9yZVF1ZXJ5U3RvcmUoKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gaW5qZWN0KFF1ZXJ5RmlyZXN0b3JlUXVlcnkpO1xuICBjb25zdCByZXBvID0gaW5qZWN0KFF1ZXJ5RmlyZXN0b3JlUmVwb3NpdG9yeSk7XG4gIHJldHVybiB7XG4gICAgbGlzdDogKCkgPT4gcXVlcnkubGlzdENoYW5nZXMoe3Byb2plY3RJZDogJ2RlZmF1bHQnfSkucGlwZShcbiAgICAgIG1hcChpdGVtcyA9PiBpdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gUXVlcnlIZWxwZXIuY29udmVydFRvVjIoaXRlbSkpKSxcbiAgICApLFxuICAgIGNyZWF0ZTogKGl0ZW06IGFueSkgPT4gcmVwby5jcmVhdGUoaXRlbSksXG4gICAgdXBkYXRlOiAoaXRlbTogYW55KSA9PiByZXBvLnVwZGF0ZShpdGVtKS50aGVuKCgpID0+IHt9KSxcbiAgICBzYXZlOiAoaXRlbTogYW55KSA9PiByZXBvLnNhdmUoaXRlbSkudGhlbigoKSA9PiBpdGVtKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcmVzdG9yZVJlc291cmNlU3RvcmUoKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gaW5qZWN0KFJlc291cmNlRmlyZXN0b3JlUXVlcnkpO1xuICBjb25zdCByZXBvID0gaW5qZWN0KFJlc291cmNlRmlyZXN0b3JlUmVwb3NpdG9yeSk7XG4gIHJldHVybiB7XG4gICAgbGlzdDogKCkgPT4gcXVlcnkubGlzdENoYW5nZXMoe3Byb2plY3RJZDogJ2RlZmF1bHQnfSksXG4gICAgY3JlYXRlOiAoaXRlbTogYW55KSA9PiByZXBvLmNyZWF0ZShpdGVtKSxcbiAgICB1cGRhdGU6IChpdGVtOiBhbnkpID0+IHJlcG8udXBkYXRlKGl0ZW0pLnRoZW4oKCkgPT4ge30pLFxuICAgIHNhdmU6IChpdGVtOiBhbnkpID0+IHJlcG8uc2F2ZShpdGVtKS50aGVuKCgpID0+IGl0ZW0pLFxuICB9O1xufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zdG9yZXMtZmlyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zdG9yZXMvZmlyZXN0b3JlL3h4bWFjaGluYS1jb21tb24tc3RvcmVzLWZpcmVzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;AAKO,SAAS,sBAAsB,GAAG;AACzC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC7C,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACjD,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtI,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;AACxD,KAAK;AACL;AACO,SAAS,yBAAyB,GAAG;AAC5C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAChD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,2BAA2B,CAAC;AACpD,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC/D,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;AACxD,KAAK;AACL;;ACxBA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-stores-firestore.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/stores/firestore/firestore.store.ts","../../../../../packages/@xxmachina/common/src/lib/stores/firestore/xxmachina-common-stores-firestore.ts"],"sourcesContent":["import { inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport { QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryFirestoreQuery, ResourceFirestoreQuery } from '@xxmachina/common/infra/query/firestore';\nimport { QueryFirestoreRepository, ResourceFirestoreRepository } from '@xxmachina/common/infra/repository/firestore';\nimport { } from '@xxmachina/common/infra/repository/firestore';\n\nexport function getFirestoreQueryStore() {\n const query = inject(QueryFirestoreQuery);\n const repo = inject(QueryFirestoreRepository);\n return {\n list: () => query.listChanges({projectId: 'default'}).pipe(\n map(items => items.map((item: any) => QueryHelper.convertToV2(item))),\n ),\n create: (item: any) => repo.create(item),\n update: (item: any) => repo.update(item).then(() => {}),\n save: (item: any) => repo.save(item).then(() => item),\n };\n}\n\nexport function getFirestoreResourceStore() {\n const query = inject(ResourceFirestoreQuery);\n const repo = inject(ResourceFirestoreRepository);\n return {\n list: () => query.listChanges({projectId: 'default'}),\n create: (item: any) => repo.create(item),\n update: (item: any) => repo.update(item).then(() => {}),\n save: (item: any) => repo.save(item).then(() => item),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;SAOgB,sBAAsB,GAAA;AACpC,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACzC,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAC7C,OAAO;AACL,QAAA,IAAI,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC,CAAC,IAAI,CACxD,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,KAAK,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACtE;QACD,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACxC,QAAA,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;KACtD;AACH;SAEgB,yBAAyB,GAAA;AACvC,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC5C,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,2BAA2B,CAAC;IAChD,OAAO;AACL,QAAA,IAAI,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,EAAC,SAAS,EAAE,SAAS,EAAC,CAAC;QACrD,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACxC,QAAA,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;KACtD;AACH;;AC7BA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-stores-hasura.mjs","sources":["../tmp-esm2022/stores/hasura/hasura.store.js","../tmp-esm2022/stores/hasura/xxmachina-common-stores-hasura.js"],"sourcesContent":["import { inject } from '@angular/core';\nimport { AuthService } from '@xxmachina/common/auth';\nimport { distinctUntilChanged, map, of, switchMap } from 'rxjs';\nimport { QueryHasuraRepository, ResourceHasuraRepository } from '@xxmachina/common/infra/repository/hasura';\nexport function getHasuraQueryStore() {\n const repo = inject(QueryHasuraRepository);\n const auth = inject(AuthService);\n return {\n list: () => auth.auth$.pipe(map(auth => !!auth), distinctUntilChanged(), switchMap((isAuthenticated) => isAuthenticated ? repo.listChanges() : of([]))),\n create: (item) => repo.create(item),\n update: (item) => repo.update(item).then(() => { }),\n save: (item) => repo.save(item).then(() => item),\n };\n}\nexport function getHasuraResourceStore() {\n const repo = inject(ResourceHasuraRepository);\n const auth = inject(AuthService);\n return {\n list: () => auth.auth$.pipe(map(auth => !!auth), distinctUntilChanged(), switchMap((isAuthenticated) => isAuthenticated ? repo.listChanges() : of([]))),\n create: (item) => repo.create(item),\n update: (item) => repo.update(item).then(() => { }),\n save: (item) => repo.save(item).then(() => item),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zdG9yZXMvaGFzdXJhL2hhc3VyYS5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUcsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMzQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNuQixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDOUU7UUFDRCxNQUFNLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ3RELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakMsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNuQixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDOUU7UUFDRCxNQUFNLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ3RELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2F1dGgnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUXVlcnlIYXN1cmFSZXBvc2l0b3J5LCBSZXNvdXJjZUhhc3VyYVJlcG9zaXRvcnkgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYS9yZXBvc2l0b3J5L2hhc3VyYSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYXN1cmFRdWVyeVN0b3JlKCkge1xuICBjb25zdCByZXBvID0gaW5qZWN0KFF1ZXJ5SGFzdXJhUmVwb3NpdG9yeSk7XG4gIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICByZXR1cm4ge1xuICAgIGxpc3Q6ICgpID0+IGF1dGguYXV0aCQucGlwZShcbiAgICAgIG1hcChhdXRoID0+ICEhYXV0aCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc3dpdGNoTWFwKChpc0F1dGhlbnRpY2F0ZWQpID0+IGlzQXV0aGVudGljYXRlZCA/IHJlcG8ubGlzdENoYW5nZXMoKSA6IG9mKFtdKSksXG4gICAgKSxcbiAgICBjcmVhdGU6IChpdGVtOiBhbnkpID0+IHJlcG8uY3JlYXRlKGl0ZW0pLFxuICAgIHVwZGF0ZTogKGl0ZW06IGFueSkgPT4gcmVwby51cGRhdGUoaXRlbSkudGhlbigoKSA9PiB7fSksXG4gICAgc2F2ZTogKGl0ZW06IGFueSkgPT4gcmVwby5zYXZlKGl0ZW0pLnRoZW4oKCkgPT4gaXRlbSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYXN1cmFSZXNvdXJjZVN0b3JlKCkge1xuICBjb25zdCByZXBvID0gaW5qZWN0KFJlc291cmNlSGFzdXJhUmVwb3NpdG9yeSk7XG4gIGNvbnN0IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXG4gIHJldHVybiB7XG4gICAgbGlzdDogKCkgPT4gYXV0aC5hdXRoJC5waXBlKFxuICAgICAgbWFwKGF1dGggPT4gISFhdXRoKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzd2l0Y2hNYXAoKGlzQXV0aGVudGljYXRlZCkgPT4gaXNBdXRoZW50aWNhdGVkID8gcmVwby5saXN0Q2hhbmdlcygpIDogb2YoW10pKSxcbiAgICApLFxuICAgIGNyZWF0ZTogKGl0ZW06IGFueSkgPT4gcmVwby5jcmVhdGUoaXRlbSksXG4gICAgdXBkYXRlOiAoaXRlbTogYW55KSA9PiByZXBvLnVwZGF0ZShpdGVtKS50aGVuKCgpID0+IHt9KSxcbiAgICBzYXZlOiAoaXRlbTogYW55KSA9PiByZXBvLnNhdmUoaXRlbSkudGhlbigoKSA9PiBpdGVtKSxcbiAgfTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zdG9yZXMtaGFzdXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zdG9yZXMvaGFzdXJhL3h4bWFjaGluYS1jb21tb24tc3RvcmVzLWhhc3VyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;AAIO,SAAS,mBAAmB,GAAG;AACtC,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC9C,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/J,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;AACxD,KAAK;AACL;AACO,SAAS,sBAAsB,GAAG;AACzC,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACjD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/J,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,QAAQ,MAAM,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;AACxD,KAAK;AACL;;ACvBA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-stores-hasura.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/stores/hasura/hasura.store.ts","../../../../../packages/@xxmachina/common/src/lib/stores/hasura/xxmachina-common-stores-hasura.ts"],"sourcesContent":["import { inject } from '@angular/core';\nimport { AuthService } from '@xxmachina/common/auth';\nimport { distinctUntilChanged, map, of, switchMap } from 'rxjs';\nimport { QueryHasuraRepository, ResourceHasuraRepository } from '@xxmachina/common/infra/repository/hasura';\n\nexport function getHasuraQueryStore() {\n const repo = inject(QueryHasuraRepository);\n const auth = inject(AuthService);\n return {\n list: () => auth.auth$.pipe(\n map(auth => !!auth),\n distinctUntilChanged(),\n switchMap((isAuthenticated) => isAuthenticated ? repo.listChanges() : of([])),\n ),\n create: (item: any) => repo.create(item),\n update: (item: any) => repo.update(item).then(() => {}),\n save: (item: any) => repo.save(item).then(() => item),\n };\n}\n\nexport function getHasuraResourceStore() {\n const repo = inject(ResourceHasuraRepository);\n const auth = inject(AuthService);\n\n return {\n list: () => auth.auth$.pipe(\n map(auth => !!auth),\n distinctUntilChanged(),\n switchMap((isAuthenticated) => isAuthenticated ? repo.listChanges() : of([])),\n ),\n create: (item: any) => repo.create(item),\n update: (item: any) => repo.update(item).then(() => {}),\n save: (item: any) => repo.save(item).then(() => item),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;SAKgB,mBAAmB,GAAA;AACjC,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,OAAO;QACL,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACzB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EACnB,oBAAoB,EAAE,EACtB,SAAS,CAAC,CAAC,eAAe,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAC9E;QACD,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACxC,QAAA,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;KACtD;AACH;SAEgB,sBAAsB,GAAA;AACpC,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAC7C,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhC,OAAO;QACL,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACzB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EACnB,oBAAoB,EAAE,EACtB,SAAS,CAAC,CAAC,eAAe,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAC9E;QACD,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACxC,QAAA,MAAM,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;KACtD;AACH;;AClCA;;AAEG;;;;"}
@@ -64,10 +64,10 @@ class InMemoryStore {
64
64
  ...data
65
65
  });
66
66
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InMemoryStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
68
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InMemoryStore, providedIn: 'root' });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InMemoryStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
68
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InMemoryStore, providedIn: 'root' });
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InMemoryStore, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: InMemoryStore, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-stores-inmemory.mjs","sources":["../tmp-esm2022/stores/inmemory/inmemory.store.js","../tmp-esm2022/stores/inmemory/inmemory-resource.store.js","../tmp-esm2022/stores/inmemory/xxmachina-common-stores-inmemory.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class InMemoryStore {\n store$ = new BehaviorSubject({});\n constructor(options) {\n if (options?.initialData) {\n this.store$.next(options.initialData);\n }\n }\n set(key, value) {\n const current = this.store$.value;\n this.store$.next({\n ...current,\n [key]: value\n });\n }\n get(key) {\n return this.store$.value[key];\n }\n get$(key) {\n return this.store$.pipe(map(store => store[key]));\n }\n delete(key) {\n const current = this.store$.value;\n const { [key]: _, ...rest } = current;\n this.store$.next(rest);\n }\n clear() {\n this.store$.next({});\n }\n has(key) {\n return key in this.store$.value;\n }\n keys() {\n return Object.keys(this.store$.value);\n }\n values() {\n return Object.values(this.store$.value);\n }\n entries() {\n return Object.entries(this.store$.value);\n }\n size() {\n return this.keys().length;\n }\n getAll() {\n return { ...this.store$.value };\n }\n getAll$() {\n return this.store$.asObservable();\n }\n update(key, updater) {\n const current = this.get(key);\n const updated = updater(current);\n this.set(key, updated);\n }\n merge(data) {\n const current = this.store$.value;\n this.store$.next({\n ...current,\n ...data\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InMemoryStore, deps: \"invalid\", target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InMemoryStore, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InMemoryStore, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: () => [{ type: undefined }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5tZW1vcnkuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9pbm1lbW9yeS9pbm1lbW9yeS5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVNyQyxNQUFNLE9BQU8sYUFBYTtJQUNQLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBc0IsRUFBRSxDQUFDLENBQUM7SUFFdkUsWUFBWSxPQUE4QjtRQUN4QyxJQUFJLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxHQUFHLENBQUksR0FBVyxFQUFFLEtBQVE7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixHQUFHLE9BQU87WUFDVixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxDQUFJLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDbEMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUksR0FBVyxFQUFFLE9BQW9DO1FBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxDQUFDLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBeUI7UUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixHQUFHLE9BQU87WUFDVixHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTdFVSxhQUFhOzJHQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluTWVtb3J5U3RvcmVPcHRpb25zIHtcbiAgaW5pdGlhbERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbk1lbW9yeVN0b3JlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY29yZDxzdHJpbmcsIGFueT4+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzogSW5NZW1vcnlTdG9yZU9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucz8uaW5pdGlhbERhdGEpIHtcbiAgICAgIHRoaXMuc3RvcmUkLm5leHQob3B0aW9ucy5pbml0aWFsRGF0YSk7XG4gICAgfVxuICB9XG5cbiAgc2V0PFQ+KGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnN0b3JlJC52YWx1ZTtcbiAgICB0aGlzLnN0b3JlJC5uZXh0KHtcbiAgICAgIC4uLmN1cnJlbnQsXG4gICAgICBba2V5XTogdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIGdldDxUPihrZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnN0b3JlJC52YWx1ZVtrZXldO1xuICB9XG5cbiAgZ2V0JDxUPihrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlJC5waXBlKFxuICAgICAgbWFwKHN0b3JlID0+IHN0b3JlW2tleV0pXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnN0b3JlJC52YWx1ZTtcbiAgICBjb25zdCB7IFtrZXldOiBfLCAuLi5yZXN0IH0gPSBjdXJyZW50O1xuICAgIHRoaXMuc3RvcmUkLm5leHQocmVzdCk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlJC5uZXh0KHt9KTtcbiAgfVxuXG4gIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBrZXkgaW4gdGhpcy5zdG9yZSQudmFsdWU7XG4gIH1cblxuICBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5zdG9yZSQudmFsdWUpO1xuICB9XG5cbiAgdmFsdWVzKCk6IGFueVtdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnN0b3JlJC52YWx1ZSk7XG4gIH1cblxuICBlbnRyaWVzKCk6IFtzdHJpbmcsIGFueV1bXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuc3RvcmUkLnZhbHVlKTtcbiAgfVxuXG4gIHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoO1xuICB9XG5cbiAgZ2V0QWxsKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7IC4uLnRoaXMuc3RvcmUkLnZhbHVlIH07XG4gIH1cblxuICBnZXRBbGwkKCk6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHVwZGF0ZTxUPihrZXk6IHN0cmluZywgdXBkYXRlcjogKHZhbHVlOiBUIHwgdW5kZWZpbmVkKSA9PiBUKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZ2V0PFQ+KGtleSk7XG4gICAgY29uc3QgdXBkYXRlZCA9IHVwZGF0ZXIoY3VycmVudCk7XG4gICAgdGhpcy5zZXQoa2V5LCB1cGRhdGVkKTtcbiAgfVxuXG4gIG1lcmdlKGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdG9yZSQudmFsdWU7XG4gICAgdGhpcy5zdG9yZSQubmV4dCh7XG4gICAgICAuLi5jdXJyZW50LFxuICAgICAgLi4uZGF0YVxuICAgIH0pO1xuICB9XG59Il19","import { InMemoryStore } from './inmemory.store';\nimport { map } from 'rxjs/operators';\nexport function getInmemoryResourceStore(initialResources = []) {\n const initialData = initialResources.reduce((acc, resource) => {\n acc[resource.id] = resource;\n return acc;\n }, {});\n const store = new InMemoryStore({ initialData });\n return {\n async save(resource) {\n store.set(resource.id, resource);\n return resource;\n },\n list() {\n return store.getAll$().pipe(map(data => Object.values(data).filter((value) => value && typeof value === 'object' && 'id' in value)));\n },\n async delete(entity) {\n store.delete(entity.id);\n },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5tZW1vcnktcmVzb3VyY2Uuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9pbm1lbW9yeS9pbm1lbW9yeS1yZXNvdXJjZS5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxtQkFBK0IsRUFBRTtJQUN4RSxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDNUQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDNUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBOEIsQ0FBQyxDQUFDO0lBRW5DLE1BQU0sS0FBSyxHQUFHLElBQUksYUFBYSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUVqRCxPQUFPO1FBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFrQjtZQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELElBQUk7WUFDRixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQ3pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFxQixFQUFFLENBQ2xFLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLEtBQUssQ0FDcEQsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUE0QjtZQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTdG9yZUFkYXB0ZXIgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zdG9yZXMvZW50aXRpZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9kb21haW4vbW9kZWxzJztcbmltcG9ydCB7IEluTWVtb3J5U3RvcmUgfSBmcm9tICcuL2lubWVtb3J5LnN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldElubWVtb3J5UmVzb3VyY2VTdG9yZShpbml0aWFsUmVzb3VyY2VzOiBSZXNvdXJjZVtdID0gW10pOiBFbnRpdHlTdG9yZUFkYXB0ZXI8UmVzb3VyY2U+IHtcbiAgY29uc3QgaW5pdGlhbERhdGEgPSBpbml0aWFsUmVzb3VyY2VzLnJlZHVjZSgoYWNjLCByZXNvdXJjZSkgPT4ge1xuICAgIGFjY1tyZXNvdXJjZS5pZF0gPSByZXNvdXJjZTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBSZXNvdXJjZT4pO1xuICBcbiAgY29uc3Qgc3RvcmUgPSBuZXcgSW5NZW1vcnlTdG9yZSh7IGluaXRpYWxEYXRhIH0pO1xuXG4gIHJldHVybiB7XG4gICAgYXN5bmMgc2F2ZShyZXNvdXJjZTogUmVzb3VyY2UpOiBQcm9taXNlPFJlc291cmNlPiB7XG4gICAgICBzdG9yZS5zZXQocmVzb3VyY2UuaWQsIHJlc291cmNlKTtcbiAgICAgIHJldHVybiByZXNvdXJjZTtcbiAgICB9LFxuXG4gICAgbGlzdCgpOiBPYnNlcnZhYmxlPFJlc291cmNlW10+IHtcbiAgICAgIHJldHVybiBzdG9yZS5nZXRBbGwkKCkucGlwZShcbiAgICAgICAgbWFwKGRhdGEgPT4gT2JqZWN0LnZhbHVlcyhkYXRhKS5maWx0ZXIoKHZhbHVlKTogdmFsdWUgaXMgUmVzb3VyY2UgPT4gXG4gICAgICAgICAgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAnaWQnIGluIHZhbHVlXG4gICAgICAgICkpXG4gICAgICApO1xuICAgIH0sXG5cbiAgICBhc3luYyBkZWxldGUoZW50aXR5OiBQaWNrPFJlc291cmNlLCAnaWQnPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgc3RvcmUuZGVsZXRlKGVudGl0eS5pZCk7XG4gICAgfSxcbiAgfTtcbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zdG9yZXMtaW5tZW1vcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9pbm1lbW9yeS94eG1hY2hpbmEtY29tbW9uLXN0b3Jlcy1pbm1lbW9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-common-stores-inmemory.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/stores/inmemory/inmemory.store.ts","../../../../../packages/@xxmachina/common/src/lib/stores/inmemory/inmemory-resource.store.ts","../../../../../packages/@xxmachina/common/src/lib/stores/inmemory/xxmachina-common-stores-inmemory.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport interface InMemoryStoreOptions {\n initialData?: Record<string, any>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InMemoryStore {\n private readonly store$ = new BehaviorSubject<Record<string, any>>({});\n\n constructor(options?: InMemoryStoreOptions) {\n if (options?.initialData) {\n this.store$.next(options.initialData);\n }\n }\n\n set<T>(key: string, value: T): void {\n const current = this.store$.value;\n this.store$.next({\n ...current,\n [key]: value\n });\n }\n\n get<T>(key: string): T | undefined {\n return this.store$.value[key];\n }\n\n get$<T>(key: string): Observable<T | undefined> {\n return this.store$.pipe(\n map(store => store[key])\n );\n }\n\n delete(key: string): void {\n const current = this.store$.value;\n const { [key]: _, ...rest } = current;\n this.store$.next(rest);\n }\n\n clear(): void {\n this.store$.next({});\n }\n\n has(key: string): boolean {\n return key in this.store$.value;\n }\n\n keys(): string[] {\n return Object.keys(this.store$.value);\n }\n\n values(): any[] {\n return Object.values(this.store$.value);\n }\n\n entries(): [string, any][] {\n return Object.entries(this.store$.value);\n }\n\n size(): number {\n return this.keys().length;\n }\n\n getAll(): Record<string, any> {\n return { ...this.store$.value };\n }\n\n getAll$(): Observable<Record<string, any>> {\n return this.store$.asObservable();\n }\n\n update<T>(key: string, updater: (value: T | undefined) => T): void {\n const current = this.get<T>(key);\n const updated = updater(current);\n this.set(key, updated);\n }\n\n merge(data: Record<string, any>): void {\n const current = this.store$.value;\n this.store$.next({\n ...current,\n ...data\n });\n }\n}","import { EntityStoreAdapter } from '@ng-atomic/common/stores/entities';\nimport { Resource } from '@xxmachina/common/domain/models';\nimport { InMemoryStore } from './inmemory.store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport function getInmemoryResourceStore(initialResources: Resource[] = []): EntityStoreAdapter<Resource> {\n const initialData = initialResources.reduce((acc, resource) => {\n acc[resource.id] = resource;\n return acc;\n }, {} as Record<string, Resource>);\n \n const store = new InMemoryStore({ initialData });\n\n return {\n async save(resource: Resource): Promise<Resource> {\n store.set(resource.id, resource);\n return resource;\n },\n\n list(): Observable<Resource[]> {\n return store.getAll$().pipe(\n map(data => Object.values(data).filter((value): value is Resource => \n value && typeof value === 'object' && 'id' in value\n ))\n );\n },\n\n async delete(entity: Pick<Resource, 'id'>): Promise<void> {\n store.delete(entity.id);\n },\n };\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-stores.mjs","sources":["../tmp-esm2022/stores/index.js","../tmp-esm2022/stores/xxmachina-common-stores.js"],"sourcesContent":["import { provideEntityStoreAdapter } from '@ng-atomic/common/stores/entities';\nimport { Resource, Query } from '@xxmachina/common/domain/models';\nexport function provideQueryStore(useFactory) {\n return provideEntityStoreAdapter(Query, useFactory);\n}\nexport function provideResourceStore(useFactory) {\n return provideEntityStoreAdapter(Resource, useFactory);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBMkM7SUFDM0UsT0FBTyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxVQUE4QztJQUNqRixPQUFPLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmVBZGFwdGVyLCBwcm92aWRlRW50aXR5U3RvcmVBZGFwdGVyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc3RvcmVzL2VudGl0aWVzJztcbmltcG9ydCB7IFJlc291cmNlLCBRdWVyeSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVF1ZXJ5U3RvcmUodXNlRmFjdG9yeTogKCkgPT4gRW50aXR5U3RvcmVBZGFwdGVyPFF1ZXJ5Pikge1xuICByZXR1cm4gcHJvdmlkZUVudGl0eVN0b3JlQWRhcHRlcihRdWVyeSwgdXNlRmFjdG9yeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUmVzb3VyY2VTdG9yZSh1c2VGYWN0b3J5OiAoKSA9PiBFbnRpdHlTdG9yZUFkYXB0ZXI8UmVzb3VyY2U+KSB7XG4gIHJldHVybiBwcm92aWRlRW50aXR5U3RvcmVBZGFwdGVyKFJlc291cmNlLCB1c2VGYWN0b3J5KTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zdG9yZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy94eG1hY2hpbmEtY29tbW9uLXN0b3Jlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AAEO,SAAS,iBAAiB,CAAC,UAAU,EAAE;AAC9C,IAAI,OAAO,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;AACvD;AACO,SAAS,oBAAoB,CAAC,UAAU,EAAE;AACjD,IAAI,OAAO,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1D;;ACPA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-stores.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/stores/index.ts","../../../../../packages/@xxmachina/common/src/lib/stores/xxmachina-common-stores.ts"],"sourcesContent":["import { EntityStoreAdapter, provideEntityStoreAdapter } from '@ng-atomic/common/stores/entities';\nimport { Resource, Query } from '@xxmachina/common/domain/models';\n\nexport function provideQueryStore(useFactory: () => EntityStoreAdapter<Query>) {\n return provideEntityStoreAdapter(Query, useFactory);\n}\n\nexport function provideResourceStore(useFactory: () => EntityStoreAdapter<Resource>) {\n return provideEntityStoreAdapter(Resource, useFactory);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGM,SAAU,iBAAiB,CAAC,UAA2C,EAAA;AAC3E,IAAA,OAAO,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;AACrD;AAEM,SAAU,oBAAoB,CAAC,UAA8C,EAAA;AACjF,IAAA,OAAO,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC;AACxD;;ACTA;;AAEG;;;;"}
@@ -51,10 +51,10 @@ class AssistantService {
51
51
  return output;
52
52
  }
53
53
  }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AssistantService, deps: [{ token: i1.InfrastructureService }], target: i0.ɵɵFactoryTarget.Injectable });
55
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AssistantService, providedIn: 'root' });
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AssistantService, deps: [{ token: i1.InfrastructureService }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AssistantService, providedIn: 'root' });
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AssistantService, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AssistantService, decorators: [{
58
58
  type: Injectable,
59
59
  args: [{ providedIn: 'root' }]
60
60
  }], ctorParameters: () => [{ type: i1.InfrastructureService }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-usecase-assistant.mjs","sources":["../tmp-esm2022/usecase/assistant/assistant.service.js","../tmp-esm2022/usecase/assistant/xxmachina-common-usecase-assistant.js"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@xxmachina/common/infra\";\nexport class AssistantService {\n infra;\n constructor(infra) {\n this.infra = infra;\n }\n async list() {\n return await this.infra.repo.redis.operator.list();\n }\n async create(assistant) {\n return this.infra.repo.redis.operator.create(assistant);\n }\n async update(assistant) {\n return this.infra.repo.redis.operator.update(assistant);\n }\n async delete(assistantid) {\n return this.infra.repo.redis.operator.delete(assistantid);\n }\n async operate(assistantId, input) {\n const project = await this.infra.repo.redis.project.get('default');\n const assistant = await this.infra.repo.redis.operator.get(assistantId);\n const adapter = this.infra.external.getAiAdapter(project.settings.ai);\n const embeddings = await adapter.embedding(input);\n const specs = await this.infra.repo.redis.spec.search(assistant.id, embeddings);\n const messages = [\n { role: 'system', content: assistant.description },\n ...specs.map(spec => [\n { role: 'system', content: spec.input },\n { role: 'assistant', content: spec.output },\n ]).flat(),\n { role: 'user', content: input },\n ];\n console.debug('messages', messages);\n const output_ = await adapter.chatComplete(messages);\n const output = this.scrape(assistant.outputInterfaceId, output_);\n await this.infra.repo.redis.spec.create({\n input, output, embeddings, id: hash(input), operatorId: assistant.id,\n }).catch(() => { });\n return output;\n }\n scrape(interface_, output) {\n if (interface_ === 'interface:codeblock') {\n const [_, ...lines] = (output.split('```')?.[1] ?? '').split('\\n');\n return `\\`\\`\\`\\n${lines.join('\\n')}\\n\\`\\`\\``;\n }\n else {\n return output;\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AssistantService, deps: [{ token: i1.InfrastructureService }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AssistantService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AssistantService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i1.InfrastructureService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3VzZWNhc2UvYXNzaXN0YW50L2Fzc2lzdGFudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFJdEQsTUFBTSxPQUFPLGdCQUFnQjtJQUVqQjtJQURWLFlBQ1UsS0FBNEI7UUFBNUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7SUFDbEMsQ0FBQztJQUVMLEtBQUssQ0FBQyxJQUFJO1FBQ1IsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUF5QixDQUFDO0lBQzVFLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQTRCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFRLENBQUM7SUFDakUsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBNEI7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFtQjtRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVELENBQUM7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IjtcbmltcG9ydCB7IEluZnJhc3RydWN0dXJlU2VydmljZSB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbW1vbi9pbmZyYVwiO1xuaW1wb3J0IHsgQXNzaXN0YW50T3BlcmF0b3IgfSBmcm9tIFwiQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVsc1wiO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbW1vbi91dGlscy9jcnlwdG9cIjtcblxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBBc3Npc3RhbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmZyYTogSW5mcmFzdHJ1Y3R1cmVTZXJ2aWNlLFxuICApIHsgfVxuXG4gIGFzeW5jIGxpc3QoKTogUHJvbWlzZTxBc3Npc3RhbnRPcGVyYXRvcltdPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaW5mcmEucmVwby5yZWRpcy5vcGVyYXRvci5saXN0KCkgYXMgQXNzaXN0YW50T3BlcmF0b3JbXTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZShhc3Npc3RhbnQ6IEFzc2lzdGFudE9wZXJhdG9yKTogUHJvbWlzZTxBc3Npc3RhbnRPcGVyYXRvcj4ge1xuICAgIHJldHVybiB0aGlzLmluZnJhLnJlcG8ucmVkaXMub3BlcmF0b3IuY3JlYXRlKGFzc2lzdGFudCkgYXMgYW55O1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGFzc2lzdGFudDogQXNzaXN0YW50T3BlcmF0b3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5pbmZyYS5yZXBvLnJlZGlzLm9wZXJhdG9yLnVwZGF0ZShhc3Npc3RhbnQpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKGFzc2lzdGFudGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5pbmZyYS5yZXBvLnJlZGlzLm9wZXJhdG9yLmRlbGV0ZShhc3Npc3RhbnRpZCk7XG4gIH1cblxuICBhc3luYyBvcGVyYXRlKGFzc2lzdGFudElkOiBzdHJpbmcsIGlucHV0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHByb2plY3QgPSBhd2FpdCB0aGlzLmluZnJhLnJlcG8ucmVkaXMucHJvamVjdC5nZXQoJ2RlZmF1bHQnKTtcbiAgICBjb25zdCBhc3Npc3RhbnQgPSBhd2FpdCB0aGlzLmluZnJhLnJlcG8ucmVkaXMub3BlcmF0b3IuZ2V0KGFzc2lzdGFudElkKTtcbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5pbmZyYS5leHRlcm5hbC5nZXRBaUFkYXB0ZXIocHJvamVjdC5zZXR0aW5ncy5haSlcbiAgICBjb25zdCBlbWJlZGRpbmdzID0gYXdhaXQgYWRhcHRlci5lbWJlZGRpbmcoaW5wdXQpO1xuICAgIGNvbnN0IHNwZWNzID0gYXdhaXQgdGhpcy5pbmZyYS5yZXBvLnJlZGlzLnNwZWMuc2VhcmNoKGFzc2lzdGFudC5pZCwgZW1iZWRkaW5ncyk7XG5cbiAgICBjb25zdCBtZXNzYWdlcyA9IFtcbiAgICAgIHtyb2xlOiAnc3lzdGVtJywgY29udGVudDogYXNzaXN0YW50LmRlc2NyaXB0aW9ufSxcbiAgICAgIC4uLnNwZWNzLm1hcChzcGVjID0+IFtcbiAgICAgICAge3JvbGU6ICdzeXN0ZW0nLCBjb250ZW50OiBzcGVjLmlucHV0fSxcbiAgICAgICAge3JvbGU6ICdhc3Npc3RhbnQnLCBjb250ZW50OiBzcGVjLm91dHB1dH0sXG4gICAgICBdKS5mbGF0KCksXG4gICAgICB7cm9sZTogJ3VzZXInLCBjb250ZW50OiBpbnB1dH0sXG4gICAgXTtcblxuICAgIGNvbnNvbGUuZGVidWcoJ21lc3NhZ2VzJywgbWVzc2FnZXMpO1xuICAgIGNvbnN0IG91dHB1dF8gPSBhd2FpdCBhZGFwdGVyLmNoYXRDb21wbGV0ZShtZXNzYWdlcyk7XG4gICAgY29uc3Qgb3V0cHV0ID0gdGhpcy5zY3JhcGUoYXNzaXN0YW50Lm91dHB1dEludGVyZmFjZUlkLCBvdXRwdXRfKTtcbiAgICBhd2FpdCB0aGlzLmluZnJhLnJlcG8ucmVkaXMuc3BlYy5jcmVhdGUoe1xuICAgICAgaW5wdXQsIG91dHB1dCwgZW1iZWRkaW5ncywgaWQ6IGhhc2goaW5wdXQpLCBvcGVyYXRvcklkOiBhc3Npc3RhbnQuaWQsXG4gICAgfSkuY2F0Y2goKCkgPT4ge30pO1xuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHByaXZhdGUgc2NyYXBlKGludGVyZmFjZV86IHN0cmluZywgb3V0cHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChpbnRlcmZhY2VfID09PSAnaW50ZXJmYWNlOmNvZGVibG9jaycpIHtcbiAgICAgIGNvbnN0IFtfLCAuLi5saW5lc10gPSAob3V0cHV0LnNwbGl0KCdgYGAnKT8uWzFdID8/ICcnKS5zcGxpdCgnXFxuJyk7XG4gICAgICByZXR1cm4gYFxcYFxcYFxcYFxcbiR7bGluZXMuam9pbignXFxuJyl9XFxuXFxgXFxgXFxgYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9XG4gIH1cblxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi11c2VjYXNlLWFzc2lzdGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvdXNlY2FzZS9hc3Npc3RhbnQveHhtYWNoaW5hLWNvbW1vbi11c2VjYXNlLWFzc2lzdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-common-usecase-assistant.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/assistant/assistant.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/assistant/xxmachina-common-usecase-assistant.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { AssistantOperator } from \"@xxmachina/common/domain/models\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\n\n\n@Injectable({providedIn: 'root'})\nexport class AssistantService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<AssistantOperator[]> {\n return await this.infra.repo.redis.operator.list() as AssistantOperator[];\n }\n\n async create(assistant: AssistantOperator): Promise<AssistantOperator> {\n return this.infra.repo.redis.operator.create(assistant) as any;\n }\n\n async update(assistant: AssistantOperator): Promise<void> {\n return this.infra.repo.redis.operator.update(assistant);\n }\n\n async delete(assistantid: string): Promise<void> {\n return this.infra.repo.redis.operator.delete(assistantid);\n }\n\n async operate(assistantId: string, input: string): Promise<string> {\n const project = await this.infra.repo.redis.project.get('default');\n const assistant = await this.infra.repo.redis.operator.get(assistantId);\n const adapter = this.infra.external.getAiAdapter(project.settings.ai)\n const embeddings = await adapter.embedding(input);\n const specs = await this.infra.repo.redis.spec.search(assistant.id, embeddings);\n\n const messages = [\n {role: 'system', content: assistant.description},\n ...specs.map(spec => [\n {role: 'system', content: spec.input},\n {role: 'assistant', content: spec.output},\n ]).flat(),\n {role: 'user', content: input},\n ];\n\n console.debug('messages', messages);\n const output_ = await adapter.chatComplete(messages);\n const output = this.scrape(assistant.outputInterfaceId, output_);\n await this.infra.repo.redis.spec.create({\n input, output, embeddings, id: hash(input), operatorId: assistant.id,\n }).catch(() => {});\n\n return output;\n }\n\n private scrape(interface_: string, output: string): string {\n if (interface_ === 'interface:codeblock') {\n const [_, ...lines] = (output.split('```')?.[1] ?? '').split('\\n');\n return `\\`\\`\\`\\n${lines.join('\\n')}\\n\\`\\`\\``;\n } else {\n return output;\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -68,10 +68,10 @@ class DatabaseService {
68
68
  const objects = [obj];
69
69
  return objects.map(obj => getTitle(obj)).filter(Boolean).reverse().join('/');
70
70
  }
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: DatabaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: DatabaseService, providedIn: 'root' });
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DatabaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DatabaseService, providedIn: 'root' });
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: DatabaseService, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DatabaseService, decorators: [{
75
75
  type: Injectable,
76
76
  args: [{ providedIn: 'root' }]
77
77
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-usecase-database.mjs","sources":["../tmp-esm2022/usecase/database/database.service.js","../tmp-esm2022/usecase/database/xxmachina-common-usecase-database.js"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { ErBuilder } from '@xxmachina/common/domain/builder';\nimport { ScreenItemBuilder } from '@xxmachina/common/domain/builder/screen-item';\nimport { omit } from 'lodash-es';\nimport { injectNotion } from '@nx-ddd/notion';\nimport * as i0 from \"@angular/core\";\nfunction listDatabaseProperties(database, dbName) {\n return new ScreenItemBuilder().build(database).map(item => ({ ...item, dbName }));\n}\nconst DATABASE_CONFIG = new InjectionToken('DATABASE_CONFIG');\nexport function provideDatabaseConfig(useFactory) {\n return { provide: DATABASE_CONFIG, useFactory };\n}\nexport class DatabaseService {\n config = inject(DATABASE_CONFIG);\n notion = injectNotion();\n async get(databaseId) {\n return this.notion.retrieveDatabase(databaseId);\n }\n async update(databaseId, body) {\n return this.notion.updateDatabase(databaseId, omit({\n ...body.properties,\n }, []));\n }\n async listDatabases() {\n let start_cursor;\n const databases = [];\n while (true) {\n const _databases = await this.notion.search({\n filter: {\n property: 'object',\n value: 'database',\n },\n start_cursor,\n });\n for (const db of _databases.results) {\n databases.push({\n ...db,\n _title: db['title']?.[0]?.plain_text,\n });\n }\n if (!_databases.has_more)\n break;\n start_cursor = _databases.next_cursor;\n }\n const resolve = async (item) => ({ ...item, path: await this.getPath(item) });\n return Promise.all(databases.map(db => resolve(db)));\n }\n async generateMermaidER() {\n const databases = await this.listDatabases();\n return new ErBuilder().build(databases);\n }\n async getPageItems(dbId, name) {\n // const dbDetails = await this.notion.retrieveDatabase(dbId);\n // const items = listDatabaseProperties(dbDetails, name);\n // return items;\n return [];\n }\n async getParent(parent) {\n switch (parent.type) {\n case 'database_id': return this.notion.retrieveDatabase(parent.database_id);\n case 'page_id': return this.notion.retrievePage(parent.page_id);\n case 'block_id': return this.notion.retrieveBlock(parent.block_id);\n }\n }\n async getPath(obj) {\n const objects = [obj];\n return objects.map(obj => getTitle(obj)).filter(Boolean).reverse().join('/');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatabaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatabaseService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatabaseService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nfunction getTitle(obj) {\n if (obj.object === 'page') {\n return obj.properties?.title?.title?.[0]?.plain_text;\n }\n else if (obj.object === 'database') {\n return obj._title;\n }\n else {\n return null;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvdXNlY2FzZS9kYXRhYmFzZS9kYXRhYmFzZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFakYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTlDLFNBQVMsc0JBQXNCLENBQUMsUUFBa0IsRUFBRSxNQUFjO0lBQ2hFLE9BQU8sSUFBSSxpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xGLENBQUM7QUFPRCxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsaUJBQWlCLENBQUMsQ0FBQztBQUU5RSxNQUFNLFVBQVUscUJBQXFCLENBQUMsVUFBZ0M7SUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFDbEQsQ0FBQztBQUdELE1BQU0sT0FBTyxlQUFlO0lBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakMsTUFBTSxHQUFHLFlBQVksRUFBRSxDQUFDO0lBRWhDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBa0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsSUFBUztRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7WUFDakQsR0FBRyxJQUFJLENBQUMsVUFBVTtTQUNuQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWE7UUFDakIsSUFBSSxZQUFZLENBQUM7UUFDakIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXJCLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDWixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUMxQyxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLEtBQUssRUFBRSxVQUFVO2lCQUNsQjtnQkFDRCxZQUFZO2FBQ2IsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxNQUFNLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3BDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0JBQ2IsR0FBRyxFQUFFO29CQUNMLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVO2lCQUNyQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRO2dCQUFFLE1BQU07WUFDaEMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDeEMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUU1RSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0MsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUMzQyw4REFBOEQ7UUFDOUQseURBQXlEO1FBQ3pELGdCQUFnQjtRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BU2Y7UUFDQyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixLQUFLLGFBQWEsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDM0UsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFRO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRSxDQUFDO3VHQTFFVSxlQUFlOzJHQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBOEVsQyxTQUFTLFFBQVEsQ0FBQyxHQUFRO0lBQ3hCLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN2RCxDQUFDO1NBQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFckJ1aWxkZXIgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9kb21haW4vYnVpbGRlcic7XG5pbXBvcnQgeyBTY3JlZW5JdGVtQnVpbGRlciB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9idWlsZGVyL3NjcmVlbi1pdGVtJztcbmltcG9ydCB7IERhdGFiYXNlLCBTY3JlZW5JdGVtIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBvbWl0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGluamVjdE5vdGlvbiB9IGZyb20gJ0BueC1kZGQvbm90aW9uJztcblxuZnVuY3Rpb24gbGlzdERhdGFiYXNlUHJvcGVydGllcyhkYXRhYmFzZTogRGF0YWJhc2UsIGRiTmFtZTogc3RyaW5nKTogU2NyZWVuSXRlbVtdIHtcbiAgcmV0dXJuIG5ldyBTY3JlZW5JdGVtQnVpbGRlcigpLmJ1aWxkKGRhdGFiYXNlKS5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIGRiTmFtZX0pKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUNvbmZpZyB7XG4gIG5vdGlvbkFwaUtleTogc3RyaW5nO1xuICBkYXRhYmFzZUlkVG9OYW1lOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG5jb25zdCBEQVRBQkFTRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGF0YWJhc2VDb25maWc+KCdEQVRBQkFTRV9DT05GSUcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYXRhYmFzZUNvbmZpZyh1c2VGYWN0b3J5OiAoKSA9PiBEYXRhYmFzZUNvbmZpZykge1xuICByZXR1cm4geyBwcm92aWRlOiBEQVRBQkFTRV9DT05GSUcsIHVzZUZhY3RvcnkgfTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEYXRhYmFzZVNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChEQVRBQkFTRV9DT05GSUcpO1xuICBwcml2YXRlIG5vdGlvbiA9IGluamVjdE5vdGlvbigpO1xuXG4gIGFzeW5jIGdldChkYXRhYmFzZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5ub3Rpb24ucmV0cmlldmVEYXRhYmFzZShkYXRhYmFzZUlkKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShkYXRhYmFzZUlkOiBzdHJpbmcsIGJvZHk6IGFueSkge1xuICAgIHJldHVybiB0aGlzLm5vdGlvbi51cGRhdGVEYXRhYmFzZShkYXRhYmFzZUlkLCBvbWl0KHtcbiAgICAgIC4uLmJvZHkucHJvcGVydGllcyxcbiAgICB9LCBbXSkpO1xuICB9XG5cbiAgYXN5bmMgbGlzdERhdGFiYXNlcygpIHtcbiAgICBsZXQgc3RhcnRfY3Vyc29yO1xuICAgIGNvbnN0IGRhdGFiYXNlcyA9IFtdO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IF9kYXRhYmFzZXMgPSBhd2FpdCB0aGlzLm5vdGlvbi5zZWFyY2goe1xuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBwcm9wZXJ0eTogJ29iamVjdCcsXG4gICAgICAgICAgdmFsdWU6ICdkYXRhYmFzZScsXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXJ0X2N1cnNvcixcbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBkYiBvZiBfZGF0YWJhc2VzLnJlc3VsdHMpIHtcbiAgICAgICAgZGF0YWJhc2VzLnB1c2goe1xuICAgICAgICAgIC4uLmRiLFxuICAgICAgICAgIF90aXRsZTogZGJbJ3RpdGxlJ10/LlswXT8ucGxhaW5fdGV4dCxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghX2RhdGFiYXNlcy5oYXNfbW9yZSkgYnJlYWs7XG4gICAgICBzdGFydF9jdXJzb3IgPSBfZGF0YWJhc2VzLm5leHRfY3Vyc29yO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc29sdmUgPSBhc3luYyAoaXRlbSkgPT4gKHsuLi5pdGVtLCBwYXRoOiBhd2FpdCB0aGlzLmdldFBhdGgoaXRlbSl9KTtcblxuICAgIHJldHVybiBQcm9taXNlLmFsbChkYXRhYmFzZXMubWFwKGRiID0+IHJlc29sdmUoZGIpKSk7XG4gIH1cblxuICBhc3luYyBnZW5lcmF0ZU1lcm1haWRFUigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGRhdGFiYXNlcyA9IGF3YWl0IHRoaXMubGlzdERhdGFiYXNlcygpO1xuICAgIHJldHVybiBuZXcgRXJCdWlsZGVyKCkuYnVpbGQoZGF0YWJhc2VzKTsgIFxuICB9XG5cbiAgYXN5bmMgZ2V0UGFnZUl0ZW1zKGRiSWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgLy8gY29uc3QgZGJEZXRhaWxzID0gYXdhaXQgdGhpcy5ub3Rpb24ucmV0cmlldmVEYXRhYmFzZShkYklkKTtcbiAgICAvLyBjb25zdCBpdGVtcyA9IGxpc3REYXRhYmFzZVByb3BlcnRpZXMoZGJEZXRhaWxzLCBuYW1lKTtcbiAgICAvLyByZXR1cm4gaXRlbXM7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgYXN5bmMgZ2V0UGFyZW50KHBhcmVudDoge1xuICAgIHR5cGU6ICdkYXRhYmFzZV9pZCcsXG4gICAgZGF0YWJhc2VfaWQ6IHN0cmluZ1xuICB9IHwge1xuICAgIHR5cGU6ICdwYWdlX2lkJyxcbiAgICBwYWdlX2lkOiBzdHJpbmdcbiAgfSB8IHtcbiAgICB0eXBlOiAnYmxvY2tfaWQnLFxuICAgIGJsb2NrX2lkOiBzdHJpbmdcbiAgfSkge1xuICAgIHN3aXRjaCAocGFyZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgJ2RhdGFiYXNlX2lkJzogcmV0dXJuIHRoaXMubm90aW9uLnJldHJpZXZlRGF0YWJhc2UocGFyZW50LmRhdGFiYXNlX2lkKVxuICAgICAgY2FzZSAncGFnZV9pZCc6IHJldHVybiB0aGlzLm5vdGlvbi5yZXRyaWV2ZVBhZ2UocGFyZW50LnBhZ2VfaWQpO1xuICAgICAgY2FzZSAnYmxvY2tfaWQnOiByZXR1cm4gdGhpcy5ub3Rpb24ucmV0cmlldmVCbG9jayhwYXJlbnQuYmxvY2tfaWQpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldFBhdGgob2JqOiBhbnkpIHtcbiAgICBjb25zdCBvYmplY3RzID0gW29ial07XG4gICAgcmV0dXJuIG9iamVjdHMubWFwKG9iaiA9PiBnZXRUaXRsZShvYmopKS5maWx0ZXIoQm9vbGVhbikucmV2ZXJzZSgpLmpvaW4oJy8nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUaXRsZShvYmo6IGFueSkge1xuICBpZiAob2JqLm9iamVjdCA9PT0gJ3BhZ2UnKSB7XG4gICAgcmV0dXJuIG9iai5wcm9wZXJ0aWVzPy50aXRsZT8udGl0bGU/LlswXT8ucGxhaW5fdGV4dDtcbiAgfSBlbHNlIGlmIChvYmoub2JqZWN0ID09PSAnZGF0YWJhc2UnKSB7XG4gICAgcmV0dXJuIG9iai5fdGl0bGU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi11c2VjYXNlLWRhdGFiYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi91c2VjYXNlL2RhdGFiYXNlL3h4bWFjaGluYS1jb21tb24tdXNlY2FzZS1kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-common-usecase-database.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/database/database.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/database/xxmachina-common-usecase-database.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { ErBuilder } from '@xxmachina/common/domain/builder';\nimport { ScreenItemBuilder } from '@xxmachina/common/domain/builder/screen-item';\nimport { Database, ScreenItem } from '@xxmachina/common/domain/models';\nimport { omit } from 'lodash-es';\nimport { injectNotion } from '@nx-ddd/notion';\n\nfunction listDatabaseProperties(database: Database, dbName: string): ScreenItem[] {\n return new ScreenItemBuilder().build(database).map(item => ({...item, dbName}));\n}\n\nexport interface DatabaseConfig {\n notionApiKey: string;\n databaseIdToName: { [key: string]: string };\n}\n\nconst DATABASE_CONFIG = new InjectionToken<DatabaseConfig>('DATABASE_CONFIG');\n\nexport function provideDatabaseConfig(useFactory: () => DatabaseConfig) {\n return { provide: DATABASE_CONFIG, useFactory };\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DatabaseService {\n private config = inject(DATABASE_CONFIG);\n private notion = injectNotion();\n\n async get(databaseId: string) {\n return this.notion.retrieveDatabase(databaseId);\n }\n\n async update(databaseId: string, body: any) {\n return this.notion.updateDatabase(databaseId, omit({\n ...body.properties,\n }, []));\n }\n\n async listDatabases() {\n let start_cursor;\n const databases = [];\n\n while (true) {\n const _databases = await this.notion.search({\n filter: {\n property: 'object',\n value: 'database',\n },\n start_cursor,\n });\n for (const db of _databases.results) {\n databases.push({\n ...db,\n _title: db['title']?.[0]?.plain_text,\n });\n }\n\n if (!_databases.has_more) break;\n start_cursor = _databases.next_cursor;\n }\n\n const resolve = async (item) => ({...item, path: await this.getPath(item)});\n\n return Promise.all(databases.map(db => resolve(db)));\n }\n\n async generateMermaidER(): Promise<string> {\n const databases = await this.listDatabases();\n return new ErBuilder().build(databases); \n }\n\n async getPageItems(dbId: string, name: string) {\n // const dbDetails = await this.notion.retrieveDatabase(dbId);\n // const items = listDatabaseProperties(dbDetails, name);\n // return items;\n return [];\n }\n\n async getParent(parent: {\n type: 'database_id',\n database_id: string\n } | {\n type: 'page_id',\n page_id: string\n } | {\n type: 'block_id',\n block_id: string\n }) {\n switch (parent.type) {\n case 'database_id': return this.notion.retrieveDatabase(parent.database_id)\n case 'page_id': return this.notion.retrievePage(parent.page_id);\n case 'block_id': return this.notion.retrieveBlock(parent.block_id);\n }\n }\n\n async getPath(obj: any) {\n const objects = [obj];\n return objects.map(obj => getTitle(obj)).filter(Boolean).reverse().join('/');\n }\n}\n\nfunction getTitle(obj: any) {\n if (obj.object === 'page') {\n return obj.properties?.title?.title?.[0]?.plain_text;\n } else if (obj.object === 'database') {\n return obj._title;\n } else {\n return null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -35,10 +35,10 @@ class GraphqlService {
35
35
  validator: async (output) => this.graphql(output.query).then(() => []).catch(error => [error.message]),
36
36
  }).then(result => result.query);
37
37
  }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, providedIn: 'root' });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, providedIn: 'root' });
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlService, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{ providedIn: 'root' }]
44
44
  }], ctorParameters: () => [] });