@fxhash/params 0.0.10 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-7H32FZ35.js → chunk-B3N473DY.js} +45 -37
- package/dist/chunk-B3N473DY.js.map +1 -0
- package/dist/index.d.ts +249 -3
- package/dist/index.js +100 -5
- package/dist/index.js.map +1 -1
- package/dist/utils-jEvPb5wq.d.ts +141 -0
- package/dist/utils.d.ts +1 -50
- package/dist/utils.js +2 -32
- package/dist/utils.js.map +1 -1
- package/package.json +31 -47
- package/dist/BaseInput.cjs +0 -13
- package/dist/BaseInput.cjs.map +0 -1
- package/dist/BaseInput.css +0 -112
- package/dist/BaseInput.css.map +0 -1
- package/dist/BaseInput.d.ts +0 -12
- package/dist/BaseInput.js +0 -13
- package/dist/BaseInput.js.map +0 -1
- package/dist/Context.cjs +0 -49
- package/dist/Context.cjs.map +0 -1
- package/dist/Context.d.ts +0 -19
- package/dist/Context.js +0 -49
- package/dist/Context.js.map +0 -1
- package/dist/Controller/BigInt.cjs +0 -10
- package/dist/Controller/BigInt.cjs.map +0 -1
- package/dist/Controller/BigInt.css +0 -183
- package/dist/Controller/BigInt.css.map +0 -1
- package/dist/Controller/BigInt.d.ts +0 -8
- package/dist/Controller/BigInt.js +0 -10
- package/dist/Controller/BigInt.js.map +0 -1
- package/dist/Controller/Boolean.cjs +0 -9
- package/dist/Controller/Boolean.cjs.map +0 -1
- package/dist/Controller/Boolean.css +0 -183
- package/dist/Controller/Boolean.css.map +0 -1
- package/dist/Controller/Boolean.d.ts +0 -8
- package/dist/Controller/Boolean.js +0 -9
- package/dist/Controller/Boolean.js.map +0 -1
- package/dist/Controller/Bytes.cjs +0 -9
- package/dist/Controller/Bytes.cjs.map +0 -1
- package/dist/Controller/Bytes.css +0 -191
- package/dist/Controller/Bytes.css.map +0 -1
- package/dist/Controller/Bytes.d.ts +0 -8
- package/dist/Controller/Bytes.js +0 -9
- package/dist/Controller/Bytes.js.map +0 -1
- package/dist/Controller/Color.cjs +0 -10
- package/dist/Controller/Color.cjs.map +0 -1
- package/dist/Controller/Color.css +0 -227
- package/dist/Controller/Color.css.map +0 -1
- package/dist/Controller/Color.d.ts +0 -8
- package/dist/Controller/Color.js +0 -10
- package/dist/Controller/Color.js.map +0 -1
- package/dist/Controller/Controller.cjs +0 -14
- package/dist/Controller/Controller.cjs.map +0 -1
- package/dist/Controller/Controller.css +0 -183
- package/dist/Controller/Controller.css.map +0 -1
- package/dist/Controller/Controller.d.ts +0 -41
- package/dist/Controller/Controller.js +0 -14
- package/dist/Controller/Controller.js.map +0 -1
- package/dist/Controller/Invalid.cjs +0 -7
- package/dist/Controller/Invalid.cjs.map +0 -1
- package/dist/Controller/Invalid.css +0 -48
- package/dist/Controller/Invalid.css.map +0 -1
- package/dist/Controller/Invalid.d.ts +0 -11
- package/dist/Controller/Invalid.js +0 -7
- package/dist/Controller/Invalid.js.map +0 -1
- package/dist/Controller/Number.cjs +0 -9
- package/dist/Controller/Number.cjs.map +0 -1
- package/dist/Controller/Number.css +0 -183
- package/dist/Controller/Number.css.map +0 -1
- package/dist/Controller/Number.d.ts +0 -8
- package/dist/Controller/Number.js +0 -9
- package/dist/Controller/Number.js.map +0 -1
- package/dist/Controller/Param.cjs +0 -21
- package/dist/Controller/Param.cjs.map +0 -1
- package/dist/Controller/Param.css +0 -283
- package/dist/Controller/Param.css.map +0 -1
- package/dist/Controller/Param.d.ts +0 -25
- package/dist/Controller/Param.js +0 -21
- package/dist/Controller/Param.js.map +0 -1
- package/dist/Controller/Select.cjs +0 -9
- package/dist/Controller/Select.cjs.map +0 -1
- package/dist/Controller/Select.css +0 -183
- package/dist/Controller/Select.css.map +0 -1
- package/dist/Controller/Select.d.ts +0 -8
- package/dist/Controller/Select.js +0 -9
- package/dist/Controller/Select.js.map +0 -1
- package/dist/Controller/String.cjs +0 -9
- package/dist/Controller/String.cjs.map +0 -1
- package/dist/Controller/String.css +0 -183
- package/dist/Controller/String.css.map +0 -1
- package/dist/Controller/String.d.ts +0 -8
- package/dist/Controller/String.js +0 -9
- package/dist/Controller/String.js.map +0 -1
- package/dist/Controls.cjs +0 -102
- package/dist/Controls.cjs.map +0 -1
- package/dist/Controls.css +0 -304
- package/dist/Controls.css.map +0 -1
- package/dist/Controls.d.ts +0 -17
- package/dist/Controls.js +0 -102
- package/dist/Controls.js.map +0 -1
- package/dist/LockButton/LockButton.cjs +0 -8
- package/dist/LockButton/LockButton.cjs.map +0 -1
- package/dist/LockButton/LockButton.css +0 -117
- package/dist/LockButton/LockButton.css.map +0 -1
- package/dist/LockButton/LockButton.d.ts +0 -11
- package/dist/LockButton/LockButton.js +0 -8
- package/dist/LockButton/LockButton.js.map +0 -1
- package/dist/ParamsHistory.cjs +0 -89
- package/dist/ParamsHistory.cjs.map +0 -1
- package/dist/ParamsHistory.d.ts +0 -22
- package/dist/ParamsHistory.js +0 -89
- package/dist/ParamsHistory.js.map +0 -1
- package/dist/RuntimeContext.cjs +0 -10
- package/dist/RuntimeContext.cjs.map +0 -1
- package/dist/RuntimeContext.d.ts +0 -44
- package/dist/RuntimeContext.js +0 -10
- package/dist/RuntimeContext.js.map +0 -1
- package/dist/chunk-2SARESCF.js +0 -135
- package/dist/chunk-2SARESCF.js.map +0 -1
- package/dist/chunk-2XWOWIXK.cjs +0 -23
- package/dist/chunk-2XWOWIXK.cjs.map +0 -1
- package/dist/chunk-3OF5LR4Y.cjs +0 -110
- package/dist/chunk-3OF5LR4Y.cjs.map +0 -1
- package/dist/chunk-3QFEC7SK.cjs +0 -39
- package/dist/chunk-3QFEC7SK.cjs.map +0 -1
- package/dist/chunk-4OKETOHR.js +0 -120
- package/dist/chunk-4OKETOHR.js.map +0 -1
- package/dist/chunk-7H32FZ35.js.map +0 -1
- package/dist/chunk-AMJCUB2I.cjs +0 -46
- package/dist/chunk-AMJCUB2I.cjs.map +0 -1
- package/dist/chunk-BEDRMOBJ.js +0 -43
- package/dist/chunk-BEDRMOBJ.js.map +0 -1
- package/dist/chunk-CVLSVTCX.cjs +0 -43
- package/dist/chunk-CVLSVTCX.cjs.map +0 -1
- package/dist/chunk-EACKNC6C.cjs +0 -103
- package/dist/chunk-EACKNC6C.cjs.map +0 -1
- package/dist/chunk-GDSG5VLX.js +0 -67
- package/dist/chunk-GDSG5VLX.js.map +0 -1
- package/dist/chunk-GXCX5YCI.js +0 -46
- package/dist/chunk-GXCX5YCI.js.map +0 -1
- package/dist/chunk-HIC6NEI2.js +0 -39
- package/dist/chunk-HIC6NEI2.js.map +0 -1
- package/dist/chunk-JSFJKANM.js +0 -115
- package/dist/chunk-JSFJKANM.js.map +0 -1
- package/dist/chunk-K22KNCGR.cjs +0 -24
- package/dist/chunk-K22KNCGR.cjs.map +0 -1
- package/dist/chunk-K6UPSPM5.cjs +0 -115
- package/dist/chunk-K6UPSPM5.cjs.map +0 -1
- package/dist/chunk-LTIGECX6.cjs +0 -44
- package/dist/chunk-LTIGECX6.cjs.map +0 -1
- package/dist/chunk-LVN3UGUH.cjs +0 -404
- package/dist/chunk-LVN3UGUH.cjs.map +0 -1
- package/dist/chunk-M7HJ2CKM.cjs +0 -135
- package/dist/chunk-M7HJ2CKM.cjs.map +0 -1
- package/dist/chunk-MWP7SJWC.js +0 -103
- package/dist/chunk-MWP7SJWC.js.map +0 -1
- package/dist/chunk-NBDFYP3Y.js +0 -24
- package/dist/chunk-NBDFYP3Y.js.map +0 -1
- package/dist/chunk-SOEAQVIE.js +0 -34
- package/dist/chunk-SOEAQVIE.js.map +0 -1
- package/dist/chunk-TQGOPELV.cjs +0 -67
- package/dist/chunk-TQGOPELV.cjs.map +0 -1
- package/dist/chunk-WHVPVEYH.cjs +0 -34
- package/dist/chunk-WHVPVEYH.cjs.map +0 -1
- package/dist/chunk-X4GS3I5P.js +0 -110
- package/dist/chunk-X4GS3I5P.js.map +0 -1
- package/dist/chunk-XYWE6TCQ.js +0 -37
- package/dist/chunk-XYWE6TCQ.js.map +0 -1
- package/dist/chunk-YLZI7BR5.cjs +0 -120
- package/dist/chunk-YLZI7BR5.cjs.map +0 -1
- package/dist/chunk-YNPYJVNU.js +0 -44
- package/dist/chunk-YNPYJVNU.js.map +0 -1
- package/dist/chunk-Z5Z6AKH7.cjs +0 -37
- package/dist/chunk-Z5Z6AKH7.cjs.map +0 -1
- package/dist/chunk-ZALRIFOG.js +0 -23
- package/dist/chunk-ZALRIFOG.js.map +0 -1
- package/dist/hooks.cjs +0 -29
- package/dist/hooks.cjs.map +0 -1
- package/dist/hooks.d.ts +0 -6
- package/dist/hooks.js +0 -29
- package/dist/hooks.js.map +0 -1
- package/dist/index.cjs +0 -7
- package/dist/index.cjs.map +0 -1
- package/dist/index.css +0 -112
- package/dist/index.css.map +0 -1
- package/dist/types.cjs +0 -1
- package/dist/types.cjs.map +0 -1
- package/dist/types.d.ts +0 -100
- package/dist/types.js +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.cjs +0 -33
- package/dist/utils.cjs.map +0 -1
- package/dist/validation.cjs +0 -9
- package/dist/validation.cjs.map +0 -1
- package/dist/validation.d.ts +0 -241
- package/dist/validation.js +0 -9
- package/dist/validation.js.map +0 -1
package/dist/chunk-JSFJKANM.js
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
jsonStringifyBigint,
|
3
|
-
sumBytesParams
|
4
|
-
} from "./chunk-7H32FZ35.js";
|
5
|
-
|
6
|
-
// src/RuntimeContext.tsx
|
7
|
-
import { useMemo, useState } from "react";
|
8
|
-
import { createContext } from "react";
|
9
|
-
import sha1 from "sha1";
|
10
|
-
import { jsx } from "react/jsx-runtime";
|
11
|
-
function hashRuntimeState(state) {
|
12
|
-
return sha1(jsonStringifyBigint(state));
|
13
|
-
}
|
14
|
-
function hashRuntimeHardState(state, definition) {
|
15
|
-
const staticParams = {};
|
16
|
-
for (const id in state.params) {
|
17
|
-
const def = definition?.find((def2) => def2.id === id);
|
18
|
-
if (!def || !def.update || def.update === "page-reload") {
|
19
|
-
staticParams[id] = state.params[id];
|
20
|
-
}
|
21
|
-
}
|
22
|
-
return hashRuntimeState({
|
23
|
-
...state,
|
24
|
-
params: staticParams
|
25
|
-
});
|
26
|
-
}
|
27
|
-
var defaultRuntimeContext = {
|
28
|
-
state: {
|
29
|
-
hash: "",
|
30
|
-
minter: "",
|
31
|
-
params: {},
|
32
|
-
update: () => {
|
33
|
-
},
|
34
|
-
iteration: 1,
|
35
|
-
context: "standalone"
|
36
|
-
},
|
37
|
-
definition: {
|
38
|
-
params: null,
|
39
|
-
version: null,
|
40
|
-
update: () => {
|
41
|
-
}
|
42
|
-
},
|
43
|
-
details: {
|
44
|
-
paramsByteSize: 0,
|
45
|
-
stateHash: {
|
46
|
-
soft: "",
|
47
|
-
hard: ""
|
48
|
-
}
|
49
|
-
}
|
50
|
-
};
|
51
|
-
var RuntimeContext = createContext(defaultRuntimeContext);
|
52
|
-
function RuntimeProvider({ children }) {
|
53
|
-
const [state, setState] = useState({
|
54
|
-
hash: "",
|
55
|
-
minter: "",
|
56
|
-
params: {},
|
57
|
-
iteration: 1,
|
58
|
-
context: new URLSearchParams(window.location.search).get(
|
59
|
-
"fxcontext"
|
60
|
-
) || "standalone"
|
61
|
-
});
|
62
|
-
const [definition, setDefinition] = useState({
|
63
|
-
params: null,
|
64
|
-
version: null
|
65
|
-
});
|
66
|
-
const update = (data) => {
|
67
|
-
setState((lastState) => ({
|
68
|
-
...lastState,
|
69
|
-
...data
|
70
|
-
}));
|
71
|
-
};
|
72
|
-
const updateDefinition = (data) => {
|
73
|
-
setDefinition((lastDefinition) => ({
|
74
|
-
...lastDefinition,
|
75
|
-
...data
|
76
|
-
}));
|
77
|
-
};
|
78
|
-
const definitionEnhanced = useMemo(
|
79
|
-
() => ({
|
80
|
-
...definition,
|
81
|
-
params: definition.params?.map((p) => ({
|
82
|
-
...p,
|
83
|
-
version: definition.version || "0"
|
84
|
-
})) || null
|
85
|
-
}),
|
86
|
-
[definition]
|
87
|
-
);
|
88
|
-
const ctx = {
|
89
|
-
state: {
|
90
|
-
...state,
|
91
|
-
update
|
92
|
-
},
|
93
|
-
definition: {
|
94
|
-
...definitionEnhanced,
|
95
|
-
update: updateDefinition
|
96
|
-
},
|
97
|
-
details: useMemo(
|
98
|
-
() => ({
|
99
|
-
paramsByteSize: sumBytesParams(definition.params || []),
|
100
|
-
stateHash: {
|
101
|
-
soft: hashRuntimeState(state),
|
102
|
-
hard: hashRuntimeHardState(state, definition.params)
|
103
|
-
}
|
104
|
-
}),
|
105
|
-
[state, definition.params]
|
106
|
-
)
|
107
|
-
};
|
108
|
-
return /* @__PURE__ */ jsx(RuntimeContext.Provider, { value: ctx, children });
|
109
|
-
}
|
110
|
-
|
111
|
-
export {
|
112
|
-
RuntimeContext,
|
113
|
-
RuntimeProvider
|
114
|
-
};
|
115
|
-
//# sourceMappingURL=chunk-JSFJKANM.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../src/RuntimeContext.tsx"],"sourcesContent":["import { FxParamDefinition, FxParamType, FxParamsData } from \"types\"\nimport { PropsWithChildren, useMemo, useState } from \"react\"\nimport { createContext } from \"react\"\nimport sha1 from \"sha1\"\nimport { jsonStringifyBigint, sumBytesParams } from \"utils\"\n\nexport type TUpdateStateFn<T> = (data: Partial<T>) => void\n\nexport type TUpdateableState<T> = T & {\n update: TUpdateStateFn<T>\n}\n/**\n * The Runtime Context is responsible for managing the state of a project ran\n * in a frame. It centralizes any source of data to derive the project and\n * facilitate their manipulation from the outside.\n *\n * See comments on IRuntimeContext for more details.\n */\n\nexport type TExecutionContext = \"minting\" | \"standalone\" | \"capture\"\n\nexport interface RuntimeState {\n hash: string\n minter: string\n params: FxParamsData\n iteration: number\n context: TExecutionContext\n}\n\nexport interface RuntimeDefinition {\n params: FxParamDefinition<FxParamType>[] | null\n version: string | null\n}\n\n/**\n * Hashes a runtime state using sha1\n */\nfunction hashRuntimeState(state: RuntimeState): string {\n return sha1(jsonStringifyBigint(state))\n}\n\n/**\n * Hashes the hard-refresh properties of a runtime state:\n * - hash\n * - minter address\n * - params in update mode \"page-reload\"\n */\nfunction hashRuntimeHardState(\n state: RuntimeState,\n definition: FxParamDefinition<FxParamType>[] | null\n): string {\n const staticParams: FxParamsData = {}\n for (const id in state.params) {\n const def = definition?.find(def => def.id === id)\n // if no definition, or update == \"page-reload\" (which is default value)\n if (!def || !def.update || def.update === \"page-reload\") {\n staticParams[id] = state.params[id]\n }\n }\n return hashRuntimeState({\n ...state,\n params: staticParams,\n })\n}\n\nexport interface IRuntimeContext {\n // the base state of the runtime\n state: TUpdateableState<RuntimeState>\n // definitions, used to manipulate the state\n definition: TUpdateableState<RuntimeDefinition>\n // extra details derived from the state & definition\n details: {\n paramsByteSize: number\n stateHash: {\n soft: string\n hard: string\n }\n }\n}\n\nconst defaultRuntimeContext: IRuntimeContext = {\n state: {\n hash: \"\",\n minter: \"\",\n params: {},\n update: () => {},\n iteration: 1,\n context: \"standalone\",\n },\n definition: {\n params: null,\n version: null,\n update: () => {},\n },\n details: {\n paramsByteSize: 0,\n stateHash: {\n soft: \"\",\n hard: \"\",\n },\n },\n}\n\nexport const RuntimeContext = createContext(defaultRuntimeContext)\n\ntype Props = PropsWithChildren<any>\nexport function RuntimeProvider({ children }: Props) {\n const [state, setState] = useState<RuntimeState>({\n hash: \"\",\n minter: \"\",\n params: {},\n iteration: 1,\n context:\n (new URLSearchParams(window.location.search).get(\n \"fxcontext\"\n ) as TExecutionContext) || \"standalone\",\n })\n const [definition, setDefinition] = useState<RuntimeDefinition>({\n params: null,\n version: null,\n })\n\n const update: TUpdateStateFn<RuntimeState> = data => {\n setState(lastState => ({\n ...lastState,\n ...data,\n }))\n }\n\n const updateDefinition: TUpdateStateFn<RuntimeDefinition> = data => {\n setDefinition(lastDefinition => ({\n ...lastDefinition,\n ...data,\n }))\n }\n\n // enhance each param definition with the version (useful for serialization)\n const definitionEnhanced = useMemo(\n () => ({\n ...definition,\n params:\n definition.params?.map((p: FxParamDefinition<FxParamType>) => ({\n ...p,\n version: definition.version || \"0\",\n })) || null,\n }),\n [definition]\n )\n\n const ctx: IRuntimeContext = {\n state: {\n ...state,\n update,\n },\n definition: {\n ...definitionEnhanced,\n update: updateDefinition,\n },\n details: useMemo(\n () => ({\n paramsByteSize: sumBytesParams(definition.params || []),\n stateHash: {\n soft: hashRuntimeState(state),\n hard: hashRuntimeHardState(state, definition.params),\n },\n }),\n [state, definition.params]\n ),\n }\n\n return (\n <RuntimeContext.Provider value={ctx}>{children}</RuntimeContext.Provider>\n )\n}\n"],"mappings":";;;;;;AACA,SAA4B,SAAS,gBAAgB;AACrD,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AAwKb;AAtIJ,SAAS,iBAAiB,OAA6B;AACrD,SAAO,KAAK,oBAAoB,KAAK,CAAC;AACxC;AAQA,SAAS,qBACP,OACA,YACQ;AACR,QAAM,eAA6B,CAAC;AACpC,aAAW,MAAM,MAAM,QAAQ;AAC7B,UAAM,MAAM,YAAY,KAAK,CAAAA,SAAOA,KAAI,OAAO,EAAE;AAEjD,QAAI,CAAC,OAAO,CAAC,IAAI,UAAU,IAAI,WAAW,eAAe;AACvD,mBAAa,EAAE,IAAI,MAAM,OAAO,EAAE;AAAA,IACpC;AAAA,EACF;AACA,SAAO,iBAAiB;AAAA,IACtB,GAAG;AAAA,IACH,QAAQ;AAAA,EACV,CAAC;AACH;AAiBA,IAAM,wBAAyC;AAAA,EAC7C,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ,CAAC;AAAA,IACT,QAAQ,MAAM;AAAA,IAAC;AAAA,IACf,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ,MAAM;AAAA,IAAC;AAAA,EACjB;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,IAChB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEO,IAAM,iBAAiB,cAAc,qBAAqB;AAG1D,SAAS,gBAAgB,EAAE,SAAS,GAAU;AACnD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB;AAAA,IAC/C,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ,CAAC;AAAA,IACT,WAAW;AAAA,IACX,SACG,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE;AAAA,MAC3C;AAAA,IACF,KAA2B;AAAA,EAC/B,CAAC;AACD,QAAM,CAAC,YAAY,aAAa,IAAI,SAA4B;AAAA,IAC9D,QAAQ;AAAA,IACR,SAAS;AAAA,EACX,CAAC;AAED,QAAM,SAAuC,UAAQ;AACnD,aAAS,gBAAc;AAAA,MACrB,GAAG;AAAA,MACH,GAAG;AAAA,IACL,EAAE;AAAA,EACJ;AAEA,QAAM,mBAAsD,UAAQ;AAClE,kBAAc,qBAAmB;AAAA,MAC/B,GAAG;AAAA,MACH,GAAG;AAAA,IACL,EAAE;AAAA,EACJ;AAGA,QAAM,qBAAqB;AAAA,IACzB,OAAO;AAAA,MACL,GAAG;AAAA,MACH,QACE,WAAW,QAAQ,IAAI,CAAC,OAAuC;AAAA,QAC7D,GAAG;AAAA,QACH,SAAS,WAAW,WAAW;AAAA,MACjC,EAAE,KAAK;AAAA,IACX;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AAEA,QAAM,MAAuB;AAAA,IAC3B,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,QACL,gBAAgB,eAAe,WAAW,UAAU,CAAC,CAAC;AAAA,QACtD,WAAW;AAAA,UACT,MAAM,iBAAiB,KAAK;AAAA,UAC5B,MAAM,qBAAqB,OAAO,WAAW,MAAM;AAAA,QACrD;AAAA,MACF;AAAA,MACA,CAAC,OAAO,WAAW,MAAM;AAAA,IAC3B;AAAA,EACF;AAEA,SACE,oBAAC,eAAe,UAAf,EAAwB,OAAO,KAAM,UAAS;AAEnD;","names":["def"]}
|
package/dist/chunk-K22KNCGR.cjs
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
2
|
-
|
3
|
-
var _chunkM7HJ2CKMcjs = require('./chunk-M7HJ2CKM.cjs');
|
4
|
-
|
5
|
-
// src/Controller/String.tsx
|
6
|
-
var _jsxruntime = require('react/jsx-runtime');
|
7
|
-
function StringController(props) {
|
8
|
-
const { options } = props;
|
9
|
-
const minLength = Number(_optionalChain([options, 'optionalAccess', _ => _.minLength])) || 0;
|
10
|
-
const maxLength = Number(_optionalChain([options, 'optionalAccess', _2 => _2.maxLength])) || 64;
|
11
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
12
|
-
_chunkM7HJ2CKMcjs.HTMLInputController,
|
13
|
-
{
|
14
|
-
type: "text",
|
15
|
-
inputProps: { minLength, maxLength },
|
16
|
-
...props
|
17
|
-
}
|
18
|
-
);
|
19
|
-
}
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
exports.StringController = StringController;
|
24
|
-
//# sourceMappingURL=chunk-K22KNCGR.cjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../src/Controller/String.tsx"],"names":[],"mappings":";;;;;AAQI;AANG,SAAS,iBAAiB,OAAyC;AACxE,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,YAAY,OAAO,SAAS,SAAS,KAAK;AAChD,QAAM,YAAY,OAAO,SAAS,SAAS,KAAK;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,YAAY,EAAE,WAAW,UAAU;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ","sourcesContent":["import { FxParamControllerProps, HTMLInputController } from \"./Controller\"\n\nexport function StringController(props: FxParamControllerProps<\"string\">) {\n const { options } = props\n const minLength = Number(options?.minLength) || 0\n const maxLength = Number(options?.maxLength) || 64\n\n return (\n <HTMLInputController\n type=\"text\"\n inputProps={{ minLength, maxLength }}\n {...props}\n />\n )\n}\n"]}
|
package/dist/chunk-K6UPSPM5.cjs
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
2
|
-
|
3
|
-
|
4
|
-
var _chunkLVN3UGUHcjs = require('./chunk-LVN3UGUH.cjs');
|
5
|
-
|
6
|
-
// src/RuntimeContext.tsx
|
7
|
-
var _react = require('react');
|
8
|
-
|
9
|
-
var _sha1 = require('sha1'); var _sha12 = _interopRequireDefault(_sha1);
|
10
|
-
var _jsxruntime = require('react/jsx-runtime');
|
11
|
-
function hashRuntimeState(state) {
|
12
|
-
return _sha12.default.call(void 0, _chunkLVN3UGUHcjs.jsonStringifyBigint.call(void 0, state));
|
13
|
-
}
|
14
|
-
function hashRuntimeHardState(state, definition) {
|
15
|
-
const staticParams = {};
|
16
|
-
for (const id in state.params) {
|
17
|
-
const def = _optionalChain([definition, 'optionalAccess', _ => _.find, 'call', _2 => _2((def2) => def2.id === id)]);
|
18
|
-
if (!def || !def.update || def.update === "page-reload") {
|
19
|
-
staticParams[id] = state.params[id];
|
20
|
-
}
|
21
|
-
}
|
22
|
-
return hashRuntimeState({
|
23
|
-
...state,
|
24
|
-
params: staticParams
|
25
|
-
});
|
26
|
-
}
|
27
|
-
var defaultRuntimeContext = {
|
28
|
-
state: {
|
29
|
-
hash: "",
|
30
|
-
minter: "",
|
31
|
-
params: {},
|
32
|
-
update: () => {
|
33
|
-
},
|
34
|
-
iteration: 1,
|
35
|
-
context: "standalone"
|
36
|
-
},
|
37
|
-
definition: {
|
38
|
-
params: null,
|
39
|
-
version: null,
|
40
|
-
update: () => {
|
41
|
-
}
|
42
|
-
},
|
43
|
-
details: {
|
44
|
-
paramsByteSize: 0,
|
45
|
-
stateHash: {
|
46
|
-
soft: "",
|
47
|
-
hard: ""
|
48
|
-
}
|
49
|
-
}
|
50
|
-
};
|
51
|
-
var RuntimeContext = _react.createContext.call(void 0, defaultRuntimeContext);
|
52
|
-
function RuntimeProvider({ children }) {
|
53
|
-
const [state, setState] = _react.useState.call(void 0, {
|
54
|
-
hash: "",
|
55
|
-
minter: "",
|
56
|
-
params: {},
|
57
|
-
iteration: 1,
|
58
|
-
context: new URLSearchParams(window.location.search).get(
|
59
|
-
"fxcontext"
|
60
|
-
) || "standalone"
|
61
|
-
});
|
62
|
-
const [definition, setDefinition] = _react.useState.call(void 0, {
|
63
|
-
params: null,
|
64
|
-
version: null
|
65
|
-
});
|
66
|
-
const update = (data) => {
|
67
|
-
setState((lastState) => ({
|
68
|
-
...lastState,
|
69
|
-
...data
|
70
|
-
}));
|
71
|
-
};
|
72
|
-
const updateDefinition = (data) => {
|
73
|
-
setDefinition((lastDefinition) => ({
|
74
|
-
...lastDefinition,
|
75
|
-
...data
|
76
|
-
}));
|
77
|
-
};
|
78
|
-
const definitionEnhanced = _react.useMemo.call(void 0,
|
79
|
-
() => ({
|
80
|
-
...definition,
|
81
|
-
params: _optionalChain([definition, 'access', _3 => _3.params, 'optionalAccess', _4 => _4.map, 'call', _5 => _5((p) => ({
|
82
|
-
...p,
|
83
|
-
version: definition.version || "0"
|
84
|
-
}))]) || null
|
85
|
-
}),
|
86
|
-
[definition]
|
87
|
-
);
|
88
|
-
const ctx = {
|
89
|
-
state: {
|
90
|
-
...state,
|
91
|
-
update
|
92
|
-
},
|
93
|
-
definition: {
|
94
|
-
...definitionEnhanced,
|
95
|
-
update: updateDefinition
|
96
|
-
},
|
97
|
-
details: _react.useMemo.call(void 0,
|
98
|
-
() => ({
|
99
|
-
paramsByteSize: _chunkLVN3UGUHcjs.sumBytesParams.call(void 0, definition.params || []),
|
100
|
-
stateHash: {
|
101
|
-
soft: hashRuntimeState(state),
|
102
|
-
hard: hashRuntimeHardState(state, definition.params)
|
103
|
-
}
|
104
|
-
}),
|
105
|
-
[state, definition.params]
|
106
|
-
)
|
107
|
-
};
|
108
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RuntimeContext.Provider, { value: ctx, children });
|
109
|
-
}
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
exports.RuntimeContext = RuntimeContext; exports.RuntimeProvider = RuntimeProvider;
|
115
|
-
//# sourceMappingURL=chunk-K6UPSPM5.cjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../src/RuntimeContext.tsx"],"names":["def"],"mappings":";;;;;;AACA,SAA4B,SAAS,gBAAgB;AACrD,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AAwKb;AAtIJ,SAAS,iBAAiB,OAA6B;AACrD,SAAO,KAAK,oBAAoB,KAAK,CAAC;AACxC;AAQA,SAAS,qBACP,OACA,YACQ;AACR,QAAM,eAA6B,CAAC;AACpC,aAAW,MAAM,MAAM,QAAQ;AAC7B,UAAM,MAAM,YAAY,KAAK,CAAAA,SAAOA,KAAI,OAAO,EAAE;AAEjD,QAAI,CAAC,OAAO,CAAC,IAAI,UAAU,IAAI,WAAW,eAAe;AACvD,mBAAa,EAAE,IAAI,MAAM,OAAO,EAAE;AAAA,IACpC;AAAA,EACF;AACA,SAAO,iBAAiB;AAAA,IACtB,GAAG;AAAA,IACH,QAAQ;AAAA,EACV,CAAC;AACH;AAiBA,IAAM,wBAAyC;AAAA,EAC7C,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ,CAAC;AAAA,IACT,QAAQ,MAAM;AAAA,IAAC;AAAA,IACf,WAAW;AAAA,IACX,SAAS;AAAA,EACX;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ,MAAM;AAAA,IAAC;AAAA,EACjB;AAAA,EACA,SAAS;AAAA,IACP,gBAAgB;AAAA,IAChB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEO,IAAM,iBAAiB,cAAc,qBAAqB;AAG1D,SAAS,gBAAgB,EAAE,SAAS,GAAU;AACnD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB;AAAA,IAC/C,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ,CAAC;AAAA,IACT,WAAW;AAAA,IACX,SACG,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE;AAAA,MAC3C;AAAA,IACF,KAA2B;AAAA,EAC/B,CAAC;AACD,QAAM,CAAC,YAAY,aAAa,IAAI,SAA4B;AAAA,IAC9D,QAAQ;AAAA,IACR,SAAS;AAAA,EACX,CAAC;AAED,QAAM,SAAuC,UAAQ;AACnD,aAAS,gBAAc;AAAA,MACrB,GAAG;AAAA,MACH,GAAG;AAAA,IACL,EAAE;AAAA,EACJ;AAEA,QAAM,mBAAsD,UAAQ;AAClE,kBAAc,qBAAmB;AAAA,MAC/B,GAAG;AAAA,MACH,GAAG;AAAA,IACL,EAAE;AAAA,EACJ;AAGA,QAAM,qBAAqB;AAAA,IACzB,OAAO;AAAA,MACL,GAAG;AAAA,MACH,QACE,WAAW,QAAQ,IAAI,CAAC,OAAuC;AAAA,QAC7D,GAAG;AAAA,QACH,SAAS,WAAW,WAAW;AAAA,MACjC,EAAE,KAAK;AAAA,IACX;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AAEA,QAAM,MAAuB;AAAA,IAC3B,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,QACL,gBAAgB,eAAe,WAAW,UAAU,CAAC,CAAC;AAAA,QACtD,WAAW;AAAA,UACT,MAAM,iBAAiB,KAAK;AAAA,UAC5B,MAAM,qBAAqB,OAAO,WAAW,MAAM;AAAA,QACrD;AAAA,MACF;AAAA,MACA,CAAC,OAAO,WAAW,MAAM;AAAA,IAC3B;AAAA,EACF;AAEA,SACE,oBAAC,eAAe,UAAf,EAAwB,OAAO,KAAM,UAAS;AAEnD","sourcesContent":["import { FxParamDefinition, FxParamType, FxParamsData } from \"types\"\nimport { PropsWithChildren, useMemo, useState } from \"react\"\nimport { createContext } from \"react\"\nimport sha1 from \"sha1\"\nimport { jsonStringifyBigint, sumBytesParams } from \"utils\"\n\nexport type TUpdateStateFn<T> = (data: Partial<T>) => void\n\nexport type TUpdateableState<T> = T & {\n update: TUpdateStateFn<T>\n}\n/**\n * The Runtime Context is responsible for managing the state of a project ran\n * in a frame. It centralizes any source of data to derive the project and\n * facilitate their manipulation from the outside.\n *\n * See comments on IRuntimeContext for more details.\n */\n\nexport type TExecutionContext = \"minting\" | \"standalone\" | \"capture\"\n\nexport interface RuntimeState {\n hash: string\n minter: string\n params: FxParamsData\n iteration: number\n context: TExecutionContext\n}\n\nexport interface RuntimeDefinition {\n params: FxParamDefinition<FxParamType>[] | null\n version: string | null\n}\n\n/**\n * Hashes a runtime state using sha1\n */\nfunction hashRuntimeState(state: RuntimeState): string {\n return sha1(jsonStringifyBigint(state))\n}\n\n/**\n * Hashes the hard-refresh properties of a runtime state:\n * - hash\n * - minter address\n * - params in update mode \"page-reload\"\n */\nfunction hashRuntimeHardState(\n state: RuntimeState,\n definition: FxParamDefinition<FxParamType>[] | null\n): string {\n const staticParams: FxParamsData = {}\n for (const id in state.params) {\n const def = definition?.find(def => def.id === id)\n // if no definition, or update == \"page-reload\" (which is default value)\n if (!def || !def.update || def.update === \"page-reload\") {\n staticParams[id] = state.params[id]\n }\n }\n return hashRuntimeState({\n ...state,\n params: staticParams,\n })\n}\n\nexport interface IRuntimeContext {\n // the base state of the runtime\n state: TUpdateableState<RuntimeState>\n // definitions, used to manipulate the state\n definition: TUpdateableState<RuntimeDefinition>\n // extra details derived from the state & definition\n details: {\n paramsByteSize: number\n stateHash: {\n soft: string\n hard: string\n }\n }\n}\n\nconst defaultRuntimeContext: IRuntimeContext = {\n state: {\n hash: \"\",\n minter: \"\",\n params: {},\n update: () => {},\n iteration: 1,\n context: \"standalone\",\n },\n definition: {\n params: null,\n version: null,\n update: () => {},\n },\n details: {\n paramsByteSize: 0,\n stateHash: {\n soft: \"\",\n hard: \"\",\n },\n },\n}\n\nexport const RuntimeContext = createContext(defaultRuntimeContext)\n\ntype Props = PropsWithChildren<any>\nexport function RuntimeProvider({ children }: Props) {\n const [state, setState] = useState<RuntimeState>({\n hash: \"\",\n minter: \"\",\n params: {},\n iteration: 1,\n context:\n (new URLSearchParams(window.location.search).get(\n \"fxcontext\"\n ) as TExecutionContext) || \"standalone\",\n })\n const [definition, setDefinition] = useState<RuntimeDefinition>({\n params: null,\n version: null,\n })\n\n const update: TUpdateStateFn<RuntimeState> = data => {\n setState(lastState => ({\n ...lastState,\n ...data,\n }))\n }\n\n const updateDefinition: TUpdateStateFn<RuntimeDefinition> = data => {\n setDefinition(lastDefinition => ({\n ...lastDefinition,\n ...data,\n }))\n }\n\n // enhance each param definition with the version (useful for serialization)\n const definitionEnhanced = useMemo(\n () => ({\n ...definition,\n params:\n definition.params?.map((p: FxParamDefinition<FxParamType>) => ({\n ...p,\n version: definition.version || \"0\",\n })) || null,\n }),\n [definition]\n )\n\n const ctx: IRuntimeContext = {\n state: {\n ...state,\n update,\n },\n definition: {\n ...definitionEnhanced,\n update: updateDefinition,\n },\n details: useMemo(\n () => ({\n paramsByteSize: sumBytesParams(definition.params || []),\n stateHash: {\n soft: hashRuntimeState(state),\n hard: hashRuntimeHardState(state, definition.params),\n },\n }),\n [state, definition.params]\n ),\n }\n\n return (\n <RuntimeContext.Provider value={ctx}>{children}</RuntimeContext.Provider>\n )\n}\n"]}
|
package/dist/chunk-LTIGECX6.cjs
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
2
|
-
|
3
|
-
|
4
|
-
var _chunkM7HJ2CKMcjs = require('./chunk-M7HJ2CKM.cjs');
|
5
|
-
|
6
|
-
// src/Controller/Number.tsx
|
7
|
-
var _react = require('react');
|
8
|
-
var _jsxruntime = require('react/jsx-runtime');
|
9
|
-
function NumberController(props) {
|
10
|
-
const { options, value, inputProps } = props;
|
11
|
-
const min = _react.useMemo.call(void 0, () => {
|
12
|
-
if (typeof _optionalChain([options, 'optionalAccess', _ => _.min]) === "undefined")
|
13
|
-
return Number.MIN_SAFE_INTEGER;
|
14
|
-
return options.min;
|
15
|
-
}, [_optionalChain([options, 'optionalAccess', _2 => _2.min])]);
|
16
|
-
const max = _react.useMemo.call(void 0, () => {
|
17
|
-
if (typeof _optionalChain([options, 'optionalAccess', _3 => _3.max]) === "undefined")
|
18
|
-
return Number.MAX_SAFE_INTEGER;
|
19
|
-
return options.max;
|
20
|
-
}, [_optionalChain([options, 'optionalAccess', _4 => _4.max])]);
|
21
|
-
const step = _optionalChain([options, 'optionalAccess', _5 => _5.step]) || 1;
|
22
|
-
const stringValue = `${value}`;
|
23
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
24
|
-
_chunkM7HJ2CKMcjs.HTMLInputControllerWithTextInput,
|
25
|
-
{
|
26
|
-
type: "range",
|
27
|
-
inputProps: { min, max, step },
|
28
|
-
textInputProps: {
|
29
|
-
type: "number",
|
30
|
-
min,
|
31
|
-
max,
|
32
|
-
step,
|
33
|
-
className: _chunkM7HJ2CKMcjs.Controller_module_default.numberInput
|
34
|
-
},
|
35
|
-
...props,
|
36
|
-
value: stringValue
|
37
|
-
}
|
38
|
-
);
|
39
|
-
}
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
exports.NumberController = NumberController;
|
44
|
-
//# sourceMappingURL=chunk-LTIGECX6.cjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../src/Controller/Number.tsx"],"names":[],"mappings":";;;;;;AAKA,SAAS,eAAe;AAepB;AAbG,SAAS,iBAAiB,OAAyC;AACxE,QAAM,EAAE,SAAS,OAAO,WAAW,IAAI;AACvC,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI,OAAO,SAAS,QAAQ;AAAa,aAAO,OAAO;AACvD,WAAO,QAAQ;AAAA,EACjB,GAAG,CAAC,SAAS,GAAG,CAAC;AACjB,QAAM,MAAM,QAAQ,MAAM;AACxB,QAAI,OAAO,SAAS,QAAQ;AAAa,aAAO,OAAO;AACvD,WAAO,QAAQ;AAAA,EACjB,GAAG,CAAC,SAAS,GAAG,CAAC;AACjB,QAAM,OAAO,SAAS,QAAQ;AAC9B,QAAM,cAAc,GAAG;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,YAAY,EAAE,KAAK,KAAK,KAAK;AAAA,MAC7B,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,0BAAQ;AAAA,MACrB;AAAA,MACC,GAAG;AAAA,MACJ,OAAO;AAAA;AAAA,EACT;AAEJ","sourcesContent":["import {\n FxParamControllerProps,\n HTMLInputControllerWithTextInput,\n} from \"./Controller\"\nimport classes from \"./Controller.module.scss\"\nimport { useMemo } from \"react\"\n\nexport function NumberController(props: FxParamControllerProps<\"number\">) {\n const { options, value, inputProps } = props\n const min = useMemo(() => {\n if (typeof options?.min === \"undefined\") return Number.MIN_SAFE_INTEGER\n return options.min\n }, [options?.min])\n const max = useMemo(() => {\n if (typeof options?.max === \"undefined\") return Number.MAX_SAFE_INTEGER\n return options.max\n }, [options?.max])\n const step = options?.step || 1\n const stringValue = `${value}`\n return (\n <HTMLInputControllerWithTextInput\n type=\"range\"\n inputProps={{ min, max, step }}\n textInputProps={{\n type: \"number\",\n min,\n max,\n step,\n className: classes.numberInput,\n }}\n {...props}\n value={stringValue}\n />\n )\n}\n"]}
|