@miurajs/miura-data-flow 0.0.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +187 -16
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/global-state.d.ts +79 -0
  7. package/dist/src/global-state.d.ts.map +1 -0
  8. package/dist/src/global-state.js +111 -0
  9. package/dist/src/global-state.js.map +1 -0
  10. package/dist/src/middleware.d.ts +38 -0
  11. package/dist/src/middleware.d.ts.map +1 -0
  12. package/dist/src/middleware.js +143 -0
  13. package/dist/src/middleware.js.map +1 -0
  14. package/{src/miura-data-flow.ts → dist/src/miura-data-flow.d.ts} +38 -67
  15. package/dist/src/miura-data-flow.d.ts.map +1 -0
  16. package/dist/src/miura-data-flow.js +96 -0
  17. package/dist/src/miura-data-flow.js.map +1 -0
  18. package/{src/providers/index.ts → dist/src/providers/index.d.ts} +1 -5
  19. package/dist/src/providers/index.d.ts.map +1 -0
  20. package/dist/src/providers/index.js +11 -0
  21. package/dist/src/providers/index.js.map +1 -0
  22. package/dist/src/providers/indexed-db-provider.d.ts +9 -0
  23. package/dist/src/providers/indexed-db-provider.d.ts.map +1 -0
  24. package/dist/src/providers/indexed-db-provider.js +35 -0
  25. package/dist/src/providers/indexed-db-provider.js.map +1 -0
  26. package/dist/src/providers/local-storage-provider.d.ts +7 -0
  27. package/dist/src/providers/local-storage-provider.d.ts.map +1 -0
  28. package/dist/src/providers/local-storage-provider.js +29 -0
  29. package/dist/src/providers/local-storage-provider.js.map +1 -0
  30. package/dist/src/providers/provider-manager.d.ts +4 -0
  31. package/dist/src/providers/provider-manager.d.ts.map +1 -0
  32. package/dist/src/providers/provider-manager.js +15 -0
  33. package/dist/src/providers/provider-manager.js.map +1 -0
  34. package/dist/src/providers/provider.d.ts +12 -0
  35. package/dist/src/providers/provider.d.ts.map +1 -0
  36. package/dist/src/providers/provider.js +2 -0
  37. package/dist/src/providers/provider.js.map +1 -0
  38. package/dist/src/providers/rest-provider.d.ts +86 -0
  39. package/dist/src/providers/rest-provider.d.ts.map +1 -0
  40. package/dist/src/providers/rest-provider.js +210 -0
  41. package/dist/src/providers/rest-provider.js.map +1 -0
  42. package/dist/src/providers/websockets-provider.d.ts +9 -0
  43. package/dist/src/providers/websockets-provider.d.ts.map +1 -0
  44. package/dist/src/providers/websockets-provider.js +43 -0
  45. package/dist/src/providers/websockets-provider.js.map +1 -0
  46. package/dist/src/store.d.ts +94 -0
  47. package/dist/src/store.d.ts.map +1 -0
  48. package/dist/src/store.js +169 -0
  49. package/dist/src/store.js.map +1 -0
  50. package/dist/tsconfig.tsbuildinfo +1 -0
  51. package/package.json +34 -7
  52. package/src/providers/graphql-provider.ts +13 -7
  53. package/index.ts +0 -1
  54. package/src/global-state.ts +0 -158
  55. package/src/middleware.ts +0 -162
  56. package/src/providers/indexed-db-provider.ts +0 -48
  57. package/src/providers/local-storage-provider.ts +0 -36
  58. package/src/providers/provider-manager.ts +0 -21
  59. package/src/providers/provider.ts +0 -23
  60. package/src/providers/rest-provider.ts +0 -351
  61. package/src/providers/websockets-provider.ts +0 -54
  62. package/src/store.ts +0 -237
  63. package/stories/data-flow-demo.stories.ts +0 -640
  64. package/tsconfig.json +0 -17
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Logger middleware for debugging
3
+ */
4
+ export function createLoggerMiddleware() {
5
+ return {
6
+ name: 'logger',
7
+ before: (action, args, state) => {
8
+ console.group(`🔄 Action: ${action}`);
9
+ console.log('Arguments:', args);
10
+ console.log('Current State:', state);
11
+ },
12
+ after: (action, args, state, result) => {
13
+ console.log('New State:', state);
14
+ console.log('Result:', result);
15
+ console.groupEnd();
16
+ },
17
+ error: (action, args, error) => {
18
+ console.error(`❌ Action Error: ${action}`, error);
19
+ console.groupEnd();
20
+ }
21
+ };
22
+ }
23
+ /**
24
+ * Persistence middleware for localStorage
25
+ */
26
+ export function createPersistenceMiddleware(keys, storageKey = 'miura-store') {
27
+ return {
28
+ name: 'persistence',
29
+ after: (action, args, state) => {
30
+ // Persist relevant keys after every action
31
+ try {
32
+ const toPersist = {};
33
+ keys.forEach(key => {
34
+ if (key in state) {
35
+ toPersist[key] = state[key];
36
+ }
37
+ });
38
+ localStorage.setItem(storageKey, JSON.stringify(toPersist));
39
+ }
40
+ catch (error) {
41
+ console.warn('Failed to persist state:', error);
42
+ }
43
+ }
44
+ };
45
+ }
46
+ /**
47
+ * Loads persisted state from localStorage.
48
+ * Call this to get initial state when creating a store:
49
+ * const persisted = loadPersistedState(['user', 'theme']);
50
+ * const store = new Store({ ...defaults, ...persisted });
51
+ */
52
+ export function loadPersistedState(keys, storageKey = 'miura-store') {
53
+ try {
54
+ const persisted = localStorage.getItem(storageKey);
55
+ if (persisted) {
56
+ const parsed = JSON.parse(persisted);
57
+ const result = {};
58
+ keys.forEach(key => {
59
+ if (key in parsed) {
60
+ result[key] = parsed[key];
61
+ }
62
+ });
63
+ return result;
64
+ }
65
+ }
66
+ catch (error) {
67
+ console.warn('Failed to load persisted state:', error);
68
+ }
69
+ return {};
70
+ }
71
+ /**
72
+ * API middleware for automatic API calls
73
+ */
74
+ export function createApiMiddleware(apiConfig) {
75
+ const apiFetch = async (endpoint, options) => {
76
+ const method = options?.method || 'GET';
77
+ const data = options?.data;
78
+ const response = await fetch(`${apiConfig.baseURL}${endpoint}`, {
79
+ method,
80
+ headers: {
81
+ 'Content-Type': 'application/json',
82
+ ...apiConfig.headers
83
+ },
84
+ body: data ? JSON.stringify(data) : undefined,
85
+ signal: apiConfig.timeout ? AbortSignal.timeout(apiConfig.timeout) : undefined
86
+ });
87
+ if (!response.ok) {
88
+ throw new Error(`API Error: ${response.status} ${response.statusText}`);
89
+ }
90
+ return response.json();
91
+ };
92
+ return {
93
+ name: 'api',
94
+ fetch: apiFetch
95
+ };
96
+ }
97
+ /**
98
+ * Cache middleware for API responses
99
+ */
100
+ export function createCacheMiddleware(ttl = 5 * 60 * 1000) {
101
+ const cache = new Map();
102
+ return {
103
+ name: 'cache',
104
+ before: async (action, args, state) => {
105
+ if (action.startsWith('api_')) {
106
+ const cacheKey = `${action}_${JSON.stringify(args)}`;
107
+ const cached = cache.get(cacheKey);
108
+ if (cached && Date.now() - cached.timestamp < ttl) {
109
+ // Return cached data
110
+ const endpoint = action.replace('api_', '');
111
+ state[`${endpoint}_data`] = cached.data;
112
+ state[`${endpoint}_loading`] = false;
113
+ state[`${endpoint}_error`] = null;
114
+ return;
115
+ }
116
+ }
117
+ },
118
+ after: (action, args, state) => {
119
+ if (action.startsWith('api_')) {
120
+ const cacheKey = `${action}_${JSON.stringify(args)}`;
121
+ const endpoint = action.replace('api_', '');
122
+ const data = state[`${endpoint}_data`];
123
+ if (data) {
124
+ cache.set(cacheKey, { data, timestamp: Date.now() });
125
+ }
126
+ }
127
+ }
128
+ };
129
+ }
130
+ /**
131
+ * DevTools middleware for Redux DevTools integration
132
+ */
133
+ export function createDevToolsMiddleware(storeName = 'miuraStore') {
134
+ return {
135
+ name: 'devtools',
136
+ after: (action, args, state) => {
137
+ if (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__) {
138
+ window.__REDUX_DEVTOOLS_EXTENSION__.send({ type: action, payload: args }, state, storeName);
139
+ }
140
+ }
141
+ };
142
+ }
143
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,14 @@
1
- // miuraDataFlow main entry point
2
-
3
- // Core exports
4
1
  export { Store, type StoreState, type StoreActions, type StoreMiddleware } from './store';
