@progressive-development/pd-spa-helper 0.9.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PdSpaHelper.d.ts +83 -0
- package/dist/PdSpaHelper.d.ts.map +1 -0
- package/dist/PdSpaHelper.js +492 -0
- package/dist/defaultpage/default-confirm-popup.d.ts +19 -0
- package/dist/defaultpage/default-confirm-popup.d.ts.map +1 -0
- package/dist/defaultpage/default-confirm-popup.js +70 -0
- package/dist/defaultpage/default-dialog-popup.d.ts +19 -0
- package/dist/defaultpage/default-dialog-popup.d.ts.map +1 -0
- package/dist/defaultpage/default-dialog-popup.js +103 -0
- package/dist/defaultpage/default-login.d.ts +6 -0
- package/dist/defaultpage/default-login.d.ts.map +1 -0
- package/dist/defaultpage/default-login.js +33 -0
- package/dist/defaultpage/default-not-found.d.ts +6 -0
- package/dist/defaultpage/default-not-found.d.ts.map +1 -0
- package/dist/{components/default-not-found/DefaultNotFound.js → defaultpage/default-not-found.js} +3 -10
- package/dist/defaultpage/default-popup.d.ts +7 -0
- package/dist/defaultpage/default-popup.d.ts.map +1 -0
- package/dist/defaultpage/default-popup.js +24 -0
- package/dist/defaultpage/default-step-address.d.ts +14 -0
- package/dist/defaultpage/default-step-address.d.ts.map +1 -0
- package/dist/defaultpage/default-step-address.js +77 -0
- package/dist/defaultpage/default-step-summary.d.ts +28 -0
- package/dist/defaultpage/default-step-summary.d.ts.map +1 -0
- package/dist/defaultpage/default-step-summary.js +67 -0
- package/dist/defaultpage/default-view-page.d.ts +10 -0
- package/dist/defaultpage/default-view-page.d.ts.map +1 -0
- package/dist/defaultpage/default-view-page.js +70 -0
- package/dist/defaultpage/default-wizard.d.ts +37 -0
- package/dist/defaultpage/default-wizard.d.ts.map +1 -0
- package/dist/defaultpage/default-wizard.js +255 -0
- package/dist/defaultpage/pd-default-wizard-step.d.ts +60 -0
- package/dist/defaultpage/pd-default-wizard-step.d.ts.map +1 -0
- package/dist/defaultpage/pd-default-wizard-step.js +144 -0
- package/dist/generated/locale-wrapper/be-wrapper.d.ts +63 -0
- package/dist/generated/locale-wrapper/be-wrapper.d.ts.map +1 -0
- package/dist/generated/locale-wrapper/de-wrapper.d.ts +63 -0
- package/dist/generated/locale-wrapper/de-wrapper.d.ts.map +1 -0
- package/dist/generated/locale-wrapper/en-wrapper.d.ts +63 -0
- package/dist/generated/locale-wrapper/en-wrapper.d.ts.map +1 -0
- package/dist/generated/locales/be.d.ts +15 -1
- package/dist/generated/locales/be.d.ts.map +1 -1
- package/dist/generated/locales/be.js +15 -1
- package/dist/generated/locales/de.d.ts +15 -1
- package/dist/generated/locales/de.d.ts.map +1 -1
- package/dist/generated/locales/de.js +15 -1
- package/dist/generated/locales/en.d.ts +15 -1
- package/dist/generated/locales/en.d.ts.map +1 -1
- package/dist/generated/locales/en.js +15 -1
- package/dist/helper/blob-helper.d.ts +3 -0
- package/dist/helper/blob-helper.d.ts.map +1 -0
- package/dist/helper/blob-helper.js +35 -0
- package/dist/helper/date-helper.d.ts +27 -0
- package/dist/helper/date-helper.d.ts.map +1 -0
- package/dist/helper/date-helper.js +129 -0
- package/dist/helper/locale-format.d.ts +4 -0
- package/dist/helper/locale-format.d.ts.map +1 -0
- package/dist/helper/locale-format.js +16 -0
- package/dist/helper/logger.d.ts +12 -11
- package/dist/helper/logger.d.ts.map +1 -1
- package/dist/helper/logger.js +49 -10
- package/dist/helper/number-helper.d.ts +2 -0
- package/dist/helper/number-helper.d.ts.map +1 -0
- package/dist/helper/number-helper.js +13 -0
- package/dist/helper/price-helper.d.ts +5 -0
- package/dist/helper/price-helper.d.ts.map +1 -0
- package/dist/helper/price-helper.js +22 -0
- package/dist/helper/refresh-id-token.d.ts.map +1 -1
- package/dist/helper/refresh-id-token.js +4 -6
- package/dist/helper/text-helper.d.ts +3 -0
- package/dist/helper/text-helper.d.ts.map +1 -0
- package/dist/helper/text-helper.js +4 -0
- package/dist/index.d.ts +29 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -27
- package/dist/model/spa-model.d.ts +15 -14
- package/dist/model/spa-model.d.ts.map +1 -1
- package/dist/popup/wizard-close-popup.d.ts +11 -0
- package/dist/popup/wizard-close-popup.d.ts.map +1 -0
- package/dist/popup/wizard-close-popup.js +63 -0
- package/dist/popup/wizard-reload-popup.d.ts +14 -0
- package/dist/popup/wizard-reload-popup.d.ts.map +1 -0
- package/dist/popup/wizard-reload-popup.js +76 -0
- package/dist/router/PdRouterService.d.ts +1 -4
- package/dist/router/PdRouterService.d.ts.map +1 -1
- package/dist/router/PdRouterService.js +16 -40
- package/dist/service-provider/firebase/auth.d.ts +19 -0
- package/dist/service-provider/firebase/auth.d.ts.map +1 -0
- package/dist/service-provider/firebase/auth.js +62 -0
- package/dist/service-provider/firebase/firestorage-client.d.ts +22 -0
- package/dist/service-provider/firebase/firestorage-client.d.ts.map +1 -0
- package/dist/service-provider/firebase/firestorage-client.js +226 -0
- package/dist/service-provider/firebase/firestore-client.d.ts +12 -0
- package/dist/service-provider/firebase/firestore-client.d.ts.map +1 -0
- package/dist/service-provider/firebase/firestore-client.js +25 -0
- package/dist/service-provider/firebase/functions-client.d.ts +10 -0
- package/dist/service-provider/firebase/functions-client.d.ts.map +1 -0
- package/dist/service-provider/firebase/functions-client.js +63 -0
- package/dist/service-provider/firebase/messagingFirebaseClient.d.ts +9 -0
- package/dist/service-provider/firebase/messagingFirebaseClient.d.ts.map +1 -0
- package/dist/service-provider/firebase/messagingFirebaseClient.js +69 -0
- package/dist/service-provider/mock/auth.d.ts +6 -0
- package/dist/service-provider/mock/auth.d.ts.map +1 -0
- package/dist/service-provider/mock/auth.js +60 -0
- package/dist/service-provider/mock/function-client.d.ts +7 -0
- package/dist/service-provider/mock/function-client.d.ts.map +1 -0
- package/dist/service-provider/mock/function-client.js +30 -0
- package/dist/service-provider/mock/storage-client.d.ts +11 -0
- package/dist/service-provider/mock/storage-client.d.ts.map +1 -0
- package/dist/service-provider/mock/storage-client.js +106 -0
- package/dist/service-provider/service-provider-impl.d.ts +27 -0
- package/dist/service-provider/service-provider-impl.d.ts.map +1 -0
- package/dist/service-provider/service-provider-impl.js +222 -0
- package/dist/service-provider/service-provider-model.d.ts +7 -26
- package/dist/service-provider/service-provider-model.d.ts.map +1 -1
- package/dist/{db → store}/indexDB.d.ts +9 -9
- package/dist/store/indexDB.d.ts.map +1 -0
- package/dist/{db → store}/indexDB.js +12 -14
- package/dist/store/mini-rx.store.d.ts.map +1 -1
- package/dist/store/mini-rx.store.js +3 -1
- package/dist/store/spa-app-actions.d.ts +22 -5
- package/dist/store/spa-app-actions.d.ts.map +1 -1
- package/dist/store/spa-app-actions.js +8 -4
- package/dist/store/spa-app-effects.d.ts +17 -0
- package/dist/store/spa-app-effects.d.ts.map +1 -1
- package/dist/store/spa-app-effects.js +40 -2
- package/dist/store/spa-app-reducer.d.ts +10 -5
- package/dist/store/spa-app-reducer.d.ts.map +1 -1
- package/dist/store/spa-app-reducer.js +8 -17
- package/dist/store/spa-app-selector.d.ts +2 -2
- package/dist/store/spa-app-selector.d.ts.map +1 -1
- package/dist/store/spa-app-selector.js +1 -1
- package/dist/stories/address-edit.stories.d.ts +27 -0
- package/dist/stories/address-edit.stories.d.ts.map +1 -0
- package/dist/stories/address-new.stories.d.ts +33 -0
- package/dist/stories/address-new.stories.d.ts.map +1 -0
- package/dist/stories/default-confirm-popup.stories.d.ts +24 -0
- package/dist/stories/default-confirm-popup.stories.d.ts.map +1 -0
- package/dist/stories/default-dialog-popup.stories.d.ts +23 -0
- package/dist/stories/default-dialog-popup.stories.d.ts.map +1 -0
- package/dist/stories/default-login.stories.d.ts +10 -0
- package/dist/stories/default-login.stories.d.ts.map +1 -0
- package/dist/stories/default-popup.stories.d.ts +9 -0
- package/dist/stories/default-popup.stories.d.ts.map +1 -0
- package/dist/stories/pd-loading-state.stories.d.ts +30 -0
- package/dist/stories/pd-loading-state.stories.d.ts.map +1 -0
- package/dist/stories/pd-toast.stories.d.ts +27 -0
- package/dist/stories/pd-toast.stories.d.ts.map +1 -0
- package/dist/stories/routing.stories.d.ts +24 -0
- package/dist/stories/routing.stories.d.ts.map +1 -0
- package/dist/stories/test-impls/address-test.d.ts +6 -0
- package/dist/stories/test-impls/address-test.d.ts.map +1 -0
- package/dist/stories/test-impls/test-mock-app.d.ts +15 -0
- package/dist/stories/test-impls/test-mock-app.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-home-page.d.ts +7 -0
- package/dist/stories/test-impls/test-pages/test-home-page.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts +5 -0
- package/dist/stories/test-impls/test-pages/test-not-found-page.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts +17 -0
- package/dist/stories/test-impls/test-pages/test-wizard-step.d.ts.map +1 -0
- package/dist/stories/test-impls/test-pages/test-wizard.d.ts +16 -0
- package/dist/stories/test-impls/test-pages/test-wizard.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts +8 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-error.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts +8 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-info.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts +8 -0
- package/dist/stories/test-impls/test-popups/default-confirm-popup-test-warn.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts +13 -0
- package/dist/stories/test-impls/test-popups/default-dialog-popup-test.d.ts.map +1 -0
- package/dist/stories/test-impls/test-popups/default-popup-test.d.ts +5 -0
- package/dist/stories/test-impls/test-popups/default-popup-test.d.ts.map +1 -0
- package/dist/stories/test-wizard-step.stories.d.ts +11 -0
- package/dist/stories/test-wizard-step.stories.d.ts.map +1 -0
- package/dist/stories/test-wizard.stories.d.ts +9 -0
- package/dist/stories/test-wizard.stories.d.ts.map +1 -0
- package/dist/tmpown/pd-loading-state.d.ts +9 -0
- package/dist/tmpown/pd-loading-state.d.ts.map +1 -0
- package/dist/tmpown/pd-loading-state.js +196 -0
- package/dist/tmpown/pd-login.d.ts +13 -0
- package/dist/tmpown/pd-login.d.ts.map +1 -0
- package/dist/tmpown/pd-login.js +165 -0
- package/dist/tmpown/pd-toast.d.ts +13 -0
- package/dist/tmpown/pd-toast.d.ts.map +1 -0
- package/dist/tmpown/pd-toast.js +127 -0
- package/package.json +9 -13
- package/dist/auth/AuthController.d.ts +0 -37
- package/dist/auth/AuthController.d.ts.map +0 -1
- package/dist/auth/AuthController.js +0 -65
- package/dist/auth/auth-directives.d.ts +0 -59
- package/dist/auth/auth-directives.d.ts.map +0 -1
- package/dist/auth/auth-directives.js +0 -81
- package/dist/auth/auth-utils.d.ts +0 -45
- package/dist/auth/auth-utils.d.ts.map +0 -1
- package/dist/auth/auth-utils.js +0 -42
- package/dist/auth/index.d.ts +0 -7
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/components/default-login/DefaultLogin.d.ts +0 -15
- package/dist/components/default-login/DefaultLogin.d.ts.map +0 -1
- package/dist/components/default-login/DefaultLogin.js +0 -120
- package/dist/components/default-not-found/DefaultNotFound.d.ts +0 -6
- package/dist/components/default-not-found/DefaultNotFound.d.ts.map +0 -1
- package/dist/components/pd-section-page/PdSectionPage.d.ts +0 -55
- package/dist/components/pd-section-page/PdSectionPage.d.ts.map +0 -1
- package/dist/components/pd-section-page/PdSectionPage.js +0 -40
- package/dist/components/pd-spa-helper/PdSpaHelper.d.ts +0 -160
- package/dist/components/pd-spa-helper/PdSpaHelper.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/PdSpaHelper.js +0 -651
- package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts +0 -77
- package/dist/components/pd-spa-helper/controllers/ScrollController.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/controllers/ScrollController.js +0 -102
- package/dist/components/pd-spa-helper/spa-config.d.ts +0 -87
- package/dist/components/pd-spa-helper/spa-config.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/spa-config.js +0 -167
- package/dist/components/pd-spa-helper/spa-events.d.ts +0 -121
- package/dist/components/pd-spa-helper/spa-events.d.ts.map +0 -1
- package/dist/components/pd-spa-helper/spa-events.js +0 -18
- package/dist/db/index.d.ts +0 -3
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/indexDB.d.ts.map +0 -1
- package/dist/model/index.d.ts +0 -4
- package/dist/model/index.d.ts.map +0 -1
- package/dist/router/index.d.ts +0 -3
- package/dist/router/index.d.ts.map +0 -1
- package/dist/screen-size/ScreenSizeController.d.ts +0 -34
- package/dist/screen-size/ScreenSizeController.d.ts.map +0 -1
- package/dist/screen-size/ScreenSizeController.js +0 -58
- package/dist/screen-size/ScreenSizeService.d.ts +0 -49
- package/dist/screen-size/ScreenSizeService.d.ts.map +0 -1
- package/dist/screen-size/ScreenSizeService.js +0 -107
- package/dist/screen-size/index.d.ts +0 -13
- package/dist/screen-size/index.d.ts.map +0 -1
- package/dist/screen-size/responsive-directives.d.ts +0 -59
- package/dist/screen-size/responsive-directives.d.ts.map +0 -1
- package/dist/screen-size/responsive-directives.js +0 -71
- package/dist/screen-size/types.d.ts +0 -44
- package/dist/screen-size/types.d.ts.map +0 -1
- package/dist/service-provider/ServiceRegistry.d.ts +0 -67
- package/dist/service-provider/ServiceRegistry.d.ts.map +0 -1
- package/dist/service-provider/ServiceRegistry.js +0 -76
- package/dist/service-provider/function-utils.d.ts +0 -55
- package/dist/service-provider/function-utils.d.ts.map +0 -1
- package/dist/service-provider/function-utils.js +0 -30
- package/dist/service-provider/index.d.ts +0 -10
- package/dist/service-provider/index.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IAuthProvider.d.ts +0 -68
- package/dist/service-provider/interfaces/IAuthProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IDatabaseProvider.d.ts +0 -75
- package/dist/service-provider/interfaces/IDatabaseProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IFunctionProvider.d.ts +0 -49
- package/dist/service-provider/interfaces/IFunctionProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/IStorageProvider.d.ts +0 -118
- package/dist/service-provider/interfaces/IStorageProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/ServiceProvider.d.ts +0 -24
- package/dist/service-provider/interfaces/ServiceProvider.d.ts.map +0 -1
- package/dist/service-provider/interfaces/common.d.ts +0 -5
- package/dist/service-provider/interfaces/common.d.ts.map +0 -1
- package/dist/services/fire-once-service.d.ts +0 -35
- package/dist/services/fire-once-service.d.ts.map +0 -1
- package/dist/services/fire-once-service.js +0 -61
- package/dist/store/async-action-effects.d.ts +0 -179
- package/dist/store/async-action-effects.d.ts.map +0 -1
- package/dist/store/async-action-effects.js +0 -97
- package/dist/store/async-action-utils.d.ts +0 -151
- package/dist/store/async-action-utils.d.ts.map +0 -1
- package/dist/store/async-action-utils.js +0 -41
- package/dist/store/index.d.ts +0 -9
- package/dist/store/index.d.ts.map +0 -1
- package/dist/stories/introduction.stories.d.ts +0 -11
- package/dist/stories/introduction.stories.d.ts.map +0 -1
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Unsubscribe } from './common.js';
|
|
2
|
-
/**
|
|
3
|
-
* Authenticated user information
|
|
4
|
-
*/
|
|
5
|
-
export interface AuthUser {
|
|
6
|
-
uid: string;
|
|
7
|
-
email: string | null;
|
|
8
|
-
emailVerified: boolean;
|
|
9
|
-
displayName?: string | null;
|
|
10
|
-
photoURL?: string | null;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* User token with claims
|
|
14
|
-
*/
|
|
15
|
-
export interface UserToken {
|
|
16
|
-
token: string;
|
|
17
|
-
claims: Record<string, unknown>;
|
|
18
|
-
expirationTime: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Callback for auth state changes
|
|
22
|
-
*/
|
|
23
|
-
export type AuthStateCallback = (user: AuthUser | null) => void;
|
|
24
|
-
/**
|
|
25
|
-
* Authentication provider interface
|
|
26
|
-
*
|
|
27
|
-
* Abstracts authentication operations (login, logout, state monitoring)
|
|
28
|
-
* from specific implementations (Firebase, Mock, etc.)
|
|
29
|
-
*/
|
|
30
|
-
export interface IAuthProvider {
|
|
31
|
-
/**
|
|
32
|
-
* Sign in with email and password
|
|
33
|
-
* @throws Error on authentication failure
|
|
34
|
-
*/
|
|
35
|
-
login(email: string, password: string): Promise<AuthUser>;
|
|
36
|
-
/**
|
|
37
|
-
* Sign out the current user
|
|
38
|
-
*/
|
|
39
|
-
logout(): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Get the currently authenticated user
|
|
42
|
-
* @returns User if authenticated, null otherwise
|
|
43
|
-
*/
|
|
44
|
-
getCurrentUser(): AuthUser | null;
|
|
45
|
-
/**
|
|
46
|
-
* Check if a user is currently authenticated
|
|
47
|
-
*/
|
|
48
|
-
isAuthenticated(): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Get the current user's ID token
|
|
51
|
-
* @param forceRefresh Force token refresh even if not expired
|
|
52
|
-
* @returns Token string or null if not authenticated
|
|
53
|
-
*/
|
|
54
|
-
getIdToken(forceRefresh?: boolean): Promise<string | null>;
|
|
55
|
-
/**
|
|
56
|
-
* Get detailed token result with claims
|
|
57
|
-
* @param forceRefresh Force token refresh even if not expired
|
|
58
|
-
* @returns Token with claims or null if not authenticated
|
|
59
|
-
*/
|
|
60
|
-
getIdTokenResult(forceRefresh?: boolean): Promise<UserToken | null>;
|
|
61
|
-
/**
|
|
62
|
-
* Subscribe to authentication state changes
|
|
63
|
-
* @param callback Called when auth state changes
|
|
64
|
-
* @returns Unsubscribe function
|
|
65
|
-
*/
|
|
66
|
-
onAuthStateChanged(callback: AuthStateCallback): Unsubscribe;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=IAuthProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IAuthProvider.d.ts","sourceRoot":"","sources":["../../../src/service-provider/interfaces/IAuthProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1D;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;OAGG;IACH,cAAc,IAAI,QAAQ,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC;IAE3B;;;;OAIG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE3D;;;;OAIG;IACH,gBAAgB,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAEpE;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,WAAW,CAAC;CAC9D"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Unsubscribe } from './common.js';
|
|
2
|
-
/**
|
|
3
|
-
* Query operators for filtering
|
|
4
|
-
*/
|
|
5
|
-
export type QueryOperator = "<" | ">" | ">=" | "<=" | "==" | "!=" | "array-contains" | "array-contains-any" | "in" | "not-in";
|
|
6
|
-
/**
|
|
7
|
-
* Query constraint for filtering collections
|
|
8
|
-
*/
|
|
9
|
-
export interface QueryConstraint {
|
|
10
|
-
type: "where";
|
|
11
|
-
field: string;
|
|
12
|
-
operator: QueryOperator;
|
|
13
|
-
value: string | number | boolean | null | Date | Array<string | number | boolean | null | Date>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Document snapshot with data and metadata
|
|
17
|
-
*/
|
|
18
|
-
export interface DocumentSnapshot<T = unknown> {
|
|
19
|
-
/** Document ID */
|
|
20
|
-
id: string;
|
|
21
|
-
/** Document data */
|
|
22
|
-
data: T;
|
|
23
|
-
/** Whether the document exists */
|
|
24
|
-
exists: boolean;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Callback for collection changes
|
|
28
|
-
*/
|
|
29
|
-
export type CollectionCallback<T> = (documents: DocumentSnapshot<T>[] | null) => void;
|
|
30
|
-
/**
|
|
31
|
-
* Database provider interface (optional)
|
|
32
|
-
*
|
|
33
|
-
* Abstracts database operations from specific implementations
|
|
34
|
-
* (Firestore, Mock, etc.)
|
|
35
|
-
*
|
|
36
|
-
* Note: This provider is optional - not all apps need real-time database features
|
|
37
|
-
*/
|
|
38
|
-
export interface IDatabaseProvider {
|
|
39
|
-
/**
|
|
40
|
-
* Subscribe to a collection with optional filtering
|
|
41
|
-
* @param collectionPath Path to the collection
|
|
42
|
-
* @param callback Called with documents on changes
|
|
43
|
-
* @param constraints Optional query constraints
|
|
44
|
-
* @returns Unsubscribe function
|
|
45
|
-
*/
|
|
46
|
-
onCollection<T = unknown>(collectionPath: string, callback: CollectionCallback<T>, constraints?: QueryConstraint[]): Unsubscribe;
|
|
47
|
-
/**
|
|
48
|
-
* Get a single document
|
|
49
|
-
* @param collectionPath Path to the collection
|
|
50
|
-
* @param documentId Document ID
|
|
51
|
-
* @returns Document snapshot
|
|
52
|
-
*/
|
|
53
|
-
getDocument<T = unknown>(collectionPath: string, documentId: string): Promise<DocumentSnapshot<T>>;
|
|
54
|
-
/**
|
|
55
|
-
* Set/overwrite a document
|
|
56
|
-
* @param collectionPath Path to the collection
|
|
57
|
-
* @param documentId Document ID
|
|
58
|
-
* @param data Document data
|
|
59
|
-
*/
|
|
60
|
-
setDocument<T = unknown>(collectionPath: string, documentId: string, data: T): Promise<void>;
|
|
61
|
-
/**
|
|
62
|
-
* Update specific fields in a document
|
|
63
|
-
* @param collectionPath Path to the collection
|
|
64
|
-
* @param documentId Document ID
|
|
65
|
-
* @param data Partial document data to update
|
|
66
|
-
*/
|
|
67
|
-
updateDocument(collectionPath: string, documentId: string, data: Record<string, unknown>): Promise<void>;
|
|
68
|
-
/**
|
|
69
|
-
* Delete a document
|
|
70
|
-
* @param collectionPath Path to the collection
|
|
71
|
-
* @param documentId Document ID
|
|
72
|
-
*/
|
|
73
|
-
deleteDocument(collectionPath: string, documentId: string): Promise<void>;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=IDatabaseProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IDatabaseProvider.d.ts","sourceRoot":"","sources":["../../../src/service-provider/interfaces/IDatabaseProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,gBAAgB,GAChB,oBAAoB,GACpB,IAAI,GACJ,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EACD,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,IAAI,GACJ,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,IAAI,EAAE,CAAC,CAAC;IACR,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAClC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KACpC,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,GAAG,OAAO,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC/B,WAAW,CAAC,EAAE,eAAe,EAAE,GAC9B,WAAW,CAAC;IAEf;;;;;OAKG;IACH,WAAW,CAAC,CAAC,GAAG,OAAO,EACrB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,CAAC,GAAG,OAAO,EACrB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,cAAc,CACZ,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Result from a cloud function call
|
|
3
|
-
*/
|
|
4
|
-
export interface FunctionResult {
|
|
5
|
-
resultData: unknown;
|
|
6
|
-
statusCode: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Cloud function definition
|
|
10
|
-
*/
|
|
11
|
-
export interface FunctionDefinition {
|
|
12
|
-
/** Function name */
|
|
13
|
-
name: string;
|
|
14
|
-
/** Status codes considered successful */
|
|
15
|
-
successCodes: number[];
|
|
16
|
-
/** Show full-screen loading indicator */
|
|
17
|
-
fadeWindow: boolean;
|
|
18
|
-
/** Text shown on success */
|
|
19
|
-
successTxt: string | unknown;
|
|
20
|
-
/** Text shown while pending */
|
|
21
|
-
pendingTxt: string | unknown;
|
|
22
|
-
/** Additional parameters */
|
|
23
|
-
param?: Record<string, unknown>;
|
|
24
|
-
/** Redirect route after success */
|
|
25
|
-
redirect?: string;
|
|
26
|
-
/** Logout user on failure */
|
|
27
|
-
logoutOnFail?: boolean;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Cloud functions provider interface
|
|
31
|
-
*
|
|
32
|
-
* Abstracts cloud function calls from specific implementations
|
|
33
|
-
* (Firebase Functions, Mock, REST API, etc.)
|
|
34
|
-
*/
|
|
35
|
-
export interface IFunctionProvider {
|
|
36
|
-
/**
|
|
37
|
-
* Call a cloud function
|
|
38
|
-
* @param functionName Name of the function to call
|
|
39
|
-
* @param data Data to pass to the function
|
|
40
|
-
* @returns Function result with status code
|
|
41
|
-
*/
|
|
42
|
-
callFunction(functionName: string, data: unknown): Promise<FunctionResult>;
|
|
43
|
-
/**
|
|
44
|
-
* Configure the functions region
|
|
45
|
-
* @param region Cloud region (e.g., 'europe-west3')
|
|
46
|
-
*/
|
|
47
|
-
setRegion(region: string): void;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=IFunctionProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IFunctionProvider.d.ts","sourceRoot":"","sources":["../../../src/service-provider/interfaces/IFunctionProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,+BAA+B;IAC/B,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3E;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File upload request
|
|
3
|
-
*/
|
|
4
|
-
export interface UploadFileRequest {
|
|
5
|
-
/** Target file name in storage */
|
|
6
|
-
fileName: string;
|
|
7
|
-
/** Base64 encoded file data URL */
|
|
8
|
-
base64DataURL: string;
|
|
9
|
-
/** Human-readable description name */
|
|
10
|
-
descriptionName: string;
|
|
11
|
-
/** Detailed description */
|
|
12
|
-
description: string;
|
|
13
|
-
/** Storage bucket/container name */
|
|
14
|
-
storageName: string;
|
|
15
|
-
/** Reference key for grouping files */
|
|
16
|
-
referenceKey: string;
|
|
17
|
-
/** Optional subfolder path */
|
|
18
|
-
subFolderName?: string;
|
|
19
|
-
/** Mark file as read-only */
|
|
20
|
-
readonly?: boolean;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Result of an upload operation
|
|
24
|
-
*/
|
|
25
|
-
export interface UploadResult {
|
|
26
|
-
/** Full storage path of uploaded file */
|
|
27
|
-
fullPath: string;
|
|
28
|
-
/** Download URL for the file */
|
|
29
|
-
downloadURL: string;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Stored document metadata
|
|
33
|
-
*/
|
|
34
|
-
export interface StorageDocument {
|
|
35
|
-
/** Storage bucket/container name */
|
|
36
|
-
storageName: string;
|
|
37
|
-
/** Reference key for grouping */
|
|
38
|
-
refKey: string;
|
|
39
|
-
/** File name */
|
|
40
|
-
fileName: string;
|
|
41
|
-
/** Full storage path */
|
|
42
|
-
filePath: string;
|
|
43
|
-
/** Optional subfolder */
|
|
44
|
-
subFolderName?: string;
|
|
45
|
-
/** MIME type or document type */
|
|
46
|
-
documentType?: string;
|
|
47
|
-
/** Human-readable description */
|
|
48
|
-
description?: string;
|
|
49
|
-
/** Description name */
|
|
50
|
-
descriptionName?: string;
|
|
51
|
-
/** Creation timestamp */
|
|
52
|
-
creation?: Date;
|
|
53
|
-
/** Creator user ID */
|
|
54
|
-
creator?: string;
|
|
55
|
-
/** File size in bytes */
|
|
56
|
-
size?: number;
|
|
57
|
-
/** Read-only flag */
|
|
58
|
-
readonly?: boolean;
|
|
59
|
-
/** Additional metadata */
|
|
60
|
-
metaData?: unknown;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Options for listing files
|
|
64
|
-
*/
|
|
65
|
-
export interface ListFilesOptions {
|
|
66
|
-
/** Storage bucket name */
|
|
67
|
-
storageName: string;
|
|
68
|
-
/** Reference key for filtering */
|
|
69
|
-
referenceKey: string;
|
|
70
|
-
/** Optional subfolder */
|
|
71
|
-
subFolderName?: string;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Options for getting a single file
|
|
75
|
-
*/
|
|
76
|
-
export interface GetFileOptions {
|
|
77
|
-
/** Storage bucket name */
|
|
78
|
-
storageName: string;
|
|
79
|
-
/** Reference key */
|
|
80
|
-
referenceKey: string;
|
|
81
|
-
/** File name */
|
|
82
|
-
fileName: string;
|
|
83
|
-
/** Optional subfolder */
|
|
84
|
-
subFolderName?: string;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* File storage provider interface
|
|
88
|
-
*
|
|
89
|
-
* Abstracts file storage operations from specific implementations
|
|
90
|
-
* (Firebase Storage, S3, Mock, etc.)
|
|
91
|
-
*/
|
|
92
|
-
export interface IStorageProvider {
|
|
93
|
-
/**
|
|
94
|
-
* Upload a file to storage
|
|
95
|
-
* @returns Upload result with path and download URL
|
|
96
|
-
*/
|
|
97
|
-
uploadFile(request: UploadFileRequest): Promise<UploadResult>;
|
|
98
|
-
/**
|
|
99
|
-
* Download a file from storage
|
|
100
|
-
* @returns Base64 encoded data URL
|
|
101
|
-
*/
|
|
102
|
-
downloadFile(options: GetFileOptions): Promise<string>;
|
|
103
|
-
/**
|
|
104
|
-
* Delete a file from storage
|
|
105
|
-
*/
|
|
106
|
-
deleteFile(options: GetFileOptions): Promise<void>;
|
|
107
|
-
/**
|
|
108
|
-
* List files in a storage location
|
|
109
|
-
* @returns Array of storage documents
|
|
110
|
-
*/
|
|
111
|
-
listFiles(options: ListFilesOptions): Promise<StorageDocument[]>;
|
|
112
|
-
/**
|
|
113
|
-
* Get metadata for a single file
|
|
114
|
-
* @returns Storage document metadata or null if not found
|
|
115
|
-
*/
|
|
116
|
-
getFile(options: GetFileOptions): Promise<StorageDocument | null>;
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=IStorageProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IStorageProvider.d.ts","sourceRoot":"","sources":["../../../src/service-provider/interfaces/IStorageProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9D;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEjE;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CACnE"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { IAuthProvider } from './IAuthProvider.js';
|
|
2
|
-
import { IFunctionProvider } from './IFunctionProvider.js';
|
|
3
|
-
import { IStorageProvider } from './IStorageProvider.js';
|
|
4
|
-
import { IDatabaseProvider } from './IDatabaseProvider.js';
|
|
5
|
-
/**
|
|
6
|
-
* Complete service provider configuration
|
|
7
|
-
*
|
|
8
|
-
* This is the main type that provider packages (pd-provider-firebase,
|
|
9
|
-
* pd-provider-mock, etc.) must implement.
|
|
10
|
-
*
|
|
11
|
-
* Note: Messaging is NOT part of this interface - it remains Firebase-specific
|
|
12
|
-
* and is handled directly in pd-provider-firebase.
|
|
13
|
-
*/
|
|
14
|
-
export interface ServiceProvider {
|
|
15
|
-
/** Authentication provider (required) */
|
|
16
|
-
auth: IAuthProvider;
|
|
17
|
-
/** Cloud functions provider (required) */
|
|
18
|
-
functions: IFunctionProvider;
|
|
19
|
-
/** File storage provider (required) */
|
|
20
|
-
storage: IStorageProvider;
|
|
21
|
-
/** Database provider (optional - not all apps need real-time database) */
|
|
22
|
-
database?: IDatabaseProvider;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=ServiceProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceProvider.d.ts","sourceRoot":"","sources":["../../../src/service-provider/interfaces/ServiceProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,aAAa,CAAC;IAEpB,0CAA0C;IAC1C,SAAS,EAAE,iBAAiB,CAAC;IAE7B,uCAAuC;IACvC,OAAO,EAAE,gBAAgB,CAAC;IAE1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/service-provider/interfaces/common.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Action } from 'ts-action';
|
|
2
|
-
declare class FireOnceService {
|
|
3
|
-
private _firedKeys;
|
|
4
|
-
/**
|
|
5
|
-
* Execute an action only if it hasn't been fired before for the given key.
|
|
6
|
-
*
|
|
7
|
-
* @param key - Unique identifier for this fire-once action
|
|
8
|
-
* @param action - The action to dispatch
|
|
9
|
-
* @returns true if action was dispatched, false if already fired
|
|
10
|
-
*/
|
|
11
|
-
fireOnce(key: string, action: Action): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Check if a key has been fired.
|
|
14
|
-
*
|
|
15
|
-
* @param key - The key to check
|
|
16
|
-
* @returns true if the key has been fired
|
|
17
|
-
*/
|
|
18
|
-
hasFired(key: string): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Reset a specific key or all keys.
|
|
21
|
-
* Useful for logout scenarios or testing.
|
|
22
|
-
*
|
|
23
|
-
* @param key - Optional key to reset. If not provided, resets all keys.
|
|
24
|
-
*/
|
|
25
|
-
reset(key?: string): void;
|
|
26
|
-
/**
|
|
27
|
-
* Get all fired keys (for debugging).
|
|
28
|
-
*
|
|
29
|
-
* @returns Array of all fired keys
|
|
30
|
-
*/
|
|
31
|
-
getFiredKeys(): string[];
|
|
32
|
-
}
|
|
33
|
-
export declare const fireOnceService: FireOnceService;
|
|
34
|
-
export {};
|
|
35
|
-
//# sourceMappingURL=fire-once-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fire-once-service.d.ts","sourceRoot":"","sources":["../../src/services/fire-once-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,cAAM,eAAe;IACnB,OAAO,CAAC,UAAU,CAAqB;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAY9C;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAUzB;;;;OAIG;IACH,YAAY,IAAI,MAAM,EAAE;CAGzB;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { pdStore } from '../store/mini-rx.store.js';
|
|
2
|
-
import { createLogger } from '../helper/logger.js';
|
|
3
|
-
|
|
4
|
-
const logger = createLogger("FireOnceService");
|
|
5
|
-
class FireOnceService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._firedKeys = /* @__PURE__ */ new Set();
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Execute an action only if it hasn't been fired before for the given key.
|
|
11
|
-
*
|
|
12
|
-
* @param key - Unique identifier for this fire-once action
|
|
13
|
-
* @param action - The action to dispatch
|
|
14
|
-
* @returns true if action was dispatched, false if already fired
|
|
15
|
-
*/
|
|
16
|
-
fireOnce(key, action) {
|
|
17
|
-
if (this._firedKeys.has(key)) {
|
|
18
|
-
logger.debug(`Key already fired, skipping: ${key}`);
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
this._firedKeys.add(key);
|
|
22
|
-
pdStore().dispatch(action);
|
|
23
|
-
logger.debug(`Action fired for key: ${key}`);
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Check if a key has been fired.
|
|
28
|
-
*
|
|
29
|
-
* @param key - The key to check
|
|
30
|
-
* @returns true if the key has been fired
|
|
31
|
-
*/
|
|
32
|
-
hasFired(key) {
|
|
33
|
-
return this._firedKeys.has(key);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Reset a specific key or all keys.
|
|
37
|
-
* Useful for logout scenarios or testing.
|
|
38
|
-
*
|
|
39
|
-
* @param key - Optional key to reset. If not provided, resets all keys.
|
|
40
|
-
*/
|
|
41
|
-
reset(key) {
|
|
42
|
-
if (key) {
|
|
43
|
-
this._firedKeys.delete(key);
|
|
44
|
-
logger.debug(`Reset key: ${key}`);
|
|
45
|
-
} else {
|
|
46
|
-
this._firedKeys.clear();
|
|
47
|
-
logger.debug("Reset all keys");
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get all fired keys (for debugging).
|
|
52
|
-
*
|
|
53
|
-
* @returns Array of all fired keys
|
|
54
|
-
*/
|
|
55
|
-
getFiredKeys() {
|
|
56
|
-
return Array.from(this._firedKeys);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
const fireOnceService = new FireOnceService();
|
|
60
|
-
|
|
61
|
-
export { fireOnceService };
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { Action } from 'ts-action';
|
|
2
|
-
import { AsyncActionGroupBase } from './async-action-utils.js';
|
|
3
|
-
export interface LoadingEffectOptions {
|
|
4
|
-
/** Show modal overlay (default: false) */
|
|
5
|
-
modal?: boolean;
|
|
6
|
-
/** Show small background loader (default: false) */
|
|
7
|
-
smallBackground?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export interface ErrorToastOptions {
|
|
10
|
-
/** Custom function to get error message from error code */
|
|
11
|
-
getErrorMessage?: (code: number) => string;
|
|
12
|
-
/** Default error message when code not found */
|
|
13
|
-
defaultErrorMessage?: string;
|
|
14
|
-
/** Toast duration in ms (default: -1 = persistent, user must close manually) */
|
|
15
|
-
duration?: number;
|
|
16
|
-
}
|
|
17
|
-
export interface SuccessToastOptions {
|
|
18
|
-
/** Default toast duration in ms (default: 4000) */
|
|
19
|
-
defaultDuration?: number;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Creates an effect that adds loading state when async actions start.
|
|
23
|
-
*
|
|
24
|
-
* @param groups - Array of async action groups to monitor
|
|
25
|
-
* @param options - Loading state display options
|
|
26
|
-
* @returns Effect that dispatches addLoadingState actions
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```typescript
|
|
30
|
-
* // Modal loading for specific groups
|
|
31
|
-
* export const modalLoadingEffect = createLoadingEffect(
|
|
32
|
-
* [loadProfile, saveProfile],
|
|
33
|
-
* { modal: true }
|
|
34
|
-
* );
|
|
35
|
-
*
|
|
36
|
-
* // Background loading for other groups
|
|
37
|
-
* export const bgLoadingEffect = createLoadingEffect(
|
|
38
|
-
* [loadEvents, loadRequests],
|
|
39
|
-
* { smallBackground: true }
|
|
40
|
-
* );
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export declare function createLoadingEffect(groups: AsyncActionGroupBase[], options?: LoadingEffectOptions): import('rxjs').Observable<{
|
|
44
|
-
payload: import('@progressive-development/pd-content').LoadingState;
|
|
45
|
-
} & {
|
|
46
|
-
type: "SPA_APP_ADD_LOADING";
|
|
47
|
-
}> & import('mini-rx-store/lib/models.js').HasEffectMetadata;
|
|
48
|
-
/**
|
|
49
|
-
* Creates an effect that removes loading state when async actions complete.
|
|
50
|
-
*
|
|
51
|
-
* @param groups - Array of async action groups to monitor
|
|
52
|
-
* @returns Effect that dispatches removeLoadingState actions
|
|
53
|
-
*
|
|
54
|
-
* @example
|
|
55
|
-
* ```typescript
|
|
56
|
-
* export const removeLoadingEffect = createRemoveLoadingEffect([
|
|
57
|
-
* loadProfile, saveProfile, loadEvents, loadRequests
|
|
58
|
-
* ]);
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
export declare function createRemoveLoadingEffect(groups: AsyncActionGroupBase[]): import('rxjs').Observable<{
|
|
62
|
-
payload: string;
|
|
63
|
-
} & {
|
|
64
|
-
type: "SPA_APP_REMOVE_LOADING";
|
|
65
|
-
}> & import('mini-rx-store/lib/models.js').HasEffectMetadata;
|
|
66
|
-
/**
|
|
67
|
-
* Creates an effect that shows success toast when async actions succeed.
|
|
68
|
-
* Only shows toast if successTxt is defined and non-empty.
|
|
69
|
-
*
|
|
70
|
-
* @param groups - Array of async action groups to monitor
|
|
71
|
-
* @param options - Toast display options
|
|
72
|
-
* @returns Non-dispatching effect (uses toastBus directly)
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* ```typescript
|
|
76
|
-
* export const successToastEffect = createSuccessToastEffect([
|
|
77
|
-
* saveProfile, // Has successTxt: "Profile saved!"
|
|
78
|
-
* loadProfile, // Has successTxt: "" (no toast)
|
|
79
|
-
* ]);
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
export declare function createSuccessToastEffect(groups: AsyncActionGroupBase[], options?: SuccessToastOptions): import('rxjs').Observable<Action<string>> & import('mini-rx-store/lib/models.js').HasEffectMetadata;
|
|
83
|
-
/**
|
|
84
|
-
* Creates an effect that shows error toast when async actions fail.
|
|
85
|
-
* Handles BusinessError to show appropriate error messages.
|
|
86
|
-
*
|
|
87
|
-
* @param groups - Array of async action groups to monitor
|
|
88
|
-
* @param options - Error handling options
|
|
89
|
-
* @returns Non-dispatching effect (uses toastBus directly)
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* ```typescript
|
|
93
|
-
* export const errorToastEffect = createErrorToastEffect(
|
|
94
|
-
* [loadProfile, saveProfile],
|
|
95
|
-
* {
|
|
96
|
-
* getErrorMessage: (code) => {
|
|
97
|
-
* const messages: Record<number, string> = {
|
|
98
|
-
* [-150]: "Access denied",
|
|
99
|
-
* [-180]: "Technical error",
|
|
100
|
-
* };
|
|
101
|
-
* return messages[code] || "An error occurred";
|
|
102
|
-
* },
|
|
103
|
-
* }
|
|
104
|
-
* );
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
export declare function createErrorToastEffect(groups: AsyncActionGroupBase[], options?: ErrorToastOptions): import('rxjs').Observable<Action<string> & {
|
|
108
|
-
payload?: unknown;
|
|
109
|
-
}> & import('mini-rx-store/lib/models.js').HasEffectMetadata;
|
|
110
|
-
/**
|
|
111
|
-
* Options for creating all loading-related effects at once.
|
|
112
|
-
*/
|
|
113
|
-
export interface CreateLoadingEffectsOptions {
|
|
114
|
-
/** Groups that show modal loading */
|
|
115
|
-
modalGroups?: AsyncActionGroupBase[];
|
|
116
|
-
/** Groups that show background loading */
|
|
117
|
-
backgroundGroups?: AsyncActionGroupBase[];
|
|
118
|
-
/** Groups that show success toasts */
|
|
119
|
-
successToastGroups?: AsyncActionGroupBase[];
|
|
120
|
-
/** All groups for error handling */
|
|
121
|
-
errorGroups?: AsyncActionGroupBase[];
|
|
122
|
-
/** Error message resolver */
|
|
123
|
-
getErrorMessage?: (code: number) => string;
|
|
124
|
-
/** Default error message */
|
|
125
|
-
defaultErrorMessage?: string;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Creates all standard loading-related effects at once.
|
|
129
|
-
* Returns an object with all effects that can be spread into the effects array.
|
|
130
|
-
*
|
|
131
|
-
* @example
|
|
132
|
-
* ```typescript
|
|
133
|
-
* const {
|
|
134
|
-
* modalLoadingEffect,
|
|
135
|
-
* bgLoadingEffect,
|
|
136
|
-
* removeLoadingEffect,
|
|
137
|
-
* successToastEffect,
|
|
138
|
-
* errorToastEffect
|
|
139
|
-
* } = createAllLoadingEffects({
|
|
140
|
-
* modalGroups: [loadProfile, saveProfile],
|
|
141
|
-
* backgroundGroups: [loadEvents],
|
|
142
|
-
* successToastGroups: [saveProfile],
|
|
143
|
-
* errorGroups: [loadProfile, saveProfile, loadEvents],
|
|
144
|
-
* getErrorMessage: myErrorMessageFn,
|
|
145
|
-
* });
|
|
146
|
-
*
|
|
147
|
-
* // In store config:
|
|
148
|
-
* effects: [
|
|
149
|
-
* modalLoadingEffect,
|
|
150
|
-
* bgLoadingEffect,
|
|
151
|
-
* removeLoadingEffect,
|
|
152
|
-
* successToastEffect,
|
|
153
|
-
* errorToastEffect,
|
|
154
|
-
* // ... other effects
|
|
155
|
-
* ]
|
|
156
|
-
* ```
|
|
157
|
-
*/
|
|
158
|
-
export declare function createAllLoadingEffects(options: CreateLoadingEffectsOptions): {
|
|
159
|
-
modalLoadingEffect: (import('rxjs').Observable<{
|
|
160
|
-
payload: import('@progressive-development/pd-content').LoadingState;
|
|
161
|
-
} & {
|
|
162
|
-
type: "SPA_APP_ADD_LOADING";
|
|
163
|
-
}> & import('mini-rx-store/lib/models.js').HasEffectMetadata) | null;
|
|
164
|
-
bgLoadingEffect: (import('rxjs').Observable<{
|
|
165
|
-
payload: import('@progressive-development/pd-content').LoadingState;
|
|
166
|
-
} & {
|
|
167
|
-
type: "SPA_APP_ADD_LOADING";
|
|
168
|
-
}> & import('mini-rx-store/lib/models.js').HasEffectMetadata) | null;
|
|
169
|
-
removeLoadingEffect: (import('rxjs').Observable<{
|
|
170
|
-
payload: string;
|
|
171
|
-
} & {
|
|
172
|
-
type: "SPA_APP_REMOVE_LOADING";
|
|
173
|
-
}> & import('mini-rx-store/lib/models.js').HasEffectMetadata) | null;
|
|
174
|
-
successToastEffect: (import('rxjs').Observable<Action<string>> & import('mini-rx-store/lib/models.js').HasEffectMetadata) | null;
|
|
175
|
-
errorToastEffect: (import('rxjs').Observable<Action<string> & {
|
|
176
|
-
payload?: unknown;
|
|
177
|
-
}> & import('mini-rx-store/lib/models.js').HasEffectMetadata) | null;
|
|
178
|
-
};
|
|
179
|
-
//# sourceMappingURL=async-action-effects.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async-action-effects.d.ts","sourceRoot":"","sources":["../../src/store/async-action-effects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAKxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAOpE,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAAE,EAC9B,OAAO,GAAE,oBAAyB;;;;6DAoBnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,EAAE;;;;6DAevE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,oBAAoB,EAAE,EAC9B,OAAO,GAAE,mBAAwB,uGAoBlC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAAE,EAC9B,OAAO,GAAE,iBAAsB;cASO,OAAO;6DAmB9C;AAMD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qCAAqC;IACrC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC1C,sCAAsC;IACtC,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC5C,oCAAoC;IACpC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,6BAA6B;IAC7B,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,4BAA4B;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,2BAA2B;;;;;;;;;;;;;;;;;;kBA1EpC,OAAO;;EAoG9C"}
|