UNPKG

web-dom

Version:

A web component for making web assembly modules that can interat with dom easily

2,066 lines (1,676 loc) 175 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = global || self, factory(global.WebDOM = {})); }(this, function (exports) { 'use strict'; function allocator() { let allocations = [null]; let empty = []; return { //allocate a:function(value){ let i = allocations.length; if(empty.length > 0) { i = empty.pop(); } allocations[i] = value; return i; }, //release r(handle){ allocations[handle] = undefined; empty.push(handle); }, //get g(handle){ if(handle < 0){ return undefined; } let ret = allocations[handle]; if(handle !=0 && !ret){ console.error(`Asked for ${handle} after it was released.`); } return ret; } } } // THIS FILE IS GENERATED FROM tools/generate_webidl.js function createWebIDLContext() { let A = allocator(); const webidl = { allocator: function() { return A; }, global_create_f32array: function(start, length) { return A.a( new Float32Array( Uint8Array.from( new Uint8Array(this.memory.buffer).subarray(start, start + length) ).buffer ) ); }, global_create_uint8array: function(start, length) { return A.a( new Uint8Array(this.memory.buffer).subarray(start, start + length) ); }, global_is_null: function(o) { return A.g(o) == null; }, global_convert_to_ref: function(o) { return A.g(o); }, global_convert_to_number: function(o) { return A.g(o); }, global_convert_to_bool: function(o) { return A.g(o) ? 1 : 0; }, global_convert_to_string: function(o) { return this.ms(A.g(o)); }, global_debugger: function() { debugger; }, global_get_window: function() { return A.a(window); }, global_release: function(handle) { A.r(handle); }, global_create_event_listener: function() { let handle = A.a(e => this.executeCallback(handle, e, A)); return handle; }, global_get_property: function(handle, name) { let o = A.g(handle); let p = o[this.s(name)]; if (typeof p == "string") { return this.ms(p); } else if (typeof p == "boolean") { return p ? 1 : 0; } else if (typeof p == "number") { return p; } return A.a(p); }, date_now: function() { return Date.now(); }, date_now_seconds: function() { return Date.now() / 1000; }, date_get_timezone_offset: function() { return new Date().getTimezoneOffset(); }, math_random: function() { return Math.random(); }, math_random_n: function(n) { return Math.floor(Math.random() * n); }, customelement_attach_shadow: function(instance) { let _instance = A.g(instance); return A.a(_instance.attachShadow({ mode: "open" })); }, customelement_define: function(componentName) { componentName = this.s(componentName); let createElement = this.elementCreated; window.setTimeout(() => { customElements.define( componentName, class extends HTMLElement { constructor() { super(); var e = new CustomEvent("customelementcreated", { detail: A.a(this) }); window.dispatchEvent(e); } connectedCallback() { var e = new CustomEvent("connected"); this.dispatchEvent(e); } disconnectedCallback() { debugger; var e = new CustomEvent("disconnected"); this.dispatchEvent(e); } adoptedCallback() { var e = new CustomEvent("adopted"); this.dispatchEvent(e); } attributeChangedCallback(name, oldValue, value) { var e = new CustomEvent("attributechanged", { detail: { name, oldValue, value } }); this.dispatchEvent(e); } } ); }, 1); }, customelement_define_with_attributes: function(componentName, attributes) { componentName = this.s(componentName); attributes = this.s(attributes); let createElement = this.elementCreated; let observedAttributes = attributes.split(",").map(x => x.trim()); window.setTimeout(() => { customElements.define( componentName, class extends HTMLElement { constructor() { super(); var e = new CustomEvent("customelementcreated", { detail: A.a(this) }); window.dispatchEvent(e); } static get observedAttributes() { return observedAttributes; } connectedCallback() { var e = new CustomEvent("connected"); this.dispatchEvent(e); } disconnectedCallback() { debugger; var e = new CustomEvent("disconnected"); this.dispatchEvent(e); } adoptedCallback() { var e = new CustomEvent("adopted"); this.dispatchEvent(e); } attributeChangedCallback(name, oldValue, value) { var e = new CustomEvent("attributechanged", { detail: { name, oldValue, value } }); this.dispatchEvent(e); } } ); }, 1); }, WasmWorker_onWorkerLoaded: function(instance, listener) { let _instance = A.g(instance); let _listener = A.g(listener); if (_instance.loaded) { _listener( new CustomEvent("load", { detail: { id: _instance.workerId } }) ); } else { _instance.addEventListener("load", _listener); } }, WasmWorker_onWorkerMessage: function(instance, listener) { let _instance = A.g(instance); let _listener = A.g(listener); _instance.addEventListener("message", _listener); }, WasmWorker_sendWorkerMessage: function(instance, start, len) { let _instance = A.g(instance); const data = new Uint8Array(this.memory.buffer); _instance.sendMessage(data.subarray(start, start + len)); }, WasmWorkerLoadEvent_getWorkerId: function(ev) { let e = A.g(ev); return e.detail.id; }, WasmWorkerMessageEvent_get_length: function(ev) { let e = A.g(ev); return e.detail.length; }, WasmWorkerMessageEvent_get_data: function(ev) { let e = A.g(ev); let start = this.m(e.length); const data = new Uint8Array(this.memory.buffer); data.set(e.detail, start); return start; }, dynamic_load(moduleName, listener) { let _listener = A.g(listener); let handle = A.a({ module: WebDOM.run( this.s(moduleName), {}, function() { _listener({ module: handle }); }, true ), params: [], result: null }); }, dynamic_unload(dynHandle) { A.r(dynHandle); }, dynamic_begin(dynHandle) { let call = A.g(dynHandle); call.params = []; call.result = null; return dynHandle; }, dynamic_param_cstring(call, cstr) { window.alert("todo"); }, dynamic_param_memory(call, start, len) { window.alert("todo"); }, dynamic_param_i32(call, p) { let c = A.g(call); c.params.push(p); }, dynamic_param_i64(call, p) { let c = A.g(call); c.params.push(p); }, dynamic_param_f32(call, p) { let c = A.g(call); c.params.push(p); }, dynamic_param_f64(call, p) { let c = A.g(call); c.params.push(p); }, dynamic_call(call, name) { let c = A.g(call); let _name = this.s(name); c.result = c.module.exports[_name].apply(c.module.exports, c.params); c.params = []; }, dynamic_result_i32(call) { let c = A.g(call); return c.result; }, dynamic_result_i64(call) { let c = A.g(call); return c.result; }, dynamic_result_f32(call) { let c = A.g(call); return c.result; }, dynamic_result_f64(call) { let c = A.g(call); return c.result; }, dynamic_result_cstring(call) { window.alert("todo"); }, dynamic_result_memory(call) { window.alert("todo"); }, dynamic_result_memory_len(call) { window.alert("todo"); }, //TODO: get rid of one day when this isn't required by tinygo io_get_stdout: function() { return 1; }, //TODO: get rid of one day when this isn't required by tinygo resource_write: function() {}, canvas_get_canvas: function(i) { let _i = A.g(i); return A.a(_i.canvas); }, canvas_set_canvas: function(i, v) { let _i = A.g(i); _i.canvas = A.g(v); }, canvas_get_moz_current_transform: function(i) { let _i = A.g(i); return A.a(_i.mozCurrentTransform); }, canvas_set_moz_current_transform: function(i, v) { let _i = A.g(i); _i.mozCurrentTransform = A.g(v); }, canvas_get_moz_current_transform_inverse: function(i) { let _i = A.g(i); return A.a(_i.mozCurrentTransformInverse); }, canvas_set_moz_current_transform_inverse: function(i, v) { let _i = A.g(i); _i.mozCurrentTransformInverse = A.g(v); }, canvas_get_moz_text_style: function(i) { let _i = A.g(i); return this.ms(_i.mozTextStyle); }, canvas_set_moz_text_style: function(i, v) { let _i = A.g(i); _i.mozTextStyle = this.s(v); }, canvas_get_moz_image_smoothing_enabled: function(i) { let _i = A.g(i); return _i.mozImageSmoothingEnabled ? 1 : 0; }, canvas_set_moz_image_smoothing_enabled: function(i, v) { let _i = A.g(i); _i.mozImageSmoothingEnabled = 1 == v; }, canvas_draw_window: function(i, window, x, y, w, h, bgColor, flags) { let _i = A.g(i); let _window = A.g(window); let _x = x; let _y = y; let _w = w; let _h = h; let _bgColor = this.s(bgColor); let _flags = flags; _i.drawWindow(_window, _x, _y, _w, _h, _bgColor, _flags); }, canvas_demote: function(i) { let _i = A.g(i); _i.demote(); }, canvas_save: function(i) { let _i = A.g(i); _i.save(); }, canvas_restore: function(i) { let _i = A.g(i); _i.restore(); }, canvas_scale: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; _i.scale(_x, _y); }, canvas_rotate: function(i, angle) { let _i = A.g(i); let _angle = angle; _i.rotate(_angle); }, canvas_translate: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; _i.translate(_x, _y); }, canvas_transform: function(i, a, b, c, d, e, f) { let _i = A.g(i); let _a = a; let _b = b; let _c = c; let _d = d; let _e = e; let _f = f; _i.transform(_a, _b, _c, _d, _e, _f); }, canvas_set_transform: function(i, a, b, c, d, e, f) { let _i = A.g(i); let _a = a; let _b = b; let _c = c; let _d = d; let _e = e; let _f = f; _i.setTransform(_a, _b, _c, _d, _e, _f); }, canvas_reset_transform: function(i) { let _i = A.g(i); _i.resetTransform(); }, canvas_get_global_alpha: function(i) { let _i = A.g(i); return _i.globalAlpha; }, canvas_set_global_alpha: function(i, v) { let _i = A.g(i); _i.globalAlpha = v; }, canvas_get_global_composite_operation: function(i) { let _i = A.g(i); return this.ms(_i.globalCompositeOperation); }, canvas_set_global_composite_operation: function(i, v) { let _i = A.g(i); _i.globalCompositeOperation = this.s(v); }, canvas_get_image_smoothing_enabled: function(i) { let _i = A.g(i); return _i.imageSmoothingEnabled ? 1 : 0; }, canvas_set_image_smoothing_enabled: function(i, v) { let _i = A.g(i); _i.imageSmoothingEnabled = 1 == v; }, canvas_get_stroke_style: function(i) { let _i = A.g(i); return this.ms(_i.strokeStyle); }, canvas_set_stroke_style: function(i, v) { let _i = A.g(i); _i.strokeStyle = this.s(v); }, canvas_get_fill_style: function(i) { let _i = A.g(i); return this.ms(_i.fillStyle); }, canvas_set_fill_style: function(i, v) { let _i = A.g(i); _i.fillStyle = this.s(v); }, canvas_create_linear_gradient: function(i, x0, y0, x1, y1) { let _i = A.g(i); let _x0 = x0; let _y0 = y0; let _x1 = x1; let _y1 = y1; return A.a(_i.createLinearGradient(_x0, _y0, _x1, _y1)); }, canvas_create_radial_gradient: function(i, x0, y0, r0, x1, y1, r1) { let _i = A.g(i); let _x0 = x0; let _y0 = y0; let _r0 = r0; let _x1 = x1; let _y1 = y1; let _r1 = r1; return A.a(_i.createRadialGradient(_x0, _y0, _r0, _x1, _y1, _r1)); }, canvas_create_pattern: function(i, image, repetition) { let _i = A.g(i); let _image = A.g(image); let _repetition = this.s(repetition); return A.a(_i.createPattern(_image, _repetition)); }, canvas_get_shadow_offset_x: function(i) { let _i = A.g(i); return _i.shadowOffsetX; }, canvas_set_shadow_offset_x: function(i, v) { let _i = A.g(i); _i.shadowOffsetX = v; }, canvas_get_shadow_offset_y: function(i) { let _i = A.g(i); return _i.shadowOffsetY; }, canvas_set_shadow_offset_y: function(i, v) { let _i = A.g(i); _i.shadowOffsetY = v; }, canvas_get_shadow_blur: function(i) { let _i = A.g(i); return _i.shadowBlur; }, canvas_set_shadow_blur: function(i, v) { let _i = A.g(i); _i.shadowBlur = v; }, canvas_get_shadow_color: function(i) { let _i = A.g(i); return this.ms(_i.shadowColor); }, canvas_set_shadow_color: function(i, v) { let _i = A.g(i); _i.shadowColor = this.s(v); }, canvas_get_filter: function(i) { let _i = A.g(i); return this.ms(_i.filter); }, canvas_set_filter: function(i, v) { let _i = A.g(i); _i.filter = this.s(v); }, canvas_clear_rect: function(i, x, y, w, h) { let _i = A.g(i); let _x = x; let _y = y; let _w = w; let _h = h; _i.clearRect(_x, _y, _w, _h); }, canvas_fill_rect: function(i, x, y, w, h) { let _i = A.g(i); let _x = x; let _y = y; let _w = w; let _h = h; _i.fillRect(_x, _y, _w, _h); }, canvas_stroke_rect: function(i, x, y, w, h) { let _i = A.g(i); let _x = x; let _y = y; let _w = w; let _h = h; _i.strokeRect(_x, _y, _w, _h); }, canvas_begin_path: function(i) { let _i = A.g(i); _i.beginPath(); }, canvas_fill: function(i) { let _i = A.g(i); _i.fill(); }, canvas_fill_1: function(i, winding) { let _i = A.g(i); let _winding = A.g(winding); _i.fill(_winding); }, canvas_fill_2: function(i, path, winding) { let _i = A.g(i); let _path = A.g(path); let _winding = A.g(winding); _i.fill(_path, _winding); }, canvas_stroke: function(i) { let _i = A.g(i); _i.stroke(); }, canvas_stroke_1: function(i, path) { let _i = A.g(i); let _path = A.g(path); _i.stroke(_path); }, canvas_clip: function(i) { let _i = A.g(i); _i.clip(); }, canvas_clip_1: function(i, winding) { let _i = A.g(i); let _winding = A.g(winding); _i.clip(_winding); }, canvas_clip_2: function(i, path, winding) { let _i = A.g(i); let _path = A.g(path); let _winding = A.g(winding); _i.clip(_path, _winding); }, canvas_is_point_in_path: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; return _i.isPointInPath(_x, _y) ? 1 : 0; }, canvas_is_point_in_path_1: function(i, x, y, winding) { let _i = A.g(i); let _x = x; let _y = y; let _winding = A.g(winding); return _i.isPointInPath(_x, _y, _winding) ? 1 : 0; }, canvas_is_point_in_path_2: function(i, path, x, y) { let _i = A.g(i); let _path = A.g(path); let _x = x; let _y = y; return _i.isPointInPath(_path, _x, _y) ? 1 : 0; }, canvas_is_point_in_path_3: function(i, path, x, y, winding) { let _i = A.g(i); let _path = A.g(path); let _x = x; let _y = y; let _winding = A.g(winding); return _i.isPointInPath(_path, _x, _y, _winding) ? 1 : 0; }, canvas_is_point_in_stroke: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; return _i.isPointInStroke(_x, _y) ? 1 : 0; }, canvas_is_point_in_stroke_1: function(i, path, x, y) { let _i = A.g(i); let _path = A.g(path); let _x = x; let _y = y; return _i.isPointInStroke(_path, _x, _y) ? 1 : 0; }, canvas_draw_focus_if_needed: function(i, element) { let _i = A.g(i); let _element = A.g(element); _i.drawFocusIfNeeded(_element); }, canvas_fill_text: function(i, text, x, y) { let _i = A.g(i); let _text = this.s(text); let _x = x; let _y = y; _i.fillText(_text, _x, _y); }, canvas_fill_text_1: function(i, text, x, y, maxWidth) { let _i = A.g(i); let _text = this.s(text); let _x = x; let _y = y; let _maxWidth = maxWidth; _i.fillText(_text, _x, _y, _maxWidth); }, canvas_stroke_text: function(i, text, x, y) { let _i = A.g(i); let _text = this.s(text); let _x = x; let _y = y; _i.strokeText(_text, _x, _y); }, canvas_stroke_text_1: function(i, text, x, y, maxWidth) { let _i = A.g(i); let _text = this.s(text); let _x = x; let _y = y; let _maxWidth = maxWidth; _i.strokeText(_text, _x, _y, _maxWidth); }, canvas_measure_text: function(i, text) { let _i = A.g(i); let _text = this.s(text); return A.a(_i.measureText(_text)); }, canvas_draw_image: function(i, image, dx, dy) { let _i = A.g(i); let _image = A.g(image); let _dx = dx; let _dy = dy; _i.drawImage(_image, _dx, _dy); }, canvas_draw_image_1: function(i, image, dx, dy, dw, dh) { let _i = A.g(i); let _image = A.g(image); let _dx = dx; let _dy = dy; let _dw = dw; let _dh = dh; _i.drawImage(_image, _dx, _dy, _dw, _dh); }, canvas_draw_image_2: function(i, image, sx, sy, sw, sh, dx, dy, dw, dh) { let _i = A.g(i); let _image = A.g(image); let _sx = sx; let _sy = sy; let _sw = sw; let _sh = sh; let _dx = dx; let _dy = dy; let _dw = dw; let _dh = dh; _i.drawImage(_image, _sx, _sy, _sw, _sh, _dx, _dy, _dw, _dh); }, canvas_create_image_data: function(i, sw, sh) { let _i = A.g(i); let _sw = sw; let _sh = sh; return A.a(_i.createImageData(_sw, _sh)); }, canvas_create_image_data_1: function(i, imagedata) { let _i = A.g(i); let _imagedata = A.g(imagedata); return A.a(_i.createImageData(_imagedata)); }, canvas_get_image_data: function(i, sx, sy, sw, sh) { let _i = A.g(i); let _sx = sx; let _sy = sy; let _sw = sw; let _sh = sh; return A.a(_i.getImageData(_sx, _sy, _sw, _sh)); }, canvas_put_image_data: function(i, imagedata, dx, dy) { let _i = A.g(i); let _imagedata = A.g(imagedata); let _dx = dx; let _dy = dy; _i.putImageData(_imagedata, _dx, _dy); }, canvas_put_image_data_1: function( i, imagedata, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight ) { let _i = A.g(i); let _imagedata = A.g(imagedata); let _dx = dx; let _dy = dy; let _dirtyX = dirtyX; let _dirtyY = dirtyY; let _dirtyWidth = dirtyWidth; let _dirtyHeight = dirtyHeight; _i.putImageData( _imagedata, _dx, _dy, _dirtyX, _dirtyY, _dirtyWidth, _dirtyHeight ); }, canvas_get_line_width: function(i) { let _i = A.g(i); return _i.lineWidth; }, canvas_set_line_width: function(i, v) { let _i = A.g(i); _i.lineWidth = v; }, canvas_get_line_cap: function(i) { let _i = A.g(i); return this.ms(_i.lineCap); }, canvas_set_line_cap: function(i, v) { let _i = A.g(i); _i.lineCap = this.s(v); }, canvas_get_line_join: function(i) { let _i = A.g(i); return this.ms(_i.lineJoin); }, canvas_set_line_join: function(i, v) { let _i = A.g(i); _i.lineJoin = this.s(v); }, canvas_get_miter_limit: function(i) { let _i = A.g(i); return _i.miterLimit; }, canvas_set_miter_limit: function(i, v) { let _i = A.g(i); _i.miterLimit = v; }, canvas_set_line_dash: function(i, segments) { let _i = A.g(i); let _segments = A.g(segments); _i.setLineDash(_segments); }, canvas_get_line_dash: function(i) { let _i = A.g(i); return A.a(_i.getLineDash()); }, canvas_get_line_dash_offset: function(i) { let _i = A.g(i); return _i.lineDashOffset; }, canvas_set_line_dash_offset: function(i, v) { let _i = A.g(i); _i.lineDashOffset = v; }, canvas_get_font: function(i) { let _i = A.g(i); return this.ms(_i.font); }, canvas_set_font: function(i, v) { let _i = A.g(i); _i.font = this.s(v); }, canvas_get_text_align: function(i) { let _i = A.g(i); return this.ms(_i.textAlign); }, canvas_set_text_align: function(i, v) { let _i = A.g(i); _i.textAlign = this.s(v); }, canvas_get_text_baseline: function(i) { let _i = A.g(i); return this.ms(_i.textBaseline); }, canvas_set_text_baseline: function(i, v) { let _i = A.g(i); _i.textBaseline = this.s(v); }, canvas_close_path: function(i) { let _i = A.g(i); _i.closePath(); }, canvas_move_to: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; _i.moveTo(_x, _y); }, canvas_line_to: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; _i.lineTo(_x, _y); }, canvas_quadratic_curve_to: function(i, cpx, cpy, x, y) { let _i = A.g(i); let _cpx = cpx; let _cpy = cpy; let _x = x; let _y = y; _i.quadraticCurveTo(_cpx, _cpy, _x, _y); }, canvas_bezier_curve_to: function(i, cp1x, cp1y, cp2x, cp2y, x, y) { let _i = A.g(i); let _cp1x = cp1x; let _cp1y = cp1y; let _cp2x = cp2x; let _cp2y = cp2y; let _x = x; let _y = y; _i.bezierCurveTo(_cp1x, _cp1y, _cp2x, _cp2y, _x, _y); }, canvas_arc_to: function(i, x1, y1, x2, y2, radius) { let _i = A.g(i); let _x1 = x1; let _y1 = y1; let _x2 = x2; let _y2 = y2; let _radius = radius; _i.arcTo(_x1, _y1, _x2, _y2, _radius); }, canvas_rect: function(i, x, y, w, h) { let _i = A.g(i); let _x = x; let _y = y; let _w = w; let _h = h; _i.rect(_x, _y, _w, _h); }, canvas_arc: function(i, x, y, radius, startAngle, endAngle) { let _i = A.g(i); let _x = x; let _y = y; let _radius = radius; let _startAngle = startAngle; let _endAngle = endAngle; _i.arc(_x, _y, _radius, _startAngle, _endAngle); }, canvas_arc_1: function( i, x, y, radius, startAngle, endAngle, anticlockwise ) { let _i = A.g(i); let _x = x; let _y = y; let _radius = radius; let _startAngle = startAngle; let _endAngle = endAngle; let _anticlockwise = 0 != anticlockwise; _i.arc(_x, _y, _radius, _startAngle, _endAngle, _anticlockwise); }, canvas_ellipse: function( i, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise ) { let _i = A.g(i); let _x = x; let _y = y; let _radiusX = radiusX; let _radiusY = radiusY; let _rotation = rotation; let _startAngle = startAngle; let _endAngle = endAngle; let _anticlockwise = 0 != anticlockwise; _i.ellipse( _x, _y, _radiusX, _radiusY, _rotation, _startAngle, _endAngle, _anticlockwise ); }, canvas_add_hit_region: function(i, options) { let _i = A.g(i); let _options = A.g(options); _i.addHitRegion(_options); }, canvas_remove_hit_region: function(i, id) { let _i = A.g(i); let _id = this.s(id); _i.removeHitRegion(_id); }, canvas_clear_hit_regions: function(i) { let _i = A.g(i); _i.clearHitRegions(); }, canvasgradient_add_color_stop: function(i, offset, color) { let _i = A.g(i); let _offset = offset; let _color = this.s(color); _i.addColorStop(_offset, _color); }, canvaspattern_set_transform: function(i, matrix) { let _i = A.g(i); let _matrix = A.g(matrix); _i.setTransform(_matrix); }, textmetrics_get_width: function(i) { let _i = A.g(i); return _i.width; }, textmetrics_set_width: function(i, v) { let _i = A.g(i); _i.width = v; }, path2d_add_path: function(i, path) { let _i = A.g(i); let _path = A.g(path); _i.addPath(_path); }, path2d_add_path_1: function(i, path, transformation) { let _i = A.g(i); let _path = A.g(path); let _transformation = A.g(transformation); _i.addPath(_path, _transformation); }, path2d_close_path: function(i) { let _i = A.g(i); _i.closePath(); }, path2d_move_to: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; _i.moveTo(_x, _y); }, path2d_line_to: function(i, x, y) { let _i = A.g(i); let _x = x; let _y = y; _i.lineTo(_x, _y); }, path2d_quadratic_curve_to: function(i, cpx, cpy, x, y) { let _i = A.g(i); let _cpx = cpx; let _cpy = cpy; let _x = x; let _y = y; _i.quadraticCurveTo(_cpx, _cpy, _x, _y); }, path2d_bezier_curve_to: function(i, cp1x, cp1y, cp2x, cp2y, x, y) { let _i = A.g(i); let _cp1x = cp1x; let _cp1y = cp1y; let _cp2x = cp2x; let _cp2y = cp2y; let _x = x; let _y = y; _i.bezierCurveTo(_cp1x, _cp1y, _cp2x, _cp2y, _x, _y); }, path2d_arc_to: function(i, x1, y1, x2, y2, radius) { let _i = A.g(i); let _x1 = x1; let _y1 = y1; let _x2 = x2; let _y2 = y2; let _radius = radius; _i.arcTo(_x1, _y1, _x2, _y2, _radius); }, path2d_rect: function(i, x, y, w, h) { let _i = A.g(i); let _x = x; let _y = y; let _w = w; let _h = h; _i.rect(_x, _y, _w, _h); }, path2d_arc: function(i, x, y, radius, startAngle, endAngle) { let _i = A.g(i); let _x = x; let _y = y; let _radius = radius; let _startAngle = startAngle; let _endAngle = endAngle; _i.arc(_x, _y, _radius, _startAngle, _endAngle); }, path2d_arc_1: function( i, x, y, radius, startAngle, endAngle, anticlockwise ) { let _i = A.g(i); let _x = x; let _y = y; let _radius = radius; let _startAngle = startAngle; let _endAngle = endAngle; let _anticlockwise = 0 != anticlockwise; _i.arc(_x, _y, _radius, _startAngle, _endAngle, _anticlockwise); }, path2d_ellipse: function( i, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise ) { let _i = A.g(i); let _x = x; let _y = y; let _radiusX = radiusX; let _radiusY = radiusY; let _rotation = rotation; let _startAngle = startAngle; let _endAngle = endAngle; let _anticlockwise = 0 != anticlockwise; _i.ellipse( _x, _y, _radiusX, _radiusY, _rotation, _startAngle, _endAngle, _anticlockwise ); }, console_assert: function(condition, message) { let _condition = 0 != condition; let _message = this.s(message); console.assert(_condition, _message); }, console_clear: function() { console.clear(); }, console_count: function(label) { let _label = this.s(label); console.count(_label); }, console_count_reset: function(label) { let _label = this.s(label); console.countReset(_label); }, console_debug: function(message) { let _message = this.s(message); console.debug(_message); }, console_error: function(message) { let _message = this.s(message); console.error(_message); }, console_info: function(message) { let _message = this.s(message); console.info(_message); }, console_log: function(message) { let _message = this.s(message); console.log(_message); }, console_table: function(message) { let _message = this.s(message); console.table(_message); }, console_trace: function(message) { let _message = this.s(message); console.trace(_message); }, console_warn: function(message) { let _message = this.s(message); console.warn(_message); }, console_dir: function(message) { let _message = this.s(message); console.dir(_message); }, console_dirxml: function(message) { let _message = this.s(message); console.dirxml(_message); }, console_group: function(message) { let _message = this.s(message); console.group(_message); }, console_group_collapsed: function(message) { let _message = this.s(message); console.groupCollapsed(_message); }, console_group_end: function() { console.groupEnd(); }, console_time: function(label) { let _label = this.s(label); console.time(_label); }, console_time_log: function(label, message) { let _label = this.s(label); let _message = this.s(message); console.timeLog(_label, _message); }, console_time_end: function(label) { let _label = this.s(label); console.timeEnd(_label); }, console_exception: function(message) { let _message = this.s(message); console.exception(_message); }, console_time_stamp: function(message) { let _message = this.s(message); console.timeStamp(_message); }, console_profile: function(message) { let _message = this.s(message); console.profile(_message); }, console_profile_end: function(message) { let _message = this.s(message); console.profileEnd(_message); }, consoleinstance_assert: function(i, condition, message) { let _i = A.g(i); let _condition = 0 != condition; let _message = this.s(message); _i.assert(_condition, _message); }, consoleinstance_clear: function(i) { let _i = A.g(i); _i.clear(); }, consoleinstance_count: function(i, label) { let _i = A.g(i); let _label = this.s(label); _i.count(_label); }, consoleinstance_count_reset: function(i, label) { let _i = A.g(i); let _label = this.s(label); _i.countReset(_label); }, consoleinstance_debug: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.debug(_message); }, consoleinstance_error: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.error(_message); }, consoleinstance_info: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.info(_message); }, consoleinstance_log: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.log(_message); }, consoleinstance_table: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.table(_message); }, consoleinstance_trace: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.trace(_message); }, consoleinstance_warn: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.warn(_message); }, consoleinstance_dir: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.dir(_message); }, consoleinstance_dirxml: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.dirxml(_message); }, consoleinstance_group: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.group(_message); }, consoleinstance_group_collapsed: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.groupCollapsed(_message); }, consoleinstance_group_end: function(i) { let _i = A.g(i); _i.groupEnd(); }, consoleinstance_time: function(i, label) { let _i = A.g(i); let _label = this.s(label); _i.time(_label); }, consoleinstance_time_log: function(i, label, message) { let _i = A.g(i); let _label = this.s(label); let _message = this.s(message); _i.timeLog(_label, _message); }, consoleinstance_time_end: function(i, label) { let _i = A.g(i); let _label = this.s(label); _i.timeEnd(_label); }, consoleinstance_exception: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.exception(_message); }, consoleinstance_time_stamp: function(i, data) { let _i = A.g(i); let _data = A.g(data); _i.timeStamp(_data); }, consoleinstance_profile: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.profile(_message); }, consoleinstance_profile_end: function(i, message) { let _i = A.g(i); let _message = this.s(message); _i.profileEnd(_message); }, consoleinstance_report_for_service_worker_scope: function( i, scope, message, filename, lineNumber, columnNumber, level ) { let _i = A.g(i); let _scope = this.s(scope); let _message = this.s(message); let _filename = this.s(filename); let _lineNumber = lineNumber; let _columnNumber = columnNumber; let _level = A.g(level); _i.reportForServiceWorkerScope( _scope, _message, _filename, _lineNumber, _columnNumber, _level ); }, document_get_implementation: function(i) { let _i = A.g(i); return A.a(_i.implementation); }, document_set_implementation: function(i, v) { let _i = A.g(i); _i.implementation = A.g(v); }, document_get_url: function(i) { let _i = A.g(i); return this.ms(_i.URL); }, document_set_url: function(i, v) { let _i = A.g(i); _i.URL = this.s(v); }, document_get_document_uri: function(i) { let _i = A.g(i); return this.ms(_i.documentURI); }, document_set_document_uri: function(i, v) { let _i = A.g(i); _i.documentURI = this.s(v); }, document_get_compat_mode: function(i) { let _i = A.g(i); return this.ms(_i.compatMode); }, document_set_compat_mode: function(i, v) { let _i = A.g(i); _i.compatMode = this.s(v); }, document_get_character_set: function(i) { let _i = A.g(i); return this.ms(_i.characterSet); }, document_set_character_set: function(i, v) { let _i = A.g(i); _i.characterSet = this.s(v); }, document_get_charset: function(i) { let _i = A.g(i); return this.ms(_i.charset); }, document_set_charset: function(i, v) { let _i = A.g(i); _i.charset = this.s(v); }, document_get_input_encoding: function(i) { let _i = A.g(i); return this.ms(_i.inputEncoding); }, document_set_input_encoding: function(i, v) { let _i = A.g(i); _i.inputEncoding = this.s(v); }, document_get_content_type: function(i) { let _i = A.g(i); return this.ms(_i.contentType); }, document_set_content_type: function(i, v) { let _i = A.g(i); _i.contentType = this.s(v); }, document_get_doctype: function(i) { let _i = A.g(i); return A.a(_i.doctype); }, document_set_doctype: function(i, v) { let _i = A.g(i); _i.doctype = A.g(v); }, document_get_document_element: function(i) { let _i = A.g(i); return A.a(_i.documentElement); }, document_set_document_element: function(i, v) { let _i = A.g(i); _i.documentElement = A.g(v); }, document_get_elements_by_tag_name: function(i, localName) { let _i = A.g(i); let _localName = this.s(localName); return A.a(_i.getElementsByTagName(_localName)); }, document_get_elements_by_tag_name_n_s: function(i, namespace, localName) { let _i = A.g(i); let _namespace = this.s(namespace); let _localName = this.s(localName); return A.a(_i.getElementsByTagNameNS(_namespace, _localName)); }, document_get_elements_by_class_name: function(i, classNames) { let _i = A.g(i); let _classNames = this.s(classNames); return A.a(_i.getElementsByClassName(_classNames)); }, document_get_element_by_id: function(i, elementId) { let _i = A.g(i); let _elementId = this.s(elementId); return A.a(_i.getElementById(_elementId)); }, document_create_element: function(i, localName) { let _i = A.g(i); let _localName = this.s(localName); return A.a(_i.createElement(_localName)); }, document_create_element_1: function(i, localName, options) { let _i = A.g(i); let _localName = this.s(localName); let _options = A.g(options); return A.a(_i.createElement(_localName, _options)); }, document_create_element_n_s: function( i, namespace, qualifiedName, options ) { let _i = A.g(i); let _namespace = this.s(namespace); let _qualifiedName = this.s(qualifiedName); let _options = A.g(options); return A.a(_i.createElementNS(_namespace, _qualifiedName, _options)); }, document_create_document_fragment: function(i) { let _i = A.g(i); return A.a(_i.createDocumentFragment()); }, document_create_text_node: function(i, data) { let _i = A.g(i); let _data = this.s(data); return A.a(_i.createTextNode(_data)); }, document_create_comment: function(i, data) { let _i = A.g(i); let _data = this.s(data); return A.a(_i.createComment(_data)); }, document_create_processing_instruction: function(i, target, data) { let _i = A.g(i); let _target = this.s(target); let _data = this.s(data); return A.a(_i.createProcessingInstruction(_target, _data)); }, document_import_node: function(i, node, deep) { let _i = A.g(i); let _node = A.g(node); let _deep = 0 != deep; return A.a(_i.importNode(_node, _deep)); }, document_adopt_node: function(i, node) { let _i = A.g(i); let _node = A.g(node); return A.a(_i.adoptNode(_node)); }, document_create_event: function(i, name) { let _i = A.g(i); let _name = this.s(name); return A.a(_i.createEvent(_name)); }, document_create_range: function(i) { let _i = A.g(i); return A.a(_i.createRange()); }, document_create_node_iterator: function(i, root, whatToShow, filter) { let _i = A.g(i); let _root = A.g(root); let _whatToShow = whatToShow; let _filter = A.g(filter); return A.a(_i.createNodeIterator(_root, _whatToShow, _filter)); }, document_create_tree_walker: function(i, root, whatToShow, filter) { let _i = A.g(i); let _root = A.g(root); let _whatToShow = whatToShow; let _filter = A.g(filter); return A.a(_i.createTreeWalker(_root, _whatToShow, _filter)); }, document_create_c_d_a_t_a_section: function(i, data) { let _i = A.g(i); let _data = this.s(data); return A.a(_i.createCDATASection(_data)); }, document_create_attribute: function(i, name) { let _i = A.g(i); let _name = this.s(name); return A.a(_i.createAttribute(_name)); }, document_create_attribute_n_s: function(i, namespace, name) { let _i = A.g(i); let _namespace = this.s(namespace); let _name = this.s(name); return A.a(_i.createAttributeNS(_namespace, _name)); }, document_get_location: function(i) { let _i = A.g(i); return A.a(_i.location); }, document_set_location: function(i, v) { let _i = A.g(i); _i.location = A.g(v); }, document_get_referrer: function(i) { let _i = A.g(i); return this.ms(_i.referrer); }, document_set_referrer: function(i, v) { let _i = A.g(i); _i.referrer = this.s(v); }, document_get_last_modified: function(i) { let _i = A.g(i); return this.ms(_i.lastModified); }, document_set_last_modified: function(i, v) { let _i = A.g(i); _i.lastModified = this.s(v); }, document_get_ready_state: function(i) { let _i = A.g(i); return this.ms(_i.readyState); }, document_set_ready_state: function(i, v) { let _i = A.g(i); _i.readyState = this.s(v); }, document_get_title: function(i) { let _i = A.g(i); return this.ms(_i.title); }, document_set_title: function(i, v) { let _i = A.g(i); _i.title = this.s(v); }, document_get_dir: function(i) { let _i = A.g(i); return this.ms(_i.dir); }, document_set_dir: function(i, v) { let _i = A.g(i); _i.dir = this.s(v); }, document_get_body: function(i) { let _i = A.g(i); return A.a(_i.body); }, document_set_body: function(i, v) { let _i = A.g(i); _i.body = A.g(v); }, document_get_head: function(i) { let _i = A.g(i); return A.a(_i.head); }, document_set_head: function(i, v) { let _i = A.g(i); _i.head = A.g(v); }, document_get_images: function(i) { let _i = A.g(i); return A.a(_i.images); }, document_set_images: function(i, v) { let _i = A.g(i); _i.images = A.g(v); }, document_get_embeds: function(i) { let _i = A.g(i); return A.a(_i.embeds); }, document_set_embeds: function(i, v) { let _i = A.g(i); _i.embeds = A.g(v); }, document_get_plugins: function(i) { let _i = A.g(i); return A.a(_i.plugins); }, document_set_plugins: function(i, v) { let _i = A.g(i); _i.plugins = A.g(v); }, document_get_links: function(i) { let _i = A.g(i); return A.a(_i.links); }, document_set_links: function(i, v) { let _i = A.g(i); _i.links = A.g(v); }, document_get_forms: function(i) { let _i = A.g(i); return A.a(_i.forms); }, document_set_forms: function(i, v) { let _i = A.g(i); _i.forms = A.g(v); }, document_get_scripts: function(i) { let _i = A.g(i); return A.a(_i.scripts); }, document_set_scripts: function(i, v) { let _i = A.g(i); _i.scripts = A.g(v); }, document_get_elements_by_name: function(i, elementName) { let _i = A.g(i); let _elementName = this.s(elementName); return A.a(_i.getElementsByName(_elementName)); }, document_get_default_view: function(i) { let _i = A.g(i); return A.a(_i.defaultView); }, document_set_default_view: function(i, v) { let _i = A.g(i); _i.defaultView = A.g(v); }, document_has_focus: function(i) { let _i = A.g(i); return _i.hasFocus() ? 1 : 0; }, document_get_onreadystatechange: function(i) { let _i = A.g(i); return A.a(_i.onreadystatechange); }, document_set_onreadystatechange: function(i, v) { let _i = A.g(i); _i.onreadystatechange = A.g(v); }, document_get_onbeforescriptexecute: function(i) { let _i = A.g(i); return A.a(_i.onbeforescriptexecute); }, document_set_onbeforescriptexecute: function(i, v) { let _i = A.g(i); _i.onbeforescriptexecute = A.g(v); }, document_get_onafterscriptexecute: function(i) { let _i = A.g(i); return A.a(_i.onafterscriptexecute); }, document_set_onafterscriptexecute: function(i, v) { let _i = A.g(i); _i.onafterscriptexecute = A.g(v); }, document_get_onselectionchange: function(i) { let _i = A.g(i); return A.a(_i.onselectionchange); }, document_set_onselectionchange: function(i, v) { let _i = A.g(i); _i.onselectionchange = A.g(v); }, document_