5
2
  export { GlobalStateManager, globalState, type GlobalState } from './global-state';
6
-
7
- // Middleware exports
8
- export {
9
- createLoggerMiddleware,
10
- createPersistenceMiddleware,
11
- loadPersistedState,
12
- createApiMiddleware,
13
- createCacheMiddleware,
14
- createDevToolsMiddleware
15
- } from './middleware';
16
-
17
- // Provider exports
3
+ export { createLoggerMiddleware, createPersistenceMiddleware, loadPersistedState, createApiMiddleware, createCacheMiddleware, createDevToolsMiddleware } from './middleware';
18
4
  export * from './providers';
19
-
20
- // Import for default export
21
5
  import { Store } from './store';
22
- import { GlobalStateManager, globalState } from './global-state';
23
- import {
24
- createLoggerMiddleware,
25
- createPersistenceMiddleware,
26
- loadPersistedState,
27
- createApiMiddleware,
28
- createCacheMiddleware,
29
- createDevToolsMiddleware
30
- } from './middleware';
6
+ import { GlobalStateManager } from './global-state';
7
+ import { createLoggerMiddleware, createPersistenceMiddleware, loadPersistedState, createApiMiddleware, createCacheMiddleware, createDevToolsMiddleware } from './middleware';
31
8
  import * as providers from './providers';
