UNPKG

capnp-js

Version:

Capnproto run-time decoding and encoding for Node

44 lines (43 loc) 1.37 kB
var type = require('../type'); var statics = require('./list/statics'); var methods = require('./list/methods'); var t = new type.Terminal(); var ct = { meta: 1, layout: 2, dataBytes: 1, pointersBytes: 0 }; var Text = function(arena, depth, isOrphan, layout) { this._arena = arena; this._depth = depth; this._isOrphan = isOrphan; this._segment = layout.segment; this._begin = layout.begin; this._length = layout.length; this._dataBytes = 1; this._pointersBytes = 0; this._arena.limiter.read(layout.segment, layout.begin, layout.length); }; Text._TYPE = t; Text._CT = ct; Text._FIELD = {}; Text._HASH = "T"; Text._B64_NULL = "AQAAAAoAAAAAAAAAAAAAAA=="; statics.install(Text); Text.prototype = { _TYPE: t, _CT: ct, _rt: methods.rt, _layout: methods.layout }; Text.prototype.asBytesNull = function() { return this._segment.slice(this._begin, this._begin + this._length); }; Text.prototype.asBytes = function() { return this._segment.slice(this._begin, this._begin + this._length - 1); }; Text.prototype.toString = function() { return this._segment.toString("utf8", this._begin, this._begin + this._length - 1); }; module.exports = Text;