woodsportal-client-sdk 1.1.4-dev.20 → 1.1.4-dev.22

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/README.md CHANGED
@@ -175,7 +175,53 @@ cd path/to/your-app
175
175
  npm link woodsportal-client-sdk
176
176
  ```
177
177
 
178
- Consume with the same import path as npm: `import { api } from "woodsportal-client-sdk"`.
178
+ Consume with the same import paths as npm:
179
+
180
+ ```ts
181
+ import { api } from "woodsportal-client-sdk";
182
+ import { useTable, useSync } from "woodsportal-client-sdk/react";
183
+ // import { useTable, useSync } from "woodsportal-client-sdk/vue";
184
+ // import { useTable, useSync } from "woodsportal-client-sdk/angular";
185
+ ```
186
+
187
+ After `npm run build`, the main entry and framework adapters (`/react`, `/vue`, `/angular`) share one `store2` state via ESM code-splitting — API calls like `api.objects.list()` update the same stores your composables subscribe to.
188
+
189
+ ### React
190
+
191
+ ```tsx
192
+ import { useTable } from "woodsportal-client-sdk/react";
193
+
194
+ function ObjectsTable() {
195
+ const table = useTable();
196
+ // table.tableData, table.setTableData(...)
197
+ }
198
+ ```
199
+
200
+ ### Vue 3
201
+
202
+ Call composables inside `setup()` (or `<script setup>`):
203
+
204
+ ```vue
205
+ <script setup lang="ts">
206
+ import { useTable } from "woodsportal-client-sdk/vue";
207
+
208
+ const table = useTable();
209
+ </script>
210
+ ```
211
+
212
+ ### Angular (16+)
213
+
214
+ Call composables in an injection context (constructor, field initializer, or `runInInjectionContext`):
215
+
216
+ ```typescript
217
+ import { Component } from "@angular/core";
218
+ import { useTable } from "woodsportal-client-sdk/angular";
219
+
220
+ @Component({ /* ... */ })
221
+ export class ObjectsTableComponent {
222
+ readonly table = useTable();
223
+ }
224
+ ```
179
225
 
180
226
  ---
181
227
 
@@ -0,0 +1,22 @@
1
+ import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-Bk2Gp5Ws.js';
2
+
3
+ declare const useTable: () => TableState & {
4
+ setTableData(response: any): void;
5
+ setTablePrependData(response: any): Promise<void>;
6
+ };
7
+ declare const useNote: () => NoteState & {
8
+ setNotes(response: any): void;
9
+ setPrependNote(response: any): Promise<void>;
10
+ };
11
+ declare const useEmail: () => EmailState & {
12
+ setEmails(response: any): void;
13
+ setPrependEmail(response: any): Promise<void>;
14
+ };
15
+ declare const useSync: () => SyncState & {
16
+ setIsSyncLoading(status: boolean): void;
17
+ setSync(status: boolean): void;
18
+ setApiSync(status: boolean): void;
19
+ setSyncDisable(status: boolean): void;
20
+ };
21
+
22
+ export { useEmail, useNote, useSync, useTable };
@@ -0,0 +1,34 @@
1
+ import { bindStoreWithActions } from '../../chunk-Y5MRAAGK.js';
2
+ import { createAdapterHooks } from '../../chunk-QOHF4AKK.js';
3
+ import '../../chunk-YMGBH53P.js';
4
+ import '../../chunk-PZ5AY32C.js';
5
+ import { inject, DestroyRef, signal } from '@angular/core';
6
+
7
+ function createAngularStoreComposable(store, actions) {
8
+ return function useStore() {
9
+ const destroyRef = inject(DestroyRef);
10
+ const binding = bindStoreWithActions(store, actions);
11
+ const snapshot = signal(binding.getSnapshot());
12
+ destroyRef.onDestroy(
13
+ binding.subscribe(() => {
14
+ snapshot.set(binding.getSnapshot());
15
+ })
16
+ );
17
+ return new Proxy({}, {
18
+ get(_target, prop) {
19
+ const key = String(prop);
20
+ if (key in actions) {
21
+ return actions[key];
22
+ }
23
+ return snapshot()[key];
24
+ }
25
+ });
26
+ };
27
+ }
28
+
29
+ // src/adapters/angular/index.ts
30
+ var { useTable, useNote, useEmail, useSync } = createAdapterHooks(createAngularStoreComposable);
31
+
32
+ export { useEmail, useNote, useSync, useTable };
33
+ //# sourceMappingURL=index.js.map
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/shared/createAngularComposable.ts","../../../src/adapters/angular/index.ts"],"names":[],"mappings":";;;;;;AAGO,SAAS,4BAAA,CAGd,OAAkC,OAAA,EAAmB;AACnD,EAAA,OAAO,SAAS,QAAA,GAA8B;AAC1C,IAAA,MAAM,UAAA,GAAa,OAAO,UAAU,CAAA;AACpC,IAAA,MAAM,OAAA,GAAU,oBAAA,CAAqB,KAAA,EAAO,OAAO,CAAA;AACnD,IAAA,MAAM,QAAA,GAAW,MAAA,CAAO,OAAA,CAAQ,WAAA,EAAa,CAAA;AAE7C,IAAA,UAAA,CAAW,SAAA;AAAA,MACP,OAAA,CAAQ,UAAU,MAAM;AACpB,QAAA,QAAA,CAAS,GAAA,CAAI,OAAA,CAAQ,WAAA,EAAa,CAAA;AAAA,MACtC,CAAC;AAAA,KACL;AAEA,IAAA,OAAO,IAAI,KAAA,CAAM,EAAC,EAAwB;AAAA,MACtC,GAAA,CAAI,SAAS,IAAA,EAAM;AACf,QAAA,MAAM,GAAA,GAAM,OAAO,IAAI,CAAA;AACvB,QAAA,IAAI,OAAO,OAAA,EAAS;AAChB,UAAA,OAAQ,QAAoC,GAAG,CAAA;AAAA,QACnD;AACA,QAAA,OAAO,QAAA,GAAW,GAAmB,CAAA;AAAA,MACzC;AAAA,KACH,CAAA;AAAA,EACL,CAAA;AACJ;;;ACzBO,IAAM,EAAE,QAAA,EAAU,OAAA,EAAS,UAAU,OAAA,EAAQ,GAAI,mBAAmB,4BAA4B","file":"index.js","sourcesContent":["import { DestroyRef, inject, signal } from \"@angular/core\";\nimport { bindStoreWithActions, type SubscribableStore } from \"./bindStoreWithActions\";\n\nexport function createAngularStoreComposable<\n TState extends object,\n TActions extends object,\n>(store: SubscribableStore<TState>, actions: TActions) {\n return function useStore(): TState & TActions {\n const destroyRef = inject(DestroyRef);\n const binding = bindStoreWithActions(store, actions);\n const snapshot = signal(binding.getSnapshot());\n\n destroyRef.onDestroy(\n binding.subscribe(() => {\n snapshot.set(binding.getSnapshot());\n }),\n );\n\n return new Proxy({} as TState & TActions, {\n get(_target, prop) {\n const key = String(prop);\n if (key in actions) {\n return (actions as Record<string, unknown>)[key];\n }\n return snapshot()[key as keyof TState];\n },\n });\n };\n}\n","import { createAdapterHooks } from \"../shared/createAdapterHooks\";\nimport { createAngularStoreComposable } from \"../shared/createAngularComposable\";\n\nexport const { useTable, useNote, useEmail, useSync } = createAdapterHooks(createAngularStoreComposable);\n"]}
@@ -1,33 +1,22 @@
1
- declare function useSync(): {
2
- setIsSyncLoading(status: boolean): void;
3
- setSync(status: boolean): void;
4
- setApiSync(status: boolean): void;
5
- setSyncDisable(status: boolean): void;
6
- apiSync: boolean;
7
- sync: boolean;
8
- isSyncLoading: boolean;
9
- isSyncDisable: boolean;
10
- };
1
+ import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-Bk2Gp5Ws.js';
11
2
 
12
- declare function useTable(): {
3
+ declare const useTable: () => TableState & {
13
4
  setTableData(response: any): void;
14
5
  setTablePrependData(response: any): Promise<void>;
15
- tableData: any;
16
- tablePrependData: any[];
17
6
  };
18
-
19
- declare function useNote(): {
7
+ declare const useNote: () => NoteState & {
20
8
  setNotes(response: any): void;
21
9
  setPrependNote(response: any): Promise<void>;
22
- notes: any;
23
- prependNotes: any[];
24
10
  };
25
-
26
- declare function useEmail(): {
11
+ declare const useEmail: () => EmailState & {
27
12
  setEmails(response: any): void;
28
13
  setPrependEmail(response: any): Promise<void>;
29
- emails: any;
30
- prependEmails: any[];
14
+ };
15
+ declare const useSync: () => SyncState & {
16
+ setIsSyncLoading(status: boolean): void;
17
+ setSync(status: boolean): void;
18
+ setApiSync(status: boolean): void;
19
+ setSyncDisable(status: boolean): void;
31
20
  };
32
21
 
33
22
  export { useEmail, useNote, useSync, useTable };
@@ -1,290 +1,18 @@
1
+ import { createAdapterHooks } from '../../chunk-QOHF4AKK.js';
2
+ import '../../chunk-YMGBH53P.js';
3
+ import '../../chunk-PZ5AY32C.js';
1
4
  import { useSyncExternalStore } from 'react';
2
5
 
3
- // src/adapters/react/useSync.ts
4
-
5
- // src/store2/store.ts
6
- function createStore(initialState) {
7
- let state = initialState;
8
- const listeners = /* @__PURE__ */ new Set();
9
- return {
10
- getState() {
11
- return state;
12
- },
13
- setState(partial) {
14
- state = {
15
- ...state,
16
- ...partial
17
- };
18
- listeners.forEach(
19
- (listener) => listener(state)
20
- );
21
- },
22
- subscribe(listener) {
23
- listeners.add(listener);
24
- return () => listeners.delete(listener);
25
- }
26
- };
27
- }
28
-
29
- // src/store2/use-table.ts
30
- var tableStore = createStore({
31
- tableData: [],
32
- tablePrependData: []
33
- });
34
- var actions = {
35
- setTableData(response) {
36
- tableStore.setState({
37
- tableData: response
38
- });
39
- },
40
- async setTablePrependData(response) {
41
- const state = tableStore.getState();
42
- let rows = [];
43
- if (response === "loading") {
44
- const row = await state.tableData?.data?.results?.columns.reduce((acc, item) => {
45
- if (!item.hidden) {
46
- acc[item.key] = "loading";
47
- }
48
- return acc;
49
- }, {});
50
- rows = [row, ...state.tablePrependData];
51
- } else if (response?.data) {
52
- const data = response?.data;
53
- if (!data) {
54
- tableStore.setState({
55
- tablePrependData: []
56
- });
57
- }
58
- const row = await Object.fromEntries(
59
- Object.entries(data).map(([key, value]) => [
60
- key,
61
- value?.value ?? value
62
- ])
63
- );
64
- rows = [...state.tablePrependData];
65
- if (rows.length > 0) {
66
- rows[0] = row;
67
- } else {
68
- rows.push(row);
69
- }
70
- }
71
- tableStore.setState({
72
- tablePrependData: rows
73
- });
74
- }
75
- };
76
- function useTable() {
77
- const tableState = tableStore.getState();
78
- return {
79
- ...tableState,
80
- ...actions
81
- };
82
- }
83
-
84
- // src/store2/use-note.ts
85
- var noteStore = createStore({
86
- notes: [],
87
- prependNotes: []
88
- });
89
- var actions2 = {
90
- setNotes(response) {
91
- noteStore.setState({
92
- notes: response
93
- });
94
- },
95
- async setPrependNote(response) {
96
- const state = noteStore.getState();
97
- let rows = [];
98
- if (response === "loading") {
99
- const row = await state.notes?.data?.results?.columns.reduce((acc, item) => {
100
- if (!item.hidden) {
101
- acc[item.key] = "loading";
102
- }
103
- return acc;
104
- }, {});
105
- rows = [row, ...state.prependNotes];
106
- } else if (response?.data) {
107
- const data = response?.data;
108
- if (!data) {
109
- noteStore.setState({
110
- prependNotes: []
111
- });
112
- }
113
- const row = await Object.fromEntries(
114
- Object.entries(data).map(([key, value]) => [
115
- key,
116
- value?.value ?? value
117
- ])
118
- );
119
- rows = [...state.prependNotes];
120
- if (rows.length > 0) {
121
- rows[0] = row;
122
- } else {
123
- rows.push(row);
124
- }
125
- }
126
- noteStore.setState({
127
- prependNotes: rows
128
- });
129
- }
130
- };
131
- function useNote() {
132
- const noteState = noteStore.getState();
133
- return {
134
- ...noteState,
135
- ...actions2
136
- };
137
- }
138
-
139
- // src/store2/use-email.ts
140
- var emailStore = createStore({
141
- emails: [],
142
- prependEmails: []
143
- });
144
- var actions3 = {
145
- setEmails(response) {
146
- emailStore.setState({
147
- emails: response
148
- });
149
- },
150
- async setPrependEmail(response) {
151
- const state = emailStore.getState();
152
- let rows = [];
153
- if (response === "loading") {
154
- const row = await state.emails?.data?.results?.columns.reduce((acc, item) => {
155
- if (!item.hidden) {
156
- acc[item.key] = "loading";
157
- }
158
- return acc;
159
- }, {});
160
- rows = [row, ...state.prependEmails];
161
- } else if (response?.data) {
162
- const data = response?.data;
163
- if (!data) {
164
- emailStore.setState({
165
- prependEmails: []
166
- });
167
- }
168
- const row = await Object.fromEntries(
169
- Object.entries(data).map(([key, value]) => [
170
- key,
171
- value?.value ?? value
172
- ])
173
- );
174
- rows = [...state.prependEmails];
175
- if (rows.length > 0) {
176
- rows[0] = row;
177
- } else {
178
- rows.push(row);
179
- }
180
- }
181
- emailStore.setState({
182
- prependEmails: rows
183
- });
184
- }
185
- };
186
- function useEmail() {
187
- const emailState = emailStore.getState();
188
- return {
189
- ...emailState,
190
- ...actions3
6
+ function createReactStoreComposable(store, actions) {
7
+ return function useStore() {
8
+ const state = useSyncExternalStore(store.subscribe, store.getState, store.getState);
9
+ return { ...state, ...actions };
191
10
  };
192
11
  }
193
12
 
194
- // src/store2/use-sync.ts
195
- var syncStore = createStore({
196
- apiSync: false,
197
- sync: false,
198
- isSyncLoading: false,
199
- isSyncDisable: false
200
- });
201
- var actions4 = {
202
- setIsSyncLoading(status) {
203
- syncStore.setState({
204
- isSyncLoading: status,
205
- sync: status
206
- });
207
- },
208
- setSync(status) {
209
- resetAllStore();
210
- syncStore.setState({
211
- isSyncLoading: status,
212
- sync: status
213
- });
214
- },
215
- setApiSync(status) {
216
- syncStore.setState({
217
- isSyncLoading: status,
218
- apiSync: status
219
- });
220
- },
221
- setSyncDisable(status) {
222
- syncStore.setState({
223
- isSyncDisable: status
224
- });
225
- }
226
- };
227
- var resetAllStore = () => {
228
- const {
229
- setTablePrependData
230
- } = useTable();
231
- setTablePrependData([]);
232
- const {
233
- setPrependNote
234
- } = useNote();
235
- setPrependNote([]);
236
- const {
237
- setPrependEmail
238
- } = useEmail();
239
- setPrependEmail([]);
240
- };
241
-
242
- // src/adapters/react/useSync.ts
243
- function useSync() {
244
- const state = useSyncExternalStore(
245
- syncStore.subscribe,
246
- syncStore.getState,
247
- syncStore.getState
248
- );
249
- return {
250
- ...state,
251
- ...actions4
252
- };
253
- }
254
- function useTable2() {
255
- const state = useSyncExternalStore(
256
- tableStore.subscribe,
257
- tableStore.getState,
258
- tableStore.getState
259
- );
260
- return {
261
- ...state,
262
- ...actions
263
- };
264
- }
265
- function useNote2() {
266
- const state = useSyncExternalStore(
267
- noteStore.subscribe,
268
- noteStore.getState,
269
- noteStore.getState
270
- );
271
- return {
272
- ...state,
273
- ...actions2
274
- };
275
- }
276
- function useEmail2() {
277
- const state = useSyncExternalStore(
278
- emailStore.subscribe,
279
- emailStore.getState,
280
- emailStore.getState
281
- );
282
- return {
283
- ...state,
284
- ...actions3
285
- };
286
- }
13
+ // src/adapters/react/index.ts
14
+ var { useTable, useNote, useEmail, useSync } = createAdapterHooks(createReactStoreComposable);
287
15
 
288
- export { useEmail2 as useEmail, useNote2 as useNote, useSync, useTable2 as useTable };
16
+ export { useEmail, useNote, useSync, useTable };
289
17
  //# sourceMappingURL=index.js.map
290
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/store2/store.ts","../../../src/store2/use-table.ts","../../../src/store2/use-note.ts","../../../src/store2/use-email.ts","../../../src/store2/use-sync.ts","../../../src/adapters/react/useSync.ts","../../../src/adapters/react/useTable.ts","../../../src/adapters/react/useNote.ts","../../../src/adapters/react/useEmail.ts"],"names":["actions","useTable","useSyncExternalStore","useNote","useEmail"],"mappings":"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","file":"index.js","sourcesContent":["type Listener<T> = (state: T) => void;\n\nexport function createStore<T>(initialState: T) {\n let state = initialState;\n\n const listeners = new Set<Listener<T>>();\n\n return {\n getState() {\n return state;\n },\n\n setState(partial: Partial<T>) {\n state = {\n ...state,\n ...partial,\n };\n\n listeners.forEach((listener) =>\n listener(state)\n );\n },\n\n subscribe(listener: Listener<T>) {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n },\n };\n}","import { createStore } from \"./store\";\n\ninterface TableState {\n tableData: any;\n tablePrependData: any[];\n}\n\nexport const tableStore = createStore<TableState>({\n tableData: [],\n tablePrependData: [],\n});\n\nexport const actions = {\n\n setTableData(\n response: any\n ) {\n // tableStore.setState({\n // tablePrependData: []\n // });\n\n tableStore.setState({\n tableData: response,\n });\n },\n\n async setTablePrependData(\n response: any\n ) {\n const state: any = tableStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.tableData?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = \"loading\";\n }\n return acc;\n }, {});\n rows = [row, ...state.tablePrependData];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n tableStore.setState({\n tablePrependData: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.tablePrependData];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n tableStore.setState({\n tablePrependData: rows\n });\n }\n}\n\nexport function useTable() {\n const tableState: any = tableStore.getState()\n return {\n ...tableState, ...actions\n }\n}","import { createStore } from \"./store\";\n\ninterface NoteState {\n notes: any;\n prependNotes: any[];\n}\n\nexport const noteStore = createStore<NoteState>({\n notes: [],\n prependNotes: [],\n});\n\nexport const actions = {\n\n setNotes(\n response: any\n ) {\n // noteStore.setState({\n // prependNotes: []\n // });\n\n noteStore.setState({\n notes: response,\n });\n },\n\n async setPrependNote(\n response: any\n ) {\n const state: any = noteStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.notes?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = \"loading\";\n }\n return acc;\n }, {});\n rows = [row, ...state.prependNotes];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n noteStore.setState({\n prependNotes: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.prependNotes];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n noteStore.setState({\n prependNotes: rows\n });\n }\n}\n\nexport function useNote() {\n const noteState: any = noteStore.getState()\n return {\n ...noteState, ...actions\n }\n}","import { createStore } from \"./store\";\n\ninterface EmailState {\n emails: any;\n prependEmails: any[];\n}\n\nexport const emailStore = createStore<EmailState>({\n emails: [],\n prependEmails: [],\n});\n\nexport const actions = {\n\n setEmails(\n response: any\n ) {\n // emailStore.setState({\n // prependEmails: []\n // });\n\n emailStore.setState({\n emails: response,\n });\n },\n\n async setPrependEmail(\n response: any\n ) {\n const state: any = emailStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.emails?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = \"loading\";\n }\n return acc;\n }, {});\n rows = [row, ...state.prependEmails];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n emailStore.setState({\n prependEmails: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.prependEmails];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n emailStore.setState({\n prependEmails: rows\n });\n }\n}\n\nexport function useEmail() {\n const emailState: any = emailStore.getState()\n return {\n ...emailState, ...actions\n }\n}","import { createStore } from \"./store\";\nimport { useTable } from \"../store2/use-table\";\nimport { useNote } from \"../store2/use-note\";\nimport { useEmail } from \"../store2/use-email\";\n\ninterface SyncState {\n apiSync: boolean;\n sync: boolean;\n isSyncLoading: boolean;\n isSyncDisable: boolean;\n}\n\nexport const syncStore = createStore<SyncState>({\n apiSync: false,\n sync: false,\n isSyncLoading: false,\n isSyncDisable: false,\n});\n\nexport const actions = {\n setIsSyncLoading(status: boolean) {\n syncStore.setState({\n isSyncLoading: status,\n sync: status,\n });\n },\n\n setSync(status: boolean) {\n resetAllStore()\n syncStore.setState({\n isSyncLoading: status,\n sync: status,\n });\n },\n\n setApiSync(status: boolean) {\n syncStore.setState({\n isSyncLoading: status,\n apiSync: status,\n });\n },\n\n setSyncDisable(status: boolean) {\n syncStore.setState({\n isSyncDisable: status,\n });\n },\n};\n\nconst resetAllStore = () => {\n const {\n setTablePrependData\n }: any = useTable();\n setTablePrependData([])\n\n const {\n setPrependNote\n }: any = useNote();\n setPrependNote([])\n\n const {\n setPrependEmail\n }: any = useEmail();\n setPrependEmail([])\n}\n\nexport function useSync() {\n const syncState = syncStore.getState();\n\n return {\n ...syncState,\n ...actions,\n };\n}","import { useSyncExternalStore } from \"react\";\nimport { syncStore, actions } from \"../../store2/use-sync\";\n\nexport function useSync() {\n const state = useSyncExternalStore(\n syncStore.subscribe,\n syncStore.getState,\n syncStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}\n","import { useSyncExternalStore } from \"react\";\nimport { tableStore, actions } from \"../../store2/use-table\";\n\nexport function useTable() {\n const state = useSyncExternalStore(\n tableStore.subscribe,\n tableStore.getState,\n tableStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}","import { useSyncExternalStore } from \"react\";\nimport { noteStore, actions } from \"../../store2/use-note\";\n\nexport function useNote() {\n const state = useSyncExternalStore(\n noteStore.subscribe,\n noteStore.getState,\n noteStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}","import { useSyncExternalStore } from \"react\";\nimport { emailStore, actions } from \"../../store2/use-email\";\n\nexport function useEmail() {\n const state = useSyncExternalStore(\n emailStore.subscribe,\n emailStore.getState,\n emailStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}"]}
1
+ {"version":3,"sources":["../../../src/adapters/shared/createReactComposable.ts","../../../src/adapters/react/index.ts"],"names":[],"mappings":";;;;;AAGO,SAAS,0BAAA,CAGd,OAAkC,OAAA,EAAmB;AACnD,EAAA,OAAO,SAAS,QAAA,GAA8B;AAC1C,IAAA,MAAM,QAAQ,oBAAA,CAAqB,KAAA,CAAM,WAAW,KAAA,CAAM,QAAA,EAAU,MAAM,QAAQ,CAAA;AAClF,IAAA,OAAO,EAAE,GAAG,KAAA,EAAO,GAAG,OAAA,EAAQ;AAAA,EAClC,CAAA;AACJ;;;ACRO,IAAM,EAAE,QAAA,EAAU,OAAA,EAAS,UAAU,OAAA,EAAQ,GAAI,mBAAmB,0BAA0B","file":"index.js","sourcesContent":["import { useSyncExternalStore } from \"react\";\nimport type { SubscribableStore } from \"./bindStoreWithActions\";\n\nexport function createReactStoreComposable<\n TState extends object,\n TActions extends object,\n>(store: SubscribableStore<TState>, actions: TActions) {\n return function useStore(): TState & TActions {\n const state = useSyncExternalStore(store.subscribe, store.getState, store.getState);\n return { ...state, ...actions };\n };\n}\n","import { createAdapterHooks } from \"../shared/createAdapterHooks\";\nimport { createReactStoreComposable } from \"../shared/createReactComposable\";\n\nexport const { useTable, useNote, useEmail, useSync } = createAdapterHooks(createReactStoreComposable);\n"]}
@@ -0,0 +1,22 @@
1
+ import { E as EmailState, N as NoteState, S as SyncState, T as TableState } from '../../use-sync-Bk2Gp5Ws.js';
2
+
3
+ declare const useTable: () => TableState & {
4
+ setTableData(response: any): void;
5
+ setTablePrependData(response: any): Promise<void>;
6
+ };
7
+ declare const useNote: () => NoteState & {
8
+ setNotes(response: any): void;
9
+ setPrependNote(response: any): Promise<void>;
10
+ };
11
+ declare const useEmail: () => EmailState & {
12
+ setEmails(response: any): void;
13
+ setPrependEmail(response: any): Promise<void>;
14
+ };
15
+ declare const useSync: () => SyncState & {
16
+ setIsSyncLoading(status: boolean): void;
17
+ setSync(status: boolean): void;
18
+ setApiSync(status: boolean): void;
19
+ setSyncDisable(status: boolean): void;
20
+ };
21
+
22
+ export { useEmail, useNote, useSync, useTable };
@@ -0,0 +1,25 @@
1
+ import { bindStoreWithActions } from '../../chunk-Y5MRAAGK.js';
2
+ import { createAdapterHooks } from '../../chunk-QOHF4AKK.js';
3
+ import '../../chunk-YMGBH53P.js';
4
+ import '../../chunk-PZ5AY32C.js';
5
+ import { reactive, onScopeDispose } from 'vue';
6
+
7
+ function createVueStoreComposable(store, actions) {
8
+ return function useStore() {
9
+ const binding = bindStoreWithActions(store, actions);
10
+ const state = reactive(binding.getSnapshot());
11
+ onScopeDispose(
12
+ binding.subscribe(() => {
13
+ Object.assign(state, binding.getSnapshot());
14
+ })
15
+ );
16
+ return state;
17
+ };
18
+ }
19
+
20
+ // src/adapters/vue/index.ts
21
+ var { useTable, useNote, useEmail, useSync } = createAdapterHooks(createVueStoreComposable);
22
+
23
+ export { useEmail, useNote, useSync, useTable };
24
+ //# sourceMappingURL=index.js.map
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/adapters/shared/createVueComposable.ts","../../../src/adapters/vue/index.ts"],"names":[],"mappings":";;;;;;AAGO,SAAS,wBAAA,CAGd,OAAkC,OAAA,EAAmB;AACnD,EAAA,OAAO,SAAS,QAAA,GAA8B;AAC1C,IAAA,MAAM,OAAA,GAAU,oBAAA,CAAqB,KAAA,EAAO,OAAO,CAAA;AACnD,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,OAAA,CAAQ,WAAA,EAAa,CAAA;AAE5C,IAAA,cAAA;AAAA,MACI,OAAA,CAAQ,UAAU,MAAM;AACpB,QAAA,MAAA,CAAO,MAAA,CAAO,KAAA,EAAO,OAAA,CAAQ,WAAA,EAAa,CAAA;AAAA,MAC9C,CAAC;AAAA,KACL;AAEA,IAAA,OAAO,KAAA;AAAA,EACX,CAAA;AACJ;;;AChBO,IAAM,EAAE,QAAA,EAAU,OAAA,EAAS,UAAU,OAAA,EAAQ,GAAI,mBAAmB,wBAAwB","file":"index.js","sourcesContent":["import { onScopeDispose, reactive } from \"vue\";\nimport { bindStoreWithActions, type SubscribableStore } from \"./bindStoreWithActions\";\n\nexport function createVueStoreComposable<\n TState extends object,\n TActions extends object,\n>(store: SubscribableStore<TState>, actions: TActions) {\n return function useStore(): TState & TActions {\n const binding = bindStoreWithActions(store, actions);\n const state = reactive(binding.getSnapshot()) as TState & TActions;\n\n onScopeDispose(\n binding.subscribe(() => {\n Object.assign(state, binding.getSnapshot());\n }),\n );\n\n return state;\n };\n}\n","import { createAdapterHooks } from \"../shared/createAdapterHooks\";\nimport { createVueStoreComposable } from \"../shared/createVueComposable\";\n\nexport const { useTable, useNote, useEmail, useSync } = createAdapterHooks(createVueStoreComposable);\n"]}
@@ -0,0 +1,4 @@
1
+ export { getPortal, getProfile, getRefreshToken, getSubscriptionType, setAccessToken, setLoggedInDetails, setPortal, setRefreshToken, setSubscriptionType } from './chunk-FLWPTIGZ.js';
2
+ import './chunk-PZ5AY32C.js';
3
+ //# sourceMappingURL=auth-utils-5SMVN55N.js.map
4
+ //# sourceMappingURL=auth-utils-5SMVN55N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"auth-utils-5SMVN55N.js"}