59 lines
1.8 KiB
TypeScript
59 lines
1.8 KiB
TypeScript
// Metro module 4057 (f4058).
|
|
import { createWithEqualityFn } from "../_bundle/identity_700";
|
|
import { subscribeWithSelector } from "../_bundle/createJSONStorage";
|
|
import { batchUpdates } from "../_bundle/Module705";
|
|
function $mk103488($env) {
|
|
return () => $env.$parent[1].setState($env[0]);
|
|
}
|
|
let env2330 = {};
|
|
const defaultStatesAreEqual = function defaultStatesAreEqual(a0, a1) {
|
|
return a0 === a1;
|
|
};
|
|
export function createZustandStore(a0) {
|
|
let env13816 = {
|
|
$parent: env2330
|
|
};
|
|
env13816[0] = a0;
|
|
env13816[1] = createWithEqualityFn(subscribeWithSelector((c24920_0, a1, a2) => (0, env13816[0])((c29258_0) => batchUpdates(() => c24920_0(c29258_0)), a1, a2)));
|
|
const setState = (a0) => {
|
|
let env24921;
|
|
const r1 = env24921 = {
|
|
$parent: env13816
|
|
};
|
|
env24921[0] = a0;
|
|
batchUpdates($mk103488(r1));
|
|
};
|
|
env13816[2] = setState;
|
|
return {
|
|
useState: function useState(a0, r3 = defaultStatesAreEqual) {
|
|
return (0, env13816[1])(a0, r3);
|
|
},
|
|
getState: function getState(a0) {
|
|
const state = env13816[1].getState();
|
|
return a0 != null ? a0(state) : state;
|
|
},
|
|
useField: function useField(c24922_0, r3 = defaultStatesAreEqual) {
|
|
if (r3 === void 0) {
|
|
r3 = defaultStatesAreEqual;
|
|
}
|
|
return (0, env13816[1])((a0) => a0[c24922_0], r3);
|
|
},
|
|
getField: function getField(a0) {
|
|
return env13816[1].getState()[a0];
|
|
},
|
|
subscribe: function subscribe(a0, a1, a2) {
|
|
return env13816[1].subscribe(a0, a1, a2);
|
|
},
|
|
setState,
|
|
resetState: function resetState() {
|
|
const initialState = env13816[1].getInitialState();
|
|
let env24923;
|
|
const r8 = env24923 = {
|
|
$parent: env13816
|
|
};
|
|
env24923[0] = initialState;
|
|
batchUpdates($mk103488(r8));
|
|
}
|
|
};
|
|
}
|