scripts: remove coercion, fromASM returns Buffer

This commit is contained in:
Daniel Cousens 2015-08-14 10:31:48 +10:00
parent 812d74aa0a
commit 151386c46d
6 changed files with 60 additions and 68 deletions

View file

@ -3,20 +3,10 @@ var opcodes = require('./opcodes')
var typeforce = require('typeforce')
var types = require('./types')
function coerceChunks (chunks) {
if (types.Array(chunks)) return chunks
return decompile(chunks)
}
function coerceBuffer (buffer) {
if (types.Buffer(buffer)) return buffer
return compile(buffer)
}
function toASM (chunks) {
chunks = coerceChunks(chunks)
if (types.Buffer(chunks)) {
chunks = decompile(chunks)
}
return chunks.map(function (chunk) {
// data chunk
@ -45,11 +35,12 @@ function fromASM (asm) {
}
})
return chunks
return compile(chunks)
}
function compile (chunks) {
chunks = coerceChunks(chunks)
// TODO: remove me
if (types.Buffer(chunks)) return chunks
typeforce(types.Array, chunks)
@ -86,7 +77,8 @@ function compile (chunks) {
}
function decompile (buffer) {
buffer = coerceBuffer(buffer)
// TODO: remove me
if (types.Array(buffer)) return buffer
typeforce(types.Buffer, buffer)
@ -132,6 +124,6 @@ for (var op in opcodes) {
module.exports = {
compile: compile,
decompile: decompile,
toASM: toASM,
fromASM: fromASM
fromASM: fromASM,
toASM: toASM
}