@artisan-commerce/state 0.3.0-canary.15 → 0.3.0-canary.16
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/{bundle.cjs.js → bundle.cjs} +1 -3
- package/dist/bundle.cjs.map +1 -0
- package/dist/bundle.d.ts +1 -1
- package/dist/{bundle.esm.js → bundle.mjs} +1 -1
- package/dist/bundle.mjs.map +1 -0
- package/dist/bundle.umd.js +0 -2
- package/dist/bundle.umd.js.map +1 -1
- package/package.json +8 -7
- package/dist/bundle.cjs.js.map +0 -1
- package/dist/bundle.esm.js.map +0 -1
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var __defProp = Object.defineProperty;
|
|
6
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
@@ -49,4 +47,4 @@ let State = _State;
|
|
|
49
47
|
State._instance = null;
|
|
50
48
|
|
|
51
49
|
exports.State = State;
|
|
52
|
-
//# sourceMappingURL=bundle.cjs.
|
|
50
|
+
//# sourceMappingURL=bundle.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.cjs","sources":["../src/lib/state.ts"],"sourcesContent":["// Common functions and data\n\n/**\n * @since 0.1.0\n * @typedef State\n */\nexport type GlobalState = Record<string, any>;\n\n/**\n *\n * Create a global state.\n *\n * @example\n * interface Animal {\n * walk: () => void;\n * name: string;\n * }\n *\n * function getDogState(): State<Animal> {\n * return State.getInstance({ name: \"Rancho\", walk: () => {} });\n * }\n *\n * const dogState = getDogState();\n */\nexport class State<T extends GlobalState> {\n static _instance: State<any> | null = null;\n private _initialState: T;\n private _state: T;\n\n private constructor(state: T) {\n this._state = state;\n this._initialState = state;\n }\n\n public static getInstance<T extends GlobalState>(initialState: T): State<T> {\n if (!State._instance) {\n State._instance = new State<T>(initialState);\n }\n return State._instance as State<T>;\n }\n\n /**\n * Updates the global state.\n *\n * @since 0.1.0\n * @param {T} overrides Global state overrides\n */\n public setState(overrides: Partial<T>) {\n this._state = { ...this._state, ...overrides };\n }\n\n /**\n * Returns the global state.\n *\n * @since 0.1.0\n * @returns {T} The global state\n */\n public get state(): T {\n if (this._state === null) {\n throw new Error(\n \"The state has not been initialized, make sure to call State.init beforehand\"\n );\n }\n return this._state;\n }\n\n /**\n * Returns whether the state has been initialized.\n *\n * @since 0.1.0\n * @returns {boolean} Whether the state has been initialized\n */\n public checkInit(): boolean {\n return !!this._state;\n }\n\n /**\n * Reset state to the given initial state.\n *\n * @since 0.1.0\n */\n public reset() {\n this._state = this._initialState;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAwBO,MAAmC,MAAA,GAAA,MAAA;AAAA,EAKhC,YAAY,KAAU,EAAA;AAC5B,IAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAA;AACd,IAAA,IAAA,CAAK,aAAgB,GAAA,KAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAGT,YAAmC,YAA2B,EAAA;AAC1E,IAAI,IAAA,CAAC,OAAM,SAAW,EAAA;AACpB,MAAM,MAAA,CAAA,SAAA,GAAY,IAAI,MAAS,CAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAEjC,IAAA,OAAO,MAAM,CAAA,SAAA,CAAA;AAAA,GAAA;AAAA,EASR,SAAS,SAAuB,EAAA;AACrC,IAAK,IAAA,CAAA,MAAA,GAAS,cAAK,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAK,MAAW,CAAA,EAAA,SAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAS1B,KAAW,GAAA;AACpB,IAAI,IAAA,IAAA,CAAK,WAAW,IAAM,EAAA;AACxB,MAAA,MAAM,IAAI,KACR,CAAA,6EAAA,CAAA,CAAA;AAAA,KAAA;AAGJ,IAAA,OAAO,IAAK,CAAA,MAAA,CAAA;AAAA,GAAA;AAAA,EASP,SAAqB,GAAA;AAC1B,IAAO,OAAA,CAAC,CAAC,IAAK,CAAA,MAAA,CAAA;AAAA,GAAA;AAAA,EAQT,KAAQ,GAAA;AACb,IAAA,IAAA,CAAK,SAAS,IAAK,CAAA,aAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA;AA1DhB,IAAA,KAAA,GAAA,OAAA;AAAA,MACE,SAA+B,GAAA,IAAA;;;;"}
|
package/dist/bundle.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.mjs","sources":["../src/lib/state.ts"],"sourcesContent":["// Common functions and data\n\n/**\n * @since 0.1.0\n * @typedef State\n */\nexport type GlobalState = Record<string, any>;\n\n/**\n *\n * Create a global state.\n *\n * @example\n * interface Animal {\n * walk: () => void;\n * name: string;\n * }\n *\n * function getDogState(): State<Animal> {\n * return State.getInstance({ name: \"Rancho\", walk: () => {} });\n * }\n *\n * const dogState = getDogState();\n */\nexport class State<T extends GlobalState> {\n static _instance: State<any> | null = null;\n private _initialState: T;\n private _state: T;\n\n private constructor(state: T) {\n this._state = state;\n this._initialState = state;\n }\n\n public static getInstance<T extends GlobalState>(initialState: T): State<T> {\n if (!State._instance) {\n State._instance = new State<T>(initialState);\n }\n return State._instance as State<T>;\n }\n\n /**\n * Updates the global state.\n *\n * @since 0.1.0\n * @param {T} overrides Global state overrides\n */\n public setState(overrides: Partial<T>) {\n this._state = { ...this._state, ...overrides };\n }\n\n /**\n * Returns the global state.\n *\n * @since 0.1.0\n * @returns {T} The global state\n */\n public get state(): T {\n if (this._state === null) {\n throw new Error(\n \"The state has not been initialized, make sure to call State.init beforehand\"\n );\n }\n return this._state;\n }\n\n /**\n * Returns whether the state has been initialized.\n *\n * @since 0.1.0\n * @returns {boolean} Whether the state has been initialized\n */\n public checkInit(): boolean {\n return !!this._state;\n }\n\n /**\n * Reset state to the given initial state.\n *\n * @since 0.1.0\n */\n public reset() {\n this._state = this._initialState;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAwBO,MAAmC,MAAA,GAAA,MAAA;AAAA,EAKhC,YAAY,KAAU,EAAA;AAC5B,IAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAA;AACd,IAAA,IAAA,CAAK,aAAgB,GAAA,KAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAGT,YAAmC,YAA2B,EAAA;AAC1E,IAAI,IAAA,CAAC,OAAM,SAAW,EAAA;AACpB,MAAM,MAAA,CAAA,SAAA,GAAY,IAAI,MAAS,CAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAEjC,IAAA,OAAO,MAAM,CAAA,SAAA,CAAA;AAAA,GAAA;AAAA,EASR,SAAS,SAAuB,EAAA;AACrC,IAAK,IAAA,CAAA,MAAA,GAAS,cAAK,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAK,MAAW,CAAA,EAAA,SAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAS1B,KAAW,GAAA;AACpB,IAAI,IAAA,IAAA,CAAK,WAAW,IAAM,EAAA;AACxB,MAAA,MAAM,IAAI,KACR,CAAA,6EAAA,CAAA,CAAA;AAAA,KAAA;AAGJ,IAAA,OAAO,IAAK,CAAA,MAAA,CAAA;AAAA,GAAA;AAAA,EASP,SAAqB,GAAA;AAC1B,IAAO,OAAA,CAAC,CAAC,IAAK,CAAA,MAAA,CAAA;AAAA,GAAA;AAAA,EAQT,KAAQ,GAAA;AACb,IAAA,IAAA,CAAK,SAAS,IAAK,CAAA,aAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA;AA1DhB,IAAA,KAAA,GAAA,OAAA;AAAA,MACE,SAA+B,GAAA,IAAA;;;;"}
|
package/dist/bundle.umd.js
CHANGED
package/dist/bundle.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.umd.js","sources":["../src/lib/state.ts"],"sourcesContent":["// Common functions and data\n\n/**\n * @since 0.1.0\n * @typedef State\n */\nexport type GlobalState = Record<string, any>;\n\n/**\n *\n * Create a global state.\n *\n * @example\n * interface Animal {\n * walk: () => void;\n * name: string;\n * }\n *\n * function getDogState(): State<Animal> {\n * return State.getInstance({ name: \"Rancho\", walk: () => {} });\n * }\n *\n * const dogState = getDogState();\n */\nexport class State<T extends GlobalState> {\n static _instance: State<any> | null = null;\n private _initialState: T;\n private _state: T;\n\n private constructor(state: T) {\n this._state = state;\n this._initialState = state;\n }\n\n public static getInstance<T extends GlobalState>(initialState: T): State<T> {\n if (!State._instance) {\n State._instance = new State<T>(initialState);\n }\n return State._instance as State<T>;\n }\n\n /**\n * Updates the global state.\n *\n * @since 0.1.0\n * @param {T} overrides Global state overrides\n */\n public setState(overrides: Partial<T>) {\n this._state = { ...this._state, ...overrides };\n }\n\n /**\n * Returns the global state.\n *\n * @since 0.1.0\n * @returns {T} The global state\n */\n public get state(): T {\n if (this._state === null) {\n throw new Error(\n \"The state has not been initialized, make sure to call State.init beforehand\"\n );\n }\n return this._state;\n }\n\n /**\n * Returns whether the state has been initialized.\n *\n * @since 0.1.0\n * @returns {boolean} Whether the state has been initialized\n */\n public checkInit(): boolean {\n return !!this._state;\n }\n\n /**\n * Reset state to the given initial state.\n *\n * @since 0.1.0\n */\n public reset() {\n this._state = this._initialState;\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle.umd.js","sources":["../src/lib/state.ts"],"sourcesContent":["// Common functions and data\n\n/**\n * @since 0.1.0\n * @typedef State\n */\nexport type GlobalState = Record<string, any>;\n\n/**\n *\n * Create a global state.\n *\n * @example\n * interface Animal {\n * walk: () => void;\n * name: string;\n * }\n *\n * function getDogState(): State<Animal> {\n * return State.getInstance({ name: \"Rancho\", walk: () => {} });\n * }\n *\n * const dogState = getDogState();\n */\nexport class State<T extends GlobalState> {\n static _instance: State<any> | null = null;\n private _initialState: T;\n private _state: T;\n\n private constructor(state: T) {\n this._state = state;\n this._initialState = state;\n }\n\n public static getInstance<T extends GlobalState>(initialState: T): State<T> {\n if (!State._instance) {\n State._instance = new State<T>(initialState);\n }\n return State._instance as State<T>;\n }\n\n /**\n * Updates the global state.\n *\n * @since 0.1.0\n * @param {T} overrides Global state overrides\n */\n public setState(overrides: Partial<T>) {\n this._state = { ...this._state, ...overrides };\n }\n\n /**\n * Returns the global state.\n *\n * @since 0.1.0\n * @returns {T} The global state\n */\n public get state(): T {\n if (this._state === null) {\n throw new Error(\n \"The state has not been initialized, make sure to call State.init beforehand\"\n );\n }\n return this._state;\n }\n\n /**\n * Returns whether the state has been initialized.\n *\n * @since 0.1.0\n * @returns {boolean} Whether the state has been initialized\n */\n public checkInit(): boolean {\n return !!this._state;\n }\n\n /**\n * Reset state to the given initial state.\n *\n * @since 0.1.0\n */\n public reset() {\n this._state = this._initialState;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAwBO,MAAmC,MAAA,GAAA,MAAA;EAAA,EAKhC,YAAY,KAAU,EAAA;EAC5B,IAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAA;EACd,IAAA,IAAA,CAAK,aAAgB,GAAA,KAAA,CAAA;EAAA,GAAA;EAAA,EAAA,OAGT,YAAmC,YAA2B,EAAA;EAC1E,IAAI,IAAA,CAAC,OAAM,SAAW,EAAA;EACpB,MAAM,MAAA,CAAA,SAAA,GAAY,IAAI,MAAS,CAAA,YAAA,CAAA,CAAA;EAAA,KAAA;EAEjC,IAAA,OAAO,MAAM,CAAA,SAAA,CAAA;EAAA,GAAA;EAAA,EASR,SAAS,SAAuB,EAAA;EACrC,IAAK,IAAA,CAAA,MAAA,GAAS,cAAK,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAK,MAAW,CAAA,EAAA,SAAA,CAAA,CAAA;EAAA,GAAA;EAAA,EAAA,IAS1B,KAAW,GAAA;EACpB,IAAI,IAAA,IAAA,CAAK,WAAW,IAAM,EAAA;EACxB,MAAA,MAAM,IAAI,KACR,CAAA,6EAAA,CAAA,CAAA;EAAA,KAAA;EAGJ,IAAA,OAAO,IAAK,CAAA,MAAA,CAAA;EAAA,GAAA;EAAA,EASP,SAAqB,GAAA;EAC1B,IAAO,OAAA,CAAC,CAAC,IAAK,CAAA,MAAA,CAAA;EAAA,GAAA;EAAA,EAQT,KAAQ,GAAA;EACb,IAAA,IAAA,CAAK,SAAS,IAAK,CAAA,aAAA,CAAA;EAAA,GAAA;EAAA,CAAA,CAAA;AA1DhB,MAAA,KAAA,GAAA,OAAA;EAAA,MACE,SAA+B,GAAA,IAAA;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artisan-commerce/state",
|
|
3
3
|
"description": "Library used to share state functionality",
|
|
4
|
-
"version": "0.3.0-canary.
|
|
5
|
-
"
|
|
6
|
-
"
|
|
4
|
+
"version": "0.3.0-canary.16",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/bundle.cjs",
|
|
7
|
+
"module": "./dist/bundle.mjs",
|
|
7
8
|
"types": "./dist/bundle.d.ts",
|
|
8
9
|
"files": [
|
|
9
10
|
"dist"
|
|
@@ -18,9 +19,9 @@
|
|
|
18
19
|
"test": "jest --watchAll --runInBand",
|
|
19
20
|
"test:all": "yarn test --watchAll=false --coverage",
|
|
20
21
|
"test:ci": "cross-env CI=true jest --runInBand",
|
|
21
|
-
"test:staged": "yarn test:ci
|
|
22
|
+
"test:staged": "yarn test:ci",
|
|
22
23
|
"check-types": "tsc --noEmit",
|
|
23
|
-
"lint": "eslint --ignore-path .gitignore --ignore-pattern !cypress/.eslintrc.
|
|
24
|
+
"lint": "eslint --ignore-path .gitignore --ignore-pattern !cypress/.eslintrc.cjs --ext .js,jsx,.ts,.tsx .",
|
|
24
25
|
"lint:staged": "yarn lint --max-warnings=0",
|
|
25
26
|
"prettier": "prettier --ignore-path .gitignore \"**/*.+(js|jsx|ts|tsx|json|css|scss|html)\"",
|
|
26
27
|
"format": "yarn prettier --write",
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
}
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|
|
53
|
-
"@artisan-commerce/types": "0.14.0-canary.
|
|
54
|
+
"@artisan-commerce/types": "0.14.0-canary.44"
|
|
54
55
|
},
|
|
55
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "3c92488c824df82adb39b272b9e389bb7d30443c"
|
|
56
57
|
}
|
package/dist/bundle.cjs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.cjs.js","sources":["../src/lib/state.ts"],"sourcesContent":["// Common functions and data\n\n/**\n * @since 0.1.0\n * @typedef State\n */\nexport type GlobalState = Record<string, any>;\n\n/**\n *\n * Create a global state.\n *\n * @example\n * interface Animal {\n * walk: () => void;\n * name: string;\n * }\n *\n * function getDogState(): State<Animal> {\n * return State.getInstance({ name: \"Rancho\", walk: () => {} });\n * }\n *\n * const dogState = getDogState();\n */\nexport class State<T extends GlobalState> {\n static _instance: State<any> | null = null;\n private _initialState: T;\n private _state: T;\n\n private constructor(state: T) {\n this._state = state;\n this._initialState = state;\n }\n\n public static getInstance<T extends GlobalState>(initialState: T): State<T> {\n if (!State._instance) {\n State._instance = new State<T>(initialState);\n }\n return State._instance as State<T>;\n }\n\n /**\n * Updates the global state.\n *\n * @since 0.1.0\n * @param {T} overrides Global state overrides\n */\n public setState(overrides: Partial<T>) {\n this._state = { ...this._state, ...overrides };\n }\n\n /**\n * Returns the global state.\n *\n * @since 0.1.0\n * @returns {T} The global state\n */\n public get state(): T {\n if (this._state === null) {\n throw new Error(\n \"The state has not been initialized, make sure to call State.init beforehand\"\n );\n }\n return this._state;\n }\n\n /**\n * Returns whether the state has been initialized.\n *\n * @since 0.1.0\n * @returns {boolean} Whether the state has been initialized\n */\n public checkInit(): boolean {\n return !!this._state;\n }\n\n /**\n * Reset state to the given initial state.\n *\n * @since 0.1.0\n */\n public reset() {\n this._state = this._initialState;\n }\n}\n"],"names":[],"mappings":";;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,MAAM;AACrB,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACxB,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC/B,GAAG;AACH,EAAE,OAAO,WAAW,CAAC,YAAY,EAAE;AACnC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC3B,MAAM,MAAM,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC;AAC5B,GAAG;AACH,EAAE,QAAQ,CAAC,SAAS,EAAE;AACtB,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7E,GAAG;AACH,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;AAC9B,MAAM,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;AACrG,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,GAAG;AACH,EAAE,SAAS,GAAG;AACd,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB,GAAG;AACH,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;AACrC,GAAG;AACH,CAAC,CAAC;AACQ,IAAC,KAAK,GAAG,OAAO;AAC1B,KAAK,CAAC,SAAS,GAAG,IAAI;;;;"}
|
package/dist/bundle.esm.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.esm.js","sources":["../src/lib/state.ts"],"sourcesContent":["// Common functions and data\n\n/**\n * @since 0.1.0\n * @typedef State\n */\nexport type GlobalState = Record<string, any>;\n\n/**\n *\n * Create a global state.\n *\n * @example\n * interface Animal {\n * walk: () => void;\n * name: string;\n * }\n *\n * function getDogState(): State<Animal> {\n * return State.getInstance({ name: \"Rancho\", walk: () => {} });\n * }\n *\n * const dogState = getDogState();\n */\nexport class State<T extends GlobalState> {\n static _instance: State<any> | null = null;\n private _initialState: T;\n private _state: T;\n\n private constructor(state: T) {\n this._state = state;\n this._initialState = state;\n }\n\n public static getInstance<T extends GlobalState>(initialState: T): State<T> {\n if (!State._instance) {\n State._instance = new State<T>(initialState);\n }\n return State._instance as State<T>;\n }\n\n /**\n * Updates the global state.\n *\n * @since 0.1.0\n * @param {T} overrides Global state overrides\n */\n public setState(overrides: Partial<T>) {\n this._state = { ...this._state, ...overrides };\n }\n\n /**\n * Returns the global state.\n *\n * @since 0.1.0\n * @returns {T} The global state\n */\n public get state(): T {\n if (this._state === null) {\n throw new Error(\n \"The state has not been initialized, make sure to call State.init beforehand\"\n );\n }\n return this._state;\n }\n\n /**\n * Returns whether the state has been initialized.\n *\n * @since 0.1.0\n * @returns {boolean} Whether the state has been initialized\n */\n public checkInit(): boolean {\n return !!this._state;\n }\n\n /**\n * Reset state to the given initial state.\n *\n * @since 0.1.0\n */\n public reset() {\n this._state = this._initialState;\n }\n}\n"],"names":[],"mappings":"AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,MAAM;AACrB,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACxB,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC/B,GAAG;AACH,EAAE,OAAO,WAAW,CAAC,YAAY,EAAE;AACnC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC3B,MAAM,MAAM,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC;AAC5B,GAAG;AACH,EAAE,QAAQ,CAAC,SAAS,EAAE;AACtB,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7E,GAAG;AACH,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;AAC9B,MAAM,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;AACrG,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC;AACvB,GAAG;AACH,EAAE,SAAS,GAAG;AACd,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB,GAAG;AACH,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;AACrC,GAAG;AACH,CAAC,CAAC;AACQ,IAAC,KAAK,GAAG,OAAO;AAC1B,KAAK,CAAC,SAAS,GAAG,IAAI;;;;"}
|