diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index d78ce0b..5083ace 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartstate', - version: '2.0.14', + version: '2.0.15', description: 'a package that handles state in a good way' } diff --git a/ts/smartstate.classes.smartstate.ts b/ts/smartstate.classes.smartstate.ts index ca30d57..ec536cb 100644 --- a/ts/smartstate.classes.smartstate.ts +++ b/ts/smartstate.classes.smartstate.ts @@ -59,6 +59,7 @@ export class Smartstate { storeName: statePartName as any, } : null ); + await newState.init(); const currentState = newState.getState(); await newState.setState({ ...initialPayloadArg, diff --git a/ts/smartstate.classes.statepart.ts b/ts/smartstate.classes.statepart.ts index a4aa6af..b467d4f 100644 --- a/ts/smartstate.classes.statepart.ts +++ b/ts/smartstate.classes.statepart.ts @@ -7,23 +7,24 @@ export class StatePart { public stateStore: TStatePayload; private cumulativeDeferred = plugins.smartpromise.cumulativeDefer(); + private webStoreOptions: plugins.webstore.IWebStoreOptions; private webStore: plugins.webstore.WebStore | null = null; // Add WebStore instance - constructor(nameArg: TStatePartName, webStoreOptions?: plugins.webstore.IWebStoreOptions) { + constructor(nameArg: TStatePartName, webStoreOptionsArg?: plugins.webstore.IWebStoreOptions) { this.name = nameArg; // Initialize WebStore if webStoreOptions are provided - if (webStoreOptions) { - this.webStore = new plugins.webstore.WebStore(webStoreOptions); - this.initWebStore(); + if (webStoreOptionsArg) { + this.webStoreOptions = webStoreOptionsArg; } } /** * initializes the webstore */ - private async initWebStore() { - if (this.webStore) { + public async init() { + if (this.webStoreOptions) { + this.webStore = new plugins.webstore.WebStore(this.webStoreOptions); await this.webStore.init(); const storedState = await this.webStore.get(String(this.name)); if (storedState) {