PHP 8.2.30
Preview: main.cjs.map Size: 55.19 KB
/home/byroehnu/.trash/node_modules11/restructure/dist/main.cjs.map

{"mappings":"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","sources":["index.js","src/EncodeStream.js","src/DecodeStream.js","src/Array.js","src/Base.js","src/Number.js","src/utils.js","src/LazyArray.js","src/Bitfield.js","src/Boolean.js","src/Buffer.js","src/Enum.js","src/Optional.js","src/Reserved.js","src/String.js","src/Struct.js","src/VersionedStruct.js","src/Pointer.js"],"sourcesContent":["export {EncodeStream} from './src/EncodeStream.js';\nexport {DecodeStream} from './src/DecodeStream.js';\nexport {Array} from './src/Array.js';\nexport {LazyArray} from './src/LazyArray.js';\nexport {Bitfield} from './src/Bitfield.js';\nexport {Boolean} from './src/Boolean.js';\nexport {Buffer} from './src/Buffer.js';\nexport {Enum} from './src/Enum.js';\nexport {Optional} from './src/Optional.js';\nexport {Reserved} from './src/Reserved.js';\nexport {String} from './src/String.js';\nexport {Struct} from './src/Struct.js';\nexport {VersionedStruct} from './src/VersionedStruct.js';\n\nexport * from './src/utils.js';\nexport * from './src/Number.js';\nexport * from './src/Pointer.js';\n","import {DecodeStream} from './DecodeStream.js';\n\nconst textEncoder = new TextEncoder();\nconst isBigEndian = new Uint8Array(new Uint16Array([0x1234]).buffer)[0] == 0x12;\n\nexport class EncodeStream {\n  constructor(buffer) {\n    this.buffer = buffer;\n    this.view = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n    this.pos = 0;\n  }\n\n  writeBuffer(buffer) {\n    this.buffer.set(buffer, this.pos);\n    this.pos += buffer.length;\n  }\n\n  writeString(string, encoding = 'ascii') {\n    let buf;\n    switch (encoding) {\n      case 'utf16le':\n      case 'utf16-le':\n      case 'ucs2': // node treats this the same as utf16.\n        buf = stringToUtf16(string, isBigEndian);\n        break;\n\n      case 'utf16be':\n      case 'utf16-be':\n        buf = stringToUtf16(string, !isBigEndian);\n        break;\n\n      case 'utf8':\n        buf = textEncoder.encode(string);\n        break;\n\n      case 'ascii':\n        buf = stringToAscii(string);\n        break;\n\n      default:\n        throw new Error(`Unsupported encoding: ${encoding}`);\n    }\n\n    this.writeBuffer(buf);\n  }\n\n  writeUInt24BE(val) {\n    this.buffer[this.pos++] = (val >>> 16) & 0xff;\n    this.buffer[this.pos++] = (val >>> 8) & 0xff;\n    this.buffer[this.pos++] = val & 0xff;\n  }\n\n  writeUInt24LE(val) {\n    this.buffer[this.pos++] = val & 0xff;\n    this.buffer[this.pos++] = (val >>> 8) & 0xff;\n    this.buffer[this.pos++] = (val >>> 16) & 0xff;\n  }\n\n  writeInt24BE(val) {\n    if (val >= 0) {\n      this.writeUInt24BE(val);\n    } else {\n      this.writeUInt24BE(val + 0xffffff + 1);\n    }\n  }\n\n  writeInt24LE(val) {\n    if (val >= 0) {\n      this.writeUInt24LE(val);\n    } else {\n      this.writeUInt24LE(val + 0xffffff + 1);\n    }\n  }\n\n  fill(val, length) {\n    if (length < this.buffer.length) {\n      this.buffer.fill(val, this.pos, this.pos + length);\n      this.pos += length;\n    } else {\n      const buf = new Uint8Array(length);\n      buf.fill(val);\n      this.writeBuffer(buf);\n    }\n  }\n}\n\nfunction stringToUtf16(string, swap) {\n  let buf = new Uint16Array(string.length);\n  for (let i = 0; i < string.length; i++) {\n    let code = string.charCodeAt(i);\n    if (swap) {\n      code = (code >> 8) | ((code & 0xff) << 8);\n    }\n    buf[i] = code;\n  }\n  return new Uint8Array(buf.buffer);\n}\n\nfunction stringToAscii(string) {\n  let buf = new Uint8Array(string.length);\n  for (let i = 0; i < string.length; i++) {\n    // Match node.js behavior - encoding allows 8-bit rather than 7-bit.\n    buf[i] = string.charCodeAt(i);\n  }\n  return buf;\n}\n\nfor (let key of Object.getOwnPropertyNames(DataView.prototype)) {\n  if (key.slice(0, 3) === 'set') {\n    let type = key.slice(3).replace('Ui', 'UI');\n    if (type === 'Float32') {\n      type = 'Float';\n    } else if (type === 'Float64') {\n      type = 'Double';\n    }\n    let bytes = DecodeStream.TYPES[type];\n    EncodeStream.prototype['write' + type + (bytes === 1 ? '' : 'BE')] = function (value) {\n      this.view[key](this.pos, value, false);\n      this.pos += bytes;\n    };\n\n    if (bytes !== 1) {\n      EncodeStream.prototype['write' + type + 'LE'] = function (value) {\n        this.view[key](this.pos, value, true);\n        this.pos += bytes;\n      };\n    }\n  }\n}\n","// Node back-compat.\nconst ENCODING_MAPPING = {\n  utf16le: 'utf-16le',\n  ucs2: 'utf-16le',\n  utf16be: 'utf-16be'\n}\n\nexport class DecodeStream {\n  constructor(buffer) {\n    this.buffer = buffer;\n    this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n    this.pos = 0;\n    this.length = this.buffer.length;\n  }\n\n  readString(length, encoding = 'ascii') {\n    encoding = ENCODING_MAPPING[encoding] || encoding;\n\n    let buf = this.readBuffer(length);\n    try {\n      let decoder = new TextDecoder(encoding);\n      return decoder.decode(buf);\n    } catch (err) {\n      return buf;\n    }\n  }\n\n  readBuffer(length) {\n    return this.buffer.slice(this.pos, (this.pos += length));\n  }\n\n  readUInt24BE() {\n    return (this.readUInt16BE() << 8) + this.readUInt8();\n  }\n\n  readUInt24LE() {\n    return this.readUInt16LE() + (this.readUInt8() << 16);\n  }\n\n  readInt24BE() {\n    return (this.readInt16BE() << 8) + this.readUInt8();\n  }\n\n  readInt24LE() {\n    return this.readUInt16LE() + (this.readInt8() << 16);\n  }\n}\n\nDecodeStream.TYPES = {\n  UInt8: 1,\n  UInt16: 2,\n  UInt24: 3,\n  UInt32: 4,\n  Int8: 1,\n  Int16: 2,\n  Int24: 3,\n  Int32: 4,\n  Float: 4,\n  Double: 8\n};\n\nfor (let key of Object.getOwnPropertyNames(DataView.prototype)) {\n  if (key.slice(0, 3) === 'get') {\n    let type = key.slice(3).replace('Ui', 'UI');\n    if (type === 'Float32') {\n      type = 'Float';\n    } else if (type === 'Float64') {\n      type = 'Double';\n    }\n    let bytes = DecodeStream.TYPES[type];\n    DecodeStream.prototype['read' + type + (bytes === 1 ? '' : 'BE')] = function () {\n      const ret = this.view[key](this.pos, false);\n      this.pos += bytes;\n      return ret;\n    };\n\n    if (bytes !== 1) {\n      DecodeStream.prototype['read' + type + 'LE'] = function () {\n        const ret = this.view[key](this.pos, true);\n        this.pos += bytes;\n        return ret;\n      };\n    }\n  }\n}\n","import {Base} from './Base.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nclass ArrayT extends Base {\n  constructor(type, length, lengthType = 'count') {\n    super();\n    this.type = type;\n    this.length = length;\n    this.lengthType = lengthType;\n  }\n\n  decode(stream, parent) {\n    let length;\n    const { pos } = stream;\n\n    const res = [];\n    let ctx = parent;\n\n    if (this.length != null) {\n      length = utils.resolveLength(this.length, stream, parent);\n    }\n\n    if (this.length instanceof NumberT) {\n      // define hidden properties\n      Object.defineProperties(res, {\n        parent:         { value: parent },\n        _startOffset:   { value: pos },\n        _currentOffset: { value: 0, writable: true },\n        _length:        { value: length }\n      });\n\n      ctx = res;\n    }\n\n    if ((length == null) || (this.lengthType === 'bytes')) {\n      const target = (length != null) ?\n        stream.pos + length\n      : (parent != null ? parent._length : undefined) ?\n        parent._startOffset + parent._length\n      :\n        stream.length;\n\n      while (stream.pos < target) {\n        res.push(this.type.decode(stream, ctx));\n      }\n\n    } else {\n      for (let i = 0, end = length; i < end; i++) {\n        res.push(this.type.decode(stream, ctx));\n      }\n    }\n\n    return res;\n  }\n\n  size(array, ctx, includePointers = true) {\n    if (!array) {\n      return this.type.size(null, ctx) * utils.resolveLength(this.length, null, ctx);\n    }\n\n    let size = 0;\n    if (this.length instanceof NumberT) {\n      size += this.length.size();\n      ctx = {parent: ctx, pointerSize: 0};\n    }\n\n    for (let item of array) {\n      size += this.type.size(item, ctx);\n    }\n\n    if (ctx && includePointers && this.length instanceof NumberT) {\n      size += ctx.pointerSize;\n    }\n    \n    return size;\n  }\n\n  encode(stream, array, parent) {\n    let ctx = parent;\n    if (this.length instanceof NumberT) {\n      ctx = {\n        pointers: [],\n        startOffset: stream.pos,\n        parent\n      };\n\n      ctx.pointerOffset = stream.pos + this.size(array, ctx, false);\n      this.length.encode(stream, array.length);\n    }\n\n    for (let item of array) {\n      this.type.encode(stream, item, ctx);\n    }\n\n    if (this.length instanceof NumberT) {\n      let i = 0;\n      while (i < ctx.pointers.length) {\n        const ptr = ctx.pointers[i++];\n        ptr.type.encode(stream, ptr.val, ptr.parent);\n      }\n    }\n  }\n}\n\nexport {ArrayT as Array};\n","import {DecodeStream} from './DecodeStream.js';\nimport {EncodeStream} from './EncodeStream.js';\n\nexport class Base {\n  fromBuffer(buffer) {\n    let stream = new DecodeStream(buffer);\n    return this.decode(stream);\n  }\n\n  toBuffer(value) {\n    let size = this.size(value);\n    let buffer = new Uint8Array(size);\n    let stream = new EncodeStream(buffer);\n    this.encode(stream, value);\n    return buffer;\n  }\n}\n","import {DecodeStream} from './DecodeStream.js';\nimport {Base} from './Base.js';\n\nclass NumberT extends Base {\n  constructor(type, endian = 'BE') {\n    super();\n    this.type = type;\n    this.endian = endian;\n    this.fn = this.type;\n    if (this.type[this.type.length - 1] !== '8') {\n      this.fn += this.endian;\n    }\n  }\n\n  size() {\n    return DecodeStream.TYPES[this.type];\n  }\n\n  decode(stream) {\n    return stream[`read${this.fn}`]();\n  }\n\n  encode(stream, val) {\n    return stream[`write${this.fn}`](val);\n  }\n}\n\nexport {NumberT as Number};\n\nexport const uint8 = new NumberT('UInt8');\nexport const uint16be = new NumberT('UInt16', 'BE');\nexport const uint16 = uint16be;\nexport const uint16le = new NumberT('UInt16', 'LE');\nexport const uint24be = new NumberT('UInt24', 'BE');\nexport const uint24 = uint24be;\nexport const uint24le = new NumberT('UInt24', 'LE');\nexport const uint32be = new NumberT('UInt32', 'BE');\nexport const uint32 = uint32be;\nexport const uint32le = new NumberT('UInt32', 'LE');\nexport const int8 = new NumberT('Int8');\nexport const int16be = new NumberT('Int16', 'BE');\nexport const int16 = int16be;\nexport const int16le = new NumberT('Int16', 'LE');\nexport const int24be = new NumberT('Int24', 'BE');\nexport const int24 = int24be;\nexport const int24le = new NumberT('Int24', 'LE');\nexport const int32be = new NumberT('Int32', 'BE');\nexport const int32 = int32be;\nexport const int32le = new NumberT('Int32', 'LE');\nexport const floatbe = new NumberT('Float', 'BE');\nexport const float = floatbe;\nexport const floatle = new NumberT('Float', 'LE');\nexport const doublebe = new NumberT('Double', 'BE');\nexport const double = doublebe;\nexport const doublele = new NumberT('Double', 'LE');\n\nexport class Fixed extends NumberT {\n  constructor(size, endian, fracBits = size >> 1) {\n    super(`Int${size}`, endian);\n    this._point = 1 << fracBits;\n  }\n\n  decode(stream) {\n    return super.decode(stream) / this._point;\n  }\n\n  encode(stream, val) {\n    return super.encode(stream, (val * this._point) | 0);\n  }\n}\n\nexport const fixed16be = new Fixed(16, 'BE');\nexport const fixed16 = fixed16be;\nexport const fixed16le = new Fixed(16, 'LE');\nexport const fixed32be = new Fixed(32, 'BE');\nexport const fixed32 = fixed32be;\nexport const fixed32le = new Fixed(32, 'LE');\n","import {Number as NumberT} from './Number.js';\n\nexport function resolveLength(length, stream, parent) {\n  let res;\n  if (typeof length === 'number') {\n    res = length;\n\n  } else if (typeof length === 'function') {\n    res = length.call(parent, parent);\n\n  } else if (parent && (typeof length === 'string')) {\n    res = parent[length];\n\n  } else if (stream && length instanceof NumberT) {\n    res = length.decode(stream);\n  }\n\n  if (isNaN(res)) {\n    throw new Error('Not a fixed size');\n  }\n\n  return res;\n};\n\nexport class PropertyDescriptor {\n  constructor(opts = {}) {\n    this.enumerable = true;\n    this.configurable = true;\n\n    for (let key in opts) {\n      const val = opts[key];\n      this[key] = val;\n    }\n  }\n}\n","import {Array as ArrayT} from './Array.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nexport class LazyArray extends ArrayT {\n  decode(stream, parent) {\n    const { pos } = stream;\n    const length = utils.resolveLength(this.length, stream, parent);\n\n    if (this.length instanceof NumberT) {\n      parent = {\n        parent,\n        _startOffset: pos,\n        _currentOffset: 0,\n        _length: length\n      };\n    }\n\n    const res = new LazyArrayValue(this.type, length, stream, parent);\n\n    stream.pos += length * this.type.size(null, parent);\n    return res;\n  }\n\n  size(val, ctx) {\n    if (val instanceof LazyArrayValue) {\n      val = val.toArray();\n    }\n\n    return super.size(val, ctx);\n  }\n\n  encode(stream, val, ctx) {\n    if (val instanceof LazyArrayValue) {\n      val = val.toArray();\n    }\n\n    return super.encode(stream, val, ctx);\n  }\n}\n\nclass LazyArrayValue {\n  constructor(type, length, stream, ctx) {\n    this.type = type;\n    this.length = length;\n    this.stream = stream;\n    this.ctx = ctx;\n    this.base = this.stream.pos;\n    this.items = [];\n  }\n\n  get(index) {\n    if ((index < 0) || (index >= this.length)) {\n      return undefined;\n    }\n\n    if (this.items[index] == null) {\n      const { pos } = this.stream;\n      this.stream.pos = this.base + (this.type.size(null, this.ctx) * index);\n      this.items[index] = this.type.decode(this.stream, this.ctx);\n      this.stream.pos = pos;\n    }\n\n    return this.items[index];\n  }\n\n  toArray() {\n    const result = [];\n    for (let i = 0, end = this.length; i < end; i++) {\n      result.push(this.get(i));\n    }\n    return result;\n  }\n}\n","import {Base} from './Base.js';\n\nexport class Bitfield extends Base {\n  constructor(type, flags = []) {\n    super();\n    this.type = type;\n    this.flags = flags;\n  }\n\n  decode(stream) {\n    const val = this.type.decode(stream);\n\n    const res = {};\n    for (let i = 0; i < this.flags.length; i++) {\n      const flag = this.flags[i];\n      if (flag != null) {\n        res[flag] = !!(val & (1 << i));\n      }\n    }\n\n    return res;\n  }\n\n  size() {\n    return this.type.size();\n  }\n\n  encode(stream, keys) {\n    let val = 0;\n    for (let i = 0; i < this.flags.length; i++) {\n      const flag = this.flags[i];\n      if (flag != null) {\n        if (keys[flag]) { val |= (1 << i); }\n      }\n    }\n\n    return this.type.encode(stream, val);\n  }\n}\n","import {Base} from './Base.js';\n\nexport class BooleanT extends Base {\n  constructor(type) {\n    super();\n    this.type = type;\n  }\n\n  decode(stream, parent) {\n    return !!this.type.decode(stream, parent);\n  }\n\n  size(val, parent) {\n    return this.type.size(val, parent);\n  }\n\n  encode(stream, val, parent) {\n    return this.type.encode(stream, +val, parent);\n  }\n}\n\nexport {BooleanT as Boolean};\n","import {Base} from './Base.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nexport class BufferT extends Base {\n  constructor(length) {\n    super();\n    this.length = length;\n  }\n  \n  decode(stream, parent) {\n    const length = utils.resolveLength(this.length, stream, parent);\n    return stream.readBuffer(length);\n  }\n\n  size(val, parent) {\n    if (!val) {\n      return utils.resolveLength(this.length, null, parent);\n    }\n\n    let len = val.length;\n    if (this.length instanceof NumberT) {\n      len += this.length.size();\n    }\n\n    return len;\n  }\n\n  encode(stream, buf, parent) {\n    if (this.length instanceof NumberT) {\n      this.length.encode(stream, buf.length);\n    }\n\n    return stream.writeBuffer(buf);\n  }\n}\n\nexport {BufferT as Buffer};\n","import {Base} from './Base.js';\n\nexport class Enum extends Base {\n  constructor(type, options = []) {\n    super();\n    this.type = type;\n    this.options = options;\n  }\n  \n  decode(stream) {\n    const index = this.type.decode(stream);\n    return this.options[index] || index;\n  }\n\n  size() {\n    return this.type.size();\n  }\n\n  encode(stream, val) {\n    const index = this.options.indexOf(val);\n    if (index === -1) {\n      throw new Error(`Unknown option in enum: ${val}`);\n    }\n\n    return this.type.encode(stream, index);\n  }\n}\n","import {Base} from './Base.js';\n\nexport class Optional extends Base {\n  constructor(type, condition = true) {\n    super();\n    this.type = type;\n    this.condition = condition;\n  }\n\n  decode(stream, parent) {\n    let { condition } = this;\n    if (typeof condition === 'function') {\n      condition = condition.call(parent, parent);\n    }\n\n    if (condition) {\n      return this.type.decode(stream, parent);\n    }\n  }\n\n  size(val, parent) {\n    let { condition } = this;\n    if (typeof condition === 'function') {\n      condition = condition.call(parent, parent);\n    }\n\n    if (condition) {\n      return this.type.size(val, parent);\n    } else {\n      return 0;\n    }\n  }\n\n  encode(stream, val, parent) {\n    let { condition } = this;\n    if (typeof condition === 'function') {\n      condition = condition.call(parent, parent);\n    }\n\n    if (condition) {\n      return this.type.encode(stream, val, parent);\n    }\n  }\n}\n","import {Base} from './Base.js';\nimport * as utils from './utils.js';\n\nexport class Reserved extends Base {\n  constructor(type, count = 1) {\n    super();\n    this.type = type;\n    this.count = count;\n  }\n  decode(stream, parent) {\n    stream.pos += this.size(null, parent);\n    return undefined;\n  }\n\n  size(data, parent) {\n    const count = utils.resolveLength(this.count, null, parent);\n    return this.type.size() * count;\n  }\n\n  encode(stream, val, parent) {\n    return stream.fill(0, this.size(val, parent));\n  }\n}\n","import {Base} from './Base.js';\nimport {Number as NumberT} from './Number.js';\nimport * as utils from './utils.js';\n\nclass StringT extends Base {\n  constructor(length, encoding = 'ascii') {\n    super();\n    this.length = length;\n    this.encoding = encoding;\n  }\n\n  decode(stream, parent) {\n    let length, pos;\n\n    let { encoding } = this;\n    if (typeof encoding === 'function') {\n      encoding = encoding.call(parent, parent) || 'ascii';\n    }\n    let width = encodingWidth(encoding);\n\n    if (this.length != null) {\n      length = utils.resolveLength(this.length, stream, parent);\n    } else {\n      let buffer;\n      ({buffer, length, pos} = stream);\n\n      while ((pos < length - width + 1) &&\n        (buffer[pos] !== 0x00 ||\n        (width === 2 && buffer[pos+1] !== 0x00)\n        )) {\n        pos += width;\n      }\n\n      length = pos - stream.pos;\n    }\n\n\n    const string = stream.readString(length, encoding);\n\n    if ((this.length == null) && (stream.pos < stream.length)) {\n      stream.pos+=width;\n    }\n\n    return string;\n  }\n\n  size(val, parent) {\n    // Use the defined value if no value was given\n    if (val === undefined || val === null) {\n      return utils.resolveLength(this.length, null, parent);\n    }\n\n    let { encoding } = this;\n    if (typeof encoding === 'function') {\n      encoding = encoding.call(parent != null ? parent.val : undefined, parent != null ? parent.val : undefined) || 'ascii';\n    }\n\n    if (encoding === 'utf16be') {\n      encoding = 'utf16le';\n    }\n\n    let size = byteLength(val, encoding);\n    if (this.length instanceof NumberT) {\n      size += this.length.size();\n    }\n\n    if ((this.length == null)) {\n      size += encodingWidth(encoding);\n    }\n\n    return size;\n  }\n\n  encode(stream, val, parent) {\n    let { encoding } = this;\n    if (typeof encoding === 'function') {\n      encoding = encoding.call(parent != null ? parent.val : undefined, parent != null ? parent.val : undefined) || 'ascii';\n    }\n\n    if (this.length instanceof NumberT) {\n      this.length.encode(stream, byteLength(val, encoding));\n    }\n\n    stream.writeString(val, encoding);\n\n    if ((this.length == null)) {\n      return encodingWidth(encoding) == 2 ?\n        stream.writeUInt16LE(0x0000) :\n        stream.writeUInt8(0x00);\n    }\n  }\n}\n\nfunction encodingWidth(encoding) {\n  switch(encoding) {\n    case 'ascii':\n    case 'utf8': // utf8 is a byte-based encoding for zero-term string\n      return 1;\n    case 'utf16le':\n    case 'utf16-le':\n    case 'utf-16be':\n    case 'utf-16le':\n    case 'utf16be':\n    case 'utf16-be':\n    case 'ucs2':\n      return 2;\n    default:\n      //TODO: assume all other encodings are 1-byters\n      //throw new Error('Unknown encoding ' + encoding);\n      return 1;\n  }\n}\n\nfunction byteLength(string, encoding) {\n  switch (encoding) {\n    case 'ascii':\n      return string.length;\n    case 'utf8':\n      let len = 0;\n      for (let i = 0; i < string.length; i++) {\n        let c = string.charCodeAt(i);\n\n        if (c >= 0xd800 && c <= 0xdbff && i < string.length - 1) {\n          let c2 = string.charCodeAt(++i);\n          if ((c2 & 0xfc00) === 0xdc00) {\n            c = ((c & 0x3ff) << 10) + (c2 & 0x3ff) + 0x10000;\n          } else {\n            // unmatched surrogate.\n            i--;\n          }\n        }\n\n        if ((c & 0xffffff80) === 0) {\n          len++;\n        } else if ((c & 0xfffff800) === 0) {\n          len += 2;\n        } else if ((c & 0xffff0000) === 0) {\n          len += 3;\n        } else if ((c & 0xffe00000) === 0) {\n          len += 4;\n        }\n      }\n      return len;\n    case 'utf16le':\n    case 'utf16-le':\n    case 'utf16be':\n    case 'utf16-be':\n    case 'ucs2':\n      return string.length * 2;\n    default:\n      throw new Error('Unknown encoding ' + encoding);\n  }\n}\n\nexport {StringT as String};\n","import {Base} from './Base.js';\nimport * as utils from './utils.js';\n\nexport class Struct extends Base {\n  constructor(fields = {}) {\n    super();\n    this.fields = fields;\n  }\n\n  decode(stream, parent, length = 0) {\n    const res = this._setup(stream, parent, length);\n    this._parseFields(stream, res, this.fields);\n\n    if (this.process != null) {\n      this.process.call(res, stream);\n    }\n    return res;\n  }\n\n  _setup(stream, parent, length) {\n    const res = {};\n\n    // define hidden properties\n    Object.defineProperties(res, {\n      parent:         { value: parent },\n      _startOffset:   { value: stream.pos },\n      _currentOffset: { value: 0, writable: true },\n      _length:        { value: length }\n    });\n\n    return res;\n  }\n\n  _parseFields(stream, res, fields) {\n    for (let key in fields) {\n      var val;\n      const type = fields[key];\n      if (typeof type === 'function') {\n        val = type.call(res, res);\n      } else {\n        val = type.decode(stream, res);\n      }\n\n      if (val !== undefined) {\n        if (val instanceof utils.PropertyDescriptor) {\n          Object.defineProperty(res, key, val);\n        } else {\n          res[key] = val;\n        }\n      }\n\n      res._currentOffset = stream.pos - res._startOffset;\n    }\n\n  }\n\n  size(val, parent, includePointers = true) {\n    if (val == null) { val = {}; }\n    const ctx = {\n      parent,\n      val,\n      pointerSize: 0\n    };\n\n    if (this.preEncode != null) {\n      this.preEncode.call(val);\n    }\n\n    let size = 0;\n    for (let key in this.fields) {\n      const type = this.fields[key];\n      if (type.size != null) {\n        size += type.size(val[key], ctx);\n      }\n    }\n\n    if (includePointers) {\n      size += ctx.pointerSize;\n    }\n\n    return size;\n  }\n\n  encode(stream, val, parent) {\n    let type;\n    if (this.preEncode != null) {\n      this.preEncode.call(val, stream);\n    }\n\n    const ctx = {\n      pointers: [],\n      startOffset: stream.pos,\n      parent,\n      val,\n      pointerSize: 0\n    };\n\n    ctx.pointerOffset = stream.pos + this.size(val, ctx, false);\n\n    for (let key in this.fields) {\n      type = this.fields[key];\n      if (type.encode != null) {\n        type.encode(stream, val[key], ctx);\n      }\n    }\n\n    let i = 0;\n    while (i < ctx.pointers.length) {\n      const ptr = ctx.pointers[i++];\n      ptr.type.encode(stream, ptr.val, ptr.parent);\n    }\n  }\n}\n","import {Struct} from './Struct.js';\n\nconst getPath = (object, pathArray) => {\n  return pathArray.reduce((prevObj, key) => prevObj && prevObj[key], object);\n};\n\nexport class VersionedStruct extends Struct {\n  constructor(type, versions = {}) {\n    super();\n    this.type = type;\n    this.versions = versions;\n    if (typeof type === 'string') {\n      this.versionPath = type.split('.');\n    }\n  }\n\n  decode(stream, parent, length = 0) {\n    const res = this._setup(stream, parent, length);\n\n    if (typeof this.type === 'string') {\n      res.version = getPath(parent, this.versionPath);\n    } else {\n      res.version = this.type.decode(stream);\n    }\n\n    if (this.versions.header) {\n      this._parseFields(stream, res, this.versions.header);\n    }\n\n    const fields = this.versions[res.version];\n    if ((fields == null)) {\n      throw new Error(`Unknown version ${res.version}`);\n    }\n\n    if (fields instanceof VersionedStruct) {\n      return fields.decode(stream, parent);\n    }\n\n    this._parseFields(stream, res, fields);\n\n    if (this.process != null) {\n      this.process.call(res, stream);\n    }\n    return res;\n  }\n\n  size(val, parent, includePointers = true) {\n    let key, type;\n    if (!val) {\n      throw new Error('Not a fixed size');\n    }\n\n    if (this.preEncode != null) {\n      this.preEncode.call(val);\n    }\n\n    const ctx = {\n      parent,\n      val,\n      pointerSize: 0\n    };\n\n    let size = 0;\n    if (typeof this.type !== 'string') {\n      size += this.type.size(val.version, ctx);\n    }\n\n    if (this.versions.header) {\n      for (key in this.versions.header) {\n        type = this.versions.header[key];\n        if (type.size != null) {\n          size += type.size(val[key], ctx);\n        }\n      }\n    }\n\n    const fields = this.versions[val.version];\n    if ((fields == null)) {\n      throw new Error(`Unknown version ${val.version}`);\n    }\n\n    for (key in fields) {\n      type = fields[key];\n      if (type.size != null) {\n        size += type.size(val[key], ctx);\n      }\n    }\n\n    if (includePointers) {\n      size += ctx.pointerSize;\n    }\n\n    return size;\n  }\n\n  encode(stream, val, parent) {\n    let key, type;\n    if (this.preEncode != null) {\n      this.preEncode.call(val, stream);\n    }\n\n    const ctx = {\n      pointers: [],\n      startOffset: stream.pos,\n      parent,\n      val,\n      pointerSize: 0\n    };\n\n    ctx.pointerOffset = stream.pos + this.size(val, ctx, false);\n\n    if (typeof this.type !== 'string') {\n      this.type.encode(stream, val.version);\n    }\n\n    if (this.versions.header) {\n      for (key in this.versions.header) {\n        type = this.versions.header[key];\n        if (type.encode != null) {\n          type.encode(stream, val[key], ctx);\n        }\n      }\n    }\n\n    const fields = this.versions[val.version];\n    for (key in fields) {\n      type = fields[key];\n      if (type.encode != null) {\n        type.encode(stream, val[key], ctx);\n      }\n    }\n\n    let i = 0;\n    while (i < ctx.pointers.length) {\n      const ptr = ctx.pointers[i++];\n      ptr.type.encode(stream, ptr.val, ptr.parent);\n    }\n  }\n}\n","import * as utils from './utils.js';\nimport {Base} from './Base.js';\n\nexport class Pointer extends Base {\n  constructor(offsetType, type, options = {}) {\n    super();\n    this.offsetType = offsetType;\n    this.type = type;\n    this.options = options;\n    if (this.type === 'void') { this.type = null; }\n    if (this.options.type == null) { this.options.type = 'local'; }\n    if (this.options.allowNull == null) { this.options.allowNull = true; }\n    if (this.options.nullValue == null) { this.options.nullValue = 0; }\n    if (this.options.lazy == null) { this.options.lazy = false; }\n    if (this.options.relativeTo) {\n      if (typeof this.options.relativeTo !== 'function') {\n        throw new Error('relativeTo option must be a function');\n      }\n      this.relativeToGetter = options.relativeTo;\n    }\n  }\n\n  decode(stream, ctx) {\n    const offset = this.offsetType.decode(stream, ctx);\n\n    // handle NULL pointers\n    if ((offset === this.options.nullValue) && this.options.allowNull) {\n      return null;\n    }\n\n    let relative;\n    switch (this.options.type) {\n      case 'local':     relative = ctx._startOffset; break;\n      case 'immediate': relative = stream.pos - this.offsetType.size(); break;\n      case 'parent':    relative = ctx.parent._startOffset; break;\n      default:\n        var c = ctx;\n        while (c.parent) {\n          c = c.parent;\n        }\n\n        relative = c._startOffset || 0;\n    }\n\n    if (this.options.relativeTo) {\n      relative += this.relativeToGetter(ctx);\n    }\n\n    const ptr = offset + relative;\n\n    if (this.type != null) {\n      let val = null;\n      const decodeValue = () => {\n        if (val != null) { return val; }\n\n        const { pos } = stream;\n        stream.pos = ptr;\n        val = this.type.decode(stream, ctx);\n        stream.pos = pos;\n        return val;\n      };\n\n      // If this is a lazy pointer, define a getter to decode only when needed.\n      // This obviously only works when the pointer is contained by a Struct.\n      if (this.options.lazy) {\n        return new utils.PropertyDescriptor({\n          get: decodeValue});\n      }\n\n      return decodeValue();\n    } else {\n      return ptr;\n    }\n  }\n\n  size(val, ctx) {\n    const parent = ctx;\n    switch (this.options.type) {\n      case 'local': case 'immediate':\n        break;\n      case 'parent':\n        ctx = ctx.parent;\n        break;\n      default: // global\n        while (ctx.parent) {\n          ctx = ctx.parent;\n        }\n    }\n\n    let { type } = this;\n    if (type == null) {\n      if (!(val instanceof VoidPointer)) {\n        throw new Error(\"Must be a VoidPointer\");\n      }\n\n      ({ type } = val);\n      val = val.value;\n    }\n\n    if (val && ctx) {\n      // Must be written as two separate lines rather than += in case `type.size` mutates ctx.pointerSize.\n      let size = type.size(val, parent);\n      ctx.pointerSize += size;\n    }\n\n    return this.offsetType.size();\n  }\n\n  encode(stream, val, ctx) {\n    let relative;\n    const parent = ctx;\n    if ((val == null)) {\n      this.offsetType.encode(stream, this.options.nullValue);\n      return;\n    }\n\n    switch (this.options.type) {\n      case 'local':\n        relative = ctx.startOffset;\n        break;\n      case 'immediate':\n        relative = stream.pos + this.offsetType.size(val, parent);\n        break;\n      case 'parent':\n        ctx = ctx.parent;\n        relative = ctx.startOffset;\n        break;\n      default: // global\n        relative = 0;\n        while (ctx.parent) {\n          ctx = ctx.parent;\n        }\n    }\n\n    if (this.options.relativeTo) {\n      relative += this.relativeToGetter(parent.val);\n    }\n\n    this.offsetType.encode(stream, ctx.pointerOffset - relative);\n\n    let { type } = this;\n    if (type == null) {\n      if (!(val instanceof VoidPointer)) {\n        throw new Error(\"Must be a VoidPointer\");\n      }\n\n      ({ type } = val);\n      val = val.value;\n    }\n\n    ctx.pointers.push({\n      type,\n      val,\n      parent\n    });\n\n    return ctx.pointerOffset += type.size(val, parent);\n  }\n}\n\n// A pointer whose type is determined at decode time\nexport class VoidPointer {\n  constructor(type, value) {\n    this.type = type;\n    this.value = value;\n  }\n}\n"],"names":[],"version":3,"file":"main.cjs.map"}

Directory Contents

Dirs: 0 × Files: 2

Name Size Perms Modified Actions
40.00 KB lrw-r--r-- 2026-02-14 19:19:14
Edit Download
55.19 KB lrw-r--r-- 2026-02-14 19:19:18
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).