Best JavaScript code snippet using wpt
wasm-module-builder.js
Source:wasm-module-builder.js
...8 emit_u16(val) {9 this.push(val & 0xff);10 this.push((val >> 8) & 0xff);11 }12 emit_u32(val) {13 this.push(val & 0xff);14 this.push((val >> 8) & 0xff);15 this.push((val >> 16) & 0xff);16 this.push((val >> 24) & 0xff);17 }18 emit_varint(val) {19 while (true) {20 let v = val & 0xff;21 val = val >>> 7;22 if (val == 0) {23 this.push(v);24 break;25 }26 this.push(v | 0x80);27 }28 }29 emit_bytes(data) {30 for (let i = 0; i < data.length; i++) {31 this.push(data[i] & 0xff);32 }33 }34 emit_string(string) {35 // When testing illegal names, we pass a byte array directly.36 if (string instanceof Array) {37 this.emit_varint(string.length);38 this.emit_bytes(string);39 return;40 }41 // This is the hacky way to convert a JavaScript string to a UTF8 encoded42 // string only containing single-byte characters.43 let string_utf8 = unescape(encodeURIComponent(string));44 this.emit_varint(string_utf8.length);45 for (let i = 0; i < string_utf8.length; i++) {46 this.emit_u8(string_utf8.charCodeAt(i));47 }48 }49 emit_header() {50 this.push(kWasmH0, kWasmH1, kWasmH2, kWasmH3,51 kWasmV0, kWasmV1, kWasmV2, kWasmV3);52 }53 emit_section(section_code, content_generator) {54 // Emit section name.55 this.emit_u8(section_code);56 // Emit the section to a temporary buffer: its full length isn't know yet.57 let section = new Binary;58 content_generator(section);59 // Emit section length.60 this.emit_varint(section.length);61 // Copy the temporary buffer.62 this.push(...section);63 }64}65class WasmFunctionBuilder {66 constructor(name, type_index) {67 this.name = name;68 this.type_index = type_index;69 this.exports = [];70 }71 exportAs(name) {72 this.exports.push(name);73 return this;74 }75 exportFunc() {76 this.exports.push(this.name);77 return this;78 }79 addBody(body) {80 this.body = body;81 return this;82 }83 addLocals(locals) {84 this.locals = locals;85 return this;86 }87}88class WasmModuleBuilder {89 constructor() {90 this.types = [];91 this.imports = [];92 this.globals = [];93 this.functions = [];94 this.exports = [];95 this.table = [];96 this.segments = [];97 this.explicit = [];98 this.pad = null;99 return this;100 }101 addStart(start_index) {102 this.start_index = start_index;103 }104 addMemory(min, max, exp) {105 this.memory = {min: min, max: max, exp: exp};106 return this;107 }108 addPadFunctionTable(size) {109 this.pad = size;110 return this;111 }112 addExplicitSection(bytes) {113 this.explicit.push(bytes);114 return this;115 }116 addType(type) {117 // TODO: canonicalize types?118 this.types.push(type);119 return this.types.length - 1;120 }121 addGlobal(local_type) {122 this.globals.push(local_type);123 return this.globals.length - 1;124 }125 addFunction(name, type) {126 let type_index = (typeof type) == "number" ? type : this.addType(type);127 let func = new WasmFunctionBuilder(name, type_index);128 func.index = this.functions.length + this.imports.length;129 this.functions.push(func);130 return func;131 }132 addImportWithModule(module, name, type) {133 let type_index = (typeof type) == "number" ? type : this.addType(type);134 this.imports.push({module: module, name: name, type: type_index});135 return this.imports.length - 1;136 }137 addImport(name, type) {138 return this.addImportWithModule(name, undefined, type);139 }140 addDataSegment(addr, data, init) {141 this.segments.push({addr: addr, data: data, init: init});142 return this.segments.length - 1;143 }144 appendToTable(array) {145 this.table.push(...array);146 return this;147 }148 toArray(debug) {149 let binary = new Binary;150 let wasm = this;151 // Add header152 binary.emit_header();153 // Add type section154 if (wasm.types.length > 0) {155 if (debug) print("emitting types @ " + binary.length);156 binary.emit_section(kTypeSectionCode, section => {157 section.emit_varint(wasm.types.length);158 for (let type of wasm.types) {159 section.emit_u8(kWasmFunctionTypeForm);160 section.emit_varint(type.params.length);161 for (let param of type.params) {162 section.emit_u8(param);163 }164 section.emit_varint(type.results.length);165 for (let result of type.results) {166 section.emit_u8(result);167 }168 }169 });170 }171 // Add imports section172 if (wasm.imports.length > 0) {173 if (debug) print("emitting imports @ " + binary.length);174 binary.emit_section(kImportSectionCode, section => {175 section.emit_varint(wasm.imports.length);176 for (let imp of wasm.imports) {177 section.emit_string(imp.module);178 section.emit_string(imp.name || '');179 section.emit_u8(kExternalFunction);180 section.emit_varint(imp.type);181 }182 });183 }184 // Add functions declarations185 let has_names = false;186 let names = false;187 let exports = 0;188 if (wasm.functions.length > 0) {189 if (debug) print("emitting function decls @ " + binary.length);190 binary.emit_section(kFunctionSectionCode, section => {191 section.emit_varint(wasm.functions.length);192 for (let func of wasm.functions) {193 has_names = has_names || (func.name != undefined &&194 func.name.length > 0);195 exports += func.exports.length;196 section.emit_varint(func.type_index);197 }198 });199 }200 // Add table.201 if (wasm.table.length > 0) {202 if (debug) print("emitting table @ " + binary.length);203 binary.emit_section(kTableSectionCode, section => {204 section.emit_u8(1); // one table entry205 section.emit_u8(kWasmAnyFunctionTypeForm);206 section.emit_u8(1);207 section.emit_varint(wasm.table.length);208 section.emit_varint(wasm.table.length);209 });210 }211 // Add memory section212 if (wasm.memory != undefined) {213 if (debug) print("emitting memory @ " + binary.length);214 binary.emit_section(kMemorySectionCode, section => {215 section.emit_u8(1); // one memory entry216 section.emit_varint(kResizableMaximumFlag);217 section.emit_varint(wasm.memory.min);218 section.emit_varint(wasm.memory.max);219 });220 }221 // Add global section.222 if (wasm.globals.length > 0) {223 if (debug) print ("emitting globals @ " + binary.length);224 binary.emit_section(kGlobalSectionCode, section => {225 section.emit_varint(wasm.globals.length);226 for (let global_type of wasm.globals) {227 section.emit_u8(global_type);228 section.emit_u8(true); // mutable229 switch (global_type) {230 case kAstI32:231 section.emit_u8(kExprI32Const);232 section.emit_u8(0);233 break;234 case kAstI64:235 section.emit_u8(kExprI64Const);236 section.emit_u8(0);237 break;238 case kAstF32:239 section.emit_u8(kExprF32Const);240 section.emit_u32(0);241 break;242 case kAstF64:243 section.emit_u8(kExprI32Const);244 section.emit_u32(0);245 section.emit_u32(0);246 break;247 }248 section.emit_u8(kExprEnd); // end of init expression249 }250 });251 }252 // Add export table.253 var mem_export = (wasm.memory != undefined && wasm.memory.exp);254 if (exports > 0 || mem_export) {255 if (debug) print("emitting exports @ " + binary.length);256 binary.emit_section(kExportSectionCode, section => {257 section.emit_varint(exports + (mem_export ? 1 : 0));258 for (let func of wasm.functions) {259 for (let exp of func.exports) {...
index.js
Source:index.js
...26{27 const write = new write_t();28 29 write.emit_sz32(spr.src);30 write.emit_u32(spr.img_width);31 write.emit_u32(spr.img_height);32 write.emit_u32(spr.spr_width);33 write.emit_u32(spr.spr_height);34 write.emit_u32(spr.tile_count);35 write.emit_u32(spr.columns);36 37 fs.writeFileSync(spr_path, Buffer.from(write.data()));38}39function tsx_to_spr(tsx_path)40{41 const xml_data = fs.readFileSync(tsx_path);42 43 const options = {44 ignoreAttributes: false,45 attributeNamePrefix: ""46 };47 48 const parser = new XMLParser(options);49 let tsx_spr = parser.parse(xml_data).tileset;...
Using AI Code Generation
1emit_u32(0x00000000);2emit_u32(0x00000001);3emit_u32(0x00000002);4emit_u32(0x00000003);5emit_u32(0x00000004);6emit_u32(0x00000005);7emit_u32(0x00000006);8emit_u32(0x00000007);9emit_u32(0x00000008);10emit_u32(0x00000009);11emit_u32(0x0000000A);12emit_u32(0x0000000B);13emit_u32(0x0000000C);14emit_u32(0x0000000D);15emit_u32(0x0000000E);16emit_u32(0x0000000F);17emit_u32(0x00000010);18emit_u32(0x00000011);19emit_u32(0x00000012);20emit_u32(0x00000013);21emit_u32(0x00000014);22emit_u32(0x00000015);23emit_u32(0x00000016);24emit_u32(0x00000017);25emit_u32(0x00000018);26emit_u32(0x00000019);27emit_u32(0x0000001A);28emit_u32(0x0000001B);29emit_u32(0x0000001C);30emit_u32(0x0000001D);31emit_u32(0x0000001E);32emit_u32(0x0000001F);33emit_u32(0x00000020);34emit_u32(0x00000021);35emit_u32(0x00000022);36emit_u32(0x00000023);37emit_u32(0x00000024);38emit_u32(0x00000025);39emit_u32(0x00000026);40emit_u32(0x00000027);41emit_u32(0x00000028);42emit_u32(0x00000029);43emit_u32(0x0000002A);44emit_u32(0x0000002B);45emit_u32(0x0000002C);46emit_u32(0x0000002D);47emit_u32(0x0000002E);48emit_u32(0x0000002F);
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new wpt();3wpt.emit_u32(0x00000000);4wpt.emit_u32(0x00000001);5wpt.emit_u32(0x00000002);6wpt.emit_u32(0x00000003);7wpt.emit_u32(0x00000004);8wpt.emit_u32(0x00000005);9wpt.emit_u32(0x00000006);10wpt.emit_u32(0x00000007);11wpt.emit_u32(0x00000008);12wpt.emit_u32(0x00000009);13wpt.emit_u32(0x0000000A);14wpt.emit_u32(0x0000000B);15wpt.emit_u32(0x0000000C);16wpt.emit_u32(0x0000000D);17wpt.emit_u32(0x0000000E);18wpt.emit_u32(0x0000000F);19wpt.emit_u32(0x00000010);20wpt.emit_u32(0x00000011);21wpt.emit_u32(0x00000012);22wpt.emit_u32(0x00000013);23wpt.emit_u32(0x00000014);24wpt.emit_u32(0x00000015);25wpt.emit_u32(0x00000016);26wpt.emit_u32(0x00000017);27wpt.emit_u32(0x00000018);28wpt.emit_u32(0x00000019);29wpt.emit_u32(0x0000001A);30wpt.emit_u32(0x0000001B);31wpt.emit_u32(0x0000001C);32wpt.emit_u32(0x0000001D);33wpt.emit_u32(0x0000001E);34wpt.emit_u32(0x0000001F);35wpt.emit_u32(0x00000020);36wpt.emit_u32(0x00000021);37wpt.emit_u32(0x00000022);38wpt.emit_u32(0x00000023);39wpt.emit_u32(0x00000024);40wpt.emit_u32(0x00000025);41wpt.emit_u32(0x00000026);
Using AI Code Generation
1var wpt = require('wpt');2var wpt_obj = new wpt();3wpt_obj.emit_u32(0x12345678);4wpt_obj.emit_u32(0x87654321);5var wpt = require('wpt');6var wpt_obj = new wpt();7var a = wpt_obj.load_u32();8var b = wpt_obj.load_u32();9console.log("a = " + a + " b = " + b);10var wpt = require('wpt');11var wpt_obj = new wpt();12wpt_obj.emit_f32(1.234);13wpt_obj.emit_f32(5.678);14var wpt = require('wpt');15var wpt_obj = new wpt();16var a = wpt_obj.load_f32();17var b = wpt_obj.load_f32();18console.log("a = " + a + " b = " + b);19var wpt = require('wpt');20var wpt_obj = new wpt();21wpt_obj.emit_f64(1.234);22wpt_obj.emit_f64(5.678);23var wpt = require('wpt');24var wpt_obj = new wpt();25var a = wpt_obj.load_f64();26var b = wpt_obj.load_f64();27console.log("a = " + a + " b = " + b);28var wpt = require('wpt');29var wpt_obj = new wpt();30wpt_obj.emit_string("Hello World");31wpt_obj.emit_string("This
Using AI Code Generation
1var wpt = require('wpt');2var wptEmitter = new wpt.WptEmitter();3wptEmitter.emit_u32(0x12345678);4var wpt = require('wpt');5var wptEmitter = new wpt.WptEmitter();6wptEmitter.emit_u64(0x12345678);7var wpt = require('wpt');8var wptEmitter = new wpt.WptEmitter();9wptEmitter.emit_f32(0x12345678);10var wpt = require('wpt');11var wptEmitter = new wpt.WptEmitter();12wptEmitter.emit_f64(0x12345678);13var wpt = require('wpt');14var wptEmitter = new wpt.WptEmitter();15wptEmitter.emit_string("Hello World");16var wpt = require('wpt');17var wptEmitter = new wpt.WptEmitter();18wptEmitter.emit_bytes("Hello World");19var wpt = require('wpt');20var wptEmitter = new wpt.WptEmitter();21wptEmitter.emit_bytes("Hello World");22var wpt = require('wpt');23var wptEmitter = new wpt.WptEmitter();24wptEmitter.emit_bytes("Hello World");25var wpt = require('wpt');26var wptEmitter = new wpt.WptEmitter();27wptEmitter.emit_bytes("Hello World");28var wpt = require('wpt');29var wptEmitter = new wpt.WptEmitter();30wptEmitter.emit_bytes("Hello World");
Using AI Code Generation
1var wpt = require('wiring-pi-node');2wpt.setup('wpi');3wpt.pinMode(pin, wpt.OUTPUT);4var value = 0;5var count = 0;6var interval = setInterval(function() {7 value = value ? 0 : 1;8 wpt.digitalWrite(pin, value);9 wpt.emit_u32(0x12345678);10 count++;11 if (count > 10) {12 clearInterval(interval);13 }14}, 1000);15int main(void) {16 int fd;17 int value = 0;18 int count = 0;19 if (wiringPiSetup() == -1) {20 printf("wiringPiSetup failed");21 return 1;22 }23 fd = wiringPiI2CSetup(0x04);24 while (1) {25 value = value ? 0 : 1;26 wiringPiI2CWriteReg8(fd, 0, value);27 wiringPiI2CWriteReg32(fd, 0x12345678, 0x12345678);28 count++;29 if (count > 10) {30 break;31 }32 delay(1000);33 }34 return 0;35}36import (37func main() {38 wpt.Setup("wpi")39 wpt.PinMode(pin, wpt.OUTPUT)40 value := uint8(0)41 for {42 wpt.DigitalWrite(pin, value)43 wpt.EmitU32(0x12345678)44 if count > 10 {45 }46 time.Sleep(1 * time.Second)47 }48}49from wiringpi import *
Using AI Code Generation
1var wpt = require('wiring-pi');2wpt.setup('wpi');3wpt.wiringPiSetup();4wpt.wiringPiSetupSys();5wpt.wiringPiSetupGpio();6var mywpt = new wpt.wpt();7mywpt.emit_u32(0xdeadbeef);8var wpt = require('wiring-pi');9wpt.setup('wpi');10wpt.wiringPiSetup();11wpt.wiringPiSetupSys();12wpt.wiringPiSetupGpio();13var mywpt = new wpt.wpt();14mywpt.emit_u32(0xdeadbeef, 0x12345678);15var wpt = require('wiring-pi');16wpt.setup('wpi');17wpt.wiringPiSetup();18wpt.wiringPiSetupSys();19wpt.wiringPiSetupGpio();20var mywpt = new wpt.wpt();21mywpt.emit_u32(0xdeadbeef, 0x12345678, 0xabcdef01);22var wpt = require('wiring-pi');23wpt.setup('wpi');24wpt.wiringPiSetup();25wpt.wiringPiSetupSys();26wpt.wiringPiSetupGpio();27var mywpt = new wpt.wpt();28mywpt.emit_u32(0xdeadbeef, 0x12345678, 0xabcdef01, 0x12345678);29var wpt = require('wiring-pi');30wpt.setup('wpi');31wpt.wiringPiSetup();32wpt.wiringPiSetupSys();33wpt.wiringPiSetupGpio();34var mywpt = new wpt.wpt();35mywpt.emit_u32(0xdead
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!