Compare commits

...

4 Commits

Author SHA1 Message Date
69e905ad76 1.0.18 2020-11-29 23:28:45 +00:00
7b9ed9ee78 fix(core): update 2020-11-29 23:28:44 +00:00
f884807f33 1.0.17 2020-07-27 18:17:53 +00:00
f167800113 fix(core): update 2020-07-27 18:17:52 +00:00
3 changed files with 6 additions and 6 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartstate",
"version": "1.0.16",
"version": "1.0.18",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartstate",
"version": "1.0.16",
"version": "1.0.18",
"private": false,
"description": "a package that handles state in a good way",
"main": "dist_ts/index.js",

View File

@ -5,21 +5,21 @@ import { StatePart } from './smartstate.classes.statepart';
* Smartstate takes care of providing state
*/
export class Smartstate<StatePartNameType> {
public statePartMap: { [key: string]: StatePart<StatePartNameType, any> } = {};
public statePartMap: { [key: string]: StatePart<StatePartNameType, unknown> } = {};
constructor() {}
public getStatePart<PayloadType>(
statePartNameArg: StatePartNameType,
statePartNameArg: string & StatePartNameType,
initialArg?: PayloadType
): StatePart<StatePartNameType, PayloadType> {
if (this.statePartMap[statePartNameArg as any]) {
if (initialArg) {
if (initialArg && Object.keys(initialArg).length > 0) {
throw new Error(
`${statePartNameArg} already exists, yet you try to set an initial state again`
);
}
return this.statePartMap[statePartNameArg as any];
return this.statePartMap[statePartNameArg] as StatePart<StatePartNameType, PayloadType>;
} else {
if (!initialArg) {
throw new Error(