@yowasp/openfpgaloader 0.0.0-experimental0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/gen/bundle.js +4902 -0
- package/gen/openFPGALoader.wasm +0 -0
- package/gen/openFPGALoader.worker.js +1 -0
- package/lib/api.d.ts +31 -0
- package/package.json +33 -0
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Module={};var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler:handler,args:args})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./openFPGALoader.mjs")).then(exports=>exports.default(Module))}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["__emscripten_thread_mailbox_await"](e.data.pthread_ptr);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){Module["__embind_initialize_bindings"]();initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="checkMailbox"){if(initializedJS){Module["checkMailbox"]()}}else if(e.data.cmd){err(`worker.js received unknown command ${e.data.cmd}`);err(e.data)}}catch(ex){Module["__emscripten_thread_crashed"]?.();throw ex}}self.onmessage=handleMessage;
|
package/lib/api.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type Tree = {
|
|
2
|
+
[name: string]: Tree | string | Uint8Array
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
export class Exit extends Error {
|
|
6
|
+
code: number;
|
|
7
|
+
files: Tree;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type Command = {
|
|
11
|
+
(args?: string[], files?: Tree, options?: {
|
|
12
|
+
print?: (chars: string) => void,
|
|
13
|
+
printLine?: (line: string) => void
|
|
14
|
+
}): Promise<Tree>;
|
|
15
|
+
|
|
16
|
+
requiresUSBDevice: {
|
|
17
|
+
vendorId?: number,
|
|
18
|
+
productId?: number,
|
|
19
|
+
classCode?: number,
|
|
20
|
+
subclassCode?: number,
|
|
21
|
+
protocolCode?: number,
|
|
22
|
+
serialNumber?: number
|
|
23
|
+
}[];
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
export const runOpenFPGALoader: Command;
|
|
28
|
+
|
|
29
|
+
export const commands: {
|
|
30
|
+
'openFPGALoader': Command,
|
|
31
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@yowasp/openfpgaloader",
|
|
3
|
+
"version": "0.0.0-experimental0",
|
|
4
|
+
"description": "WebUSB port of openFPGALoader, universal utility for programming FPGA",
|
|
5
|
+
"author": "Catherine <whitequark@whitequark.org>",
|
|
6
|
+
"license": "ISC",
|
|
7
|
+
"homepage": "https://yowasp.org/",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/YoWASP/openFPGALoader-web.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/YoWASP/openFPGALoader-web/issues"
|
|
14
|
+
},
|
|
15
|
+
"type": "module",
|
|
16
|
+
"files": [
|
|
17
|
+
"lib/api.d.ts",
|
|
18
|
+
"gen/bundle.js",
|
|
19
|
+
"gen/openFPGALoader.worker.js",
|
|
20
|
+
"gen/openFPGALoader.wasm"
|
|
21
|
+
],
|
|
22
|
+
"exports": {
|
|
23
|
+
"browser": "./gen/bundle.js",
|
|
24
|
+
"types": "./lib/api.d.ts"
|
|
25
|
+
},
|
|
26
|
+
"types": "./lib/api.d.ts",
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"esbuild": "^0.19.8"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "esbuild --bundle lib/api.js --outfile=gen/bundle.js --format=esm --platform=browser"
|
|
32
|
+
}
|
|
33
|
+
}
|