{
  "version": 3,
  "sources": ["../src/index.ts", "../node_modules/tslib/tslib.es6.mjs", "../node_modules/apache-arrow/util/buffer.ts", "../node_modules/apache-arrow/util/utf8.ts", "../node_modules/apache-arrow/util/compat.ts", "../node_modules/apache-arrow/io/adapters.ts", "../node_modules/apache-arrow/fb/metadata-version.ts", "../node_modules/apache-arrow/fb/union-mode.ts", "../node_modules/apache-arrow/fb/precision.ts", "../node_modules/apache-arrow/fb/date-unit.ts", "../node_modules/apache-arrow/fb/time-unit.ts", "../node_modules/apache-arrow/fb/interval-unit.ts", "../node_modules/flatbuffers/mjs/constants.js", "../node_modules/flatbuffers/mjs/utils.js", "../node_modules/flatbuffers/mjs/encoding.js", "../node_modules/flatbuffers/mjs/byte-buffer.js", "../node_modules/flatbuffers/mjs/builder.js", "../node_modules/apache-arrow/fb/body-compression-method.ts", "../node_modules/apache-arrow/fb/compression-type.ts", "../node_modules/apache-arrow/fb/body-compression.ts", "../node_modules/apache-arrow/fb/buffer.ts", "../node_modules/apache-arrow/fb/field-node.ts", "../node_modules/apache-arrow/fb/record-batch.ts", "../node_modules/apache-arrow/fb/dictionary-batch.ts", "../node_modules/apache-arrow/fb/endianness.ts", "../node_modules/apache-arrow/fb/dictionary-kind.ts", "../node_modules/apache-arrow/fb/int.ts", "../node_modules/apache-arrow/fb/dictionary-encoding.ts", "../node_modules/apache-arrow/fb/key-value.ts", "../node_modules/apache-arrow/fb/binary.ts", "../node_modules/apache-arrow/fb/bool.ts", "../node_modules/apache-arrow/fb/date.ts", "../node_modules/apache-arrow/fb/decimal.ts", "../node_modules/apache-arrow/fb/duration.ts", "../node_modules/apache-arrow/fb/fixed-size-binary.ts", "../node_modules/apache-arrow/fb/fixed-size-list.ts", "../node_modules/apache-arrow/fb/floating-point.ts", "../node_modules/apache-arrow/fb/interval.ts", "../node_modules/apache-arrow/fb/large-binary.ts", "../node_modules/apache-arrow/fb/large-utf8.ts", "../node_modules/apache-arrow/fb/list.ts", "../node_modules/apache-arrow/fb/map.ts", "../node_modules/apache-arrow/fb/null.ts", "../node_modules/apache-arrow/fb/struct-.ts", "../node_modules/apache-arrow/fb/time.ts", "../node_modules/apache-arrow/fb/timestamp.ts", "../node_modules/apache-arrow/fb/union.ts", "../node_modules/apache-arrow/fb/utf8.ts", "../node_modules/apache-arrow/fb/type.ts", "../node_modules/apache-arrow/fb/field.ts", "../node_modules/apache-arrow/fb/schema.ts", "../node_modules/apache-arrow/fb/message-header.ts", "../node_modules/apache-arrow/src/enum.ts", "../node_modules/apache-arrow/util/vector.ts", "../node_modules/apache-arrow/util/pretty.ts", "../node_modules/apache-arrow/util/bn.ts", "../node_modules/apache-arrow/util/bigint.ts", "../node_modules/apache-arrow/src/type.ts", "../node_modules/apache-arrow/src/visitor.ts", "../node_modules/apache-arrow/util/math.ts", "../node_modules/apache-arrow/visitor/set.ts", "../node_modules/apache-arrow/row/struct.ts", "../node_modules/apache-arrow/visitor/get.ts", "../node_modules/apache-arrow/row/map.ts", "../node_modules/apache-arrow/util/bit.ts", "../node_modules/apache-arrow/src/data.ts", "../node_modules/apache-arrow/util/chunk.ts", "../node_modules/apache-arrow/visitor/indexof.ts", "../node_modules/apache-arrow/visitor/iterator.ts", "../node_modules/apache-arrow/src/vector.ts", "../node_modules/apache-arrow/builder/valid.ts", "../node_modules/apache-arrow/builder/buffer.ts", "../node_modules/apache-arrow/src/builder.ts", "../node_modules/apache-arrow/fb/block.ts", "../node_modules/apache-arrow/fb/footer.ts", "../node_modules/apache-arrow/src/schema.ts", "../node_modules/apache-arrow/ipc/metadata/file.ts", "../node_modules/apache-arrow/fb/message.ts", "../node_modules/apache-arrow/visitor/typeassembler.ts", "../node_modules/apache-arrow/ipc/metadata/json.ts", "../node_modules/apache-arrow/ipc/metadata/message.ts", "../node_modules/apache-arrow/io/interfaces.ts", "../node_modules/apache-arrow/io/stream.ts", "../node_modules/apache-arrow/io/file.ts", "../node_modules/apache-arrow/util/int.ts", "../node_modules/apache-arrow/util/interval.ts", "../node_modules/apache-arrow/visitor/vectorloader.ts", "../node_modules/apache-arrow/builder/binary.ts", "../node_modules/apache-arrow/builder/largebinary.ts", "../node_modules/apache-arrow/builder/bool.ts", "../node_modules/apache-arrow/builder/date.ts", "../node_modules/apache-arrow/builder/decimal.ts", "../node_modules/apache-arrow/builder/dictionary.ts", "../node_modules/apache-arrow/builder/fixedsizebinary.ts", "../node_modules/apache-arrow/builder/fixedsizelist.ts", "../node_modules/apache-arrow/builder/float.ts", "../node_modules/apache-arrow/builder/interval.ts", "../node_modules/apache-arrow/builder/duration.ts", "../node_modules/apache-arrow/builder/int.ts", "../node_modules/apache-arrow/builder/list.ts", "../node_modules/apache-arrow/builder/map.ts", "../node_modules/apache-arrow/builder/null.ts", "../node_modules/apache-arrow/builder/struct.ts", "../node_modules/apache-arrow/builder/timestamp.ts", "../node_modules/apache-arrow/builder/time.ts", "../node_modules/apache-arrow/builder/union.ts", "../node_modules/apache-arrow/builder/utf8.ts", "../node_modules/apache-arrow/builder/largeutf8.ts", "../node_modules/apache-arrow/visitor/builderctor.ts", "../node_modules/apache-arrow/visitor/typecomparator.ts", "../node_modules/apache-arrow/src/factories.ts", "../node_modules/apache-arrow/util/recordbatch.ts", "../node_modules/apache-arrow/src/table.ts", "../node_modules/apache-arrow/src/recordbatch.ts", "../node_modules/apache-arrow/ipc/message.ts", "../node_modules/apache-arrow/ipc/compression/validators.ts", "../node_modules/apache-arrow/ipc/compression/registry.ts", "../node_modules/apache-arrow/ipc/compression/constants.ts", "../node_modules/apache-arrow/ipc/reader.ts", "../node_modules/apache-arrow/visitor/vectorassembler.ts", "../node_modules/apache-arrow/ipc/writer.ts", "../node_modules/apache-arrow/io/whatwg/iterable.ts", "../node_modules/apache-arrow/io/whatwg/builder.ts", "../node_modules/apache-arrow/io/whatwg/reader.ts", "../node_modules/apache-arrow/io/whatwg/writer.ts", "../node_modules/apache-arrow/src/Arrow.ts", "../node_modules/apache-arrow/src/Arrow.dom.ts", "../src/utils.ts", "../src/block.ts", "../src/channel.ts", "../src/constants.ts", "../src/client.ts", "../src/api.ts"],
  "sourcesContent": ["// Copyright (c) 2025, California Institute of Technology and contributors\n//\n// You should have received a copy of the licensing terms for this\n// software included in the file \"LICENSE\" located in the top-level\n// directory of this package. If you did not, you can view a copy at\n// https://git.ligo.org/ngdd/arrakis-js/-/raw/main/LICENSE\n\nimport { count, describe, fetch, find, stream } from \"./api.js\";\nimport Client from \"./client.js\";\nimport { gpsToUnix, unixToGps } from \"./utils.js\";\n\nexport { Client, count, describe, fetch, find, gpsToUnix, stream, unixToGps };\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n  extendStatics = Object.setPrototypeOf ||\n      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n  return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n  if (typeof b !== \"function\" && b !== null)\n      throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n  extendStatics(d, b);\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n  __assign = Object.assign || function __assign(t) {\n      for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n      }\n      return t;\n  }\n  return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n      t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n              t[p[i]] = s[p[i]];\n      }\n  return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n  if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n  return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n  return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n  function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n  var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n  var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n  var _, done = false;\n  for (var i = decorators.length - 1; i >= 0; i--) {\n      var context = {};\n      for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n      for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n      context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n      var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n      if (kind === \"accessor\") {\n          if (result === void 0) continue;\n          if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n          if (_ = accept(result.get)) descriptor.get = _;\n          if (_ = accept(result.set)) descriptor.set = _;\n          if (_ = accept(result.init)) initializers.unshift(_);\n      }\n      else if (_ = accept(result)) {\n          if (kind === \"field\") initializers.unshift(_);\n          else descriptor[key] = _;\n      }\n  }\n  if (target) Object.defineProperty(target, contextIn.name, descriptor);\n  done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n  var useValue = arguments.length > 2;\n  for (var i = 0; i < initializers.length; i++) {\n      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n  }\n  return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n  return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n  if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n  return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n  if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n  return new (P || (P = Promise))(function (resolve, reject) {\n      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n      function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n      step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\n\nexport function __generator(thisArg, body) {\n  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n  return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n  function verb(n) { return function (v) { return step([n, v]); }; }\n  function step(op) {\n      if (f) throw new TypeError(\"Generator is already executing.\");\n      while (g && (g = 0, op[0] && (_ = 0)), _) try {\n          if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n          if (y = 0, t) op = [op[0] & 2, t.value];\n          switch (op[0]) {\n              case 0: case 1: t = op; break;\n              case 4: _.label++; return { value: op[1], done: false };\n              case 5: _.label++; y = op[1]; op = [0]; continue;\n              case 7: op = _.ops.pop(); _.trys.pop(); continue;\n              default:\n                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                  if (t[2]) _.ops.pop();\n                  _.trys.pop(); continue;\n          }\n          op = body.call(thisArg, _);\n      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n  }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  var desc = Object.getOwnPropertyDescriptor(m, k);\n  if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n  }\n  Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n  for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n  var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n  if (m) return m.call(o);\n  if (o && typeof o.length === \"number\") return {\n      next: function () {\n          if (o && i >= o.length) o = void 0;\n          return { value: o && o[i++], done: !o };\n      }\n  };\n  throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n  var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n  if (!m) return o;\n  var i = m.call(o), r, ar = [], e;\n  try {\n      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n  }\n  catch (error) { e = { error: error }; }\n  finally {\n      try {\n          if (r && !r.done && (m = i[\"return\"])) m.call(i);\n      }\n      finally { if (e) throw e.error; }\n  }\n  return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n  for (var ar = [], i = 0; i < arguments.length; i++)\n      ar = ar.concat(__read(arguments[i]));\n  return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n  for (var r = Array(s), k = 0, i = 0; i < il; i++)\n      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n          r[k] = a[j];\n  return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n      if (ar || !(i in from)) {\n          if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n          ar[i] = from[i];\n      }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n  return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var g = generator.apply(thisArg, _arguments || []), i, q = [];\n  return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n  function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n  function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n  function fulfill(value) { resume(\"next\", value); }\n  function reject(value) { resume(\"throw\", value); }\n  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n  var i, p;\n  return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var m = o[Symbol.asyncIterator], i;\n  return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n  if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n  return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n  Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n  o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n  ownKeys = Object.getOwnPropertyNames || function (o) {\n    var ar = [];\n    for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n    return ar;\n  };\n  return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n  if (mod && mod.__esModule) return mod;\n  var result = {};\n  if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n  __setModuleDefault(result, mod);\n  return result;\n}\n\nexport function __importDefault(mod) {\n  return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n  return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n  if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n  return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n  if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n  return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n  if (value !== null && value !== void 0) {\n    if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n    var dispose, inner;\n    if (async) {\n      if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n      dispose = value[Symbol.asyncDispose];\n    }\n    if (dispose === void 0) {\n      if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n      dispose = value[Symbol.dispose];\n      if (async) inner = dispose;\n    }\n    if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n    if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n    env.stack.push({ value: value, dispose: dispose, async: async });\n  }\n  else if (async) {\n    env.stack.push({ async: true });\n  }\n  return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n  var e = new Error(message);\n  return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n  function fail(e) {\n    env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n    env.hasError = true;\n  }\n  var r, s = 0;\n  function next() {\n    while (r = env.stack.pop()) {\n      try {\n        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n        if (r.dispose) {\n          var result = r.dispose.call(r.value);\n          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n        }\n        else s |= 1;\n      }\n      catch (e) {\n        fail(e);\n      }\n    }\n    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n    if (env.hasError) throw env.error;\n  }\n  return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n  if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n      return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n          return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n      });\n  }\n  return path;\n}\n\nexport default {\n  __extends,\n  __assign,\n  __rest,\n  __decorate,\n  __param,\n  __esDecorate,\n  __runInitializers,\n  __propKey,\n  __setFunctionName,\n  __metadata,\n  __awaiter,\n  __generator,\n  __createBinding,\n  __exportStar,\n  __values,\n  __read,\n  __spread,\n  __spreadArrays,\n  __spreadArray,\n  __await,\n  __asyncGenerator,\n  __asyncDelegator,\n  __asyncValues,\n  __makeTemplateObject,\n  __importStar,\n  __importDefault,\n  __classPrivateFieldGet,\n  __classPrivateFieldSet,\n  __classPrivateFieldIn,\n  __addDisposableResource,\n  __disposeResources,\n  __rewriteRelativeImportExtension,\n};\n", null, null, null, null, null, null, null, null, null, null, "export const SIZEOF_SHORT = 2;\nexport const SIZEOF_INT = 4;\nexport const FILE_IDENTIFIER_LENGTH = 4;\nexport const SIZE_PREFIX_LENGTH = 4;\n", "export const int32 = new Int32Array(2);\nexport const float32 = new Float32Array(int32.buffer);\nexport const float64 = new Float64Array(int32.buffer);\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n", "export var Encoding;\n(function (Encoding) {\n    Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\n    Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\n})(Encoding || (Encoding = {}));\n", "import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from './constants.js';\nimport { Encoding } from './encoding.js';\nimport { float32, float64, int32, isLittleEndian } from './utils.js';\nexport class ByteBuffer {\n    /**\n     * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\n     */\n    constructor(bytes_) {\n        this.bytes_ = bytes_;\n        this.position_ = 0;\n        this.text_decoder_ = new TextDecoder();\n    }\n    /**\n     * Create and allocate a new ByteBuffer with a given size.\n     */\n    static allocate(byte_size) {\n        return new ByteBuffer(new Uint8Array(byte_size));\n    }\n    clear() {\n        this.position_ = 0;\n    }\n    /**\n     * Get the underlying `Uint8Array`.\n     */\n    bytes() {\n        return this.bytes_;\n    }\n    /**\n     * Get the buffer's position.\n     */\n    position() {\n        return this.position_;\n    }\n    /**\n     * Set the buffer's position.\n     */\n    setPosition(position) {\n        this.position_ = position;\n    }\n    /**\n     * Get the buffer's capacity.\n     */\n    capacity() {\n        return this.bytes_.length;\n    }\n    readInt8(offset) {\n        return (this.readUint8(offset) << 24) >> 24;\n    }\n    readUint8(offset) {\n        return this.bytes_[offset];\n    }\n    readInt16(offset) {\n        return (this.readUint16(offset) << 16) >> 16;\n    }\n    readUint16(offset) {\n        return this.bytes_[offset] | (this.bytes_[offset + 1] << 8);\n    }\n    readInt32(offset) {\n        return (this.bytes_[offset] |\n            (this.bytes_[offset + 1] << 8) |\n            (this.bytes_[offset + 2] << 16) |\n            (this.bytes_[offset + 3] << 24));\n    }\n    readUint32(offset) {\n        return this.readInt32(offset) >>> 0;\n    }\n    readInt64(offset) {\n        return BigInt.asIntN(64, BigInt(this.readUint32(offset)) +\n            (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n    }\n    readUint64(offset) {\n        return BigInt.asUintN(64, BigInt(this.readUint32(offset)) +\n            (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n    }\n    readFloat32(offset) {\n        int32[0] = this.readInt32(offset);\n        return float32[0];\n    }\n    readFloat64(offset) {\n        int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\n        int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n        return float64[0];\n    }\n    writeInt8(offset, value) {\n        this.bytes_[offset] = value;\n    }\n    writeUint8(offset, value) {\n        this.bytes_[offset] = value;\n    }\n    writeInt16(offset, value) {\n        this.bytes_[offset] = value;\n        this.bytes_[offset + 1] = value >> 8;\n    }\n    writeUint16(offset, value) {\n        this.bytes_[offset] = value;\n        this.bytes_[offset + 1] = value >> 8;\n    }\n    writeInt32(offset, value) {\n        this.bytes_[offset] = value;\n        this.bytes_[offset + 1] = value >> 8;\n        this.bytes_[offset + 2] = value >> 16;\n        this.bytes_[offset + 3] = value >> 24;\n    }\n    writeUint32(offset, value) {\n        this.bytes_[offset] = value;\n        this.bytes_[offset + 1] = value >> 8;\n        this.bytes_[offset + 2] = value >> 16;\n        this.bytes_[offset + 3] = value >> 24;\n    }\n    writeInt64(offset, value) {\n        this.writeInt32(offset, Number(BigInt.asIntN(32, value)));\n        this.writeInt32(offset + 4, Number(BigInt.asIntN(32, value >> BigInt(32))));\n    }\n    writeUint64(offset, value) {\n        this.writeUint32(offset, Number(BigInt.asUintN(32, value)));\n        this.writeUint32(offset + 4, Number(BigInt.asUintN(32, value >> BigInt(32))));\n    }\n    writeFloat32(offset, value) {\n        float32[0] = value;\n        this.writeInt32(offset, int32[0]);\n    }\n    writeFloat64(offset, value) {\n        float64[0] = value;\n        this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\n        this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\n    }\n    /**\n     * Return the file identifier.   Behavior is undefined for FlatBuffers whose\n     * schema does not include a file_identifier (likely points at padding or the\n     * start of a the root vtable).\n     */\n    getBufferIdentifier() {\n        if (this.bytes_.length <\n            this.position_ + SIZEOF_INT + FILE_IDENTIFIER_LENGTH) {\n            throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\n        }\n        let result = '';\n        for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n            result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\n        }\n        return result;\n    }\n    /**\n     * Look up a field in the vtable, return an offset into the object, or 0 if the\n     * field is not present.\n     */\n    __offset(bb_pos, vtable_offset) {\n        const vtable = bb_pos - this.readInt32(bb_pos);\n        return vtable_offset < this.readInt16(vtable)\n            ? this.readInt16(vtable + vtable_offset)\n            : 0;\n    }\n    /**\n     * Initialize any Table-derived type to point to the union at the given offset.\n     */\n    __union(t, offset) {\n        t.bb_pos = offset + this.readInt32(offset);\n        t.bb = this;\n        return t;\n    }\n    /**\n     * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n     * This allocates a new string and converts to wide chars upon each access.\n     *\n     * To avoid the conversion to string, pass Encoding.UTF8_BYTES as the\n     * \"optionalEncoding\" argument. This is useful for avoiding conversion when\n     * the data will just be packaged back up in another FlatBuffer later on.\n     *\n     * @param offset\n     * @param opt_encoding Defaults to UTF16_STRING\n     */\n    __string(offset, opt_encoding) {\n        offset += this.readInt32(offset);\n        const length = this.readInt32(offset);\n        offset += SIZEOF_INT;\n        const utf8bytes = this.bytes_.subarray(offset, offset + length);\n        if (opt_encoding === Encoding.UTF8_BYTES)\n            return utf8bytes;\n        else\n            return this.text_decoder_.decode(utf8bytes);\n    }\n    /**\n     * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\n     * if a string then return a new one\n     *\n     * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\n     * makes the behaviour of __union_with_string different compared to __union\n     */\n    __union_with_string(o, offset) {\n        if (typeof o === 'string') {\n            return this.__string(offset);\n        }\n        return this.__union(o, offset);\n    }\n    /**\n     * Retrieve the relative offset stored at \"offset\"\n     */\n    __indirect(offset) {\n        return offset + this.readInt32(offset);\n    }\n    /**\n     * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n     */\n    __vector(offset) {\n        return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\n    }\n    /**\n     * Get the length of a vector whose offset is stored at \"offset\" in this object.\n     */\n    __vector_len(offset) {\n        return this.readInt32(offset + this.readInt32(offset));\n    }\n    __has_identifier(ident) {\n        if (ident.length != FILE_IDENTIFIER_LENGTH) {\n            throw new Error('FlatBuffers: file identifier must be length ' + FILE_IDENTIFIER_LENGTH);\n        }\n        for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n            if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\n                return false;\n            }\n        }\n        return true;\n    }\n    /**\n     * A helper function for generating list for obj api\n     */\n    createScalarList(listAccessor, listLength) {\n        const ret = [];\n        for (let i = 0; i < listLength; ++i) {\n            const val = listAccessor(i);\n            if (val !== null) {\n                ret.push(val);\n            }\n        }\n        return ret;\n    }\n    /**\n     * A helper function for generating list for obj api\n     * @param listAccessor function that accepts an index and return data at that index\n     * @param listLength listLength\n     * @param res result list\n     */\n    createObjList(listAccessor, listLength) {\n        const ret = [];\n        for (let i = 0; i < listLength; ++i) {\n            const val = listAccessor(i);\n            if (val !== null) {\n                ret.push(val.unpack());\n            }\n        }\n        return ret;\n    }\n}\n", "import { ByteBuffer } from './byte-buffer.js';\nimport { FILE_IDENTIFIER_LENGTH, SIZE_PREFIX_LENGTH, SIZEOF_INT, SIZEOF_SHORT, } from './constants.js';\nexport class Builder {\n    /**\n     * Create a FlatBufferBuilder.\n     */\n    constructor(opt_initial_size) {\n        /** Minimum alignment encountered so far. */\n        this.minalign = 1;\n        /** The vtable for the current table. */\n        this.vtable = null;\n        /** The amount of fields we're actually using. */\n        this.vtable_in_use = 0;\n        /** Whether we are currently serializing a table. */\n        this.isNested = false;\n        /** Starting offset of the current struct/table. */\n        this.object_start = 0;\n        /** List of offsets of all vtables. */\n        this.vtables = [];\n        /** For the current vector being built. */\n        this.vector_num_elems = 0;\n        /** False omits default values from the serialized data */\n        this.force_defaults = false;\n        this.string_maps = null;\n        this.text_encoder = new TextEncoder();\n        let initial_size;\n        if (!opt_initial_size) {\n            initial_size = 1024;\n        }\n        else {\n            initial_size = opt_initial_size;\n        }\n        /**\n         * @type {ByteBuffer}\n         * @private\n         */\n        this.bb = ByteBuffer.allocate(initial_size);\n        this.space = initial_size;\n    }\n    clear() {\n        this.bb.clear();\n        this.space = this.bb.capacity();\n        this.minalign = 1;\n        this.vtable = null;\n        this.vtable_in_use = 0;\n        this.isNested = false;\n        this.object_start = 0;\n        this.vtables = [];\n        this.vector_num_elems = 0;\n        this.force_defaults = false;\n        this.string_maps = null;\n    }\n    /**\n     * In order to save space, fields that are set to their default value\n     * don't get serialized into the buffer. Forcing defaults provides a\n     * way to manually disable this optimization.\n     *\n     * @param forceDefaults true always serializes default values\n     */\n    forceDefaults(forceDefaults) {\n        this.force_defaults = forceDefaults;\n    }\n    /**\n     * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n     * called finish(). The actual data starts at the ByteBuffer's current position,\n     * not necessarily at 0.\n     */\n    dataBuffer() {\n        return this.bb;\n    }\n    /**\n     * Get the bytes representing the FlatBuffer. Only call this after you've\n     * called finish().\n     */\n    asUint8Array() {\n        return this.bb\n            .bytes()\n            .subarray(this.bb.position(), this.bb.position() + this.offset());\n    }\n    /**\n     * Prepare to write an element of `size` after `additional_bytes` have been\n     * written, e.g. if you write a string, you need to align such the int length\n     * field is aligned to 4 bytes, and the string data follows it directly. If all\n     * you need to do is alignment, `additional_bytes` will be 0.\n     *\n     * @param size This is the of the new element to write\n     * @param additional_bytes The padding size\n     */\n    prep(size, additional_bytes) {\n        // Track the biggest thing we've ever aligned to.\n        if (size > this.minalign) {\n            this.minalign = size;\n        }\n        // Find the amount of alignment needed such that `size` is properly\n        // aligned after `additional_bytes`\n        const align_size = (~(this.bb.capacity() - this.space + additional_bytes) + 1) & (size - 1);\n        // Reallocate the buffer if needed.\n        while (this.space < align_size + size + additional_bytes) {\n            const old_buf_size = this.bb.capacity();\n            this.bb = Builder.growByteBuffer(this.bb);\n            this.space += this.bb.capacity() - old_buf_size;\n        }\n        this.pad(align_size);\n    }\n    pad(byte_size) {\n        for (let i = 0; i < byte_size; i++) {\n            this.bb.writeInt8(--this.space, 0);\n        }\n    }\n    writeInt8(value) {\n        this.bb.writeInt8((this.space -= 1), value);\n    }\n    writeInt16(value) {\n        this.bb.writeInt16((this.space -= 2), value);\n    }\n    writeInt32(value) {\n        this.bb.writeInt32((this.space -= 4), value);\n    }\n    writeInt64(value) {\n        this.bb.writeInt64((this.space -= 8), value);\n    }\n    writeFloat32(value) {\n        this.bb.writeFloat32((this.space -= 4), value);\n    }\n    writeFloat64(value) {\n        this.bb.writeFloat64((this.space -= 8), value);\n    }\n    /**\n     * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n     * @param value The `int8` to add the buffer.\n     */\n    addInt8(value) {\n        this.prep(1, 0);\n        this.writeInt8(value);\n    }\n    /**\n     * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n     * @param value The `int16` to add the buffer.\n     */\n    addInt16(value) {\n        this.prep(2, 0);\n        this.writeInt16(value);\n    }\n    /**\n     * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n     * @param value The `int32` to add the buffer.\n     */\n    addInt32(value) {\n        this.prep(4, 0);\n        this.writeInt32(value);\n    }\n    /**\n     * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n     * @param value The `int64` to add the buffer.\n     */\n    addInt64(value) {\n        this.prep(8, 0);\n        this.writeInt64(value);\n    }\n    /**\n     * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n     * @param value The `float32` to add the buffer.\n     */\n    addFloat32(value) {\n        this.prep(4, 0);\n        this.writeFloat32(value);\n    }\n    /**\n     * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n     * @param value The `float64` to add the buffer.\n     */\n    addFloat64(value) {\n        this.prep(8, 0);\n        this.writeFloat64(value);\n    }\n    addFieldInt8(voffset, value, defaultValue) {\n        if (this.force_defaults || value != defaultValue) {\n            this.addInt8(value);\n            this.slot(voffset);\n        }\n    }\n    addFieldInt16(voffset, value, defaultValue) {\n        if (this.force_defaults || value != defaultValue) {\n            this.addInt16(value);\n            this.slot(voffset);\n        }\n    }\n    addFieldInt32(voffset, value, defaultValue) {\n        if (this.force_defaults || value != defaultValue) {\n            this.addInt32(value);\n            this.slot(voffset);\n        }\n    }\n    addFieldInt64(voffset, value, defaultValue) {\n        if (this.force_defaults || value !== defaultValue) {\n            this.addInt64(value);\n            this.slot(voffset);\n        }\n    }\n    addFieldFloat32(voffset, value, defaultValue) {\n        if (this.force_defaults || value != defaultValue) {\n            this.addFloat32(value);\n            this.slot(voffset);\n        }\n    }\n    addFieldFloat64(voffset, value, defaultValue) {\n        if (this.force_defaults || value != defaultValue) {\n            this.addFloat64(value);\n            this.slot(voffset);\n        }\n    }\n    addFieldOffset(voffset, value, defaultValue) {\n        if (this.force_defaults || value != defaultValue) {\n            this.addOffset(value);\n            this.slot(voffset);\n        }\n    }\n    /**\n     * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n     */\n    addFieldStruct(voffset, value, defaultValue) {\n        if (value != defaultValue) {\n            this.nested(value);\n            this.slot(voffset);\n        }\n    }\n    /**\n     * Structures are always stored inline, they need to be created right\n     * where they're used.  You'll get this assertion failure if you\n     * created it elsewhere.\n     */\n    nested(obj) {\n        if (obj != this.offset()) {\n            throw new TypeError('FlatBuffers: struct must be serialized inline.');\n        }\n    }\n    /**\n     * Should not be creating any other object, string or vector\n     * while an object is being constructed\n     */\n    notNested() {\n        if (this.isNested) {\n            throw new TypeError('FlatBuffers: object serialization must not be nested.');\n        }\n    }\n    /**\n     * Set the current vtable at `voffset` to the current location in the buffer.\n     */\n    slot(voffset) {\n        if (this.vtable !== null)\n            this.vtable[voffset] = this.offset();\n    }\n    /**\n     * @returns Offset relative to the end of the buffer.\n     */\n    offset() {\n        return this.bb.capacity() - this.space;\n    }\n    /**\n     * Doubles the size of the backing ByteBuffer and copies the old data towards\n     * the end of the new buffer (since we build the buffer backwards).\n     *\n     * @param bb The current buffer with the existing data\n     * @returns A new byte buffer with the old data copied\n     * to it. The data is located at the end of the buffer.\n     *\n     * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n     * it a uint8Array we need to suppress the type check:\n     * @suppress {checkTypes}\n     */\n    static growByteBuffer(bb) {\n        const old_buf_size = bb.capacity();\n        // Ensure we don't grow beyond what fits in an int.\n        if (old_buf_size & 0xc0000000) {\n            throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n        }\n        const new_buf_size = old_buf_size << 1;\n        const nbb = ByteBuffer.allocate(new_buf_size);\n        nbb.setPosition(new_buf_size - old_buf_size);\n        nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n        return nbb;\n    }\n    /**\n     * Adds on offset, relative to where it will be written.\n     *\n     * @param offset The offset to add.\n     */\n    addOffset(offset) {\n        this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\n        this.writeInt32(this.offset() - offset + SIZEOF_INT);\n    }\n    /**\n     * Start encoding a new object in the buffer.  Users will not usually need to\n     * call this directly. The FlatBuffers compiler will generate helper methods\n     * that call this method internally.\n     */\n    startObject(numfields) {\n        this.notNested();\n        if (this.vtable == null) {\n            this.vtable = [];\n        }\n        this.vtable_in_use = numfields;\n        for (let i = 0; i < numfields; i++) {\n            this.vtable[i] = 0; // This will push additional elements as needed\n        }\n        this.isNested = true;\n        this.object_start = this.offset();\n    }\n    /**\n     * Finish off writing the object that is under construction.\n     *\n     * @returns The offset to the object inside `dataBuffer`\n     */\n    endObject() {\n        if (this.vtable == null || !this.isNested) {\n            throw new Error('FlatBuffers: endObject called without startObject');\n        }\n        this.addInt32(0);\n        const vtableloc = this.offset();\n        // Trim trailing zeroes.\n        let i = this.vtable_in_use - 1;\n        // eslint-disable-next-line no-empty\n        for (; i >= 0 && this.vtable[i] == 0; i--) { }\n        const trimmed_size = i + 1;\n        // Write out the current vtable.\n        for (; i >= 0; i--) {\n            // Offset relative to the start of the table.\n            this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n        }\n        const standard_fields = 2; // The fields below:\n        this.addInt16(vtableloc - this.object_start);\n        const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\n        this.addInt16(len);\n        // Search for an existing vtable that matches the current one.\n        let existing_vtable = 0;\n        const vt1 = this.space;\n        outer_loop: for (i = 0; i < this.vtables.length; i++) {\n            const vt2 = this.bb.capacity() - this.vtables[i];\n            if (len == this.bb.readInt16(vt2)) {\n                for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\n                    if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n                        continue outer_loop;\n                    }\n                }\n                existing_vtable = this.vtables[i];\n                break;\n            }\n        }\n        if (existing_vtable) {\n            // Found a match:\n            // Remove the current vtable.\n            this.space = this.bb.capacity() - vtableloc;\n            // Point table to existing vtable.\n            this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n        }\n        else {\n            // No match:\n            // Add the location of the current vtable to the list of vtables.\n            this.vtables.push(this.offset());\n            // Point table to current vtable.\n            this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n        }\n        this.isNested = false;\n        return vtableloc;\n    }\n    /**\n     * Finalize a buffer, poiting to the given `root_table`.\n     */\n    finish(root_table, opt_file_identifier, opt_size_prefix) {\n        const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\n        if (opt_file_identifier) {\n            const file_identifier = opt_file_identifier;\n            this.prep(this.minalign, SIZEOF_INT + FILE_IDENTIFIER_LENGTH + size_prefix);\n            if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\n                throw new TypeError('FlatBuffers: file identifier must be length ' +\n                    FILE_IDENTIFIER_LENGTH);\n            }\n            for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n                this.writeInt8(file_identifier.charCodeAt(i));\n            }\n        }\n        this.prep(this.minalign, SIZEOF_INT + size_prefix);\n        this.addOffset(root_table);\n        if (size_prefix) {\n            this.addInt32(this.bb.capacity() - this.space);\n        }\n        this.bb.setPosition(this.space);\n    }\n    /**\n     * Finalize a size prefixed buffer, pointing to the given `root_table`.\n     */\n    finishSizePrefixed(root_table, opt_file_identifier) {\n        this.finish(root_table, opt_file_identifier, true);\n    }\n    /**\n     * This checks a required field has been set in a given table that has\n     * just been constructed.\n     */\n    requiredField(table, field) {\n        const table_start = this.bb.capacity() - table;\n        const vtable_start = table_start - this.bb.readInt32(table_start);\n        const ok = field < this.bb.readInt16(vtable_start) &&\n            this.bb.readInt16(vtable_start + field) != 0;\n        // If this fails, the caller will show what field needs to be set.\n        if (!ok) {\n            throw new TypeError('FlatBuffers: field ' + field + ' must be set');\n        }\n    }\n    /**\n     * Start a new array/vector of objects.  Users usually will not call\n     * this directly. The FlatBuffers compiler will create a start/end\n     * method for vector types in generated code.\n     *\n     * @param elem_size The size of each element in the array\n     * @param num_elems The number of elements in the array\n     * @param alignment The alignment of the array\n     */\n    startVector(elem_size, num_elems, alignment) {\n        this.notNested();\n        this.vector_num_elems = num_elems;\n        this.prep(SIZEOF_INT, elem_size * num_elems);\n        this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n    }\n    /**\n     * Finish off the creation of an array and all its elements. The array must be\n     * created with `startVector`.\n     *\n     * @returns The offset at which the newly created array\n     * starts.\n     */\n    endVector() {\n        this.writeInt32(this.vector_num_elems);\n        return this.offset();\n    }\n    /**\n     * Encode the string `s` in the buffer using UTF-8. If the string passed has\n     * already been seen, we return the offset of the already written string\n     *\n     * @param s The string to encode\n     * @return The offset in the buffer where the encoded string starts\n     */\n    createSharedString(s) {\n        if (!s) {\n            return 0;\n        }\n        if (!this.string_maps) {\n            this.string_maps = new Map();\n        }\n        if (this.string_maps.has(s)) {\n            return this.string_maps.get(s);\n        }\n        const offset = this.createString(s);\n        this.string_maps.set(s, offset);\n        return offset;\n    }\n    /**\n     * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n     * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n     *\n     * @param s The string to encode\n     * @return The offset in the buffer where the encoded string starts\n     */\n    createString(s) {\n        if (s === null || s === undefined) {\n            return 0;\n        }\n        let utf8;\n        if (s instanceof Uint8Array) {\n            utf8 = s;\n        }\n        else {\n            utf8 = this.text_encoder.encode(s);\n        }\n        this.addInt8(0);\n        this.startVector(1, utf8.length, 1);\n        this.bb.setPosition((this.space -= utf8.length));\n        this.bb.bytes().set(utf8, this.space);\n        return this.endVector();\n    }\n    /**\n     * Create a byte vector.\n     *\n     * @param v The bytes to add\n     * @returns The offset in the buffer where the byte vector starts\n     */\n    createByteVector(v) {\n        if (v === null || v === undefined) {\n            return 0;\n        }\n        this.startVector(1, v.length, 1);\n        this.bb.setPosition((this.space -= v.length));\n        this.bb.bytes().set(v, this.space);\n        return this.endVector();\n    }\n    /**\n     * A helper function to pack an object\n     *\n     * @returns offset of obj\n     */\n    createObjectOffset(obj) {\n        if (obj === null) {\n            return 0;\n        }\n        if (typeof obj === 'string') {\n            return this.createString(obj);\n        }\n        else {\n            return obj.pack(this);\n        }\n    }\n    /**\n     * A helper function to pack a list of object\n     *\n     * @returns list of offsets of each non null object\n     */\n    createObjectOffsetList(list) {\n        const ret = [];\n        for (let i = 0; i < list.length; ++i) {\n            const val = list[i];\n            if (val !== null) {\n                ret.push(this.createObjectOffset(val));\n            }\n            else {\n                throw new TypeError('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\n            }\n        }\n        return ret;\n    }\n    createStructOffsetList(list, startFunc) {\n        startFunc(this, list.length);\n        this.createObjectOffsetList(list.slice().reverse());\n        return this.endVector();\n    }\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { MetadataVersion } from './fb/metadata-version.js';\nexport { UnionMode } from './fb/union-mode.js';\nexport { Precision } from './fb/precision.js';\nexport { DateUnit } from './fb/date-unit.js';\nexport { TimeUnit } from './fb/time-unit.js';\nexport { IntervalUnit } from './fb/interval-unit.js';\nexport { MessageHeader } from './fb/message-header.js';\n\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only non-negative enum values are written to an Arrow IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport enum Type {\n    NONE = 0, /** The default placeholder type */\n    Null = 1, /** A NULL type having no physical storage */\n    Int = 2, /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n    Float = 3, /** 2, 4, or 8-byte floating point value */\n    Binary = 4, /** Variable-length bytes (no guarantee of UTF8-ness) */\n    Utf8 = 5, /** UTF8 variable-length string as List<Char> */\n    Bool = 6, /** Boolean as 1 bit, LSB bit-packed ordering */\n    Decimal = 7, /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n    Date = 8, /** int32_t days or int64_t milliseconds since the UNIX epoch */\n    Time = 9, /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n    Timestamp = 10, /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n    Interval = 11, /** YEAR_MONTH or DAY_TIME or MONTH_DAY_NANO interval */\n    List = 12, /** A list of some logical data type */\n    Struct = 13, /** Struct of logical types */\n    Union = 14, /** Union of logical types */\n    FixedSizeBinary = 15, /** Fixed-size binary. Each value occupies the same number of bytes */\n    FixedSizeList = 16, /** Fixed-size list. Each value occupies the same number of bytes */\n    Map = 17, /** Map of named logical types */\n    Duration = 18, /** Measure of elapsed time in either seconds, milliseconds, microseconds or nanoseconds */\n    LargeBinary = 19, /** Large variable-length bytes (no guarantee of UTF8-ness) */\n    LargeUtf8 = 20, /** Large variable-length string as List<Char> */\n\n    Dictionary = -1, /** Dictionary aka Category type */\n    Int8 = -2,\n    Int16 = -3,\n    Int32 = -4,\n    Int64 = -5,\n    Uint8 = -6,\n    Uint16 = -7,\n    Uint32 = -8,\n    Uint64 = -9,\n    Float16 = -10,\n    Float32 = -11,\n    Float64 = -12,\n    DateDay = -13,\n    DateMillisecond = -14,\n    TimestampSecond = -15,\n    TimestampMillisecond = -16,\n    TimestampMicrosecond = -17,\n    TimestampNanosecond = -18,\n    TimeSecond = -19,\n    TimeMillisecond = -20,\n    TimeMicrosecond = -21,\n    TimeNanosecond = -22,\n    DenseUnion = -23,\n    SparseUnion = -24,\n    IntervalDayTime = -25,\n    IntervalYearMonth = -26,\n    DurationSecond = -27,\n    DurationMillisecond = -28,\n    DurationMicrosecond = -29,\n    DurationNanosecond = -30,\n    IntervalMonthDayNano = -31,\n}\n\nexport enum BufferType {\n    /**\n     * used in List type, Dense Union and variable length primitive types (String, Binary)\n     */\n    OFFSET = 0,\n\n    /**\n     * actual data, either fixed width primitive types in slots or variable width delimited by an OFFSET vector\n     */\n    DATA = 1,\n\n    /**\n     * Bit vector indicating if each value is null\n     */\n    VALIDITY = 2,\n\n    /**\n     * Type vector used in Union type\n     */\n    TYPE = 3\n}\n", null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from './schema.js';\nimport { Vector } from './vector.js';\nimport { MapRow } from './row/map.js';\nimport { StructRow, StructRowProxy } from './row/struct.js';\nimport { ArrayCtor, BigIntArrayConstructor, TypedArrayConstructor } from './interfaces.js';\nimport { bigIntToNumber } from './util/bigint.js';\n\nimport {\n    Type,\n    Precision, UnionMode,\n    DateUnit, TimeUnit, IntervalUnit\n} from './enum.js';\n\n/** @ignore */\nexport type TimeBitWidth = 32 | 64;\n/** @ignore */\nexport type IntBitWidth = 8 | 16 | 32 | 64;\n/** @ignore */\nexport type IsSigned = { 'true': true; 'false': false };\n\nexport interface DataType<TType extends Type = Type, TChildren extends TypeMap = any> {\n    readonly TType: TType;\n    readonly TArray: any;\n    readonly TOffsetArray: any;\n    readonly TValue: any;\n    readonly TChildren: TChildren;\n    readonly ArrayType: any;\n    readonly OffsetArrayType: ArrayCtor<Int32Array | BigInt64Array>;\n    readonly children: Field<TChildren[keyof TChildren]>[];\n}\n\n/**\n * An abstract base class for classes that encapsulate metadata about each of\n * the logical types that Arrow can represent.\n */\nexport abstract class DataType<TType extends Type = Type, TChildren extends TypeMap = any> {\n\n    declare public [Symbol.toStringTag]: string;\n\n    /** @nocollapse */ static isNull(x: any): x is Null { return x?.typeId === Type.Null; }\n    /** @nocollapse */ static isInt(x: any): x is Int_ { return x?.typeId === Type.Int; }\n    /** @nocollapse */ static isFloat(x: any): x is Float { return x?.typeId === Type.Float; }\n    /** @nocollapse */ static isBinary(x: any): x is Binary { return x?.typeId === Type.Binary; }\n    /** @nocollapse */ static isLargeBinary(x: any): x is LargeBinary { return x?.typeId === Type.LargeBinary; }\n    /** @nocollapse */ static isUtf8(x: any): x is Utf8 { return x?.typeId === Type.Utf8; }\n    /** @nocollapse */ static isLargeUtf8(x: any): x is LargeUtf8 { return x?.typeId === Type.LargeUtf8; }\n    /** @nocollapse */ static isBool(x: any): x is Bool { return x?.typeId === Type.Bool; }\n    /** @nocollapse */ static isDecimal(x: any): x is Decimal { return x?.typeId === Type.Decimal; }\n    /** @nocollapse */ static isDate(x: any): x is Date_ { return x?.typeId === Type.Date; }\n    /** @nocollapse */ static isTime(x: any): x is Time_ { return x?.typeId === Type.Time; }\n    /** @nocollapse */ static isTimestamp(x: any): x is Timestamp_ { return x?.typeId === Type.Timestamp; }\n    /** @nocollapse */ static isInterval(x: any): x is Interval_ { return x?.typeId === Type.Interval; }\n    /** @nocollapse */ static isDuration(x: any): x is Duration { return x?.typeId === Type.Duration; }\n    /** @nocollapse */ static isList(x: any): x is List { return x?.typeId === Type.List; }\n    /** @nocollapse */ static isStruct(x: any): x is Struct { return x?.typeId === Type.Struct; }\n    /** @nocollapse */ static isUnion(x: any): x is Union_ { return x?.typeId === Type.Union; }\n    /** @nocollapse */ static isFixedSizeBinary(x: any): x is FixedSizeBinary { return x?.typeId === Type.FixedSizeBinary; }\n    /** @nocollapse */ static isFixedSizeList(x: any): x is FixedSizeList { return x?.typeId === Type.FixedSizeList; }\n    /** @nocollapse */ static isMap(x: any): x is Map_ { return x?.typeId === Type.Map; }\n    /** @nocollapse */ static isDictionary(x: any): x is Dictionary { return x?.typeId === Type.Dictionary; }\n\n    /** @nocollapse */ static isDenseUnion(x: any): x is DenseUnion { return DataType.isUnion(x) && x.mode === UnionMode.Dense; }\n    /** @nocollapse */ static isSparseUnion(x: any): x is SparseUnion { return DataType.isUnion(x) && x.mode === UnionMode.Sparse; }\n\n    declare public readonly typeId: TType;\n\n    constructor(typeId: TType) {\n        this.typeId = typeId;\n    }\n\n    protected static [Symbol.toStringTag] = ((proto: DataType) => {\n        (<any>proto).children = null;\n        (<any>proto).ArrayType = Array;\n        (<any>proto).OffsetArrayType = Int32Array;\n        return proto[Symbol.toStringTag] = 'DataType';\n    })(DataType.prototype);\n}\n\n/** @ignore */\nexport interface Null extends DataType<Type.Null> { TArray: void; TValue: null }\n/** @ignore */\nexport class Null extends DataType<Type.Null> {\n    constructor() {\n        super(Type.Null);\n    }\n    public toString() { return `Null`; }\n    protected static [Symbol.toStringTag] = ((proto: Null) => proto[Symbol.toStringTag] = 'Null')(Null.prototype);\n}\n\n/** @ignore */\ntype Ints = Type.Int | Type.Int8 | Type.Int16 | Type.Int32 | Type.Int64 | Type.Uint8 | Type.Uint16 | Type.Uint32 | Type.Uint64;\n/** @ignore */\ntype IType = {\n    [Type.Int]: { bitWidth: IntBitWidth; isSigned: true | false; TArray: IntArray; TValue: number | bigint };\n    [Type.Int8]: { bitWidth: 8; isSigned: true; TArray: Int8Array; TValue: number };\n    [Type.Int16]: { bitWidth: 16; isSigned: true; TArray: Int16Array; TValue: number };\n    [Type.Int32]: { bitWidth: 32; isSigned: true; TArray: Int32Array; TValue: number };\n    [Type.Int64]: { bitWidth: 64; isSigned: true; TArray: BigInt64Array; TValue: bigint };\n    [Type.Uint8]: { bitWidth: 8; isSigned: false; TArray: Uint8Array; TValue: number };\n    [Type.Uint16]: { bitWidth: 16; isSigned: false; TArray: Uint16Array; TValue: number };\n    [Type.Uint32]: { bitWidth: 32; isSigned: false; TArray: Uint32Array; TValue: number };\n    [Type.Uint64]: { bitWidth: 64; isSigned: false; TArray: BigUint64Array; TValue: bigint };\n};\n\n/** @ignore */\ninterface Int_<T extends Ints = Ints> extends DataType<T> { TArray: IType[T]['TArray']; TValue: IType[T]['TValue'] }\n/** @ignore */\nclass Int_<T extends Ints = Ints> extends DataType<T> {\n    constructor(public readonly isSigned: IType[T]['isSigned'],\n        public readonly bitWidth: IType[T]['bitWidth']) {\n        super(Type.Int as T);\n    }\n    public get ArrayType() {\n        switch (this.bitWidth) {\n            case 8: return this.isSigned ? Int8Array : Uint8Array;\n            case 16: return this.isSigned ? Int16Array : Uint16Array;\n            case 32: return this.isSigned ? Int32Array : Uint32Array;\n            case 64: return this.isSigned ? BigInt64Array : BigUint64Array;\n        }\n        throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n    }\n    public toString() { return `${this.isSigned ? `I` : `Ui`}nt${this.bitWidth}`; }\n    protected static [Symbol.toStringTag] = ((proto: Int_) => {\n        (<any>proto).isSigned = null;\n        (<any>proto).bitWidth = null;\n        return proto[Symbol.toStringTag] = 'Int';\n    })(Int_.prototype);\n}\n\nexport { Int_ as Int };\n\n/** @ignore */\nexport class Int8 extends Int_<Type.Int8> {\n    constructor() { super(true, 8); }\n    public get ArrayType() { return Int8Array; }\n}\n/** @ignore */\nexport class Int16 extends Int_<Type.Int16> {\n    constructor() { super(true, 16); }\n    public get ArrayType() { return Int16Array; }\n}\n/** @ignore */\nexport class Int32 extends Int_<Type.Int32> {\n    constructor() { super(true, 32); }\n    public get ArrayType() { return Int32Array; }\n}\n/** @ignore */\nexport class Int64 extends Int_<Type.Int64> {\n    constructor() { super(true, 64); }\n    public get ArrayType() { return BigInt64Array; }\n}\n/** @ignore */\nexport class Uint8 extends Int_<Type.Uint8> {\n    constructor() { super(false, 8); }\n    public get ArrayType() { return Uint8Array; }\n}\n/** @ignore */\nexport class Uint16 extends Int_<Type.Uint16> {\n    constructor() { super(false, 16); }\n    public get ArrayType() { return Uint16Array; }\n}\n/** @ignore */\nexport class Uint32 extends Int_<Type.Uint32> {\n    constructor() { super(false, 32); }\n    public get ArrayType() { return Uint32Array; }\n}\n/** @ignore */\nexport class Uint64 extends Int_<Type.Uint64> {\n    constructor() { super(false, 64); }\n    public get ArrayType() { return BigUint64Array; }\n}\n\nObject.defineProperty(Int8.prototype, 'ArrayType', { value: Int8Array });\nObject.defineProperty(Int16.prototype, 'ArrayType', { value: Int16Array });\nObject.defineProperty(Int32.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Int64.prototype, 'ArrayType', { value: BigInt64Array });\nObject.defineProperty(Uint8.prototype, 'ArrayType', { value: Uint8Array });\nObject.defineProperty(Uint16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Uint32.prototype, 'ArrayType', { value: Uint32Array });\nObject.defineProperty(Uint64.prototype, 'ArrayType', { value: BigUint64Array });\n\n/** @ignore */\ntype Floats = Type.Float | Type.Float16 | Type.Float32 | Type.Float64;\n/** @ignore */\ntype FType = {\n    [Type.Float]: { precision: Precision; TArray: FloatArray; TValue: number };\n    [Type.Float16]: { precision: Precision.HALF; TArray: Uint16Array; TValue: number };\n    [Type.Float32]: { precision: Precision.SINGLE; TArray: Float32Array; TValue: number };\n    [Type.Float64]: { precision: Precision.DOUBLE; TArray: Float64Array; TValue: number };\n};\n\n/** @ignore */\nexport interface Float<T extends Floats = Floats> extends DataType<T> { TArray: FType[T]['TArray']; TValue: number }\n/** @ignore */\nexport class Float<T extends Floats = Floats> extends DataType<T> {\n    constructor(public readonly precision: Precision) {\n        super(Type.Float as T);\n    }\n    public get ArrayType(): TypedArrayConstructor<FType[T]['TArray']> {\n        switch (this.precision) {\n            case Precision.HALF: return Uint16Array;\n            case Precision.SINGLE: return Float32Array;\n            case Precision.DOUBLE: return Float64Array;\n        }\n        // @ts-ignore\n        throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n    }\n    public toString() { return `Float${(this.precision << 5) || 16}`; }\n    protected static [Symbol.toStringTag] = ((proto: Float) => {\n        (<any>proto).precision = null;\n        return proto[Symbol.toStringTag] = 'Float';\n    })(Float.prototype);\n}\n\n/** @ignore */\nexport class Float16 extends Float<Type.Float16> { constructor() { super(Precision.HALF); } }\n/** @ignore */\nexport class Float32 extends Float<Type.Float32> { constructor() { super(Precision.SINGLE); } }\n/** @ignore */\nexport class Float64 extends Float<Type.Float64> { constructor() { super(Precision.DOUBLE); } }\n\nObject.defineProperty(Float16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Float32.prototype, 'ArrayType', { value: Float32Array });\nObject.defineProperty(Float64.prototype, 'ArrayType', { value: Float64Array });\n\n/** @ignore */\nexport interface Binary extends DataType<Type.Binary> { TArray: Uint8Array; TOffsetArray: Int32Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: TypedArrayConstructor<Int32Array> }\n/** @ignore */\nexport class Binary extends DataType<Type.Binary> {\n    constructor() {\n        super(Type.Binary);\n    }\n    public toString() { return `Binary`; }\n    protected static [Symbol.toStringTag] = ((proto: Binary) => {\n        (<any>proto).ArrayType = Uint8Array;\n        return proto[Symbol.toStringTag] = 'Binary';\n    })(Binary.prototype);\n}\n\n/** @ignore */\nexport interface LargeBinary extends DataType<Type.LargeBinary> { TArray: Uint8Array; TOffsetArray: BigInt64Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: BigIntArrayConstructor<BigInt64Array> }\n/** @ignore */\nexport class LargeBinary extends DataType<Type.LargeBinary> {\n    constructor() {\n        super(Type.LargeBinary);\n    }\n    public toString() { return `LargeBinary`; }\n    protected static [Symbol.toStringTag] = ((proto: LargeBinary) => {\n        (<any>proto).ArrayType = Uint8Array;\n        (<any>proto).OffsetArrayType = BigInt64Array;\n        return proto[Symbol.toStringTag] = 'LargeBinary';\n    })(LargeBinary.prototype);\n}\n\n/** @ignore */\nexport interface Utf8 extends DataType<Type.Utf8> { TArray: Uint8Array; TOffsetArray: Int32Array; TValue: string; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: TypedArrayConstructor<Int32Array> }\n/** @ignore */\nexport class Utf8 extends DataType<Type.Utf8> {\n    constructor() {\n        super(Type.Utf8);\n    }\n    public toString() { return `Utf8`; }\n    protected static [Symbol.toStringTag] = ((proto: Utf8) => {\n        (<any>proto).ArrayType = Uint8Array;\n        return proto[Symbol.toStringTag] = 'Utf8';\n    })(Utf8.prototype);\n}\n\n/** @ignore */\nexport interface LargeUtf8 extends DataType<Type.LargeUtf8> { TArray: Uint8Array; TOffsetArray: BigInt64Array; TValue: string; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: BigIntArrayConstructor<BigInt64Array> }\n/** @ignore */\nexport class LargeUtf8 extends DataType<Type.LargeUtf8> {\n    constructor() {\n        super(Type.LargeUtf8);\n    }\n    public toString() { return `LargeUtf8`; }\n    protected static [Symbol.toStringTag] = ((proto: LargeUtf8) => {\n        (<any>proto).ArrayType = Uint8Array;\n        (<any>proto).OffsetArrayType = BigInt64Array;\n        return proto[Symbol.toStringTag] = 'LargeUtf8';\n    })(LargeUtf8.prototype);\n}\n\n/** @ignore */\nexport interface Bool extends DataType<Type.Bool> { TArray: Uint8Array; TValue: boolean; ArrayType: TypedArrayConstructor<Uint8Array> }\n/** @ignore */\nexport class Bool extends DataType<Type.Bool> {\n    constructor() {\n        super(Type.Bool);\n    }\n    public toString() { return `Bool`; }\n    protected static [Symbol.toStringTag] = ((proto: Bool) => {\n        (<any>proto).ArrayType = Uint8Array;\n        return proto[Symbol.toStringTag] = 'Bool';\n    })(Bool.prototype);\n}\n\n/** @ignore */\nexport interface Decimal extends DataType<Type.Decimal> { TArray: Uint32Array; TValue: Uint32Array; ArrayType: TypedArrayConstructor<Uint32Array> }\n/** @ignore */\nexport class Decimal extends DataType<Type.Decimal> {\n    constructor(public readonly scale: number,\n        public readonly precision: number,\n        public readonly bitWidth: number = 128) {\n        super(Type.Decimal);\n    }\n    public toString() { return `Decimal[${this.precision}e${this.scale > 0 ? `+` : ``}${this.scale}]`; }\n    protected static [Symbol.toStringTag] = ((proto: Decimal) => {\n        (<any>proto).scale = null;\n        (<any>proto).precision = null;\n        (<any>proto).ArrayType = Uint32Array;\n        return proto[Symbol.toStringTag] = 'Decimal';\n    })(Decimal.prototype);\n}\n\n/** @ignore */\nexport type Dates = Type.Date | Type.DateDay | Type.DateMillisecond;\n/** @ignore */\ntype DateType = {\n    [Type.Date]: { TArray: Int32Array | BigInt64Array };\n    [Type.DateDay]: { TArray: Int32Array };\n    [Type.DateMillisecond]: { TArray: BigInt64Array };\n};\n/** @ignore */\nexport interface Date_<T extends Dates = Dates> extends DataType<T> {\n    TArray: DateType[T]['TArray'];\n    TValue: number;\n}\n/** @ignore */\nexport class Date_<T extends Dates = Dates> extends DataType<T> {\n    constructor(public readonly unit: DateUnit) {\n        super(Type.Date as T);\n    }\n    public toString() { return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`; }\n\n    public get ArrayType() {\n        return this.unit === DateUnit.DAY ? Int32Array : BigInt64Array;\n    }\n    protected static [Symbol.toStringTag] = ((proto: Date_) => {\n        (<any>proto).unit = null;\n        return proto[Symbol.toStringTag] = 'Date';\n    })(Date_.prototype);\n}\n\n/** @ignore */\nexport class DateDay extends Date_<Type.DateDay> { constructor() { super(DateUnit.DAY); } }\n/**\n * A signed 64-bit date representing the elapsed time since UNIX epoch (1970-01-01) in milliseconds.\n * According to the specification, this should be treated as the number of days, in milliseconds,  since the UNIX epoch.\n * Therefore, values must be evenly divisible by `86_400_000` (the number of milliseconds in a standard day).\n *\n * Practically, validation that values of this type are evenly divisible by `86_400_000` is not enforced by this library\n * for performance and usability reasons.\n *\n * Users should prefer to use {@link DateDay} to cleanly represent the number of days. For JS dates,\n * {@link TimestampMillisecond} is the preferred type.\n *\n * @ignore\n */\nexport class DateMillisecond extends Date_<Type.DateMillisecond> { constructor() { super(DateUnit.MILLISECOND); } }\n\n/** @ignore */\ntype Times = Type.Time | Type.TimeSecond | Type.TimeMillisecond | Type.TimeMicrosecond | Type.TimeNanosecond;\n/** @ignore */\ntype TimesType = {\n    [Type.Time]: { unit: TimeUnit; TValue: number | bigint; TArray: Int32Array | BigInt64Array };\n    [Type.TimeSecond]: { unit: TimeUnit.SECOND; TValue: number; TArray: Int32Array };\n    [Type.TimeMillisecond]: { unit: TimeUnit.MILLISECOND; TValue: number; TArray: Int32Array };\n    [Type.TimeMicrosecond]: { unit: TimeUnit.MICROSECOND; TValue: bigint; TArray: BigInt64Array };\n    [Type.TimeNanosecond]: { unit: TimeUnit.NANOSECOND; TValue: bigint; TArray: BigInt64Array };\n};\n\n/** @ignore */\ninterface Time_<T extends Times = Times> extends DataType<T> {\n    TArray: TimesType[T]['TArray'];\n    TValue: TimesType[T]['TValue'];\n}\n/** @ignore */\nclass Time_<T extends Times = Times> extends DataType<T> {\n    constructor(public readonly unit: TimesType[T]['unit'],\n        public readonly bitWidth: TimeBitWidth) {\n        super(Type.Time as T);\n    }\n    public toString() { return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`; }\n    public get ArrayType() {\n        switch (this.bitWidth) {\n            case 32: return Int32Array;\n            case 64: return BigInt64Array;\n        }\n        // @ts-ignore\n        throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n    }\n    protected static [Symbol.toStringTag] = ((proto: Time_) => {\n        (<any>proto).unit = null;\n        (<any>proto).bitWidth = null;\n        return proto[Symbol.toStringTag] = 'Time';\n    })(Time_.prototype);\n}\n\nexport { Time_ as Time };\n\n/** @ignore */\nexport class TimeSecond extends Time_<Type.TimeSecond> { constructor() { super(TimeUnit.SECOND, 32); } }\n/** @ignore */\nexport class TimeMillisecond extends Time_<Type.TimeMillisecond> { constructor() { super(TimeUnit.MILLISECOND, 32); } }\n/** @ignore */\nexport class TimeMicrosecond extends Time_<Type.TimeMicrosecond> { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n/** @ignore */\nexport class TimeNanosecond extends Time_<Type.TimeNanosecond> { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\n/** @ignore */\ntype Timestamps = Type.Timestamp | Type.TimestampSecond | Type.TimestampMillisecond | Type.TimestampMicrosecond | Type.TimestampNanosecond;\n/** @ignore */\ninterface Timestamp_<T extends Timestamps = Timestamps> extends DataType<T> {\n    TArray: BigInt64Array;\n    TValue: number;\n    ArrayType: BigIntArrayConstructor<BigInt64Array>;\n}\n\n/** @ignore */\nclass Timestamp_<T extends Timestamps = Timestamps> extends DataType<T> {\n    constructor(public readonly unit: TimeUnit,\n        public readonly timezone?: string | null) {\n        super(Type.Timestamp as T);\n    }\n    public toString() { return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ``}>`; }\n    protected static [Symbol.toStringTag] = ((proto: Timestamp_) => {\n        (<any>proto).unit = null;\n        (<any>proto).timezone = null;\n        (<any>proto).ArrayType = BigInt64Array;\n        return proto[Symbol.toStringTag] = 'Timestamp';\n    })(Timestamp_.prototype);\n}\n\nexport { Timestamp_ as Timestamp };\n\n/** @ignore */\nexport class TimestampSecond extends Timestamp_<Type.TimestampSecond> { constructor(timezone?: string | null) { super(TimeUnit.SECOND, timezone); } }\n/** @ignore */\nexport class TimestampMillisecond extends Timestamp_<Type.TimestampMillisecond> { constructor(timezone?: string | null) { super(TimeUnit.MILLISECOND, timezone); } }\n/** @ignore */\nexport class TimestampMicrosecond extends Timestamp_<Type.TimestampMicrosecond> { constructor(timezone?: string | null) { super(TimeUnit.MICROSECOND, timezone); } }\n/** @ignore */\nexport class TimestampNanosecond extends Timestamp_<Type.TimestampNanosecond> { constructor(timezone?: string | null) { super(TimeUnit.NANOSECOND, timezone); } }\n\n/** @ignore */\ntype Intervals = Type.Interval | Type.IntervalDayTime | Type.IntervalYearMonth | Type.IntervalMonthDayNano;\n/** @ignore */\ninterface Interval_<T extends Intervals = Intervals> extends DataType<T> {\n    TArray: Int32Array;\n    TValue: Int32Array;\n    ArrayType: TypedArrayConstructor<Int32Array>;\n}\n\n/** @ignore */\nclass Interval_<T extends Intervals = Intervals> extends DataType<T> {\n    constructor(public readonly unit: IntervalUnit) {\n        super(Type.Interval as T);\n    }\n    public toString() { return `Interval<${IntervalUnit[this.unit]}>`; }\n    protected static [Symbol.toStringTag] = ((proto: Interval_) => {\n        (<any>proto).unit = null;\n        (<any>proto).ArrayType = Int32Array;\n        return proto[Symbol.toStringTag] = 'Interval';\n    })(Interval_.prototype);\n}\n\nexport { Interval_ as Interval };\n\n/** @ignore */\nexport class IntervalDayTime extends Interval_<Type.IntervalDayTime> { constructor() { super(IntervalUnit.DAY_TIME); } }\n/** @ignore */\nexport class IntervalYearMonth extends Interval_<Type.IntervalYearMonth> { constructor() { super(IntervalUnit.YEAR_MONTH); } }\n/** @ignore */\nexport class IntervalMonthDayNano extends Interval_<Type.IntervalMonthDayNano> { constructor() { super(IntervalUnit.MONTH_DAY_NANO); } }\n\n/** @ignore */\ntype Durations = Type.Duration | Type.DurationSecond | Type.DurationMillisecond | Type.DurationMicrosecond | Type.DurationNanosecond;\n/** @ignore */\nexport interface Duration<T extends Durations = Durations> extends DataType<T> {\n    TArray: BigInt64Array;\n    TValue: bigint;\n    ArrayType: BigIntArrayConstructor<BigInt64Array>;\n}\n\n/** @ignore */\nexport class Duration<T extends Durations = Durations> extends DataType<T> {\n    constructor(public readonly unit: TimeUnit) {\n        super(Type.Duration as T);\n    }\n    public toString() { return `Duration<${TimeUnit[this.unit]}>`; }\n    protected static [Symbol.toStringTag] = ((proto: Duration) => {\n        (<any>proto).unit = null;\n        (<any>proto).ArrayType = BigInt64Array;\n        return proto[Symbol.toStringTag] = 'Duration';\n    })(Duration.prototype);\n}\n\n/** @ignore */\nexport class DurationSecond extends Duration<Type.DurationSecond> { constructor() { super(TimeUnit.SECOND); } }\n/** @ignore */\nexport class DurationMillisecond extends Duration<Type.DurationMillisecond> { constructor() { super(TimeUnit.MILLISECOND); } }\n/** @ignore */\nexport class DurationMicrosecond extends Duration<Type.DurationMicrosecond> { constructor() { super(TimeUnit.MICROSECOND); } }\n/** @ignore */\nexport class DurationNanosecond extends Duration<Type.DurationNanosecond> { constructor() { super(TimeUnit.NANOSECOND); } }\n\n\n/** @ignore */\nexport interface List<T extends DataType = any> extends DataType<Type.List, { [0]: T }> {\n    TArray: Array<T>;\n    TValue: Vector<T>;\n}\n\n/** @ignore */\nexport class List<T extends DataType = any> extends DataType<Type.List, { [0]: T }> {\n    constructor(child: Field<T>) {\n        super(Type.List);\n        this.children = [child];\n    }\n    public declare readonly children: Field<T>[];\n    public toString() { return `List<${this.valueType}>`; }\n    public get valueType(): T { return this.children[0].type as T; }\n    public get valueField(): Field<T> { return this.children[0] as Field<T>; }\n    public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n    protected static [Symbol.toStringTag] = ((proto: List) => {\n        (<any>proto).children = null;\n        return proto[Symbol.toStringTag] = 'List';\n    })(List.prototype);\n}\n\n/** @ignore */\nexport interface Struct<T extends TypeMap = any> extends DataType<Type.Struct, T> {\n    TArray: Array<StructRowProxy<T>>;\n    TValue: StructRowProxy<T>;\n    dataTypes: T;\n}\n\n/** @ignore */\nexport class Struct<T extends TypeMap = any> extends DataType<Type.Struct, T> {\n    public declare _row: StructRow<T>;\n    public declare readonly children: Field<T[keyof T]>[];\n    constructor(children: Field<T[keyof T]>[]) {\n        super(Type.Struct);\n        this.children = children;\n    }\n    public toString() { return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n    protected static [Symbol.toStringTag] = ((proto: Struct) => {\n        (<any>proto).children = null;\n        return proto[Symbol.toStringTag] = 'Struct';\n    })(Struct.prototype);\n}\n\n/** @ignore */\ntype Unions = Type.Union | Type.DenseUnion | Type.SparseUnion;\n/** @ignore */\ninterface Union_<T extends Unions = Unions> extends DataType<T> { TArray: Int8Array; TValue: any; ArrayType: TypedArrayConstructor<Int8Array> }\n/** @ignore */\nclass Union_<T extends Unions = Unions> extends DataType<T> {\n    public declare readonly mode: UnionMode;\n    public declare readonly typeIds: Int32Array;\n    public declare readonly children: Field<any>[];\n    public declare readonly typeIdToChildIndex: { [key: number]: number };\n    constructor(mode: UnionMode,\n        typeIds: number[] | Int32Array,\n        children: Field<any>[]) {\n        super(Type.Union as T);\n        this.mode = mode;\n        this.children = children;\n        this.typeIds = typeIds = Int32Array.from(typeIds);\n        this.typeIdToChildIndex = typeIds.reduce((typeIdToChildIndex, typeId, idx) => (typeIdToChildIndex[typeId] = idx) && typeIdToChildIndex || typeIdToChildIndex, Object.create(null) as { [key: number]: number });\n    }\n    public toString() {\n        return `${this[Symbol.toStringTag]}<${this.children.map((x) => `${x.type}`).join(` | `)\n            }>`;\n    }\n    protected static [Symbol.toStringTag] = ((proto: Union_) => {\n        (<any>proto).mode = null;\n        (<any>proto).typeIds = null;\n        (<any>proto).children = null;\n        (<any>proto).typeIdToChildIndex = null;\n        (<any>proto).ArrayType = Int8Array;\n        return proto[Symbol.toStringTag] = 'Union';\n    })(Union_.prototype);\n}\n\nexport { Union_ as Union };\n\n/** @ignore */\nexport class DenseUnion extends Union_<Type.DenseUnion> {\n    constructor(typeIds: number[] | Int32Array, children: Field[]) {\n        super(UnionMode.Dense, typeIds, children);\n    }\n}\n\n/** @ignore */\nexport class SparseUnion extends Union_<Type.SparseUnion> {\n    constructor(typeIds: number[] | Int32Array, children: Field[]) {\n        super(UnionMode.Sparse, typeIds, children);\n    }\n}\n\n/** @ignore */\nexport interface FixedSizeBinary extends DataType<Type.FixedSizeBinary> {\n    TArray: Uint8Array;\n    TValue: Uint8Array;\n    ArrayType: TypedArrayConstructor<Uint8Array>;\n}\n\n/** @ignore */\nexport class FixedSizeBinary extends DataType<Type.FixedSizeBinary> {\n    constructor(public readonly byteWidth: number) {\n        super(Type.FixedSizeBinary);\n    }\n    public toString() { return `FixedSizeBinary[${this.byteWidth}]`; }\n    protected static [Symbol.toStringTag] = ((proto: FixedSizeBinary) => {\n        (<any>proto).byteWidth = null;\n        (<any>proto).ArrayType = Uint8Array;\n        return proto[Symbol.toStringTag] = 'FixedSizeBinary';\n    })(FixedSizeBinary.prototype);\n}\n\n/** @ignore */\nexport interface FixedSizeList<T extends DataType = any> extends DataType<Type.FixedSizeList, { [0]: T }> {\n    TArray: Array<T['TArray']>;\n    TValue: Vector<T>;\n}\n\n/** @ignore */\nexport class FixedSizeList<T extends DataType = any> extends DataType<Type.FixedSizeList, { [0]: T }> {\n    public declare readonly children: Field<T>[];\n    constructor(public readonly listSize: number, child: Field<T>) {\n        super(Type.FixedSizeList);\n        this.children = [child];\n    }\n    public get valueType(): T { return this.children[0].type as T; }\n    public get valueField(): Field<T> { return this.children[0] as Field<T>; }\n    public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n    public toString() { return `FixedSizeList[${this.listSize}]<${this.valueType}>`; }\n    protected static [Symbol.toStringTag] = ((proto: FixedSizeList) => {\n        (<any>proto).children = null;\n        (<any>proto).listSize = null;\n        return proto[Symbol.toStringTag] = 'FixedSizeList';\n    })(FixedSizeList.prototype);\n}\n\n/** @ignore */\nexport interface Map_<TKey extends DataType = any, TValue extends DataType = any> extends DataType<Type.Map, { [0]: Struct<{ key: TKey; value: TValue }> }> {\n    TArray: Array<Map<TKey['TValue'], TValue['TValue'] | null>>;\n    TChild: Struct<{ key: TKey; value: TValue }>;\n    TValue: MapRow<TKey, TValue>;\n}\n\n/** @ignore */\nexport class Map_<TKey extends DataType = any, TValue extends DataType = any> extends DataType<Type.Map, { [0]: Struct<{ key: TKey; value: TValue }> }> {\n    constructor(entries: Field<Struct<{ key: TKey; value: TValue }>>, keysSorted = false) {\n        super(Type.Map);\n        this.children = [entries];\n        this.keysSorted = keysSorted;\n        // ARROW-8716\n        // https://github.com/apache/arrow/issues/17168\n        if (entries) {\n            (entries as any)['name'] = 'entries';\n            if ((entries as any)?.type?.children) {\n                const key = (entries as any)?.type?.children[0];\n                if (key) {\n                    key['name'] = 'key';\n                }\n                const val = (entries as any)?.type?.children[1];\n                if (val) {\n                    val['name'] = 'value';\n                }\n            }\n        }\n    }\n    public declare readonly keysSorted: boolean;\n    public declare readonly children: Field<Struct<{ key: TKey; value: TValue }>>[];\n    public get keyType(): TKey { return this.children[0].type.children[0].type as TKey; }\n    public get valueType(): TValue { return this.children[0].type.children[1].type as TValue; }\n    public get childType() { return this.children[0].type as Struct<{ key: TKey; value: TValue }>; }\n    public toString() { return `Map<{${this.children[0].type.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n    protected static [Symbol.toStringTag] = ((proto: Map_) => {\n        (<any>proto).children = null;\n        (<any>proto).keysSorted = null;\n        return proto[Symbol.toStringTag] = 'Map_';\n    })(Map_.prototype);\n}\n\n/** @ignore */\nconst getId = ((atomicDictionaryId) => () => ++atomicDictionaryId)(-1);\n\n/** @ignore */\nexport type TKeys = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32;\n\n/** @ignore */\nexport interface Dictionary<T extends DataType = any, TKey extends TKeys = TKeys> extends DataType<Type.Dictionary> {\n    TArray: TKey['TArray'];\n    TValue: T['TValue'];\n}\n\n/** @ignore */\nexport class Dictionary<T extends DataType = any, TKey extends TKeys = TKeys> extends DataType<Type.Dictionary> {\n    public declare readonly id: number;\n    public declare readonly indices: TKey;\n    public declare readonly dictionary: T;\n    public declare readonly isOrdered: boolean;\n    constructor(dictionary: T, indices: TKey, id?: bigint | number | null, isOrdered?: boolean | null) {\n        super(Type.Dictionary);\n        this.indices = indices;\n        this.dictionary = dictionary;\n        this.isOrdered = isOrdered || false;\n        this.id = id == null ? getId() : bigIntToNumber(id);\n    }\n    public get children() { return this.dictionary.children; }\n    public get valueType(): T { return this.dictionary as T; }\n    public get ArrayType(): T['ArrayType'] { return this.dictionary.ArrayType; }\n    public toString() { return `Dictionary<${this.indices}, ${this.dictionary}>`; }\n    protected static [Symbol.toStringTag] = ((proto: Dictionary) => {\n        (<any>proto).id = null;\n        (<any>proto).indices = null;\n        (<any>proto).isOrdered = null;\n        (<any>proto).dictionary = null;\n        return proto[Symbol.toStringTag] = 'Dictionary';\n    })(Dictionary.prototype);\n}\n\n/** @ignore */\nexport type FloatArray = Uint16Array | Float32Array | Float64Array;\n/** @ignore */\nexport type IntArray = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;\n\n/** @ignore */\nexport function strideForType(type: DataType) {\n    const t: any = type;\n    switch (type.typeId) {\n        case Type.Decimal: return (type as Decimal).bitWidth / 32;\n        case Type.Interval: {\n            if ((t as Interval_).unit === IntervalUnit.MONTH_DAY_NANO) {\n                return 4;\n            }\n            return 1 + (t as Interval_).unit;\n        }\n        // case Type.Int: return 1 + +((t as Int_).bitWidth > 32);\n        // case Type.Time: return 1 + +((t as Time_).bitWidth > 32);\n        case Type.FixedSizeList: return (t as FixedSizeList).listSize;\n        case Type.FixedSizeBinary: return (t as FixedSizeBinary).byteWidth;\n        default: return 1;\n    }\n}\n\n/** @ignore */\nexport type TypeMap = Record<string | number | symbol, DataType>;\n", "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type, Precision, DateUnit, TimeUnit, IntervalUnit, UnionMode } from './enum.js';\nimport { DataType, Float, Int, Date_, Interval, Time, Timestamp, Union, Duration } from './type.js';\n\nexport abstract class Visitor {\n    public visitMany(nodes: any[], ...args: any[][]) {\n        return nodes.map((node, i) => this.visit(node, ...args.map((x) => x[i])));\n    }\n    public visit(...args: any[]) {\n        return this.getVisitFn(args[0], false).apply(this, args);\n    }\n    public getVisitFn(node: any, throwIfNotFound = true) {\n        return getVisitFn(this, node, throwIfNotFound);\n    }\n    public getVisitFnByTypeId(typeId: Type, throwIfNotFound = true) {\n        return getVisitFnByTypeId(this, typeId, throwIfNotFound);\n    }\n    public visitNull(_node: any, ..._args: any[]): any { return null; }\n    public visitBool(_node: any, ..._args: any[]): any { return null; }\n    public visitInt(_node: any, ..._args: any[]): any { return null; }\n    public visitFloat(_node: any, ..._args: any[]): any { return null; }\n    public visitUtf8(_node: any, ..._args: any[]): any { return null; }\n    public visitLargeUtf8(_node: any, ..._args: any[]): any { return null; }\n    public visitBinary(_node: any, ..._args: any[]): any { return null; }\n    public visitLargeBinary(_node: any, ..._args: any[]): any { return null; }\n    public visitFixedSizeBinary(_node: any, ..._args: any[]): any { return null; }\n    public visitDate(_node: any, ..._args: any[]): any { return null; }\n    public visitTimestamp(_node: any, ..._args: any[]): any { return null; }\n    public visitTime(_node: any, ..._args: any[]): any { return null; }\n    public visitDecimal(_node: any, ..._args: any[]): any { return null; }\n    public visitList(_node: any, ..._args: any[]): any { return null; }\n    public visitStruct(_node: any, ..._args: any[]): any { return null; }\n    public visitUnion(_node: any, ..._args: any[]): any { return null; }\n    public visitDictionary(_node: any, ..._args: any[]): any { return null; }\n    public visitInterval(_node: any, ..._args: any[]): any { return null; }\n    public visitDuration(_node: any, ..._args: any[]): any { return null; }\n    public visitFixedSizeList(_node: any, ..._args: any[]): any { return null; }\n    public visitMap(_node: any, ..._args: any[]): any { return null; }\n}\n\n/** @ignore */\nfunction getVisitFn<T extends DataType>(visitor: Visitor, node: any, throwIfNotFound = true) {\n    if (typeof node === 'number') {\n        return getVisitFnByTypeId(visitor, node, throwIfNotFound);\n    }\n    if (typeof node === 'string' && (node in Type)) {\n        return getVisitFnByTypeId(visitor, Type[node as keyof typeof Type], throwIfNotFound);\n    }\n    if (node && (node instanceof DataType)) {\n        return getVisitFnByTypeId(visitor, inferDType(node as T), throwIfNotFound);\n    }\n    if (node?.type && (node.type instanceof DataType)) {\n        return getVisitFnByTypeId(visitor, inferDType(node.type as T), throwIfNotFound);\n    }\n    return getVisitFnByTypeId(visitor, Type.NONE, throwIfNotFound);\n}\n\n/** @ignore */\nfunction getVisitFnByTypeId(visitor: Visitor, dtype: Type, throwIfNotFound = true) {\n    let fn: any = null;\n    switch (dtype) {\n        case Type.Null: fn = visitor.visitNull; break;\n        case Type.Bool: fn = visitor.visitBool; break;\n        case Type.Int: fn = visitor.visitInt; break;\n        case Type.Int8: fn = visitor.visitInt8 || visitor.visitInt; break;\n        case Type.Int16: fn = visitor.visitInt16 || visitor.visitInt; break;\n        case Type.Int32: fn = visitor.visitInt32 || visitor.visitInt; break;\n        case Type.Int64: fn = visitor.visitInt64 || visitor.visitInt; break;\n        case Type.Uint8: fn = visitor.visitUint8 || visitor.visitInt; break;\n        case Type.Uint16: fn = visitor.visitUint16 || visitor.visitInt; break;\n        case Type.Uint32: fn = visitor.visitUint32 || visitor.visitInt; break;\n        case Type.Uint64: fn = visitor.visitUint64 || visitor.visitInt; break;\n        case Type.Float: fn = visitor.visitFloat; break;\n        case Type.Float16: fn = visitor.visitFloat16 || visitor.visitFloat; break;\n        case Type.Float32: fn = visitor.visitFloat32 || visitor.visitFloat; break;\n        case Type.Float64: fn = visitor.visitFloat64 || visitor.visitFloat; break;\n        case Type.Utf8: fn = visitor.visitUtf8; break;\n        case Type.LargeUtf8: fn = visitor.visitLargeUtf8; break;\n        case Type.Binary: fn = visitor.visitBinary; break;\n        case Type.LargeBinary: fn = visitor.visitLargeBinary; break;\n        case Type.FixedSizeBinary: fn = visitor.visitFixedSizeBinary; break;\n        case Type.Date: fn = visitor.visitDate; break;\n        case Type.DateDay: fn = visitor.visitDateDay || visitor.visitDate; break;\n        case Type.DateMillisecond: fn = visitor.visitDateMillisecond || visitor.visitDate; break;\n        case Type.Timestamp: fn = visitor.visitTimestamp; break;\n        case Type.TimestampSecond: fn = visitor.visitTimestampSecond || visitor.visitTimestamp; break;\n        case Type.TimestampMillisecond: fn = visitor.visitTimestampMillisecond || visitor.visitTimestamp; break;\n        case Type.TimestampMicrosecond: fn = visitor.visitTimestampMicrosecond || visitor.visitTimestamp; break;\n        case Type.TimestampNanosecond: fn = visitor.visitTimestampNanosecond || visitor.visitTimestamp; break;\n        case Type.Time: fn = visitor.visitTime; break;\n        case Type.TimeSecond: fn = visitor.visitTimeSecond || visitor.visitTime; break;\n        case Type.TimeMillisecond: fn = visitor.visitTimeMillisecond || visitor.visitTime; break;\n        case Type.TimeMicrosecond: fn = visitor.visitTimeMicrosecond || visitor.visitTime; break;\n        case Type.TimeNanosecond: fn = visitor.visitTimeNanosecond || visitor.visitTime; break;\n        case Type.Decimal: fn = visitor.visitDecimal; break;\n        case Type.List: fn = visitor.visitList; break;\n        case Type.Struct: fn = visitor.visitStruct; break;\n        case Type.Union: fn = visitor.visitUnion; break;\n        case Type.DenseUnion: fn = visitor.visitDenseUnion || visitor.visitUnion; break;\n        case Type.SparseUnion: fn = visitor.visitSparseUnion || visitor.visitUnion; break;\n        case Type.Dictionary: fn = visitor.visitDictionary; break;\n        case Type.Interval: fn = visitor.visitInterval; break;\n        case Type.IntervalDayTime: fn = visitor.visitIntervalDayTime || visitor.visitInterval; break;\n        case Type.IntervalYearMonth: fn = visitor.visitIntervalYearMonth || visitor.visitInterval; break;\n        case Type.IntervalMonthDayNano: fn = visitor.visitIntervalMonthDayNano || visitor.visitInterval; break;\n        case Type.Duration: fn = visitor.visitDuration; break;\n        case Type.DurationSecond: fn = visitor.visitDurationSecond || visitor.visitDuration; break;\n        case Type.DurationMillisecond: fn = visitor.visitDurationMillisecond || visitor.visitDuration; break;\n        case Type.DurationMicrosecond: fn = visitor.visitDurationMicrosecond || visitor.visitDuration; break;\n        case Type.DurationNanosecond: fn = visitor.visitDurationNanosecond || visitor.visitDuration; break;\n        case Type.FixedSizeList: fn = visitor.visitFixedSizeList; break;\n        case Type.Map: fn = visitor.visitMap; break;\n    }\n    if (typeof fn === 'function') return fn;\n    if (!throwIfNotFound) return () => null;\n    throw new Error(`Unrecognized type '${Type[dtype]}'`);\n}\n\n/** @ignore */\nfunction inferDType<T extends DataType>(type: T): Type {\n    switch (type.typeId) {\n        case Type.Null: return Type.Null;\n        case Type.Int: {\n            const { bitWidth, isSigned } = (type as any as Int);\n            switch (bitWidth) {\n                case 8: return isSigned ? Type.Int8 : Type.Uint8;\n                case 16: return isSigned ? Type.Int16 : Type.Uint16;\n                case 32: return isSigned ? Type.Int32 : Type.Uint32;\n                case 64: return isSigned ? Type.Int64 : Type.Uint64;\n            }\n            // @ts-ignore\n            return Type.Int;\n        }\n        case Type.Float:\n            switch ((type as any as Float).precision) {\n                case Precision.HALF: return Type.Float16;\n                case Precision.SINGLE: return Type.Float32;\n                case Precision.DOUBLE: return Type.Float64;\n            }\n            // @ts-ignore\n            return Type.Float;\n        case Type.Binary: return Type.Binary;\n        case Type.LargeBinary: return Type.LargeBinary;\n        case Type.Utf8: return Type.Utf8;\n        case Type.LargeUtf8: return Type.LargeUtf8;\n        case Type.Bool: return Type.Bool;\n        case Type.Decimal: return Type.Decimal;\n        case Type.Time:\n            switch ((type as any as Time).unit) {\n                case TimeUnit.SECOND: return Type.TimeSecond;\n                case TimeUnit.MILLISECOND: return Type.TimeMillisecond;\n                case TimeUnit.MICROSECOND: return Type.TimeMicrosecond;\n                case TimeUnit.NANOSECOND: return Type.TimeNanosecond;\n            }\n            // @ts-ignore\n            return Type.Time;\n        case Type.Timestamp:\n            switch ((type as any as Timestamp).unit) {\n                case TimeUnit.SECOND: return Type.TimestampSecond;\n                case TimeUnit.MILLISECOND: return Type.TimestampMillisecond;\n                case TimeUnit.MICROSECOND: return Type.TimestampMicrosecond;\n                case TimeUnit.NANOSECOND: return Type.TimestampNanosecond;\n            }\n            // @ts-ignore\n            return Type.Timestamp;\n        case Type.Date:\n            switch ((type as any as Date_).unit) {\n                case DateUnit.DAY: return Type.DateDay;\n                case DateUnit.MILLISECOND: return Type.DateMillisecond;\n            }\n            // @ts-ignore\n            return Type.Date;\n        case Type.Interval:\n            switch ((type as any as Interval).unit) {\n                case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;\n                case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;\n                case IntervalUnit.MONTH_DAY_NANO: return Type.IntervalMonthDayNano;\n            }\n            // @ts-ignore\n            return Type.Interval;\n        case Type.Duration:\n            switch ((type as any as Duration).unit) {\n                case TimeUnit.SECOND: return Type.DurationSecond;\n                case TimeUnit.MILLISECOND: return Type.DurationMillisecond;\n                case TimeUnit.MICROSECOND: return Type.DurationMicrosecond;\n                case TimeUnit.NANOSECOND: return Type.DurationNanosecond;\n            }\n            // @ts-ignore\n            return Type.Duration;\n        case Type.Map: return Type.Map;\n        case Type.List: return Type.List;\n        case Type.Struct: return Type.Struct;\n        case Type.Union:\n            switch ((type as any as Union).mode) {\n                case UnionMode.Dense: return Type.DenseUnion;\n                case UnionMode.Sparse: return Type.SparseUnion;\n            }\n            // @ts-ignore\n            return Type.Union;\n        case Type.FixedSizeBinary: return Type.FixedSizeBinary;\n        case Type.FixedSizeList: return Type.FixedSizeList;\n        case Type.Dictionary: return Type.Dictionary;\n    }\n    throw new Error(`Unrecognized type '${Type[type.typeId]}'`);\n}\n\nexport interface Visitor {\n    visitNull(node: any, ...args: any[]): any;\n    visitBool(node: any, ...args: any[]): any;\n    visitInt(node: any, ...args: any[]): any;\n    visitInt8?(node: any, ...args: any[]): any;\n    visitInt16?(node: any, ...args: any[]): any;\n    visitInt32?(node: any, ...args: any[]): any;\n    visitInt64?(node: any, ...args: any[]): any;\n    visitUint8?(node: any, ...args: any[]): any;\n    visitUint16?(node: any, ...args: any[]): any;\n    visitUint32?(node: any, ...args: any[]): any;\n    visitUint64?(node: any, ...args: any[]): any;\n    visitFloat(node: any, ...args: any[]): any;\n    visitFloat16?(node: any, ...args: any[]): any;\n    visitFloat32?(node: any, ...args: any[]): any;\n    visitFloat64?(node: any, ...args: any[]): any;\n    visitUtf8(node: any, ...args: any[]): any;\n    visitLargeUtf8(node: any, ...args: any[]): any;\n    visitBinary(node: any, ...args: any[]): any;\n    visitLargeBinary(node: any, ...args: any[]): any;\n    visitFixedSizeBinary(node: any, ...args: any[]): any;\n    visitDate(node: any, ...args: any[]): any;\n    visitDateDay?(node: any, ...args: any[]): any;\n    visitDateMillisecond?(node: any, ...args: any[]): any;\n    visitTimestamp(node: any, ...args: any[]): any;\n    visitTimestampSecond?(node: any, ...args: any[]): any;\n    visitTimestampMillisecond?(node: any, ...args: any[]): any;\n    visitTimestampMicrosecond?(node: any, ...args: any[]): any;\n    visitTimestampNanosecond?(node: any, ...args: any[]): any;\n    visitTime(node: any, ...args: any[]): any;\n    visitTimeSecond?(node: any, ...args: any[]): any;\n    visitTimeMillisecond?(node: any, ...args: any[]): any;\n    visitTimeMicrosecond?(node: any, ...args: any[]): any;\n    visitTimeNanosecond?(node: any, ...args: any[]): any;\n    visitDecimal(node: any, ...args: any[]): any;\n    visitList(node: any, ...args: any[]): any;\n    visitStruct(node: any, ...args: any[]): any;\n    visitUnion(node: any, ...args: any[]): any;\n    visitDenseUnion?(node: any, ...args: any[]): any;\n    visitSparseUnion?(node: any, ...args: any[]): any;\n    visitDictionary(node: any, ...args: any[]): any;\n    visitInterval(node: any, ...args: any[]): any;\n    visitIntervalDayTime?(node: any, ...args: any[]): any;\n    visitIntervalYearMonth?(node: any, ...args: any[]): any;\n    visitIntervalMonthDayNano?(node: any, ...args: any[]): any;\n    visitDuration(node: any, ...args: any[]): any;\n    visitDurationSecond(node: any, ...args: any[]): any;\n    visitDurationMillisecond(node: any, ...args: any[]): any;\n    visitDurationMicrosecond(node: any, ...args: any[]): any;\n    visitDurationNanosecond(node: any, ...args: any[]): any;\n    visitFixedSizeList(node: any, ...args: any[]): any;\n    visitMap(node: any, ...args: any[]): any;\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Visitor.prototype as any).visitInt8 = null;\n(Visitor.prototype as any).visitInt16 = null;\n(Visitor.prototype as any).visitInt32 = null;\n(Visitor.prototype as any).visitInt64 = null;\n(Visitor.prototype as any).visitUint8 = null;\n(Visitor.prototype as any).visitUint16 = null;\n(Visitor.prototype as any).visitUint32 = null;\n(Visitor.prototype as any).visitUint64 = null;\n(Visitor.prototype as any).visitFloat16 = null;\n(Visitor.prototype as any).visitFloat32 = null;\n(Visitor.prototype as any).visitFloat64 = null;\n(Visitor.prototype as any).visitDateDay = null;\n(Visitor.prototype as any).visitDateMillisecond = null;\n(Visitor.prototype as any).visitTimestampSecond = null;\n(Visitor.prototype as any).visitTimestampMillisecond = null;\n(Visitor.prototype as any).visitTimestampMicrosecond = null;\n(Visitor.prototype as any).visitTimestampNanosecond = null;\n(Visitor.prototype as any).visitTimeSecond = null;\n(Visitor.prototype as any).visitTimeMillisecond = null;\n(Visitor.prototype as any).visitTimeMicrosecond = null;\n(Visitor.prototype as any).visitTimeNanosecond = null;\n(Visitor.prototype as any).visitDenseUnion = null;\n(Visitor.prototype as any).visitSparseUnion = null;\n(Visitor.prototype as any).visitIntervalDayTime = null;\n(Visitor.prototype as any).visitIntervalYearMonth = null;\n(Visitor.prototype as any).visitIntervalMonthDayNano = null;\n(Visitor.prototype as any).visitDuration = null;\n(Visitor.prototype as any).visitDurationSecond = null;\n(Visitor.prototype as any).visitDurationMillisecond = null;\n(Visitor.prototype as any).visitDurationMicrosecond = null;\n(Visitor.prototype as any).visitDurationNanosecond = null;\n", null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector.js';\nimport { BufferType, Type, UnionMode } from './enum.js';\nimport { DataType, strideForType } from './type.js';\nimport { popcnt_bit_range, truncateBitmap } from './util/bit.js';\n\n// When slicing, we do not know the null count of the sliced range without\n// doing some computation. To avoid doing this eagerly, we set the null count\n// to -1 (any negative number will do). When Vector.nullCount is called the\n// first time, the null count will be computed. See ARROW-33\n/** @ignore */ export type kUnknownNullCount = -1;\n/** @ignore */ export const kUnknownNullCount = -1;\n\n/** @ignore */ export type NullBuffer = Uint8Array | null | undefined;\n/** @ignore */ export type TypeIdsBuffer = Int8Array | ArrayLike<number> | Iterable<number> | undefined;\n/** @ignore */ export type ValueOffsetsBuffer = Int32Array | ArrayLike<number> | Iterable<number> | undefined;\n/** @ignore */ export type LargeValueOffsetsBuffer = BigInt64Array | ArrayLike<bigint> | Iterable<bigint> | undefined;\n/** @ignore */ export type DataBuffer<T extends DataType> = T['TArray'] | ArrayLike<number> | Iterable<number> | undefined;\n\n/** @ignore */\nexport interface Buffers<T extends DataType> {\n    [BufferType.OFFSET]: T['TOffsetArray'];\n    [BufferType.DATA]: T['TArray'];\n    [BufferType.VALIDITY]: Uint8Array;\n    [BufferType.TYPE]: T['TArray'];\n}\n\n/** @ignore */\nexport interface Data<T extends DataType = DataType> {\n    readonly TType: T['TType'];\n    readonly TArray: T['TArray'];\n    readonly TValue: T['TValue'];\n}\n\n/**\n * Data structure underlying {@link Vector}s. Use the convenience method {@link makeData}.\n */\nexport class Data<T extends DataType = DataType> {\n\n    declare public readonly type: T;\n    declare public readonly length: number;\n    declare public readonly offset: number;\n    declare public readonly stride: number;\n    declare public readonly children: Data[];\n\n    /**\n     * The dictionary for this Vector, if any. Only used for Dictionary type.\n     */\n    declare public dictionary?: Vector;\n\n    declare public readonly values: Buffers<T>[BufferType.DATA];\n    declare public readonly typeIds: Buffers<T>[BufferType.TYPE];\n    declare public readonly nullBitmap: Buffers<T>[BufferType.VALIDITY];\n    declare public readonly valueOffsets: Buffers<T>[BufferType.OFFSET];\n\n    public get typeId(): T['TType'] { return this.type.typeId; }\n\n    public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n\n    public get buffers() {\n        return [this.valueOffsets, this.values, this.nullBitmap, this.typeIds] as Buffers<T>;\n    }\n\n    public get nullable(): boolean {\n        if (this._nullCount !== 0) {\n            const { type } = this;\n            if (DataType.isSparseUnion(type)) {\n                return this.children.some((child) => child.nullable);\n            } else if (DataType.isDenseUnion(type)) {\n                return this.children.some((child) => child.nullable);\n            }\n            return this.nullBitmap && this.nullBitmap.byteLength > 0;\n        }\n        return true;\n    }\n\n    public get byteLength(): number {\n        let byteLength = 0;\n        const { valueOffsets, values, nullBitmap, typeIds } = this;\n        valueOffsets && (byteLength += valueOffsets.byteLength);\n        values && (byteLength += values.byteLength);\n        nullBitmap && (byteLength += nullBitmap.byteLength);\n        typeIds && (byteLength += typeIds.byteLength);\n        return this.children.reduce((byteLength, child) => byteLength + child.byteLength, byteLength);\n    }\n\n    protected _nullCount: number | kUnknownNullCount;\n\n    public get nullCount(): number {\n        if (DataType.isUnion(this.type)) {\n            return this.children.reduce((nullCount, child) => nullCount + child.nullCount, 0);\n        }\n        let nullCount = this._nullCount;\n        let nullBitmap: Uint8Array | undefined;\n        if (nullCount <= kUnknownNullCount && (nullBitmap = this.nullBitmap)) {\n            this._nullCount = nullCount = nullBitmap.length === 0 ?\n                // no null bitmap, so all values are valid\n                0 :\n                this.length - popcnt_bit_range(nullBitmap, this.offset, this.offset + this.length);\n        }\n        return nullCount;\n    }\n\n    constructor(type: T, offset: number, length: number, nullCount?: number, buffers?: Partial<Buffers<T>> | Data<T>, children: Data[] = [], dictionary?: Vector) {\n        this.type = type;\n        this.children = children;\n        this.dictionary = dictionary;\n        this.offset = Math.floor(Math.max(offset || 0, 0));\n        this.length = Math.floor(Math.max(length || 0, 0));\n        this._nullCount = Math.floor(Math.max(nullCount || 0, -1));\n        let buffer: Buffers<T>[keyof Buffers<T>];\n        if (buffers instanceof Data) {\n            this.stride = buffers.stride;\n            this.values = buffers.values;\n            this.typeIds = buffers.typeIds;\n            this.nullBitmap = buffers.nullBitmap;\n            this.valueOffsets = buffers.valueOffsets;\n        } else {\n            this.stride = strideForType(type);\n            if (buffers) {\n                (buffer = (buffers as Buffers<T>)[0]) && (this.valueOffsets = buffer);\n                (buffer = (buffers as Buffers<T>)[1]) && (this.values = buffer);\n                (buffer = (buffers as Buffers<T>)[2]) && (this.nullBitmap = buffer);\n                (buffer = (buffers as Buffers<T>)[3]) && (this.typeIds = buffer);\n            }\n        }\n    }\n\n    public getValid(index: number): boolean {\n        const { type } = this;\n        if (DataType.isUnion(type)) {\n            const union = (<unknown>type as Union);\n            const child = this.children[union.typeIdToChildIndex[this.typeIds[index]]];\n            const indexInChild = union.mode === UnionMode.Dense ? this.valueOffsets[index] : index;\n            return child.getValid(indexInChild);\n        }\n        if (this.nullable && this.nullCount > 0) {\n            const pos = this.offset + index;\n            const val = this.nullBitmap[pos >> 3];\n            return (val & (1 << (pos % 8))) !== 0;\n        }\n        return true;\n    }\n\n    public setValid(index: number, value: boolean): boolean {\n        let prev: boolean;\n        const { type } = this;\n        if (DataType.isUnion(type)) {\n            const union = (<unknown>type as Union);\n            const child = this.children[union.typeIdToChildIndex[this.typeIds[index]]];\n            const indexInChild = union.mode === UnionMode.Dense ? this.valueOffsets[index] : index;\n            prev = child.getValid(indexInChild);\n            child.setValid(indexInChild, value);\n        } else {\n            let { nullBitmap } = this;\n            const { offset, length } = this;\n            const idx = offset + index;\n            const mask = 1 << (idx % 8);\n            const byteOffset = idx >> 3;\n\n            // If no null bitmap, initialize one on the fly\n            if (!nullBitmap || nullBitmap.byteLength <= byteOffset) {\n                nullBitmap = new Uint8Array((((offset + length) + 63) & ~63) >> 3).fill(255);\n                // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n                if (this.nullCount > 0) {\n                    nullBitmap.set(truncateBitmap(offset, length, this.nullBitmap), 0);\n                    Object.assign(this, { nullBitmap });\n                } else {\n                    Object.assign(this, { nullBitmap, _nullCount: 0 });\n                }\n            }\n\n            const byte = nullBitmap[byteOffset];\n\n            prev = (byte & mask) !== 0;\n            nullBitmap[byteOffset] = value ? (byte | mask) : (byte & ~mask);\n        }\n\n        if (prev !== !!value) {\n            // Update `_nullCount` if the new value is different from the old value.\n            this._nullCount = this.nullCount + (value ? -1 : 1);\n        }\n\n        return value;\n    }\n\n    public clone<R extends DataType = T>(type: R = this.type as any, offset = this.offset, length = this.length, nullCount = this._nullCount, buffers: Buffers<R> = <any>this, children: Data[] = this.children) {\n        return new Data(type, offset, length, nullCount, buffers, children, this.dictionary);\n    }\n\n    public slice(offset: number, length: number): Data<T> {\n        const { stride, typeId, children } = this;\n        // +true === 1, +false === 0, so this means\n        // we keep nullCount at 0 if it's already 0,\n        // otherwise set to the invalidated flag -1\n        const nullCount = +(this._nullCount === 0) - 1;\n        const childStride = typeId === 16 /* FixedSizeList */ ? stride : 1;\n        const buffers = this._sliceBuffers(offset, length, stride, typeId);\n        return this.clone<T>(this.type, this.offset + offset, length, nullCount, buffers,\n            // Don't slice children if we have value offsets (the variable-width types)\n            (children.length === 0 || this.valueOffsets) ? children : this._sliceChildren(children, childStride * offset, childStride * length));\n    }\n\n    public _changeLengthAndBackfillNullBitmap(newLength: number): Data<T> {\n        if (this.typeId === Type.Null) {\n            return this.clone(this.type, 0, newLength, 0);\n        }\n        const { length, nullCount } = this;\n        // start initialized with 0s (nulls), then fill from 0 to length with 1s (not null)\n        const bitmap = new Uint8Array(((newLength + 63) & ~63) >> 3).fill(255, 0, length >> 3);\n        // set all the bits in the last byte (up to bit `length - length % 8`) to 1 (not null)\n        bitmap[length >> 3] = (1 << (length - (length & ~7))) - 1;\n        // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n        if (nullCount > 0) {\n            bitmap.set(truncateBitmap(this.offset, length, this.nullBitmap), 0);\n        }\n        const buffers = this.buffers;\n        buffers[BufferType.VALIDITY] = bitmap;\n        return this.clone(this.type, 0, newLength, nullCount + (newLength - length), buffers);\n    }\n\n    protected _sliceBuffers(offset: number, length: number, stride: number, typeId: T['TType']): Buffers<T> {\n        let arr: any;\n        const { buffers } = this;\n        // If typeIds exist, slice the typeIds buffer\n        (arr = buffers[BufferType.TYPE]) && (buffers[BufferType.TYPE] = arr.subarray(offset, offset + length));\n        // If offsets exist, only slice the offsets buffer\n        (arr = buffers[BufferType.OFFSET]) && (buffers[BufferType.OFFSET] = arr.subarray(offset, offset + length + 1)) ||\n            // Otherwise if no offsets, slice the data buffer. Don't slice the data vector for Booleans, since the offset goes by bits not bytes\n            (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = typeId === 6 ? arr : arr.subarray(stride * offset, stride * (offset + length)));\n        return buffers;\n    }\n\n    protected _sliceChildren(children: Data[], offset: number, length: number): Data[] {\n        return children.map((child) => child.slice(offset, length));\n    }\n}\n\n(Data.prototype as any).children = Object.freeze([]);\n\nimport {\n    Dictionary,\n    Bool, Null, Utf8, LargeUtf8, Binary, LargeBinary, Decimal, FixedSizeBinary, List, FixedSizeList, Map_, Struct,\n    Float,\n    Int,\n    Date_,\n    Interval,\n    Duration,\n    Time,\n    Timestamp,\n    Union, DenseUnion, SparseUnion,\n} from './type.js';\n\nimport { Visitor } from './visitor.js';\nimport { toArrayBufferView, toBigInt64Array, toInt32Array, toUint8Array } from './util/buffer.js';\n\nclass MakeDataVisitor extends Visitor {\n    public visit<T extends DataType>(props: any): Data<T> {\n        return this.getVisitFn(props['type']).call(this, props);\n    }\n    public visitNull<T extends Null>(props: NullDataProps<T>) {\n        const {\n            ['type']: type,\n            ['offset']: offset = 0,\n            ['length']: length = 0,\n        } = props;\n        return new Data(type, offset, length, length);\n    }\n    public visitBool<T extends Bool>(props: BoolDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length >> 3, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitInt<T extends Int>(props: IntDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitFloat<T extends Float>(props: FloatDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitUtf8<T extends Utf8>(props: Utf8DataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const data = toUint8Array(props['data']);\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const valueOffsets = toInt32Array(props['valueOffsets']);\n        const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n        return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n    }\n    public visitLargeUtf8<T extends LargeUtf8>(props: LargeUtf8DataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const data = toUint8Array(props['data']);\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const valueOffsets = toBigInt64Array(props['valueOffsets']);\n        const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n        return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n    }\n    public visitBinary<T extends Binary>(props: BinaryDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const data = toUint8Array(props['data']);\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const valueOffsets = toInt32Array(props['valueOffsets']);\n        const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n        return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n    }\n    public visitLargeBinary<T extends LargeBinary>(props: LargeBinaryDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const data = toUint8Array(props['data']);\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const valueOffsets = toBigInt64Array(props['valueOffsets']);\n        const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n        return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n    }\n    public visitFixedSizeBinary<T extends FixedSizeBinary>(props: FixedSizeBinaryDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitDate<T extends Date_>(props: Date_DataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitTimestamp<T extends Timestamp>(props: TimestampDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitTime<T extends Time>(props: TimeDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitDecimal<T extends Decimal>(props: DecimalDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitList<T extends List>(props: ListDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0, ['child']: child } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const valueOffsets = toInt32Array(props['valueOffsets']);\n        const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n        return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n    }\n    public visitStruct<T extends Struct>(props: StructDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const {\n            length = children.reduce((len, { length }) => Math.max(len, length), 0),\n            nullCount = props['nullBitmap'] ? -1 : 0\n        } = props;\n        return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], children);\n    }\n    public visitUnion<T extends Union>(props: UnionDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n        const typeIds = toArrayBufferView(type.ArrayType, props['typeIds']);\n        const { ['length']: length = typeIds.length, ['nullCount']: nullCount = -1, } = props;\n        if (DataType.isSparseUnion(type)) {\n            return new Data(type, offset, length, nullCount, [undefined, undefined, undefined, typeIds], children);\n        }\n        const valueOffsets = toInt32Array(props['valueOffsets']);\n        return new Data(type, offset, length, nullCount, [valueOffsets, undefined, undefined, typeIds], children);\n    }\n    public visitDictionary<T extends Dictionary>(props: DictionaryDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.indices.ArrayType, props['data']);\n        const { ['dictionary']: dictionary = new Vector([new MakeDataVisitor().visit({ type: type.dictionary })]) } = props;\n        const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap], [], dictionary);\n    }\n    public visitInterval<T extends Interval>(props: IntervalDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitDuration<T extends Duration>(props: DurationDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0 } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const data = toArrayBufferView(type.ArrayType, props['data']);\n        const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n    }\n    public visitFixedSizeList<T extends FixedSizeList>(props: FixedSizeListDataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.valueType }) } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const { ['length']: length = child.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n        return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], [child]);\n    }\n    public visitMap<T extends Map_>(props: Map_DataProps<T>) {\n        const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.childType }) } = props;\n        const nullBitmap = toUint8Array(props['nullBitmap']);\n        const valueOffsets = toInt32Array(props['valueOffsets']);\n        const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n        return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n    }\n}\n\n/** @ignore */\ninterface DataProps_<T extends DataType> {\n    type: T;\n    offset?: number;\n    length?: number;\n    nullCount?: number;\n    nullBitmap?: NullBuffer;\n}\n\ninterface NullDataProps<T extends Null> { type: T; offset?: number; length?: number }\ninterface IntDataProps<T extends Int> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DictionaryDataProps<T extends Dictionary> extends DataProps_<T> { data?: DataBuffer<T>; dictionary?: Vector<T['dictionary']> }\ninterface FloatDataProps<T extends Float> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface BoolDataProps<T extends Bool> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DecimalDataProps<T extends Decimal> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface Date_DataProps<T extends Date_> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface TimeDataProps<T extends Time> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface TimestampDataProps<T extends Timestamp> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface IntervalDataProps<T extends Interval> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DurationDataProps<T extends Duration> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface FixedSizeBinaryDataProps<T extends FixedSizeBinary> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface BinaryDataProps<T extends Binary> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface LargeBinaryDataProps<T extends LargeBinary> extends DataProps_<T> { valueOffsets: LargeValueOffsetsBuffer | ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface Utf8DataProps<T extends Utf8> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface LargeUtf8DataProps<T extends LargeUtf8> extends DataProps_<T> { valueOffsets: LargeValueOffsetsBuffer | ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface ListDataProps<T extends List> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; child: Data<T['valueType']> }\ninterface FixedSizeListDataProps<T extends FixedSizeList> extends DataProps_<T> { child: Data<T['valueType']> }\ninterface StructDataProps<T extends Struct> extends DataProps_<T> { children: Data[] }\ninterface Map_DataProps<T extends Map_> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; child: Data }\ninterface SparseUnionDataProps<T extends SparseUnion> extends DataProps_<T> { nullBitmap: never; typeIds: TypeIdsBuffer; children: Data[] }\ninterface DenseUnionDataProps<T extends DenseUnion> extends DataProps_<T> { nullBitmap: never; typeIds: TypeIdsBuffer; children: Data[]; valueOffsets: ValueOffsetsBuffer }\ninterface UnionDataProps<T extends Union> extends DataProps_<T> { typeIds: TypeIdsBuffer; children: Data[]; valueOffsets?: ValueOffsetsBuffer }\n\nexport type DataProps<T extends DataType> = (\n    T extends Null /*            */ ? NullDataProps<T> :\n    T extends Int /*             */ ? IntDataProps<T> :\n    T extends Dictionary /*      */ ? DictionaryDataProps<T> :\n    T extends Float /*           */ ? FloatDataProps<T> :\n    T extends Bool /*            */ ? BoolDataProps<T> :\n    T extends Decimal /*         */ ? DecimalDataProps<T> :\n    T extends Date_ /*           */ ? Date_DataProps<T> :\n    T extends Time /*            */ ? TimeDataProps<T> :\n    T extends Timestamp /*       */ ? TimestampDataProps<T> :\n    T extends Interval /*        */ ? IntervalDataProps<T> :\n    T extends Duration /*        */ ? DurationDataProps<T> :\n    T extends FixedSizeBinary /* */ ? FixedSizeBinaryDataProps<T> :\n    T extends Binary /*          */ ? BinaryDataProps<T> :\n    T extends LargeBinary /*     */ ? LargeBinaryDataProps<T> :\n    T extends Utf8 /*            */ ? Utf8DataProps<T> :\n    T extends LargeUtf8 /*       */ ? LargeUtf8DataProps<T> :\n    T extends List /*            */ ? ListDataProps<T> :\n    T extends FixedSizeList /*   */ ? FixedSizeListDataProps<T> :\n    T extends Struct /*          */ ? StructDataProps<T> :\n    T extends Map_ /*            */ ? Map_DataProps<T> :\n    T extends SparseUnion /*     */ ? SparseUnionDataProps<T> :\n    T extends DenseUnion /*      */ ? DenseUnionDataProps<T> :\n    T extends Union /*           */ ? UnionDataProps<T> :\n /*                                */ DataProps_<T>\n);\n\nconst makeDataVisitor = new MakeDataVisitor();\n\nexport function makeData<T extends Null>(props: NullDataProps<T>): Data<T>;\nexport function makeData<T extends Int>(props: IntDataProps<T>): Data<T>;\nexport function makeData<T extends Dictionary>(props: DictionaryDataProps<T>): Data<T>;\nexport function makeData<T extends Float>(props: FloatDataProps<T>): Data<T>;\nexport function makeData<T extends Bool>(props: BoolDataProps<T>): Data<T>;\nexport function makeData<T extends Decimal>(props: DecimalDataProps<T>): Data<T>;\nexport function makeData<T extends Date_>(props: Date_DataProps<T>): Data<T>;\nexport function makeData<T extends Time>(props: TimeDataProps<T>): Data<T>;\nexport function makeData<T extends Timestamp>(props: TimestampDataProps<T>): Data<T>;\nexport function makeData<T extends Interval>(props: IntervalDataProps<T>): Data<T>;\nexport function makeData<T extends Duration>(props: DurationDataProps<T>): Data<T>;\nexport function makeData<T extends FixedSizeBinary>(props: FixedSizeBinaryDataProps<T>): Data<T>;\nexport function makeData<T extends Binary>(props: BinaryDataProps<T>): Data<T>;\nexport function makeData<T extends LargeBinary>(props: LargeBinaryDataProps<T>): Data<T>;\nexport function makeData<T extends Utf8>(props: Utf8DataProps<T>): Data<T>;\nexport function makeData<T extends LargeUtf8>(props: LargeUtf8DataProps<T>): Data<T>;\nexport function makeData<T extends List>(props: ListDataProps<T>): Data<T>;\nexport function makeData<T extends FixedSizeList>(props: FixedSizeListDataProps<T>): Data<T>;\nexport function makeData<T extends Struct>(props: StructDataProps<T>): Data<T>;\nexport function makeData<T extends Map_>(props: Map_DataProps<T>): Data<T>;\nexport function makeData<T extends SparseUnion>(props: SparseUnionDataProps<T>): Data<T>;\nexport function makeData<T extends DenseUnion>(props: DenseUnionDataProps<T>): Data<T>;\nexport function makeData<T extends Union>(props: UnionDataProps<T>): Data<T>;\nexport function makeData<T extends DataType>(props: DataProps_<T>): Data<T>;\nexport function makeData(props: any) {\n    return makeDataVisitor.visit(props);\n}\n", null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type } from './enum.js';\nimport { clampRange, wrapIndex } from './util/vector.js';\nimport { DataType, strideForType } from './type.js';\nimport { Data, makeData, DataProps } from './data.js';\nimport { BigIntArray, TypedArray, TypedArrayDataType } from './interfaces.js';\n\nimport {\n    isChunkedValid,\n    computeChunkOffsets,\n    computeChunkNullable,\n    computeChunkNullCounts,\n    sliceChunks,\n    wrapChunkedCall1,\n    wrapChunkedCall2,\n    wrapChunkedIndexOf,\n} from './util/chunk.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\n\n// @ts-ignore\nimport type { vectorFromArray } from './factories.js';\n\nexport interface Vector<T extends DataType = any> {\n    ///\n    // Virtual properties for the TypeScript compiler.\n    // These do not exist at runtime.\n    ///\n    readonly TType: T['TType'];\n    readonly TArray: T['TArray'];\n    readonly TValue: T['TValue'];\n\n    /**\n     * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n     */\n    [Symbol.isConcatSpreadable]: true;\n}\n\nconst visitorsByTypeId = {} as { [typeId: number]: { get: any; set: any; indexOf: any } };\nconst vectorPrototypesByTypeId = {} as { [typeId: number]: any };\n\n/**\n * Array-like data structure. Use the convenience method {@link makeVector} and {@link vectorFromArray} to create vectors.\n */\nexport class Vector<T extends DataType = any> {\n\n    constructor(input: readonly (Data<T> | Vector<T>)[]) {\n        const data: Data<T>[] = input[0] instanceof Vector\n            ? (input as Vector<T>[]).flatMap(x => x.data)\n            : input as Data<T>[];\n        if (data.length === 0 || data.some((x) => !(x instanceof Data))) {\n            throw new TypeError('Vector constructor expects an Array of Data instances.');\n        }\n        const type = data[0]?.type;\n        switch (data.length) {\n            case 0: this._offsets = [0]; break;\n            case 1: {\n                // special case for unchunked vectors\n                const { get, set, indexOf } = visitorsByTypeId[type.typeId];\n                const unchunkedData = data[0];\n\n                this.isValid = (index: number) => isChunkedValid(unchunkedData, index);\n                this.get = (index: number) => get(unchunkedData, index);\n                this.set = (index: number, value: T) => set(unchunkedData, index, value);\n                this.indexOf = (index: number) => indexOf(unchunkedData, index);\n                this._offsets = [0, unchunkedData.length];\n                break;\n            }\n            default:\n                Object.setPrototypeOf(this, vectorPrototypesByTypeId[type.typeId]);\n                this._offsets = computeChunkOffsets(data);\n                break;\n        }\n        this.data = data;\n        this.type = type;\n        this.stride = strideForType(type);\n        this.numChildren = type.children?.length ?? 0;\n        this.length = this._offsets.at(-1)!;\n    }\n\n    declare protected _offsets: number[] | Uint32Array;\n\n    /**\n     * The {@link DataType `DataType`} of this Vector.\n     */\n    public declare readonly type: T;\n\n    /**\n     * The primitive {@link Data `Data`} instances for this Vector's elements.\n     */\n    public declare readonly data: ReadonlyArray<Data<T>>;\n\n    /**\n     * The number of elements in this Vector.\n     */\n    public declare readonly length: number;\n\n    /**\n     * The number of primitive values per Vector element.\n     */\n    public declare readonly stride: number;\n\n    /**\n     * The number of child Vectors if this Vector is a nested dtype.\n     */\n    public declare readonly numChildren: number;\n\n    /**\n     * The aggregate size (in bytes) of this Vector's buffers and/or child Vectors.\n     */\n    public get byteLength() {\n        return this.data.reduce((byteLength, data) => byteLength + data.byteLength, 0);\n    }\n\n    /**\n     * Whether this Vector's elements can contain null values.\n     */\n    public get nullable() {\n        return computeChunkNullable(this.data);\n    }\n\n    /**\n     * The number of null elements in this Vector.\n     */\n    public get nullCount() {\n        return computeChunkNullCounts(this.data);\n    }\n\n    /**\n     * The Array or TypedArray constructor used for the JS representation\n     *  of the element's values in {@link Vector.prototype.toArray `toArray()`}.\n     */\n    public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n\n    /**\n     * The name that should be printed when the Vector is logged in a message.\n     */\n    public get [Symbol.toStringTag]() {\n        return `${this.VectorName}<${this.type[Symbol.toStringTag]}>`;\n    }\n\n    /**\n     * The name of this Vector.\n     */\n    public get VectorName() { return `${Type[this.type.typeId]}Vector`; }\n\n    /**\n     * Check whether an element is null.\n     * @param index The index at which to read the validity bitmap.\n     */\n    // @ts-ignore\n    public isValid(index: number): boolean { return false; }\n\n    /**\n     * Get an element value by position.\n     * @param index The index of the element to read.\n     */\n    // @ts-ignore\n    public get(index: number): T['TValue'] | null { return null; }\n\n    /**\n     * Get an element value by position.\n     * @param index The index of the element to read. A negative index will count back from the last element.\n     */\n    public at(index: number): T['TValue'] | null {\n        return this.get(wrapIndex(index, this.length));\n    }\n\n    /**\n     * Set an element value by position.\n     * @param index The index of the element to write.\n     * @param value The value to set.\n     */\n    // @ts-ignore\n    public set(index: number, value: T['TValue'] | null): void { return; }\n\n    /**\n     * Retrieve the index of the first occurrence of a value in an Vector.\n     * @param element The value to locate in the Vector.\n     * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n     */\n    // @ts-ignore\n    public indexOf(element: T['TValue'], offset?: number): number { return -1; }\n\n    public includes(element: T['TValue'], offset?: number): boolean {\n        // eslint-disable-next-line unicorn/prefer-includes\n        return this.indexOf(element, offset) > -1;\n    }\n\n    /**\n     * Iterator for the Vector's elements.\n     */\n    public [Symbol.iterator](): IterableIterator<T['TValue'] | null> {\n        return iteratorVisitor.visit(this);\n    }\n\n    /**\n     * Combines two or more Vectors of the same type.\n     * @param others Additional Vectors to add to the end of this Vector.\n     */\n    public concat(...others: Vector<T>[]): Vector<T> {\n        return new Vector(this.data.concat(others.flatMap((x) => x.data).flat(Number.POSITIVE_INFINITY)));\n    }\n\n    /**\n     * Return a zero-copy sub-section of this Vector.\n     * @param start The beginning of the specified portion of the Vector.\n     * @param end The end of the specified portion of the Vector. This is exclusive of the element at the index 'end'.\n     */\n    public slice(begin?: number, end?: number): Vector<T> {\n        return new Vector(clampRange(this, begin, end, ({ data, _offsets }, begin, end) =>\n            sliceChunks(data, _offsets, begin, end)\n        ));\n    }\n\n    public toJSON() { return [...this]; }\n\n    /**\n     * Return a JavaScript Array or TypedArray of the Vector's elements.\n     *\n     * @note If this Vector contains a single Data chunk and the Vector's type is a\n     *  primitive numeric type corresponding to one of the JavaScript TypedArrays, this\n     *  method returns a zero-copy slice of the underlying TypedArray values. If there's\n     *  more than one chunk, the resulting TypedArray will be a copy of the data from each\n     *  chunk's underlying TypedArray values.\n     *\n     * @returns An Array or TypedArray of the Vector's elements, based on the Vector's DataType.\n     */\n    public toArray(): T['TArray'] {\n        const { type, data, length, stride, ArrayType } = this;\n        // Fast case, return subarray if possible\n        switch (type.typeId) {\n            case Type.Int:\n            case Type.Float:\n            case Type.Decimal:\n            case Type.Time:\n            case Type.Timestamp:\n                switch (data.length) {\n                    case 0: return new ArrayType();\n                    case 1: return data[0].values.subarray(0, length * stride);\n                    default: return data.reduce((memo, { values, length: chunk_length }) => {\n                        memo.array.set(values.subarray(0, chunk_length * stride), memo.offset);\n                        memo.offset += chunk_length * stride;\n                        return memo;\n                    }, { array: new ArrayType(length * stride), offset: 0 }).array;\n                }\n        }\n        // Otherwise if not primitive, slow copy\n        return [...this] as T['TArray'];\n    }\n\n    /**\n     * Returns a string representation of the Vector.\n     *\n     * @returns A string representation of the Vector.\n     */\n    public toString() {\n        return `[${[...this].join(',')}]`;\n    }\n\n    /**\n     * Returns a child Vector by name, or null if this Vector has no child with the given name.\n     * @param name The name of the child to retrieve.\n     */\n    public getChild<R extends keyof T['TChildren']>(name: R) {\n        return this.getChildAt(this.type.children?.findIndex((f) => f.name === name));\n    }\n\n    /**\n     * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n     * @param index The index of the child to retrieve.\n     */\n    public getChildAt<R extends DataType = any>(index: number): Vector<R> | null {\n        if (index > -1 && index < this.numChildren) {\n            return new Vector(this.data.map(({ children }) => children[index] as Data<R>));\n        }\n        return null;\n    }\n\n    public get isMemoized(): boolean {\n        if (DataType.isDictionary(this.type)) {\n            return this.data[0].dictionary!.isMemoized;\n        }\n        return false;\n    }\n\n    /**\n     * Adds memoization to the Vector's {@link get} method. For dictionary\n     * vectors, this method return a vector that memoizes only the dictionary\n     * values.\n     *\n     * Memoization is very useful when decoding a value is expensive such as\n     * Utf8. The memoization creates a cache of the size of the Vector and\n     * therefore increases memory usage.\n     *\n     * @returns A new vector that memoizes calls to {@link get}.\n     */\n    public memoize(): MemoizedVector<T> {\n        if (DataType.isDictionary(this.type)) {\n            const dictionary = new MemoizedVector(this.data[0].dictionary!);\n            const newData = this.data.map((data) => {\n                const cloned = data.clone();\n                cloned.dictionary = dictionary;\n                return cloned;\n            });\n            return new Vector(newData);\n        }\n        return new MemoizedVector(this);\n    }\n\n    /**\n     * Returns a vector without memoization of the {@link get} method. If this\n     * vector is not memoized, this method returns this vector.\n     *\n     * @returns A new vector without memoization.\n     */\n    public unmemoize(): Vector<T> {\n        if (DataType.isDictionary(this.type) && this.isMemoized) {\n            const dictionary = this.data[0].dictionary!.unmemoize();\n            const newData = this.data.map((data) => {\n                const newData = data.clone();\n                newData.dictionary = dictionary;\n                return newData;\n            });\n            return new Vector(newData);\n        }\n        return this;\n    }\n\n    // Initialize this static property via an IIFE so bundlers don't tree-shake\n    // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n    protected static [Symbol.toStringTag] = ((proto: Vector) => {\n        (proto as any).type = DataType.prototype;\n        (proto as any).data = [];\n        (proto as any).length = 0;\n        (proto as any).stride = 1;\n        (proto as any).numChildren = 0;\n        (proto as any)._offsets = new Uint32Array([0]);\n        (proto as any)[Symbol.isConcatSpreadable] = true;\n\n        const typeIds: Type[] = Object.keys(Type)\n            .map((T: any) => Type[T] as any)\n            .filter((T: any) => typeof T === 'number' && T !== Type.NONE);\n\n        for (const typeId of typeIds) {\n            const get = getVisitor.getVisitFnByTypeId(typeId);\n            const set = setVisitor.getVisitFnByTypeId(typeId);\n            const indexOf = indexOfVisitor.getVisitFnByTypeId(typeId);\n\n            visitorsByTypeId[typeId] = { get, set, indexOf };\n            vectorPrototypesByTypeId[typeId] = Object.create(proto, {\n                ['isValid']: { value: wrapChunkedCall1(isChunkedValid) },\n                ['get']: { value: wrapChunkedCall1(getVisitor.getVisitFnByTypeId(typeId)) },\n                ['set']: { value: wrapChunkedCall2(setVisitor.getVisitFnByTypeId(typeId)) },\n                ['indexOf']: { value: wrapChunkedIndexOf(indexOfVisitor.getVisitFnByTypeId(typeId)) },\n            });\n        }\n\n        return 'Vector';\n    })(Vector.prototype);\n}\n\nclass MemoizedVector<T extends DataType = any> extends Vector<T> {\n\n    public constructor(vector: Vector<T>) {\n        super(vector.data);\n\n        const get = this.get;\n        const set = this.set;\n        const slice = this.slice;\n\n        const cache = new Array<T['TValue'] | null>(this.length);\n\n        Object.defineProperty(this, 'get', {\n            value(index: number) {\n                const cachedValue = cache[index];\n                if (cachedValue !== undefined) {\n                    return cachedValue;\n                }\n                const value = get.call(this, index);\n                cache[index] = value;\n                return value;\n            }\n        });\n\n        Object.defineProperty(this, 'set', {\n            value(index: number, value: T['TValue'] | null) {\n                set.call(this, index, value);\n                cache[index] = value;\n            }\n        });\n\n        Object.defineProperty(this, 'slice', {\n            value: (begin?: number, end?: number) => new MemoizedVector(slice.call(this, begin, end))\n        });\n\n        Object.defineProperty(this, 'isMemoized', { value: true });\n\n        Object.defineProperty(this, 'unmemoize', {\n            value: () => new Vector(this.data)\n        });\n\n        Object.defineProperty(this, 'memoize', {\n            value: () => this\n        });\n    }\n}\n\nimport * as dtypes from './type.js';\n\n/**\n * Creates a Vector without data copies.\n *\n * @example\n * ```ts\n * const vector = makeVector(new Int32Array([1, 2, 3]));\n * ```\n */\nexport function makeVector<T extends TypedArray | BigIntArray>(data: T | readonly T[]): Vector<TypedArrayDataType<T>>;\nexport function makeVector<T extends DataView>(data: T | readonly T[]): Vector<dtypes.Int8>;\nexport function makeVector<T extends DataType>(data: Data<T> | readonly Data<T>[]): Vector<T>;\nexport function makeVector<T extends DataType>(data: Vector<T> | readonly Vector<T>[]): Vector<T>;\nexport function makeVector<T extends DataType>(data: DataProps<T> | readonly DataProps<T>[]): Vector<T>;\n\nexport function makeVector(init: any) {\n    if (init) {\n        if (init instanceof Data) { return new Vector([init]); }\n        if (init instanceof Vector) { return new Vector(init.data); }\n        if (init.type instanceof DataType) { return new Vector([makeData(init)]); }\n        if (Array.isArray(init)) {\n            return new Vector(init.flatMap(v => unwrapInputs(v)));\n        }\n        if (ArrayBuffer.isView(init)) {\n            if (init instanceof DataView) {\n                init = new Uint8Array(init.buffer);\n            }\n            const props = { offset: 0, length: init.length, nullCount: -1, data: init };\n            if (init instanceof Int8Array) { return new Vector([makeData({ ...props, type: new dtypes.Int8 })]); }\n            if (init instanceof Int16Array) { return new Vector([makeData({ ...props, type: new dtypes.Int16 })]); }\n            if (init instanceof Int32Array) { return new Vector([makeData({ ...props, type: new dtypes.Int32 })]); }\n            if (init instanceof BigInt64Array) { return new Vector([makeData({ ...props, type: new dtypes.Int64 })]); }\n            if (init instanceof Uint8Array || init instanceof Uint8ClampedArray) { return new Vector([makeData({ ...props, type: new dtypes.Uint8 })]); }\n            if (init instanceof Uint16Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint16 })]); }\n            if (init instanceof Uint32Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint32 })]); }\n            if (init instanceof BigUint64Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint64 })]); }\n            if (init instanceof Float32Array) { return new Vector([makeData({ ...props, type: new dtypes.Float32 })]); }\n            if (init instanceof Float64Array) { return new Vector([makeData({ ...props, type: new dtypes.Float64 })]); }\n            throw new Error('Unrecognized input');\n        }\n    }\n    throw new Error('Unrecognized input');\n}\n\nfunction unwrapInputs(x: any) {\n    return x instanceof Data ? [x] : (x instanceof Vector ? x.data : makeVector(x).data);\n}\n", null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector.js';\nimport { Data, makeData } from './data.js';\nimport { MapRow, kKeys } from './row/map.js';\nimport {\n    DataType, strideForType,\n    Float, Int, Decimal, FixedSizeBinary,\n    Date_, Time, Timestamp, Interval, Duration,\n    Utf8, LargeUtf8, Binary, LargeBinary, List, Map_,\n} from './type.js';\nimport { createIsValidFunction } from './builder/valid.js';\nimport { BufferBuilder, BitmapBufferBuilder, DataBufferBuilder, OffsetsBufferBuilder } from './builder/buffer.js';\n\nimport type { BuilderDuplexOptions } from './io/node/builder.js';\nimport type { BuilderTransform, BuilderTransformOptions } from './io/whatwg/builder.js';\n\nimport type { Duplex } from 'node:stream';\n\n/**\n * A set of options required to create a `Builder` instance for a given `DataType`.\n * @see {@link Builder}\n */\nexport interface BuilderOptions<T extends DataType = any, TNull = any> {\n    type: T;\n    nullValues?: TNull[] | ReadonlyArray<TNull> | null;\n    children?: { [key: string]: BuilderOptions } | BuilderOptions[];\n}\n\n/**\n * An abstract base class for types that construct Arrow Vectors from arbitrary JavaScript values.\n *\n * A `Builder` is responsible for writing arbitrary JavaScript values\n * to ArrayBuffers and/or child Builders according to the Arrow specification\n * for each DataType, creating or resizing the underlying ArrayBuffers as necessary.\n *\n * The `Builder` for each Arrow `DataType` handles converting and appending\n * values for a given `DataType`. The high-level {@link makeBuilder `makeBuilder()`} convenience\n * method creates the specific `Builder` subclass for the supplied `DataType`.\n *\n * Once created, `Builder` instances support both appending values to the end\n * of the `Builder`, and random-access writes to specific indices\n * (`Builder.prototype.append(value)` is a convenience method for\n * `builder.set(builder.length, value)`). Appending or setting values beyond the\n * Builder's current length may cause the builder to grow its underlying buffers\n * or child Builders (if applicable) to accommodate the new values.\n *\n * After enough values have been written to a `Builder`, `Builder.prototype.flush()`\n * will commit the values to the underlying ArrayBuffers (or child Builders). The\n * internal Builder state will be reset, and an instance of `Data<T>` is returned.\n * Alternatively, `Builder.prototype.toVector()` will flush the `Builder` and return\n * an instance of `Vector<T>` instead.\n *\n * When there are no more values to write, use `Builder.prototype.finish()` to\n * finalize the `Builder`. This does not reset the internal state, so it is\n * necessary to call `Builder.prototype.flush()` or `toVector()` one last time\n * if there are still values queued to be flushed.\n *\n * Note: calling `Builder.prototype.finish()` is required when using a `DictionaryBuilder`,\n * because this is when it flushes the values that have been enqueued in its internal\n * dictionary's `Builder`, and creates the `dictionaryVector` for the `Dictionary` `DataType`.\n *\n * @example\n * ```ts\n * import { makeBuilder, Utf8 } from 'apache-arrow';\n *\n * const utf8Builder = makeBuilder({\n *     type: new Utf8(),\n *     nullValues: [null, 'n/a']\n * });\n *\n * utf8Builder\n *     .append('hello')\n *     .append('n/a')\n *     .append('world')\n *     .append(null);\n *\n * const utf8Vector = utf8Builder.finish().toVector();\n *\n * console.log(utf8Vector.toJSON());\n * // > [\"hello\", null, \"world\", null]\n * ```\n *\n * @typeparam T The `DataType` of this `Builder`.\n * @typeparam TNull The type(s) of values which will be considered null-value sentinels.\n */\nexport abstract class Builder<T extends DataType = any, TNull = any> {\n\n    /** @nocollapse */\n    // @ts-ignore\n    public static throughNode<T extends DataType = any, TNull = any>(options: BuilderDuplexOptions<T, TNull>): Duplex {\n        throw new Error(`\"throughNode\" not available in this environment`);\n    }\n    /** @nocollapse */\n    // @ts-ignore\n    public static throughDOM<T extends DataType = any, TNull = any>(options: BuilderTransformOptions<T, TNull>): BuilderTransform<T, TNull> {\n        throw new Error(`\"throughDOM\" not available in this environment`);\n    }\n\n    /**\n     * Construct a builder with the given Arrow DataType with optional null values,\n     * which will be interpreted as \"null\" when set or appended to the `Builder`.\n     * @param {{ type: T, nullValues?: any[] }} options A `BuilderOptions` object used to create this `Builder`.\n     */\n    constructor({ 'type': type, 'nullValues': nulls }: BuilderOptions<T, TNull>) {\n        this.type = type;\n        this.children = [];\n        this.nullValues = nulls;\n        this.stride = strideForType(type);\n        this._nulls = new BitmapBufferBuilder();\n        if (nulls && nulls.length > 0) {\n            this._isValid = createIsValidFunction(nulls);\n        }\n    }\n\n    /**\n     * The Builder's `DataType` instance.\n     * @readonly\n     */\n    public type: T;\n    /**\n     * The number of values written to the `Builder` that haven't been flushed yet.\n     * @readonly\n     */\n    public length = 0;\n    /**\n     * A boolean indicating whether `Builder.prototype.finish()` has been called on this `Builder`.\n     * @readonly\n     */\n    public finished = false;\n    /**\n     * The number of elements in the underlying values TypedArray that\n     * represent a single logical element, determined by this Builder's\n     * `DataType`. This is 1 for most types, but is larger when the `DataType`\n     * is `Int64`, `Uint64`, `Decimal`, `DateMillisecond`, certain variants of\n     * `Interval`, `Time`, or `Timestamp`, `FixedSizeBinary`, and `FixedSizeList`.\n     * @readonly\n     */\n    public readonly stride: number;\n    public readonly children: Builder[];\n    /**\n     * The list of null-value sentinels for this `Builder`. When one of these values\n     * is written to the `Builder` (either via `Builder.prototype.set()` or `Builder.prototype.append()`),\n     * a 1-bit is written to this Builder's underlying null BitmapBufferBuilder.\n     * @readonly\n     */\n    public readonly nullValues?: TNull[] | ReadonlyArray<TNull> | null;\n\n    /**\n     * Flush the `Builder` and return a `Vector<T>`.\n     * @returns {Vector<T>} A `Vector<T>` of the flushed values.\n     */\n    public toVector() { return new Vector([this.flush()]); }\n\n    public get ArrayType() { return this.type.ArrayType; }\n    public get nullCount() { return this._nulls.numInvalid; }\n    public get numChildren() { return this.children.length; }\n\n    /**\n     * @returns The aggregate length (in bytes) of the values that have been written.\n     */\n    public get byteLength(): number {\n        let size = 0;\n        const { _offsets, _values, _nulls, _typeIds, children } = this;\n        _offsets && (size += _offsets.byteLength);\n        _values && (size += _values.byteLength);\n        _nulls && (size += _nulls.byteLength);\n        _typeIds && (size += _typeIds.byteLength);\n        return children.reduce((size, child) => size + child.byteLength, size);\n    }\n\n    /**\n     * @returns The aggregate number of rows that have been reserved to write new values.\n     */\n    public get reservedLength(): number {\n        return this._nulls.reservedLength;\n    }\n\n    /**\n     * @returns The aggregate length (in bytes) that has been reserved to write new values.\n     */\n    public get reservedByteLength(): number {\n        let size = 0;\n        this._offsets && (size += this._offsets.reservedByteLength);\n        this._values && (size += this._values.reservedByteLength);\n        this._nulls && (size += this._nulls.reservedByteLength);\n        this._typeIds && (size += this._typeIds.reservedByteLength);\n        return this.children.reduce((size, child) => size + child.reservedByteLength, size);\n    }\n\n    declare protected _offsets: DataBufferBuilder<T['TOffsetArray']>;\n    public get valueOffsets() { return this._offsets ? this._offsets.buffer : null; }\n\n    declare protected _values: BufferBuilder<T['TArray']>;\n    public get values() { return this._values ? this._values.buffer : null; }\n\n    declare protected _nulls: BitmapBufferBuilder;\n    public get nullBitmap() { return this._nulls ? this._nulls.buffer : null; }\n\n    declare protected _typeIds: DataBufferBuilder<Int8Array>;\n    public get typeIds() { return this._typeIds ? this._typeIds.buffer : null; }\n\n    declare protected _isValid: (value: T['TValue'] | TNull) => boolean;\n    declare protected _setValue: (inst: Builder<T>, index: number, value: T['TValue']) => void;\n\n    /**\n     * Appends a value (or null) to this `Builder`.\n     * This is equivalent to `builder.set(builder.length, value)`.\n     * @param {T['TValue'] | TNull } value The value to append.\n     */\n    public append(value: T['TValue'] | TNull) { return this.set(this.length, value); }\n\n    /**\n     * Validates whether a value is valid (true), or null (false)\n     * @param {T['TValue'] | TNull } value The value to compare against null the value representations\n     */\n    public isValid(value: T['TValue'] | TNull): boolean { return this._isValid(value); }\n\n    /**\n     * Write a value (or null-value sentinel) at the supplied index.\n     * If the value matches one of the null-value representations, a 1-bit is\n     * written to the null `BitmapBufferBuilder`. Otherwise, a 0 is written to\n     * the null `BitmapBufferBuilder`, and the value is passed to\n     * `Builder.prototype.setValue()`.\n     * @param {number} index The index of the value to write.\n     * @param {T['TValue'] | TNull } value The value to write at the supplied index.\n     * @returns {this} The updated `Builder` instance.\n     */\n    public set(index: number, value: T['TValue'] | TNull) {\n        if (this.setValid(index, this.isValid(value))) {\n            this.setValue(index, value);\n        }\n        return this;\n    }\n\n    /**\n     * Write a value to the underlying buffers at the supplied index, bypassing\n     * the null-value check. This is a low-level method that\n     * @param {number} index\n     * @param {T['TValue'] | TNull } value\n     */\n    public setValue(index: number, value: T['TValue']) { this._setValue(this, index, value); }\n    public setValid(index: number, valid: boolean) {\n        this.length = this._nulls.set(index, +valid).length;\n        return valid;\n    }\n\n    // @ts-ignore\n    public addChild(child: Builder, name = `${this.numChildren}`) {\n        throw new Error(`Cannot append children to non-nested type \"${this.type}\"`);\n    }\n\n    /**\n     * Retrieve the child `Builder` at the supplied `index`, or null if no child\n     * exists at that index.\n     * @param {number} index The index of the child `Builder` to retrieve.\n     * @returns {Builder | null} The child Builder at the supplied index or null.\n     */\n    public getChildAt<R extends DataType = any>(index: number): Builder<R> | null {\n        return this.children[index] || null;\n    }\n\n    /**\n     * Commit all the values that have been written to their underlying\n     * ArrayBuffers, including any child Builders if applicable, and reset\n     * the internal `Builder` state.\n     * @returns A `Data<T>` of the buffers and children representing the values written.\n     */\n    public flush(): Data<T> {\n        let data: BufferBuilder<T['TArray']> | undefined;\n        let typeIds: Int8Array;\n        let nullBitmap: Uint8Array | undefined;\n        let valueOffsets: T['TOffsetArray'];\n        const { type, length, nullCount, _typeIds, _offsets, _values, _nulls } = this;\n\n        if (typeIds = _typeIds?.flush(length)) { // Unions, DenseUnions\n            valueOffsets = _offsets?.flush(length);\n        } else if (valueOffsets = _offsets?.flush(length)) { // Variable-width primitives (Binary, LargeBinary, Utf8, LargeUtf8), and Lists\n            data = _values?.flush(_offsets.last());\n        } else { // Fixed-width primitives (Int, Float, Decimal, Time, Timestamp, Duration and Interval)\n            data = _values?.flush(length);\n        }\n\n        if (nullCount > 0) {\n            nullBitmap = _nulls?.flush(length);\n        }\n\n        const children = this.children.map((child) => child.flush());\n\n        this.clear();\n\n        return makeData(<any>{\n            type, length, nullCount,\n            children, 'child': children[0],\n            data, typeIds, nullBitmap, valueOffsets,\n        }) as Data<T>;\n    }\n\n    /**\n     * Finalize this `Builder`, and child builders if applicable.\n     * @returns {this} The finalized `Builder` instance.\n     */\n    public finish() {\n        this.finished = true;\n        for (const child of this.children) child.finish();\n        return this;\n    }\n\n    /**\n     * Clear this Builder's internal state, including child Builders if applicable, and reset the length to 0.\n     * @returns {this} The cleared `Builder` instance.\n     */\n    public clear() {\n        this.length = 0;\n        this._nulls?.clear();\n        this._values?.clear();\n        this._offsets?.clear();\n        this._typeIds?.clear();\n        for (const child of this.children) child.clear();\n        return this;\n    }\n}\n\n(Builder.prototype as any).length = 1;\n(Builder.prototype as any).stride = 1;\n(Builder.prototype as any).children = null;\n(Builder.prototype as any).finished = false;\n(Builder.prototype as any).nullValues = null;\n(Builder.prototype as any)._isValid = () => true;\n\n/** @ignore */\nexport abstract class FixedWidthBuilder<T extends Int | Float | FixedSizeBinary | Date_ | Timestamp | Time | Decimal | Interval | Duration = any, TNull = any> extends Builder<T, TNull> {\n    constructor(opts: BuilderOptions<T, TNull>) {\n        super(opts);\n        this._values = new DataBufferBuilder(this.ArrayType, 0, this.stride);\n    }\n    public setValue(index: number, value: T['TValue']) {\n        const values = this._values;\n        values.reserve(index - values.length + 1);\n        return super.setValue(index, value);\n    }\n}\n\n/** @ignore */\nexport abstract class VariableWidthBuilder<T extends Binary | LargeBinary | Utf8 | LargeUtf8 | List | Map_, TNull = any> extends Builder<T, TNull> {\n    protected _pendingLength = 0;\n    protected _offsets: OffsetsBufferBuilder<T>;\n    protected _pending: Map<number, any> | undefined;\n    constructor(opts: BuilderOptions<T, TNull>) {\n        super(opts);\n        this._offsets = new OffsetsBufferBuilder(opts.type);\n    }\n    public setValue(index: number, value: T['TValue']) {\n        const pending = this._pending || (this._pending = new Map());\n        const current = pending.get(index);\n        current && (this._pendingLength -= current.length);\n        this._pendingLength += (value instanceof MapRow) ? value[kKeys].length : value.length;\n        pending.set(index, value);\n    }\n    public setValid(index: number, isValid: boolean) {\n        if (!super.setValid(index, isValid)) {\n            (this._pending || (this._pending = new Map())).set(index, undefined);\n            return false;\n        }\n        return true;\n    }\n    public clear() {\n        this._pendingLength = 0;\n        this._pending = undefined;\n        return super.clear();\n    }\n    public flush() {\n        this._flush();\n        return super.flush();\n    }\n    public finish() {\n        this._flush();\n        return super.finish();\n    }\n    protected _flush() {\n        const pending = this._pending;\n        const pendingLength = this._pendingLength;\n        this._pendingLength = 0;\n        this._pending = undefined;\n        if (pending && pending.size > 0) {\n            this._flushPending(pending, pendingLength);\n        }\n        return this;\n    }\n    protected abstract _flushPending(pending: Map<number, any>, pendingLength: number): void;\n}\n", null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { MetadataVersion } from './enum.js';\nimport { DataType, TypeMap } from './type.js';\n\nexport class Schema<T extends TypeMap = any> {\n\n    public readonly fields: Field<T[keyof T]>[];\n    public readonly metadata: Map<string, string>;\n    public readonly dictionaries: Map<number, DataType>;\n    public readonly metadataVersion: MetadataVersion;\n\n    constructor(\n        fields: Field<T[keyof T]>[] = [],\n        metadata?: Map<string, string> | null,\n        dictionaries?: Map<number, DataType> | null,\n        metadataVersion = MetadataVersion.V5) {\n        this.fields = (fields || []) as Field<T[keyof T]>[];\n        this.metadata = metadata || new Map();\n        if (!dictionaries) {\n            dictionaries = generateDictionaryMap(this.fields);\n        }\n        this.dictionaries = dictionaries;\n        this.metadataVersion = metadataVersion;\n    }\n    public get [Symbol.toStringTag]() { return 'Schema'; }\n\n    public get names(): (keyof T)[] { return this.fields.map((f) => f.name); }\n\n    public toString() {\n        return `Schema<{ ${this.fields.map((f, i) => `${i}: ${f}`).join(', ')} }>`;\n    }\n\n    /**\n     * Construct a new Schema containing only specified fields.\n     *\n     * @param fieldNames Names of fields to keep.\n     * @returns A new Schema of fields matching the specified names.\n     */\n    public select<K extends keyof T = any>(fieldNames: K[]) {\n        const names = new Set<string | K>(fieldNames);\n        const fields = this.fields.filter((f) => names.has(f.name)) as Field<T[K]>[];\n        return new Schema<{ [P in K]: T[P] }>(fields, this.metadata);\n    }\n\n    /**\n     * Construct a new Schema containing only fields at the specified indices.\n     *\n     * @param fieldIndices Indices of fields to keep.\n     * @returns A new Schema of fields at the specified indices.\n     */\n    public selectAt<K extends T = any>(fieldIndices: number[]) {\n        const fields = fieldIndices.map((i) => this.fields[i]).filter(Boolean) as Field<K[keyof K]>[];\n        return new Schema<K>(fields, this.metadata);\n    }\n\n    public assign<R extends TypeMap = any>(schema: Schema<R>): Schema<T & R>;\n    public assign<R extends TypeMap = any>(...fields: (Field<R[keyof R]> | Field<R[keyof R]>[])[]): Schema<T & R>;\n    public assign<R extends TypeMap = any>(...args: (Schema<R> | Field<R[keyof R]> | Field<R[keyof R]>[])[]) {\n\n        const other = (args[0] instanceof Schema\n            ? args[0] as Schema<R>\n            : Array.isArray(args[0])\n                ? new Schema<R>(<Field<R[keyof R]>[]>args[0])\n                : new Schema<R>(<Field<R[keyof R]>[]>args));\n\n        const curFields = [...this.fields] as Field[];\n        const metadata = mergeMaps(mergeMaps(new Map(), this.metadata), other.metadata);\n        const newFields = other.fields.filter((f2) => {\n            const i = curFields.findIndex((f) => f.name === f2.name);\n            return ~i ? (curFields[i] = f2.clone({\n                metadata: mergeMaps(mergeMaps(new Map(), curFields[i].metadata), f2.metadata)\n            })) && false : true;\n        }) as Field[];\n\n        const newDictionaries = generateDictionaryMap(newFields, new Map());\n\n        return new Schema<T & R>(\n            [...curFields, ...newFields], metadata,\n            new Map([...this.dictionaries, ...newDictionaries])\n        );\n    }\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Schema.prototype as any).fields = <any>null;\n(Schema.prototype as any).metadata = <any>null;\n(Schema.prototype as any).dictionaries = <any>null;\n\nexport class Field<T extends DataType = any> {\n\n    public static new<T extends DataType = any>(props: { name: string | number; type: T; nullable?: boolean; metadata?: Map<string, string> | null }): Field<T>;\n    public static new<T extends DataType = any>(name: string | number | Field<T>, type: T, nullable?: boolean, metadata?: Map<string, string> | null): Field<T>;\n    /** @nocollapse */\n    public static new<T extends DataType = any>(...args: any[]) {\n        let [name, type, nullable, metadata] = args;\n        if (args[0] && typeof args[0] === 'object') {\n            ({ name } = args[0]);\n            (type === undefined) && (type = args[0].type);\n            (nullable === undefined) && (nullable = args[0].nullable);\n            (metadata === undefined) && (metadata = args[0].metadata);\n        }\n        return new Field<T>(`${name}`, type, nullable, metadata);\n    }\n\n    public readonly type: T;\n    public readonly name: string;\n    public readonly nullable: boolean;\n    public readonly metadata: Map<string, string>;\n\n    constructor(name: string, type: T, nullable = false, metadata?: Map<string, string> | null) {\n        this.name = name;\n        this.type = type;\n        this.nullable = nullable;\n        this.metadata = metadata || new Map();\n    }\n\n    public get typeId() { return this.type.typeId; }\n    public get [Symbol.toStringTag]() { return 'Field'; }\n    public toString() { return `${this.name}: ${this.type}`; }\n    public clone<R extends DataType = T>(props: { name?: string | number; type?: R; nullable?: boolean; metadata?: Map<string, string> | null }): Field<R>;\n    public clone<R extends DataType = T>(name?: string | number | Field<T>, type?: R, nullable?: boolean, metadata?: Map<string, string> | null): Field<R>;\n    public clone<R extends DataType = T>(...args: any[]) {\n        let [name, type, nullable, metadata] = args;\n        (!args[0] || typeof args[0] !== 'object')\n            ? ([name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata] = args)\n            : ({ name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata } = args[0]);\n        return Field.new<R>(name, type, nullable, metadata);\n    }\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Field.prototype as any).type = null;\n(Field.prototype as any).name = null;\n(Field.prototype as any).nullable = null;\n(Field.prototype as any).metadata = null;\n\n/** @ignore */\nfunction mergeMaps<TKey, TVal>(m1?: Map<TKey, TVal> | null, m2?: Map<TKey, TVal> | null): Map<TKey, TVal> {\n    return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n\n/** @ignore */\nfunction generateDictionaryMap(fields: Field[], dictionaries = new Map<number, DataType>()): Map<number, DataType> {\n\n    for (let i = -1, n = fields.length; ++i < n;) {\n        const field = fields[i];\n        const type = field.type;\n        if (DataType.isDictionary(type)) {\n            if (!dictionaries.has(type.id)) {\n                dictionaries.set(type.id, type.dictionary);\n            } else if (dictionaries.get(type.id) !== type.dictionary) {\n                throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n            }\n        }\n        if (type.children && type.children.length > 0) {\n            generateDictionaryMap(type.children, dictionaries);\n        }\n    }\n\n    return dictionaries;\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field, Schema } from './schema.js';\nimport * as dtypes from './type.js';\nimport { Data, DataProps } from './data.js';\nimport { BuilderType, JavaScriptDataType } from './interfaces.js';\nimport { Vector, makeVector } from './vector.js';\nimport { Builder, BuilderOptions } from './builder.js';\nimport { instance as getBuilderConstructor } from './visitor/builderctor.js';\nimport { ArrayDataType, BigIntArray, JavaScriptArrayDataType, TypedArray, TypedArrayDataType } from './interfaces.js';\nimport { Table } from './table.js';\nimport { RecordBatch } from './recordbatch.js';\nimport { compareTypes } from './visitor/typecomparator.js';\n\nexport function makeBuilder<T extends dtypes.DataType = any, TNull = any>(options: BuilderOptions<T, TNull>): BuilderType<T, TNull> {\n\n    const type = options.type;\n    const builder = new (getBuilderConstructor.getVisitFn<T>(type)())(options) as Builder<T, TNull>;\n\n    if (type.children && type.children.length > 0) {\n\n        const children = options['children'] || [] as BuilderOptions[];\n        const defaultOptions = { 'nullValues': options['nullValues'] };\n        const getChildOptions = Array.isArray(children)\n            ? ((_: Field, i: number) => children[i] || defaultOptions)\n            : (({ name }: Field) => children[name] || defaultOptions);\n\n        for (const [index, field] of type.children.entries()) {\n            const { type } = field;\n            const opts = getChildOptions(field, index);\n            builder.children.push(makeBuilder({ ...opts, type }));\n        }\n    }\n\n    return builder as BuilderType<T, TNull>;\n}\n\n/**\n * Creates a Vector from a JavaScript array via a {@link Builder}.\n * Use {@link makeVector} if you only want to create a vector from a typed array.\n *\n * @example\n * ```ts\n * const vf64 = vectorFromArray([1, 2, 3]);\n * const vi8 = vectorFromArray([1, 2, 3], new Int8);\n * const vdict = vectorFromArray(['foo', 'bar']);\n * const vstruct = vectorFromArray([{a: 'foo', b: 42}, {a: 'bar', b: 12}]);\n * ```\n */\nexport function vectorFromArray(values: readonly (null | undefined)[], type?: dtypes.Null): Vector<dtypes.Null>;\nexport function vectorFromArray(values: readonly (null | undefined | boolean)[], type?: dtypes.Bool): Vector<dtypes.Bool>;\nexport function vectorFromArray<T extends dtypes.Utf8 | dtypes.Dictionary<dtypes.Utf8> = dtypes.Dictionary<dtypes.Utf8, dtypes.Int32>>(values: readonly (null | undefined | string)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.TimestampMillisecond>(values: readonly (null | undefined | Date)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.Int>(values: readonly (null | undefined | number)[], type: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.Int64 | dtypes.Uint64 = dtypes.Int64>(values: readonly (null | undefined | bigint)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.Float = dtypes.Float64>(values: readonly (null | undefined | number)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.DataType>(values: readonly (unknown)[], type: T): Vector<T>;\nexport function vectorFromArray<T extends readonly unknown[]>(values: T): Vector<JavaScriptArrayDataType<T>>;\n/** Creates a Vector from a typed array via {@link makeVector}. */\nexport function vectorFromArray<T extends TypedArray | BigIntArray>(data: T): Vector<TypedArrayDataType<T>>;\n\nexport function vectorFromArray<T extends dtypes.DataType>(data: Data<T>): Vector<T>;\nexport function vectorFromArray<T extends dtypes.DataType>(data: Vector<T>): Vector<T>;\nexport function vectorFromArray<T extends dtypes.DataType>(data: DataProps<T>): Vector<T>;\nexport function vectorFromArray<T extends TypedArray | BigIntArray | readonly unknown[]>(data: T): Vector<ArrayDataType<T>>;\n\nexport function vectorFromArray(init: any, type?: dtypes.DataType) {\n    if (init instanceof Data || init instanceof Vector || init.type instanceof dtypes.DataType || ArrayBuffer.isView(init)) {\n        return makeVector(init as any);\n    }\n    const options: IterableBuilderOptions = { type: type ?? inferType(init), nullValues: [null] };\n    const chunks = [...builderThroughIterable(options)(init)];\n    const vector = chunks.length === 1 ? chunks[0] : chunks.reduce((a, b) => a.concat(b));\n    if (dtypes.DataType.isDictionary(vector.type)) {\n        return vector.memoize();\n    }\n    return vector;\n}\n\n/**\n * Creates a {@link Table} from an array of objects.\n *\n * @param array A table of objects.\n */\nexport function tableFromJSON<T extends Record<string, unknown>>(array: T[]): Table<{ [P in keyof T]: JavaScriptDataType<T[P]> }> {\n    const vector = vectorFromArray(array) as Vector<dtypes.Struct<any>>;\n    const batch = new RecordBatch(new Schema(vector.type.children), vector.data[0]);\n    return new Table(batch);\n}\n\n/** @ignore */\nfunction inferType<T extends readonly unknown[]>(values: T): JavaScriptArrayDataType<T>;\nfunction inferType(value: readonly unknown[]): dtypes.DataType {\n    if (value.length === 0) { return new dtypes.Null; }\n    let nullsCount = 0;\n    let arraysCount = 0;\n    let objectsCount = 0;\n    let numbersCount = 0;\n    let stringsCount = 0;\n    let bigintsCount = 0;\n    let booleansCount = 0;\n    let datesCount = 0;\n\n    for (const val of value) {\n        if (val == null) { ++nullsCount; continue; }\n        switch (typeof val) {\n            case 'bigint': ++bigintsCount; continue;\n            case 'boolean': ++booleansCount; continue;\n            case 'number': ++numbersCount; continue;\n            case 'string': ++stringsCount; continue;\n            case 'object':\n                if (Array.isArray(val)) {\n                    ++arraysCount;\n                } else if (Object.prototype.toString.call(val) === '[object Date]') {\n                    ++datesCount;\n                } else {\n                    ++objectsCount;\n                }\n                continue;\n        }\n        throw new TypeError('Unable to infer Vector type from input values, explicit type declaration expected.');\n    }\n\n    if (numbersCount + nullsCount === value.length) {\n        return new dtypes.Float64;\n    } else if (stringsCount + nullsCount === value.length) {\n        return new dtypes.Dictionary(new dtypes.Utf8, new dtypes.Int32);\n    } else if (bigintsCount + nullsCount === value.length) {\n        return new dtypes.Int64;\n    } else if (booleansCount + nullsCount === value.length) {\n        return new dtypes.Bool;\n    } else if (datesCount + nullsCount === value.length) {\n        return new dtypes.TimestampMillisecond;\n    } else if (arraysCount + nullsCount === value.length) {\n        const array = value as Array<unknown>[];\n        const childType = inferType(array[array.findIndex((ary) => ary != null)]);\n        if (array.every((ary) => ary == null || compareTypes(childType, inferType(ary)))) {\n            return new dtypes.List(new Field('', childType, true));\n        }\n    } else if (objectsCount + nullsCount === value.length) {\n        const fields = new Map<string, Field>();\n        for (const row of value as Record<string, unknown>[]) {\n            for (const key of Object.keys(row)) {\n                if (!fields.has(key) && row[key] != null) {\n                    // use the type inferred for the first instance of a found key\n                    fields.set(key, new Field(key, inferType([row[key]]), true));\n                }\n            }\n        }\n        return new dtypes.Struct([...fields.values()]);\n    }\n\n    throw new TypeError('Unable to infer Vector type from input values, explicit type declaration expected.');\n}\n\n/**\n * A set of options to create an Iterable or AsyncIterable `Builder` transform function.\n * @see {@link builderThroughIterable}\n * @see {@link builderThroughAsyncIterable}\n */\nexport interface IterableBuilderOptions<T extends dtypes.DataType = any, TNull = any> extends BuilderOptions<T, TNull> {\n    highWaterMark?: number;\n    queueingStrategy?: 'bytes' | 'count';\n    dictionaryHashFunction?: (value: any) => string | number;\n    valueToChildTypeId?: (builder: Builder<T, TNull>, value: any, offset: number) => number;\n}\n\n/** @ignore */\ntype ThroughIterable<T extends dtypes.DataType = any, TNull = any> = (source: Iterable<T['TValue'] | TNull>) => IterableIterator<Vector<T>>;\n\n/**\n * Transform a synchronous `Iterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector<T> following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `Iterable` of values to\n * transform. When called, this function returns an Iterator of `Vector<T>`.\n *\n * The resulting `Iterator<Vector<T>>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `Iterator<Vector<T>>`\n *   will flush the underlying `Builder` (and yield a new `Vector<T>`) once the\n *   Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `Iterator<Vector<T>>` will flush\n *   the underlying `Builder` (and yield a new `Vector<T>`) once its `byteLength`\n *   reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions<T, TNull>} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `Iterable` of values to\n *          write, and returns an `Iterator` that yields Vectors according\n *          to the chunking semantics defined in the `options` argument.\n * @nocollapse\n */\nexport function builderThroughIterable<T extends dtypes.DataType = any, TNull = any>(options: IterableBuilderOptions<T, TNull>) {\n    const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n    const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? Number.POSITIVE_INFINITY : 2 ** 14 } = options;\n    const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n    return function* (source: Iterable<T['TValue'] | TNull>) {\n        let numChunks = 0;\n        const builder = makeBuilder(options);\n        for (const value of source) {\n            if (builder.append(value)[sizeProperty] >= highWaterMark) {\n                ++numChunks && (yield builder.toVector());\n            }\n        }\n        if (builder.finish().length > 0 || numChunks === 0) {\n            yield builder.toVector();\n        }\n    } as ThroughIterable<T, TNull>;\n}\n\n/** @ignore */\ntype ThroughAsyncIterable<T extends dtypes.DataType = any, TNull = any> = (source: Iterable<T['TValue'] | TNull> | AsyncIterable<T['TValue'] | TNull>) => AsyncIterableIterator<Vector<T>>;\n\n/**\n * Transform an `AsyncIterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector<T> following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `AsyncIterable` of values to\n * transform. When called, this function returns an AsyncIterator of `Vector<T>`.\n *\n * The resulting `AsyncIterator<Vector<T>>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `AsyncIterator<Vector<T>>`\n *   will flush the underlying `Builder` (and yield a new `Vector<T>`) once the\n *   Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `AsyncIterator<Vector<T>>` will flush\n *   the underlying `Builder` (and yield a new `Vector<T>`) once its `byteLength`\n *   reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions<T, TNull>} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `AsyncIterable` of values\n *          to write, and returns an `AsyncIterator` that yields Vectors\n *          according to the chunking semantics defined in the `options`\n *          argument.\n * @nocollapse\n */\nexport function builderThroughAsyncIterable<T extends dtypes.DataType = any, TNull = any>(options: IterableBuilderOptions<T, TNull>) {\n    const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n    const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? Number.POSITIVE_INFINITY : 2 ** 14 } = options;\n    const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n    return async function* (source: Iterable<T['TValue'] | TNull> | AsyncIterable<T['TValue'] | TNull>) {\n        let numChunks = 0;\n        const builder = makeBuilder(options);\n        for await (const value of source) {\n            if (builder.append(value)[sizeProperty] >= highWaterMark) {\n                ++numChunks && (yield builder.toVector());\n            }\n        }\n        if (builder.finish().length > 0 || numChunks === 0) {\n            yield builder.toVector();\n        }\n    } as ThroughAsyncIterable<T, TNull>;\n}\n", null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type } from './enum.js';\nimport { Data, makeData } from './data.js';\nimport { vectorFromArray } from './factories.js';\nimport { makeVector, Vector } from './vector.js';\nimport { Field, Schema } from './schema.js';\nimport { DataType, Null, Struct, TypeMap } from './type.js';\nimport { compareSchemas } from './visitor/typecomparator.js';\nimport { distributeVectorsIntoRecordBatches } from './util/recordbatch.js';\n\nimport {\n    isChunkedValid,\n    computeChunkOffsets,\n    computeChunkNullCounts,\n    wrapChunkedCall1,\n    wrapChunkedCall2,\n    wrapChunkedIndexOf,\n    sliceChunks,\n} from './util/chunk.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\n\nimport { DataProps } from './data.js';\nimport { clampRange, wrapIndex } from './util/vector.js';\nimport { ArrayDataType, BigIntArray, TypedArray, TypedArrayDataType } from './interfaces.js';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from './recordbatch.js';\n\n/** @ignore */\nexport interface Table<T extends TypeMap = any> {\n    ///\n    // Virtual properties for the TypeScript compiler.\n    // These do not exist at runtime.\n    ///\n    readonly TType: Struct<T>;\n    readonly TArray: Struct<T>['TArray'];\n    readonly TValue: Struct<T>['TValue'];\n\n    /**\n     * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n     */\n    [Symbol.isConcatSpreadable]: true;\n}\n\n/**\n * Tables are collections of {@link Vector}s and have a {@link Schema}. Use the convenience methods {@link makeTable}\n * or {@link tableFromArrays} to create a table in JavaScript. To create a table from the IPC format, use\n * {@link tableFromIPC}.\n */\nexport class Table<T extends TypeMap = any> {\n\n    constructor();\n    constructor(batches: Iterable<RecordBatch<T>>);\n    constructor(...batches: readonly RecordBatch<T>[]);\n    constructor(...columns: { [P in keyof T]: Vector<T[P]> }[]);\n    constructor(...columns: { [P in keyof T]: Data<T[P]> | DataProps<T[P]> }[]);\n    constructor(schema: Schema<T>, ...columns: { [P in keyof T]: Vector<T[P]> }[]);\n    constructor(schema: Schema<T>, ...columns: { [P in keyof T]: Data<T[P]> | DataProps<T[P]> }[]);\n    constructor(schema: Schema<T>, data?: RecordBatch<T> | RecordBatch<T>[]);\n    constructor(schema: Schema<T>, data?: RecordBatch<T> | RecordBatch<T>[], offsets?: Uint32Array);\n    constructor(...args: any[]) {\n\n        if (args.length === 0) {\n            this.batches = [];\n            this.schema = new Schema([]);\n            this._offsets = [0];\n            return this;\n        }\n\n        let schema: Schema<T> | undefined;\n        let offsets: Uint32Array | number[] | undefined;\n\n        if (args[0] instanceof Schema) {\n            schema = args.shift() as Schema<T>;\n        }\n\n        if (args.at(-1) instanceof Uint32Array) {\n            offsets = args.pop();\n        }\n\n        const unwrap = (x: any): RecordBatch<T>[] => {\n            if (x) {\n                if (x instanceof RecordBatch) {\n                    return [x];\n                } else if (x instanceof Table) {\n                    return x.batches;\n                } else if (x instanceof Data) {\n                    if (x.type instanceof Struct) {\n                        return [new RecordBatch(new Schema(x.type.children), x)];\n                    }\n                } else if (Array.isArray(x)) {\n                    return x.flatMap(v => unwrap(v));\n                } else if (typeof x[Symbol.iterator] === 'function') {\n                    return [...x].flatMap(v => unwrap(v));\n                } else if (typeof x === 'object') {\n                    const keys = Object.keys(x) as (keyof T)[];\n                    const vecs = keys.map((k) => new Vector([x[k]]));\n                    const batchSchema = schema ?? new Schema(keys.map((k, i) => new Field(String(k), vecs[i].type, vecs[i].nullable)));\n                    const [, batches] = distributeVectorsIntoRecordBatches(batchSchema, vecs);\n                    return batches.length === 0 ? [new RecordBatch(x)] : batches;\n                }\n            }\n            return [];\n        };\n\n        const batches = args.flatMap(v => unwrap(v));\n\n        schema = schema ?? batches[0]?.schema ?? new Schema([]);\n\n        if (!(schema instanceof Schema)) {\n            throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n        }\n\n        for (const batch of batches) {\n            if (!(batch instanceof RecordBatch)) {\n                throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n            }\n            if (!compareSchemas(schema, batch.schema)) {\n                throw new TypeError('Table and inner RecordBatch schemas must be equivalent.');\n            }\n        }\n\n        this.schema = schema;\n        this.batches = batches;\n        this._offsets = offsets ?? computeChunkOffsets(this.data);\n    }\n\n    declare protected _offsets: Uint32Array | number[];\n    declare protected _nullCount: number;\n\n    declare public readonly schema: Schema<T>;\n\n    /**\n     * The contiguous {@link RecordBatch `RecordBatch`} chunks of the Table rows.\n     */\n    declare public readonly batches: RecordBatch<T>[];\n\n    /**\n     * The contiguous {@link RecordBatch `RecordBatch`} chunks of the Table rows.\n     */\n    public get data() { return this.batches.map(({ data }) => data); }\n\n    /**\n     * The number of columns in this Table.\n     */\n    public get numCols() { return this.schema.fields.length; }\n\n    /**\n     * The number of rows in this Table.\n     */\n    public get numRows() {\n        return this.data.reduce((numRows, data) => numRows + data.length, 0);\n    }\n\n    /**\n     * The number of null rows in this Table.\n     */\n    public get nullCount() {\n        if (this._nullCount === -1) {\n            this._nullCount = computeChunkNullCounts(this.data);\n        }\n        return this._nullCount;\n    }\n\n    /**\n     * Check whether an element is null.\n     *\n     * @param index The index at which to read the validity bitmap.\n     */\n    // @ts-ignore\n    public isValid(index: number): boolean { return false; }\n\n    /**\n     * Get an element value by position.\n     *\n     * @param index The index of the element to read.\n     */\n    // @ts-ignore\n    public get(index: number): Struct<T>['TValue'] | null { return null; }\n\n    /**\n      * Get an element value by position.\n      * @param index The index of the element to read. A negative index will count back from the last element.\n      */\n    // @ts-ignore\n    public at(index: number): Struct<T>['TValue'] | null {\n        return this.get(wrapIndex(index, this.numRows));\n    }\n\n    /**\n     * Set an element value by position.\n     *\n     * @param index The index of the element to write.\n     * @param value The value to set.\n     */\n    // @ts-ignore\n    public set(index: number, value: Struct<T>['TValue'] | null): void { return; }\n\n    /**\n     * Retrieve the index of the first occurrence of a value in an Vector.\n     *\n     * @param element The value to locate in the Vector.\n     * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n     */\n    // @ts-ignore\n    public indexOf(element: Struct<T>['TValue'], offset?: number): number { return -1; }\n\n    /**\n     * Iterator for rows in this Table.\n     */\n    public [Symbol.iterator]() {\n        if (this.batches.length > 0) {\n            return iteratorVisitor.visit(new Vector(this.data)) as IterableIterator<Struct<T>['TValue']>;\n        }\n        return (new Array(0))[Symbol.iterator]();\n    }\n\n    /**\n     * Return a JavaScript Array of the Table rows.\n     *\n     * @returns An Array of Table rows.\n     */\n    public toArray() {\n        return [...this];\n    }\n\n    /**\n     * Returns a string representation of the Table rows.\n     *\n     * @returns A string representation of the Table rows.\n     */\n    public toString() {\n        return `[\\n  ${this.toArray().join(',\\n  ')}\\n]`;\n    }\n\n    /**\n     * Combines two or more Tables of the same schema.\n     *\n     * @param others Additional Tables to add to the end of this Tables.\n     */\n    public concat(...others: Table<T>[]) {\n        const schema = this.schema;\n        const data = this.data.concat(others.flatMap(({ data }) => data));\n        return new Table(schema, data.map((data) => new RecordBatch(schema, data)));\n    }\n\n    /**\n     * Return a zero-copy sub-section of this Table.\n     *\n     * @param begin The beginning of the specified portion of the Table.\n     * @param end The end of the specified portion of the Table. This is exclusive of the element at the index 'end'.\n     */\n    public slice(begin?: number, end?: number): Table<T> {\n        const schema = this.schema;\n        [begin, end] = clampRange({ length: this.numRows }, begin, end);\n        const data = sliceChunks(this.data, this._offsets, begin, end);\n        return new Table(schema, data.map((chunk) => new RecordBatch(schema, chunk)));\n    }\n\n    /**\n     * Returns a child Vector by name, or null if this Vector has no child with the given name.\n     *\n     * @param name The name of the child to retrieve.\n     */\n    public getChild<P extends keyof T>(name: P) {\n        return this.getChildAt<T[P]>(this.schema.fields.findIndex((f) => f.name === name));\n    }\n\n    /**\n     * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n     *\n     * @param index The index of the child to retrieve.\n     */\n    public getChildAt<R extends T[keyof T] = any>(index: number): Vector<R> | null {\n        if (index > -1 && index < this.schema.fields.length) {\n            const data = this.data.map((data) => data.children[index] as Data<R>);\n            if (data.length === 0) {\n                const { type } = this.schema.fields[index] as Field<R>;\n                const empty = makeData<R>({ type, length: 0, nullCount: 0 });\n                data.push(empty._changeLengthAndBackfillNullBitmap(this.numRows));\n            }\n            return new Vector(data);\n        }\n        return null;\n    }\n\n    /**\n     * Sets a child Vector by name.\n     *\n     * @param name The name of the child to overwrite.\n     * @returns A new Table with the supplied child for the specified name.\n     */\n    public setChild<P extends keyof T, R extends DataType>(name: P, child: Vector<R>) {\n        return this.setChildAt(this.schema.fields?.findIndex((f) => f.name === name), child) as Table<T & { [K in P]: R }>;\n    }\n\n    /**\n     * Sets a child Vector by index.\n     *\n     * @param index The index of the child to overwrite.\n     * @returns A new Table with the supplied child at the specified index.\n     */\n    public setChildAt(index: number, child?: null): Table;\n    public setChildAt<R extends DataType = any>(index: number, child: Vector<R>): Table;\n    public setChildAt(index: number, child: any) {\n        let schema: Schema = this.schema;\n        let batches: RecordBatch[] = [...this.batches];\n        if (index > -1 && index < this.numCols) {\n            if (!child) {\n                child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n            }\n            const fields = schema.fields.slice() as Field<any>[];\n            const field = fields[index].clone({ type: child.type });\n            const children = this.schema.fields.map((_, i) => this.getChildAt(i)!);\n            [fields[index], children[index]] = [field, child];\n            [schema, batches] = distributeVectorsIntoRecordBatches(schema, children);\n        }\n        return new Table(schema, batches);\n    }\n\n    /**\n     * Construct a new Table containing only specified columns.\n     *\n     * @param columnNames Names of columns to keep.\n     * @returns A new Table of columns matching the specified names.\n     */\n    public select<K extends keyof T = any>(columnNames: K[]) {\n        const nameToIndex = this.schema.fields.reduce((m, f, i) => m.set(f.name as K, i), new Map<K, number>());\n        return this.selectAt(columnNames.map((columnName) => nameToIndex.get(columnName)!).filter((x) => x > -1));\n    }\n\n    /**\n     * Construct a new Table containing only columns at the specified indices.\n     *\n     * @param columnIndices Indices of columns to keep.\n     * @returns A new Table of columns at the specified indices.\n     */\n    public selectAt<K extends T[keyof T] = any>(columnIndices: number[]) {\n        const schema = this.schema.selectAt(columnIndices);\n        const data = this.batches.map((batch) => batch.selectAt(columnIndices));\n        return new Table<{ [key: string]: K }>(schema, data);\n    }\n\n    public assign<R extends TypeMap = any>(other: Table<R>) {\n\n        const fields = this.schema.fields;\n        const [indices, oldToNew] = other.schema.fields.reduce((memo, f2, newIdx) => {\n            const [indices, oldToNew] = memo;\n            const i = fields.findIndex((f) => f.name === f2.name);\n            ~i ? (oldToNew[i] = newIdx) : indices.push(newIdx);\n            return memo;\n        }, [[], []] as number[][]);\n\n        const schema = this.schema.assign(other.schema);\n        const columns = [\n            ...fields.map((_, i) => [i, oldToNew[i]]).map(([i, j]) =>\n                (j === undefined ? this.getChildAt(i) : other.getChildAt(j))!),\n            ...indices.map((i) => other.getChildAt(i)!)\n        ].filter(Boolean) as Vector<(T & R)[keyof T | keyof R]>[];\n\n        return new Table<T & R>(...distributeVectorsIntoRecordBatches<any>(schema, columns));\n    }\n\n    // Initialize this static property via an IIFE so bundlers don't tree-shake\n    // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n    protected static [Symbol.toStringTag] = ((proto: Table) => {\n        (proto as any).schema = null;\n        (proto as any).batches = [];\n        (proto as any)._offsets = new Uint32Array([0]);\n        (proto as any)._nullCount = -1;\n        (proto as any)[Symbol.isConcatSpreadable] = true;\n        (proto as any)['isValid'] = wrapChunkedCall1(isChunkedValid);\n        (proto as any)['get'] = wrapChunkedCall1(getVisitor.getVisitFn(Type.Struct));\n        (proto as any)['set'] = wrapChunkedCall2(setVisitor.getVisitFn(Type.Struct));\n        (proto as any)['indexOf'] = wrapChunkedIndexOf(indexOfVisitor.getVisitFn(Type.Struct));\n        return 'Table';\n    })(Table.prototype);\n}\n\n\ntype VectorsMap<T extends TypeMap> = { [P in keyof T]: Vector<T[P]> };\n\n/**\n * Creates a new Table from an object of typed arrays.\n *\n*  @example\n * ```ts\n * const table = makeTable({\n *   a: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays.\n * @returns A new Table.\n */\nexport function makeTable<I extends Record<string | number | symbol, TypedArray>>(input: I): Table<{ [P in keyof I]: TypedArrayDataType<I[P]> }> {\n    type T = { [P in keyof I]: TypedArrayDataType<I[P]> };\n    const vecs = {} as VectorsMap<T>;\n    const inputs = Object.entries(input) as [keyof I, I[keyof I]][];\n    for (const [key, col] of inputs) {\n        vecs[key] = makeVector(col);\n    }\n    return new Table<T>(vecs);\n}\n\n/**\n * Creates a new Table from an object of typed arrays or JavaScript arrays.\n *\n *  @example\n * ```ts\n * const table = tableFromArrays({\n *   a: [1, 2, 3],\n *   b: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays or JavaScript arrays.\n * @returns A new Table.\n */\nexport function tableFromArrays<I extends Record<string | number | symbol, TypedArray | BigIntArray | readonly unknown[]>>(input: I): Table<{ [P in keyof I]: ArrayDataType<I[P]> }> {\n    type T = { [P in keyof I]: ArrayDataType<I[P]> };\n    const vecs = {} as VectorsMap<T>;\n    const inputs = Object.entries(input) as [keyof I, I[keyof I]][];\n    for (const [key, col] of inputs) {\n        vecs[key] = vectorFromArray(col);\n    }\n    return new Table<T>(vecs);\n}\n", "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data, makeData } from './data.js';\nimport { Table } from './table.js';\nimport { Vector } from './vector.js';\nimport { Schema, Field } from './schema.js';\nimport { DataType, Struct, Null, TypeMap } from './type.js';\nimport { wrapIndex } from './util/vector.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\n\n/** @ignore */\nexport interface RecordBatch<T extends TypeMap = any> {\n    ///\n    // Virtual properties for the TypeScript compiler.\n    // These do not exist at runtime.\n    ///\n    readonly TType: Struct<T>;\n    readonly TArray: Struct<T>['TArray'];\n    readonly TValue: Struct<T>['TValue'];\n\n    /**\n     * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n     */\n    [Symbol.isConcatSpreadable]: true;\n}\n\n/** @ignore */\nexport class RecordBatch<T extends TypeMap = any> {\n\n    constructor(columns: { [P in keyof T]: Data<T[P]> });\n    constructor(schema: Schema<T>, data?: Data<Struct<T>>);\n    constructor(...args: any[]) {\n        switch (args.length) {\n            case 2: {\n                [this.schema] = args;\n                if (!(this.schema instanceof Schema)) {\n                    throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n                }\n                [,\n                    this.data = makeData({\n                        nullCount: 0,\n                        type: new Struct<T>(this.schema.fields),\n                        children: this.schema.fields.map((f) => makeData({ type: f.type, nullCount: 0 }))\n                    })\n                ] = args;\n                if (!(this.data instanceof Data)) {\n                    throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n                }\n                [this.schema, this.data] = ensureSameLengthData<T>(this.schema, this.data.children as Data<T[keyof T]>[]);\n                break;\n            }\n            case 1: {\n                const [obj] = args;\n                const { fields, children, length } = Object.keys(obj).reduce((memo, name, i) => {\n                    memo.children[i] = obj[name];\n                    memo.length = Math.max(memo.length, obj[name].length);\n                    memo.fields[i] = Field.new({ name, type: obj[name].type, nullable: true });\n                    return memo;\n                }, {\n                    length: 0,\n                    fields: new Array<Field<T[keyof T]>>(),\n                    children: new Array<Data<T[keyof T]>>(),\n                });\n\n                const schema = new Schema<T>(fields);\n                const data = makeData({ type: new Struct<T>(fields), length, children, nullCount: 0 });\n                [this.schema, this.data] = ensureSameLengthData<T>(schema, data.children as Data<T[keyof T]>[], length);\n                break;\n            }\n            default: throw new TypeError('RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.');\n        }\n    }\n\n    protected _dictionaries?: Map<number, Vector>;\n\n    public readonly schema: Schema<T>;\n    public readonly data: Data<Struct<T>>;\n\n    public get dictionaries() {\n        return this._dictionaries || (this._dictionaries = collectDictionaries(this.schema.fields, this.data.children));\n    }\n\n    /**\n     * The number of columns in this RecordBatch.\n     */\n    public get numCols() { return this.schema.fields.length; }\n\n    /**\n     * The number of rows in this RecordBatch.\n     */\n    public get numRows() { return this.data.length; }\n\n    /**\n     * The number of null rows in this RecordBatch.\n     */\n    public get nullCount() {\n        return this.data.nullCount;\n    }\n\n    /**\n     * Check whether an row is null.\n     * @param index The index at which to read the validity bitmap.\n     */\n    public isValid(index: number) {\n        return this.data.getValid(index);\n    }\n\n    /**\n     * Get a row by position.\n     * @param index The index of the row to read.\n     */\n    public get(index: number) {\n        return getVisitor.visit(this.data, index);\n    }\n\n    /**\n      * Get a row value by position.\n      * @param index The index of the row to read. A negative index will count back from the last row.\n      */\n    public at(index: number) {\n        return this.get(wrapIndex(index, this.numRows));\n    }\n\n    /**\n     * Set a row by position.\n     * @param index The index of the row to write.\n     * @param value The value to set.\n     */\n    public set(index: number, value: Struct<T>['TValue']) {\n        return setVisitor.visit(this.data, index, value);\n    }\n\n    /**\n     * Retrieve the index of the first occurrence of a row in an RecordBatch.\n     * @param element The row to locate in the RecordBatch.\n     * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n     */\n    public indexOf(element: Struct<T>['TValue'], offset?: number): number {\n        return indexOfVisitor.visit(this.data, element, offset);\n    }\n\n    /**\n     * Iterator for rows in this RecordBatch.\n     */\n    public [Symbol.iterator]() {\n        return iteratorVisitor.visit(new Vector([this.data])) as IterableIterator<Struct<T>['TValue']>;\n    }\n\n    /**\n     * Return a JavaScript Array of the RecordBatch rows.\n     * @returns An Array of RecordBatch rows.\n     */\n    public toArray() {\n        return [...this];\n    }\n\n    /**\n     * Combines two or more RecordBatch of the same schema.\n     * @param others Additional RecordBatch to add to the end of this RecordBatch.\n     */\n    public concat(...others: RecordBatch<T>[]) {\n        return new Table(this.schema, [this, ...others]);\n    }\n\n    /**\n     * Return a zero-copy sub-section of this RecordBatch.\n     * @param start The beginning of the specified portion of the RecordBatch.\n     * @param end The end of the specified portion of the RecordBatch. This is exclusive of the row at the index 'end'.\n     */\n    public slice(begin?: number, end?: number): RecordBatch<T> {\n        const [slice] = new Vector([this.data]).slice(begin, end).data;\n        return new RecordBatch(this.schema, slice);\n    }\n\n    /**\n     * Returns a child Vector by name, or null if this Vector has no child with the given name.\n     * @param name The name of the child to retrieve.\n     */\n    public getChild<P extends keyof T>(name: P) {\n        return this.getChildAt<T[P]>(this.schema.fields?.findIndex((f) => f.name === name));\n    }\n\n    /**\n     * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n     * @param index The index of the child to retrieve.\n     */\n    public getChildAt<R extends T[keyof T] = any>(index: number): Vector<R> | null {\n        if (index > -1 && index < this.schema.fields.length) {\n            return new Vector([this.data.children[index]]) as Vector<R>;\n        }\n        return null;\n    }\n\n    /**\n     * Sets a child Vector by name.\n     * @param name The name of the child to overwrite.\n     * @returns A new RecordBatch with the new child for the specified name.\n     */\n    public setChild<P extends keyof T, R extends DataType>(name: P, child: Vector<R>) {\n        return this.setChildAt(this.schema.fields?.findIndex((f) => f.name === name), child) as RecordBatch<T & { [K in P]: R }>;\n    }\n\n    /**\n     * Sets a child Vector by index.\n     * @param index The index of the child to overwrite.\n     * @returns A new RecordBatch with the new child at the specified index.\n     */\n    public setChildAt(index: number, child?: null): RecordBatch;\n    public setChildAt<R extends DataType = any>(index: number, child: Vector<R>): RecordBatch;\n    public setChildAt(index: number, child: any) {\n        let schema: Schema = this.schema;\n        let data: Data<Struct> = this.data;\n        if (index > -1 && index < this.numCols) {\n            if (!child) {\n                child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n            }\n            const fields = schema.fields.slice() as Field<any>[];\n            const children = data.children.slice() as Data<any>[];\n            const field = fields[index].clone({ type: child.type });\n            [fields[index], children[index]] = [field, child.data[0]];\n            schema = new Schema(fields, new Map(this.schema.metadata));\n            data = makeData({ type: new Struct<T>(fields), children });\n        }\n        return new RecordBatch(schema, data);\n    }\n\n    /**\n     * Construct a new RecordBatch containing only specified columns.\n     *\n     * @param columnNames Names of columns to keep.\n     * @returns A new RecordBatch of columns matching the specified names.\n     */\n    public select<K extends keyof T = any>(columnNames: K[]) {\n        const schema = this.schema.select(columnNames);\n        const type = new Struct(schema.fields);\n        const children = [] as Data<T[K]>[];\n        for (const name of columnNames) {\n            const index = this.schema.fields.findIndex((f) => f.name === name);\n            if (~index) {\n                children[index] = this.data.children[index] as Data<T[K]>;\n            }\n        }\n        return new RecordBatch(schema, makeData({ type, length: this.numRows, children }));\n    }\n\n    /**\n     * Construct a new RecordBatch containing only columns at the specified indices.\n     *\n     * @param columnIndices Indices of columns to keep.\n     * @returns A new RecordBatch of columns matching at the specified indices.\n     */\n    public selectAt<K extends T = any>(columnIndices: number[]) {\n        const schema = this.schema.selectAt<K>(columnIndices);\n        const children = columnIndices.map((i) => this.data.children[i]).filter(Boolean);\n        const subset = makeData({ type: new Struct(schema.fields), length: this.numRows, children });\n        return new RecordBatch<{ [P in keyof K]: K[P] }>(schema, subset);\n    }\n\n    // Initialize this static property via an IIFE so bundlers don't tree-shake\n    // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n    protected static [Symbol.toStringTag] = ((proto: RecordBatch) => {\n        (proto as any)._nullCount = -1;\n        (proto as any)[Symbol.isConcatSpreadable] = true;\n        return 'RecordBatch';\n    })(RecordBatch.prototype);\n}\n\n\n/** @ignore */\nfunction ensureSameLengthData<T extends TypeMap = any>(\n    schema: Schema<T>,\n    chunks: Data<T[keyof T]>[],\n    maxLength = chunks.reduce((max, col) => Math.max(max, col.length), 0)\n) {\n    const fields = [...schema.fields];\n    const children = [...chunks] as Data<T[keyof T]>[];\n    const nullBitmapSize = ((maxLength + 63) & ~63) >> 3;\n\n    for (const [idx, field] of schema.fields.entries()) {\n        const chunk = chunks[idx];\n        if (!chunk || chunk.length !== maxLength) {\n            fields[idx] = field.clone({ nullable: true });\n            children[idx] = chunk?._changeLengthAndBackfillNullBitmap(maxLength) ?? makeData({\n                type: field.type,\n                length: maxLength,\n                nullCount: maxLength,\n                nullBitmap: new Uint8Array(nullBitmapSize)\n            });\n        }\n    }\n\n    return [\n        schema.assign(fields),\n        makeData({ type: new Struct<T>(fields), length: maxLength, children })\n    ] as [Schema<T>, Data<Struct<T>>];\n}\n\n/** @ignore */\nfunction collectDictionaries(fields: Field[], children: readonly Data[], dictionaries = new Map<number, Vector>()): Map<number, Vector> {\n    if ((fields?.length ?? 0) > 0 && (fields?.length === children?.length)) {\n        for (let i = -1, n = fields.length; ++i < n;) {\n            const { type } = fields[i];\n            const data = children[i];\n            for (const next of [data, ...(data?.dictionary?.data || [])]) {\n                collectDictionaries(type.children, next?.children, dictionaries);\n            }\n            if (DataType.isDictionary(type)) {\n                const { id } = type;\n                if (!dictionaries.has(id)) {\n                    if (data?.dictionary) {\n                        dictionaries.set(id, data.dictionary);\n                    }\n                } else if (dictionaries.get(id) !== data.dictionary) {\n                    throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n                }\n            }\n        }\n    }\n    return dictionaries;\n}\n\n/**\n * An internal class used by the `RecordBatchReader` and `RecordBatchWriter`\n * implementations to differentiate between a stream with valid zero-length\n * RecordBatches, and a stream with a Schema message, but no RecordBatches.\n * @see https://github.com/apache/arrow/pull/4373\n * @ignore\n * @private\n */\nexport class _InternalEmptyPlaceholderRecordBatch<T extends TypeMap = any> extends RecordBatch<T> {\n    constructor(schema: Schema<T>) {\n        const children = schema.fields.map((f) => makeData({ type: f.type }));\n        const data = makeData({ type: new Struct<T>(schema.fields), nullCount: 0, children });\n        super(schema, data);\n    }\n}\n", null, null, null, null, null, null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { MessageHeader } from './fb/message-header.js';\nexport { CompressionType } from './fb/compression-type.js';\n\nexport {\n    Type,\n    BufferType,\n    DateUnit,\n    TimeUnit,\n    Precision,\n    UnionMode,\n    IntervalUnit,\n    MetadataVersion,\n} from './enum.js';\n\nexport { Data, makeData } from './data.js';\nexport type { TypeMap } from './type.js';\nexport {\n    DataType,\n    Null,\n    Bool,\n    Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n    Float, Float16, Float32, Float64,\n    Utf8, LargeUtf8,\n    Binary, LargeBinary,\n    FixedSizeBinary,\n    Date_, DateDay, DateMillisecond,\n    Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n    Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n    Decimal,\n    List,\n    Struct,\n    Union, DenseUnion, SparseUnion,\n    Dictionary,\n    Interval, IntervalDayTime, IntervalYearMonth, IntervalMonthDayNano,\n    Duration, DurationSecond, DurationMillisecond, DurationMicrosecond, DurationNanosecond,\n    FixedSizeList,\n    Map_\n} from './type.js';\n\nexport { Table, makeTable, tableFromArrays } from './table.js';\nexport { Vector, makeVector } from './vector.js';\nexport { Visitor } from './visitor.js';\nexport { Schema, Field } from './schema.js';\n\nexport { MapRow } from './row/map.js';\nexport { StructRow } from './row/struct.js';\nexport type { StructRowProxy } from './row/struct.js';\n\nexport { Builder } from './builder.js';\nexport { makeBuilder, vectorFromArray, tableFromJSON, builderThroughIterable, builderThroughAsyncIterable } from './factories.js';\nexport type { BuilderOptions } from './builder.js';\nexport { BoolBuilder } from './builder/bool.js';\nexport { NullBuilder } from './builder/null.js';\nexport { DateBuilder, DateDayBuilder, DateMillisecondBuilder } from './builder/date.js';\nexport { DecimalBuilder } from './builder/decimal.js';\nexport { DictionaryBuilder } from './builder/dictionary.js';\nexport { FixedSizeBinaryBuilder } from './builder/fixedsizebinary.js';\nexport { FloatBuilder, Float16Builder, Float32Builder, Float64Builder } from './builder/float.js';\nexport { IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder } from './builder/int.js';\nexport { TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder } from './builder/time.js';\nexport { TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder } from './builder/timestamp.js';\nexport { IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder, IntervalMonthDayNanoBuilder } from './builder/interval.js';\nexport { DurationBuilder, DurationSecondBuilder, DurationMillisecondBuilder, DurationMicrosecondBuilder, DurationNanosecondBuilder } from './builder/duration.js';\nexport { Utf8Builder } from './builder/utf8.js';\nexport { LargeUtf8Builder } from './builder/largeutf8.js';\nexport { BinaryBuilder } from './builder/binary.js';\nexport { LargeBinaryBuilder } from './builder/largebinary.js';\nexport { ListBuilder } from './builder/list.js';\nexport { FixedSizeListBuilder } from './builder/fixedsizelist.js';\nexport { MapBuilder } from './builder/map.js';\nexport { StructBuilder } from './builder/struct.js';\nexport { UnionBuilder, SparseUnionBuilder, DenseUnionBuilder } from './builder/union.js';\n\nexport { ByteStream, AsyncByteStream, AsyncByteQueue } from './io/stream.js';\nexport type { ReadableSource, WritableSink } from './io/stream.js';\nexport { RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader } from './ipc/reader.js';\nexport { RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter } from './ipc/writer.js';\nexport { tableToIPC, tableFromIPC } from './ipc/serialization.js';\nexport { compressionRegistry } from './ipc/compression/registry.js';\nexport type { Codec } from './ipc/compression/registry.js';\nexport { MessageReader, AsyncMessageReader, JSONMessageReader } from './ipc/message.js';\nexport { Message } from './ipc/metadata/message.js';\nexport { RecordBatch } from './recordbatch.js';\nexport type { ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions } from './io/interfaces.js';\n\nimport * as util_bn_ from './util/bn.js';\nimport * as util_int_ from './util/int.js';\nimport * as util_bit_ from './util/bit.js';\nimport * as util_math_ from './util/math.js';\nimport * as util_buffer_ from './util/buffer.js';\nimport * as util_vector_ from './util/vector.js';\nimport * as util_pretty_ from './util/pretty.js';\n\nimport * as util_interval_ from './util/interval.js';\nexport type * from './util/interval.js';\n\nimport { compareSchemas, compareFields, compareTypes } from './visitor/typecomparator.js';\n\n/** @ignore */\nexport const util = {\n    ...util_bn_,\n    ...util_int_,\n    ...util_bit_,\n    ...util_math_,\n    ...util_buffer_,\n    ...util_vector_,\n    ...util_pretty_,\n    ...util_interval_,\n    compareSchemas,\n    compareFields,\n    compareTypes,\n};\n", "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './io/adapters.js';\nimport { Builder } from './builder.js';\nimport { RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, } from './ipc/reader.js';\nimport { RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, } from './ipc/writer.js';\nimport { toDOMStream } from './io/whatwg/iterable.js';\nimport { builderThroughDOMStream } from './io/whatwg/builder.js';\nimport { recordBatchReaderThroughDOMStream } from './io/whatwg/reader.js';\nimport { recordBatchWriterThroughDOMStream } from './io/whatwg/writer.js';\n\nstreamAdapters.toDOMStream = toDOMStream;\nBuilder['throughDOM'] = builderThroughDOMStream;\nRecordBatchReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchFileReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchStreamReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\nRecordBatchFileWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\nRecordBatchStreamWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\n\nexport type {\n    TypeMap, StructRowProxy,\n    ReadableSource, WritableSink,\n    ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions,\n    IntervalDayTimeObject, IntervalMonthDayNanoObject,\n    Codec\n} from './Arrow.js';\n\nexport {\n    DateUnit, IntervalUnit, MessageHeader, MetadataVersion, Precision, TimeUnit, Type, UnionMode, BufferType,\n    Data, makeData,\n    DataType,\n    Null,\n    Bool,\n    Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n    Float, Float16, Float32, Float64,\n    Utf8, LargeUtf8,\n    Binary, LargeBinary,\n    FixedSizeBinary,\n    Date_, DateDay, DateMillisecond,\n    Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n    Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n    Decimal,\n    List,\n    Struct, StructRow,\n    Union, DenseUnion, SparseUnion,\n    Dictionary,\n    Interval, IntervalDayTime, IntervalYearMonth, IntervalMonthDayNano,\n    Duration, DurationSecond, DurationMillisecond, DurationMicrosecond, DurationNanosecond,\n    FixedSizeList,\n    Map_, MapRow,\n    Table, makeTable, tableFromArrays,\n    Schema, Field,\n    Visitor,\n    Vector, makeVector, vectorFromArray, tableFromJSON,\n    ByteStream, AsyncByteStream, AsyncByteQueue,\n    RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader,\n    RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter,\n    tableFromIPC, tableToIPC,\n    MessageReader, AsyncMessageReader, JSONMessageReader,\n    Message,\n    RecordBatch,\n    util,\n    Builder, makeBuilder, builderThroughIterable, builderThroughAsyncIterable,\n    compressionRegistry, CompressionType\n} from './Arrow.js';\n\nexport {\n    BinaryBuilder, LargeBinaryBuilder,\n    BoolBuilder,\n    DateBuilder, DateDayBuilder, DateMillisecondBuilder,\n    DecimalBuilder,\n    DictionaryBuilder,\n    FixedSizeBinaryBuilder,\n    FixedSizeListBuilder,\n    FloatBuilder, Float16Builder, Float32Builder, Float64Builder,\n    IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder, IntervalMonthDayNanoBuilder,\n    DurationBuilder, DurationSecondBuilder, DurationMillisecondBuilder, DurationMicrosecondBuilder, DurationNanosecondBuilder,\n    IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder,\n    ListBuilder,\n    MapBuilder,\n    NullBuilder,\n    StructBuilder,\n    TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder,\n    TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder,\n    UnionBuilder, DenseUnionBuilder, SparseUnionBuilder,\n    Utf8Builder, LargeUtf8Builder\n} from './Arrow.js';\n", "// Copyright (c) 2025, California Institute of Technology and contributors\n//\n// You should have received a copy of the licensing terms for this\n// software included in the file \"LICENSE\" located in the top-level\n// directory of this package. If you did not, you can view a copy at\n// https://git.ligo.org/ngdd/arrakis-js/-/raw/main/LICENSE\n\n/**\n * GPS epoch start date (January 6, 1980 UTC)\n */\nconst GPS_EPOCH = new Date(\"1980-01-06T00:00:00Z\").getTime();\n\n/**\n * List of leap seconds added since GPS epoch\n * Source: https://data.iana.org/time-zones/tzdb/leapseconds\n */\nconst LEAP_SECONDS = [\n  \"1981-07-01\",\n  \"1982-07-01\",\n  \"1983-07-01\",\n  \"1985-07-01\",\n  \"1988-01-01\",\n  \"1990-01-01\",\n  \"1991-01-01\",\n  \"1992-07-01\",\n  \"1993-07-01\",\n  \"1994-07-01\",\n  \"1996-01-01\",\n  \"1997-07-01\",\n  \"1999-01-01\",\n  \"2006-01-01\",\n  \"2009-01-01\",\n  \"2012-07-01\",\n  \"2015-07-01\",\n  \"2017-01-01\",\n];\n\n/**\n * Calculates the number of leap seconds that have been added up to a given date\n * @param {Date} date - The date to calculate leap seconds for\n * @returns {number} The number of leap seconds added up to the given date\n */\nfunction calculateLeapSeconds(date: Date): number {\n  let totalLeapSeconds = 0;\n  for (const leapDate of LEAP_SECONDS) {\n    if (date >= new Date(leapDate)) {\n      totalLeapSeconds += 1;\n    } else {\n      break;\n    }\n  }\n  return totalLeapSeconds;\n}\n\n/**\n * Converts GPS time to Unix time (seconds since Jan 1, 1970)\n * @param {number} gpsTime - GPS time in miliseconds since Jan 6, 1980 (can be negative for times before the GPS epoch)\n * @returns {number} Unix time in miliseconds\n * @throws {Error} If gpsTime is not a valid number\n */\nexport function gpsToUnix(gpsTime: number): number {\n  if (typeof gpsTime !== \"number\" || Number.isNaN(gpsTime)) {\n    throw new Error(\"GPS time must be a valid number\");\n  }\n\n  const gpsDate = new Date(gpsTime + GPS_EPOCH);\n  const totalLeapSeconds = calculateLeapSeconds(gpsDate);\n\n  return gpsTime + GPS_EPOCH - totalLeapSeconds * 1000;\n}\n\n/**\n * Converts Unix time to GPS time (seconds since Jan 6, 1980)\n * @param {number} unixTime - Unix time in miliseconds since Jan 1, 1970\n * @returns {number} GPS time in miliseconds (can be negative for times before the GPS epoch)\n * @throws {Error} If unixTime is not a valid number\n */\nexport function unixToGps(unixTime: number): number {\n  if (typeof unixTime !== \"number\" || Number.isNaN(unixTime)) {\n    throw new Error(\"Unix time must be a valid number\");\n  }\n\n  const unixDate = new Date(unixTime);\n  const totalLeapSeconds = calculateLeapSeconds(unixDate);\n\n  return unixTime - GPS_EPOCH + totalLeapSeconds * 1000;\n}\n", "// Copyright (c) 2025, California Institute of Technology and contributors\n//\n// You should have received a copy of the licensing terms for this\n// software included in the file \"LICENSE\" located in the top-level\n// directory of this package. If you did not, you can view a copy at\n// https://git.ligo.org/ngdd/arrakis-js/-/raw/main/LICENSE\n\nimport type * as Arrow from \"apache-arrow\";\nimport { gpsToUnix } from \"./utils.js\";\n\n/**\n * Series block containing timeseries for channels for a given timestamp.\n */\nexport class SeriesBlock {\n  /**\n   * Creates a new SeriesBlock instance.\n   *\n   * @param time_ms - The GPS timestamp associated with this data, in miliseconds.\n   * @param time_ns - The GPS timestamp associated with this data, in nanoseconds.\n   * @param date - The corresponding UTC Date object\n   * @param data - Mapping between channels and timeseries.\n   * @param channels - Channel metadata associated with this data block.\n   */\n  constructor(\n    public time_ms: number,\n    public time_ns: number,\n    public date: Date,\n    public data: { [channel: string]: number[] },\n    public channels: string[],\n  ) {}\n\n  /**\n   * Creates a SeriesBlock from an Apache Arrow RecordBatch.\n   *\n   * This method extracts time-series data from an Arrow batch, converting it\n   * into a SeriesBlock format. It expects the batch to have a \"time\" column\n   * and additional columns for each data channel.\n   *\n   * @param batch - Apache Arrow RecordBatch containing the time-series data\n   * @returns A new SeriesBlock instance created from the batch data\n   *\n   * @example\n   * ```typescript\n   * const batch = // ... Arrow RecordBatch\n   * const block = SeriesBlock.fromBatch(batch);\n   * console.log(block.time_ms); // GPS time in milliseconds\n   * console.log(block.channels); // Array of channel names\n   * console.log(block.data['channel1']); // Data array for 'channel1'\n   * ```\n   */\n  static fromBatch(batch: Arrow.RecordBatch): SeriesBlock {\n    const time_ns = Number(batch.getChild(\"time\")?.get(0) ?? 0);\n    const time_ms = Number((batch.getChild(\"time\")?.get(0) ?? 0) / 1_000_000n);\n    const channels = batch.schema.fields\n      .map((field) => field.name)\n      .filter((name) => name !== \"time\");\n    const data = Object.fromEntries(\n      channels.map((channel) => [\n        channel,\n        Array.from(batch.getChild(channel)?.get(0) ?? []) as number[],\n      ]),\n    ) as { [channel: string]: number[] };\n    return new SeriesBlock(\n      time_ms,\n      time_ns,\n      new Date(gpsToUnix(time_ms)),\n      data,\n      channels,\n    );\n  }\n}\n\nfunction setsAreEqual(a: Set<string>, b: Set<string>): boolean {\n  if (a.size !== b.size) return false;\n  for (const element of a) {\n    if (!b.has(element)) return false;\n  }\n  return true;\n}\n\n/**\n * Join a sequence of SeriesBlock blocks into a single SeriesBlock.\n *\n * Each block after the first must start when the previous block ends\n * (matching timestamps as produced by sequential streaming). All blocks\n * must carry the same channel names in {@link SeriesBlock.data}.\n *\n * @param blocks - The timeseries blocks to concatenate\n * @returns The combined timeseries block starting at the first block's time\n */\nexport function concatenate(blocks: SeriesBlock[]): SeriesBlock {\n  const first = blocks[0];\n  if (blocks.length === 0 || first === undefined)\n    throw new Error(\"concatenate requires at least one block\");\n  if (blocks.length === 1) return first;\n  const channelSet = new Set(first.channels);\n  const merged: { [channel: string]: number[] } = Object.fromEntries(\n    Array.from(channelSet).map((channel: string) => [channel, []]),\n  );\n  let lastTimeMs = first.time_ms - 1;\n  for (const block of blocks) {\n    if (!setsAreEqual(new Set(block.channels), channelSet)) {\n      throw new Error(\"all blocks must contain the same channel sets\");\n    }\n    if (block.time_ms <= lastTimeMs) {\n      throw new Error(\"blocks must be in time-ascending order\");\n    }\n    for (const channel of block.channels) {\n      merged[channel].push(...block.data[channel]);\n    }\n    lastTimeMs = block.time_ms;\n  }\n  return new SeriesBlock(\n    first.time_ms,\n    first.time_ns,\n    new Date(gpsToUnix(first.time_ms)),\n    merged,\n    Array.from(channelSet),\n  );\n}\n", "// Copyright (c) 2025, California Institute of Technology and contributors\n//\n// You should have received a copy of the licensing terms for this\n// software included in the file \"LICENSE\" located in the top-level\n// directory of this package. If you did not, you can view a copy at\n// https://git.ligo.org/ngdd/arrakis-js/-/raw/main/LICENSE\n\n/**\n * Metadata associated with a channel.\n */\nexport class Channel {\n  /**\n   * Creates a new Channel instance.\n   *\n   * @param name - The name associated with this channel.\n   * @param dataType - The data type associated with this channel.\n   * @param sampleRate - The sampling rate associated with this channel.\n   * @param time - The timestamp when this metadata became active.\n   * @param publisher - The publisher associated with this channel.\n   * @param partitionID - The partition ID associated with this channel.\n   */\n  constructor(\n    public name: string,\n    public dataType: string,\n    public sampleRate: number,\n    public time: string,\n    public publisher: string,\n    public partitionID: number,\n  ) {}\n\n  /**\n   * Creates a Channel instance from a JSON object.\n   *\n   * This method converts a JSON representation of channel metadata\n   * into a Channel instance, mapping JSON field names to the\n   * corresponding Channel properties.\n   *\n   * @param json - JSON object containing channel metadata with snake_case field names\n   * @returns A new Channel instance created from the JSON data\n   *\n   * @example\n   * ```typescript\n   * const jsonData = {\n   *   name: 'L1:GW-H1_STRAIN',\n   *   data_type: 'float64',\n   *   sample_rate: 4096,\n   *   time: '2023-01-01T00:00:00Z',\n   *   publisher: 'LIGO',\n   *   partition_id: 1\n   * };\n   * const channel = Channel.fromJson(jsonData);\n   * console.log(channel.name); // 'L1:GW-H1_STRAIN'\n   * console.log(channel.sampleRate); // 4096\n   * ```\n   */\n  static fromJson(json: any): Channel {\n    return new Channel(\n      json.name,\n      json.data_type,\n      json.sample_rate,\n      json.time,\n      json.publisher,\n      json.partition_id,\n    );\n  }\n}\n\nexport type ChannelMessage = {\n  done?: boolean;\n  channel?: Channel;\n};\n", "// Copyright (c) 2025, California Institute of Technology and contributors\n//\n// You should have received a copy of the licensing terms for this\n// software included in the file \"LICENSE\" located in the top-level\n// directory of this package. If you did not, you can view a copy at\n// https://git.ligo.org/ngdd/arrakis-python/-/raw/main/LICENSE\n\nexport const DEFAULT_ARRAKIS_SERVER = \"/arrakis\";\n", "// Copyright (c) 2025, California Institute of Technology and contributors\n//\n// You should have received a copy of the licensing terms for this\n// software included in the file \"LICENSE\" located in the top-level\n// directory of this package. If you did not, you can view a copy at\n// https://git.ligo.org/ngdd/arrakis-js/-/raw/main/LICENSE\nimport * as Arrow from \"apache-arrow\";\nimport { concatenate, SeriesBlock } from \"./block.js\";\nimport { Channel, type ChannelMessage } from \"./channel.js\";\nimport { DEFAULT_ARRAKIS_SERVER } from \"./constants.js\";\n\n/**\n * Client to fetch or publish timeseries.\n *\n * @param url - The URL to connect to.\n *              If the URL is not set, connect to a default server\n *              or one set by ARRAKIS_SERVER.\n */\nexport default class Client {\n  /** The URL to connect to the Arrakis server */\n  public readonly initialUrl: string;\n\n  /**\n   * Creates a new Client instance.\n   *\n   * @param url - The URL to connect to. If not provided, will use the ARRAKIS_SERVER\n   *              environment variable or default to /arrakis\n   */\n  constructor(url?: string | null) {\n    this.initialUrl = Client.parseUrl(url);\n  }\n\n  /**\n   * Count channels matching a set of conditions\n   *\n   * @param {string} [pattern] - Channel pattern to match channels with, using regular expressions\n   * @param {string|Array<string>} [dataType] - If set, find all channels with these data types\n   * @param {number} [minRate] - Minimum sample rate for channels\n   * @param {number} [maxRate] - Maximum sample rate for channels\n   * @param {string|Array<string>} [publisher] - If set, find all channels associated with these publishers\n   * @returns {Promise<number>} A promise that resolves to the number of channels matching query\n   */\n  async count(\n    pattern?: string,\n    dataType?: string | Array<string>,\n    minRate?: number,\n    maxRate?: number,\n    publisher?: string | Array<string>,\n  ): Promise<number> {\n    const params = new URLSearchParams();\n    if (pattern) params.append(\"pattern\", pattern);\n    if (dataType) {\n      if (Array.isArray(dataType)) {\n        params.append(\"dataType\", dataType.join(\",\"));\n      } else {\n        params.append(\"dataType\", dataType);\n      }\n    }\n    if (minRate) params.append(\"minRate\", minRate.toString());\n    if (maxRate) params.append(\"maxRate\", maxRate.toString());\n    if (publisher) {\n      if (Array.isArray(publisher)) {\n        params.append(\"publisher\", publisher.join(\",\"));\n      } else {\n        params.append(\"publisher\", publisher);\n      }\n    }\n    const countUrl = `${this.initialUrl}/count?${params.toString()}`;\n    const response = await fetch(countUrl);\n    if (!response.ok) {\n      throw new Error(await Client.fetchErrorMessage(response));\n    }\n    const body = await response.json();\n    return body.count;\n  }\n\n  /**\n   * Find channels matching a set of conditions and stream results via Server-Sent Events (SSE)\n   *\n   * @param {string} [pattern] - Channel pattern to match channels with, using regular expressions\n   * @param {string|Array<string>} [dataType] - If set, find all channels with these data types\n   * @param {number} [minRate] - Minimum sample rate for channels\n   * @param {number} [maxRate] - Maximum sample rate for channels\n   * @param {string|Array<string>} [publisher] - If set, find all channels associated with these publishers\n   * @returns {AsyncGenerator<Channel>} An async generator that yields channel objects as they are received via SSE\n   */\n  async *find(\n    pattern?: string,\n    dataType?: string | Array<string>,\n    minRate?: number,\n    maxRate?: number,\n    publisher?: string | Array<string>,\n  ): AsyncGenerator<Channel> {\n    // Build query parameters\n    const params = new URLSearchParams();\n    if (pattern) params.append(\"pattern\", pattern);\n    if (dataType) {\n      if (Array.isArray(dataType)) {\n        params.append(\"dataType\", dataType.join(\",\"));\n      } else {\n        params.append(\"dataType\", dataType);\n      }\n    }\n    if (minRate) params.append(\"minRate\", minRate.toString());\n    if (maxRate) params.append(\"maxRate\", maxRate.toString());\n    if (publisher) {\n      if (Array.isArray(publisher)) {\n        params.append(\"publisher\", publisher.join(\",\"));\n      } else {\n        params.append(\"publisher\", publisher);\n      }\n    }\n    const findUrl = `${this.initialUrl}/find?${params.toString()}`;\n\n    const eventSource = new EventSource(findUrl);\n    let done = false;\n\n    // Queue to store channels as they arrive\n    const channelQueue: Channel[] = [];\n\n    eventSource.onmessage = (e) => {\n      const message: ChannelMessage = JSON.parse(e.data);\n      if (message.done) {\n        done = true;\n        eventSource.close();\n        return;\n      }\n      if (message.channel) {\n        const channel = Channel.fromJson(message.channel);\n        channelQueue.push(channel);\n      }\n    };\n\n    eventSource.onerror = (err: Event) => {\n      console.error(\"SSE connection error:\", err);\n      eventSource.close();\n      done = true;\n    };\n\n    try {\n      while (!done || channelQueue.length > 0) {\n        if (channelQueue.length > 0) {\n          // Yield the next channel from the queue\n          yield channelQueue.shift() as Channel;\n        } else if (!done) {\n          // Wait for channels to arrive by yielding control back to the event loop\n          await new Promise((resolve) => setTimeout(resolve, 0));\n        }\n      }\n    } finally {\n      eventSource.close();\n    }\n  }\n\n  /**\n   * Stream timeseries data for a list of channels within a time range\n   *\n   * @param {string[]} channels - A list of channels to request\n   * @param {number} [start] - GPS start time, in seconds; streams from now if omitted\n   * @param {number} [end] - GPS end time, in seconds; streams indefinitely if omitted\n   * @returns {AsyncGenerator<SeriesBlock>} An async generator yielding `SeriesBlock`s as they stream in\n   */\n  async *stream(\n    channels: string[],\n    start?: number,\n    end?: number,\n  ): AsyncGenerator<SeriesBlock> {\n    const params = new URLSearchParams();\n    params.append(\"channels\", channels.join(\",\"));\n    if (start !== undefined) params.append(\"start\", start.toString());\n    if (end !== undefined) params.append(\"end\", end.toString());\n\n    // Create a stream reader for Arrow record batches\n    const response = await fetch(\n      `${this.initialUrl}/stream?${params.toString()}`,\n    );\n    if (!response.ok) {\n      throw new Error(await Client.fetchErrorMessage(response));\n    }\n    if (!response.body)\n      throw new Error(\"Failed to fetch data: empty response body\");\n    const reader = await Arrow.RecordBatchStreamReader.from(response.body);\n    for await (const batch of reader) {\n      yield SeriesBlock.fromBatch(batch);\n    }\n  }\n\n  /**\n   * Fetch timeseries data for a list of channels within a time range\n   *\n   * @param {string[]} channels - A list of channels to request\n   * @param {number} start - GPS start time, in seconds\n   * @param {number} end - GPS end time, in seconds\n   * @returns {Promise<SeriesBlock>} A promise that resolves to the block of timeseries data\n   */\n  async fetch(\n    channels: string[],\n    start: number,\n    end: number,\n  ): Promise<SeriesBlock> {\n    const params = new URLSearchParams();\n    params.append(\"channels\", channels.join(\",\"));\n    params.append(\"start\", start.toString());\n    params.append(\"end\", end.toString());\n\n    const series = this.stream(channels, start, end);\n    const blocks: SeriesBlock[] = [];\n    for await (const block of series) {\n      blocks.push(block);\n    }\n    return concatenate(blocks);\n  }\n\n  /**\n   * Get channel metadata for channels requested\n   *\n   * @param {string[]} channels - List of channels to request\n   * @returns {Promise<Record<string, Channel>>} A promise that resolves to a mapping of channel names to channel metadata\n   */\n  async describe(channels: string[]): Promise<Record<string, Channel>> {\n    const params = new URLSearchParams();\n    params.append(\"channels\", channels.join(\",\"));\n\n    const response = await fetch(\n      `${this.initialUrl}/describe?${params.toString()}`,\n    );\n    if (!response.ok) {\n      throw new Error(await Client.fetchErrorMessage(response));\n    }\n    const responseBody = await response.json();\n\n    const result: Record<string, Channel> = {};\n    for (const [name, data] of Object.entries(responseBody)) {\n      result[name] = Channel.fromJson(data);\n    }\n    return result;\n  }\n\n  /**\n   * Build a human-readable message from a failed HTTP response (JSON `{ detail }` or raw body).\n   */\n  private static async fetchErrorMessage(response: Response): Promise<string> {\n    const statusLine = `(${response.status}${response.statusText ? ` ${response.statusText}` : \"\"})`;\n    const text = await response.text();\n    let message = statusLine;\n    if (text) {\n      try {\n        const data = JSON.parse(text) as { detail?: unknown };\n        if (data && typeof data === \"object\" && data.detail != null) {\n          message = `${statusLine} ${data.detail as string}`;\n        }\n      } catch {\n        message = `${statusLine}: ${text.length > 300 ? `${text.slice(0, 300)}\u2026` : text}`;\n      }\n    }\n    return message;\n  }\n\n  /**\n   * Parses and validates a URL, falling back to environment variable or default server\n   * @param {string | null | undefined} url - The URL to parse, or null/undefined to use environment/default\n   * @returns {string} The parsed and validated URL\n   */\n  private static parseUrl(url?: string | null): string {\n    // If URL is provided, validate and return it\n    if (url) {\n      try {\n        new URL(url);\n        return url;\n      } catch (_error) {\n        throw new Error(`Invalid URL provided: ${url}`);\n      }\n    }\n\n    // Check for ARRAKIS_SERVER environment variable (Node.js)\n    if (\n      typeof process !== \"undefined\" &&\n      process.env &&\n      process.env.ARRAKIS_SERVER\n    ) {\n      const envUrl = process.env.ARRAKIS_SERVER;\n      try {\n        new URL(envUrl);\n        return envUrl;\n      } catch (_error) {\n        console.warn(\n          `Invalid ARRAKIS_SERVER environment variable: ${envUrl}, using default`,\n        );\n      }\n    }\n\n    // Return default server\n    return DEFAULT_ARRAKIS_SERVER;\n  }\n}\n", "// Copyright (c) 2025, California Institute of Technology and contributors\n//\n// You should have received a copy of the licensing terms for this\n// software included in the file \"LICENSE\" located in the top-level\n// directory of this package. If you did not, you can view a copy at\n// https://git.ligo.org/ngdd/arrakis-js/-/raw/main/LICENSE\n\nimport type { SeriesBlock } from \"./block.js\";\nimport type { Channel } from \"./channel.js\";\nimport Client from \"./client.js\";\n\n/**\n * Count channels matching a set of conditions\n *\n * @param {string} [pattern] - Channel pattern to match channels with, using regular expressions\n * @param {string|Array<string>} [dataType] - If set, find all channels with these data types\n * @param {number} [minRate] - Minimum sample rate for channels\n * @param {number} [maxRate] - Maximum sample rate for channels\n * @param {string|Array<string>} [publisher] - If set, find all channels associated with these publishers\n * @returns {Promise<number>} A promise that resolves to the number of channels matching query\n */\nexport async function count(\n  pattern?: string,\n  dataType?: string | Array<string>,\n  minRate?: number,\n  maxRate?: number,\n  publisher?: string | Array<string>,\n): Promise<number> {\n  const client = new Client();\n  return client.count(pattern, dataType, minRate, maxRate, publisher);\n}\n\n/**\n * Find channels matching a set of conditions and stream results via Server-Sent Events (SSE)\n *\n * @param {string} [pattern] - Channel pattern to match channels with, using regular expressions\n * @param {string|Array<string>} [dataType] - If set, find all channels with these data types\n * @param {number} [minRate] - Minimum sample rate for channels\n * @param {number} [maxRate] - Maximum sample rate for channels\n * @param {string|Array<string>} [publisher] - If set, find all channels associated with these publishers\n * @returns {AsyncGenerator<Channel>} An async generator that yields channel objects as they are received via SSE\n */\nexport async function* find(\n  pattern?: string,\n  dataType?: string | Array<string>,\n  minRate?: number,\n  maxRate?: number,\n  publisher?: string | Array<string>,\n): AsyncGenerator<Channel> {\n  const client = new Client();\n  yield* client.find(pattern, dataType, minRate, maxRate, publisher);\n}\n\n/**\n * Stream timeseries data for a list of channels within a time range\n *\n * @param {string[]} channels - A list of channels to request\n * @param {number} [start] - GPS start time, in seconds; streams from now if omitted\n * @param {number} [end] - GPS end time, in seconds; streams indefinitely if omitted\n * @returns {AsyncGenerator<SeriesBlock>} An async generator yielding `SeriesBlock`s as they stream in\n */\nexport async function* stream(\n  channels: string[],\n  start?: number,\n  end?: number,\n): AsyncGenerator<SeriesBlock> {\n  const client = new Client();\n  yield* client.stream(channels, start, end);\n}\n\n/**\n * Fetch timeseries data for a list of channels within a time range\n *\n * @param {string[]} channels - A list of channels to request\n * @param {number} start - GPS start time, in seconds\n * @param {number} end - GPS end time, in seconds\n * @returns {Promise<SeriesBlock>} A promise that resolves to the block of timeseries data\n */\nexport async function fetch(\n  channels: string[],\n  start: number,\n  end: number,\n): Promise<SeriesBlock> {\n  const client = new Client();\n  return client.fetch(channels, start, end);\n}\n\n/**\n * Get channel metadata for channels requested\n *\n * @param {string[]} channels - List of channels to request\n * @returns {Promise<Record<string, Channel>>} A promise that resolves to a mapping of channel names to channel metadata\n */\nexport async function describe(\n  channels: string[],\n): Promise<Record<string, Channel>> {\n  const client = new Client();\n  return client.describe(channels);\n}\n"],
  "mappings": "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",
  "names": ["fetch", "v", "source", "pump", "stream", "events", "err", "MetadataVersion", "UnionMode", "Precision", "DateUnit", "TimeUnit", "IntervalUnit", "Encoding", "BodyCompressionMethod", "CompressionType", "Buffer", "Buffer", "Endianness", "DictionaryKind", "Date", "Map", "Type", "MessageHeader", "Type", "BufferType", "x", "Type", "Null", "Type", "Binary", "LargeBinary", "Utf8", "LargeUtf8", "Bool", "Decimal", "Type", "Type", "Type", "Duration", "Type", "List", "Type", "FixedSizeBinary", "Type", "FixedSizeList", "Type", "_a", "instance", "instance", "_a", "instance", "getBool", "setBool", "byteLength", "nullCount", "Type", "length", "getBool", "Type", "instance", "instance", "_b", "_d", "_c", "Type", "instance", "begin", "end", "newData", "_a", "Builder", "size", "_a", "_b", "_c", "_d", "Schema", "Field", "Builder", "ByteBuffer", "Schema", "Date", "Map", "instance", "Schema", "RecordBatch", "DictionaryBatch", "Field", "FieldNode", "Null", "Binary", "LargeBinary", "Utf8", "LargeUtf8", "Bool", "List", "Decimal", "Duration", "FixedSizeBinary", "FixedSizeList", "Builder", "ByteBuffer", "Message", "Schema", "RecordBatch", "DictionaryBatch", "FieldNode", "BodyCompression", "Field", "Null", "Binary", "LargeBinary", "Utf8", "LargeUtf8", "Bool", "List", "Decimal", "Date", "Duration", "FixedSizeBinary", "FixedSizeList", "Map", "instance", "Buffer", "_d", "_e", "_f", "_a", "_c", "Int64", "Uint64", "_a", "_b", "Field", "Int64", "Builder", "Builder", "Builder", "FixedSizeList", "Field", "List", "Field", "Field", "Builder", "Builder", "Field", "Builder", "Field", "instance", "instance", "instance", "type", "RecordBatch", "_a", "Schema", "RecordBatch", "Field", "batches", "_c", "_b", "instance", "data", "Null", "indices", "oldToNew", "_a", "Type", "RecordBatch", "Schema", "Field", "instance", "_b", "Null", "_a", "_c", "Message", "_a", "_a", "_d", "_e", "_f", "_c", "RecordBatch", "DictionaryBatch", "RecordBatch", "FieldNode", "_a", "BodyCompression", "RecordBatch", "Message", "DictionaryBatch", "_a", "_b", "_a", "_b", "_d", "it", "_a", "reader", "Builder", "fetch"]
}
