AK-21/Graphite-Industrial-Intelligence
0
1'use strict';2 3function _extends() {4 return _extends = Object.assign ? Object.assign.bind() : function (n) {5 for (var e = 1; e < arguments.length; e++) {6 var t = arguments[e];7 for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);8 }9 return n;10 }, _extends.apply(null, arguments);11}12function _objectWithoutPropertiesLoose(r, e) {13 if (null == r) return {};14 var t = {};15 for (var n in r) if ({}.hasOwnProperty.call(r, n)) {16 if (e.includes(n)) continue;17 t[n] = r[n];18 }19 return t;20}21 22var reduxImpl = function reduxImpl(reducer, initial) {23 return function (set, _get, api) {24 api.dispatch = function (action) {25 set(function (state) {26 return reducer(state, action);27 }, false, action);28 return action;29 };30 api.dispatchFromDevtools = true;31 return _extends({32 dispatch: function dispatch() {33 var _ref;34 return (_ref = api).dispatch.apply(_ref, arguments);35 }36 }, initial);37 };38};39var redux = reduxImpl;40 41var _excluded = ["enabled", "anonymousActionType", "store"],42 _excluded2 = ["connection"];43var trackedConnections = new Map();44var getTrackedConnectionState = function getTrackedConnectionState(name) {45 var api = trackedConnections.get(name);46 if (!api) return {};47 return Object.fromEntries(Object.entries(api.stores).map(function (_ref) {48 var key = _ref[0],49 api = _ref[1];50 return [key, api.getState()];51 }));52};53var extractConnectionInformation = function extractConnectionInformation(store, extensionConnector, options) {54 if (store === undefined) {55 return {56 type: 'untracked',57 connection: extensionConnector.connect(options)58 };59 }60 var existingConnection = trackedConnections.get(options.name);61 if (existingConnection) {62 return _extends({63 type: 'tracked',64 store: store65 }, existingConnection);66 }67 var newConnection = {68 connection: extensionConnector.connect(options),69 stores: {}70 };71 trackedConnections.set(options.name, newConnection);72 return _extends({73 type: 'tracked',74 store: store75 }, newConnection);76};77var devtoolsImpl = function devtoolsImpl(fn, devtoolsOptions) {78 if (devtoolsOptions === void 0) {79 devtoolsOptions = {};80 }81 return function (set, get, api) {82 var _devtoolsOptions = devtoolsOptions,83 enabled = _devtoolsOptions.enabled,84 anonymousActionType = _devtoolsOptions.anonymousActionType,85 store = _devtoolsOptions.store,86 options = _objectWithoutPropertiesLoose(_devtoolsOptions, _excluded);87 var extensionConnector;88 try {89 extensionConnector = (enabled != null ? enabled : process.env.NODE_ENV !== 'production') && window.__REDUX_DEVTOOLS_EXTENSION__;90 } catch (_e) {}91 if (!extensionConnector) {92 if (process.env.NODE_ENV !== 'production' && enabled) {93 console.warn('[zustand devtools middleware] Please install/enable Redux devtools extension');94 }95 return fn(set, get, api);96 }97 var _extractConnectionInf = extractConnectionInformation(store, extensionConnector, options),98 connection = _extractConnectionInf.connection,99 connectionInformation = _objectWithoutPropertiesLoose(_extractConnectionInf, _excluded2);100 var isRecording = true;101 api.setState = function (state, replace, nameOrAction) {102 var _extends2;103 var r = set(state, replace);104 if (!isRecording) return r;105 var action = nameOrAction === undefined ? {106 type: anonymousActionType || 'anonymous'107 } : typeof nameOrAction === 'string' ? {108 type: nameOrAction109 } : nameOrAction;110 if (store === undefined) {111 connection == null || connection.send(action, get());112 return r;113 }114 connection == null || connection.send(_extends({}, action, {115 type: store + "/" + action.type116 }), _extends({}, getTrackedConnectionState(options.name), (_extends2 = {}, _extends2[store] = api.getState(), _extends2)));117 return r;118 };119 var setStateFromDevtools = function setStateFromDevtools() {120 var originalIsRecording = isRecording;121 isRecording = false;122 set.apply(void 0, arguments);123 isRecording = originalIsRecording;124 };125 var initialState = fn(api.setState, get, api);126 if (connectionInformation.type === 'untracked') {127 connection == null || connection.init(initialState);128 } else {129 connectionInformation.stores[connectionInformation.store] = api;130 connection == null || connection.init(Object.fromEntries(Object.entries(connectionInformation.stores).map(function (_ref2) {131 var key = _ref2[0],132 store = _ref2[1];133 return [key, key === connectionInformation.store ? initialState : store.getState()];134 })));135 }136 if (api.dispatchFromDevtools && typeof api.dispatch === 'function') {137 var didWarnAboutReservedActionType = false;138 var originalDispatch = api.dispatch;139 api.dispatch = function () {140 for (var _len = arguments.length, a = new Array(_len), _key = 0; _key < _len; _key++) {141 a[_key] = arguments[_key];142 }143 if (process.env.NODE_ENV !== 'production' && a[0].type === '__setState' && !didWarnAboutReservedActionType) {144 console.warn('[zustand devtools middleware] "__setState" action type is reserved ' + 'to set state from the devtools. Avoid using it.');145 didWarnAboutReservedActionType = true;146 }147 originalDispatch.apply(void 0, a);148 };149 }150 connection.subscribe(function (message) {151 switch (message.type) {152 case 'ACTION':153 if (typeof message.payload !== 'string') {154 console.error('[zustand devtools middleware] Unsupported action format');155 return;156 }157 return parseJsonThen(message.payload, function (action) {158 if (action.type === '__setState') {159 if (store === undefined) {160 setStateFromDevtools(action.state);161 return;162 }163 if (Object.keys(action.state).length !== 1) {164 console.error("\n [zustand devtools middleware] Unsupported __setState action format. \n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n ");165 }166 var stateFromDevtools = action.state[store];167 if (stateFromDevtools === undefined || stateFromDevtools === null) {168 return;169 }170 if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {171 setStateFromDevtools(stateFromDevtools);172 }173 return;174 }175 if (!api.dispatchFromDevtools) return;176 if (typeof api.dispatch !== 'function') return;177 api.dispatch(action);178 });179 case 'DISPATCH':180 switch (message.payload.type) {181 case 'RESET':182 setStateFromDevtools(initialState);183 if (store === undefined) {184 return connection == null ? void 0 : connection.init(api.getState());185 }186 return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));187 case 'COMMIT':188 if (store === undefined) {189 connection == null || connection.init(api.getState());190 return;191 }192 return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));193 case 'ROLLBACK':194 return parseJsonThen(message.state, function (state) {195 if (store === undefined) {196 setStateFromDevtools(state);197 connection == null || connection.init(api.getState());198 return;199 }200 setStateFromDevtools(state[store]);201 connection == null || connection.init(getTrackedConnectionState(options.name));202 });203 case 'JUMP_TO_STATE':204 case 'JUMP_TO_ACTION':205 return parseJsonThen(message.state, function (state) {206 if (store === undefined) {207 setStateFromDevtools(state);208 return;209 }210 if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {211 setStateFromDevtools(state[store]);212 }213 });214 case 'IMPORT_STATE':215 {216 var _nextLiftedState$comp;217 var nextLiftedState = message.payload.nextLiftedState;218 var lastComputedState = (_nextLiftedState$comp = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _nextLiftedState$comp.state;219 if (!lastComputedState) return;220 if (store === undefined) {221 setStateFromDevtools(lastComputedState);222 } else {223 setStateFromDevtools(lastComputedState[store]);224 }225 connection == null || connection.send(null, nextLiftedState);226 return;227 }228 case 'PAUSE_RECORDING':229 return isRecording = !isRecording;230 }231 return;232 }233 });234 return initialState;235 };236};237var devtools = devtoolsImpl;238var parseJsonThen = function parseJsonThen(stringified, f) {239 var parsed;240 try {241 parsed = JSON.parse(stringified);242 } catch (e) {243 console.error('[zustand devtools middleware] Could not parse the received json', e);244 }245 if (parsed !== undefined) f(parsed);246};247 248var subscribeWithSelectorImpl = function subscribeWithSelectorImpl(fn) {249 return function (set, get, api) {250 var origSubscribe = api.subscribe;251 api.subscribe = function (selector, optListener, options) {252 var listener = selector;253 if (optListener) {254 var equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;255 var currentSlice = selector(api.getState());256 listener = function listener(state) {257 var nextSlice = selector(state);258 if (!equalityFn(currentSlice, nextSlice)) {259 var previousSlice = currentSlice;260 optListener(currentSlice = nextSlice, previousSlice);261 }262 };263 if (options != null && options.fireImmediately) {264 optListener(currentSlice, currentSlice);265 }266 }267 return origSubscribe(listener);268 };269 var initialState = fn(set, get, api);270 return initialState;271 };272};273var subscribeWithSelector = subscribeWithSelectorImpl;274 275var combine = function combine(initialState, create) {276 return function () {277 return Object.assign({}, initialState, create.apply(void 0, arguments));278 };279};280 281function createJSONStorage(getStorage, options) {282 var storage;283 try {284 storage = getStorage();285 } catch (_e) {286 return;287 }288 var persistStorage = {289 getItem: function getItem(name) {290 var _getItem;291 var parse = function parse(str) {292 if (str === null) {293 return null;294 }295 return JSON.parse(str, options == null ? void 0 : options.reviver);296 };297 var str = (_getItem = storage.getItem(name)) != null ? _getItem : null;298 if (str instanceof Promise) {299 return str.then(parse);300 }301 return parse(str);302 },303 setItem: function setItem(name, newValue) {304 return storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer));305 },306 removeItem: function removeItem(name) {307 return storage.removeItem(name);308 }309 };310 return persistStorage;311}312var _toThenable = function toThenable(fn) {313 return function (input) {314 try {315 var result = fn(input);316 if (result instanceof Promise) {317 return result;318 }319 return {320 then: function then(onFulfilled) {321 return _toThenable(onFulfilled)(result);322 },323 catch: function _catch(_onRejected) {324 return this;325 }326 };327 } catch (e) {328 return {329 then: function then(_onFulfilled) {330 return this;331 },332 catch: function _catch(onRejected) {333 return _toThenable(onRejected)(e);334 }335 };336 }337 };338};339var oldImpl = function oldImpl(config, baseOptions) {340 return function (set, get, api) {341 var options = _extends({342 getStorage: function getStorage() {343 return localStorage;344 },345 serialize: JSON.stringify,346 deserialize: JSON.parse,347 partialize: function partialize(state) {348 return state;349 },350 version: 0,351 merge: function merge(persistedState, currentState) {352 return _extends({}, currentState, persistedState);353 }354 }, baseOptions);355 var _hasHydrated = false;356 var hydrationListeners = new Set();357 var finishHydrationListeners = new Set();358 var storage;359 try {360 storage = options.getStorage();361 } catch (_e) {}362 if (!storage) {363 return config(function () {364 console.warn("[zustand persist middleware] Unable to update item '" + options.name + "', the given storage is currently unavailable.");365 set.apply(void 0, arguments);366 }, get, api);367 }368 var thenableSerialize = _toThenable(options.serialize);369 var setItem = function setItem() {370 var state = options.partialize(_extends({}, get()));371 var errorInSync;372 var thenable = thenableSerialize({373 state: state,374 version: options.version375 }).then(function (serializedValue) {376 return storage.setItem(options.name, serializedValue);377 }).catch(function (e) {378 errorInSync = e;379 });380 if (errorInSync) {381 throw errorInSync;382 }383 return thenable;384 };385 var savedSetState = api.setState;386 api.setState = function (state, replace) {387 savedSetState(state, replace);388 void setItem();389 };390 var configResult = config(function () {391 set.apply(void 0, arguments);392 void setItem();393 }, get, api);394 var stateFromStorage;395 var hydrate = function hydrate() {396 if (!storage) return;397 _hasHydrated = false;398 hydrationListeners.forEach(function (cb) {399 return cb(get());400 });401 var postRehydrationCallback = (options.onRehydrateStorage == null ? void 0 : options.onRehydrateStorage(get())) || undefined;402 return _toThenable(storage.getItem.bind(storage))(options.name).then(function (storageValue) {403 if (storageValue) {404 return options.deserialize(storageValue);405 }406 }).then(function (deserializedStorageValue) {407 if (deserializedStorageValue) {408 if (typeof deserializedStorageValue.version === 'number' && deserializedStorageValue.version !== options.version) {409 if (options.migrate) {410 return options.migrate(deserializedStorageValue.state, deserializedStorageValue.version);411 }412 console.error("State loaded from storage couldn't be migrated since no migrate function was provided");413 } else {414 return deserializedStorageValue.state;415 }416 }417 }).then(function (migratedState) {418 var _get;419 stateFromStorage = options.merge(migratedState, (_get = get()) != null ? _get : configResult);420 set(stateFromStorage, true);421 return setItem();422 }).then(function () {423 postRehydrationCallback == null || postRehydrationCallback(stateFromStorage, undefined);424 _hasHydrated = true;425 finishHydrationListeners.forEach(function (cb) {426 return cb(stateFromStorage);427 });428 }).catch(function (e) {429 postRehydrationCallback == null || postRehydrationCallback(undefined, e);430 });431 };432 api.persist = {433 setOptions: function setOptions(newOptions) {434 options = _extends({}, options, newOptions);435 if (newOptions.getStorage) {436 storage = newOptions.getStorage();437 }438 },439 clearStorage: function clearStorage() {440 var _storage;441 (_storage = storage) == null || _storage.removeItem(options.name);442 },443 getOptions: function getOptions() {444 return options;445 },446 rehydrate: function rehydrate() {447 return hydrate();448 },449 hasHydrated: function hasHydrated() {450 return _hasHydrated;451 },452 onHydrate: function onHydrate(cb) {453 hydrationListeners.add(cb);454 return function () {455 hydrationListeners.delete(cb);456 };457 },458 onFinishHydration: function onFinishHydration(cb) {459 finishHydrationListeners.add(cb);460 return function () {461 finishHydrationListeners.delete(cb);462 };463 }464 };465 hydrate();466 return stateFromStorage || configResult;467 };468};469var newImpl = function newImpl(config, baseOptions) {470 return function (set, get, api) {471 var options = _extends({472 storage: createJSONStorage(function () {473 return localStorage;474 }),475 partialize: function partialize(state) {476 return state;477 },478 version: 0,479 merge: function merge(persistedState, currentState) {480 return _extends({}, currentState, persistedState);481 }482 }, baseOptions);483 var _hasHydrated2 = false;484 var hydrationListeners = new Set();485 var finishHydrationListeners = new Set();486 var storage = options.storage;487 if (!storage) {488 return config(function () {489 console.warn("[zustand persist middleware] Unable to update item '" + options.name + "', the given storage is currently unavailable.");490 set.apply(void 0, arguments);491 }, get, api);492 }493 var setItem = function setItem() {494 var state = options.partialize(_extends({}, get()));495 return storage.setItem(options.name, {496 state: state,497 version: options.version498 });499 };500 var savedSetState = api.setState;501 api.setState = function (state, replace) {502 savedSetState(state, replace);503 void setItem();504 };505 var configResult = config(function () {506 set.apply(void 0, arguments);507 void setItem();508 }, get, api);509 api.getInitialState = function () {510 return configResult;511 };512 var stateFromStorage;513 var hydrate = function hydrate() {514 var _get3;515 if (!storage) return;516 _hasHydrated2 = false;517 hydrationListeners.forEach(function (cb) {518 var _get2;519 return cb((_get2 = get()) != null ? _get2 : configResult);520 });521 var postRehydrationCallback = (options.onRehydrateStorage == null ? void 0 : options.onRehydrateStorage((_get3 = get()) != null ? _get3 : configResult)) || undefined;522 return _toThenable(storage.getItem.bind(storage))(options.name).then(function (deserializedStorageValue) {523 if (deserializedStorageValue) {524 if (typeof deserializedStorageValue.version === 'number' && deserializedStorageValue.version !== options.version) {525 if (options.migrate) {526 return [true, options.migrate(deserializedStorageValue.state, deserializedStorageValue.version)];527 }528 console.error("State loaded from storage couldn't be migrated since no migrate function was provided");529 } else {530 return [false, deserializedStorageValue.state];531 }532 }533 return [false, undefined];534 }).then(function (migrationResult) {535 var _get4;536 var migrated = migrationResult[0],537 migratedState = migrationResult[1];538 stateFromStorage = options.merge(migratedState, (_get4 = get()) != null ? _get4 : configResult);539 set(stateFromStorage, true);540 if (migrated) {541 return setItem();542 }543 }).then(function () {544 postRehydrationCallback == null || postRehydrationCallback(stateFromStorage, undefined);545 stateFromStorage = get();546 _hasHydrated2 = true;547 finishHydrationListeners.forEach(function (cb) {548 return cb(stateFromStorage);549 });550 }).catch(function (e) {551 postRehydrationCallback == null || postRehydrationCallback(undefined, e);552 });553 };554 api.persist = {555 setOptions: function setOptions(newOptions) {556 options = _extends({}, options, newOptions);557 if (newOptions.storage) {558 storage = newOptions.storage;559 }560 },561 clearStorage: function clearStorage() {562 var _storage2;563 (_storage2 = storage) == null || _storage2.removeItem(options.name);564 },565 getOptions: function getOptions() {566 return options;567 },568 rehydrate: function rehydrate() {569 return hydrate();570 },571 hasHydrated: function hasHydrated() {572 return _hasHydrated2;573 },574 onHydrate: function onHydrate(cb) {575 hydrationListeners.add(cb);576 return function () {577 hydrationListeners.delete(cb);578 };579 },580 onFinishHydration: function onFinishHydration(cb) {581 finishHydrationListeners.add(cb);582 return function () {583 finishHydrationListeners.delete(cb);584 };585 }586 };587 if (!options.skipHydration) {588 hydrate();589 }590 return stateFromStorage || configResult;591 };592};593var persistImpl = function persistImpl(config, baseOptions) {594 if ('getStorage' in baseOptions || 'serialize' in baseOptions || 'deserialize' in baseOptions) {595 if (process.env.NODE_ENV !== 'production') {596 console.warn('[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.');597 }598 return oldImpl(config, baseOptions);599 }600 return newImpl(config, baseOptions);601};602var persist = persistImpl;603 604exports.combine = combine;605exports.createJSONStorage = createJSONStorage;606exports.devtools = devtools;607exports.persist = persist;608exports.redux = redux;609exports.subscribeWithSelector = subscribeWithSelector;610 