You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.5 KiB
						
					
					
				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; |