diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..d604723 --- /dev/null +++ b/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@babel/preset-env"], + "plugins": ["@babel/plugin-transform-modules-commonjs"] +} diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..1a1a903 --- /dev/null +++ b/.npmignore @@ -0,0 +1,4 @@ +node_modules +src +dist +tsconfig.json diff --git a/cjs/contexts/index.d.ts b/cjs/contexts/index.d.ts new file mode 100644 index 0000000..10233aa --- /dev/null +++ b/cjs/contexts/index.d.ts @@ -0,0 +1,4 @@ +/// <reference types="react" /> +import { GXContextType } from "./types"; +declare const GXContext: import("react").Context<GXContextType>; +export default GXContext; diff --git a/cjs/contexts/index.js b/cjs/contexts/index.js new file mode 100644 index 0000000..0aeec25 --- /dev/null +++ b/cjs/contexts/index.js @@ -0,0 +1,12 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var react_1 = require("react"); +var GXContext = (0, react_1.createContext)({ + signals: [], + dispatch: function dispatch() {} +}); +exports.default = GXContext; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWFjdF8xIiwicmVxdWlyZSIsIkdYQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJzaWduYWxzIiwiZGlzcGF0Y2giLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFNQyxTQUFTLEdBQUcsSUFBQUYsT0FBQSxDQUFBRyxhQUFhLEVBQWdCO0VBQzdDQyxPQUFPLEVBQUUsRUFBRTtFQUNYQyxRQUFRLEVBQUUsU0FBQUEsU0FBQSxFQUFLLENBQUU7Q0FDbEIsQ0FBQztBQUVGQyxPQUFBLENBQUFDLE9BQUEsR0FBZUwsU0FBUyJ9 \ No newline at end of file diff --git a/cjs/contexts/index.js.map b/cjs/contexts/index.js.map new file mode 100644 index 0000000..24febf7 --- /dev/null +++ b/cjs/contexts/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":";;AAAA,iCAAsC;AAGtC,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAgB;IAC7C,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC,CAAC;AAEH,kBAAe,SAAS,CAAA"} \ No newline at end of file diff --git a/cjs/contexts/types.d.ts b/cjs/contexts/types.d.ts new file mode 100644 index 0000000..9b5bb4b --- /dev/null +++ b/cjs/contexts/types.d.ts @@ -0,0 +1,19 @@ +/// <reference types="react" /> +import { GXAction } from "../providers/types"; +export type GXSignalType<T = any> = { + name: string; + state: T; + actions: GXActionType<T>[]; +}; +export type GXActionType<T, P = any> = { + type: string; + handler: (state: T, payload: P) => T; +}; +export type DispatchedActionType = { + type: string; + payload: any; +}; +export type GXContextType = { + signals: GXSignalType[]; + dispatch: React.Dispatch<GXAction>; +}; diff --git a/cjs/contexts/types.js b/cjs/contexts/types.js new file mode 100644 index 0000000..74da1f2 --- /dev/null +++ b/cjs/contexts/types.js @@ -0,0 +1,6 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiIn0= \ No newline at end of file diff --git a/cjs/contexts/types.js.map b/cjs/contexts/types.js.map new file mode 100644 index 0000000..50cfc6a --- /dev/null +++ b/cjs/contexts/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contexts/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/cjs/helpers/createSignal.d.ts b/cjs/helpers/createSignal.d.ts new file mode 100644 index 0000000..59ce0f7 --- /dev/null +++ b/cjs/helpers/createSignal.d.ts @@ -0,0 +1,13 @@ +import { CreateSignalOptionType } from './types'; +import { GXActionType } from '../contexts/types'; +/** + * Create a signal with a state and actions for managing this state + * @param options + * @returns + */ +declare const createSignal: <T>(options: CreateSignalOptionType<T>) => { + name: string; + state: T; + actions: GXActionType<T, any>[]; +}; +export default createSignal; diff --git a/cjs/helpers/createSignal.js b/cjs/helpers/createSignal.js new file mode 100644 index 0000000..0388d14 --- /dev/null +++ b/cjs/helpers/createSignal.js @@ -0,0 +1,31 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +/** + * Create a signal with a state and actions for managing this state + * @param options + * @returns + */ +var createSignal = function createSignal(options) { + var actions = []; + // Convert the actions object to an array + var actionsTable = Object.entries(options.actions); + for (var _i = 0, _actionsTable = actionsTable; _i < _actionsTable.length; _i++) { + var action = _actionsTable[_i]; + actions.push({ + type: "".concat(options.name, "/").concat(action[0]), + handler: action[1] + }); + } + // Create a signal + var signal = { + name: options.name, + state: options.state, + actions: actions + }; + return signal; +}; +exports.default = createSignal; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVTaWduYWwiLCJvcHRpb25zIiwiYWN0aW9ucyIsImFjdGlvbnNUYWJsZSIsIk9iamVjdCIsImVudHJpZXMiLCJfaSIsIl9hY3Rpb25zVGFibGUiLCJsZW5ndGgiLCJhY3Rpb24iLCJwdXNoIiwidHlwZSIsImNvbmNhdCIsIm5hbWUiLCJoYW5kbGVyIiwic2lnbmFsIiwic3RhdGUiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2NyZWF0ZVNpZ25hbC50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQTs7Ozs7QUFLQSxJQUFNQSxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBT0MsT0FBa0MsRUFBSTtFQUM3RCxJQUFNQyxPQUFPLEdBQTJCLEVBQUU7RUFFMUM7RUFDQSxJQUFNQyxZQUFZLEdBQUdDLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDSixPQUFPLENBQUNDLE9BQU8sQ0FBQztFQUVwRCxTQUFBSSxFQUFBLE1BQUFDLGFBQUEsR0FBbUJKLFlBQVksRUFBQUcsRUFBQSxHQUFBQyxhQUFBLENBQUFDLE1BQUEsRUFBQUYsRUFBQSxJQUFFO0lBQTVCLElBQUlHLE1BQU0sR0FBQUYsYUFBQSxDQUFBRCxFQUFBO0lBQ2JKLE9BQU8sQ0FBQ1EsSUFBSSxDQUFDO01BQ1hDLElBQUksS0FBQUMsTUFBQSxDQUFLWCxPQUFPLENBQUNZLElBQUksT0FBQUQsTUFBQSxDQUFJSCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUU7TUFDcENLLE9BQU8sRUFBRUwsTUFBTSxDQUFDLENBQUM7S0FDbEIsQ0FBQzs7RUFHSjtFQUNBLElBQU1NLE1BQU0sR0FBRztJQUNiRixJQUFJLEVBQUVaLE9BQU8sQ0FBQ1ksSUFBSTtJQUNsQkcsS0FBSyxFQUFFZixPQUFPLENBQUNlLEtBQUs7SUFDcEJkLE9BQU8sRUFBUEE7R0FDRDtFQUVELE9BQU9hLE1BQU07QUFDZixDQUFDO0FBRURFLE9BQUEsQ0FBQUMsT0FBQSxHQUFlbEIsWUFBWSJ9 \ No newline at end of file diff --git a/cjs/helpers/createSignal.js.map b/cjs/helpers/createSignal.js.map new file mode 100644 index 0000000..c3dddca --- /dev/null +++ b/cjs/helpers/createSignal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createSignal.js","sourceRoot":"","sources":["../../src/helpers/createSignal.ts"],"names":[],"mappings":";;AAGA;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAI,OAAkC,EAAE,EAAE;IAC7D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,yCAAyC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEpD,KAAK,IAAI,MAAM,IAAI,YAAY,EAAE;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACpC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;SACnB,CAAC,CAAA;KACH;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;KACR,CAAA;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AAED,kBAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/cjs/helpers/createStore.d.ts b/cjs/helpers/createStore.d.ts new file mode 100644 index 0000000..cdcabf4 --- /dev/null +++ b/cjs/helpers/createStore.d.ts @@ -0,0 +1,4 @@ +import { GXSignalType } from "../contexts/types"; +import { CreateStoreType } from "./types"; +declare const createStore: (signals: GXSignalType[]) => CreateStoreType; +export default createStore; diff --git a/cjs/helpers/createStore.js b/cjs/helpers/createStore.js new file mode 100644 index 0000000..dfa0e25 --- /dev/null +++ b/cjs/helpers/createStore.js @@ -0,0 +1,14 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var createStore = function createStore(signals) { + return { + getSignals: function getSignals() { + return signals; + } + }; +}; +exports.default = createStore; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVTdG9yZSIsInNpZ25hbHMiLCJnZXRTaWduYWxzIiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy9jcmVhdGVTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsT0FBdUIsRUFBcUI7RUFDL0QsT0FBTztJQUNMQyxVQUFVLEVBQUUsU0FBQUEsV0FBQTtNQUFBLE9BQU1ELE9BQU87SUFBQTtHQUMxQjtBQUNILENBQUM7QUFFREUsT0FBQSxDQUFBQyxPQUFBLEdBQWVKLFdBQVcifQ== \ No newline at end of file diff --git a/cjs/helpers/createStore.js.map b/cjs/helpers/createStore.js.map new file mode 100644 index 0000000..90cccb2 --- /dev/null +++ b/cjs/helpers/createStore.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createStore.js","sourceRoot":"","sources":["../../src/helpers/createStore.ts"],"names":[],"mappings":";;AAGA,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAmB,EAAE;IAC/D,OAAO;QACL,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"} \ No newline at end of file diff --git a/cjs/helpers/types.d.ts b/cjs/helpers/types.d.ts new file mode 100644 index 0000000..59eb067 --- /dev/null +++ b/cjs/helpers/types.d.ts @@ -0,0 +1,12 @@ +import { GXSignalType } from "../contexts/types"; +export type CreateSignalOptionType<T> = { + name: string; + state: T; + actions: Action<T>; +}; +export type CreateStoreType = { + getSignals: () => GXSignalType[]; +}; +export type Action<T> = { + [key: string]: (state: T, payload: any) => T; +}; diff --git a/cjs/helpers/types.js b/cjs/helpers/types.js new file mode 100644 index 0000000..a35be81 --- /dev/null +++ b/cjs/helpers/types.js @@ -0,0 +1,6 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/cjs/helpers/types.js.map b/cjs/helpers/types.js.map new file mode 100644 index 0000000..bc4cff3 --- /dev/null +++ b/cjs/helpers/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/cjs/hooks/types.d.ts b/cjs/hooks/types.d.ts new file mode 100644 index 0000000..5ea0015 --- /dev/null +++ b/cjs/hooks/types.d.ts @@ -0,0 +1,3 @@ +export type Actions = { + [key: string]: (payload: any) => void; +}; diff --git a/cjs/hooks/types.js b/cjs/hooks/types.js new file mode 100644 index 0000000..f77d742 --- /dev/null +++ b/cjs/hooks/types.js @@ -0,0 +1,6 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiIn0= \ No newline at end of file diff --git a/cjs/hooks/types.js.map b/cjs/hooks/types.js.map new file mode 100644 index 0000000..c660c10 --- /dev/null +++ b/cjs/hooks/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/cjs/hooks/useAction.d.ts b/cjs/hooks/useAction.d.ts new file mode 100644 index 0000000..b7661c7 --- /dev/null +++ b/cjs/hooks/useAction.d.ts @@ -0,0 +1,2 @@ +declare const useAction: (signalName: string, action: string) => (payload: any) => void; +export default useAction; diff --git a/cjs/hooks/useAction.js b/cjs/hooks/useAction.js new file mode 100644 index 0000000..98a4a69 --- /dev/null +++ b/cjs/hooks/useAction.js @@ -0,0 +1,19 @@ +"use strict"; + +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; +Object.defineProperty(exports, "__esModule", { + value: true +}); +var useActions_1 = __importDefault(require("./useActions")); +var useAction = function useAction(signalName, action) { + if (!signalName || typeof signalName !== "string") throw new Error("Provide a signalName as a first argument of useAction"); + if (!action || typeof action !== "string") throw new Error("Provide an action as second argument of useAction"); + var actions = (0, useActions_1.default)(signalName, action); + return Object.values(actions)[0]; +}; +exports.default = useAction; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VBY3Rpb25zXzEiLCJfX2ltcG9ydERlZmF1bHQiLCJyZXF1aXJlIiwidXNlQWN0aW9uIiwic2lnbmFsTmFtZSIsImFjdGlvbiIsIkVycm9yIiwiYWN0aW9ucyIsImRlZmF1bHQiLCJPYmplY3QiLCJ2YWx1ZXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsZUFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUlDLFVBQWtCLEVBQUVDLE1BQWMsRUFBSTtFQUN2RCxJQUFJLENBQUNELFVBQVUsSUFBSSxPQUFPQSxVQUFVLEtBQUssUUFBUSxFQUMvQyxNQUFNLElBQUlFLEtBQUssQ0FBQyx1REFBdUQsQ0FBQztFQUUxRSxJQUFJLENBQUNELE1BQU0sSUFBSSxPQUFPQSxNQUFNLEtBQUssUUFBUSxFQUN2QyxNQUFNLElBQUlDLEtBQUssQ0FBQyxtREFBbUQsQ0FBQztFQUV0RSxJQUFNQyxPQUFPLEdBQUcsSUFBQVAsWUFBQSxDQUFBUSxPQUFVLEVBQUNKLFVBQVUsRUFBRUMsTUFBTSxDQUFDO0VBRTlDLE9BQU9JLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDSCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVESSxPQUFBLENBQUFILE9BQUEsR0FBZUwsU0FBUyJ9 \ No newline at end of file diff --git a/cjs/hooks/useAction.js.map b/cjs/hooks/useAction.js.map new file mode 100644 index 0000000..043e7e7 --- /dev/null +++ b/cjs/hooks/useAction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useAction.js","sourceRoot":"","sources":["../../src/hooks/useAction.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AAEtC,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAE;IACvD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC/C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"} \ No newline at end of file diff --git a/cjs/hooks/useActions.d.ts b/cjs/hooks/useActions.d.ts new file mode 100644 index 0000000..07ef067 --- /dev/null +++ b/cjs/hooks/useActions.d.ts @@ -0,0 +1,3 @@ +import { Actions } from "./types"; +declare const useActions: (signalName: string, ...actions: string[]) => Actions; +export default useActions; diff --git a/cjs/hooks/useActions.js b/cjs/hooks/useActions.js new file mode 100644 index 0000000..f2fa582 --- /dev/null +++ b/cjs/hooks/useActions.js @@ -0,0 +1,84 @@ +"use strict"; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; +Object.defineProperty(exports, "__esModule", { + value: true +}); +var react_1 = require("react"); +var contexts_1 = __importDefault(require("../contexts")); +var useActions = function useActions(signalName) { + for (var _len = arguments.length, actions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + actions[_key - 1] = arguments[_key]; + } + if (!signalName || typeof signalName !== "string") throw new Error("Provide a signalName as first argument of useActions"); + // Get Global Context + var _ref = (0, react_1.useContext)(contexts_1.default), + signals = _ref.signals, + dispatch = _ref.dispatch; + // Some handlers + /** + * Get actions of a signal + * @param signalName + * @returns + */ + var handleGetActions = function handleGetActions(signalName) { + var signal = signals.find(function (signal) { + return signal.name === signalName; + }); + if (signal) { + if (!actions || actions.length === 0) return signal.actions; + var filteredActions = []; + var _loop = function _loop() { + var action = _actions[_i]; + var actionName = "".concat(signalName, "/").concat(action); + var retrievedAction = signal.actions.find(function (act) { + return act.type === actionName; + }); + if (retrievedAction) filteredActions.push(retrievedAction);else throw new Error("Action ".concat(actionName, " not found")); + }; + for (var _i = 0, _actions = actions; _i < _actions.length; _i++) { + _loop(); + } + return filteredActions; + } else throw new Error("Signal ".concat(signalName, " not found")); + }; + var handleFormatActions = function handleFormatActions() { + // Get actions + var nonFormattedActions = handleGetActions(signalName); + // Formatted actions + var formattedActions = {}; + var _iterator = _createForOfIteratorHelper(nonFormattedActions), + _step; + try { + var _loop2 = function _loop2() { + var action = _step.value; + // Get action name + var actionName = action.type.split("/")[1]; + formattedActions[actionName] = function (payload) { + dispatch({ + type: action.type, + payload: payload + }); + }; + }; + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _loop2(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + return formattedActions; + }; + return handleFormatActions(); +}; +exports.default = useActions; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWFjdF8xIiwicmVxdWlyZSIsImNvbnRleHRzXzEiLCJfX2ltcG9ydERlZmF1bHQiLCJ1c2VBY3Rpb25zIiwic2lnbmFsTmFtZSIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhY3Rpb25zIiwiQXJyYXkiLCJfa2V5IiwiRXJyb3IiLCJfcmVmIiwidXNlQ29udGV4dCIsImRlZmF1bHQiLCJzaWduYWxzIiwiZGlzcGF0Y2giLCJoYW5kbGVHZXRBY3Rpb25zIiwic2lnbmFsIiwiZmluZCIsIm5hbWUiLCJmaWx0ZXJlZEFjdGlvbnMiLCJfbG9vcCIsImFjdGlvbiIsIl9hY3Rpb25zIiwiX2kiLCJhY3Rpb25OYW1lIiwiY29uY2F0IiwicmV0cmlldmVkQWN0aW9uIiwiYWN0IiwidHlwZSIsInB1c2giLCJoYW5kbGVGb3JtYXRBY3Rpb25zIiwibm9uRm9ybWF0dGVkQWN0aW9ucyIsImZvcm1hdHRlZEFjdGlvbnMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwiX2xvb3AyIiwidmFsdWUiLCJzcGxpdCIsInBheWxvYWQiLCJzIiwibiIsImRvbmUiLCJlcnIiLCJlIiwiZiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUMsZUFBQSxDQUFBRixPQUFBO0FBSUEsSUFBTUcsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLFVBQWtCLEVBQTBCO0VBQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBckJDLE9BQWlCLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxPQUFBQSxJQUFBLFdBQUFLLElBQUEsTUFBQUEsSUFBQSxHQUFBTCxJQUFBLEVBQUFLLElBQUE7SUFBakJGLE9BQWlCLENBQUFFLElBQUEsUUFBQUosU0FBQSxDQUFBSSxJQUFBO0VBQUE7RUFDMUQsSUFBSSxDQUFDTixVQUFVLElBQUksT0FBT0EsVUFBVSxLQUFLLFFBQVEsRUFDL0MsTUFBTSxJQUFJTyxLQUFLLENBQUMsc0RBQXNELENBQUM7RUFFekU7RUFDQSxJQUFBQyxJQUFBLEdBQThCLElBQUFiLE9BQUEsQ0FBQWMsVUFBVSxFQUFDWixVQUFBLENBQUFhLE9BQVMsQ0FBQztJQUEzQ0MsT0FBTyxHQUFBSCxJQUFBLENBQVBHLE9BQU87SUFBRUMsUUFBUSxHQUFBSixJQUFBLENBQVJJLFFBQVE7RUFFekI7RUFFQTs7Ozs7RUFLQSxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJYixVQUFrQixFQUFJO0lBQzlDLElBQU1jLE1BQU0sR0FBR0gsT0FBTyxDQUFDSSxJQUFJLENBQUMsVUFBQ0QsTUFBTTtNQUFBLE9BQUtBLE1BQU0sQ0FBQ0UsSUFBSSxLQUFLaEIsVUFBVTtJQUFBLEVBQUM7SUFFbkUsSUFBSWMsTUFBTSxFQUFFO01BQ1YsSUFBSSxDQUFDVixPQUFPLElBQUlBLE9BQU8sQ0FBQ0QsTUFBTSxLQUFLLENBQUMsRUFBRSxPQUFPVyxNQUFNLENBQUNWLE9BQU87TUFFM0QsSUFBTWEsZUFBZSxHQUF3QixFQUFFO01BQUMsSUFBQUMsS0FBQSxZQUFBQSxNQUFBLEVBRXBCO1FBQXZCLElBQUlDLE1BQU0sR0FBQUMsUUFBQSxDQUFBQyxFQUFBO1FBQ2IsSUFBTUMsVUFBVSxNQUFBQyxNQUFBLENBQU12QixVQUFVLE9BQUF1QixNQUFBLENBQUlKLE1BQU0sQ0FBRTtRQUU1QyxJQUFNSyxlQUFlLEdBQUdWLE1BQU0sQ0FBQ1YsT0FBTyxDQUFDVyxJQUFJLENBQ3pDLFVBQUNVLEdBQUc7VUFBQSxPQUFLQSxHQUFHLENBQUNDLElBQUksS0FBS0osVUFBVTtRQUFBLEVBQ2pDO1FBRUQsSUFBSUUsZUFBZSxFQUFFUCxlQUFlLENBQUNVLElBQUksQ0FBQ0gsZUFBZSxDQUFDLENBQUMsS0FDdEQsTUFBTSxJQUFJakIsS0FBSyxXQUFBZ0IsTUFBQSxDQUFXRCxVQUFVLGdCQUFhO09BQ3ZEO01BVEQsU0FBQUQsRUFBQSxNQUFBRCxRQUFBLEdBQW1CaEIsT0FBTyxFQUFBaUIsRUFBQSxHQUFBRCxRQUFBLENBQUFqQixNQUFBLEVBQUFrQixFQUFBO1FBQUFILEtBQUE7TUFBQTtNQVcxQixPQUFPRCxlQUFlO0tBQ3ZCLE1BQU0sTUFBTSxJQUFJVixLQUFLLFdBQUFnQixNQUFBLENBQVd2QixVQUFVLGdCQUFhO0VBQzFELENBQUM7RUFFRCxJQUFNNEIsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBQSxFQUFRO0lBQy9CO0lBQ0EsSUFBTUMsbUJBQW1CLEdBQUdoQixnQkFBZ0IsQ0FBQ2IsVUFBVSxDQUFDO0lBRXhEO0lBQ0EsSUFBTThCLGdCQUFnQixHQUFZLEVBQUU7SUFBQyxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBRWhCSCxtQkFBbUI7TUFBQUksS0FBQTtJQUFBO01BQUEsSUFBQUMsTUFBQSxZQUFBQSxPQUFBLEVBQUU7UUFBQSxJQUEvQmYsTUFBTSxHQUFBYyxLQUFBLENBQUFFLEtBQUE7UUFDZjtRQUNBLElBQU1iLFVBQVUsR0FBR0gsTUFBTSxDQUFDTyxJQUFJLENBQUNVLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUNOLGdCQUFnQixDQUFDUixVQUFVLENBQUMsR0FBRyxVQUFDZSxPQUFZLEVBQUk7VUFDOUN6QixRQUFRLENBQUM7WUFDUGMsSUFBSSxFQUFFUCxNQUFNLENBQUNPLElBQUk7WUFDakJXLE9BQU8sRUFBUEE7V0FDRCxDQUFDO1FBQ0osQ0FBQztPQUNGO01BVkQsS0FBQU4sU0FBQSxDQUFBTyxDQUFBLE1BQUFMLEtBQUEsR0FBQUYsU0FBQSxDQUFBUSxDQUFBLElBQUFDLElBQUE7UUFBQU4sTUFBQTtNQUFBO0lBVUMsU0FBQU8sR0FBQTtNQUFBVixTQUFBLENBQUFXLENBQUEsQ0FBQUQsR0FBQTtJQUFBO01BQUFWLFNBQUEsQ0FBQVksQ0FBQTtJQUFBO0lBRUQsT0FBT2IsZ0JBQWdCO0VBQ3pCLENBQUM7RUFFRCxPQUFPRixtQkFBbUIsRUFBRTtBQUM5QixDQUFDO0FBRURnQixPQUFBLENBQUFsQyxPQUFBLEdBQWVYLFVBQVUifQ== \ No newline at end of file diff --git a/cjs/hooks/useActions.js.map b/cjs/hooks/useActions.js.map new file mode 100644 index 0000000..0fad069 --- /dev/null +++ b/cjs/hooks/useActions.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useActions.js","sourceRoot":"","sources":["../../src/hooks/useActions.ts"],"names":[],"mappings":";;;;;AAAA,iCAAmC;AACnC,2DAAoC;AAIpC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,GAAG,OAAiB,EAAE,EAAE;IAC9D,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC/C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAE1E,qBAAqB;IACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAA,kBAAU,EAAC,kBAAS,CAAC,CAAC;IAEpD,gBAAgB;IAEhB;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAEpE,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;YAE5D,MAAM,eAAe,GAAwB,EAAE,CAAC;YAEhD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;gBAE7C,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;gBAEF,IAAI,eAAe;oBAAE,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;oBACtD,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;aACxD;YAED,OAAO,eAAe,CAAC;SACxB;;YAAM,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,cAAc;QACd,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEzD,oBAAoB;QACpB,MAAM,gBAAgB,GAAY,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE;YACxC,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7C,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,OAAY,EAAE,EAAE;gBAC9C,QAAQ,CAAC;oBACP,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC,CAAC;SACH;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"} \ No newline at end of file diff --git a/cjs/hooks/useSignal.d.ts b/cjs/hooks/useSignal.d.ts new file mode 100644 index 0000000..51d6a1c --- /dev/null +++ b/cjs/hooks/useSignal.d.ts @@ -0,0 +1,2 @@ +declare const useSignal: <T = any>(signalName: string) => T; +export default useSignal; diff --git a/cjs/hooks/useSignal.js b/cjs/hooks/useSignal.js new file mode 100644 index 0000000..25e9e63 --- /dev/null +++ b/cjs/hooks/useSignal.js @@ -0,0 +1,37 @@ +"use strict"; + +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; +Object.defineProperty(exports, "__esModule", { + value: true +}); +var react_1 = require("react"); +var contexts_1 = __importDefault(require("../contexts")); +var useSignal = function useSignal(signalName) { + var _ref = (0, react_1.useContext)(contexts_1.default), + signals = _ref.signals; + var memoizedSignals = (0, react_1.useMemo)(function () { + return signals; + }, [signals]); + /** + * Get state of a signal base on its name + * @param signalName + * @returns + */ + var handleGetSignalState = function handleGetSignalState(signalName) { + var signal = memoizedSignals.find(function (signal) { + return signal.name === signalName; + }); + if (signal) { + return signal.state; + } + // Throw error if signal not found + throw new Error("Signal ".concat(signalName, " not found")); + }; + return handleGetSignalState(signalName); +}; +exports.default = useSignal; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWFjdF8xIiwicmVxdWlyZSIsImNvbnRleHRzXzEiLCJfX2ltcG9ydERlZmF1bHQiLCJ1c2VTaWduYWwiLCJzaWduYWxOYW1lIiwiX3JlZiIsInVzZUNvbnRleHQiLCJkZWZhdWx0Iiwic2lnbmFscyIsIm1lbW9pemVkU2lnbmFscyIsInVzZU1lbW8iLCJoYW5kbGVHZXRTaWduYWxTdGF0ZSIsInNpZ25hbCIsImZpbmQiLCJuYW1lIiwic3RhdGUiLCJFcnJvciIsImNvbmNhdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlU2lnbmFsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxlQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFNRyxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBYUMsVUFBa0IsRUFBSTtFQUNoRCxJQUFBQyxJQUFBLEdBQW9CLElBQUFOLE9BQUEsQ0FBQU8sVUFBVSxFQUFDTCxVQUFBLENBQUFNLE9BQVMsQ0FBQztJQUFqQ0MsT0FBTyxHQUFBSCxJQUFBLENBQVBHLE9BQU87RUFDZixJQUFNQyxlQUFlLEdBQUcsSUFBQVYsT0FBQSxDQUFBVyxPQUFPLEVBQUM7SUFBQSxPQUFNRixPQUFPO0VBQUEsR0FBRSxDQUFDQSxPQUFPLENBQUMsQ0FBQztFQUV6RDs7Ozs7RUFLQSxJQUFNRyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJUCxVQUFrQixFQUFPO0lBQ3JELElBQU1RLE1BQU0sR0FBR0gsZUFBZSxDQUFDSSxJQUFJLENBQUMsVUFBQUQsTUFBTTtNQUFBLE9BQUlBLE1BQU0sQ0FBQ0UsSUFBSSxLQUFLVixVQUFVO0lBQUEsRUFBQztJQUV6RSxJQUFJUSxNQUFNLEVBQUU7TUFDVixPQUFPQSxNQUFNLENBQUNHLEtBQUs7O0lBR3JCO0lBQ0EsTUFBTSxJQUFJQyxLQUFLLFdBQUFDLE1BQUEsQ0FBV2IsVUFBVSxnQkFBYTtFQUNuRCxDQUFDO0VBRUQsT0FBT08sb0JBQW9CLENBQUNQLFVBQVUsQ0FBQztBQUN6QyxDQUFDO0FBRURjLE9BQUEsQ0FBQVgsT0FBQSxHQUFlSixTQUFTIn0= \ No newline at end of file diff --git a/cjs/hooks/useSignal.js.map b/cjs/hooks/useSignal.js.map new file mode 100644 index 0000000..cbcf249 --- /dev/null +++ b/cjs/hooks/useSignal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useSignal.js","sourceRoot":"","sources":["../../src/hooks/useSignal.ts"],"names":[],"mappings":";;;;;AAAA,iCAA4C;AAC5C,2DAAoC;AAEpC,MAAM,SAAS,GAAG,CAAU,UAAkB,EAAE,EAAE;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAU,EAAC,kBAAS,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1D;;;;OAIG;IACH,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAK,EAAE;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAE1E,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;QAED,kCAAkC;QAClC,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;IACpD,CAAC,CAAA;IAED,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"} \ No newline at end of file diff --git a/cjs/index.d.ts b/cjs/index.d.ts new file mode 100644 index 0000000..b115086 --- /dev/null +++ b/cjs/index.d.ts @@ -0,0 +1,8 @@ +import createSignal from "./helpers/createSignal"; +import createStore from "./helpers/createStore"; +import GXProvider from "./providers"; +import useAction from "./hooks/useAction"; +import useActions from "./hooks/useActions"; +import useSignal from "./hooks/useSignal"; +export default GXProvider; +export { createSignal, createStore, useAction, useActions, useSignal }; diff --git a/cjs/index.js b/cjs/index.js new file mode 100644 index 0000000..88a9da8 --- /dev/null +++ b/cjs/index.js @@ -0,0 +1,33 @@ +"use strict"; + +var __importDefault = + (void 0 && (void 0).__importDefault) || + function (mod) { + return mod && mod.__esModule + ? mod + : { + default: mod, + }; + }; +Object.defineProperty(exports, "__esModule", { + value: true, +}); +exports.useSignal = + exports.useActions = + exports.useAction = + exports.createStore = + exports.createSignal = + void 0; +var createSignal_1 = __importDefault(require("./helpers/createSignal.js")); +exports.createSignal = createSignal_1.default; +var createStore_1 = __importDefault(require("./helpers/createStore.js")); +exports.createStore = createStore_1.default; +var providers_1 = __importDefault(require("./providers")); +var useAction_1 = __importDefault(require("./hooks/useAction.js")); +exports.useAction = useAction_1.default; +var useActions_1 = __importDefault(require("./hooks/useActions.js")); +exports.useActions = useActions_1.default; +var useSignal_1 = __importDefault(require("./hooks/useSignal.js")); +exports.useSignal = useSignal_1.default; +exports.default = providers_1.default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVTaWduYWxfMSIsIl9faW1wb3J0RGVmYXVsdCIsInJlcXVpcmUiLCJleHBvcnRzIiwiY3JlYXRlU2lnbmFsIiwiZGVmYXVsdCIsImNyZWF0ZVN0b3JlXzEiLCJjcmVhdGVTdG9yZSIsInByb3ZpZGVyc18xIiwidXNlQWN0aW9uXzEiLCJ1c2VBY3Rpb24iLCJ1c2VBY3Rpb25zXzEiLCJ1c2VBY3Rpb25zIiwidXNlU2lnbmFsXzEiLCJ1c2VTaWduYWwiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxlQUFBLENBQUFDLE9BQUE7QUFVU0MsT0FBQSxDQUFBQyxZQUFBLEdBVkZKLGNBQUEsQ0FBQUssT0FBWTtBQUNuQixJQUFBQyxhQUFBLEdBQUFMLGVBQUEsQ0FBQUMsT0FBQTtBQVN1QkMsT0FBQSxDQUFBSSxXQUFBLEdBVGhCRCxhQUFBLENBQUFELE9BQVc7QUFDbEIsSUFBQUcsV0FBQSxHQUFBUCxlQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBTyxXQUFBLEdBQUFSLGVBQUEsQ0FBQUMsT0FBQTtBQU1vQ0MsT0FBQSxDQUFBTyxTQUFBLEdBTjdCRCxXQUFBLENBQUFKLE9BQVM7QUFDaEIsSUFBQU0sWUFBQSxHQUFBVixlQUFBLENBQUFDLE9BQUE7QUFLK0NDLE9BQUEsQ0FBQVMsVUFBQSxHQUx4Q0QsWUFBQSxDQUFBTixPQUFVO0FBQ2pCLElBQUFRLFdBQUEsR0FBQVosZUFBQSxDQUFBQyxPQUFBO0FBSTJEQyxPQUFBLENBQUFXLFNBQUEsR0FKcERELFdBQUEsQ0FBQVIsT0FBUztBQUVoQkYsT0FBQSxDQUFBRSxPQUFBLEdBQWVHLFdBQUEsQ0FBQUgsT0FBVSJ9 diff --git a/cjs/index.js.map b/cjs/index.js.map new file mode 100644 index 0000000..80d41cd --- /dev/null +++ b/cjs/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAkD;AAUzC,uBAVF,sBAAY,CAUE;AATrB,wEAAgD;AASzB,sBAThB,qBAAW,CASgB;AARlC,4DAAqC;AAErC,kEAA0C;AAMN,oBAN7B,mBAAS,CAM6B;AAL7C,oEAA4C;AAKG,qBALxC,oBAAU,CAKwC;AAJzD,kEAA0C;AAIiB,oBAJpD,mBAAS,CAIoD;AAFpE,kBAAe,mBAAU,CAAC"} \ No newline at end of file diff --git a/cjs/providers/index.d.ts b/cjs/providers/index.d.ts new file mode 100644 index 0000000..6a3aabf --- /dev/null +++ b/cjs/providers/index.d.ts @@ -0,0 +1,3 @@ +/// <reference types="react" /> +import { GXProviderProps } from "./types"; +export default function GXProvider({ children, store }: GXProviderProps): JSX.Element; diff --git a/cjs/providers/index.js b/cjs/providers/index.js new file mode 100644 index 0000000..873fda2 --- /dev/null +++ b/cjs/providers/index.js @@ -0,0 +1,42 @@ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } +function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } } +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; +Object.defineProperty(exports, "__esModule", { + value: true +}); +var jsx_runtime_1 = require("react/jsx-runtime"); +var react_1 = require("react"); +var contexts_1 = __importDefault(require("../contexts")); +var reducer_1 = __importDefault(require("./reducer")); +function GXProvider(_ref) { + var children = _ref.children, + store = _ref.store; + // Global state that manage all signals + var _ref2 = (0, react_1.useReducer)(reducer_1.default, store.getSignals()), + _ref3 = _slicedToArray(_ref2, 2), + signals = _ref3[0], + dispatch = _ref3[1]; + // Context value + var contextValue = { + signals: signals, + dispatch: dispatch + }; + return (0, jsx_runtime_1.jsx)(contexts_1.default.Provider, Object.assign({ + value: contextValue + }, { + children: children + })); +} +exports.default = GXProvider; +; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWFjdF8xIiwicmVxdWlyZSIsImNvbnRleHRzXzEiLCJfX2ltcG9ydERlZmF1bHQiLCJyZWR1Y2VyXzEiLCJHWFByb3ZpZGVyIiwiX3JlZiIsImNoaWxkcmVuIiwic3RvcmUiLCJfcmVmMiIsInVzZVJlZHVjZXIiLCJkZWZhdWx0IiwiZ2V0U2lnbmFscyIsIl9yZWYzIiwiX3NsaWNlZFRvQXJyYXkiLCJzaWduYWxzIiwiZGlzcGF0Y2giLCJjb250ZXh0VmFsdWUiLCJqc3hfcnVudGltZV8xIiwianN4IiwiUHJvdmlkZXIiLCJPYmplY3QiLCJhc3NpZ24iLCJ2YWx1ZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLGVBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFNBQUEsR0FBQUQsZUFBQSxDQUFBRixPQUFBO0FBRUEsU0FBd0JJLFVBQVVBLENBQUFDLElBQUEsRUFBcUM7RUFBQSxJQUFsQ0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFBRUMsS0FBSyxHQUFBRixJQUFBLENBQUxFLEtBQUs7RUFDbEQ7RUFDQSxJQUFBQyxLQUFBLEdBQTRCLElBQUFULE9BQUEsQ0FBQVUsVUFBVSxFQUFDTixTQUFBLENBQUFPLE9BQVMsRUFBRUgsS0FBSyxDQUFDSSxVQUFVLEVBQUUsQ0FBQztJQUFBQyxLQUFBLEdBQUFDLGNBQUEsQ0FBQUwsS0FBQTtJQUE5RE0sT0FBTyxHQUFBRixLQUFBO0lBQUVHLFFBQVEsR0FBQUgsS0FBQTtFQUV4QjtFQUNBLElBQU1JLFlBQVksR0FBRztJQUNuQkYsT0FBTyxFQUFQQSxPQUFPO0lBQ1BDLFFBQVEsRUFBUkE7R0FDRDtFQUVELE9BQ0UsSUFBQUUsYUFBQSxDQUFBQyxHQUFBLEVBQUNqQixVQUFBLENBQUFTLE9BQVMsQ0FBQ1MsUUFBUSxFQUFBQyxNQUFBLENBQUFDLE1BQUE7SUFBQ0MsS0FBSyxFQUFFTjtFQUFZO0lBQUFWLFFBQUEsRUFBR0E7RUFBUSxHQUFzQjtBQUU1RTtBQWJBaUIsT0FBQSxDQUFBYixPQUFBLEdBQUFOLFVBQUE7QUFhQyJ9 \ No newline at end of file diff --git a/cjs/providers/index.js.map b/cjs/providers/index.js.map new file mode 100644 index 0000000..fbe3203 --- /dev/null +++ b/cjs/providers/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAmC;AACnC,2DAAoC;AAEpC,wDAAkC;AAElC,SAAwB,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAmB;IACrE,uCAAuC;IACvC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAA,kBAAU,EAAC,iBAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAEtE,gBAAgB;IAChB,MAAM,YAAY,GAAG;QACnB,OAAO;QACP,QAAQ;KACT,CAAC;IAEF,OAAO,CACL,uBAAC,kBAAS,CAAC,QAAQ,kBAAC,KAAK,EAAE,YAAY,gBAAG,QAAQ,IAAsB,CACzE,CAAC;AACJ,CAAC;AAbD,6BAaC;AAAA,CAAC"} \ No newline at end of file diff --git a/cjs/providers/reducer.d.ts b/cjs/providers/reducer.d.ts new file mode 100644 index 0000000..6999312 --- /dev/null +++ b/cjs/providers/reducer.d.ts @@ -0,0 +1,4 @@ +import { GXSignalType } from "../contexts/types"; +import { GXAction } from "./types"; +declare const gxReducer: (signals: GXSignalType[], action: GXAction) => GXSignalType<any>[]; +export default gxReducer; diff --git a/cjs/providers/reducer.js b/cjs/providers/reducer.js new file mode 100644 index 0000000..6d020ab --- /dev/null +++ b/cjs/providers/reducer.js @@ -0,0 +1,47 @@ +"use strict"; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } +Object.defineProperty(exports, "__esModule", { + value: true +}); +var gxReducer = function gxReducer(signals, action) { + // Prev signals + var prevSignals = _toConsumableArray(signals); + // Get the signal name + var signalName = action.type.split("/")[0]; + // Get the signal + var signal = prevSignals.find(function (signal) { + return signal.name === signalName; + }); + if (!signal) throw new Error("Signal \"".concat(signalName, "\" not found")); + var actionToDispatch = null; + // Get the action + var _iterator = _createForOfIteratorHelper(signal.actions), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var act = _step.value; + if (act.type === action.type) { + actionToDispatch = act; + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + if (actionToDispatch) { + // Dispatch the action + signal.state = actionToDispatch.handler(signal.state, action.payload); + } else throw new Error("Action \"".concat(action.type, "\" not found")); + return prevSignals; +}; +exports.default = gxReducer; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJneFJlZHVjZXIiLCJzaWduYWxzIiwiYWN0aW9uIiwicHJldlNpZ25hbHMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzaWduYWxOYW1lIiwidHlwZSIsInNwbGl0Iiwic2lnbmFsIiwiZmluZCIsIm5hbWUiLCJFcnJvciIsImNvbmNhdCIsImFjdGlvblRvRGlzcGF0Y2giLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImFjdGlvbnMiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImFjdCIsInZhbHVlIiwiZXJyIiwiZSIsImYiLCJzdGF0ZSIsImhhbmRsZXIiLCJwYXlsb2FkIiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL3JlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOltudWxsXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQU1BLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFJQyxPQUF1QixFQUFFQyxNQUFnQixFQUFJO0VBQzlEO0VBQ0EsSUFBTUMsV0FBVyxHQUFBQyxrQkFBQSxDQUFPSCxPQUFPLENBQUM7RUFFaEM7RUFDQSxJQUFNSSxVQUFVLEdBQUdILE1BQU0sQ0FBQ0ksSUFBSSxDQUFDQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBRTVDO0VBQ0EsSUFBTUMsTUFBTSxHQUFHTCxXQUFXLENBQUNNLElBQUksQ0FBQyxVQUFDRCxNQUFNO0lBQUEsT0FBS0EsTUFBTSxDQUFDRSxJQUFJLEtBQUtMLFVBQVU7RUFBQSxFQUFDO0VBRXZFLElBQUksQ0FBQ0csTUFBTSxFQUFFLE1BQU0sSUFBSUcsS0FBSyxhQUFBQyxNQUFBLENBQVlQLFVBQVUsa0JBQWM7RUFFaEUsSUFBSVEsZ0JBQWdCLEdBQUcsSUFBSTtFQUUzQjtFQUFBLElBQUFDLFNBQUEsR0FBQUMsMEJBQUEsQ0FDZ0JQLE1BQU0sQ0FBQ1EsT0FBTztJQUFBQyxLQUFBO0VBQUE7SUFBOUIsS0FBQUgsU0FBQSxDQUFBSSxDQUFBLE1BQUFELEtBQUEsR0FBQUgsU0FBQSxDQUFBSyxDQUFBLElBQUFDLElBQUEsR0FBZ0M7TUFBQSxJQUF2QkMsR0FBRyxHQUFBSixLQUFBLENBQUFLLEtBQUE7TUFDVixJQUFJRCxHQUFHLENBQUNmLElBQUksS0FBS0osTUFBTSxDQUFDSSxJQUFJLEVBQUU7UUFDNUJPLGdCQUFnQixHQUFHUSxHQUFHO1FBRXRCOzs7RUFFSCxTQUFBRSxHQUFBO0lBQUFULFNBQUEsQ0FBQVUsQ0FBQSxDQUFBRCxHQUFBO0VBQUE7SUFBQVQsU0FBQSxDQUFBVyxDQUFBO0VBQUE7RUFFRCxJQUFJWixnQkFBZ0IsRUFBRTtJQUNwQjtJQUNBTCxNQUFNLENBQUNrQixLQUFLLEdBQUdiLGdCQUFnQixDQUFDYyxPQUFPLENBQUNuQixNQUFNLENBQUNrQixLQUFLLEVBQUV4QixNQUFNLENBQUMwQixPQUFPLENBQUM7R0FDdEUsTUFBTSxNQUFNLElBQUlqQixLQUFLLGFBQUFDLE1BQUEsQ0FBWVYsTUFBTSxDQUFDSSxJQUFJLGtCQUFjO0VBRTNELE9BQU9ILFdBQVc7QUFDcEIsQ0FBQztBQUVEMEIsT0FBQSxDQUFBQyxPQUFBLEdBQWU5QixTQUFTIn0= \ No newline at end of file diff --git a/cjs/providers/reducer.js.map b/cjs/providers/reducer.js.map new file mode 100644 index 0000000..f935362 --- /dev/null +++ b/cjs/providers/reducer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../src/providers/reducer.ts"],"names":[],"mappings":";;AAGA,MAAM,SAAS,GAAG,CAAC,OAAuB,EAAE,MAAgB,EAAE,EAAE;IAC9D,eAAe;IACf,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAEjC,sBAAsB;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,iBAAiB;IACjB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAExE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,aAAa,CAAC,CAAC;IAEjE,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,iBAAiB;IACjB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE;QAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE;YAC5B,gBAAgB,GAAG,GAAG,CAAC;YAEvB,MAAM;SACP;KACF;IAED,IAAI,gBAAgB,EAAE;QACpB,sBAAsB;QACtB,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;KACvE;;QAAM,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;IAE5D,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"} \ No newline at end of file diff --git a/cjs/providers/types.d.ts b/cjs/providers/types.d.ts new file mode 100644 index 0000000..0212864 --- /dev/null +++ b/cjs/providers/types.d.ts @@ -0,0 +1,10 @@ +/// <reference types="react" /> +import { CreateStoreType } from '../helpers/types'; +export type GXProviderProps = { + children: React.ReactElement; + store: CreateStoreType; +}; +export type GXAction = { + type: string; + payload: any; +}; diff --git a/cjs/providers/types.js b/cjs/providers/types.js new file mode 100644 index 0000000..fe53c0e --- /dev/null +++ b/cjs/providers/types.js @@ -0,0 +1,6 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJtYXBwaW5ncyI6IiJ9 \ No newline at end of file diff --git a/cjs/providers/types.js.map b/cjs/providers/types.js.map new file mode 100644 index 0000000..27cedee --- /dev/null +++ b/cjs/providers/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/contexts/index.js b/dist/contexts/index.js index 1e91a38..90ea21f 100644 --- a/dist/contexts/index.js +++ b/dist/contexts/index.js @@ -1,7 +1,9 @@ -import { createContext } from "react"; -const GXContext = createContext({ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const react_1 = require("react"); +const GXContext = (0, react_1.createContext)({ signals: [], dispatch: () => { } }); -export default GXContext; +exports.default = GXContext; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/contexts/index.js.map b/dist/contexts/index.js.map index 75b434f..24febf7 100644 --- a/dist/contexts/index.js.map +++ b/dist/contexts/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,MAAM,SAAS,GAAG,aAAa,CAAgB;IAC7C,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC,CAAC;AAEH,eAAe,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":";;AAAA,iCAAsC;AAGtC,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAgB;IAC7C,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC,CAAC;AAEH,kBAAe,SAAS,CAAA"} \ No newline at end of file diff --git a/dist/contexts/types.js b/dist/contexts/types.js index 718fd38..11e638d 100644 --- a/dist/contexts/types.js +++ b/dist/contexts/types.js @@ -1,2 +1,3 @@ -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/helpers/createSignal.js b/dist/helpers/createSignal.js index cac5caf..6ce7448 100644 --- a/dist/helpers/createSignal.js +++ b/dist/helpers/createSignal.js @@ -1,3 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); /** * Create a signal with a state and actions for managing this state * @param options @@ -21,5 +23,5 @@ const createSignal = (options) => { }; return signal; }; -export default createSignal; +exports.default = createSignal; //# sourceMappingURL=createSignal.js.map \ No newline at end of file diff --git a/dist/helpers/createSignal.js.map b/dist/helpers/createSignal.js.map index ff051a5..c3dddca 100644 --- a/dist/helpers/createSignal.js.map +++ b/dist/helpers/createSignal.js.map @@ -1 +1 @@ -{"version":3,"file":"createSignal.js","sourceRoot":"","sources":["../../src/helpers/createSignal.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAI,OAAkC,EAAE,EAAE;IAC7D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,yCAAyC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEpD,KAAK,IAAI,MAAM,IAAI,YAAY,EAAE;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACpC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;SACnB,CAAC,CAAA;KACH;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;KACR,CAAA;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AAED,eAAe,YAAY,CAAC"} \ No newline at end of file +{"version":3,"file":"createSignal.js","sourceRoot":"","sources":["../../src/helpers/createSignal.ts"],"names":[],"mappings":";;AAGA;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAI,OAAkC,EAAE,EAAE;IAC7D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,yCAAyC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEpD,KAAK,IAAI,MAAM,IAAI,YAAY,EAAE;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACpC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;SACnB,CAAC,CAAA;KACH;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;KACR,CAAA;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AAED,kBAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/dist/helpers/createStore.js b/dist/helpers/createStore.js index 590d274..0bf40e1 100644 --- a/dist/helpers/createStore.js +++ b/dist/helpers/createStore.js @@ -1,7 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const createStore = (signals) => { return { getSignals: () => signals, }; }; -export default createStore; +exports.default = createStore; //# sourceMappingURL=createStore.js.map \ No newline at end of file diff --git a/dist/helpers/createStore.js.map b/dist/helpers/createStore.js.map index 457ca0f..90cccb2 100644 --- a/dist/helpers/createStore.js.map +++ b/dist/helpers/createStore.js.map @@ -1 +1 @@ -{"version":3,"file":"createStore.js","sourceRoot":"","sources":["../../src/helpers/createStore.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAmB,EAAE;IAC/D,OAAO;QACL,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"} \ No newline at end of file +{"version":3,"file":"createStore.js","sourceRoot":"","sources":["../../src/helpers/createStore.ts"],"names":[],"mappings":";;AAGA,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAmB,EAAE;IAC/D,OAAO;QACL,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"} \ No newline at end of file diff --git a/dist/helpers/types.js b/dist/helpers/types.js index 718fd38..11e638d 100644 --- a/dist/helpers/types.js +++ b/dist/helpers/types.js @@ -1,2 +1,3 @@ -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/hooks/types.js b/dist/hooks/types.js index 718fd38..11e638d 100644 --- a/dist/hooks/types.js +++ b/dist/hooks/types.js @@ -1,2 +1,3 @@ -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/hooks/useAction.js b/dist/hooks/useAction.js index ca0baab..3eaef77 100644 --- a/dist/hooks/useAction.js +++ b/dist/hooks/useAction.js @@ -1,11 +1,16 @@ -import useActions from "./useActions"; +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const useActions_1 = __importDefault(require("./useActions")); const useAction = (signalName, action) => { if (!signalName || typeof signalName !== "string") throw new Error("Provide a signalName as a first argument of useAction"); if (!action || typeof action !== "string") throw new Error("Provide an action as second argument of useAction"); - const actions = useActions(signalName, action); + const actions = (0, useActions_1.default)(signalName, action); return Object.values(actions)[0]; }; -export default useAction; +exports.default = useAction; //# sourceMappingURL=useAction.js.map \ No newline at end of file diff --git a/dist/hooks/useAction.js.map b/dist/hooks/useAction.js.map index 703fce2..043e7e7 100644 --- a/dist/hooks/useAction.js.map +++ b/dist/hooks/useAction.js.map @@ -1 +1 @@ -{"version":3,"file":"useAction.js","sourceRoot":"","sources":["../../src/hooks/useAction.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAE;IACvD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC/C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"} \ No newline at end of file +{"version":3,"file":"useAction.js","sourceRoot":"","sources":["../../src/hooks/useAction.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AAEtC,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAE;IACvD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC/C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"} \ No newline at end of file diff --git a/dist/hooks/useActions.js b/dist/hooks/useActions.js index 2db8e88..70762cc 100644 --- a/dist/hooks/useActions.js +++ b/dist/hooks/useActions.js @@ -1,10 +1,15 @@ -import { useContext } from "react"; -import GXContext from "../contexts"; +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const react_1 = require("react"); +const contexts_1 = __importDefault(require("../contexts")); const useActions = (signalName, ...actions) => { if (!signalName || typeof signalName !== "string") throw new Error("Provide a signalName as first argument of useActions"); // Get Global Context - const { signals, dispatch } = useContext(GXContext); + const { signals, dispatch } = (0, react_1.useContext)(contexts_1.default); // Some handlers /** * Get actions of a signal @@ -49,5 +54,5 @@ const useActions = (signalName, ...actions) => { }; return handleFormatActions(); }; -export default useActions; +exports.default = useActions; //# sourceMappingURL=useActions.js.map \ No newline at end of file diff --git a/dist/hooks/useActions.js.map b/dist/hooks/useActions.js.map index acd0869..0fad069 100644 --- a/dist/hooks/useActions.js.map +++ b/dist/hooks/useActions.js.map @@ -1 +1 @@ -{"version":3,"file":"useActions.js","sourceRoot":"","sources":["../../src/hooks/useActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,SAAS,MAAM,aAAa,CAAC;AAIpC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,GAAG,OAAiB,EAAE,EAAE;IAC9D,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC/C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAE1E,qBAAqB;IACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAEpD,gBAAgB;IAEhB;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAEpE,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;YAE5D,MAAM,eAAe,GAAwB,EAAE,CAAC;YAEhD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;gBAE7C,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;gBAEF,IAAI,eAAe;oBAAE,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;oBACtD,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;aACxD;YAED,OAAO,eAAe,CAAC;SACxB;;YAAM,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,cAAc;QACd,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEzD,oBAAoB;QACpB,MAAM,gBAAgB,GAAY,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE;YACxC,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7C,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,OAAY,EAAE,EAAE;gBAC9C,QAAQ,CAAC;oBACP,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC,CAAC;SACH;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"} \ No newline at end of file +{"version":3,"file":"useActions.js","sourceRoot":"","sources":["../../src/hooks/useActions.ts"],"names":[],"mappings":";;;;;AAAA,iCAAmC;AACnC,2DAAoC;AAIpC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,GAAG,OAAiB,EAAE,EAAE;IAC9D,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAC/C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAE1E,qBAAqB;IACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAA,kBAAU,EAAC,kBAAS,CAAC,CAAC;IAEpD,gBAAgB;IAEhB;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAEpE,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;YAE5D,MAAM,eAAe,GAAwB,EAAE,CAAC;YAEhD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;gBAE7C,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CACjC,CAAC;gBAEF,IAAI,eAAe;oBAAE,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;oBACtD,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;aACxD;YAED,OAAO,eAAe,CAAC;SACxB;;YAAM,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,cAAc;QACd,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEzD,oBAAoB;QACpB,MAAM,gBAAgB,GAAY,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE;YACxC,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7C,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,OAAY,EAAE,EAAE;gBAC9C,QAAQ,CAAC;oBACP,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC,CAAC;SACH;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"} \ No newline at end of file diff --git a/dist/hooks/useSignal.js b/dist/hooks/useSignal.js index 61c92a8..d40f896 100644 --- a/dist/hooks/useSignal.js +++ b/dist/hooks/useSignal.js @@ -1,8 +1,13 @@ -import { useContext, useMemo } from "react"; -import GXContext from "../contexts"; +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const react_1 = require("react"); +const contexts_1 = __importDefault(require("../contexts")); const useSignal = (signalName) => { - const { signals } = useContext(GXContext); - const memoizedSignals = useMemo(() => signals, [signals]); + const { signals } = (0, react_1.useContext)(contexts_1.default); + const memoizedSignals = (0, react_1.useMemo)(() => signals, [signals]); /** * Get state of a signal base on its name * @param signalName @@ -18,5 +23,5 @@ const useSignal = (signalName) => { }; return handleGetSignalState(signalName); }; -export default useSignal; +exports.default = useSignal; //# sourceMappingURL=useSignal.js.map \ No newline at end of file diff --git a/dist/hooks/useSignal.js.map b/dist/hooks/useSignal.js.map index 3f23341..cbcf249 100644 --- a/dist/hooks/useSignal.js.map +++ b/dist/hooks/useSignal.js.map @@ -1 +1 @@ -{"version":3,"file":"useSignal.js","sourceRoot":"","sources":["../../src/hooks/useSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,SAAS,GAAG,CAAU,UAAkB,EAAE,EAAE;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1D;;;;OAIG;IACH,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAK,EAAE;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAE1E,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;QAED,kCAAkC;QAClC,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;IACpD,CAAC,CAAA;IAED,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"} \ No newline at end of file +{"version":3,"file":"useSignal.js","sourceRoot":"","sources":["../../src/hooks/useSignal.ts"],"names":[],"mappings":";;;;;AAAA,iCAA4C;AAC5C,2DAAoC;AAEpC,MAAM,SAAS,GAAG,CAAU,UAAkB,EAAE,EAAE;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAU,EAAC,kBAAS,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1D;;;;OAIG;IACH,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAK,EAAE;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAE1E,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;QAED,kCAAkC;QAClC,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;IACpD,CAAC,CAAA;IAED,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 50175ef..b115086 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -5,4 +5,4 @@ import useAction from "./hooks/useAction"; import useActions from "./hooks/useActions"; import useSignal from "./hooks/useSignal"; export default GXProvider; -export { createSignal, createStore, useAction, useActions, useSignal, }; +export { createSignal, createStore, useAction, useActions, useSignal }; diff --git a/dist/index.js b/dist/index.js index f3e5cd1..3e99ec8 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,9 +1,19 @@ -import createSignal from "./helpers/createSignal"; -import createStore from "./helpers/createStore"; -import GXProvider from "./providers"; -import useAction from "./hooks/useAction"; -import useActions from "./hooks/useActions"; -import useSignal from "./hooks/useSignal"; -export default GXProvider; -export { createSignal, createStore, useAction, useActions, useSignal, }; +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.useSignal = exports.useActions = exports.useAction = exports.createStore = exports.createSignal = void 0; +const createSignal_1 = __importDefault(require("./helpers/createSignal")); +exports.createSignal = createSignal_1.default; +const createStore_1 = __importDefault(require("./helpers/createStore")); +exports.createStore = createStore_1.default; +const providers_1 = __importDefault(require("./providers")); +const useAction_1 = __importDefault(require("./hooks/useAction")); +exports.useAction = useAction_1.default; +const useActions_1 = __importDefault(require("./hooks/useActions")); +exports.useActions = useActions_1.default; +const useSignal_1 = __importDefault(require("./hooks/useSignal")); +exports.useSignal = useSignal_1.default; +exports.default = providers_1.default; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index 32bf400..80d41cd 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,UAAU,MAAM,aAAa,CAAA;AAEpC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,eAAe,UAAU,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,GACV,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAkD;AAUzC,uBAVF,sBAAY,CAUE;AATrB,wEAAgD;AASzB,sBAThB,qBAAW,CASgB;AARlC,4DAAqC;AAErC,kEAA0C;AAMN,oBAN7B,mBAAS,CAM6B;AAL7C,oEAA4C;AAKG,qBALxC,oBAAU,CAKwC;AAJzD,kEAA0C;AAIiB,oBAJpD,mBAAS,CAIoD;AAFpE,kBAAe,mBAAU,CAAC"} \ No newline at end of file diff --git a/dist/providers/index.js b/dist/providers/index.js index 049f671..c3dc3d1 100644 --- a/dist/providers/index.js +++ b/dist/providers/index.js @@ -1,16 +1,22 @@ -import { jsx as _jsx } from "react/jsx-runtime"; -import { useReducer } from "react"; -import GXContext from "../contexts"; -import gxReducer from "./reducer"; -export default function GXProvider({ children, store }) { +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const jsx_runtime_1 = require("react/jsx-runtime"); +const react_1 = require("react"); +const contexts_1 = __importDefault(require("../contexts")); +const reducer_1 = __importDefault(require("./reducer")); +function GXProvider({ children, store }) { // Global state that manage all signals - const [signals, dispatch] = useReducer(gxReducer, store.getSignals()); + const [signals, dispatch] = (0, react_1.useReducer)(reducer_1.default, store.getSignals()); // Context value const contextValue = { signals, dispatch, }; - return (_jsx(GXContext.Provider, Object.assign({ value: contextValue }, { children: children }))); + return ((0, jsx_runtime_1.jsx)(contexts_1.default.Provider, Object.assign({ value: contextValue }, { children: children }))); } +exports.default = GXProvider; ; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/providers/index.js.map b/dist/providers/index.js.map index 819e4a8..fbe3203 100644 --- a/dist/providers/index.js.map +++ b/dist/providers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAmB;IACrE,uCAAuC;IACvC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAEtE,gBAAgB;IAChB,MAAM,YAAY,GAAG;QACnB,OAAO;QACP,QAAQ;KACT,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,CAAC,QAAQ,kBAAC,KAAK,EAAE,YAAY,gBAAG,QAAQ,IAAsB,CACzE,CAAC;AACJ,CAAC;AAAA,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAmC;AACnC,2DAAoC;AAEpC,wDAAkC;AAElC,SAAwB,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAmB;IACrE,uCAAuC;IACvC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAA,kBAAU,EAAC,iBAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAEtE,gBAAgB;IAChB,MAAM,YAAY,GAAG;QACnB,OAAO;QACP,QAAQ;KACT,CAAC;IAEF,OAAO,CACL,uBAAC,kBAAS,CAAC,QAAQ,kBAAC,KAAK,EAAE,YAAY,gBAAG,QAAQ,IAAsB,CACzE,CAAC;AACJ,CAAC;AAbD,6BAaC;AAAA,CAAC"} \ No newline at end of file diff --git a/dist/providers/reducer.js b/dist/providers/reducer.js index fbf86fb..3d7f053 100644 --- a/dist/providers/reducer.js +++ b/dist/providers/reducer.js @@ -1,3 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const gxReducer = (signals, action) => { // Prev signals const prevSignals = [...signals]; @@ -23,5 +25,5 @@ const gxReducer = (signals, action) => { throw new Error(`Action "${action.type}" not found`); return prevSignals; }; -export default gxReducer; +exports.default = gxReducer; //# sourceMappingURL=reducer.js.map \ No newline at end of file diff --git a/dist/providers/reducer.js.map b/dist/providers/reducer.js.map index 2ceae6d..f935362 100644 --- a/dist/providers/reducer.js.map +++ b/dist/providers/reducer.js.map @@ -1 +1 @@ -{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../src/providers/reducer.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS,GAAG,CAAC,OAAuB,EAAE,MAAgB,EAAE,EAAE;IAC9D,eAAe;IACf,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAEjC,sBAAsB;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,iBAAiB;IACjB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAExE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,aAAa,CAAC,CAAC;IAEjE,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,iBAAiB;IACjB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE;QAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE;YAC5B,gBAAgB,GAAG,GAAG,CAAC;YAEvB,MAAM;SACP;KACF;IAED,IAAI,gBAAgB,EAAE;QACpB,sBAAsB;QACtB,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;KACvE;;QAAM,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;IAE5D,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"} \ No newline at end of file +{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../src/providers/reducer.ts"],"names":[],"mappings":";;AAGA,MAAM,SAAS,GAAG,CAAC,OAAuB,EAAE,MAAgB,EAAE,EAAE;IAC9D,eAAe;IACf,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAEjC,sBAAsB;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,iBAAiB;IACjB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAExE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,aAAa,CAAC,CAAC;IAEjE,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,iBAAiB;IACjB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE;QAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE;YAC5B,gBAAgB,GAAG,GAAG,CAAC;YAEvB,MAAM;SACP;KACF;IAED,IAAI,gBAAgB,EAAE;QACpB,sBAAsB;QACtB,MAAM,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;KACvE;;QAAM,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;IAE5D,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"} \ No newline at end of file diff --git a/dist/providers/types.js b/dist/providers/types.js index 718fd38..11e638d 100644 --- a/dist/providers/types.js +++ b/dist/providers/types.js @@ -1,2 +1,3 @@ -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/tests/index.test.d.ts b/dist/tests/index.test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/dist/tests/index.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/tests/index.test.js b/dist/tests/index.test.js deleted file mode 100644 index 8bcb510..0000000 --- a/dist/tests/index.test.js +++ /dev/null @@ -1,22 +0,0 @@ -import createSignal from '../helpers/createSignal'; -import createStore from '../helpers/createStore'; -test("should create a store containing signals", () => { - // Create a signal - const counterSignal = createSignal({ - name: "counter", - state: 0, - actions: { - increment: (state, payload) => { - return state + payload; - }, - decrement: (state, payload) => { - return state + payload; - }, - }, - }); - // Create a store - const store = createStore([counterSignal]); - // render(<GXProvider store={store}/>); - // Expectations -}); -//# sourceMappingURL=index.test.js.map \ No newline at end of file diff --git a/dist/tests/index.test.js.map b/dist/tests/index.test.js.map deleted file mode 100644 index 49d35d5..0000000 --- a/dist/tests/index.test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/tests/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAIjD,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,kBAAkB;IAClB,MAAM,aAAa,GAAG,YAAY,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC;QACR,OAAO,EAAE;YACP,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;YAED,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;SACF;KACF,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,uCAAuC;IAEvC,eAAe;AACjB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/tests/signals.test.d.ts b/dist/tests/signals.test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/dist/tests/signals.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/tests/signals.test.js b/dist/tests/signals.test.js deleted file mode 100644 index 3c2468b..0000000 --- a/dist/tests/signals.test.js +++ /dev/null @@ -1,22 +0,0 @@ -import createSignal from "../helpers/createSignal"; -test("should create a signal", () => { - const counterSignal = createSignal({ - name: "counter", - state: 0, - actions: { - increment: (state, payload) => { - return state + payload; - }, - decrement: (state, payload) => { - return state + payload; - }, - }, - }); - // Expectations - expect(counterSignal).not.toBeNull(); - expect(counterSignal.name).toEqual("counter"); - expect(counterSignal.state).toEqual(0); - expect(counterSignal.actions.length).toEqual(2); - expect(counterSignal.actions[0].handler(counterSignal.state, 3)).toEqual(3); -}); -//# sourceMappingURL=signals.test.js.map \ No newline at end of file diff --git a/dist/tests/signals.test.js.map b/dist/tests/signals.test.js.map deleted file mode 100644 index 3ebeb29..0000000 --- a/dist/tests/signals.test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"signals.test.js","sourceRoot":"","sources":["../../src/tests/signals.test.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAClC,MAAM,aAAa,GAAG,YAAY,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC;QACR,OAAO,EAAE;YACP,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;YAED,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;SACF;KACF,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/tests/store.test.d.ts b/dist/tests/store.test.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/dist/tests/store.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/tests/store.test.js b/dist/tests/store.test.js deleted file mode 100644 index 804dbab..0000000 --- a/dist/tests/store.test.js +++ /dev/null @@ -1,23 +0,0 @@ -import createSignal from '../helpers/createSignal'; -import createStore from '../helpers/createStore'; -test("should create a store containing signals", () => { - // Create a signal - const counterSignal = createSignal({ - name: "counter", - state: 0, - actions: { - increment: (state, payload) => { - return state + payload; - }, - decrement: (state, payload) => { - return state + payload; - }, - }, - }); - // Create a store - const store = createStore([counterSignal]); - // Expectations - expect(store.getSignals()).not.toBeNull(); - expect(store.getSignals()).toEqual([counterSignal]); -}); -//# sourceMappingURL=store.test.js.map \ No newline at end of file diff --git a/dist/tests/store.test.js.map b/dist/tests/store.test.js.map deleted file mode 100644 index c7907cf..0000000 --- a/dist/tests/store.test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"store.test.js","sourceRoot":"","sources":["../../src/tests/store.test.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAEjD,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,kBAAkB;IAClB,MAAM,aAAa,GAAG,YAAY,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC;QACR,OAAO,EAAE;YACP,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;YAED,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;SACF;KACF,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/package.json b/package.json index 4687343..d80a687 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { "name": "@dilane3/gx", - "version": "1.2.1", + "version": "1.2.5", "private": false, "license": "MIT", - "main": "dist/index.js", + "main": "cjs/index.js", + "type": "commonjs", "author": { "name": "dilane3", "email": "komboudilane125@gmail.com", @@ -17,6 +18,10 @@ "issues": "https://github.com/react-gx/gx/issues" }, "devDependencies": { + "@babel/cli": "^7.21.0", + "@babel/core": "^7.21.4", + "@babel/plugin-transform-modules-commonjs": "^7.21.2", + "@babel/preset-env": "^7.21.4", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^13.0.0", "@testing-library/user-event": "^13.2.1", @@ -31,7 +36,7 @@ "react": "^18.0.0" }, "scripts": { - "build": "tsc", + "build": "tsc && npx babel dist --out-dir cjs --extensions '.js' --source-maps inline --copy-files", "test": "react-scripts test", "deploy": "npm publish --access public" }, diff --git a/src/index.ts b/src/index.ts index 613ee64..721e7f8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ import createSignal from "./helpers/createSignal"; import createStore from "./helpers/createStore"; -import GXProvider from "./providers" +import GXProvider from "./providers"; import useAction from "./hooks/useAction"; import useActions from "./hooks/useActions"; @@ -8,10 +8,4 @@ import useSignal from "./hooks/useSignal"; export default GXProvider; -export { - createSignal, - createStore, - useAction, - useActions, - useSignal, -} \ No newline at end of file +export { createSignal, createStore, useAction, useActions, useSignal }; diff --git a/tsconfig.json b/tsconfig.json index a0cbdd6..d157f7f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,7 @@ "rootDir": "src", "target": "ES6", "lib": [ + "ES2016", "dom", "dom.iterable", "esnext" @@ -15,20 +16,21 @@ "strict": false, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, - "module": "esnext", + "module": "CommonJS", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": false, "jsx": "react-jsx", "declaration": true, - "sourceMap": true, + "sourceMap": true }, "include": [ "src" ], "exclude": [ "node_modules", - "dist" + "dist", + "src/tests" ] } diff --git a/yarn.lock b/yarn.lock index 29eaed7..947d91e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,6 +24,22 @@ jsonpointer "^5.0.0" leven "^3.1.0" +"@babel/cli@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.21.0.tgz#1868eb70e9824b427fc607610cce8e9e7889e7e1" + integrity sha512-xi7CxyS8XjSyiwUGCfwf+brtJxjW1/ZTcBUkP10xawIEXLX5HzLn+3aXkgxozcP2UhRhtKTmQurw9Uaes7jZrA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + commander "^4.0.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.1.0" + glob "^7.2.0" + make-dir "^2.1.0" + slash "^2.0.0" + optionalDependencies: + "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" + chokidar "^3.4.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -31,11 +47,23 @@ dependencies: "@babel/highlight" "^7.18.6" +"@babel/code-frame@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== +"@babel/compat-data@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" + integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== + "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" @@ -57,6 +85,27 @@ json5 "^2.2.2" semver "^6.3.0" +"@babel/core@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" + integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.4" + "@babel/helper-compilation-targets" "^7.21.4" + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.4" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.4" + "@babel/types" "^7.21.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/eslint-parser@^7.16.3": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4" @@ -76,6 +125,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" + integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== + dependencies: + "@babel/types" "^7.21.4" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -102,6 +161,17 @@ lru-cache "^5.1.1" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" + integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== + dependencies: + "@babel/compat-data" "^7.21.4" + "@babel/helper-validator-option" "^7.21.0" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9" @@ -294,6 +364,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== +"@babel/parser@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" + integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -301,7 +376,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== @@ -310,7 +385,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-proposal-optional-chaining" "^7.20.7" -"@babel/plugin-proposal-async-generator-functions@^7.20.1": +"@babel/plugin-proposal-async-generator-functions@^7.20.1", "@babel/plugin-proposal-async-generator-functions@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== @@ -328,7 +403,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.18.6": +"@babel/plugin-proposal-class-static-block@^7.18.6", "@babel/plugin-proposal-class-static-block@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== @@ -372,7 +447,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9", "@babel/plugin-proposal-logical-assignment-operators@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== @@ -396,7 +471,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.20.2": +"@babel/plugin-proposal-object-rest-spread@^7.20.2", "@babel/plugin-proposal-object-rest-spread@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== @@ -415,7 +490,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": +"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7", "@babel/plugin-proposal-optional-chaining@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== @@ -432,7 +507,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.18.6": +"@babel/plugin-proposal-private-property-in-object@^7.18.6", "@babel/plugin-proposal-private-property-in-object@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== @@ -597,14 +672,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-arrow-functions@^7.18.6": +"@babel/plugin-transform-arrow-functions@^7.18.6", "@babel/plugin-transform-arrow-functions@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-async-to-generator@^7.18.6": +"@babel/plugin-transform-async-to-generator@^7.18.6", "@babel/plugin-transform-async-to-generator@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== @@ -620,14 +695,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.20.2": +"@babel/plugin-transform-block-scoping@^7.20.2", "@babel/plugin-transform-block-scoping@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-classes@^7.20.2": +"@babel/plugin-transform-classes@^7.20.2", "@babel/plugin-transform-classes@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== @@ -642,7 +717,7 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.18.9": +"@babel/plugin-transform-computed-properties@^7.18.9", "@babel/plugin-transform-computed-properties@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== @@ -657,6 +732,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" +"@babel/plugin-transform-destructuring@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" + integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" @@ -688,7 +770,7 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-flow" "^7.18.6" -"@babel/plugin-transform-for-of@^7.18.8": +"@babel/plugin-transform-for-of@^7.18.8", "@babel/plugin-transform-for-of@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== @@ -718,7 +800,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.19.6": +"@babel/plugin-transform-modules-amd@^7.19.6", "@babel/plugin-transform-modules-amd@^7.20.11": version "7.20.11" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== @@ -726,7 +808,7 @@ "@babel/helper-module-transforms" "^7.20.11" "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-modules-commonjs@^7.19.6": +"@babel/plugin-transform-modules-commonjs@^7.19.6", "@babel/plugin-transform-modules-commonjs@^7.21.2": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== @@ -735,7 +817,7 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-simple-access" "^7.20.2" -"@babel/plugin-transform-modules-systemjs@^7.19.6": +"@babel/plugin-transform-modules-systemjs@^7.19.6", "@babel/plugin-transform-modules-systemjs@^7.20.11": version "7.20.11" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== @@ -753,7 +835,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== @@ -783,6 +865,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" +"@babel/plugin-transform-parameters@^7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db" + integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" @@ -830,7 +919,7 @@ "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.18.6": +"@babel/plugin-transform-regenerator@^7.18.6", "@babel/plugin-transform-regenerator@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== @@ -864,7 +953,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.19.0": +"@babel/plugin-transform-spread@^7.19.0", "@babel/plugin-transform-spread@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== @@ -998,6 +1087,87 @@ core-js-compat "^3.25.1" semver "^6.3.0" +"@babel/preset-env@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.21.4.tgz#a952482e634a8dd8271a3fe5459a16eb10739c58" + integrity sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw== + dependencies: + "@babel/compat-data" "^7.21.4" + "@babel/helper-compilation-targets" "^7.21.4" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.21.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.20.7" + "@babel/plugin-proposal-async-generator-functions" "^7.20.7" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.21.0" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.20.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.21.0" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.21.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.20.7" + "@babel/plugin-transform-async-to-generator" "^7.20.7" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.21.0" + "@babel/plugin-transform-classes" "^7.21.0" + "@babel/plugin-transform-computed-properties" "^7.20.7" + "@babel/plugin-transform-destructuring" "^7.21.3" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.21.0" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.20.11" + "@babel/plugin-transform-modules-commonjs" "^7.21.2" + "@babel/plugin-transform-modules-systemjs" "^7.20.11" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.20.5" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.21.3" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.20.5" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.20.7" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.21.4" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1067,6 +1237,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36" + integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== + dependencies: + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.4" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.4" + "@babel/types" "^7.21.4" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" @@ -1076,6 +1262,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" + integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1548,6 +1743,11 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== +"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": + version "2.1.8-no-fsevents.3" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" + integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" @@ -3058,7 +3258,7 @@ check-types@^11.1.1: resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.2.tgz#7afc0b6a860d686885062f2dba888ba5710335b4" integrity sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA== -chokidar@^3.4.2, chokidar@^3.5.3: +chokidar@^3.4.0, chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -3169,6 +3369,11 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" @@ -3241,7 +3446,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -4582,6 +4787,11 @@ fs-monkey@^1.0.3: resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== +fs-readdir-recursive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -4673,7 +4883,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -6191,6 +6401,14 @@ magic-string@^0.25.0, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -6730,6 +6948,11 @@ pify@^2.3.0: resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pirates@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" @@ -7585,13 +7808,6 @@ react-scripts@^5.0.1: optionalDependencies: fsevents "^2.3.2" -react@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -7933,6 +8149,11 @@ selfsigned@^2.1.1: dependencies: node-forge "^1" +semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -8047,6 +8268,11 @@ sisteransi@^1.0.5: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"