@jitl/opentui-core 0.1.97 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/NativeSpanFeed.d.ts +2 -2
  2. package/README.md +2 -1
  3. package/Renderable.d.ts +12 -1
  4. package/audio.d.ts +89 -0
  5. package/buffer.d.ts +6 -5
  6. package/console.d.ts +3 -1
  7. package/edit-buffer.d.ts +1 -1
  8. package/editor-view.d.ts +1 -1
  9. package/{index-yxe6e14n.js → index-46f5e8m6.js} +1388 -1721
  10. package/index-46f5e8m6.js.map +36 -0
  11. package/index-5zwezmgj.js +639 -0
  12. package/index-5zwezmgj.js.map +11 -0
  13. package/index-axv7cw60.js +44 -0
  14. package/index-axv7cw60.js.map +10 -0
  15. package/{index-rhfjv9c1.js → index-g9agybj3.js} +4626 -984
  16. package/index-g9agybj3.js.map +82 -0
  17. package/index-k18nf2r7.js +21 -0
  18. package/{ffi-x3zvcksd.js.map → index-k18nf2r7.js.map} +1 -1
  19. package/{index-tkk6cmr2.js → index-rp7vz5rh.js} +125 -23
  20. package/index-rp7vz5rh.js.map +10 -0
  21. package/{index-kcpn1hka.js → index-xwsdfq5x.js} +16 -6
  22. package/index-xwsdfq5x.js.map +10 -0
  23. package/index.d.ts +1 -0
  24. package/index.js +37 -17
  25. package/index.js.map +1 -1
  26. package/lib/RGBA.d.ts +22 -6
  27. package/lib/clipboard.d.ts +1 -1
  28. package/lib/{keymapping.d.ts → keybinding.internal.d.ts} +10 -2
  29. package/lib/objects-in-viewport.d.ts +4 -4
  30. package/lib/parse.keypress-kitty.d.ts +1 -0
  31. package/lib/parse.keypress.d.ts +1 -0
  32. package/lib/render-geometry.d.ts +8 -0
  33. package/lib/stdin-parser.d.ts +4 -1
  34. package/lib/terminal-capability-detection.d.ts +2 -0
  35. package/lib/terminal-palette.d.ts +20 -5
  36. package/lib/tree-sitter/assets/update.d.ts +1 -0
  37. package/lib/tree-sitter/client.d.ts +2 -0
  38. package/lib/tree-sitter/default-parsers.d.ts +1 -1
  39. package/lib/tree-sitter/index.d.ts +0 -2
  40. package/lib/tree-sitter/update-assets.d.ts +3 -0
  41. package/lib/tree-sitter/update-assets.js +377 -0
  42. package/lib/tree-sitter/update-assets.js.map +12 -0
  43. package/lib/tree-sitter-styled-text.d.ts +6 -4
  44. package/node22-bun-ffi-structs-ha8fmzzb.js +396 -0
  45. package/node22-bun-ffi-structs-ha8fmzzb.js.map +10 -0
  46. package/package.json +23 -22
  47. package/parser.worker.js +161 -24
  48. package/parser.worker.js.map +12 -5
  49. package/platform/bun-ffi-structs.d.ts +2 -0
  50. package/platform/ffi.d.ts +126 -0
  51. package/platform/node22-bun-ffi-structs.d.ts +33 -0
  52. package/platform/node22-ffi.d.ts +33 -0
  53. package/{compat → platform}/runtime.d.ts +6 -0
  54. package/platform/worker.d.ts +4 -0
  55. package/renderables/Code.d.ts +4 -0
  56. package/renderables/Markdown.d.ts +62 -0
  57. package/renderables/ScrollBox.d.ts +1 -0
  58. package/renderables/Select.d.ts +3 -1
  59. package/renderables/TabSelect.d.ts +3 -1
  60. package/renderables/TextBufferRenderable.d.ts +1 -0
  61. package/renderables/TextTable.d.ts +15 -1
  62. package/renderables/Textarea.d.ts +5 -3
  63. package/renderables/markdown-parser.d.ts +1 -0
  64. package/renderer-theme-mode.d.ts +29 -0
  65. package/renderer.d.ts +142 -16
  66. package/runtime-plugin-support-configure.d.ts +4 -0
  67. package/runtime-plugin-support-configure.js +20 -0
  68. package/{index-re3ntm60.js.map → runtime-plugin-support-configure.js.map} +1 -1
  69. package/runtime-plugin-support.d.ts +3 -3
  70. package/runtime-plugin-support.js +9 -18
  71. package/runtime-plugin-support.js.map +3 -3
  72. package/runtime-plugin.d.ts +1 -4
  73. package/runtime-plugin.js +5 -5
  74. package/syntax-style.d.ts +11 -3
  75. package/testing/terminal-capabilities.d.ts +7 -0
  76. package/testing/test-recorder.d.ts +6 -6
  77. package/testing/test-renderer.d.ts +34 -2
  78. package/testing.d.ts +2 -0
  79. package/testing.js +329 -23
  80. package/testing.js.map +7 -5
  81. package/text-buffer-view.d.ts +2 -1
  82. package/text-buffer.d.ts +1 -1
  83. package/types.d.ts +33 -1
  84. package/zig-structs.d.ts +111 -20
  85. package/zig.d.ts +57 -7
  86. package/3d/SpriteResourceManager.d.ts +0 -74
  87. package/3d/SpriteUtils.d.ts +0 -13
  88. package/3d/TextureUtils.d.ts +0 -24
  89. package/3d/ThreeRenderable.d.ts +0 -40
  90. package/3d/WGPURenderer.d.ts +0 -61
  91. package/3d/animation/ExplodingSpriteEffect.d.ts +0 -71
  92. package/3d/animation/PhysicsExplodingSpriteEffect.d.ts +0 -76
  93. package/3d/animation/SpriteAnimator.d.ts +0 -124
  94. package/3d/animation/SpriteParticleGenerator.d.ts +0 -62
  95. package/3d/canvas.d.ts +0 -44
  96. package/3d/index.d.ts +0 -12
  97. package/3d/physics/PlanckPhysicsAdapter.d.ts +0 -19
  98. package/3d/physics/RapierPhysicsAdapter.d.ts +0 -19
  99. package/3d/physics/physics-interface.d.ts +0 -27
  100. package/3d.d.ts +0 -2
  101. package/3d.js +0 -33843
  102. package/3d.js.map +0 -155
  103. package/Worker-vajwjk0s.js +0 -94
  104. package/Worker-vajwjk0s.js.map +0 -10
  105. package/compat/FFIType.d.ts +0 -304
  106. package/compat/Worker.d.ts +0 -1
  107. package/compat/bun-ffi-structs.d.ts +0 -2
  108. package/compat/ffi.d.ts +0 -86
  109. package/compat/nodejs/Worker.d.ts +0 -16
  110. package/compat/nodejs/bun-ffi-structs/index.d.ts +0 -46
  111. package/compat/nodejs/ffi.d.ts +0 -21
  112. package/compat/nodejs/registerResolveJs.d.ts +0 -1
  113. package/compat/nodejs/runtime.d.ts +0 -7
  114. package/compat/nodejs/test.d.ts +0 -4
  115. package/compat/nodejs/trampoline.worker.d.ts +0 -1
  116. package/compat/test.d.ts +0 -1
  117. package/compat/testHelpers.d.ts +0 -18
  118. package/ffi-x3zvcksd.js +0 -25
  119. package/index-5yqvbmcz.js +0 -220
  120. package/index-5yqvbmcz.js.map +0 -10
  121. package/index-bnfz2g63.js +0 -654
  122. package/index-bnfz2g63.js.map +0 -10
  123. package/index-cbvybypy.js +0 -43
  124. package/index-cbvybypy.js.map +0 -10
  125. package/index-kcpn1hka.js.map +0 -10
  126. package/index-re3ntm60.js +0 -51
  127. package/index-rhfjv9c1.js.map +0 -70
  128. package/index-tkk6cmr2.js.map +0 -10
  129. package/index-yxe6e14n.js.map +0 -42
  130. package/runtime-hdpkc6qf.js +0 -220
  131. package/runtime-hdpkc6qf.js.map +0 -17
  132. /package/{compat/nodejs/registerBun.d.ts → native-event-worker-repro.worker.d.ts} +0 -0
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../node_modules/.bun/bun-ffi-structs@0.1.2+1fb4c65d43e298b9/node_modules/bun-ffi-structs/index.js"],
4
- "sourcesContent": [
5
- "// src/structs_ffi.ts\nimport { ptr, toArrayBuffer } from \"bun:ffi\";\nfunction fatalError(...args) {\n const message = args.join(\" \");\n console.error(\"FATAL ERROR:\", message);\n throw new Error(message);\n}\nvar pointerSize = process.arch === \"x64\" || process.arch === \"arm64\" ? 8 : 4;\nvar typeSizes = {\n u8: 1,\n bool_u8: 1,\n bool_u32: 4,\n u16: 2,\n i16: 2,\n u32: 4,\n u64: 8,\n f32: 4,\n f64: 8,\n pointer: pointerSize,\n i32: 4\n};\nvar primitiveKeys = Object.keys(typeSizes);\nfunction isPrimitiveType(type) {\n return typeof type === \"string\" && primitiveKeys.includes(type);\n}\nvar typeAlignments = { ...typeSizes };\nvar typeGetters = {\n u8: (view, offset) => view.getUint8(offset),\n bool_u8: (view, offset) => Boolean(view.getUint8(offset)),\n bool_u32: (view, offset) => Boolean(view.getUint32(offset, true)),\n u16: (view, offset) => view.getUint16(offset, true),\n i16: (view, offset) => view.getInt16(offset, true),\n u32: (view, offset) => view.getUint32(offset, true),\n u64: (view, offset) => view.getBigUint64(offset, true),\n f32: (view, offset) => view.getFloat32(offset, true),\n f64: (view, offset) => view.getFloat64(offset, true),\n i32: (view, offset) => view.getInt32(offset, true),\n pointer: (view, offset) => pointerSize === 8 ? view.getBigUint64(offset, true) : BigInt(view.getUint32(offset, true))\n};\nfunction objectPtr() {\n return {\n __type: \"objectPointer\"\n };\n}\nfunction isObjectPointerDef(type) {\n return typeof type === \"object\" && type !== null && type.__type === \"objectPointer\";\n}\nfunction allocStruct(structDef, options) {\n const buffer = new ArrayBuffer(structDef.size);\n const view = new DataView(buffer);\n const result = { buffer, view };\n const { pack: pointerPacker } = primitivePackers(\"pointer\");\n if (options?.lengths) {\n const subBuffers = {};\n for (const [arrayFieldName, length] of Object.entries(options.lengths)) {\n const arrayMeta = structDef.arrayFields.get(arrayFieldName);\n if (!arrayMeta) {\n throw new Error(`Field '${arrayFieldName}' is not an array field with a lengthOf field`);\n }\n const subBuffer = new ArrayBuffer(length * arrayMeta.elementSize);\n subBuffers[arrayFieldName] = subBuffer;\n const pointer = length > 0 ? ptr(subBuffer) : null;\n pointerPacker(view, arrayMeta.arrayOffset, pointer);\n arrayMeta.lengthPack(view, arrayMeta.lengthOffset, length);\n }\n if (Object.keys(subBuffers).length > 0) {\n result.subBuffers = subBuffers;\n }\n }\n return result;\n}\nfunction alignOffset(offset, align) {\n return offset + (align - 1) & ~(align - 1);\n}\nfunction enumTypeError(value) {\n throw new TypeError(`Invalid enum value: ${value}`);\n}\nfunction defineEnum(mapping, base = \"u32\") {\n const reverse = Object.fromEntries(Object.entries(mapping).map(([k, v]) => [v, k]));\n return {\n __type: \"enum\",\n type: base,\n to(value) {\n return typeof value === \"number\" ? value : mapping[value] ?? enumTypeError(String(value));\n },\n from(value) {\n return reverse[value] ?? enumTypeError(String(value));\n },\n enum: mapping\n };\n}\nfunction isEnum(type) {\n return typeof type === \"object\" && type.__type === \"enum\";\n}\nfunction isStruct(type) {\n return typeof type === \"object\" && type.__type === \"struct\";\n}\nfunction primitivePackers(type) {\n let pack;\n let unpack;\n switch (type) {\n case \"u8\":\n pack = (view, off, val) => view.setUint8(off, val);\n unpack = (view, off) => view.getUint8(off);\n break;\n case \"bool_u8\":\n pack = (view, off, val) => view.setUint8(off, val ? 1 : 0);\n unpack = (view, off) => Boolean(view.getUint8(off));\n break;\n case \"bool_u32\":\n pack = (view, off, val) => view.setUint32(off, val ? 1 : 0, true);\n unpack = (view, off) => Boolean(view.getUint32(off, true));\n break;\n case \"u16\":\n pack = (view, off, val) => view.setUint16(off, val, true);\n unpack = (view, off) => view.getUint16(off, true);\n break;\n case \"i16\":\n pack = (view, off, val) => view.setInt16(off, val, true);\n unpack = (view, off) => view.getInt16(off, true);\n break;\n case \"u32\":\n pack = (view, off, val) => view.setUint32(off, val, true);\n unpack = (view, off) => view.getUint32(off, true);\n break;\n case \"i32\":\n pack = (view, off, val) => view.setInt32(off, val, true);\n unpack = (view, off) => view.getInt32(off, true);\n break;\n case \"u64\":\n pack = (view, off, val) => view.setBigUint64(off, BigInt(val), true);\n unpack = (view, off) => view.getBigUint64(off, true);\n break;\n case \"f32\":\n pack = (view, off, val) => view.setFloat32(off, val, true);\n unpack = (view, off) => view.getFloat32(off, true);\n break;\n case \"f64\":\n pack = (view, off, val) => view.setFloat64(off, val, true);\n unpack = (view, off) => view.getFloat64(off, true);\n break;\n case \"pointer\":\n pack = (view, off, val) => {\n pointerSize === 8 ? view.setBigUint64(off, val ? BigInt(val) : 0n, true) : view.setUint32(off, val ? Number(val) : 0, true);\n };\n unpack = (view, off) => {\n const bint = pointerSize === 8 ? view.getBigUint64(off, true) : BigInt(view.getUint32(off, true));\n return Number(bint);\n };\n break;\n default:\n fatalError(`Unsupported primitive type: ${type}`);\n }\n return { pack, unpack };\n}\nvar { pack: pointerPacker, unpack: pointerUnpacker } = primitivePackers(\"pointer\");\nfunction packObjectArray(val) {\n const buffer = new ArrayBuffer(val.length * pointerSize);\n const bufferView = new DataView(buffer);\n for (let i = 0;i < val.length; i++) {\n const instance = val[i];\n const ptrValue = instance?.ptr ?? null;\n pointerPacker(bufferView, i * pointerSize, ptrValue);\n }\n return bufferView;\n}\nvar encoder = new TextEncoder;\nvar decoder = new TextDecoder;\nfunction defineStruct(fields, structDefOptions) {\n let offset = 0;\n let maxAlign = 1;\n const layout = [];\n const lengthOfFields = {};\n const lengthOfRequested = [];\n const arrayFieldsMetadata = {};\n for (const [name, typeOrStruct, options = {}] of fields) {\n if (options.condition && !options.condition()) {\n continue;\n }\n let size = 0, align = 0;\n let pack;\n let unpack;\n let needsLengthOf = false;\n let lengthOfDef = null;\n if (isPrimitiveType(typeOrStruct)) {\n size = typeSizes[typeOrStruct];\n align = typeAlignments[typeOrStruct];\n ({ pack, unpack } = primitivePackers(typeOrStruct));\n } else if (typeof typeOrStruct === \"string\" && typeOrStruct === \"cstring\") {\n size = pointerSize;\n align = pointerSize;\n pack = (view, off, val) => {\n const bufPtr = val ? ptr(encoder.encode(val + \"\\x00\")) : null;\n pointerPacker(view, off, bufPtr);\n };\n unpack = (view, off) => {\n const ptrVal = pointerUnpacker(view, off);\n return ptrVal;\n };\n } else if (typeof typeOrStruct === \"string\" && typeOrStruct === \"char*\") {\n size = pointerSize;\n align = pointerSize;\n pack = (view, off, val) => {\n const bufPtr = val ? ptr(encoder.encode(val)) : null;\n pointerPacker(view, off, bufPtr);\n };\n unpack = (view, off) => {\n const ptrVal = pointerUnpacker(view, off);\n return ptrVal;\n };\n needsLengthOf = true;\n } else if (isEnum(typeOrStruct)) {\n const base = typeOrStruct.type;\n size = typeSizes[base];\n align = typeAlignments[base];\n const { pack: packEnum } = primitivePackers(base);\n pack = (view, off, val) => {\n const num = typeOrStruct.to(val);\n packEnum(view, off, num);\n };\n unpack = (view, off) => {\n const raw = typeGetters[base](view, off);\n return typeOrStruct.from(raw);\n };\n } else if (isStruct(typeOrStruct)) {\n if (options.asPointer === true) {\n size = pointerSize;\n align = pointerSize;\n pack = (view, off, val, obj, options2) => {\n if (!val) {\n pointerPacker(view, off, null);\n return;\n }\n const nestedBuf = typeOrStruct.pack(val, options2);\n pointerPacker(view, off, ptr(nestedBuf));\n };\n unpack = (view, off) => {\n throw new Error(\"Not implemented yet\");\n };\n } else {\n size = typeOrStruct.size;\n align = typeOrStruct.align;\n pack = (view, off, val, obj, options2) => {\n const nestedBuf = typeOrStruct.pack(val, options2);\n const nestedView = new Uint8Array(nestedBuf);\n const dView = new Uint8Array(view.buffer);\n dView.set(nestedView, off);\n };\n unpack = (view, off) => {\n const slice = view.buffer.slice(off, off + size);\n return typeOrStruct.unpack(slice);\n };\n }\n } else if (isObjectPointerDef(typeOrStruct)) {\n size = pointerSize;\n align = pointerSize;\n pack = (view, off, value) => {\n const ptrValue = value?.ptr ?? null;\n if (ptrValue === undefined) {\n console.warn(`Field '${name}' expected object with '.ptr' property, but got undefined pointer value from:`, value);\n pointerPacker(view, off, null);\n } else {\n pointerPacker(view, off, ptrValue);\n }\n };\n unpack = (view, off) => {\n return pointerUnpacker(view, off);\n };\n } else if (Array.isArray(typeOrStruct) && typeOrStruct.length === 1 && typeOrStruct[0] !== undefined) {\n const [def] = typeOrStruct;\n size = pointerSize;\n align = pointerSize;\n let arrayElementSize;\n if (isEnum(def)) {\n arrayElementSize = typeSizes[def.type];\n pack = (view, off, val, obj) => {\n if (!val || val.length === 0) {\n pointerPacker(view, off, null);\n return;\n }\n const buffer = new ArrayBuffer(val.length * arrayElementSize);\n const bufferView = new DataView(buffer);\n for (let i = 0;i < val.length; i++) {\n const num = def.to(val[i]);\n bufferView.setUint32(i * arrayElementSize, num, true);\n }\n pointerPacker(view, off, ptr(buffer));\n };\n unpack = null;\n needsLengthOf = true;\n lengthOfDef = def;\n } else if (isStruct(def)) {\n arrayElementSize = def.size;\n pack = (view, off, val, obj, options2) => {\n if (!val || val.length === 0) {\n pointerPacker(view, off, null);\n return;\n }\n const buffer = new ArrayBuffer(val.length * arrayElementSize);\n const bufferView = new DataView(buffer);\n for (let i = 0;i < val.length; i++) {\n def.packInto(val[i], bufferView, i * arrayElementSize, options2);\n }\n pointerPacker(view, off, ptr(buffer));\n };\n unpack = (view, off) => {\n throw new Error(\"Not implemented yet\");\n };\n } else if (isPrimitiveType(def)) {\n arrayElementSize = typeSizes[def];\n const { pack: primitivePack } = primitivePackers(def);\n pack = (view, off, val) => {\n if (!val || val.length === 0) {\n pointerPacker(view, off, null);\n return;\n }\n const buffer = new ArrayBuffer(val.length * arrayElementSize);\n const bufferView = new DataView(buffer);\n for (let i = 0;i < val.length; i++) {\n primitivePack(bufferView, i * arrayElementSize, val[i]);\n }\n pointerPacker(view, off, ptr(buffer));\n };\n unpack = null;\n needsLengthOf = true;\n lengthOfDef = def;\n } else if (isObjectPointerDef(def)) {\n arrayElementSize = pointerSize;\n pack = (view, off, val) => {\n if (!val || val.length === 0) {\n pointerPacker(view, off, null);\n return;\n }\n const packedView = packObjectArray(val);\n pointerPacker(view, off, ptr(packedView.buffer));\n };\n unpack = () => {\n throw new Error(\"not implemented yet\");\n };\n } else {\n throw new Error(`Unsupported array element type for ${name}: ${JSON.stringify(def)}`);\n }\n const lengthOfField = Object.values(lengthOfFields).find((f) => f.lengthOf === name);\n if (lengthOfField && isPrimitiveType(lengthOfField.type)) {\n const { pack: lengthPack } = primitivePackers(lengthOfField.type);\n arrayFieldsMetadata[name] = {\n elementSize: arrayElementSize,\n arrayOffset: offset,\n lengthOffset: lengthOfField.offset,\n lengthPack\n };\n }\n } else {\n throw new Error(`Unsupported field type for ${name}: ${JSON.stringify(typeOrStruct)}`);\n }\n offset = alignOffset(offset, align);\n if (options.unpackTransform) {\n const originalUnpack = unpack;\n unpack = (view, off) => options.unpackTransform(originalUnpack(view, off));\n }\n if (options.packTransform) {\n const originalPack = pack;\n pack = (view, off, val, obj, packOptions) => originalPack(view, off, options.packTransform(val), obj, packOptions);\n }\n if (options.optional) {\n const originalPack = pack;\n if (isStruct(typeOrStruct) && !options.asPointer) {\n pack = (view, off, val, obj, packOptions) => {\n if (val || options.mapOptionalInline) {\n originalPack(view, off, val, obj, packOptions);\n }\n };\n } else {\n pack = (view, off, val, obj, packOptions) => originalPack(view, off, val ?? 0, obj, packOptions);\n }\n }\n if (options.lengthOf) {\n const originalPack = pack;\n pack = (view, off, val, obj, packOptions) => {\n const targetValue = obj[options.lengthOf];\n let length = 0;\n if (targetValue) {\n if (typeof targetValue === \"string\") {\n length = Buffer.byteLength(targetValue);\n } else {\n length = targetValue.length;\n }\n }\n return originalPack(view, off, length, obj, packOptions);\n };\n }\n let validateFunctions;\n if (options.validate) {\n validateFunctions = Array.isArray(options.validate) ? options.validate : [options.validate];\n }\n const layoutField = {\n name,\n offset,\n size,\n align,\n validate: validateFunctions,\n optional: !!options.optional || !!options.lengthOf || options.default !== undefined,\n default: options.default,\n pack,\n unpack,\n type: typeOrStruct,\n lengthOf: options.lengthOf\n };\n layout.push(layoutField);\n if (options.lengthOf) {\n lengthOfFields[options.lengthOf] = layoutField;\n }\n if (needsLengthOf) {\n const def = typeof typeOrStruct === \"string\" && typeOrStruct === \"char*\" ? \"char*\" : lengthOfDef;\n if (!def)\n fatalError(`Internal error: needsLengthOf=true but def is null for ${name}`);\n lengthOfRequested.push({ requester: layoutField, def });\n }\n offset += size;\n maxAlign = Math.max(maxAlign, align);\n }\n for (const { requester, def } of lengthOfRequested) {\n const lengthOfField = lengthOfFields[requester.name];\n if (!lengthOfField) {\n if (def === \"char*\") {\n continue;\n }\n throw new Error(`lengthOf field not found for array field ${requester.name}`);\n }\n if (def === \"char*\") {\n requester.unpack = (view, off) => {\n const ptrAddress = pointerUnpacker(view, off);\n const length = lengthOfField.unpack(view, lengthOfField.offset);\n if (ptrAddress === 0) {\n return null;\n }\n const byteLength = typeof length === \"bigint\" ? Number(length) : length;\n if (byteLength === 0) {\n return \"\";\n }\n const buffer = toArrayBuffer(ptrAddress, 0, byteLength);\n return decoder.decode(buffer);\n };\n } else if (isPrimitiveType(def)) {\n const elemSize = typeSizes[def];\n const { unpack: primitiveUnpack } = primitivePackers(def);\n requester.unpack = (view, off) => {\n const result = [];\n const length = lengthOfField.unpack(view, lengthOfField.offset);\n const ptrAddress = pointerUnpacker(view, off);\n if (ptrAddress === 0n && length > 0) {\n throw new Error(`Array field ${requester.name} has null pointer but length ${length}.`);\n }\n if (ptrAddress === 0n || length === 0) {\n return [];\n }\n const buffer = toArrayBuffer(ptrAddress, 0, length * elemSize);\n const bufferView = new DataView(buffer);\n for (let i = 0;i < length; i++) {\n result.push(primitiveUnpack(bufferView, i * elemSize));\n }\n return result;\n };\n } else {\n const elemSize = def.type === \"u32\" ? 4 : 8;\n requester.unpack = (view, off) => {\n const result = [];\n const length = lengthOfField.unpack(view, lengthOfField.offset);\n const ptrAddress = pointerUnpacker(view, off);\n if (ptrAddress === 0n && length > 0) {\n throw new Error(`Array field ${requester.name} has null pointer but length ${length}.`);\n }\n if (ptrAddress === 0n || length === 0) {\n return [];\n }\n const buffer = toArrayBuffer(ptrAddress, 0, length * elemSize);\n const bufferView = new DataView(buffer);\n for (let i = 0;i < length; i++) {\n result.push(def.from(bufferView.getUint32(i * elemSize, true)));\n }\n return result;\n };\n }\n }\n const totalSize = alignOffset(offset, maxAlign);\n const description = layout.map((f) => ({\n name: f.name,\n offset: f.offset,\n size: f.size,\n align: f.align,\n optional: f.optional,\n type: f.type,\n lengthOf: f.lengthOf\n }));\n const layoutByName = new Map(description.map((f) => [f.name, f]));\n const arrayFields = new Map(Object.entries(arrayFieldsMetadata));\n return {\n __type: \"struct\",\n size: totalSize,\n align: maxAlign,\n hasMapValue: !!structDefOptions?.mapValue,\n layoutByName,\n arrayFields,\n pack(obj, options) {\n const buf = new ArrayBuffer(totalSize);\n const view = new DataView(buf);\n let mappedObj = obj;\n if (structDefOptions?.mapValue) {\n mappedObj = structDefOptions.mapValue(obj);\n }\n for (const field of layout) {\n const value = mappedObj[field.name] ?? field.default;\n if (!field.optional && value === undefined) {\n fatalError(`Packing non-optional field '${field.name}' but value is undefined (and no default provided)`);\n }\n if (field.validate) {\n for (const validateFn of field.validate) {\n validateFn(value, field.name, {\n hints: options?.validationHints,\n input: mappedObj\n });\n }\n }\n field.pack(view, field.offset, value, mappedObj, options);\n }\n return view.buffer;\n },\n packInto(obj, view, offset2, options) {\n let mappedObj = obj;\n if (structDefOptions?.mapValue) {\n mappedObj = structDefOptions.mapValue(obj);\n }\n for (const field of layout) {\n const value = mappedObj[field.name] ?? field.default;\n if (!field.optional && value === undefined) {\n console.warn(`packInto missing value for non-optional field '${field.name}' at offset ${offset2 + field.offset}. Writing default or zero.`);\n }\n if (field.validate) {\n for (const validateFn of field.validate) {\n validateFn(value, field.name, {\n hints: options?.validationHints,\n input: mappedObj\n });\n }\n }\n field.pack(view, offset2 + field.offset, value, mappedObj, options);\n }\n },\n unpack(buf) {\n if (buf.byteLength < totalSize) {\n fatalError(`Buffer size (${buf.byteLength}) is smaller than struct size (${totalSize}) for unpacking.`);\n }\n const view = new DataView(buf);\n const result = structDefOptions?.default ? { ...structDefOptions.default } : {};\n for (const field of layout) {\n if (!field.unpack) {\n continue;\n }\n try {\n result[field.name] = field.unpack(view, field.offset);\n } catch (e) {\n console.error(`Error unpacking field '${field.name}' at offset ${field.offset}:`, e);\n throw e;\n }\n }\n if (structDefOptions?.reduceValue) {\n return structDefOptions.reduceValue(result);\n }\n return result;\n },\n packList(objects, options) {\n if (objects.length === 0) {\n return new ArrayBuffer(0);\n }\n const buffer = new ArrayBuffer(totalSize * objects.length);\n const view = new DataView(buffer);\n for (let i = 0;i < objects.length; i++) {\n let mappedObj = objects[i];\n if (structDefOptions?.mapValue) {\n mappedObj = structDefOptions.mapValue(objects[i]);\n }\n for (const field of layout) {\n const value = mappedObj[field.name] ?? field.default;\n if (!field.optional && value === undefined) {\n fatalError(`Packing non-optional field '${field.name}' at index ${i} but value is undefined (and no default provided)`);\n }\n if (field.validate) {\n for (const validateFn of field.validate) {\n validateFn(value, field.name, {\n hints: options?.validationHints,\n input: mappedObj\n });\n }\n }\n field.pack(view, i * totalSize + field.offset, value, mappedObj, options);\n }\n }\n return buffer;\n },\n unpackList(buf, count) {\n if (count === 0) {\n return [];\n }\n const expectedSize = totalSize * count;\n if (buf.byteLength < expectedSize) {\n fatalError(`Buffer size (${buf.byteLength}) is smaller than expected size (${expectedSize}) for unpacking ${count} structs.`);\n }\n const view = new DataView(buf);\n const results = [];\n for (let i = 0;i < count; i++) {\n const offset2 = i * totalSize;\n const result = structDefOptions?.default ? { ...structDefOptions.default } : {};\n for (const field of layout) {\n if (!field.unpack) {\n continue;\n }\n try {\n result[field.name] = field.unpack(view, offset2 + field.offset);\n } catch (e) {\n console.error(`Error unpacking field '${field.name}' at index ${i}, offset ${offset2 + field.offset}:`, e);\n throw e;\n }\n }\n if (structDefOptions?.reduceValue) {\n results.push(structDefOptions.reduceValue(result));\n } else {\n results.push(result);\n }\n }\n return results;\n },\n describe() {\n return description;\n }\n };\n}\nexport {\n pointerSize,\n packObjectArray,\n objectPtr,\n defineStruct,\n defineEnum,\n allocStruct\n};\n"
6
- ],
7
- "mappings": "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",
8
- "debugId": "E25F830A52E9C00D64756E2164756E21",
9
- "names": []
10
- }