@xxmachina/common 0.0.0-PLACEHOLDER

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 (160) hide show
  1. package/_shared/auth/index.d.ts +8 -0
  2. package/_shared/auth/passports/anonymous/index.d.ts +8 -0
  3. package/_shared/auth/passports/firebase/index.d.ts +19 -0
  4. package/_shared/auth/passports/internal/index.d.ts +17 -0
  5. package/_shared/auth/passports/msal/index.d.ts +26 -0
  6. package/_shared/meta/index.d.ts +8 -0
  7. package/_shared/meta/redis/index.d.ts +39 -0
  8. package/auth/index.d.ts +16 -0
  9. package/azure-auth/index.d.ts +41 -0
  10. package/domain/builder/index.d.ts +81 -0
  11. package/domain/builder/screen-item/index.d.ts +7 -0
  12. package/domain/index.d.ts +2 -0
  13. package/domain/models/index.d.ts +517 -0
  14. package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs +20 -0
  15. package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs.map +1 -0
  16. package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs +41 -0
  17. package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs.map +1 -0
  18. package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs +34 -0
  19. package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs.map +1 -0
  20. package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs +49 -0
  21. package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs.map +1 -0
  22. package/fesm2022/xxmachina-common-_shared-auth.mjs +25 -0
  23. package/fesm2022/xxmachina-common-_shared-auth.mjs.map +1 -0
  24. package/fesm2022/xxmachina-common-_shared-meta-redis.mjs +99 -0
  25. package/fesm2022/xxmachina-common-_shared-meta-redis.mjs.map +1 -0
  26. package/fesm2022/xxmachina-common-_shared-meta.mjs +26 -0
  27. package/fesm2022/xxmachina-common-_shared-meta.mjs.map +1 -0
  28. package/fesm2022/xxmachina-common-auth.mjs +17 -0
  29. package/fesm2022/xxmachina-common-auth.mjs.map +1 -0
  30. package/fesm2022/xxmachina-common-azure-auth.mjs +160 -0
  31. package/fesm2022/xxmachina-common-azure-auth.mjs.map +1 -0
  32. package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs +201 -0
  33. package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs.map +1 -0
  34. package/fesm2022/xxmachina-common-domain-builder.mjs +494 -0
  35. package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -0
  36. package/fesm2022/xxmachina-common-domain-models.mjs +841 -0
  37. package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -0
  38. package/fesm2022/xxmachina-common-domain.mjs +7 -0
  39. package/fesm2022/xxmachina-common-domain.mjs.map +1 -0
  40. package/fesm2022/xxmachina-common-firebase-auth.mjs +36 -0
  41. package/fesm2022/xxmachina-common-firebase-auth.mjs.map +1 -0
  42. package/fesm2022/xxmachina-common-infra-converters-google.mjs +39 -0
  43. package/fesm2022/xxmachina-common-infra-converters-google.mjs.map +1 -0
  44. package/fesm2022/xxmachina-common-infra-external-data-connect.mjs +13 -0
  45. package/fesm2022/xxmachina-common-infra-external-data-connect.mjs.map +1 -0
  46. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs +61 -0
  47. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -0
  48. package/fesm2022/xxmachina-common-infra-external-resend.mjs +10 -0
  49. package/fesm2022/xxmachina-common-infra-external-resend.mjs.map +1 -0
  50. package/fesm2022/xxmachina-common-infra-external.mjs +35 -0
  51. package/fesm2022/xxmachina-common-infra-external.mjs.map +1 -0
  52. package/fesm2022/xxmachina-common-infra-query-firestore.mjs +33 -0
  53. package/fesm2022/xxmachina-common-infra-query-firestore.mjs.map +1 -0
  54. package/fesm2022/xxmachina-common-infra-query-hasura.mjs +20 -0
  55. package/fesm2022/xxmachina-common-infra-query-hasura.mjs.map +1 -0
  56. package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs +18 -0
  57. package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs.map +1 -0
  58. package/fesm2022/xxmachina-common-infra-repository-firestore.mjs +73 -0
  59. package/fesm2022/xxmachina-common-infra-repository-firestore.mjs.map +1 -0
  60. package/fesm2022/xxmachina-common-infra-repository-hasura.mjs +41 -0
  61. package/fesm2022/xxmachina-common-infra-repository-hasura.mjs.map +1 -0
  62. package/fesm2022/xxmachina-common-infra-repository-notion.mjs +105 -0
  63. package/fesm2022/xxmachina-common-infra-repository-notion.mjs.map +1 -0
  64. package/fesm2022/xxmachina-common-infra.mjs +368 -0
  65. package/fesm2022/xxmachina-common-infra.mjs.map +1 -0
  66. package/fesm2022/xxmachina-common-invoice-domain-builders.mjs +79 -0
  67. package/fesm2022/xxmachina-common-invoice-domain-builders.mjs.map +1 -0
  68. package/fesm2022/xxmachina-common-invoice-domain-models.mjs +432 -0
  69. package/fesm2022/xxmachina-common-invoice-domain-models.mjs.map +1 -0
  70. package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs +41 -0
  71. package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs.map +1 -0
  72. package/fesm2022/xxmachina-common-invoice-domain.mjs +8 -0
  73. package/fesm2022/xxmachina-common-invoice-domain.mjs.map +1 -0
  74. package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs +27 -0
  75. package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs.map +1 -0
  76. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs +191 -0
  77. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -0
  78. package/fesm2022/xxmachina-common-invoice-usecase-order.mjs +36 -0
  79. package/fesm2022/xxmachina-common-invoice-usecase-order.mjs.map +1 -0
  80. package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs +36 -0
  81. package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs.map +1 -0
  82. package/fesm2022/xxmachina-common-services-graphql.mjs +323 -0
  83. package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -0
  84. package/fesm2022/xxmachina-common-services-query-config.mjs +44 -0
  85. package/fesm2022/xxmachina-common-services-query-config.mjs.map +1 -0
  86. package/fesm2022/xxmachina-common-services-query.mjs +65 -0
  87. package/fesm2022/xxmachina-common-services-query.mjs.map +1 -0
  88. package/fesm2022/xxmachina-common-services-speech.mjs +178 -0
  89. package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -0
  90. package/fesm2022/xxmachina-common-services-transformer.mjs +27 -0
  91. package/fesm2022/xxmachina-common-services-transformer.mjs.map +1 -0
  92. package/fesm2022/xxmachina-common-stores-firestore.mjs +33 -0
  93. package/fesm2022/xxmachina-common-stores-firestore.mjs.map +1 -0
  94. package/fesm2022/xxmachina-common-stores-hasura.mjs +32 -0
  95. package/fesm2022/xxmachina-common-stores-hasura.mjs.map +1 -0
  96. package/fesm2022/xxmachina-common-stores-inmemory.mjs +102 -0
  97. package/fesm2022/xxmachina-common-stores-inmemory.mjs.map +1 -0
  98. package/fesm2022/xxmachina-common-stores.mjs +16 -0
  99. package/fesm2022/xxmachina-common-stores.mjs.map +1 -0
  100. package/fesm2022/xxmachina-common-usecase-assistant.mjs +67 -0
  101. package/fesm2022/xxmachina-common-usecase-assistant.mjs.map +1 -0
  102. package/fesm2022/xxmachina-common-usecase-database.mjs +95 -0
  103. package/fesm2022/xxmachina-common-usecase-database.mjs.map +1 -0
  104. package/fesm2022/xxmachina-common-usecase-graphql.mjs +51 -0
  105. package/fesm2022/xxmachina-common-usecase-graphql.mjs.map +1 -0
  106. package/fesm2022/xxmachina-common-usecase-link.mjs +26 -0
  107. package/fesm2022/xxmachina-common-usecase-link.mjs.map +1 -0
  108. package/fesm2022/xxmachina-common-usecase-project.mjs +35 -0
  109. package/fesm2022/xxmachina-common-usecase-project.mjs.map +1 -0
  110. package/fesm2022/xxmachina-common-usecase-spec.mjs +45 -0
  111. package/fesm2022/xxmachina-common-usecase-spec.mjs.map +1 -0
  112. package/fesm2022/xxmachina-common-usecase.mjs +198 -0
  113. package/fesm2022/xxmachina-common-usecase.mjs.map +1 -0
  114. package/fesm2022/xxmachina-common-utils-crypto.mjs +30 -0
  115. package/fesm2022/xxmachina-common-utils-crypto.mjs.map +1 -0
  116. package/fesm2022/xxmachina-common-utils.mjs +53 -0
  117. package/fesm2022/xxmachina-common-utils.mjs.map +1 -0
  118. package/fesm2022/xxmachina-common.mjs +6 -0
  119. package/fesm2022/xxmachina-common.mjs.map +1 -0
  120. package/firebase-auth/index.d.ts +6 -0
  121. package/index.d.ts +1 -0
  122. package/infra/converters/google/index.d.ts +15 -0
  123. package/infra/external/data-connect/index.d.ts +7 -0
  124. package/infra/external/index.d.ts +24 -0
  125. package/infra/external/quick-js/index.d.ts +24 -0
  126. package/infra/external/resend/index.d.ts +16 -0
  127. package/infra/index.d.ts +206 -0
  128. package/infra/query/firestore/index.d.ts +20 -0
  129. package/infra/query/hasura/index.d.ts +9 -0
  130. package/infra/repository/dataconnect/index.d.ts +28 -0
  131. package/infra/repository/firestore/index.d.ts +42 -0
  132. package/infra/repository/hasura/index.d.ts +24 -0
  133. package/infra/repository/notion/index.d.ts +89 -0
  134. package/invoice/domain/builders/index.d.ts +31 -0
  135. package/invoice/domain/index.d.ts +3 -0
  136. package/invoice/domain/models/index.d.ts +78 -0
  137. package/invoice/domain/resolvers/index.d.ts +15 -0
  138. package/invoice/usecase/contract/index.d.ts +14 -0
  139. package/invoice/usecase/invoice/index.d.ts +34 -0
  140. package/invoice/usecase/order/index.d.ts +16 -0
  141. package/invoice/usecase/partner/index.d.ts +16 -0
  142. package/package.json +276 -0
  143. package/services/graphql/index.d.ts +97 -0
  144. package/services/query/config/index.d.ts +18 -0
  145. package/services/query/index.d.ts +29 -0
  146. package/services/speech/index.d.ts +37 -0
  147. package/services/transformer/index.d.ts +14 -0
  148. package/stores/firestore/index.d.ts +17 -0
  149. package/stores/hasura/index.d.ts +17 -0
  150. package/stores/index.d.ts +32 -0
  151. package/stores/inmemory/index.d.ts +33 -0
  152. package/usecase/assistant/index.d.ts +18 -0
  153. package/usecase/database/index.d.ts +39 -0
  154. package/usecase/graphql/index.d.ts +17 -0
  155. package/usecase/index.d.ts +73 -0
  156. package/usecase/link/index.d.ts +13 -0
  157. package/usecase/project/index.d.ts +16 -0
  158. package/usecase/spec/index.d.ts +17 -0
  159. package/utils/crypto/index.d.ts +9 -0
  160. package/utils/index.d.ts +5 -0
