UNPKG

d3fc-webgl-as

Version:

A WebAssembly support library for d3fc-webgl

1 lines 21.2 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.fcWebglAS={}))})(this,function(exports){"use strict";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var hasBigInt64=typeof BigUint64Array!=="undefined";var thisPtr=Symbol();function getStringImpl(U32,U16,ptr){var dataLength=U32[ptr>>>2];var dataOffset=ptr+4>>>1;var dataRemain=dataLength;var parts=[];var chunkSize=1024;while(dataRemain>chunkSize){var last=U16[dataOffset+chunkSize-1];var size=last>=55296&&last<56320?chunkSize-1:chunkSize;var part=U16.subarray(dataOffset,dataOffset+=size);parts.push(String.fromCharCode.apply(String,part));dataRemain-=size}return parts.join("")+String.fromCharCode.apply(String,U16.subarray(dataOffset,dataOffset+dataRemain))}function preInstantiate(imports){var baseModule={};function getString(memory,ptr){if(!memory)return"<yet unknown>";var buffer=memory.buffer;return getStringImpl(new Uint32Array(buffer),new Uint16Array(buffer),ptr)}var env=imports.env=imports.env||{};env.abort=env.abort||function abort(mesg,file,line,colm){var memory=baseModule.memory||env.memory;throw Error("abort: "+getString(memory,mesg)+" at "+getString(memory,file)+":"+line+":"+colm)};env.trace=env.trace||function trace(mesg,n){var memory=baseModule.memory||env.memory;console.log("trace: "+getString(memory,mesg)+(n?" ":"")+Array.prototype.slice.call(arguments,2,2+n).join(", "))};imports.Math=imports.Math||Math;imports.Date=imports.Date||Date;return baseModule}function postInstantiate(baseModule,instance){var rawExports=instance.exports;var memory=rawExports.memory;var memory_allocate=rawExports["memory.allocate"];var memory_fill=rawExports["memory.fill"];var memory_free=rawExports["memory.free"];var table=rawExports.table;var setargc=rawExports._setargc||function(){};var buffer,I8,U8,I16,U16,I32,U32,F32,F64,I64,U64;function checkMem(){if(buffer!==memory.buffer){buffer=memory.buffer;I8=new Int8Array(buffer);U8=new Uint8Array(buffer);I16=new Int16Array(buffer);U16=new Uint16Array(buffer);I32=new Int32Array(buffer);U32=new Uint32Array(buffer);if(hasBigInt64){I64=new BigInt64Array(buffer);U64=new BigUint64Array(buffer)}F32=new Float32Array(buffer);F64=new Float64Array(buffer)}}checkMem();function newString(str){var dataLength=str.length;var ptr=memory_allocate(4+(dataLength<<1));var dataOffset=4+ptr>>>1;checkMem();U32[ptr>>>2]=dataLength;for(var i=0;i<dataLength;++i){U16[dataOffset+i]=str.charCodeAt(i)}return ptr}baseModule.newString=newString;function getString(ptr){checkMem();return getStringImpl(U32,U16,ptr)}baseModule.getString=getString;function computeBufferSize(byteLength){var HEADER_SIZE=8;return 1<<32-Math.clz32(byteLength+HEADER_SIZE-1)}function newArray(view,length,unsafe){var ctor=view.constructor;if(ctor===Function){ctor=view;view=null}else{if(length===undefined)length=view.length}var elementSize=ctor.BYTES_PER_ELEMENT;if(!elementSize)throw Error("not a typed array");var byteLength=elementSize*length;var ptr=memory_allocate(12);var buf=memory_allocate(computeBufferSize(byteLength));checkMem();U32[ptr>>>2]=buf;U32[ptr+4>>>2]=0;U32[ptr+8>>>2]=byteLength;U32[buf>>>2]=byteLength;U32[buf+4>>>2]=0;if(view){new ctor(buffer,buf+8,length).set(view);if(view.length<length&&!unsafe){var setLength=elementSize*view.length;memory_fill(buf+8+setLength,0,byteLength-setLength)}}else if(!unsafe){memory_fill(buf+8,0,byteLength)}return ptr}baseModule.newArray=newArray;function getArray(ctor,ptr){var elementSize=ctor.BYTES_PER_ELEMENT;if(!elementSize)throw Error("not a typed array");checkMem();var buf=U32[ptr>>>2];var byteOffset=U32[ptr+4>>>2];var byteLength=U32[ptr+8>>>2];return new ctor(buffer,buf+8+byteOffset,(byteLength-byteOffset)/elementSize)}baseModule.getArray=getArray;function freeArray(ptr){checkMem();var buf=U32[ptr>>>2];memory_free(buf);memory_free(ptr)}baseModule.freeArray=freeArray;function newFunction(fn){if(typeof fn.original==="function")fn=fn.original;var index=table.length;table.grow(1);table.set(index,fn);return index}baseModule.newFunction=newFunction;function getFunction(ptr){return wrapFunction(table.get(ptr),setargc)}baseModule.getFunction=getFunction;baseModule.memory=baseModule.memory||memory;baseModule.table=baseModule.table||table;return demangle(rawExports,Object.defineProperties(baseModule,{I8:{get:function get(){checkMem();return I8}},U8:{get:function get(){checkMem();return U8}},I16:{get:function get(){checkMem();return I16}},U16:{get:function get(){checkMem();return U16}},I32:{get:function get(){checkMem();return I32}},U32:{get:function get(){checkMem();return U32}},I64:{get:function get(){checkMem();return I64}},U64:{get:function get(){checkMem();return U64}},F32:{get:function get(){checkMem();return F32}},F64:{get:function get(){checkMem();return F64}}}))}function wrapFunction(fn,setargc){var wrap=function wrap(){setargc(arguments.length);return fn.apply(void 0,arguments)};wrap.original=fn;return wrap}function instantiateStreaming(_x,_x2){return _instantiateStreaming.apply(this,arguments)}function _instantiateStreaming(){_instantiateStreaming=_asyncToGenerator(regeneratorRuntime.mark(function _callee(response,imports){return regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.t0=postInstantiate;_context.t1=preInstantiate(imports||(imports={}));_context.next=4;return WebAssembly.instantiateStreaming(response,imports);case 4:_context.t2=_context.sent.instance;return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t2));case 6:case"end":return _context.stop()}}},_callee)}));return _instantiateStreaming.apply(this,arguments)}var instantiateStreaming_1=instantiateStreaming;function demangle(exports,baseModule){var module=baseModule?Object.create(baseModule):{};var setargc=exports._setargc||function(){};function hasOwnProperty(elem,prop){return Object.prototype.hasOwnProperty.call(elem,prop)}var _loop=function _loop(internalName){if(!hasOwnProperty(exports,internalName))return"continue";var elem=exports[internalName];var parts=internalName.split(".");var curr=module;while(parts.length>1){var part=parts.shift();if(!hasOwnProperty(curr,part))curr[part]={};curr=curr[part]}var name=parts[0];var hash=name.indexOf("#");if(hash>=0){var className=name.substring(0,hash);var classElem=curr[className];if(typeof classElem==="undefined"||!classElem.prototype){var ctor=function ctor(){var _ctor$prototype;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return ctor.wrap((_ctor$prototype=ctor.prototype).constructor.apply(_ctor$prototype,[0].concat(args)))};ctor.prototype={};ctor.wrap=function(thisValue){return Object.create(ctor.prototype,_defineProperty({},thisPtr,{value:thisValue,writable:false}))};if(classElem)Object.getOwnPropertyNames(classElem).forEach(function(name){return Object.defineProperty(ctor,name,Object.getOwnPropertyDescriptor(classElem,name))});curr[className]=ctor}name=name.substring(hash+1);curr=curr[className].prototype;if(/^(get|set):/.test(name)){if(!hasOwnProperty(curr,name=name.substring(4))){var getter=exports[internalName.replace("set:","get:")];var setter=exports[internalName.replace("get:","set:")];Object.defineProperty(curr,name,{get:function get(){return getter(this[thisPtr])},set:function set(value){setter(this[thisPtr],value)},enumerable:true})}}else{if(name==="constructor"){curr[name]=wrapFunction(elem,setargc)}else{Object.defineProperty(curr,name,{value:function value(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}setargc(args.length);return elem.apply(void 0,[this[thisPtr]].concat(args))}})}}}else{if(/^(get|set):/.test(name)){if(!hasOwnProperty(curr,name=name.substring(4))){Object.defineProperty(curr,name,{get:exports[internalName.replace("set:","get:")],set:exports[internalName.replace("get:","set:")],enumerable:true})}}else if(typeof elem==="function"){curr[name]=wrapFunction(elem,setargc)}else{curr[name]=elem}}};for(var internalName in exports){var _ret=_loop(internalName);if(_ret==="continue")continue}return module}var encoded="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";var optimized=new Promise(function(resolve){var decoded=atob(encoded);var len=decoded.length;var bytes=new Uint8Array(len);for(var i=0;i<len;i++){bytes[i]=decoded.charCodeAt(i)}resolve(new Response(bytes,{status:200,headers:{"Content-Type":"application/wasm"}}))});var api={};var promise=instantiateStreaming_1(optimized).then(function(inst){return Object.assign(api,{inst:inst})});var api$1=function(){return promise};var circles=function(){var pixelX=1;var pixelY=1;var lineWidth=0;var callback=function callback(){};var circles=function circles(points,totalSegments){var inst=api.inst;var in_buffer;var out_buffer;var edge_buffer;try{out_buffer=inst.newArray(Float32Array,totalSegments*6,true);in_buffer=points.__forWASM?points.__forWASM:inst.newArray(points);inst.circles(in_buffer,totalSegments,pixelX,pixelY,out_buffer);var edgeArray=null;if(lineWidth>0){edge_buffer=inst.newArray(Float32Array,totalSegments*6,true);inst.edges(out_buffer,lineWidth,pixelX,pixelY,edge_buffer);edgeArray=inst.getArray(Float32Array,edge_buffer)}callback(inst.getArray(Float32Array,out_buffer),edgeArray)}finally{if(in_buffer)inst.freeArray(in_buffer);if(out_buffer)inst.freeArray(out_buffer);if(edge_buffer)inst.freeArray(edge_buffer)}};circles.pixelX=function(){if(!arguments.length){return pixelX}pixelX=arguments.length<=0?undefined:arguments[0];return circles};circles.pixelY=function(){if(!arguments.length){return pixelY}pixelY=arguments.length<=0?undefined:arguments[0];return circles};circles.lineWidth=function(){if(!arguments.length){return lineWidth}lineWidth=arguments.length<=0?undefined:arguments[0];return circles};circles.callback=function(){if(!arguments.length){return callback}callback=arguments.length<=0?undefined:arguments[0];return circles};return circles};var shapes=function(){var pixelX=1;var pixelY=1;var lineWidth=0;var shape=[];var callback=function callback(){};var shapes=function shapes(points){var inst=api.inst;var in_buffer;var shape_buffer;var out_buffer;var edge_buffer;try{var totalSegments=points.length/3*(shape.length/2-1);out_buffer=inst.newArray(Float32Array,totalSegments*6,true);in_buffer=points.__forWASM?points.__forWASM:inst.newArray(points);shape_buffer=inst.newArray(shape);inst.shapes(in_buffer,shape_buffer,pixelX,pixelY,out_buffer);var edgeArray=null;if(lineWidth>0){edge_buffer=inst.newArray(Float32Array,totalSegments*6,true);inst.edges(out_buffer,lineWidth,pixelX,pixelY,edge_buffer);edgeArray=inst.getArray(Float32Array,edge_buffer)}callback(inst.getArray(Float32Array,out_buffer),edgeArray)}finally{if(in_buffer)inst.freeArray(in_buffer);if(shape_buffer)inst.freeArray(shape_buffer);if(out_buffer)inst.freeArray(out_buffer);if(edge_buffer)inst.freeArray(edge_buffer)}};shapes.pixelX=function(){if(!arguments.length){return pixelX}pixelX=arguments.length<=0?undefined:arguments[0];return shapes};shapes.pixelY=function(){if(!arguments.length){return pixelY}pixelY=arguments.length<=0?undefined:arguments[0];return shapes};shapes.lineWidth=function(){if(!arguments.length){return lineWidth}lineWidth=arguments.length<=0?undefined:arguments[0];return shapes};shapes.shape=function(){if(!arguments.length){return shape}shape=arguments.length<=0?undefined:arguments[0];return shapes};shapes.callback=function(){if(!arguments.length){return callback}callback=arguments.length<=0?undefined:arguments[0];return shapes};return shapes};var array_allocator=function(size){var inst=api.inst;var memory=inst.newArray(Float32Array,size,true);var array=inst.getArray(Float32Array,memory);array.__forWASM=memory;return array};var pointData=function(){var circles=false;var pointFn=function pointFn(d){return{x:d.x,y:d.y,size:d.size}};var pointData=function pointData(data){var dataPerPoint=circles?4:3;var result=array_allocator(data.length*dataPerPoint);var allSegments=0;var index=0;data.forEach(function(d){var dataPoint=pointFn(d);result[index++]=dataPoint.x;result[index++]=dataPoint.y;var size=Math.floor(Math.sqrt(dataPoint.size)*.65);result[index++]=size;if(circles){var segments=size*2;result[index++]=segments;allSegments+=segments}});return{data:result,segmentCount:allSegments}};pointData.circles=function(){if(!arguments.length){return circles}circles=arguments.length<=0?undefined:arguments[0];return pointData};pointData.pointFn=function(){if(!arguments.length){return pointFn}pointFn=arguments.length<=0?undefined:arguments[0];return pointData};return pointData};exports.circles=circles;exports.loadApi=api$1;exports.pointData=pointData;exports.shapes=shapes;Object.defineProperty(exports,"__esModule",{value:true})});