32
-
33
9
  /**
34
10
  * miura Data Flow - Modern State Management
35
- *
11
+ *
36
12
  * Features:
37
13
  * - Reactive state management with subscriptions
38
14
  * - Middleware system for logging, persistence, API calls
@@ -41,74 +17,69 @@ import * as providers from './providers';
41
17
  * - Redux DevTools support
42
18
  * - TypeScript support
43
19
  * - Extensible provider system for connecting to any data source
44
- *
20
+ *
45
21
  * Usage:
46
- *
22
+ *
47
23
  * // Create a store
48
24
  * const store = new Store({ count: 0, user: null });
49
- *
25
+ *
50
26
  * // Define actions
51
27
  * store.defineActions({
52
28
  * increment: (state) => ({ count: state.count + 1 }),
53
29
  * setUser: (state, user) => ({ user })
54
30
  * });
55
- *
31
+ *
56
32
  * // Add middleware
57
33
  * store.use(createLoggerMiddleware());
58
34
  * store.use(createPersistenceMiddleware(['user']));
59
- *
35
+ *
60
36
  * // Subscribe to changes
61
37
  * const unsubscribe = store.subscribe((state, prevState) => {
62
38
  * console.log('State changed:', state);
63
39
  * });
64
- *
40
+ *
65
41
  * // Dispatch actions
66
42
  * await store.dispatch('increment');
67
43
  * await store.dispatch('setUser', { id: '1', name: 'John' });
68
- *
44
+ *
69
45
  * // Using Data Providers
70
46
  * // 1. Register a provider factory (e.g., in your app's entry point)
71
47
  * providers.registerProvider('restApi', new providers.RestProviderFactory());
72
- *
48
+ *
73
49
  * // 2. Create an instance of the provider
74
50
  * const apiProvider = providers.createProvider('restApi', { baseUrl: 'https://my-api.com' });
75
- *
51
+ *
76
52
  * // 3. Use the provider, for example in custom middleware
77
53
  * // const user = await apiProvider.get('123', { endpoint: 'users' });
78
- *
54
+ *
79
55
  * // Global state
80
56
  * globalState.set('theme', 'dark');
81
57
  * globalState.subscribeTo('my-component', 'theme', (theme) => {
82
58
  * console.log('Theme changed:', theme);
83
59
  * });
84
60
  */
