2019-01-04 13:14:32 +00:00
( function ( ) {
var wasm ;
const _ _exports = { } ;
let cachedTextEncoder = new TextEncoder ( 'utf-8' ) ;
let cachegetUint8Memory = null ;
function getUint8Memory ( ) {
if ( cachegetUint8Memory === null || cachegetUint8Memory . buffer !== wasm . memory . buffer ) {
cachegetUint8Memory = new Uint8Array ( wasm . memory . buffer ) ;
}
return cachegetUint8Memory ;
}
let WASM _VECTOR _LEN = 0 ;
2019-03-10 20:02:00 +00:00
let passStringToWasm ;
if ( typeof cachedTextEncoder . encodeInto === 'function' ) {
passStringToWasm = function ( arg ) {
let size = arg . length ;
let ptr = wasm . _ _wbindgen _malloc ( size ) ;
let writeOffset = 0 ;
while ( true ) {
const view = getUint8Memory ( ) . subarray ( ptr + writeOffset , ptr + size ) ;
const { read , written } = cachedTextEncoder . encodeInto ( arg , view ) ;
arg = arg . substring ( read ) ;
writeOffset += written ;
if ( arg . length === 0 ) {
break ;
}
ptr = wasm . _ _wbindgen _realloc ( ptr , size , size * 2 ) ;
size *= 2 ;
}
WASM _VECTOR _LEN = writeOffset ;
return ptr ;
} ;
} else {
passStringToWasm = function ( arg ) {
const buf = cachedTextEncoder . encode ( arg ) ;
const ptr = wasm . _ _wbindgen _malloc ( buf . length ) ;
getUint8Memory ( ) . set ( buf , ptr ) ;
WASM _VECTOR _LEN = buf . length ;
return ptr ;
} ;
2019-01-04 13:14:32 +00:00
}
/ * *
* @ param { string } arg0
2019-01-19 16:10:28 +00:00
* @ param { number } arg1
2019-01-12 22:07:30 +00:00
* @ returns { State }
2019-01-04 13:14:32 +00:00
* /
2019-01-19 16:10:28 +00:00
_ _exports . new _webgl _gui = function ( arg0 , arg1 ) {
2019-01-04 13:14:32 +00:00
const ptr0 = passStringToWasm ( arg0 ) ;
const len0 = WASM _VECTOR _LEN ;
try {
2019-01-19 16:10:28 +00:00
return State . _ _wrap ( wasm . new _webgl _gui ( ptr0 , len0 , arg1 ) ) ;
2019-01-04 13:14:32 +00:00
} finally {
wasm . _ _wbindgen _free ( ptr0 , len0 * 1 ) ;
}
} ;
/ * *
2019-01-12 22:07:30 +00:00
* @ param { State } arg0
2019-01-04 13:14:32 +00:00
* @ param { string } arg1
* @ returns { void }
* /
2019-01-12 22:07:30 +00:00
_ _exports . run _gui = function ( arg0 , arg1 ) {
2019-01-04 13:14:32 +00:00
const ptr1 = passStringToWasm ( arg1 ) ;
const len1 = WASM _VECTOR _LEN ;
try {
2019-01-12 22:07:30 +00:00
return wasm . run _gui ( arg0 . ptr , ptr1 , len1 ) ;
2019-01-04 13:14:32 +00:00
} finally {
wasm . _ _wbindgen _free ( ptr1 , len1 * 1 ) ;
}
} ;
const heap = new Array ( 32 ) ;
heap . fill ( undefined ) ;
heap . push ( undefined , null , true , false ) ;
function getObject ( idx ) { return heap [ idx ] ; }
2019-01-05 14:28:07 +00:00
let cachedTextDecoder = new TextDecoder ( 'utf-8' ) ;
function getStringFromWasm ( ptr , len ) {
return cachedTextDecoder . decode ( getUint8Memory ( ) . subarray ( ptr , ptr + len ) ) ;
}
2019-01-04 13:14:32 +00:00
let heap _next = heap . length ;
function addHeapObject ( obj ) {
if ( heap _next === heap . length ) heap . push ( heap . length + 1 ) ;
const idx = heap _next ;
heap _next = heap [ idx ] ;
heap [ idx ] = obj ;
return idx ;
}
function isLikeNone ( x ) {
return x === undefined || x === null ;
}
_ _exports . _ _widl _f _get _element _by _id _Document = function ( arg0 , arg1 , arg2 ) {
let varg1 = getStringFromWasm ( arg1 , arg2 ) ;
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . getElementById ( varg1 ) ;
2019-01-04 13:14:32 +00:00
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _widl _instanceof _HTMLCanvasElement = function ( idx ) { return getObject ( idx ) instanceof HTMLCanvasElement ? 1 : 0 ; } ;
2019-01-04 13:14:32 +00:00
2019-01-05 14:28:07 +00:00
let cachegetUint32Memory = null ;
function getUint32Memory ( ) {
if ( cachegetUint32Memory === null || cachegetUint32Memory . buffer !== wasm . memory . buffer ) {
cachegetUint32Memory = new Uint32Array ( wasm . memory . buffer ) ;
}
return cachegetUint32Memory ;
}
2019-03-10 20:02:00 +00:00
function handleError ( exnptr , e ) {
const view = getUint32Memory ( ) ;
view [ exnptr / 4 ] = 1 ;
view [ exnptr / 4 + 1 ] = addHeapObject ( e ) ;
}
2019-01-04 13:14:32 +00:00
_ _exports . _ _widl _f _get _context _HTMLCanvasElement = function ( arg0 , arg1 , arg2 , exnptr ) {
let varg1 = getStringFromWasm ( arg1 , arg2 ) ;
try {
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . getContext ( varg1 ) ;
2019-01-04 13:14:32 +00:00
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} catch ( e ) {
2019-03-10 20:02:00 +00:00
handleError ( exnptr , e ) ;
2019-01-04 13:14:32 +00:00
}
} ;
_ _exports . _ _widl _f _width _HTMLCanvasElement = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
return getObject ( arg0 ) . width ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _height _HTMLCanvasElement = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
return getObject ( arg0 ) . height ;
2019-01-12 22:07:30 +00:00
} ;
_ _exports . _ _widl _f _now _Performance = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
return getObject ( arg0 ) . now ( ) ;
2019-01-12 22:07:30 +00:00
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _widl _instanceof _WebGLRenderingContext = function ( idx ) { return getObject ( idx ) instanceof WebGLRenderingContext ? 1 : 0 ; } ;
2019-01-04 13:14:32 +00:00
_ _exports . _ _widl _f _buffer _data _with _array _buffer _view _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . bufferData ( arg1 , getObject ( arg2 ) , arg3 ) ;
2019-01-04 13:14:32 +00:00
} ;
2019-01-05 14:28:07 +00:00
function getArrayU8FromWasm ( ptr , len ) {
return getUint8Memory ( ) . subarray ( ptr / 1 , ptr / 1 + len ) ;
}
_ _exports . _ _widl _f _tex _image _2d _with _i32 _and _i32 _and _i32 _and _format _and _type _and _opt _u8 _array _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , exnptr ) {
let varg9 = arg9 == 0 ? undefined : getArrayU8FromWasm ( arg9 , arg10 ) ;
try {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . texImage2D ( arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , varg9 ) ;
2019-01-05 14:28:07 +00:00
} catch ( e ) {
2019-03-10 20:02:00 +00:00
handleError ( exnptr , e ) ;
2019-01-05 14:28:07 +00:00
}
} ;
_ _exports . _ _widl _f _active _texture _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . activeTexture ( arg1 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _attach _shader _WebGLRenderingContext = function ( arg0 , arg1 , arg2 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . attachShader ( getObject ( arg1 ) , getObject ( arg2 ) ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _bind _buffer _WebGLRenderingContext = function ( arg0 , arg1 , arg2 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . bindBuffer ( arg1 , getObject ( arg2 ) ) ;
2019-01-05 14:28:07 +00:00
} ;
_ _exports . _ _widl _f _bind _texture _WebGLRenderingContext = function ( arg0 , arg1 , arg2 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . bindTexture ( arg1 , getObject ( arg2 ) ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _blend _func _WebGLRenderingContext = function ( arg0 , arg1 , arg2 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . blendFunc ( arg1 , arg2 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _clear _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . clear ( arg1 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _clear _color _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 , arg4 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . clearColor ( arg1 , arg2 , arg3 , arg4 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _compile _shader _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . compileShader ( getObject ( arg1 ) ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _create _buffer _WebGLRenderingContext = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . createBuffer ( ) ;
2019-01-04 13:14:32 +00:00
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
_ _exports . _ _widl _f _create _program _WebGLRenderingContext = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . createProgram ( ) ;
2019-01-04 13:14:32 +00:00
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
_ _exports . _ _widl _f _create _shader _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . createShader ( arg1 ) ;
2019-01-04 13:14:32 +00:00
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
2019-01-05 14:28:07 +00:00
_ _exports . _ _widl _f _create _texture _WebGLRenderingContext = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . createTexture ( ) ;
2019-01-05 14:28:07 +00:00
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
2019-01-04 13:14:32 +00:00
_ _exports . _ _widl _f _draw _elements _with _i32 _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 , arg4 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . drawElements ( arg1 , arg2 , arg3 , arg4 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _enable _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . enable ( arg1 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _enable _vertex _attrib _array _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . enableVertexAttribArray ( arg1 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _get _attrib _location _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 ) {
let varg2 = getStringFromWasm ( arg2 , arg3 ) ;
2019-01-17 23:34:01 +00:00
return getObject ( arg0 ) . getAttribLocation ( getObject ( arg1 ) , varg2 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _get _program _info _log _WebGLRenderingContext = function ( ret , arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . getProgramInfoLog ( getObject ( arg1 ) ) ;
2019-01-04 13:14:32 +00:00
const retptr = isLikeNone ( val ) ? [ 0 , 0 ] : passStringToWasm ( val ) ;
const retlen = WASM _VECTOR _LEN ;
const mem = getUint32Memory ( ) ;
mem [ ret / 4 ] = retptr ;
mem [ ret / 4 + 1 ] = retlen ;
} ;
_ _exports . _ _widl _f _get _program _parameter _WebGLRenderingContext = function ( arg0 , arg1 , arg2 ) {
2019-01-17 23:34:01 +00:00
return addHeapObject ( getObject ( arg0 ) . getProgramParameter ( getObject ( arg1 ) , arg2 ) ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _get _shader _info _log _WebGLRenderingContext = function ( ret , arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . getShaderInfoLog ( getObject ( arg1 ) ) ;
2019-01-04 13:14:32 +00:00
const retptr = isLikeNone ( val ) ? [ 0 , 0 ] : passStringToWasm ( val ) ;
const retlen = WASM _VECTOR _LEN ;
const mem = getUint32Memory ( ) ;
mem [ ret / 4 ] = retptr ;
mem [ ret / 4 + 1 ] = retlen ;
} ;
_ _exports . _ _widl _f _get _shader _parameter _WebGLRenderingContext = function ( arg0 , arg1 , arg2 ) {
2019-01-17 23:34:01 +00:00
return addHeapObject ( getObject ( arg0 ) . getShaderParameter ( getObject ( arg1 ) , arg2 ) ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _get _uniform _location _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 ) {
let varg2 = getStringFromWasm ( arg2 , arg3 ) ;
2019-01-17 23:34:01 +00:00
const val = getObject ( arg0 ) . getUniformLocation ( getObject ( arg1 ) , varg2 ) ;
2019-01-04 13:14:32 +00:00
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
_ _exports . _ _widl _f _link _program _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . linkProgram ( getObject ( arg1 ) ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _shader _source _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 ) {
let varg2 = getStringFromWasm ( arg2 , arg3 ) ;
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . shaderSource ( getObject ( arg1 ) , varg2 ) ;
2019-01-05 14:28:07 +00:00
} ;
_ _exports . _ _widl _f _tex _parameteri _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . texParameteri ( arg1 , arg2 , arg3 ) ;
2019-01-05 14:28:07 +00:00
} ;
_ _exports . _ _widl _f _uniform1i _WebGLRenderingContext = function ( arg0 , arg1 , arg2 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . uniform1i ( getObject ( arg1 ) , arg2 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _uniform2f _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . uniform2f ( getObject ( arg1 ) , arg2 , arg3 ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _use _program _WebGLRenderingContext = function ( arg0 , arg1 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . useProgram ( getObject ( arg1 ) ) ;
2019-01-04 13:14:32 +00:00
} ;
_ _exports . _ _widl _f _vertex _attrib _pointer _with _i32 _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . vertexAttribPointer ( arg1 , arg2 , arg3 , arg4 !== 0 , arg5 , arg6 ) ;
2019-01-12 22:07:30 +00:00
} ;
_ _exports . _ _widl _f _viewport _WebGLRenderingContext = function ( arg0 , arg1 , arg2 , arg3 , arg4 ) {
2019-01-17 23:34:01 +00:00
getObject ( arg0 ) . viewport ( arg1 , arg2 , arg3 , arg4 ) ;
2019-01-12 22:07:30 +00:00
} ;
_ _exports . _ _widl _f _drawing _buffer _width _WebGLRenderingContext = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
return getObject ( arg0 ) . drawingBufferWidth ;
2019-01-12 22:07:30 +00:00
} ;
_ _exports . _ _widl _f _drawing _buffer _height _WebGLRenderingContext = function ( arg0 ) {
2019-01-17 23:34:01 +00:00
return getObject ( arg0 ) . drawingBufferHeight ;
2019-01-12 22:07:30 +00:00
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _widl _instanceof _Window = function ( idx ) { return getObject ( idx ) instanceof Window ? 1 : 0 ; } ;
2019-01-04 13:14:32 +00:00
_ _exports . _ _widl _f _document _Window = function ( arg0 ) {
const val = getObject ( arg0 ) . document ;
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
2019-01-12 22:07:30 +00:00
_ _exports . _ _widl _f _performance _Window = function ( arg0 ) {
const val = getObject ( arg0 ) . performance ;
return isLikeNone ( val ) ? 0 : addHeapObject ( val ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _new _00eb63e4d0ee8796 = function ( arg0 ) {
2019-01-04 13:14:32 +00:00
return addHeapObject ( new Float32Array ( getObject ( arg0 ) ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _subarray _a64203346c9773d6 = function ( arg0 , arg1 , arg2 ) {
2019-01-04 13:14:32 +00:00
return addHeapObject ( getObject ( arg0 ) . subarray ( arg1 , arg2 ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _newnoargs _56431a307f4eb856 = function ( arg0 , arg1 ) {
2019-01-04 13:14:32 +00:00
let varg0 = getStringFromWasm ( arg0 , arg1 ) ;
return addHeapObject ( new Function ( varg0 ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _call _f6ee70703ec77c6c = function ( arg0 , arg1 , exnptr ) {
2019-01-04 13:14:32 +00:00
try {
return addHeapObject ( getObject ( arg0 ) . call ( getObject ( arg1 ) ) ) ;
} catch ( e ) {
2019-03-10 20:02:00 +00:00
handleError ( exnptr , e ) ;
2019-01-04 13:14:32 +00:00
}
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _new _138409b4887d6dd6 = function ( arg0 ) {
2019-01-04 13:14:32 +00:00
return addHeapObject ( new Int16Array ( getObject ( arg0 ) ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _subarray _783c98c421ae1b96 = function ( arg0 , arg1 , arg2 ) {
2019-01-04 13:14:32 +00:00
return addHeapObject ( getObject ( arg0 ) . subarray ( arg1 , arg2 ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _new _0763112334e4d8dd = function ( arg0 ) {
2019-01-04 13:14:32 +00:00
return addHeapObject ( new Uint8Array ( getObject ( arg0 ) ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _subarray _b0dbd9eb6fca9341 = function ( arg0 , arg1 , arg2 ) {
2019-01-04 13:14:32 +00:00
return addHeapObject ( getObject ( arg0 ) . subarray ( arg1 , arg2 ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _new _fad4b1eaf5748cf4 = function ( arg0 ) {
2019-01-05 14:28:07 +00:00
return addHeapObject ( new Uint16Array ( getObject ( arg0 ) ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _subarray _20d7705e928d8a85 = function ( arg0 , arg1 , arg2 ) {
2019-01-05 14:28:07 +00:00
return addHeapObject ( getObject ( arg0 ) . subarray ( arg1 , arg2 ) ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _instanceof _Memory _d6aeebcf1c6c121e = function ( idx ) { return getObject ( idx ) instanceof WebAssembly . Memory ? 1 : 0 ; } ;
2019-01-04 13:14:32 +00:00
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbg _buffer _8a74a93c17ac10c7 = function ( arg0 ) {
2019-01-04 13:14:32 +00:00
return addHeapObject ( getObject ( arg0 ) . buffer ) ;
} ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbindgen _string _new = function ( p , l ) { return addHeapObject ( getStringFromWasm ( p , l ) ) ; } ;
2019-01-04 13:14:32 +00:00
_ _exports . _ _wbindgen _boolean _get = function ( i ) {
let v = getObject ( i ) ;
2019-03-10 20:02:00 +00:00
return typeof ( v ) === 'boolean' ? ( v ? 1 : 0 ) : 2 ;
2019-01-04 13:14:32 +00:00
} ;
2019-02-09 22:00:07 +00:00
_ _exports . _ _wbindgen _debug _string = function ( i , len _ptr ) {
2019-03-10 20:02:00 +00:00
const debug _str =
val => {
2019-02-09 22:00:07 +00:00
// primitive types
const type = typeof val ;
if ( type == 'number' || type == 'boolean' || val == null ) {
return ` ${ val } ` ;
}
if ( type == 'string' ) {
return ` " ${ val } " ` ;
}
if ( type == 'symbol' ) {
const description = val . description ;
if ( description == null ) {
return 'Symbol' ;
} else {
return ` Symbol( ${ description } ) ` ;
}
}
if ( type == 'function' ) {
const name = val . name ;
if ( typeof name == 'string' && name . length > 0 ) {
return ` Function( ${ name } ) ` ;
} else {
return 'Function' ;
}
}
// objects
if ( Array . isArray ( val ) ) {
const length = val . length ;
let debug = '[' ;
if ( length > 0 ) {
debug += debug _str ( val [ 0 ] ) ;
}
for ( let i = 1 ; i < length ; i ++ ) {
debug += ', ' + debug _str ( val [ i ] ) ;
}
debug += ']' ;
return debug ;
}
// Test for built-in
const builtInMatches = /\[object ([^\]]+)\]/ . exec ( toString . call ( val ) ) ;
let className ;
if ( builtInMatches . length > 1 ) {
className = builtInMatches [ 1 ] ;
} else {
// Failed to match the standard '[object ClassName]'
return toString . call ( val ) ;
}
if ( className == 'Object' ) {
// we're a user defined class or Object
// JSON.stringify avoids problems with cycles, and is generally much
// easier than looping through ownProperties of `val`.
try {
return 'Object(' + JSON . stringify ( val ) + ')' ;
} catch ( _ ) {
return 'Object' ;
}
}
// errors
if ( val instanceof Error ) {
return ` ${ val . name } : ${ val . message }
$ { val . stack } ` ;
}
// TODO we could test for more things here, like `Set`s and `Map`s.
return className ;
2019-03-10 20:02:00 +00:00
}
;
const toString = Object . prototype . toString ;
2019-02-09 22:00:07 +00:00
const val = getObject ( i ) ;
const debug = debug _str ( val ) ;
const ptr = passStringToWasm ( debug ) ;
getUint32Memory ( ) [ len _ptr / 4 ] = WASM _VECTOR _LEN ;
return ptr ;
2019-01-05 14:28:07 +00:00
} ;
2019-01-04 13:14:32 +00:00
_ _exports . _ _wbindgen _memory = function ( ) { return addHeapObject ( wasm . memory ) ; } ;
2019-03-10 20:02:00 +00:00
function dropObject ( idx ) {
if ( idx < 36 ) return ;
heap [ idx ] = heap _next ;
heap _next = idx ;
}
2019-01-04 13:14:32 +00:00
function takeObject ( idx ) {
const ret = getObject ( idx ) ;
dropObject ( idx ) ;
return ret ;
}
_ _exports . _ _wbindgen _rethrow = function ( idx ) { throw takeObject ( idx ) ; } ;
2019-01-19 16:10:28 +00:00
function freeState ( ptr ) {
wasm . _ _wbg _state _free ( ptr ) ;
}
/ * *
* /
class State {
static _ _wrap ( ptr ) {
const obj = Object . create ( State . prototype ) ;
obj . ptr = ptr ;
return obj ;
}
free ( ) {
const ptr = this . ptr ;
this . ptr = 0 ;
freeState ( ptr ) ;
}
}
_ _exports . State = State ;
2019-03-10 20:02:00 +00:00
_ _exports . _ _wbindgen _object _clone _ref = function ( idx ) {
return addHeapObject ( getObject ( idx ) ) ;
} ;
_ _exports . _ _wbindgen _object _drop _ref = function ( i ) { dropObject ( i ) ; } ;
2019-01-04 13:14:32 +00:00
_ _exports . _ _wbindgen _throw = function ( ptr , len ) {
throw new Error ( getStringFromWasm ( ptr , len ) ) ;
} ;
function init ( path _or _module ) {
let instantiation ;
2019-02-09 22:00:07 +00:00
const imports = { './example' : _ _exports } ;
2019-01-04 13:14:32 +00:00
if ( path _or _module instanceof WebAssembly . Module ) {
instantiation = WebAssembly . instantiate ( path _or _module , imports )
. then ( instance => {
return { instance , module : path _or _module }
} ) ;
} else {
const data = fetch ( path _or _module ) ;
if ( typeof WebAssembly . instantiateStreaming === 'function' ) {
2019-03-10 20:02:00 +00:00
instantiation = WebAssembly . instantiateStreaming ( data , imports )
. catch ( e => {
console . warn ( "`WebAssembly.instantiateStreaming` failed. Assuming this is because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n" , e ) ;
return data
. then ( r => r . arrayBuffer ( ) )
. then ( bytes => WebAssembly . instantiate ( bytes , imports ) ) ;
} ) ;
2019-01-04 13:14:32 +00:00
} else {
instantiation = data
. then ( response => response . arrayBuffer ( ) )
. then ( buffer => WebAssembly . instantiate ( buffer , imports ) ) ;
}
}
return instantiation . then ( ( { instance } ) => {
wasm = init . wasm = instance . exports ;
} ) ;
} ;
self . wasm _bindgen = Object . assign ( init , _ _exports ) ;
} ) ( ) ;