@angular-architects/ngrx-toolkit 20.0.0 → 20.0.1
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/index.d.ts
CHANGED
|
@@ -837,17 +837,28 @@ type AsyncMethods = {
|
|
|
837
837
|
readFromStorage(): Promise<void>;
|
|
838
838
|
writeToStorage(): Promise<void>;
|
|
839
839
|
};
|
|
840
|
+
/**
|
|
841
|
+
* AsyncFeatureResult is used as the public interface that users interact with
|
|
842
|
+
* when calling `withIndexedDB`. It intentionally omits the internal SYNC_STATUS
|
|
843
|
+
* property to avoid TypeScript error TS4058 (return type of public method
|
|
844
|
+
* includes private type).
|
|
845
|
+
*
|
|
846
|
+
* For internal implementation, we use AsyncStoreForFactory which includes
|
|
847
|
+
* the SYNC_STATUS property needed for state management.
|
|
848
|
+
*/
|
|
840
849
|
declare const SYNC_STATUS: unique symbol;
|
|
841
850
|
type SyncStatus = 'idle' | 'syncing' | 'synced';
|
|
851
|
+
type InternalAsyncProps = AsyncFeatureResult['props'] & {
|
|
852
|
+
[SYNC_STATUS]: WritableSignal<SyncStatus>;
|
|
853
|
+
};
|
|
842
854
|
type AsyncFeatureResult = EmptyFeatureResult & {
|
|
843
855
|
methods: AsyncMethods;
|
|
844
856
|
props: {
|
|
845
857
|
isSynced: Signal<boolean>;
|
|
846
858
|
whenSynced: () => Promise<void>;
|
|
847
|
-
[SYNC_STATUS]: WritableSignal<SyncStatus>;
|
|
848
859
|
};
|
|
849
860
|
};
|
|
850
|
-
type AsyncStoreForFactory<State extends object> = WritableStateSource<State> &
|
|
861
|
+
type AsyncStoreForFactory<State extends object> = WritableStateSource<State> & InternalAsyncProps;
|
|
851
862
|
type AsyncStorageStrategy<State extends object> = ((config: Required<SyncConfig<State>>, store: AsyncStoreForFactory<State>, useStubs: boolean) => AsyncMethods) & {
|
|
852
863
|
type: 'async';
|
|
853
864
|
};
|