| import * as encoder from "./encoder"; | 
| export function encodeNode(n) { | 
|   switch (n.type) { | 
|     case "ModuleImport": | 
|       // $FlowIgnore: ModuleImport ensure that the node is well formated | 
|       return encoder.encodeModuleImport(n); | 
|   | 
|     case "SectionMetadata": | 
|       // $FlowIgnore: SectionMetadata ensure that the node is well formated | 
|       return encoder.encodeSectionMetadata(n); | 
|   | 
|     case "CallInstruction": | 
|       // $FlowIgnore: SectionMetadata ensure that the node is well formated | 
|       return encoder.encodeCallInstruction(n); | 
|   | 
|     case "CallIndirectInstruction": | 
|       // $FlowIgnore: SectionMetadata ensure that the node is well formated | 
|       return encoder.encodeCallIndirectInstruction(n); | 
|   | 
|     case "TypeInstruction": | 
|       return encoder.encodeTypeInstruction(n); | 
|   | 
|     case "Instr": | 
|       // $FlowIgnore | 
|       return encoder.encodeInstr(n); | 
|   | 
|     case "ModuleExport": | 
|       // $FlowIgnore: SectionMetadata ensure that the node is well formated | 
|       return encoder.encodeModuleExport(n); | 
|   | 
|     case "Global": | 
|       // $FlowIgnore | 
|       return encoder.encodeGlobal(n); | 
|   | 
|     case "Func": | 
|       return encoder.encodeFuncBody(n); | 
|   | 
|     case "IndexInFuncSection": | 
|       return encoder.encodeIndexInFuncSection(n); | 
|   | 
|     case "StringLiteral": | 
|       return encoder.encodeStringLiteral(n); | 
|   | 
|     case "Elem": | 
|       return encoder.encodeElem(n); | 
|   | 
|     default: | 
|       throw new Error("Unsupported encoding for node of type: " + JSON.stringify(n.type)); | 
|   } | 
| } | 
| export var encodeU32 = encoder.encodeU32; |