Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
fcbuffer
Advanced tools
Readme
Serialization library geared towards immutable data storage such as blockchains.
FC Buffer is a recent refactor from serialization code used in Bitshares and Steem. Some of the serialization code was reduced and the definitions language added. The definition format may change.
Fcbuffer = require('fcbuffer') // or: Fcbuffer = require('./src')
assert = require('assert')
definitions = {
message_type: 'fixed_string16', // CustomType: built-in type
account_name: 'fixed_string32', // CustomType: built-in type
message: { // struct
fields: {
from: 'account_name',
to: 'account_name',
cc: 'account_name[]',
type: 'message_type',
data: 'bytes' // built-in type
}
}
}
// Warning: Do not use {defaults: true} in production
fcbuffer = Fcbuffer(definitions, {defaults: true})
// Check for errors anywhere in the definitions structure
assert(fcbuffer.errors.length === 0, fcbuffer.errors)
// If there are no errors, you'll get your structs
var {message} = fcbuffer.structs
// Create JSON serializable object
// returns { from: '', to: '', cc: [ '' ], type: '', data: '' }
message.toObject()
// Convert JSON into a more compact fcbuffer serializable object
msg = { from: 'jc', to: 'dan', cc: [ 'abc' ], type: '', data: '0f0f0f' }
// Serialize fcbuffer object into a single binary buffer
buf = Fcbuffer.toBuffer(message, msg)
// returns <Buffer 02 6a 63 07 63 68 61 72 6c 65 73 01 03 61 62 63 00 03 0f 0f 0f>
// Convert binary back into a new (cloned) object
obj = Fcbuffer.fromBuffer(message, buf)
// Check that the new object matches the original
assert.deepEqual(msg, obj)
// A definition may extend and define other definitions. This works in the initial
// definition or later via the extend function.
fcbuffer2 = fcbuffer.extend({
permission_name: 'fixed_string16',
permission_level: {
fields: {
actor: 'account_name',
permission: 'permission_name'
}
}
})
assert(fcbuffer2.errors.length === 0, fcbuffer2.errors)
var {permission_level} = fcbuffer2.structs
permission_level.toObject()
// toObject returns: { actor: '', permission: '' }
Node 6+ and browser (browserify, webpack, etc)
FAQs
Serialization library geared towards immutable data storage such as blockchains.
The npm package fcbuffer receives a total of 201 weekly downloads. As such, fcbuffer popularity was classified as not popular.
We found that fcbuffer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.