Comparing version 1.0.3 to 1.0.4
/* eslint-env mocha */ | ||
const assert = require('assert') | ||
const ByteBuffer = require('bytebuffer') | ||
@@ -231,2 +232,3 @@ const Fcbuffer = require('.') | ||
const ser = (object.type || '') == '' ? fields.data : structs[object.type] | ||
b.readVarint32() | ||
object.data = ser.fromByteBuffer(b, config) | ||
@@ -236,3 +238,6 @@ }, | ||
const ser = (object.type || '') == '' ? fields.data : structs[object.type] | ||
ser.appendByteBuffer(b, object.data) | ||
const b2 = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN) | ||
ser.appendByteBuffer(b2, object.data) | ||
b.writeVarint32(b2.offset) | ||
b.append(b2.copy(0, b2.offset), 'binary') | ||
}, | ||
@@ -280,6 +285,6 @@ 'Message.data.fromObject': ({fields, serializedObject, result}) => { | ||
const obj2 = Fcbuffer.fromBuffer(type, buf) // tests fromByteBuffer | ||
const obj3 = type.toObject(obj) // tests toObject | ||
// tests toObject | ||
deepEqual(value, type.toObject(obj), 'serialize object') | ||
deepEqual(type.toObject(obj), obj2, 'serialize buffer') | ||
deepEqual(value, obj3, 'serialize object') | ||
deepEqual(obj3, obj2, 'serialize buffer') | ||
} | ||
@@ -286,0 +291,0 @@ |
{ | ||
"name": "fcbuffer", | ||
"description": "Serialization library geared towards immutable data storage such as blockchains.", | ||
"version": "1.0.3", | ||
"version": "1.0.4", | ||
"main": "index.js", | ||
@@ -6,0 +6,0 @@ "license": "MIT", |
@@ -31,2 +31,3 @@ [![Build Status](https://travis-ci.org/jcalfee/fcbuffer.svg?branch=master)](https://travis-ci.org/jcalfee/fcbuffer) | ||
Fcbuffer = require('fcbuffer') // or: Fcbuffer = require('.') | ||
assert = require('assert') | ||
@@ -33,0 +34,0 @@ |
@@ -188,6 +188,6 @@ const ByteBuffer = require('bytebuffer') | ||
function fromBuffer (type, buffer) { | ||
function fromBuffer (type, buffer, toObject = true) { | ||
const b = ByteBuffer.fromBinary(buffer.toString('binary'), ByteBuffer.LITTLE_ENDIAN) | ||
const struct = type.fromByteBuffer(b) | ||
return type.toObject(struct) | ||
return toObject ? type.toObject(struct) : struct | ||
} | ||
@@ -194,0 +194,0 @@ |
@@ -150,9 +150,21 @@ const ByteBuffer = require('bytebuffer') | ||
if (config.debug) { | ||
let b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN) | ||
if (serializedObject != null) { | ||
const value = serializedObject[field] | ||
if (value) { type.appendByteBuffer(b, value) } | ||
try { | ||
let b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN) | ||
if (serializedObject != null) { | ||
const value = serializedObject[field] | ||
if (value) { | ||
const appendByteBuffer = config.override[`${name}.${field}.appendByteBuffer`] | ||
if(toObject && appendByteBuffer) { // FIXME | ||
appendByteBuffer({fields, serializedObject, b}) | ||
} else { | ||
type.appendByteBuffer(b, value) | ||
} | ||
} | ||
} | ||
b = b.copy(0, b.offset) | ||
console.error(name + '.' + field, b.toHex()) | ||
} catch(error) { // work-around to prevent debug time crash | ||
console.error('DEBUG', name + '.' + field, error.toString()) | ||
} | ||
b = b.copy(0, b.offset) | ||
console.error(name + '.' + field, b.toHex()) | ||
} | ||
@@ -159,0 +171,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
67046
998
102