@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.
- package/_shared/auth/index.d.ts +8 -0
- package/_shared/auth/passports/anonymous/index.d.ts +8 -0
- package/_shared/auth/passports/firebase/index.d.ts +19 -0
- package/_shared/auth/passports/internal/index.d.ts +17 -0
- package/_shared/auth/passports/msal/index.d.ts +26 -0
- package/_shared/meta/index.d.ts +8 -0
- package/_shared/meta/redis/index.d.ts +39 -0
- package/auth/index.d.ts +16 -0
- package/azure-auth/index.d.ts +41 -0
- package/domain/builder/index.d.ts +81 -0
- package/domain/builder/screen-item/index.d.ts +7 -0
- package/domain/index.d.ts +2 -0
- package/domain/models/index.d.ts +517 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs +20 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs +41 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs +34 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs +49 -0
- package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-auth.mjs +25 -0
- package/fesm2022/xxmachina-common-_shared-auth.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-meta-redis.mjs +99 -0
- package/fesm2022/xxmachina-common-_shared-meta-redis.mjs.map +1 -0
- package/fesm2022/xxmachina-common-_shared-meta.mjs +26 -0
- package/fesm2022/xxmachina-common-_shared-meta.mjs.map +1 -0
- package/fesm2022/xxmachina-common-auth.mjs +17 -0
- package/fesm2022/xxmachina-common-auth.mjs.map +1 -0
- package/fesm2022/xxmachina-common-azure-auth.mjs +160 -0
- package/fesm2022/xxmachina-common-azure-auth.mjs.map +1 -0
- package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs +201 -0
- package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs.map +1 -0
- package/fesm2022/xxmachina-common-domain-builder.mjs +494 -0
- package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -0
- package/fesm2022/xxmachina-common-domain-models.mjs +841 -0
- package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -0
- package/fesm2022/xxmachina-common-domain.mjs +7 -0
- package/fesm2022/xxmachina-common-domain.mjs.map +1 -0
- package/fesm2022/xxmachina-common-firebase-auth.mjs +36 -0
- package/fesm2022/xxmachina-common-firebase-auth.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-converters-google.mjs +39 -0
- package/fesm2022/xxmachina-common-infra-converters-google.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external-data-connect.mjs +13 -0
- package/fesm2022/xxmachina-common-infra-external-data-connect.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external-quick-js.mjs +61 -0
- package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external-resend.mjs +10 -0
- package/fesm2022/xxmachina-common-infra-external-resend.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-external.mjs +35 -0
- package/fesm2022/xxmachina-common-infra-external.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-query-firestore.mjs +33 -0
- package/fesm2022/xxmachina-common-infra-query-firestore.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-query-hasura.mjs +20 -0
- package/fesm2022/xxmachina-common-infra-query-hasura.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs +18 -0
- package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-firestore.mjs +73 -0
- package/fesm2022/xxmachina-common-infra-repository-firestore.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-hasura.mjs +41 -0
- package/fesm2022/xxmachina-common-infra-repository-hasura.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra-repository-notion.mjs +105 -0
- package/fesm2022/xxmachina-common-infra-repository-notion.mjs.map +1 -0
- package/fesm2022/xxmachina-common-infra.mjs +368 -0
- package/fesm2022/xxmachina-common-infra.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain-builders.mjs +79 -0
- package/fesm2022/xxmachina-common-invoice-domain-builders.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain-models.mjs +432 -0
- package/fesm2022/xxmachina-common-invoice-domain-models.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs +41 -0
- package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-domain.mjs +8 -0
- package/fesm2022/xxmachina-common-invoice-domain.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs +27 -0
- package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs +191 -0
- package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-order.mjs +36 -0
- package/fesm2022/xxmachina-common-invoice-usecase-order.mjs.map +1 -0
- package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs +36 -0
- package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-graphql.mjs +323 -0
- package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-query-config.mjs +44 -0
- package/fesm2022/xxmachina-common-services-query-config.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-query.mjs +65 -0
- package/fesm2022/xxmachina-common-services-query.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-speech.mjs +178 -0
- package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -0
- package/fesm2022/xxmachina-common-services-transformer.mjs +27 -0
- package/fesm2022/xxmachina-common-services-transformer.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores-firestore.mjs +33 -0
- package/fesm2022/xxmachina-common-stores-firestore.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores-hasura.mjs +32 -0
- package/fesm2022/xxmachina-common-stores-hasura.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores-inmemory.mjs +102 -0
- package/fesm2022/xxmachina-common-stores-inmemory.mjs.map +1 -0
- package/fesm2022/xxmachina-common-stores.mjs +16 -0
- package/fesm2022/xxmachina-common-stores.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-assistant.mjs +67 -0
- package/fesm2022/xxmachina-common-usecase-assistant.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-database.mjs +95 -0
- package/fesm2022/xxmachina-common-usecase-database.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-graphql.mjs +51 -0
- package/fesm2022/xxmachina-common-usecase-graphql.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-link.mjs +26 -0
- package/fesm2022/xxmachina-common-usecase-link.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-project.mjs +35 -0
- package/fesm2022/xxmachina-common-usecase-project.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase-spec.mjs +45 -0
- package/fesm2022/xxmachina-common-usecase-spec.mjs.map +1 -0
- package/fesm2022/xxmachina-common-usecase.mjs +198 -0
- package/fesm2022/xxmachina-common-usecase.mjs.map +1 -0
- package/fesm2022/xxmachina-common-utils-crypto.mjs +30 -0
- package/fesm2022/xxmachina-common-utils-crypto.mjs.map +1 -0
- package/fesm2022/xxmachina-common-utils.mjs +53 -0
- package/fesm2022/xxmachina-common-utils.mjs.map +1 -0
- package/fesm2022/xxmachina-common.mjs +6 -0
- package/fesm2022/xxmachina-common.mjs.map +1 -0
- package/firebase-auth/index.d.ts +6 -0
- package/index.d.ts +1 -0
- package/infra/converters/google/index.d.ts +15 -0
- package/infra/external/data-connect/index.d.ts +7 -0
- package/infra/external/index.d.ts +24 -0
- package/infra/external/quick-js/index.d.ts +24 -0
- package/infra/external/resend/index.d.ts +16 -0
- package/infra/index.d.ts +206 -0
- package/infra/query/firestore/index.d.ts +20 -0
- package/infra/query/hasura/index.d.ts +9 -0
- package/infra/repository/dataconnect/index.d.ts +28 -0
- package/infra/repository/firestore/index.d.ts +42 -0
- package/infra/repository/hasura/index.d.ts +24 -0
- package/infra/repository/notion/index.d.ts +89 -0
- package/invoice/domain/builders/index.d.ts +31 -0
- package/invoice/domain/index.d.ts +3 -0
- package/invoice/domain/models/index.d.ts +78 -0
- package/invoice/domain/resolvers/index.d.ts +15 -0
- package/invoice/usecase/contract/index.d.ts +14 -0
- package/invoice/usecase/invoice/index.d.ts +34 -0
- package/invoice/usecase/order/index.d.ts +16 -0
- package/invoice/usecase/partner/index.d.ts +16 -0
- package/package.json +276 -0
- package/services/graphql/index.d.ts +97 -0
- package/services/query/config/index.d.ts +18 -0
- package/services/query/index.d.ts +29 -0
- package/services/speech/index.d.ts +37 -0
- package/services/transformer/index.d.ts +14 -0
- package/stores/firestore/index.d.ts +17 -0
- package/stores/hasura/index.d.ts +17 -0
- package/stores/index.d.ts +32 -0
- package/stores/inmemory/index.d.ts +33 -0
- package/usecase/assistant/index.d.ts +18 -0
- package/usecase/database/index.d.ts +39 -0
- package/usecase/graphql/index.d.ts +17 -0
- package/usecase/index.d.ts +73 -0
- package/usecase/link/index.d.ts +13 -0
- package/usecase/project/index.d.ts +16 -0
- package/usecase/spec/index.d.ts +17 -0
- package/utils/crypto/index.d.ts +9 -0
- 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
|