@cyclone-ui/state 0.0.31 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/base/atoms/atom-with-broadcast.cjs +1 -44
- package/dist/base/atoms/atom-with-broadcast.mjs +1 -44
- package/dist/base/atoms/atom-with-broadcast.mjs.map +1 -1
- package/dist/base/atoms/atom-with-compare.cjs +1 -11
- package/dist/base/atoms/atom-with-compare.mjs +1 -11
- package/dist/base/atoms/atom-with-compare.mjs.map +1 -1
- package/dist/base/atoms/atom-with-debounce.cjs +1 -51
- package/dist/base/atoms/atom-with-debounce.mjs +1 -51
- package/dist/base/atoms/atom-with-debounce.mjs.map +1 -1
- package/dist/base/atoms/atom-with-effect.cjs +1 -122
- package/dist/base/atoms/atom-with-effect.mjs +1 -119
- package/dist/base/atoms/atom-with-effect.mjs.map +1 -1
- package/dist/base/atoms/atom-with-listeners.cjs +1 -35
- package/dist/base/atoms/atom-with-listeners.mjs +1 -35
- package/dist/base/atoms/atom-with-listeners.mjs.map +1 -1
- package/dist/base/atoms/atom-with-pending.cjs +1 -13
- package/dist/base/atoms/atom-with-pending.mjs +1 -13
- package/dist/base/atoms/atom-with-pending.mjs.map +1 -1
- package/dist/base/atoms/atom-with-refresh-and-default.cjs +1 -18
- package/dist/base/atoms/atom-with-refresh-and-default.mjs +1 -18
- package/dist/base/atoms/atom-with-refresh-and-default.mjs.map +1 -1
- package/dist/base/atoms/atom-with-refresh.cjs +1 -12
- package/dist/base/atoms/atom-with-refresh.mjs +1 -12
- package/dist/base/atoms/atom-with-refresh.mjs.map +1 -1
- package/dist/base/atoms/atom-with-toggle.cjs +1 -12
- package/dist/base/atoms/atom-with-toggle.mjs +1 -12
- package/dist/base/atoms/atom-with-toggle.mjs.map +1 -1
- package/dist/base/atoms/atom-with-web-storage.cjs +1 -47
- package/dist/base/atoms/atom-with-web-storage.mjs +1 -46
- package/dist/base/atoms/atom-with-web-storage.mjs.map +1 -1
- package/dist/base/atoms/atom-with-wrapper.cjs +1 -24
- package/dist/base/atoms/atom-with-wrapper.mjs +1 -24
- package/dist/base/atoms/atom-with-wrapper.mjs.map +1 -1
- package/dist/base/atoms/base-atom.cjs +1 -24
- package/dist/base/atoms/base-atom.mjs +1 -24
- package/dist/base/atoms/base-atom.mjs.map +1 -1
- package/dist/base/atoms/index.cjs +1 -24
- package/dist/base/atoms/index.mjs +1 -13
- package/dist/base/hooks/index.cjs +1 -9
- package/dist/base/hooks/index.mjs +1 -6
- package/dist/base/hooks/use-atom-effect.cjs +1 -16
- package/dist/base/hooks/use-atom-effect.mjs +1 -16
- package/dist/base/hooks/use-atom-effect.mjs.map +1 -1
- package/dist/base/hooks/use-hydrate-molecule.cjs +1 -16
- package/dist/base/hooks/use-hydrate-molecule.mjs +1 -16
- package/dist/base/hooks/use-hydrate-molecule.mjs.map +1 -1
- package/dist/base/hooks/use-prepare-atoms.cjs +1 -19
- package/dist/base/hooks/use-prepare-atoms.mjs +1 -19
- package/dist/base/hooks/use-prepare-atoms.mjs.map +1 -1
- package/dist/base/hooks/use-sync-molecule.cjs +1 -36
- package/dist/base/hooks/use-sync-molecule.mjs +1 -36
- package/dist/base/hooks/use-sync-molecule.mjs.map +1 -1
- package/dist/base/index.cjs +1 -47
- package/dist/base/index.mjs +1 -24
- package/dist/base/utilities/create-molecule.cjs +1 -104
- package/dist/base/utilities/create-molecule.mjs +1 -101
- package/dist/base/utilities/create-molecule.mjs.map +1 -1
- package/dist/base/utilities/create-web-storage.cjs +1 -54
- package/dist/base/utilities/create-web-storage.mjs +1 -54
- package/dist/base/utilities/create-web-storage.mjs.map +1 -1
- package/dist/base/utilities/debounce.cjs +1 -51
- package/dist/base/utilities/debounce.mjs +1 -51
- package/dist/base/utilities/debounce.mjs.map +1 -1
- package/dist/base/utilities/index.cjs +1 -13
- package/dist/base/utilities/index.mjs +1 -6
- package/dist/base/utilities/is-atom.cjs +1 -47
- package/dist/base/utilities/is-atom.mjs +1 -45
- package/dist/base/utilities/is-atom.mjs.map +1 -1
- package/dist/base/utilities/set-atom-debug.cjs +1 -23
- package/dist/base/utilities/set-atom-debug.mjs +1 -22
- package/dist/base/utilities/set-atom-debug.mjs.map +1 -1
- package/dist/form/atoms/atom-with-field.cjs +1 -22
- package/dist/form/atoms/atom-with-field.mjs +1 -22
- package/dist/form/atoms/atom-with-field.mjs.map +1 -1
- package/dist/form/atoms/atom-with-messages.cjs +1 -84
- package/dist/form/atoms/atom-with-messages.mjs +1 -77
- package/dist/form/atoms/atom-with-messages.mjs.map +1 -1
- package/dist/form/hooks/index.cjs +1 -7
- package/dist/form/hooks/index.mjs +1 -5
- package/dist/form/hooks/use-field-actions.cjs +1 -91
- package/dist/form/hooks/use-field-actions.mjs +1 -91
- package/dist/form/hooks/use-field-actions.mjs.map +1 -1
- package/dist/form/hooks/use-field-ref.cjs +1 -15
- package/dist/form/hooks/use-field-ref.mjs +1 -15
- package/dist/form/hooks/use-field-ref.mjs.map +1 -1
- package/dist/form/hooks/use-form-actions.cjs +1 -68
- package/dist/form/hooks/use-form-actions.mjs +1 -68
- package/dist/form/hooks/use-form-actions.mjs.map +1 -1
- package/dist/form/index.cjs +1 -30
- package/dist/form/index.mjs +1 -17
- package/dist/form/molecules/field-molecule.cjs +1 -156
- package/dist/form/molecules/field-molecule.mjs +1 -155
- package/dist/form/molecules/field-molecule.mjs.map +1 -1
- package/dist/form/molecules/form-molecule.cjs +1 -179
- package/dist/form/molecules/form-molecule.mjs +1 -178
- package/dist/form/molecules/form-molecule.mjs.map +1 -1
- package/dist/form/molecules/index.cjs +1 -7
- package/dist/form/molecules/index.mjs +1 -4
- package/dist/form/providers/FieldProvider.cjs +1 -102
- package/dist/form/providers/FieldProvider.mjs +1 -102
- package/dist/form/providers/FieldProvider.mjs.map +1 -1
- package/dist/form/providers/FormProvider.cjs +1 -65
- package/dist/form/providers/FormProvider.mjs +1 -65
- package/dist/form/providers/FormProvider.mjs.map +1 -1
- package/dist/form/providers/index.cjs +1 -5
- package/dist/form/providers/index.mjs +1 -4
- package/dist/form/types.cjs +1 -12
- package/dist/form/types.mjs +1 -12
- package/dist/form/types.mjs.map +1 -1
- package/dist/form/utilities/abort-error.cjs +1 -14
- package/dist/form/utilities/abort-error.mjs +1 -14
- package/dist/form/utilities/abort-error.mjs.map +1 -1
- package/dist/form/utilities/index.cjs +1 -7
- package/dist/form/utilities/index.mjs +1 -5
- package/dist/form/utilities/is-validation-results.cjs +1 -8
- package/dist/form/utilities/is-validation-results.mjs +1 -8
- package/dist/form/utilities/is-validation-results.mjs.map +1 -1
- package/dist/form/utilities/validators.cjs +1 -7
- package/dist/form/utilities/validators.mjs +1 -7
- package/dist/form/utilities/validators.mjs.map +1 -1
- package/dist/index.cjs +1 -46
- package/dist/index.mjs +1 -22
- package/dist/message/components/MessageViewport.cjs +1 -20
- package/dist/message/components/MessageViewport.mjs +1 -20
- package/dist/message/components/MessageViewport.mjs.map +1 -1
- package/dist/message/components/index.cjs +1 -3
- package/dist/message/components/index.mjs +1 -3
- package/dist/message/hooks/index.cjs +1 -3
- package/dist/message/hooks/index.mjs +1 -3
- package/dist/message/hooks/use-message-actions.cjs +1 -63
- package/dist/message/hooks/use-message-actions.mjs +1 -63
- package/dist/message/hooks/use-message-actions.mjs.map +1 -1
- package/dist/message/index.cjs +1 -23
- package/dist/message/index.mjs +1 -8
- package/dist/message/providers/MessageProvider.cjs +1 -15
- package/dist/message/providers/MessageProvider.mjs +1 -15
- package/dist/message/providers/MessageProvider.mjs.map +1 -1
- package/dist/theme/hooks/index.cjs +1 -7
- package/dist/theme/hooks/index.mjs +1 -4
- package/dist/theme/hooks/use-theme-actions.cjs +1 -20
- package/dist/theme/hooks/use-theme-actions.mjs +1 -20
- package/dist/theme/hooks/use-theme-actions.mjs.map +1 -1
- package/dist/theme/hooks/use-theme-store.cjs +1 -60
- package/dist/theme/hooks/use-theme-store.mjs +1 -58
- package/dist/theme/hooks/use-theme-store.mjs.map +1 -1
- package/dist/theme/index.cjs +1 -17
- package/dist/theme/index.mjs +1 -9
- package/dist/theme/molecules/index.cjs +1 -3
- package/dist/theme/molecules/index.mjs +1 -3
- package/dist/theme/molecules/theme-molecule.cjs +1 -13
- package/dist/theme/molecules/theme-molecule.mjs +1 -13
- package/dist/theme/molecules/theme-molecule.mjs.map +1 -1
- package/dist/theme/providers/ThemeProvider.cjs +1 -29
- package/dist/theme/providers/ThemeProvider.mjs +1 -29
- package/dist/theme/providers/ThemeProvider.mjs.map +1 -1
- package/dist/theme/utilities/theme-helpers.cjs +1 -70
- package/dist/theme/utilities/theme-helpers.mjs +1 -69
- package/dist/theme/utilities/theme-helpers.mjs.map +1 -1
- package/package.json +3 -3
package/dist/base/index.cjs
CHANGED
|
@@ -1,47 +1 @@
|
|
|
1
|
-
const
|
|
2
|
-
const require_atom_with_broadcast = require("./atoms/atom-with-broadcast.cjs");
|
|
3
|
-
const require_atom_with_compare = require("./atoms/atom-with-compare.cjs");
|
|
4
|
-
const require_atom_with_wrapper = require("./atoms/atom-with-wrapper.cjs");
|
|
5
|
-
const require_atom_with_debounce = require("./atoms/atom-with-debounce.cjs");
|
|
6
|
-
const require_atom_with_effect = require("./atoms/atom-with-effect.cjs");
|
|
7
|
-
const require_atom_with_listeners = require("./atoms/atom-with-listeners.cjs");
|
|
8
|
-
const require_atom_with_pending = require("./atoms/atom-with-pending.cjs");
|
|
9
|
-
const require_atom_with_refresh = require("./atoms/atom-with-refresh.cjs");
|
|
10
|
-
const require_atom_with_refresh_and_default = require("./atoms/atom-with-refresh-and-default.cjs");
|
|
11
|
-
const require_atom_with_toggle = require("./atoms/atom-with-toggle.cjs");
|
|
12
|
-
const require_create_web_storage = require("./utilities/create-web-storage.cjs");
|
|
13
|
-
const require_atom_with_web_storage = require("./atoms/atom-with-web-storage.cjs");
|
|
14
|
-
require("./atoms/index.cjs");
|
|
15
|
-
const require_use_atom_effect = require("./hooks/use-atom-effect.cjs");
|
|
16
|
-
const require_use_hydrate_molecule = require("./hooks/use-hydrate-molecule.cjs");
|
|
17
|
-
const require_use_prepare_atoms = require("./hooks/use-prepare-atoms.cjs");
|
|
18
|
-
const require_use_sync_molecule = require("./hooks/use-sync-molecule.cjs");
|
|
19
|
-
require("./hooks/index.cjs");
|
|
20
|
-
const require_create_molecule = require("./utilities/create-molecule.cjs");
|
|
21
|
-
const require_debounce = require("./utilities/debounce.cjs");
|
|
22
|
-
require("./utilities/index.cjs");
|
|
23
|
-
|
|
24
|
-
exports.DEFAULT_SCOPE = require_create_molecule.DEFAULT_SCOPE;
|
|
25
|
-
exports.atomWithBroadcast = require_atom_with_broadcast.atomWithBroadcast;
|
|
26
|
-
exports.atomWithCompare = require_atom_with_compare.atomWithCompare;
|
|
27
|
-
exports.atomWithDebounce = require_atom_with_debounce.atomWithDebounce;
|
|
28
|
-
exports.atomWithEffect = require_atom_with_effect.atomWithEffect;
|
|
29
|
-
exports.atomWithListeners = require_atom_with_listeners.atomWithListeners;
|
|
30
|
-
exports.atomWithPending = require_atom_with_pending.atomWithPending;
|
|
31
|
-
exports.atomWithRefresh = require_atom_with_refresh.atomWithRefresh;
|
|
32
|
-
exports.atomWithRefreshAndDefault = require_atom_with_refresh_and_default.atomWithRefreshAndDefault;
|
|
33
|
-
exports.atomWithToggle = require_atom_with_toggle.atomWithToggle;
|
|
34
|
-
exports.atomWithWebStorage = require_atom_with_web_storage.atomWithWebStorage;
|
|
35
|
-
exports.atomWithWrapper = require_atom_with_wrapper.atomWithWrapper;
|
|
36
|
-
exports.createMoleculeApi = require_create_molecule.createMoleculeApi;
|
|
37
|
-
exports.createScope = require_create_molecule.createScope;
|
|
38
|
-
exports.createWebStorage = require_create_web_storage.createWebStorage;
|
|
39
|
-
exports.debounce = require_debounce.debounce;
|
|
40
|
-
exports.getWebStorage = require_atom_with_web_storage.getWebStorage;
|
|
41
|
-
exports.setAtomDebugLabel = require_set_atom_debug.setAtomDebugLabel;
|
|
42
|
-
exports.setAtomDebugPrivate = require_set_atom_debug.setAtomDebugPrivate;
|
|
43
|
-
exports.use = require_create_molecule.use;
|
|
44
|
-
exports.useAtomEffect = require_use_atom_effect.useAtomEffect;
|
|
45
|
-
exports.useHydrateMolecule = require_use_hydrate_molecule.useHydrateMolecule;
|
|
46
|
-
exports.usePrepareAtoms = require_use_prepare_atoms.usePrepareAtoms;
|
|
47
|
-
exports.useSyncMolecule = require_use_sync_molecule.useSyncMolecule;
|
|
1
|
+
const e=require("./utilities/set-atom-debug.cjs"),t=require("./atoms/atom-with-broadcast.cjs"),n=require("./atoms/atom-with-compare.cjs"),r=require("./atoms/atom-with-wrapper.cjs"),i=require("./atoms/atom-with-debounce.cjs"),a=require("./atoms/atom-with-effect.cjs"),o=require("./atoms/atom-with-listeners.cjs"),s=require("./atoms/atom-with-pending.cjs"),c=require("./atoms/atom-with-refresh.cjs"),l=require("./atoms/atom-with-refresh-and-default.cjs"),u=require("./atoms/atom-with-toggle.cjs"),d=require("./utilities/create-web-storage.cjs"),f=require("./atoms/atom-with-web-storage.cjs");require("./atoms/index.cjs");const p=require("./hooks/use-atom-effect.cjs"),m=require("./hooks/use-hydrate-molecule.cjs"),h=require("./hooks/use-prepare-atoms.cjs"),g=require("./hooks/use-sync-molecule.cjs");require("./hooks/index.cjs");const _=require("./utilities/create-molecule.cjs"),v=require("./utilities/debounce.cjs");require("./utilities/index.cjs"),exports.DEFAULT_SCOPE=_.DEFAULT_SCOPE,exports.atomWithBroadcast=t.atomWithBroadcast,exports.atomWithCompare=n.atomWithCompare,exports.atomWithDebounce=i.atomWithDebounce,exports.atomWithEffect=a.atomWithEffect,exports.atomWithListeners=o.atomWithListeners,exports.atomWithPending=s.atomWithPending,exports.atomWithRefresh=c.atomWithRefresh,exports.atomWithRefreshAndDefault=l.atomWithRefreshAndDefault,exports.atomWithToggle=u.atomWithToggle,exports.atomWithWebStorage=f.atomWithWebStorage,exports.atomWithWrapper=r.atomWithWrapper,exports.createMoleculeApi=_.createMoleculeApi,exports.createScope=_.createScope,exports.createWebStorage=d.createWebStorage,exports.debounce=v.debounce,exports.getWebStorage=f.getWebStorage,exports.setAtomDebugLabel=e.setAtomDebugLabel,exports.setAtomDebugPrivate=e.setAtomDebugPrivate,exports.use=_.use,exports.useAtomEffect=p.useAtomEffect,exports.useHydrateMolecule=m.useHydrateMolecule,exports.usePrepareAtoms=h.usePrepareAtoms,exports.useSyncMolecule=g.useSyncMolecule;
|
package/dist/base/index.mjs
CHANGED
|
@@ -1,24 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { atomWithBroadcast } from "./atoms/atom-with-broadcast.mjs";
|
|
3
|
-
import { atomWithCompare } from "./atoms/atom-with-compare.mjs";
|
|
4
|
-
import { atomWithWrapper } from "./atoms/atom-with-wrapper.mjs";
|
|
5
|
-
import { atomWithDebounce } from "./atoms/atom-with-debounce.mjs";
|
|
6
|
-
import { atomWithEffect } from "./atoms/atom-with-effect.mjs";
|
|
7
|
-
import { atomWithListeners } from "./atoms/atom-with-listeners.mjs";
|
|
8
|
-
import { atomWithPending } from "./atoms/atom-with-pending.mjs";
|
|
9
|
-
import { atomWithRefresh } from "./atoms/atom-with-refresh.mjs";
|
|
10
|
-
import { atomWithRefreshAndDefault } from "./atoms/atom-with-refresh-and-default.mjs";
|
|
11
|
-
import { atomWithToggle } from "./atoms/atom-with-toggle.mjs";
|
|
12
|
-
import { createWebStorage } from "./utilities/create-web-storage.mjs";
|
|
13
|
-
import { atomWithWebStorage, getWebStorage } from "./atoms/atom-with-web-storage.mjs";
|
|
14
|
-
import "./atoms/index.mjs";
|
|
15
|
-
import { useAtomEffect } from "./hooks/use-atom-effect.mjs";
|
|
16
|
-
import { useHydrateMolecule } from "./hooks/use-hydrate-molecule.mjs";
|
|
17
|
-
import { usePrepareAtoms } from "./hooks/use-prepare-atoms.mjs";
|
|
18
|
-
import { useSyncMolecule } from "./hooks/use-sync-molecule.mjs";
|
|
19
|
-
import "./hooks/index.mjs";
|
|
20
|
-
import { DEFAULT_SCOPE, createMoleculeApi, createScope, use } from "./utilities/create-molecule.mjs";
|
|
21
|
-
import { debounce } from "./utilities/debounce.mjs";
|
|
22
|
-
import "./utilities/index.mjs";
|
|
23
|
-
|
|
24
|
-
export { DEFAULT_SCOPE, atomWithBroadcast, atomWithCompare, atomWithDebounce, atomWithEffect, atomWithListeners, atomWithPending, atomWithRefresh, atomWithRefreshAndDefault, atomWithToggle, atomWithWebStorage, atomWithWrapper, createMoleculeApi, createScope, createWebStorage, debounce, getWebStorage, setAtomDebugLabel, setAtomDebugPrivate, use, useAtomEffect, useHydrateMolecule, usePrepareAtoms, useSyncMolecule };
|
|
1
|
+
import{setAtomDebugLabel as e,setAtomDebugPrivate as t}from"./utilities/set-atom-debug.mjs";import{atomWithBroadcast as n}from"./atoms/atom-with-broadcast.mjs";import{atomWithCompare as r}from"./atoms/atom-with-compare.mjs";import{atomWithWrapper as i}from"./atoms/atom-with-wrapper.mjs";import{atomWithDebounce as a}from"./atoms/atom-with-debounce.mjs";import{atomWithEffect as o}from"./atoms/atom-with-effect.mjs";import{atomWithListeners as s}from"./atoms/atom-with-listeners.mjs";import{atomWithPending as c}from"./atoms/atom-with-pending.mjs";import{atomWithRefresh as l}from"./atoms/atom-with-refresh.mjs";import{atomWithRefreshAndDefault as u}from"./atoms/atom-with-refresh-and-default.mjs";import{atomWithToggle as d}from"./atoms/atom-with-toggle.mjs";import{createWebStorage as f}from"./utilities/create-web-storage.mjs";import{atomWithWebStorage as p,getWebStorage as m}from"./atoms/atom-with-web-storage.mjs";import"./atoms/index.mjs";import{useAtomEffect as h}from"./hooks/use-atom-effect.mjs";import{useHydrateMolecule as g}from"./hooks/use-hydrate-molecule.mjs";import{usePrepareAtoms as _}from"./hooks/use-prepare-atoms.mjs";import{useSyncMolecule as v}from"./hooks/use-sync-molecule.mjs";import"./hooks/index.mjs";import{DEFAULT_SCOPE as y,createMoleculeApi as b,createScope as x,use as S}from"./utilities/create-molecule.mjs";import{debounce as C}from"./utilities/debounce.mjs";import"./utilities/index.mjs";export{y as DEFAULT_SCOPE,n as atomWithBroadcast,r as atomWithCompare,a as atomWithDebounce,o as atomWithEffect,s as atomWithListeners,c as atomWithPending,l as atomWithRefresh,u as atomWithRefreshAndDefault,d as atomWithToggle,p as atomWithWebStorage,i as atomWithWrapper,b as createMoleculeApi,x as createScope,f as createWebStorage,C as debounce,m as getWebStorage,e as setAtomDebugLabel,t as setAtomDebugPrivate,S as use,h as useAtomEffect,g as useHydrateMolecule,_ as usePrepareAtoms,v as useSyncMolecule};
|
|
@@ -1,104 +1 @@
|
|
|
1
|
-
const
|
|
2
|
-
const require_set_atom_debug = require("./set-atom-debug.cjs");
|
|
3
|
-
const require_use_hydrate_molecule = require("../hooks/use-hydrate-molecule.cjs");
|
|
4
|
-
const require_use_sync_molecule = require("../hooks/use-sync-molecule.cjs");
|
|
5
|
-
let _stryke_type_checks_is_function = require("@stryke/type-checks/is-function");
|
|
6
|
-
let jotai_utils = require("jotai/utils");
|
|
7
|
-
let jotai = require("jotai");
|
|
8
|
-
let react = require("react");
|
|
9
|
-
let _stryke_type_checks_is_string = require("@stryke/type-checks/is-string");
|
|
10
|
-
let bunshi = require("bunshi");
|
|
11
|
-
let Bunshi_react = require("bunshi/react");
|
|
12
|
-
|
|
13
|
-
// src/base/utilities/create-molecule.tsx
|
|
14
|
-
const DEFAULT_SCOPE = "__global__";
|
|
15
|
-
/**
|
|
16
|
-
* Create a new Scope with the given default value.
|
|
17
|
-
*
|
|
18
|
-
* @param defaultValue - The default value for the Scope.
|
|
19
|
-
* @param options - The options for the Scope.
|
|
20
|
-
* @returns The new Scope.
|
|
21
|
-
*/
|
|
22
|
-
function createScope(defaultValue = DEFAULT_SCOPE, options) {
|
|
23
|
-
return (0, bunshi.createScope)(defaultValue, options);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Use a Molecule or Scope in a molecule definition.
|
|
27
|
-
*
|
|
28
|
-
* @param dependency - The Molecule or Scope to use.
|
|
29
|
-
* @returns The value of the Molecule or Scope.
|
|
30
|
-
*/
|
|
31
|
-
function use(dependency) {
|
|
32
|
-
return (0, bunshi.use)(dependency);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Create a new Molecule with the given constructor function.
|
|
36
|
-
*
|
|
37
|
-
* @param constructFn - The constructor function for the Molecule.
|
|
38
|
-
* @param options - The options for the Molecule.
|
|
39
|
-
* @returns The new Molecule.
|
|
40
|
-
*/
|
|
41
|
-
function createMoleculeApi(constructFn, options) {
|
|
42
|
-
const Scope = !options.scope || (0, _stryke_type_checks_is_string.isString)(options.scope) ? createScope(options.scope ?? "__global__") : options.scope;
|
|
43
|
-
const Molecule = (0, bunshi.molecule)((mol, scope) => {
|
|
44
|
-
const currentScope = scope(Scope);
|
|
45
|
-
const result = constructFn(currentScope);
|
|
46
|
-
result.__scope = (0, jotai.atom)(() => currentScope);
|
|
47
|
-
result.__typename = (0, jotai.atom)(() => options.type);
|
|
48
|
-
for (const key of Object.keys(result)) if (require_is_atom.isAtom(result[key])) require_set_atom_debug.setAtomDebugLabel(result[key], `${options.type}/${currentScope}:${String(key)}`);
|
|
49
|
-
(0, bunshi.onMount)(() => {
|
|
50
|
-
if (options.onMount) {
|
|
51
|
-
const unmount = options.onMount(result);
|
|
52
|
-
if ((0, _stryke_type_checks_is_function.isFunction)(unmount)) return unmount;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
(0, bunshi.onUnmount)(() => {
|
|
56
|
-
if (options.onUnmount) options.onUnmount();
|
|
57
|
-
});
|
|
58
|
-
return result;
|
|
59
|
-
});
|
|
60
|
-
const useMolecule = (opts) => (0, Bunshi_react.useMolecule)(Molecule, opts);
|
|
61
|
-
const use = (opts) => {
|
|
62
|
-
const atoms = useMolecule(opts);
|
|
63
|
-
const keys = Object.keys(atoms);
|
|
64
|
-
return new Proxy({}, { get(_, proxyKey) {
|
|
65
|
-
if (keys.filter((k) => k !== "__scope" && k !== "__typename").includes(proxyKey)) {
|
|
66
|
-
const key = proxyKey;
|
|
67
|
-
return {
|
|
68
|
-
get: () => (0, jotai.useAtomValue)(atoms[key]),
|
|
69
|
-
set: require_is_atom.isWritableAtom(atoms[key]) ? () => (0, jotai.useSetAtom)(atoms[key]) : void 0,
|
|
70
|
-
reset: require_is_atom.isResetAtom(atoms[key]) ? () => {
|
|
71
|
-
const setAtom = (0, jotai.useSetAtom)(atoms[key]);
|
|
72
|
-
return (0, react.useCallback)(() => {
|
|
73
|
-
setAtom(jotai_utils.RESET);
|
|
74
|
-
}, [setAtom]);
|
|
75
|
-
} : void 0
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
} });
|
|
79
|
-
};
|
|
80
|
-
function MoleculeStateManager({ initialState }) {
|
|
81
|
-
const atoms = useMolecule();
|
|
82
|
-
require_use_hydrate_molecule.useHydrateMolecule(atoms, Object.fromEntries(Object.entries(initialState).filter(([, value]) => !require_is_atom.isAtom(value))));
|
|
83
|
-
require_use_sync_molecule.useSyncMolecule(atoms, initialState);
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
function Provider({ children, scope, initialState, ...props }) {
|
|
87
|
-
return <Bunshi_react.ScopeProvider {...props} scope={Scope} value={scope}>
|
|
88
|
-
{initialState && <MoleculeStateManager initialState={initialState} />}
|
|
89
|
-
{children}
|
|
90
|
-
</Bunshi_react.ScopeProvider>;
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
Scope,
|
|
94
|
-
Provider,
|
|
95
|
-
Molecule,
|
|
96
|
-
useMolecule,
|
|
97
|
-
use
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
exports.DEFAULT_SCOPE = DEFAULT_SCOPE;
|
|
102
|
-
exports.createMoleculeApi = createMoleculeApi;
|
|
103
|
-
exports.createScope = createScope;
|
|
104
|
-
exports.use = use;
|
|
1
|
+
const e=require("./is-atom.cjs"),t=require("./set-atom-debug.cjs"),n=require("../hooks/use-hydrate-molecule.cjs"),r=require("../hooks/use-sync-molecule.cjs");let i=require("@stryke/type-checks/is-function"),a=require("jotai/utils"),o=require("jotai"),s=require("react"),c=require("@stryke/type-checks/is-string"),l=require("bunshi"),u=require("bunshi/react"),d=require("react/jsx-runtime");const f=`__global__`;function p(e=f,t){return(0,l.createScope)(e,t)}function m(e){return(0,l.use)(e)}function h(f,m){let h=!m.scope||(0,c.isString)(m.scope)?p(m.scope??`__global__`):m.scope,g=(0,l.molecule)((n,r)=>{let a=r(h),s=f(a);s.__scope=(0,o.atom)(()=>a),s.__typename=(0,o.atom)(()=>m.type);for(let n of Object.keys(s))e.isAtom(s[n])&&t.setAtomDebugLabel(s[n],`${m.type}/${a}:${String(n)}`);return(0,l.onMount)(()=>{if(m.onMount){let e=m.onMount(s);if((0,i.isFunction)(e))return e}}),(0,l.onUnmount)(()=>{m.onUnmount&&m.onUnmount()}),s}),_=e=>(0,u.useMolecule)(g,e),v=t=>{let n=_(t),r=Object.keys(n);return new Proxy({},{get(t,i){if(r.filter(e=>e!==`__scope`&&e!==`__typename`).includes(i)){let t=i;return{get:()=>(0,o.useAtomValue)(n[t]),set:e.isWritableAtom(n[t])?()=>(0,o.useSetAtom)(n[t]):void 0,reset:e.isResetAtom(n[t])?()=>{let e=(0,o.useSetAtom)(n[t]);return(0,s.useCallback)(()=>{e(a.RESET)},[e])}:void 0}}}})};function y({initialState:t}){let i=_();return n.useHydrateMolecule(i,Object.fromEntries(Object.entries(t).filter(([,t])=>!e.isAtom(t)))),r.useSyncMolecule(i,t),null}function b({children:e,scope:t,initialState:n,...r}){return/* @__PURE__ */ (0,d.jsxs)(u.ScopeProvider,{...r,scope:h,value:t,children:[n&&/* @__PURE__ */ (0,d.jsx)(y,{initialState:n}),e]})}return{Scope:h,Provider:b,Molecule:g,useMolecule:_,use:v}}exports.DEFAULT_SCOPE=f,exports.createMoleculeApi=h,exports.createScope=p,exports.use=m;
|
|
@@ -1,102 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { setAtomDebugLabel } from "./set-atom-debug.mjs";
|
|
3
|
-
import { useHydrateMolecule } from "../hooks/use-hydrate-molecule.mjs";
|
|
4
|
-
import { useSyncMolecule } from "../hooks/use-sync-molecule.mjs";
|
|
5
|
-
import { isFunction } from "@stryke/type-checks/is-function";
|
|
6
|
-
import { RESET } from "jotai/utils";
|
|
7
|
-
import { atom, useAtomValue, useSetAtom } from "jotai";
|
|
8
|
-
import { useCallback } from "react";
|
|
9
|
-
import { isString } from "@stryke/type-checks/is-string";
|
|
10
|
-
import { createScope, molecule, onMount, onUnmount, use } from "bunshi";
|
|
11
|
-
import { ScopeProvider, useMolecule } from "bunshi/react";
|
|
12
|
-
|
|
13
|
-
// src/base/utilities/create-molecule.tsx
|
|
14
|
-
const DEFAULT_SCOPE = "__global__";
|
|
15
|
-
/**
|
|
16
|
-
* Create a new Scope with the given default value.
|
|
17
|
-
*
|
|
18
|
-
* @param defaultValue - The default value for the Scope.
|
|
19
|
-
* @param options - The options for the Scope.
|
|
20
|
-
* @returns The new Scope.
|
|
21
|
-
*/
|
|
22
|
-
function createScope$1(defaultValue = DEFAULT_SCOPE, options) {
|
|
23
|
-
return createScope(defaultValue, options);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Use a Molecule or Scope in a molecule definition.
|
|
27
|
-
*
|
|
28
|
-
* @param dependency - The Molecule or Scope to use.
|
|
29
|
-
* @returns The value of the Molecule or Scope.
|
|
30
|
-
*/
|
|
31
|
-
function use$1(dependency) {
|
|
32
|
-
return use(dependency);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Create a new Molecule with the given constructor function.
|
|
36
|
-
*
|
|
37
|
-
* @param constructFn - The constructor function for the Molecule.
|
|
38
|
-
* @param options - The options for the Molecule.
|
|
39
|
-
* @returns The new Molecule.
|
|
40
|
-
*/
|
|
41
|
-
function createMoleculeApi(constructFn, options) {
|
|
42
|
-
const Scope = !options.scope || isString(options.scope) ? createScope$1(options.scope ?? "__global__") : options.scope;
|
|
43
|
-
const Molecule = molecule((mol, scope) => {
|
|
44
|
-
const currentScope = scope(Scope);
|
|
45
|
-
const result = constructFn(currentScope);
|
|
46
|
-
result.__scope = atom(() => currentScope);
|
|
47
|
-
result.__typename = atom(() => options.type);
|
|
48
|
-
for (const key of Object.keys(result)) if (isAtom(result[key])) setAtomDebugLabel(result[key], `${options.type}/${currentScope}:${String(key)}`);
|
|
49
|
-
onMount(() => {
|
|
50
|
-
if (options.onMount) {
|
|
51
|
-
const unmount = options.onMount(result);
|
|
52
|
-
if (isFunction(unmount)) return unmount;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
onUnmount(() => {
|
|
56
|
-
if (options.onUnmount) options.onUnmount();
|
|
57
|
-
});
|
|
58
|
-
return result;
|
|
59
|
-
});
|
|
60
|
-
const useMolecule$1 = (opts) => useMolecule(Molecule, opts);
|
|
61
|
-
const use = (opts) => {
|
|
62
|
-
const atoms = useMolecule$1(opts);
|
|
63
|
-
const keys = Object.keys(atoms);
|
|
64
|
-
return new Proxy({}, { get(_, proxyKey) {
|
|
65
|
-
if (keys.filter((k) => k !== "__scope" && k !== "__typename").includes(proxyKey)) {
|
|
66
|
-
const key = proxyKey;
|
|
67
|
-
return {
|
|
68
|
-
get: () => useAtomValue(atoms[key]),
|
|
69
|
-
set: isWritableAtom(atoms[key]) ? () => useSetAtom(atoms[key]) : void 0,
|
|
70
|
-
reset: isResetAtom(atoms[key]) ? () => {
|
|
71
|
-
const setAtom = useSetAtom(atoms[key]);
|
|
72
|
-
return useCallback(() => {
|
|
73
|
-
setAtom(RESET);
|
|
74
|
-
}, [setAtom]);
|
|
75
|
-
} : void 0
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
} });
|
|
79
|
-
};
|
|
80
|
-
function MoleculeStateManager({ initialState }) {
|
|
81
|
-
const atoms = useMolecule$1();
|
|
82
|
-
useHydrateMolecule(atoms, Object.fromEntries(Object.entries(initialState).filter(([, value]) => !isAtom(value))));
|
|
83
|
-
useSyncMolecule(atoms, initialState);
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
function Provider({ children, scope, initialState, ...props }) {
|
|
87
|
-
return <ScopeProvider {...props} scope={Scope} value={scope}>
|
|
88
|
-
{initialState && <MoleculeStateManager initialState={initialState} />}
|
|
89
|
-
{children}
|
|
90
|
-
</ScopeProvider>;
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
Scope,
|
|
94
|
-
Provider,
|
|
95
|
-
Molecule,
|
|
96
|
-
useMolecule: useMolecule$1,
|
|
97
|
-
use
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export { DEFAULT_SCOPE, createMoleculeApi, createScope$1 as createScope, use$1 as use };
|
|
1
|
+
import{isAtom as e,isResetAtom as t,isWritableAtom as n}from"./is-atom.mjs";import{setAtomDebugLabel as r}from"./set-atom-debug.mjs";import{useHydrateMolecule as i}from"../hooks/use-hydrate-molecule.mjs";import{useSyncMolecule as a}from"../hooks/use-sync-molecule.mjs";import{isFunction as o}from"@stryke/type-checks/is-function";import{RESET as s}from"jotai/utils";import{atom as c,useAtomValue as l,useSetAtom as u}from"jotai";import{useCallback as d}from"react";import{isString as f}from"@stryke/type-checks/is-string";import{createScope as p,molecule as m,onMount as h,onUnmount as g,use as _}from"bunshi";import{ScopeProvider as v,useMolecule as y}from"bunshi/react";import{jsx as b,jsxs as x}from"react/jsx-runtime";const S=`__global__`;function C(e=S,t){return p(e,t)}function w(e){return _(e)}function T(p,_){let S=!_.scope||f(_.scope)?C(_.scope??`__global__`):_.scope,w=m((t,n)=>{let i=n(S),a=p(i);a.__scope=c(()=>i),a.__typename=c(()=>_.type);for(let t of Object.keys(a))e(a[t])&&r(a[t],`${_.type}/${i}:${String(t)}`);return h(()=>{if(_.onMount){let e=_.onMount(a);if(o(e))return e}}),g(()=>{_.onUnmount&&_.onUnmount()}),a}),T=e=>y(w,e),E=e=>{let r=T(e),i=Object.keys(r);return new Proxy({},{get(e,a){if(i.filter(e=>e!==`__scope`&&e!==`__typename`).includes(a)){let e=a;return{get:()=>l(r[e]),set:n(r[e])?()=>u(r[e]):void 0,reset:t(r[e])?()=>{let t=u(r[e]);return d(()=>{t(s)},[t])}:void 0}}}})};function D({initialState:t}){let n=T();return i(n,Object.fromEntries(Object.entries(t).filter(([,t])=>!e(t)))),a(n,t),null}function O({children:e,scope:t,initialState:n,...r}){return/* @__PURE__ */ x(v,{...r,scope:S,value:t,children:[n&&/* @__PURE__ */ b(D,{initialState:n}),e]})}return{Scope:S,Provider:O,Molecule:w,useMolecule:T,use:E}}export{S as DEFAULT_SCOPE,T as createMoleculeApi,C as createScope,w as use};
|
|
102
2
|
//# sourceMappingURL=create-molecule.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-molecule.mjs","names":["createScope","createScopeBase","use","useBase","useMolecule","useMoleculeBase"],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"create-molecule.mjs","names":["createScope","createScopeBase","use","useBase","useMolecule","useMoleculeBase","DEFAULT_SCOPE","createScope$1","createScope","defaultValue","options","use$1","use","dependency","createMoleculeApi","Scope","isString","Molecule","molecule","currentScope","scope","result","constructFn","atom","key","isAtom","setAtomDebugLabel","onMount","unmount","isFunction","onUnmount","useMolecule$1","useMolecule","opts","atoms","keys","k","proxyKey","useAtomValue","isWritableAtom","useSetAtom","isResetAtom","setAtom","useCallback","RESET","MoleculeStateManager","useHydrateMolecule","initialState","value","useSyncMolecule","Provider","props","ScopeProvider","children"],"sources":[],"mappings":""}
|
|
@@ -1,54 +1 @@
|
|
|
1
|
-
let
|
|
2
|
-
let _stryke_type_checks_is_promise = require("@stryke/type-checks/is-promise");
|
|
3
|
-
|
|
4
|
-
// src/base/utilities/create-web-storage.ts
|
|
5
|
-
function createWebStorage(getStringStorage) {
|
|
6
|
-
let lastStrValue;
|
|
7
|
-
let lastValue;
|
|
8
|
-
const storage = {
|
|
9
|
-
getItem: (key, initialValue) => {
|
|
10
|
-
const parse = (strValue = "") => {
|
|
11
|
-
if (lastStrValue !== strValue) {
|
|
12
|
-
try {
|
|
13
|
-
const nextValue = parse(strValue);
|
|
14
|
-
if ((0, _stryke_type_checks_is_promise.isPromise)(nextValue)) return nextValue.then((result) => {
|
|
15
|
-
lastValue = result;
|
|
16
|
-
return result;
|
|
17
|
-
});
|
|
18
|
-
lastValue = nextValue;
|
|
19
|
-
} catch {
|
|
20
|
-
return initialValue;
|
|
21
|
-
}
|
|
22
|
-
lastStrValue = strValue;
|
|
23
|
-
}
|
|
24
|
-
return lastValue;
|
|
25
|
-
};
|
|
26
|
-
const strValue = getStringStorage()?.getItem(key) ?? void 0;
|
|
27
|
-
if (strValue && (0, _stryke_type_checks_is_promise.isPromiseLike)(strValue)) return strValue.then((value) => parse(value));
|
|
28
|
-
return parse(strValue);
|
|
29
|
-
},
|
|
30
|
-
removeItem: (key) => getStringStorage()?.removeItem(key),
|
|
31
|
-
setItem: (key, newValue) => getStringStorage()?.setItem(key, _stryke_json_storm_json.StormJSON.stringify(newValue))
|
|
32
|
-
};
|
|
33
|
-
if (typeof window !== "undefined" && typeof window.addEventListener === "function" && window.Storage) storage.subscribe = (key, callback, initialValue) => {
|
|
34
|
-
if (!(getStringStorage() instanceof window.Storage)) return () => {};
|
|
35
|
-
const storageEventCallback = (e) => {
|
|
36
|
-
if (e.storageArea === getStringStorage() && e.key === key) {
|
|
37
|
-
let newValue;
|
|
38
|
-
try {
|
|
39
|
-
newValue = JSON.parse(e.newValue || "");
|
|
40
|
-
} catch {
|
|
41
|
-
newValue = initialValue;
|
|
42
|
-
}
|
|
43
|
-
callback(newValue);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
window.addEventListener("storage", storageEventCallback);
|
|
47
|
-
return () => {
|
|
48
|
-
window.removeEventListener("storage", storageEventCallback);
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
return storage;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
exports.createWebStorage = createWebStorage;
|
|
1
|
+
let e=require("@stryke/json/storm-json"),t=require("@stryke/type-checks/is-promise");function n(n){let r,i,a={getItem:(e,a)=>{let o=(e=``)=>{if(r!==e){try{let n=o(e);if((0,t.isPromise)(n))return n.then(e=>(i=e,e));i=n}catch{return a}r=e}return i},s=n()?.getItem(e)??void 0;return s&&(0,t.isPromiseLike)(s)?s.then(e=>o(e)):o(s)},removeItem:e=>n()?.removeItem(e),setItem:(t,r)=>n()?.setItem(t,e.StormJSON.stringify(r))};return typeof window<`u`&&typeof window.addEventListener==`function`&&window.Storage&&(a.subscribe=(e,t,r)=>{if(!(n()instanceof window.Storage))return()=>{};let i=i=>{if(i.storageArea===n()&&i.key===e){let e;try{e=JSON.parse(i.newValue||``)}catch{e=r}t(e)}};return window.addEventListener(`storage`,i),()=>{window.removeEventListener(`storage`,i)}}),a}exports.createWebStorage=n;
|
|
@@ -1,55 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { isPromise, isPromiseLike } from "@stryke/type-checks/is-promise";
|
|
3
|
-
|
|
4
|
-
// src/base/utilities/create-web-storage.ts
|
|
5
|
-
function createWebStorage(getStringStorage) {
|
|
6
|
-
let lastStrValue;
|
|
7
|
-
let lastValue;
|
|
8
|
-
const storage = {
|
|
9
|
-
getItem: (key, initialValue) => {
|
|
10
|
-
const parse = (strValue = "") => {
|
|
11
|
-
if (lastStrValue !== strValue) {
|
|
12
|
-
try {
|
|
13
|
-
const nextValue = parse(strValue);
|
|
14
|
-
if (isPromise(nextValue)) return nextValue.then((result) => {
|
|
15
|
-
lastValue = result;
|
|
16
|
-
return result;
|
|
17
|
-
});
|
|
18
|
-
lastValue = nextValue;
|
|
19
|
-
} catch {
|
|
20
|
-
return initialValue;
|
|
21
|
-
}
|
|
22
|
-
lastStrValue = strValue;
|
|
23
|
-
}
|
|
24
|
-
return lastValue;
|
|
25
|
-
};
|
|
26
|
-
const strValue = getStringStorage()?.getItem(key) ?? void 0;
|
|
27
|
-
if (strValue && isPromiseLike(strValue)) return strValue.then((value) => parse(value));
|
|
28
|
-
return parse(strValue);
|
|
29
|
-
},
|
|
30
|
-
removeItem: (key) => getStringStorage()?.removeItem(key),
|
|
31
|
-
setItem: (key, newValue) => getStringStorage()?.setItem(key, StormJSON.stringify(newValue))
|
|
32
|
-
};
|
|
33
|
-
if (typeof window !== "undefined" && typeof window.addEventListener === "function" && window.Storage) storage.subscribe = (key, callback, initialValue) => {
|
|
34
|
-
if (!(getStringStorage() instanceof window.Storage)) return () => {};
|
|
35
|
-
const storageEventCallback = (e) => {
|
|
36
|
-
if (e.storageArea === getStringStorage() && e.key === key) {
|
|
37
|
-
let newValue;
|
|
38
|
-
try {
|
|
39
|
-
newValue = JSON.parse(e.newValue || "");
|
|
40
|
-
} catch {
|
|
41
|
-
newValue = initialValue;
|
|
42
|
-
}
|
|
43
|
-
callback(newValue);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
window.addEventListener("storage", storageEventCallback);
|
|
47
|
-
return () => {
|
|
48
|
-
window.removeEventListener("storage", storageEventCallback);
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
return storage;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { createWebStorage };
|
|
1
|
+
import{StormJSON as e}from"@stryke/json/storm-json";import{isPromise as t,isPromiseLike as n}from"@stryke/type-checks/is-promise";function r(r){let i,a,o={getItem:(e,o)=>{let s=(e=``)=>{if(i!==e){try{let n=s(e);if(t(n))return n.then(e=>(a=e,e));a=n}catch{return o}i=e}return a},c=r()?.getItem(e)??void 0;return c&&n(c)?c.then(e=>s(e)):s(c)},removeItem:e=>r()?.removeItem(e),setItem:(t,n)=>r()?.setItem(t,e.stringify(n))};return typeof window<`u`&&typeof window.addEventListener==`function`&&window.Storage&&(o.subscribe=(e,t,n)=>{if(!(r()instanceof window.Storage))return()=>{};let i=i=>{if(i.storageArea===r()&&i.key===e){let e;try{e=JSON.parse(i.newValue||``)}catch{e=n}t(e)}};return window.addEventListener(`storage`,i),()=>{window.removeEventListener(`storage`,i)}}),o}export{r as createWebStorage};
|
|
55
2
|
//# sourceMappingURL=create-web-storage.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-web-storage.mjs","names":["StormParser"],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"create-web-storage.mjs","names":["StormParser","createWebStorage","lastStrValue","lastValue","storage","parse","strValue","nextValue","isPromise","result","initialValue","getStringStorage","key","isPromiseLike","value","StormJSON","newValue","storageEventCallback","e","callback"],"sources":[],"mappings":""}
|
|
@@ -1,51 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const DEBOUNCE_DEFAULTS = { trailing: true };
|
|
3
|
-
function debounce(fn, wait = 25, options = {}) {
|
|
4
|
-
options = {
|
|
5
|
-
...DEBOUNCE_DEFAULTS,
|
|
6
|
-
...options
|
|
7
|
-
};
|
|
8
|
-
if (!Number.isFinite(wait)) throw new TypeError("Expected `wait` to be a finite number");
|
|
9
|
-
let leadingValue;
|
|
10
|
-
let timeout;
|
|
11
|
-
let resolveList = [];
|
|
12
|
-
let currentPromise;
|
|
13
|
-
let trailingArgs;
|
|
14
|
-
const applyFn = async (_this, args) => {
|
|
15
|
-
currentPromise = _applyPromised(fn, _this, args);
|
|
16
|
-
currentPromise.finally(async () => {
|
|
17
|
-
currentPromise = void 0;
|
|
18
|
-
if (options.trailing && trailingArgs && !timeout) {
|
|
19
|
-
const promise = applyFn(_this, trailingArgs);
|
|
20
|
-
trailingArgs = void 0;
|
|
21
|
-
return promise;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
return currentPromise;
|
|
25
|
-
};
|
|
26
|
-
return async (...args) => {
|
|
27
|
-
if (currentPromise) {
|
|
28
|
-
if (options.trailing) trailingArgs = args;
|
|
29
|
-
return currentPromise;
|
|
30
|
-
}
|
|
31
|
-
return new Promise((resolve) => {
|
|
32
|
-
const shouldCallNow = !timeout && options.leading;
|
|
33
|
-
clearTimeout(timeout);
|
|
34
|
-
timeout = setTimeout(() => {
|
|
35
|
-
timeout = void 0;
|
|
36
|
-
const promise = options.leading ? leadingValue : applyFn(this, args);
|
|
37
|
-
for (const _resolve of resolveList) _resolve(promise);
|
|
38
|
-
resolveList = [];
|
|
39
|
-
}, wait);
|
|
40
|
-
if (shouldCallNow) {
|
|
41
|
-
leadingValue = applyFn(this, args);
|
|
42
|
-
resolve(leadingValue);
|
|
43
|
-
} else resolveList.push(resolve);
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
async function _applyPromised(fn, _this, args) {
|
|
48
|
-
return await fn.apply(_this, args);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
exports.debounce = debounce;
|
|
1
|
+
const e={trailing:!0};function t(t,r=25,i={}){if(i={...e,...i},!Number.isFinite(r))throw TypeError("Expected `wait` to be a finite number");let a,o,s=[],c,l,u=async(e,r)=>(c=n(t,e,r),c.finally(async()=>{if(c=void 0,i.trailing&&l&&!o){let t=u(e,l);return l=void 0,t}}),c);return async(...e)=>c?(i.trailing&&(l=e),c):new Promise(t=>{let n=!o&&i.leading;clearTimeout(o),o=setTimeout(()=>{o=void 0;let t=i.leading?a:u(this,e);for(let e of s)e(t);s=[]},r),n?(a=u(this,e),t(a)):s.push(t)})}async function n(e,t,n){return await e.apply(t,n)}exports.debounce=t;
|
|
@@ -1,52 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
const DEBOUNCE_DEFAULTS = { trailing: true };
|
|
3
|
-
function debounce(fn, wait = 25, options = {}) {
|
|
4
|
-
options = {
|
|
5
|
-
...DEBOUNCE_DEFAULTS,
|
|
6
|
-
...options
|
|
7
|
-
};
|
|
8
|
-
if (!Number.isFinite(wait)) throw new TypeError("Expected `wait` to be a finite number");
|
|
9
|
-
let leadingValue;
|
|
10
|
-
let timeout;
|
|
11
|
-
let resolveList = [];
|
|
12
|
-
let currentPromise;
|
|
13
|
-
let trailingArgs;
|
|
14
|
-
const applyFn = async (_this, args) => {
|
|
15
|
-
currentPromise = _applyPromised(fn, _this, args);
|
|
16
|
-
currentPromise.finally(async () => {
|
|
17
|
-
currentPromise = void 0;
|
|
18
|
-
if (options.trailing && trailingArgs && !timeout) {
|
|
19
|
-
const promise = applyFn(_this, trailingArgs);
|
|
20
|
-
trailingArgs = void 0;
|
|
21
|
-
return promise;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
return currentPromise;
|
|
25
|
-
};
|
|
26
|
-
return async (...args) => {
|
|
27
|
-
if (currentPromise) {
|
|
28
|
-
if (options.trailing) trailingArgs = args;
|
|
29
|
-
return currentPromise;
|
|
30
|
-
}
|
|
31
|
-
return new Promise((resolve) => {
|
|
32
|
-
const shouldCallNow = !timeout && options.leading;
|
|
33
|
-
clearTimeout(timeout);
|
|
34
|
-
timeout = setTimeout(() => {
|
|
35
|
-
timeout = void 0;
|
|
36
|
-
const promise = options.leading ? leadingValue : applyFn(this, args);
|
|
37
|
-
for (const _resolve of resolveList) _resolve(promise);
|
|
38
|
-
resolveList = [];
|
|
39
|
-
}, wait);
|
|
40
|
-
if (shouldCallNow) {
|
|
41
|
-
leadingValue = applyFn(this, args);
|
|
42
|
-
resolve(leadingValue);
|
|
43
|
-
} else resolveList.push(resolve);
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
async function _applyPromised(fn, _this, args) {
|
|
48
|
-
return await fn.apply(_this, args);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { debounce };
|
|
1
|
+
const e={trailing:!0};function t(t,r=25,i={}){if(i={...e,...i},!Number.isFinite(r))throw TypeError("Expected `wait` to be a finite number");let a,o,s=[],c,l,u=async(e,r)=>(c=n(t,e,r),c.finally(async()=>{if(c=void 0,i.trailing&&l&&!o){let t=u(e,l);return l=void 0,t}}),c);return async(...e)=>c?(i.trailing&&(l=e),c):new Promise(t=>{let n=!o&&i.leading;clearTimeout(o),o=setTimeout(()=>{o=void 0;let t=i.leading?a:u(this,e);for(let e of s)e(t);s=[]},r),n?(a=u(this,e),t(a)):s.push(t)})}async function n(e,t,n){return await e.apply(t,n)}export{t as debounce};
|
|
52
2
|
//# sourceMappingURL=debounce.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.mjs","names":[],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"debounce.mjs","names":["DEBOUNCE_DEFAULTS","debounce","options","wait","leadingValue","timeout","resolveList","currentPromise","trailingArgs","applyFn","_applyPromised","fn","_this","args","promise","shouldCallNow","_resolve","resolve"],"sources":[],"mappings":""}
|
|
@@ -1,13 +1 @@
|
|
|
1
|
-
const
|
|
2
|
-
const require_create_web_storage = require("./create-web-storage.cjs");
|
|
3
|
-
const require_create_molecule = require("./create-molecule.cjs");
|
|
4
|
-
const require_debounce = require("./debounce.cjs");
|
|
5
|
-
|
|
6
|
-
exports.DEFAULT_SCOPE = require_create_molecule.DEFAULT_SCOPE;
|
|
7
|
-
exports.createMoleculeApi = require_create_molecule.createMoleculeApi;
|
|
8
|
-
exports.createScope = require_create_molecule.createScope;
|
|
9
|
-
exports.createWebStorage = require_create_web_storage.createWebStorage;
|
|
10
|
-
exports.debounce = require_debounce.debounce;
|
|
11
|
-
exports.setAtomDebugLabel = require_set_atom_debug.setAtomDebugLabel;
|
|
12
|
-
exports.setAtomDebugPrivate = require_set_atom_debug.setAtomDebugPrivate;
|
|
13
|
-
exports.use = require_create_molecule.use;
|
|
1
|
+
const e=require("./set-atom-debug.cjs"),t=require("./create-web-storage.cjs"),n=require("./create-molecule.cjs"),r=require("./debounce.cjs");exports.DEFAULT_SCOPE=n.DEFAULT_SCOPE,exports.createMoleculeApi=n.createMoleculeApi,exports.createScope=n.createScope,exports.createWebStorage=t.createWebStorage,exports.debounce=r.debounce,exports.setAtomDebugLabel=e.setAtomDebugLabel,exports.setAtomDebugPrivate=e.setAtomDebugPrivate,exports.use=n.use;
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { createWebStorage } from "./create-web-storage.mjs";
|
|
3
|
-
import { DEFAULT_SCOPE, createMoleculeApi, createScope, use } from "./create-molecule.mjs";
|
|
4
|
-
import { debounce } from "./debounce.mjs";
|
|
5
|
-
|
|
6
|
-
export { DEFAULT_SCOPE, createMoleculeApi, createScope, createWebStorage, debounce, setAtomDebugLabel, setAtomDebugPrivate, use };
|
|
1
|
+
import{setAtomDebugLabel as e,setAtomDebugPrivate as t}from"./set-atom-debug.mjs";import{createWebStorage as n}from"./create-web-storage.mjs";import{DEFAULT_SCOPE as r,createMoleculeApi as i,createScope as a,use as o}from"./create-molecule.mjs";import{debounce as s}from"./debounce.mjs";export{r as DEFAULT_SCOPE,i as createMoleculeApi,a as createScope,n as createWebStorage,s as debounce,e as setAtomDebugLabel,t as setAtomDebugPrivate,o as use};
|
|
@@ -1,47 +1 @@
|
|
|
1
|
-
let
|
|
2
|
-
let _stryke_type_checks_is_plain_object = require("@stryke/type-checks/is-plain-object");
|
|
3
|
-
|
|
4
|
-
// src/base/utilities/is-atom.ts
|
|
5
|
-
/**
|
|
6
|
-
* Check if the value is a [Jotai](https://jotai.org) `Atom` object
|
|
7
|
-
*
|
|
8
|
-
* @param value - The value to check
|
|
9
|
-
* @returns A boolean indicating whether the value is an `Atom` object
|
|
10
|
-
*/
|
|
11
|
-
const isAtom = (value) => {
|
|
12
|
-
try {
|
|
13
|
-
return (0, _stryke_type_checks_is_plain_object.isPlainObject)(value) && "read" in value && (0, _stryke_type_checks_is_function.isFunction)(value.read);
|
|
14
|
-
} catch {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Check if the value is a [Jotai](https://jotai.org) `WritableAtom` object
|
|
20
|
-
*
|
|
21
|
-
* @param value - The value to check
|
|
22
|
-
* @returns A boolean indicating whether the value is a `WritableAtom` object
|
|
23
|
-
*/
|
|
24
|
-
const isWritableAtom = (value) => {
|
|
25
|
-
try {
|
|
26
|
-
return isAtom(value) && "write" in value && (0, _stryke_type_checks_is_function.isFunction)(value.write);
|
|
27
|
-
} catch {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Check if the value is a [Jotai](https://jotai.org) `Atom` object with the ability to reset to it's initial value
|
|
33
|
-
*
|
|
34
|
-
* @param value - The value to check
|
|
35
|
-
* @returns A boolean indicating whether the value is a `Atom` object with the ability to reset to it's initial value
|
|
36
|
-
*/
|
|
37
|
-
const isResetAtom = (value) => {
|
|
38
|
-
try {
|
|
39
|
-
return isWritableAtom(value) && "init" in value;
|
|
40
|
-
} catch {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
exports.isAtom = isAtom;
|
|
46
|
-
exports.isResetAtom = isResetAtom;
|
|
47
|
-
exports.isWritableAtom = isWritableAtom;
|
|
1
|
+
let e=require("@stryke/type-checks/is-function"),t=require("@stryke/type-checks/is-plain-object");const n=n=>{try{return(0,t.isPlainObject)(n)&&`read`in n&&(0,e.isFunction)(n.read)}catch{return!1}},r=t=>{try{return n(t)&&`write`in t&&(0,e.isFunction)(t.write)}catch{return!1}},i=e=>{try{return r(e)&&`init`in e}catch{return!1}};exports.isAtom=n,exports.isResetAtom=i,exports.isWritableAtom=r;
|