UNPKG

capnp-js

Version:

Capnproto run-time decoding and encoding for Node

15 lines (14 loc) 621 B
var reader = require('../../reader/layout/list'); var fields = require('../fields'); var upgrade = require('../upgrade'); module.exports = function(List) { List._deref = function(arena, pointer) { var instance = new List(arena, false, reader.unsafe(arena, pointer)); var rt = instance._rt(); if (rt.dataBytes < List._CT.dataBytes || rt.pointersBytes < List._CT.pointersBytes) { upgrade.list(arena, pointer, List._CT); return new List(arena, false, reader.unsafe(arena, pointer)); } return instance; }; };