Skip to content

Commit dc0a828

Browse files
committed
fix: revision for ckb-devrel#210
1 parent b0336c1 commit dc0a828

16 files changed

+245
-376
lines changed

packages/demo/src/app/utils/(tools)/Molecule/Molecule.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import { Textarea } from "@/src/components/Textarea";
1010
import { Button } from "@/src/components/Button";
1111

1212
type Props = {
13-
updateCodecMap: (token: any) => void;
13+
updateCodecDefinitions: (token: any) => void;
1414
};
1515

16-
export const MoleculeParser: React.FC<Props> = ({ updateCodecMap }) => {
16+
export const MoleculeParser: React.FC<Props> = ({ updateCodecDefinitions }) => {
1717
const [inputMol, setInputMol] = useState(() => {
1818
if (typeof window !== "undefined") {
1919
return localStorage.getItem("cachedMol") || "";
@@ -27,25 +27,25 @@ export const MoleculeParser: React.FC<Props> = ({ updateCodecMap }) => {
2727
const handleConfirm = useCallback(() => {
2828
try {
2929
// get user input schema, and append with primitive schema
30-
const userCodecMap = ccc.molecule.getCodecMapFromMol(
30+
const userCodecDefinitions = ccc.molecule.parseMolecule(
3131
inputMol + blockchainSchema,
3232
{
33-
refs: builtinCodecs,
33+
extraReferences: builtinCodecs,
3434
},
3535
);
36-
const codecMap = mergeBuiltinCodecs(userCodecMap);
36+
const CodecDefinitions = mergeBuiltinCodecs(userCodecDefinitions);
3737
setParseSuccess(true);
38-
updateCodecMap(codecMap);
38+
updateCodecDefinitions(CodecDefinitions);
3939
log("Successfully parsed schema");
4040
if (typeof window !== "undefined") {
4141
localStorage.setItem("cachedMol", inputMol);
4242
}
4343
} catch (error: any) {
4444
setParseSuccess(false);
45-
updateCodecMap({});
45+
updateCodecDefinitions({});
4646
error(error.message);
4747
}
48-
}, [inputMol, log, updateCodecMap]);
48+
}, [inputMol, log, updateCodecDefinitions]);
4949

5050
return (
5151
<div style={{ marginBottom: 16 }}>

packages/demo/src/app/utils/(tools)/Molecule/SchemaSelect.tsx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,36 @@ import { ccc } from "@ckb-ccc/connector-react";
33
import { Dropdown } from "@/src/components/Dropdown";
44

55
type Props = {
6-
codecMap: ccc.molecule.CodecMap;
6+
CodecDefinitions: ccc.molecule.CodecDefinitions;
77
selectedCodecName: string;
88
onSelectCodec: (name: string) => void;
99
mode: "decode" | "encode";
1010
onSelectMode: (mode: "decode" | "encode") => void;
1111
};
1212

1313
const createCodecOptionsFromMap = (
14-
codecMap: ccc.molecule.CodecMap,
14+
CodecDefinitions: ccc.molecule.CodecDefinitions,
1515
): string[] => {
16-
return Object.keys(codecMap);
16+
return Object.keys(CodecDefinitions);
1717
};
1818

1919
export const SchemaSelect: React.FC<Props> = ({
2020
onSelectCodec,
2121
selectedCodecName,
22-
codecMap,
22+
CodecDefinitions,
2323
mode,
2424
onSelectMode,
2525
}) => {
2626
const handleChange = (newValue: string | null) => {
2727
onSelectCodec(newValue as string);
2828
};
29-
const schemaOptions = createCodecOptionsFromMap(codecMap).map((schema) => ({
30-
name: schema,
31-
displayName: schema,
32-
iconName: "Hash" as const,
33-
}));
29+
const schemaOptions = createCodecOptionsFromMap(CodecDefinitions).map(
30+
(schema) => ({
31+
name: schema,
32+
displayName: schema,
33+
iconName: "Hash" as const,
34+
}),
35+
);
3436

3537
return (
3638
<div className="flex flex-row items-center gap-4">

packages/demo/src/app/utils/(tools)/Molecule/constants.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ccc } from "@ckb-ccc/connector-react";
33
/**
44
* built-in re-writable codecs
55
*/
6-
export const builtinCodecs: ccc.molecule.CodecMap = {
6+
export const builtinCodecs: ccc.molecule.CodecDefinitions = {
77
Uint8: ccc.mol.Uint8,
88
Uint16: ccc.mol.Uint16,
99
Uint32: ccc.mol.Uint32,
@@ -26,8 +26,8 @@ export const builtinCodecs: ccc.molecule.CodecMap = {
2626
* @param userTokens
2727
*/
2828
export const mergeBuiltinCodecs = (
29-
userCodecs: ccc.molecule.CodecMap,
30-
): ccc.molecule.CodecMap => {
29+
userCodecs: ccc.molecule.CodecDefinitions,
30+
): ccc.molecule.CodecDefinitions => {
3131
return { ...userCodecs, ...builtinCodecs };
3232
};
3333

packages/demo/src/app/utils/(tools)/Molecule/page.tsx

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,16 @@ export default function Molecule() {
1818
const { createSender } = useApp();
1919
const { log } = createSender("Molecule");
2020

21-
const [codecMap, setCodecMap] = useState<ccc.molecule.CodecMap>({});
21+
const [CodecDefinitions, setCodecDefinitions] =
22+
useState<ccc.molecule.CodecDefinitions>({});
2223
const [selectedCodecName, setSelectedCodecName] = useState<string>("");
2324
const [mode, setMode] = useState<"decode" | "encode">("decode");
24-
const handleCodecMap = useCallback(
25-
(codecMap: ccc.molecule.CodecMap) => {
26-
setCodecMap(codecMap);
27-
setSelectedCodecName(Object.keys(codecMap)[0]);
25+
const handleCodecDefinitions = useCallback(
26+
(CodecDefinitions: ccc.molecule.CodecDefinitions) => {
27+
setCodecDefinitions(CodecDefinitions);
28+
setSelectedCodecName(Object.keys(CodecDefinitions)[0]);
2829
},
29-
[setCodecMap, setSelectedCodecName],
30+
[setCodecDefinitions, setSelectedCodecName],
3031
);
3132

3233
const handleSelectCodec = (name: string) => {
@@ -40,30 +41,30 @@ export default function Molecule() {
4041
cachedMol = "";
4142
}
4243

43-
const userCodecMap = ccc.molecule.getCodecMapFromMol(
44+
const userCodecDefinitions = ccc.molecule.parseMolecule(
4445
cachedMol + blockchainSchema,
4546
{
46-
refs: builtinCodecs,
47+
extraReferences: builtinCodecs,
4748
},
4849
);
49-
const codecMap = mergeBuiltinCodecs(userCodecMap);
50-
handleCodecMap(codecMap);
51-
}, [handleCodecMap]);
50+
const CodecDefinitions = mergeBuiltinCodecs(userCodecDefinitions);
51+
handleCodecDefinitions(CodecDefinitions);
52+
}, [handleCodecDefinitions]);
5253

5354
return (
5455
<div className="flex w-full flex-col items-stretch">
55-
<MoleculeParser updateCodecMap={handleCodecMap} />
56-
{Object.keys(codecMap).length > 0 && (
56+
<MoleculeParser updateCodecDefinitions={handleCodecDefinitions} />
57+
{Object.keys(CodecDefinitions).length > 0 && (
5758
<SchemaSelect
5859
selectedCodecName={selectedCodecName}
59-
codecMap={codecMap}
60+
CodecDefinitions={CodecDefinitions}
6061
onSelectCodec={handleSelectCodec}
6162
mode={mode}
6263
onSelectMode={setMode}
6364
/>
6465
)}
65-
{Object.keys(codecMap).length > 0 && selectedCodecName !== "" && (
66-
<DataInput codec={codecMap[selectedCodecName]} mode={mode} />
66+
{Object.keys(CodecDefinitions).length > 0 && selectedCodecName !== "" && (
67+
<DataInput codec={CodecDefinitions[selectedCodecName]} mode={mode} />
6768
)}
6869
</div>
6970
);

packages/molecule/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
Fully enabling CKB's Turing completeness and cryptographic freedom power.
3737
</p>
3838

39-
Get `CodecMap` from Molecule schema.
39+
Get `CodecDefinitions` from Molecule schema.
4040

4141
<h3 align="center">
4242
Read more about CCC on <a href="https://docs.ckbccc.com">our website</a> or <a href="https://github.com/ckb-devrel/ccc">GitHub Repo</a>.

packages/molecule/jest.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@ module.exports = {
1111
{ tsconfig: "tsconfig.json" },
1212
],
1313
},
14+
moduleNameMapper: {
15+
"^(\\.{1,2}/.*)\\.js$": "$1", // strip .js extension for imports
16+
},
1417
};

packages/molecule/src/barrel.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
export * from "./molecule";
2-
export * from "./type";
1+
export * from "./molecule.js";
2+
export * from "./type.js";

0 commit comments

Comments
 (0)