capnp-js
Version:
Capnproto run-time decoding and encoding for Node
34 lines (33 loc) • 1.33 kB
JavaScript
var decode = require('../primitives');
var Data = require('../Data');
var Text = require('../Text');
var primitive = require('./primitive');
var structure = require('./structure');
var pointer = require('./pointer');
var Void = require('./Void');
var Bool = require('./Bool');
var sizes = require('./sizes');
var primitiveCt = function(dataBytes) {
return {
meta: 1,
layout: sizes[dataBytes][0],
dataBytes: dataBytes,
pointersBytes: 0
};
};
exports.struct = structure;
exports.list = pointer;
exports.Void = Void;
exports.Bool = Bool;
exports.Int8 = primitive(decode.int8, primitiveCt(1), "L|I1");
exports.Int16 = primitive(decode.int16, primitiveCt(2), "L|I2");
exports.Int32 = primitive(decode.int32, primitiveCt(4), "L|I4");
exports.Int64 = primitive(decode.int64, primitiveCt(8), "L|I8");
exports.UInt8 = primitive(decode.uint8, primitiveCt(1), "L|U1");
exports.UInt16 = primitive(decode.uint16, primitiveCt(2), "L|U2");
exports.UInt32 = primitive(decode.uint32, primitiveCt(4), "L|U4");
exports.UInt64 = primitive(decode.uint64, primitiveCt(8), "L|U8");
exports.Float32 = primitive(decode.float32, primitiveCt(4), "L|F4");
exports.Float64 = primitive(decode.float64, primitiveCt(8), "L|F8");
exports.Data = pointer(Data);
exports.Text = pointer(Text);