diff --git a/ts/smartstate.classes.smartstate.ts b/ts/smartstate.classes.smartstate.ts index 3f90823..75d41a8 100644 --- a/ts/smartstate.classes.smartstate.ts +++ b/ts/smartstate.classes.smartstate.ts @@ -11,10 +11,11 @@ export class Smartstate { public getStatePart( statePartNameArg: string & StatePartNameType, - initialArg?: PayloadType + initialArg?: PayloadType, + initMode?: 'soft' | 'mandatory' ): StatePart { if (this.statePartMap[statePartNameArg as any]) { - if (initialArg && Object.keys(initialArg).length > 0) { + if (initialArg && (!initMode || initMode !== 'soft')) { throw new Error( `${statePartNameArg} already exists, yet you try to set an initial state again` );