85
-
86
- // Default export for convenience
87
- export default {
88
- Store,
89
- GlobalStateManager,
90
- globalState,
91
- middleware: {
92
- createLoggerMiddleware,
93
- createPersistenceMiddleware,
94
- loadPersistedState,
95
- createApiMiddleware,
96
- createCacheMiddleware,
97
- createDevToolsMiddleware
98
- },
99
- providers: {
100
- registerProvider: providers.registerProvider,
101
- createProvider: providers.createProvider,
102
- factories: {
103
- RestProviderFactory: providers.RestProviderFactory,
104
- GraphQLProviderFactory: providers.GraphQLProviderFactory,
105
- S3ProviderFactory: providers.S3ProviderFactory,
106
- LocalStorageProviderFactory: providers.LocalStorageProviderFactory,
107
- IndexedDBProviderFactory: providers.IndexedDBProviderFactory,
108
- WebSocketProviderFactory: providers.WebSocketProviderFactory,
109
- FirebaseProviderFactory: providers.FirebaseProviderFactory,
110
- SupabaseProviderFactory: providers.SupabaseProviderFactory,
111
- GrpcWebProviderFactory: providers.GrpcWebProviderFactory,
112
- }
113
- }
61
+ declare const _default: {
62
+ Store: typeof Store;
63
+ GlobalStateManager: typeof GlobalStateManager;
64
+ globalState: GlobalStateManager;
65
+ middleware: {
66
+ createLoggerMiddleware: typeof createLoggerMiddleware;
67
+ createPersistenceMiddleware: typeof createPersistenceMiddleware;
68
+ loadPersistedState: typeof loadPersistedState;
69
+ createApiMiddleware: typeof createApiMiddleware;
70
+ createCacheMiddleware: typeof createCacheMiddleware;
71
+ createDevToolsMiddleware: typeof createDevToolsMiddleware;
72
+ };
73
+ providers: {
74
+ registerProvider: (name: string, factory: providers.ProviderFactory) => void;
75
+ createProvider: <T>(name: string, options: any) => providers.DataProvider<T> | undefined;
76
+ factories: {
77
+ RestProviderFactory: typeof providers.RestProviderFactory;
78
+ LocalStorageProviderFactory: typeof providers.LocalStorageProviderFactory;
79
+ IndexedDBProviderFactory: typeof providers.IndexedDBProviderFactory;
80
+ WebSocketProviderFactory: typeof providers.WebSocketProviderFactory;
81
+ };
82
+ };
114
83
  };
84
+ export default _default;
85
+ //# sourceMappingURL=miura-data-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miura-data-flow.d.ts","sourceRoot":"","sources":["../../src/miura-data-flow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGnF,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAGtB,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAe,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;;;;;;;;;;;;;;;;;;;;;;;;AAGH,wBA4BE"}
@@ -0,0 +1,96 @@
1
+ // miuraDataFlow main entry point
2
+ // Core exports
3
+ export { Store } from './store';
4
+ export { GlobalStateManager, globalState } from './global-state';
5
+ // Middleware exports
6
+ export { createLoggerMiddleware, createPersistenceMiddleware, loadPersistedState, createApiMiddleware, createCacheMiddleware, createDevToolsMiddleware } from './middleware';
7
+ // Provider exports
8
+ export * from './providers';
9
+ // Import for default export
10
+ import { Store } from './store';
11
+ import { GlobalStateManager, globalState } from './global-state';
12
+ import { createLoggerMiddleware, createPersistenceMiddleware, loadPersistedState, createApiMiddleware, createCacheMiddleware, createDevToolsMiddleware } from './middleware';
13
+ import * as providers from './providers';
14
+ /**
15
+ * miura Data Flow - Modern State Management
16
+ *
17
+ * Features:
18
+ * - Reactive state management with subscriptions
19
+ * - Middleware system for logging, persistence, API calls
20
+ * - Global state management
21
+ * - Built-in caching and API integration
22
+ * - Redux DevTools support
23
+ * - TypeScript support
24
+ * - Extensible provider system for connecting to any data source
25
+ *
26
+ * Usage:
27
+ *
28
+ * // Create a store
29
+ * const store = new Store({ count: 0, user: null });
30
+ *
31
+ * // Define actions
32
+ * store.defineActions({
33
+ * increment: (state) => ({ count: state.count + 1 }),
34
+ * setUser: (state, user) => ({ user })
35
+ * });
36
+ *
37
+ * // Add middleware
38
+ * store.use(createLoggerMiddleware());
39
+ * store.use(createPersistenceMiddleware(['user']));
40
+ *
41
+ * // Subscribe to changes
42
+ * const unsubscribe = store.subscribe((state, prevState) => {
43
+ * console.log('State changed:', state);
44
+ * });
45
+ *
46
+ * // Dispatch actions
47
+ * await store.dispatch('increment');
48
+ * await store.dispatch('setUser', { id: '1', name: 'John' });
49
+ *
50
+ * // Using Data Providers
51
+ * // 1. Register a provider factory (e.g., in your app's entry point)
52
+ * providers.registerProvider('restApi', new providers.RestProviderFactory());
53
+ *
54
+ * // 2. Create an instance of the provider
55
+ * const apiProvider = providers.createProvider('restApi', { baseUrl: 'https://my-api.com' });
56
+ *
57
+ * // 3. Use the provider, for example in custom middleware
58
+ * // const user = await apiProvider.get('123', { endpoint: 'users' });
59
+ *
60
+ * // Global state
61
+ * globalState.set('theme', 'dark');
62
+ * globalState.subscribeTo('my-component', 'theme', (theme) => {
63
+ * console.log('Theme changed:', theme);
64
+ * });
65
+ */
66
+ // Default export for convenience
67
+ export default {
68
+ Store,
69
+ GlobalStateManager,
70
+ globalState,
71
+ middleware: {
72
+ createLoggerMiddleware,
73
+ createPersistenceMiddleware,
74
+ loadPersistedState,
75
+ createApiMiddleware,
76
+ createCacheMiddleware,
77
+ createDevToolsMiddleware
78
+ },
79
+ providers: {
80
+ registerProvider: providers.registerProvider,
81
+ createProvider: providers.createProvider,
82
+ factories: {
83
+ RestProviderFactory: providers.RestProviderFactory,
84
+ LocalStorageProviderFactory: providers.LocalStorageProviderFactory,
85
+ IndexedDBProviderFactory: providers.IndexedDBProviderFactory,
86
+ WebSocketProviderFactory: providers.WebSocketProviderFactory,
87
+ // Optional providers (require additional dependencies):
88
+ // GraphQLProviderFactory: providers.GraphQLProviderFactory, // requires graphql-request
89
+ // S3ProviderFactory: providers.S3ProviderFactory, // requires @aws-sdk/client-s3
90
+ // FirebaseProviderFactory: providers.FirebaseProviderFactory, // requires firebase
91
+ // SupabaseProviderFactory: providers.SupabaseProviderFactory, // requires @supabase/supabase-js
92
+ // GrpcWebProviderFactory: providers.GrpcWebProviderFactory, // requires grpc-web
93
+ }
94
+ }
95
+ };
96
+ //# sourceMappingURL=miura-data-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miura-data-flow.js","sourceRoot":"","sources":["../../src/miura-data-flow.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,eAAe;AACf,OAAO,EAAE,KAAK,EAA4D,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAEnF,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAEtB,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAE5B,4BAA4B;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,iCAAiC;AACjC,eAAe;IACb,KAAK;IACL,kBAAkB;IAClB,WAAW;IACX,UAAU,EAAE;QACV,sBAAsB;QACtB,2BAA2B;QAC3B,kBAAkB;QAClB,mBAAmB;QACnB,qBAAqB;QACrB,wBAAwB;KACzB;IACD,SAAS,EAAE;QACT,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,SAAS,EAAE;YACT,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,2BAA2B,EAAE,SAAS,CAAC,2BAA2B;YAClE,wBAAwB,EAAE,SAAS,CAAC,wBAAwB;YAC5D,wBAAwB,EAAE,SAAS,CAAC,wBAAwB;YAC5D,wDAAwD;YACxD,wFAAwF;YACxF,iFAAiF;YACjF,mFAAmF;YACnF,gGAAgG;YAChG,iFAAiF;SAClF;KACF;CACF,CAAC"}
@@ -1,11 +1,7 @@
1
1
  export * from './provider';
2
2
  export * from './provider-manager';
3
- export * from './graphql-provider';
4
- export * from './s3-provider';
5
3
  export * from './local-storage-provider';
6
4
  export * from './rest-provider';
7
5
  export * from './indexed-db-provider';
8
6
  export * from './websockets-provider';
9
- export * from './firebase-provider';
10
- export * from './supabase-provider';
11
- export * from './grpc-web-provider';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from './provider';
2
+ export * from './provider-manager';
3
+ export * from './local-storage-provider';
4
+ export * from './rest-provider';
5
+ export * from './indexed-db-provider';
6
+ export * from './websockets-provider';
7
+ // Note: Optional providers (GraphQL, S3, Firebase, Supabase, gRPC-Web)
8
+ // are not exported here to avoid requiring their dependencies.
9
+ // They can be imported directly when needed:
10
+ // import { GraphQLProviderFactory } from '@miurajs/miura-data-flow/providers/graphql-provider';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,wEAAwE;AACxE,+DAA+D;AAC/D,6CAA6C;AAC7C,iGAAiG"}
@@ -0,0 +1,9 @@
1
+ import { DataProvider, ProviderFactory } from './provider';
2
+ export interface IndexedDBProviderOptions {
3
+ dbName: string;
4
+ storeName: string;
5
+ }
6
+ export declare class IndexedDBProviderFactory implements ProviderFactory {
7
+ create<T>(options: IndexedDBProviderOptions): DataProvider<T>;
8
+ }
9
+ //# sourceMappingURL=indexed-db-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexed-db-provider.d.ts","sourceRoot":"","sources":["../../../src/providers/indexed-db-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAoCD,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,GAAG,YAAY,CAAC,CAAC,CAAC;CAG9D"}
@@ -0,0 +1,35 @@
1
+ class IndexedDBProvider {
2
+ dbPromise; // Promise<IDBPDatabase>
3
+ constructor(options) {
4
+ // This is highly simplified
5
+ this.dbPromise = Promise.resolve(); // openDB(options.dbName, 1, { ... });
6
+ }
7
+ async get(id) {
8
+ console.log(`[IndexedDB] Getting item with id: ${id}`);
9
+ // const db = await this.dbPromise;
10
+ // const tx = db.transaction(this.storeName, 'readonly');
11
+ // const store = tx.objectStore(this.storeName);
12
+ // const result = await store.get(id);
13
+ // if (!result) throw new Error('Not found');
14
+ // return result;
15
+ return Promise.resolve({});
16
+ }
17
+ async put(id, data) {
18
+ console.log(`[IndexedDB] Putting item with id: ${id}`);
19
+ // const db = await this.dbPromise;
20
+ // const tx = db.transaction(this.storeName, 'readwrite');
21
+ // ...
22
+ return Promise.resolve(data);
23
+ }
24
+ async delete(id) {
25
+ console.log(`[IndexedDB] Deleting item with id: ${id}`);
26
+ // ...
27
+ return Promise.resolve();
28
+ }
29
+ }
30
+ export class IndexedDBProviderFactory {
31
+ create(options) {
32
+ return new IndexedDBProvider(options);
33
+ }
34
+ }
35
+ //# sourceMappingURL=indexed-db-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexed-db-provider.js","sourceRoot":"","sources":["../../../src/providers/indexed-db-provider.ts"],"names":[],"mappings":"AASA,MAAM,iBAAiB;IACb,SAAS,CAAe,CAAC,wBAAwB;IAEzD,YAAY,OAAiC;QAC3C,4BAA4B;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,sCAAsC;IAC5E,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;QACvD,mCAAmC;QACnC,yDAAyD;QACzD,gDAAgD;QAChD,sCAAsC;QACtC,6CAA6C;QAC7C,iBAAiB;QACjB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,IAAO;QAC3B,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;QACvD,mCAAmC;QACnC,0DAA0D;QAC1D,MAAM;QACN,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,wBAAwB;IACnC,MAAM,CAAI,OAAiC;QACzC,OAAO,IAAI,iBAAiB,CAAI,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { DataProvider, ProviderFactory } from './provider';
2
+ export declare class LocalStorageProviderFactory implements ProviderFactory {
3
+ create<T>(options: {
4
+ prefix: string;
5
+ }): DataProvider<T>;
6
+ }
7
+ //# sourceMappingURL=local-storage-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-storage-provider.d.ts","sourceRoot":"","sources":["../../../src/providers/local-storage-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA+B3D,qBAAa,2BAA4B,YAAW,eAAe;IACjE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,CAAC,CAAC,CAAC;CAGxD"}
@@ -0,0 +1,29 @@
1
+ class LocalStorageProvider {
2
+ prefix;
3
+ constructor(options) {
4
+ this.prefix = options.prefix || 'miura';
5
+ }
6
+ getKey(id) {
7
+ return `${this.prefix}:${id}`;
8
+ }
9
+ async get(id) {
10
+ const item = localStorage.getItem(this.getKey(id));
11
+ if (item === null) {
12
+ throw new Error(`Item with id "${id}" not found in localStorage.`);
13
+ }
14
+ return JSON.parse(item);
15
+ }
16
+ async put(id, data) {
17
+ localStorage.setItem(this.getKey(id), JSON.stringify(data));
18
+ return data;
19
+ }
20
+ async delete(id) {
21
+ localStorage.removeItem(this.getKey(id));
22
+ }
23
+ }
24
+ export class LocalStorageProviderFactory {
25
+ create(options) {
26
+ return new LocalStorageProvider(options);
27
+ }
28
+ }
29
+ //# sourceMappingURL=local-storage-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-storage-provider.js","sourceRoot":"","sources":["../../../src/providers/local-storage-provider.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB;IAChB,MAAM,CAAS;IAEvB,YAAY,OAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;IAC1C,CAAC;IAEO,MAAM,CAAC,EAAU;QACvB,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,IAAO;QAC3B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,2BAA2B;IACtC,MAAM,CAAI,OAA2B;QACnC,OAAO,IAAI,oBAAoB,CAAI,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ import { DataProvider, ProviderFactory } from './provider';
2
+ export declare const registerProvider: (name: string, factory: ProviderFactory) => void;
3
+ export declare const createProvider: <T>(name: string, options: any) => DataProvider<T> | undefined;
4
+ //# sourceMappingURL=provider-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-manager.d.ts","sourceRoot":"","sources":["../../../src/providers/provider-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI3D,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,SAAS,eAAe,SAKtE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,MAAM,MAAM,EACZ,SAAS,GAAG,KACX,YAAY,CAAC,CAAC,CAAC,GAAG,SAMpB,CAAC"}
@@ -0,0 +1,15 @@
1
+ const providerFactories = new Map();
2
+ export const registerProvider = (name, factory) => {
3
+ if (providerFactories.has(name)) {
4
+ console.warn(`Provider with name "${name}" is already registered.`);
5
+ }
6
+ providerFactories.set(name, factory);
7
+ };
8
+ export const createProvider = (name, options) => {
9
+ const factory = providerFactories.get(name);
10
+ if (!factory) {
11
+ throw new Error(`No provider registered with name "${name}"`);
12
+ }
13
+ return factory.create(options);
14
+ };
15
+ //# sourceMappingURL=provider-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-manager.js","sourceRoot":"","sources":["../../../src/providers/provider-manager.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,OAAwB,EAAE,EAAE;IACzE,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,0BAA0B,CAAC,CAAC;IACtE,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAY,EACZ,OAAY,EACiB,EAAE;IAC/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAI,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface DataProvider<T> {
2
+ query?(options: any): Promise<T[]>;
3
+ mutate?(options: any): Promise<T>;
4
+ get?(id: string, options?: any): Promise<T>;
5
+ put?(id: string, data: T, options?: any): Promise<T>;
6
+ delete?(id: string, options?: any): Promise<void>;
7
+ subscribe?(options: any, callback: (data: T) => void): () => void;
8
+ }
9
+ export interface ProviderFactory {
10
+ create<T>(options: any): DataProvider<T>;
11
+ }
12
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/provider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY,CAAC,CAAC;IAE7B,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAGnC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAGlC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAG5C,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAGrD,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGlD,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/provider.ts"],"names":[],"mappings":""}