@@ -0,0 +1,178 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, computed, effect, Injectable } from '@angular/core';
3
+ import { toObservable } from '@angular/core/rxjs-interop';
4
+ import { interval, filter } from 'rxjs';
5
+
6
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference
7
+ /// <reference path="./speech-recognition.d.ts" />
8
+ function initializeSpeechRecognitionAPI() {
9
+ if (typeof window === 'undefined')
10
+ return null;
11
+ if (!('SpeechRecognition' in window) && !('webkitSpeechRecognition' in window)) {
12
+ console.warn('[SpeechService] SpeechRecognition API is not supported in this browser');
13
+ return null;
14
+ }
15
+ const SpeechRecognitionAPI = window.SpeechRecognition || window.webkitSpeechRecognition;
16
+ const recognition = new SpeechRecognitionAPI();
17
+ recognition.continuous = true;
18
+ recognition.interimResults = true;
19
+ recognition.lang = 'ja-JP';
20
+ return recognition;
21
+ }
22
+ function parseSpeechRecognitionEvent(event) {
23
+ const results = [];
24
+ for (let i = event.resultIndex; i < event.results.length; i++) {
25
+ results.push({
26
+ transcript: event.results[i][0].transcript,
27
+ confidence: event.results[i][0].confidence,
28
+ isFinal: event.results[i].isFinal,
29
+ });
30
+ }
31
+ return {
32
+ interim: results.filter((result) => !result.isFinal).map((result) => result.transcript).join(''),
33
+ finalized: results.filter((result) => result.isFinal).map((result) => result.transcript).join(''),
34
+ };
35
+ }
36
+ class SpeechService {
37
+ static instanceCounter = 0;
38
+ PAUSE_THRESHOLD = 1000;
39
+ recognition = null;
40
+ lastSpeechTime = signal(Date.now());
41
+ ignoreResults = false;
42
+ transcript = signal({ finalized: '', interim: '' });
43
+ transcript$ = toObservable(this.transcript);
44
+ isListening = signal(false);
45
+ activeComponentId = signal(null);
46
+ isSupported = typeof window !== 'undefined' &&
47
+ (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));
48
+ finalized = computed(() => this.transcript().finalized);
49
+ finalized$ = toObservable(this.finalized);
50
+ constructor() {
51
+ // Handle pause detection
52
+ interval(this.PAUSE_THRESHOLD).pipe(filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD)).subscribe(() => {
53
+ this.transcript.update(current => ({
54
+ interim: '',
55
+ finalized: current.finalized + (current.interim || '')
56
+ }));
57
+ });
58
+ // Handle listening state changes
59
+ effect(() => {
60
+ if (this.isListening()) {
61
+ this.startRecognition();
62
+ }
63
+ else {
64
+ this.stopRecognition();
65
+ }
66
+ });
67
+ }
68
+ generateComponentId() {
69
+ return `speech-${++SpeechService.instanceCounter}`;
70
+ }
71
+ isActiveComponent(componentId) {
72
+ return this.activeComponentId() === componentId;
73
+ }
74
+ start(componentId) {
75
+ if (!this.isSupported) {
76
+ console.warn('[SpeechService] Speech recognition is not supported');
77
+ return;
78
+ }
79
+ this.activeComponentId.set(componentId);
80
+ this.clear();
81
+ this.isListening.set(true);
82
+ }
83
+ stop() {
84
+ this.isListening.set(false);
85
+ this.activeComponentId.set(null);
86
+ }
87
+ toggle(componentId) {
88
+ if (this.isActiveComponent(componentId) && this.isListening()) {
89
+ this.stop();
90
+ }
91
+ else {
92
+ this.start(componentId);
93
+ }
94
+ }
95
+ clear() {
96
+ this.transcript.set({ interim: '', finalized: '' });
97
+ // clear後の古い認識結果を無視するフラグを立てる
98
+ this.ignoreResults = true;
99
+ // 認識をリスタートして古い認識結果を破棄
100
+ // (onendで自動的にrestartされる)
101
+ if (this.recognition && this.isListening()) {
102
+ try {
103
+ this.recognition.stop();
104
+ }
105
+ catch (error) {
106
+ console.error('[SpeechService] Error restarting recognition:', error);
107
+ }
108
+ }
109
+ }
110
+ setupRecognition() {
111
+ if (!this.isSupported)
112
+ return;
113
+ this.recognition = initializeSpeechRecognitionAPI();
114
+ if (!this.recognition)
115
+ return;
116
+ this.recognition.onresult = (event) => {
117
+ // clear後の古い認識結果は無視
118
+ if (this.ignoreResults) {
119
+ return;
120
+ }
121
+ const { interim, finalized } = parseSpeechRecognitionEvent(event);
122
+ this.transcript.update((current) => ({
123
+ interim,
124
+ finalized: finalized.length ? `${current.finalized}${finalized}` : current.finalized
125
+ }));
126
+ this.lastSpeechTime.set(Date.now());
127
+ };
128
+ this.recognition.onerror = (event) => {
129
+ console.error('[SpeechService] Recognition error:', event.error);
130
+ if (event.error === 'not-allowed') {
131
+ this.stop();
132
+ }
133
+ };
134
+ this.recognition.onend = () => {
135
+ if (this.isListening()) {
136
+ this.startRecognition();
137
+ }
138
+ };
139
+ }
140
+ startRecognition() {
141
+ // 新しい認識開始時にignoreResultsをリセット
142
+ this.ignoreResults = false;
143
+ if (!this.recognition) {
144
+ this.setupRecognition();
145
+ }
146
+ try {
147
+ this.recognition?.start();
148
+ }
149
+ catch (error) {
150
+ console.error('[SpeechService] Failed to start recognition:', error);
151
+ this.recognition = null;
152
+ this.setupRecognition();
153
+ this.recognition?.start();
154
+ }
155
+ }
156
+ stopRecognition() {
157
+ try {
158
+ this.recognition?.stop();
159
+ }
160
+ catch (error) {
161
+ console.error('[SpeechService] Error stopping recognition:', error);
162
+ }
163
+ this.recognition = null;
164
+ }
165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: SpeechService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
166
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: SpeechService, providedIn: 'root' });
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: SpeechService, decorators: [{
169
+ type: Injectable,
170
+ args: [{ providedIn: 'root' }]
171
+ }], ctorParameters: () => [] });
172
+
173
+ /**
174
+ * Generated bundle index. Do not edit.
175
+ */
176
+
177
+ export { SpeechService };
178
+ //# sourceMappingURL=xxmachina-common-services-speech.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xxmachina-common-services-speech.mjs","sources":["../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\" />\nimport { Injectable, signal, effect, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { filter, interval } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nfunction 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}\nfunction parseSpeechRecognitionEvent(event) {\n const results = [];\n for (let i = event.resultIndex; 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}\nexport class SpeechService {\n static instanceCounter = 0;\n PAUSE_THRESHOLD = 1000;\n recognition = null;\n lastSpeechTime = signal(Date.now());\n ignoreResults = false;\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 constructor() {\n // Handle pause detection\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 // Handle listening state changes\n effect(() => {\n if (this.isListening()) {\n this.startRecognition();\n }\n else {\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.activeComponentId.set(componentId);\n this.clear();\n this.isListening.set(true);\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 // clear後の古い認識結果を無視するフラグを立てる\n this.ignoreResults = true;\n // 認識をリスタートして古い認識結果を破棄\n // (onendで自動的にrestartされる)\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 setupRecognition() {\n if (!this.isSupported)\n return;\n this.recognition = initializeSpeechRecognitionAPI();\n if (!this.recognition)\n return;\n this.recognition.onresult = (event) => {\n // clear後の古い認識結果は無視\n if (this.ignoreResults) {\n return;\n }\n const { interim, finalized } = parseSpeechRecognitionEvent(event);\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 // 新しい認識開始時にignoreResultsをリセット\n this.ignoreResults = false;\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 try {\n this.recognition?.stop();\n }\n catch (error) {\n console.error('[SpeechService] Error stopping recognition:', error);\n }\n this.recognition = null;\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC9zcGVlY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUV4QyxTQUFTLDhCQUE4QjtJQUNyQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVc7UUFBRSxPQUFPLElBQUksQ0FBQztJQUMvQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMseUJBQXlCLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMvRSxPQUFPLENBQUMsSUFBSSxDQUFDLHdFQUF3RSxDQUFDLENBQUM7UUFDdkYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxvQkFBb0IsR0FBSSxNQUFjLENBQUMsaUJBQWlCLElBQUssTUFBYyxDQUFDLHVCQUF1QixDQUFDO0lBQzFHLE1BQU0sV0FBVyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUMvQyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUM5QixXQUFXLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUNsQyxXQUFXLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUMzQixPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxLQUE2QjtJQUNoRSxNQUFNLE9BQU8s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LFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7dUdBL0lVLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdHJpcGxlLXNsYXNoLXJlZmVyZW5jZVxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vc3BlZWNoLXJlY29nbml0aW9uLmQudHNcIiAvPlxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBlZmZlY3QsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIGluaXRpYWxpemVTcGVlY2hSZWNvZ25pdGlvbkFQSSgpOiBTcGVlY2hSZWNvZ25pdGlvbiB8IG51bGwge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsO1xuICBpZiAoISgnU3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdykgJiYgISgnd2Via2l0U3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdykpIHtcbiAgICBjb25zb2xlLndhcm4oJ1tTcGVlY2hTZXJ2aWNlXSBTcGVlY2hSZWNvZ25pdGlvbiBBUEkgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXInKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IFNwZWVjaFJlY29nbml0aW9uQVBJID0gKHdpbmRvdyBhcyBhbnkpLlNwZWVjaFJlY29nbml0aW9uIHx8ICh3aW5kb3cgYXMgYW55KS53ZWJraXRTcGVlY2hSZWNvZ25pdGlvbjtcbiAgY29uc3QgcmVjb2duaXRpb24gPSBuZXcgU3BlZWNoUmVjb2duaXRpb25BUEkoKTtcbiAgcmVjb2duaXRpb24uY29udGludW91cyA9IHRydWU7XG4gIHJlY29nbml0aW9uLmludGVyaW1SZXN1bHRzID0gdHJ1ZTtcbiAgcmVjb2duaXRpb24ubGFuZyA9ICdqYS1KUCc7XG4gIHJldHVybiByZWNvZ25pdGlvbjtcbn1cblxuZnVuY3Rpb24gcGFyc2VTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KTogeyBpbnRlcmltOiBzdHJpbmc7IGZpbmFsaXplZDogc3RyaW5nIH0ge1xuICBjb25zdCByZXN1bHRzOiBTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IGV2ZW50LnJlc3VsdEluZGV4OyBpIDwgZXZlbnQucmVzdWx0cy5sZW5ndGg7IGkrKykge1xuICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICB0cmFuc2NyaXB0OiBldmVudC5yZXN1bHRzW2ldWzBdLnRyYW5zY3JpcHQsXG4gICAgICBjb25maWRlbmNlOiBldmVudC5yZXN1bHRzW2ldWzBdLmNvbmZpZGVuY2UsXG4gICAgICBpc0ZpbmFsOiBldmVudC5yZXN1bHRzW2ldLmlzRmluYWwsXG4gICAgfSBhcyBhbnkpO1xuICB9XG4gIHJldHVybiB7XG4gICAgaW50ZXJpbTogcmVzdWx0cy5maWx0ZXIoKHJlc3VsdDogYW55KSA9PiAhcmVzdWx0LmlzRmluYWwpLm1hcCgocmVzdWx0KSA9PiByZXN1bHQudHJhbnNjcmlwdCkuam9pbignJyksXG4gICAgZmluYWxpemVkOiByZXN1bHRzLmZpbHRlcigocmVzdWx0OiBhbnkpID0+IHJlc3VsdC5pc0ZpbmFsKS5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnRyYW5zY3JpcHQpLmpvaW4oJycpLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNwZWVjaFNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZUNvdW50ZXIgPSAwO1xuICBwcml2YXRlIHJlYWRvbmx5IFBBVVNFX1RIUkVTSE9MRCA9IDEwMDA7XG4gIHByaXZhdGUgcmVjb2duaXRpb246IFNwZWVjaFJlY29nbml0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbGFzdFNwZWVjaFRpbWUgPSBzaWduYWwoRGF0ZS5ub3coKSk7XG4gIHByaXZhdGUgaWdub3JlUmVzdWx0cyA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHRyYW5zY3JpcHQgPSBzaWduYWw8eyBmaW5hbGl6ZWQ6IHN0cmluZzsgaW50ZXJpbTogc3RyaW5nIH0+KHsgZmluYWxpemVkOiAnJywgaW50ZXJpbTogJycgfSk7XG4gIHJlYWRvbmx5IHRyYW5zY3JpcHQkID0gdG9PYnNlcnZhYmxlKHRoaXMudHJhbnNjcmlwdCk7XG4gIHJlYWRvbmx5IGlzTGlzdGVuaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgYWN0aXZlQ29tcG9uZW50SWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGlzU3VwcG9ydGVkID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoKCdTcGVlY2hSZWNvZ25pdGlvbicgaW4gd2luZG93KSB8fCAoJ3dlYmtpdFNwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpKTtcblxuICByZWFkb25seSBmaW5hbGl6ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRyYW5zY3JpcHQoKS5maW5hbGl6ZWQpO1xuICByZWFkb25seSBmaW5hbGl6ZWQkID0gdG9PYnNlcnZhYmxlKHRoaXMuZmluYWxpemVkKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBIYW5kbGUgcGF1c2UgZGV0ZWN0aW9uXG4gICAgaW50ZXJ2YWwodGhpcy5QQVVTRV9USFJFU0hPTEQpLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc0xpc3RlbmluZygpICYmIChEYXRlLm5vdygpIC0gdGhpcy5sYXN0U3BlZWNoVGltZSgpKSA+PSB0aGlzLlBBVVNFX1RIUkVTSE9MRCksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy50cmFuc2NyaXB0LnVwZGF0ZShjdXJyZW50ID0+ICh7XG4gICAgICAgIGludGVyaW06ICcnLFxuICAgICAgICBmaW5hbGl6ZWQ6IGN1cnJlbnQuZmluYWxpemVkICsgKGN1cnJlbnQuaW50ZXJpbSB8fCAnJylcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBsaXN0ZW5pbmcgc3RhdGUgY2hhbmdlc1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICAgIHRoaXMuc3RhcnRSZWNvZ25pdGlvbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdG9wUmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlQ29tcG9uZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNwZWVjaC0keysrU3BlZWNoU2VydmljZS5pbnN0YW5jZUNvdW50ZXJ9YDtcbiAgfVxuXG4gIGlzQWN0aXZlQ29tcG9uZW50KGNvbXBvbmVudElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVDb21wb25lbnRJZCgpID09PSBjb21wb25lbnRJZDtcbiAgfVxuXG4gIHN0YXJ0KGNvbXBvbmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTdXBwb3J0ZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1NwZWVjaFNlcnZpY2VdIFNwZWVjaCByZWNvZ25pdGlvbiBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlQ29tcG9uZW50SWQuc2V0KGNvbXBvbmVudElkKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5pc0xpc3RlbmluZy5zZXQodHJ1ZSk7XG4gIH1cblxuICBzdG9wKCk6IHZvaWQge1xuICAgIHRoaXMuaXNMaXN0ZW5pbmcuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmFjdGl2ZUNvbXBvbmVudElkLnNldChudWxsKTtcbiAgfVxuXG4gIHRvZ2dsZShjb21wb25lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmVDb21wb25lbnQoY29tcG9uZW50SWQpICYmIHRoaXMuaXNMaXN0ZW5pbmcoKSkge1xuICAgICAgdGhpcy5zdG9wKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhcnQoY29tcG9uZW50SWQpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNjcmlwdC5zZXQoeyBpbnRlcmltOiAnJywgZmluYWxpemVkOiAnJyB9KTtcbiAgICAvLyBjbGVhcuW+jOOBruWPpOOBhOiqjeitmOe1kOaenOOCkueEoeimluOBmeOCi+ODleODqeOCsOOCkueri+OBpuOCi1xuICAgIHRoaXMuaWdub3JlUmVzdWx0cyA9IHRydWU7XG4gICAgLy8g6KqN6K2Y44KS44Oq44K544K/44O844OI44GX44Gm5Y+k44GE6KqN6K2Y57WQ5p6c44KS56C05qOEXG4gICAgLy8g77yIb25lbmTjgafoh6rli5XnmoTjgatyZXN0YXJ044GV44KM44KL77yJXG4gICAgaWYgKHRoaXMucmVjb2duaXRpb24gJiYgdGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTcGVlY2hTZXJ2aWNlXSBFcnJvciByZXN0YXJ0aW5nIHJlY29nbml0aW9uOicsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVjb2duaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uID0gaW5pdGlhbGl6ZVNwZWVjaFJlY29nbml0aW9uQVBJKCk7XG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uLm9ucmVzdWx0ID0gKGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KSA9PiB7XG4gICAgICAvLyBjbGVhcuW+jOOBruWPpOOBhOiqjeitmOe1kOaenOOBr+eEoeimllxuICAgICAgaWYgKHRoaXMuaWdub3JlUmVzdWx0cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgaW50ZXJpbSwgZmluYWxpemVkIH0gPSBwYXJzZVNwZWVjaFJlY29nbml0aW9uRXZlbnQoZXZlbnQpO1xuICAgICAgdGhpcy50cmFuc2NyaXB0LnVwZGF0ZSgoY3VycmVudCkgPT4gKHtcbiAgICAgICAgaW50ZXJpbSxcbiAgICAgICAgZmluYWxpemVkOiBmaW5hbGl6ZWQubGVuZ3RoID8gYCR7Y3VycmVudC5maW5hbGl6ZWR9JHtmaW5hbGl6ZWR9YCA6IGN1cnJlbnQuZmluYWxpemVkXG4gICAgICB9KSk7XG4gICAgICB0aGlzLmxhc3RTcGVlY2hUaW1lLnNldChEYXRlLm5vdygpKTtcbiAgICB9O1xuXG4gICAgdGhpcy5yZWNvZ25pdGlvbi5vbmVycm9yID0gKGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkVycm9yRXZlbnQpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTcGVlY2hTZXJ2aWNlXSBSZWNvZ25pdGlvbiBlcnJvcjonLCBldmVudC5lcnJvcik7XG4gICAgICBpZiAoZXZlbnQuZXJyb3IgPT09ICdub3QtYWxsb3dlZCcpIHtcbiAgICAgICAgdGhpcy5zdG9wKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMucmVjb2duaXRpb24ub25lbmQgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICAgIHRoaXMuc3RhcnRSZWNvZ25pdGlvbigpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UmVjb2duaXRpb24oKTogdm9pZCB7XG4gICAgLy8g5paw44GX44GE6KqN6K2Y6ZaL5aeL5pmC44GraWdub3JlUmVzdWx0c+OCkuODquOCu+ODg+ODiFxuICAgIHRoaXMuaWdub3JlUmVzdWx0cyA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSB7XG4gICAgICB0aGlzLnNldHVwUmVjb2duaXRpb24oKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignW1NwZWVjaFNlcnZpY2VdIEZhaWxlZCB0byBzdGFydCByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMuc2V0dXBSZWNvZ25pdGlvbigpO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0b3BSZWNvZ25pdGlvbigpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RvcCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbU3BlZWNoU2VydmljZV0gRXJyb3Igc3RvcHBpbmcgcmVjb2duaXRpb246JywgZXJyb3IpO1xuICAgIH1cbiAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1zcGVlY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC94eG1hY2hpbmEtY29tbW9uLXNlcnZpY2VzLXNwZWVjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { QuickJsService } from '@xxmachina/common/infra/external/quick-js';
4
+
5
+ class TransformerService {
6
+ quickJs = inject(QuickJsService);
7
+ transform({ transformerTs, transformer = (result) => result, }, input) {
8
+ if (transformerTs) {
9
+ const typescript = transformerTs;
10
+ return this.quickJs.apply(typescript, 'transformer', [input]);
11
+ }
12
+ return transformer(input);
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' });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TransformerService, decorators: [{
18
+ type: Injectable,
19
+ args: [{ providedIn: 'root' }]
20
+ }] });
21
+
22
+ /**
23
+ * Generated bundle index. Do not edit.
24
+ */
25
+
26
+ export { TransformerService };
27
+ //# sourceMappingURL=xxmachina-common-services-transformer.mjs.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,33 @@
1
+ import { inject } from '@angular/core';
2
+ import { map } from 'rxjs';
3
+ import { QueryHelper } from '@xxmachina/common/domain/models';
4
+ import { QueryFirestoreQuery, ResourceFirestoreQuery } from '@xxmachina/common/infra/query/firestore';
5
+ import { QueryFirestoreRepository, ResourceFirestoreRepository } from '@xxmachina/common/infra/repository/firestore';
6
+
7
+ function getFirestoreQueryStore() {
8
+ const query = inject(QueryFirestoreQuery);
9
+ const repo = inject(QueryFirestoreRepository);
10
+ return {
11
+ list: () => query.listChanges({ projectId: 'default' }).pipe(map(items => items.map((item) => QueryHelper.convertToV2(item)))),
12
+ create: (item) => repo.create(item),
13
+ update: (item) => repo.update(item).then(() => { }),
14
+ save: (item) => repo.save(item).then(() => item),
15
+ };
16
+ }
17
+ function getFirestoreResourceStore() {
18
+ const query = inject(ResourceFirestoreQuery);
19
+ const repo = inject(ResourceFirestoreRepository);
20
+ return {
21
+ list: () => query.listChanges({ projectId: 'default' }),
22
+ create: (item) => repo.create(item),
23
+ update: (item) => repo.update(item).then(() => { }),
24
+ save: (item) => repo.save(item).then(() => item),
25
+ };
26
+ }
27
+
28
+ /**
29
+ * Generated bundle index. Do not edit.
30
+ */
31
+
32
+ export { getFirestoreQueryStore, getFirestoreResourceStore };
33
+ //# sourceMappingURL=xxmachina-common-stores-firestore.mjs.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,32 @@
1
+ import { inject } from '@angular/core';
2
+ import { AuthService } from '@xxmachina/common/auth';
3
+ import { map, distinctUntilChanged, switchMap, of } from 'rxjs';
4
+ import { QueryHasuraRepository, ResourceHasuraRepository } from '@xxmachina/common/infra/repository/hasura';
5
+
6
+ function getHasuraQueryStore() {
7
+ const repo = inject(QueryHasuraRepository);
8
+ const auth = inject(AuthService);
9
+ return {
10
+ list: () => auth.auth$.pipe(map(auth => !!auth), distinctUntilChanged(), switchMap((isAuthenticated) => isAuthenticated ? repo.listChanges() : of([]))),
11
+ create: (item) => repo.create(item),
12
+ update: (item) => repo.update(item).then(() => { }),
13
+ save: (item) => repo.save(item).then(() => item),
14
+ };
15
+ }
16
+ function getHasuraResourceStore() {
17
+ const repo = inject(ResourceHasuraRepository);
18
+ const auth = inject(AuthService);
19
+ return {
20
+ list: () => auth.auth$.pipe(map(auth => !!auth), distinctUntilChanged(), switchMap((isAuthenticated) => isAuthenticated ? repo.listChanges() : of([]))),
21
+ create: (item) => repo.create(item),
22
+ update: (item) => repo.update(item).then(() => { }),
23
+ save: (item) => repo.save(item).then(() => item),
24
+ };
25
+ }
26
+
27
+ /**
28
+ * Generated bundle index. Do not edit.
29
+ */
30
+
31
+ export { getHasuraQueryStore, getHasuraResourceStore };
32
+ //# sourceMappingURL=xxmachina-common-stores-hasura.mjs.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,102 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { map } from 'rxjs/operators';
5
+
6
+ class InMemoryStore {
7
+ store$ = new BehaviorSubject({});
8
+ constructor(options) {
9
+ if (options?.initialData) {
10
+ this.store$.next(options.initialData);
11
+ }
12
+ }
13
+ set(key, value) {
14
+ const current = this.store$.value;
15
+ this.store$.next({
16
+ ...current,
17
+ [key]: value
18
+ });
19
+ }
20
+ get(key) {
21
+ return this.store$.value[key];
22
+ }
23
+ get$(key) {
24
+ return this.store$.pipe(map(store => store[key]));
25
+ }
26
+ delete(key) {
27
+ const current = this.store$.value;
28
+ const { [key]: _, ...rest } = current;
29
+ this.store$.next(rest);
30
+ }
31
+ clear() {
32
+ this.store$.next({});
33
+ }
34
+ has(key) {
35
+ return key in this.store$.value;
36
+ }
37
+ keys() {
38
+ return Object.keys(this.store$.value);
39
+ }
40
+ values() {
41
+ return Object.values(this.store$.value);
42
+ }
43
+ entries() {
44
+ return Object.entries(this.store$.value);
45
+ }
46
+ size() {
47
+ return this.keys().length;
48
+ }
49
+ getAll() {
50
+ return { ...this.store$.value };
51
+ }
52
+ getAll$() {
53
+ return this.store$.asObservable();
54
+ }
55
+ update(key, updater) {
56
+ const current = this.get(key);
57
+ const updated = updater(current);
58
+ this.set(key, updated);
59
+ }
60
+ merge(data) {
61
+ const current = this.store$.value;
62
+ this.store$.next({
63
+ ...current,
64
+ ...data
65
+ });
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' });
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: InMemoryStore, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root'
74
+ }]
75
+ }], ctorParameters: () => [{ type: undefined }] });
76
+
77
+ function getInmemoryResourceStore(initialResources = []) {
78
+ const initialData = initialResources.reduce((acc, resource) => {
79
+ acc[resource.id] = resource;
80
+ return acc;
81
+ }, {});
82
+ const store = new InMemoryStore({ initialData });
83
+ return {
84
+ async save(resource) {
85
+ store.set(resource.id, resource);
86
+ return resource;
87
+ },
88
+ list() {
89
+ return store.getAll$().pipe(map(data => Object.values(data).filter((value) => value && typeof value === 'object' && 'id' in value)));
90
+ },
91
+ async delete(entity) {
92
+ store.delete(entity.id);
93
+ },
94
+ };
95
+ }
96
+
97
+ /**
98
+ * Generated bundle index. Do not edit.
99
+ */
100
+
101
+ export { InMemoryStore, getInmemoryResourceStore };
102
+ //# sourceMappingURL=xxmachina-common-stores-inmemory.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,16 @@
1
+ import { provideEntityStoreAdapter } from '@ng-atomic/common/stores/entities';
2
+ import { Query, Resource } from '@xxmachina/common/domain/models';
3
+
4
+ function provideQueryStore(useFactory) {
5
+ return provideEntityStoreAdapter(Query, useFactory);
6
+ }
7
+ function provideResourceStore(useFactory) {
8
+ return provideEntityStoreAdapter(Resource, useFactory);
9
+ }
10
+
11
+ /**
12
+ * Generated bundle index. Do not edit.
13
+ */
14
+
15
+ export { provideQueryStore, provideResourceStore };
16
+ //# sourceMappingURL=xxmachina-common-stores.mjs.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,67 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+ import * as i1 from '@xxmachina/common/infra';
4
+ import { hash } from '@xxmachina/common/utils/crypto';
5
+
6
+ class AssistantService {
7
+ infra;
8
+ constructor(infra) {
9
+ this.infra = infra;
10
+ }
11
+ async list() {
12
+ return await this.infra.repo.redis.operator.list();
13
+ }
14
+ async create(assistant) {
15
+ return this.infra.repo.redis.operator.create(assistant);
16
+ }
17
+ async update(assistant) {
18
+ return this.infra.repo.redis.operator.update(assistant);
19
+ }
20
+ async delete(assistantid) {
21
+ return this.infra.repo.redis.operator.delete(assistantid);
22
+ }
23
+ async operate(assistantId, input) {
24
+ const project = await this.infra.repo.redis.project.get('default');
25
+ const assistant = await this.infra.repo.redis.operator.get(assistantId);
26
+ const adapter = this.infra.external.getAiAdapter(project.settings.ai);
27
+ const embeddings = await adapter.embedding(input);
28
+ const specs = await this.infra.repo.redis.spec.search(assistant.id, embeddings);
29
+ const messages = [
30
+ { role: 'system', content: assistant.description },
31
+ ...specs.map(spec => [
32
+ { role: 'system', content: spec.input },
33
+ { role: 'assistant', content: spec.output },
34
+ ]).flat(),
35
+ { role: 'user', content: input },
36
+ ];
37
+ console.debug('messages', messages);
38
+ const output_ = await adapter.chatComplete(messages);
39
+ const output = this.scrape(assistant.outputInterfaceId, output_);
40
+ await this.infra.repo.redis.spec.create({
41
+ input, output, embeddings, id: hash(input), operatorId: assistant.id,
42
+ }).catch(() => { });
43
+ return output;
44
+ }
45
+ scrape(interface_, output) {
46
+ if (interface_ === 'interface:codeblock') {
47
+ const [_, ...lines] = (output.split('```')?.[1] ?? '').split('\n');
48
+ return `\`\`\`\n${lines.join('\n')}\n\`\`\``;
49
+ }
50
+ else {
51
+ return output;
52
+ }
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' });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AssistantService, decorators: [{
58
+ type: Injectable,
59
+ args: [{ providedIn: 'root' }]
60
+ }], ctorParameters: () => [{ type: i1.InfrastructureService }] });
61
+
62
+ /**
63
+ * Generated bundle index. Do not edit.
64
+ */
65
+
66
+ export { AssistantService };
67
+ //# sourceMappingURL=xxmachina-common-usecase-assistant.mjs.map