1.1.2 • Published 6 years ago
@electrk/dso v1.1.2
dso.js
A DSO decompiler for Blockland.
Installation
npm install @electrk/dso
Usage
Use with the buffer package.
Browser Example:
import { Buffer } from 'buffer/';
import { decompiler } from '@electrk/dso';
// An HTML <input> element with the type "file" and an ID of "fileUpload"
document.getElementById ('fileUpload').onchange = function ( event )
{
if ( event.target.files.length <= 0 )
{
return;
}
const file = event.target.files[0];
const reader = new FileReader ();
reader.readAsArrayBuffer (file);
reader.onload = function ( readerEvent )
{
const buffer = Buffer.from (readerEvent.target.result);
const codeString = decompiler.decompileDSO (buffer);
console.log (codeString);
};
};Node.js Example:
const fs = require ('fs');
const { decompiler } = require ('@electrk/dso');
fs.readFile ('./myFile.cs.dso', ( error, buffer ) =>
{
if ( error )
{
console.error (error);
return;
}
const codeString = decompiler.decompileDSO (buffer);
fs.writeFileSync ('./myFile.cs', codeString);
});Decompiler Options
The optional second argument of decompileDSO is an options object.
The only one at the moment is the outputArray boolean, which is false by default. When set to true, it makes decompileDSO output a nested code array instead of a string.
Enable the option like this:
decompiler.decompileDSO (buffer, { outputArray: true });