@gscdump/engine 1.4.0 → 1.4.1
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.
- package/dist/adapters/duckdb-node.d.mts +7 -0
- package/dist/adapters/duckdb-node.mjs +94 -0
- package/dist/adapters/filesystem.d.mts +1 -1
- package/dist/adapters/filesystem.mjs +1 -1
- package/dist/adapters/hyparquet.d.mts +4 -3
- package/dist/adapters/hyparquet.mjs +7 -3
- package/dist/adapters/node-harness.d.mts +38 -0
- package/dist/adapters/node-harness.mjs +47 -0
- package/dist/adapters/node.d.mts +4 -100
- package/dist/adapters/node.mjs +4 -240
- package/dist/adapters/parquet-attach.d.mts +23 -0
- package/dist/adapters/parquet-attach.mjs +21 -0
- package/dist/adapters/r2-manifest.d.mts +82 -0
- package/dist/adapters/r2-manifest.mjs +364 -0
- package/dist/adapters/r2.d.mts +1 -1
- package/dist/adapters/read-optional.mjs +15 -0
- package/dist/adapters/snapshot-attach.d.mts +38 -0
- package/dist/adapters/snapshot-attach.mjs +85 -0
- package/dist/analysis-types.d.mts +56 -1
- package/dist/analyzer/define.d.mts +48 -0
- package/dist/analyzer/define.mjs +60 -0
- package/dist/analyzer/dispatch.d.mts +17 -0
- package/dist/analyzer/index.d.mts +4 -14
- package/dist/analyzer/index.mjs +4 -112
- package/dist/analyzer/registry.d.mts +33 -0
- package/dist/analyzer/registry.mjs +49 -0
- package/dist/analyzer/types.d.mts +95 -0
- package/dist/analyzer/types.mjs +5 -0
- package/dist/coerce.d.mts +4 -0
- package/dist/compaction.d.mts +14 -0
- package/dist/{_chunks/parquet-plan.mjs → compaction.mjs} +2 -138
- package/dist/contracts.d.mts +1 -2
- package/dist/{_chunks/schema.d.mts → drizzle-schema.d.mts} +2 -34
- package/dist/{_chunks/schema.mjs → drizzle-schema.mjs} +2 -78
- package/dist/{_chunks/snapshot.d.mts → duckdb.d.mts} +1 -14
- package/dist/duckdb.mjs +207 -0
- package/dist/engine.d.mts +4 -0
- package/dist/engine.mjs +385 -0
- package/dist/entities.d.mts +3 -52
- package/dist/entities.mjs +867 -2
- package/dist/errors.d.mts +114 -1
- package/dist/gc.mjs +92 -0
- package/dist/iceberg/append-sink.d.mts +14 -0
- package/dist/iceberg/append-sink.mjs +142 -0
- package/dist/iceberg/catalog.d.mts +71 -0
- package/dist/iceberg/catalog.mjs +109 -0
- package/dist/iceberg/index.d.mts +4 -13
- package/dist/iceberg/index.mjs +3 -244
- package/dist/iceberg/overwrite-writer.d.mts +161 -0
- package/dist/iceberg/overwrite-writer.mjs +102 -0
- package/dist/iceberg/pyiceberg-runtime.mjs +34 -0
- package/dist/iceberg/schema.d.mts +69 -0
- package/dist/{_chunks/schema2.mjs → iceberg/schema.mjs} +3 -2
- package/dist/index.d.mts +14 -190
- package/dist/index.mjs +10 -645
- package/dist/ingest-accumulator.d.mts +1 -1
- package/dist/ingest.d.mts +1 -1
- package/dist/layout.d.mts +31 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.bitreader.mjs +88 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.blocks.mjs +120 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.context.mjs +1805 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.contextmap.mjs +49 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.dictionary.mjs +984 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.huffman.mjs +266 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.mjs +340 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.prefix.mjs +109 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.streams.mjs +21 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.transform.mjs +190 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/compressors.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.huffman.mjs +121 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.mjs +176 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/lz4.mjs +52 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bloom.mjs +93 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bytewriter.mjs +91 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/column.mjs +186 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/datapage.mjs +113 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/delta.mjs +111 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dictionary.mjs +99 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/dremel.mjs +116 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/encoding.mjs +51 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/geospatial.mjs +84 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/indexes.mjs +31 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/metadata.mjs +138 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/node.mjs +8 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/parquet-writer.mjs +139 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/plain.mjs +68 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/schema.mjs +254 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/snappy.mjs +125 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/splitstream.mjs +38 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/thrift.mjs +79 -0
- package/dist/{_chunks/libs/hyparquet-writer.d.mts → node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/types.d.mts} +2 -2
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/unconvert.mjs +247 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/variant.mjs +321 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/wkb.mjs +79 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write-rows.mjs +122 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/write.mjs +5 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/bytewriter.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/index.d.mts +10 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/node.d.mts +3 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/parquet-writer.d.mts +2 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/schema.d.mts +2 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/wkb.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write-rows.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/write.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/assemble.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/bloom.mjs +69 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/column.mjs +8 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/constants.mjs +80 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/convert.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/datapage.mjs +6 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/delta.mjs +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/encoding.mjs +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/filter.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/geoparquet.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/indexes.mjs +5 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/metadata.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/node.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plain.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plan.mjs +5 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/query.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/read.mjs +6 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/rowgroup.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/schema.mjs +54 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/snappy.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/thrift.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/types.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/utils.mjs +19 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/variant.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/wkb.mjs +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/xxhash.mjs +68 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/index.d.mts +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/indexes.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/metadata.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/node.d.mts +2 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/query.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/read.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/snappy.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/utils.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/assemble.mjs +144 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/bloom.mjs +124 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/column.mjs +127 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/constants.mjs +75 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/convert.mjs +118 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/datapage.mjs +144 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/delta.mjs +65 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/encoding.mjs +76 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/filter.mjs +98 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/geoparquet.mjs +24 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/index.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/indexes.mjs +16 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/metadata.mjs +235 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/node.mjs +7 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plain.mjs +78 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plan.mjs +147 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/query.mjs +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/read.mjs +106 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/rowgroup.mjs +154 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/schema.mjs +75 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/snappy.mjs +70 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/thrift.mjs +86 -0
- package/dist/{_chunks/libs/hyparquet.d.mts → node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/types.d.mts} +6 -8
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/utils.mjs +31 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/variant.mjs +225 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/wkb.mjs +94 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/xxhash.mjs +68 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/index.d.mts +10 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/indexes.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/metadata.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/node.d.mts +3 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/query.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/read.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/snappy.d.mts +1 -0
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/utils.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.metadata.mjs +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.read.mjs +4 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/avro/avro.write.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/file.mjs +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/loadTable.mjs +3 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/catalog/rest.mjs +73 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/create.mjs +67 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/delete.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/fetch.mjs +8 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/index.mjs +13 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/json.mjs +147 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/manifest.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/metadata.mjs +3 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/prune.mjs +4 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/deletion-vector.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/puffin.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/roaring.mjs +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/read.mjs +9 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/s3.mjs +3 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/schema.mjs +76 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sigv4.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergDataSource.mjs +8 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/icebergQuery.mjs +5 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/sql/whereFilter.mjs +1 -0
- package/dist/{_chunks/libs/icebird.d.mts → node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/types.d.mts} +5 -33
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/utils.mjs +8 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/commit.mjs +5 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/conversions.mjs +19 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/delete-file.mjs +3 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/geospatial.mjs +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest-list.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/manifest.mjs +3 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/parquet.mjs +5 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/partition.mjs +75 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/rewrite.mjs +10 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/serde.mjs +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/snapshot.mjs +5 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/sort.mjs +3 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-deletion-vector.mjs +11 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-position-delete.mjs +8 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage.mjs +10 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stats.mjs +4 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/transform.mjs +60 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/write.mjs +45 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/file.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/catalog/rest.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/create.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/fetch.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/index.d.mts +13 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/manifest.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/metadata.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/read.d.mts +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/s3.d.mts +1 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergDataSource.d.mts +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/sql/icebergQuery.d.mts +2 -0
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/types/write/write.d.mts +32 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/ast.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/backend/dataSource.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/accumulator.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/aggregates.mjs +10 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/execute.mjs +15 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/join.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/scanColumn.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/sort.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/streamingAggregate.mjs +9 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/utils.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/window.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/yield.mjs +17 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/alias.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/binary.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/date.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/evaluate.mjs +15 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/math.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/regexp.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/strings.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.mjs +9 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/expression.mjs +6 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/extractTables.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/functions.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/joins.mjs +7 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/parse.mjs +10 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/primary.mjs +8 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/state.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/tokenize.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/types.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/columns.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/plan.mjs +7 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/types.d.mts +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/bbox.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/equality.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/operations.mjs +5 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/pointRelations.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/primitives.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/segments.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/spatial.mjs +6 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/wkt.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/types.d.mts +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/aggregates.mjs +3 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/executionErrors.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/functions.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/keywords.mjs +1 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/parseErrors.mjs +2 -0
- package/dist/node_modules/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/tables.mjs +2 -0
- package/dist/parquet-plan.d.mts +15 -0
- package/dist/parquet-plan.mjs +139 -0
- package/dist/parquet-pushdown.mjs +58 -0
- package/dist/period/index.d.mts +52 -1
- package/dist/planner.d.mts +2 -14
- package/dist/planner.mjs +2 -1
- package/dist/profile.d.mts +21 -0
- package/dist/profile.mjs +27 -0
- package/dist/query-dim.d.mts +54 -0
- package/dist/query-dim.mjs +91 -0
- package/dist/report/define.d.mts +8 -0
- package/dist/report/define.mjs +15 -0
- package/dist/report/hash.d.mts +13 -0
- package/dist/report/hash.mjs +29 -0
- package/dist/report/index.d.mts +4 -170
- package/dist/report/index.mjs +3 -55
- package/dist/report/registry.d.mts +18 -0
- package/dist/report/registry.mjs +14 -0
- package/dist/report/types.d.mts +139 -0
- package/dist/resolver/adapter.d.mts +13 -0
- package/dist/resolver/adapter.mjs +27 -0
- package/dist/resolver/canonical-source.d.mts +5 -0
- package/dist/resolver/canonical-source.mjs +14 -0
- package/dist/resolver/compile.d.mts +15 -0
- package/dist/resolver/compile.mjs +396 -0
- package/dist/resolver/datasets.d.mts +16 -0
- package/dist/resolver/datasets.mjs +159 -0
- package/dist/resolver/extras-overlay.d.mts +37 -0
- package/dist/resolver/extras-overlay.mjs +17 -0
- package/dist/resolver/filter-utils.d.mts +10 -0
- package/dist/resolver/filter-utils.mjs +59 -0
- package/dist/resolver/fragments.d.mts +60 -0
- package/dist/resolver/fragments.mjs +206 -0
- package/dist/resolver/index.d.mts +11 -371
- package/dist/resolver/index.mjs +10 -1
- package/dist/resolver/pg-adapter.d.mts +56 -0
- package/dist/resolver/pg-adapter.mjs +110 -0
- package/dist/resolver/run-query.d.mts +172 -0
- package/dist/resolver/run-query.mjs +241 -0
- package/dist/resolver/schema-drift.d.mts +15 -0
- package/dist/resolver/schema-drift.mjs +12 -0
- package/dist/rollups.d.mts +4 -4
- package/dist/rollups.mjs +3 -2
- package/dist/schedule.mjs +100 -0
- package/dist/schema.d.mts +34 -1
- package/dist/schema.mjs +78 -1
- package/dist/sink-node.d.mts +1 -159
- package/dist/sink-node.mjs +1 -133
- package/dist/sink.d.mts +125 -0
- package/dist/sinks/in-memory-sink.d.mts +25 -0
- package/dist/sinks/in-memory-sink.mjs +61 -0
- package/dist/sinks/index.d.mts +2 -0
- package/dist/sinks/index.mjs +2 -0
- package/dist/snapshot.d.mts +14 -0
- package/dist/source/attached-table.d.mts +45 -0
- package/dist/source/attached-table.mjs +55 -0
- package/dist/source/create-sql-query-source.d.mts +24 -0
- package/dist/source/create-sql-query-source.mjs +28 -0
- package/dist/source/index.d.mts +6 -66
- package/dist/source/index.mjs +9 -82
- package/dist/source/source-types.d.mts +49 -0
- package/dist/{_chunks/storage.d.mts → storage.d.mts} +4 -14
- package/dist/sync-config.d.mts +36 -0
- package/dist/sync-config.mjs +98 -0
- package/dist/vendor/hysnappy-purejs.mjs +12 -1
- package/package.json +4 -4
- package/dist/_chunks/analysis-types.d.mts +0 -57
- package/dist/_chunks/contracts.d.mts +0 -1
- package/dist/_chunks/engine.mjs +0 -731
- package/dist/_chunks/entities.mjs +0 -967
- package/dist/_chunks/errors.d.mts +0 -115
- package/dist/_chunks/index.d.mts +0 -53
- package/dist/_chunks/libs/hyparquet-compressors.mjs +0 -2796
- package/dist/_chunks/libs/hyparquet-writer.mjs +0 -2524
- package/dist/_chunks/libs/hyparquet.mjs +0 -2596
- package/dist/_chunks/libs/icebird.mjs +0 -564
- package/dist/_chunks/registry.d.mts +0 -213
- package/dist/_chunks/resolver.mjs +0 -1220
- package/dist/_chunks/sink.d.mts +0 -257
- /package/dist/{_chunks → analyzer}/dispatch.mjs +0 -0
- /package/dist/{_chunks/coerce.mjs → coerce.mjs} +0 -0
- /package/dist/{_chunks/layout.mjs → layout.mjs} +0 -0
- /package/dist/{_chunks/manifest-store-utils.mjs → manifest-store-utils.mjs} +0 -0
- /package/dist/{_chunks/libs/fzstd.mjs → node_modules/.pnpm/fzstd@0.1.1/node_modules/fzstd/esm/index.mjs} +0 -0
- /package/dist/{_chunks → resolver}/types.d.mts +0 -0
- /package/dist/{_chunks/schedule.d.mts → schedule.d.mts} +0 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { normalizeShreddingConfig } from "./variant.mjs";
|
|
2
|
+
function schemaFromColumnData({ columnData, schemaOverrides }) {
|
|
3
|
+
const schema = [{
|
|
4
|
+
name: "root",
|
|
5
|
+
num_children: columnData.length
|
|
6
|
+
}];
|
|
7
|
+
for (const { name, data, type, nullable, shredding } of columnData) if (schemaOverrides?.[name]) {
|
|
8
|
+
const override = schemaOverrides[name];
|
|
9
|
+
if (type || nullable !== void 0) throw new Error(`cannot provide both type and schema override for column ${name}`);
|
|
10
|
+
if (override.name !== name) throw new Error(`schema override for column ${name} must have matching name, got ${override.name}`);
|
|
11
|
+
if (override.type === "FIXED_LEN_BYTE_ARRAY" && !override.type_length) throw new Error("schema override for FIXED_LEN_BYTE_ARRAY must include type_length");
|
|
12
|
+
if (override.num_children) throw new Error("schema override does not support nested types");
|
|
13
|
+
schema.push(override);
|
|
14
|
+
} else if (type === "VARIANT") {
|
|
15
|
+
const repetition_type = nullable === false ? "REQUIRED" : "OPTIONAL";
|
|
16
|
+
const shreddingConfig = shredding && shredding !== true ? normalizeShreddingConfig(shredding) : void 0;
|
|
17
|
+
if (shreddingConfig) schema.push({
|
|
18
|
+
name,
|
|
19
|
+
repetition_type,
|
|
20
|
+
num_children: 3,
|
|
21
|
+
logical_type: { type: "VARIANT" }
|
|
22
|
+
}, {
|
|
23
|
+
name: "metadata",
|
|
24
|
+
type: "BYTE_ARRAY",
|
|
25
|
+
repetition_type: "REQUIRED"
|
|
26
|
+
}, {
|
|
27
|
+
name: "value",
|
|
28
|
+
type: "BYTE_ARRAY",
|
|
29
|
+
repetition_type: "OPTIONAL"
|
|
30
|
+
}, ...buildVariantTypedValue(shreddingConfig));
|
|
31
|
+
else schema.push({
|
|
32
|
+
name,
|
|
33
|
+
repetition_type,
|
|
34
|
+
num_children: 2,
|
|
35
|
+
logical_type: { type: "VARIANT" }
|
|
36
|
+
}, {
|
|
37
|
+
name: "metadata",
|
|
38
|
+
type: "BYTE_ARRAY",
|
|
39
|
+
repetition_type: "REQUIRED"
|
|
40
|
+
}, {
|
|
41
|
+
name: "value",
|
|
42
|
+
type: "BYTE_ARRAY",
|
|
43
|
+
repetition_type: "OPTIONAL"
|
|
44
|
+
});
|
|
45
|
+
} else if (type) schema.push(basicTypeToSchemaElement(name, type, nullable));
|
|
46
|
+
else schema.push(autoSchemaElement(name, data.slice(0, 1e3)));
|
|
47
|
+
return schema;
|
|
48
|
+
}
|
|
49
|
+
function buildVariantTypedValue(shredType) {
|
|
50
|
+
if (Array.isArray(shredType)) return [
|
|
51
|
+
{
|
|
52
|
+
name: "typed_value",
|
|
53
|
+
repetition_type: "OPTIONAL",
|
|
54
|
+
converted_type: "LIST",
|
|
55
|
+
num_children: 1
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "list",
|
|
59
|
+
repetition_type: "REPEATED",
|
|
60
|
+
num_children: 1
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "element",
|
|
64
|
+
repetition_type: "REQUIRED",
|
|
65
|
+
num_children: 2
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "value",
|
|
69
|
+
type: "BYTE_ARRAY",
|
|
70
|
+
repetition_type: "OPTIONAL"
|
|
71
|
+
},
|
|
72
|
+
...buildVariantTypedValue(shredType[0])
|
|
73
|
+
];
|
|
74
|
+
if (typeof shredType === "object") {
|
|
75
|
+
const fieldNames = Object.keys(shredType);
|
|
76
|
+
const elements = [{
|
|
77
|
+
name: "typed_value",
|
|
78
|
+
repetition_type: "OPTIONAL",
|
|
79
|
+
num_children: fieldNames.length
|
|
80
|
+
}];
|
|
81
|
+
for (const fieldName of fieldNames) elements.push({
|
|
82
|
+
name: fieldName,
|
|
83
|
+
repetition_type: "OPTIONAL",
|
|
84
|
+
num_children: 2
|
|
85
|
+
}, {
|
|
86
|
+
name: "value",
|
|
87
|
+
type: "BYTE_ARRAY",
|
|
88
|
+
repetition_type: "OPTIONAL"
|
|
89
|
+
}, ...buildVariantTypedValue(shredType[fieldName]));
|
|
90
|
+
return elements;
|
|
91
|
+
}
|
|
92
|
+
return [shreddedLeafElement(shredType)];
|
|
93
|
+
}
|
|
94
|
+
function shreddedLeafElement(type) {
|
|
95
|
+
switch (type) {
|
|
96
|
+
case "STRING": return {
|
|
97
|
+
name: "typed_value",
|
|
98
|
+
type: "BYTE_ARRAY",
|
|
99
|
+
converted_type: "UTF8",
|
|
100
|
+
repetition_type: "OPTIONAL"
|
|
101
|
+
};
|
|
102
|
+
case "INT32": return {
|
|
103
|
+
name: "typed_value",
|
|
104
|
+
type: "INT32",
|
|
105
|
+
repetition_type: "OPTIONAL"
|
|
106
|
+
};
|
|
107
|
+
case "INT64": return {
|
|
108
|
+
name: "typed_value",
|
|
109
|
+
type: "INT64",
|
|
110
|
+
repetition_type: "OPTIONAL"
|
|
111
|
+
};
|
|
112
|
+
case "DOUBLE": return {
|
|
113
|
+
name: "typed_value",
|
|
114
|
+
type: "DOUBLE",
|
|
115
|
+
repetition_type: "OPTIONAL"
|
|
116
|
+
};
|
|
117
|
+
case "FLOAT": return {
|
|
118
|
+
name: "typed_value",
|
|
119
|
+
type: "FLOAT",
|
|
120
|
+
repetition_type: "OPTIONAL"
|
|
121
|
+
};
|
|
122
|
+
case "BOOLEAN": return {
|
|
123
|
+
name: "typed_value",
|
|
124
|
+
type: "BOOLEAN",
|
|
125
|
+
repetition_type: "OPTIONAL"
|
|
126
|
+
};
|
|
127
|
+
case "TIMESTAMP": return {
|
|
128
|
+
name: "typed_value",
|
|
129
|
+
type: "INT64",
|
|
130
|
+
converted_type: "TIMESTAMP_MICROS",
|
|
131
|
+
repetition_type: "OPTIONAL"
|
|
132
|
+
};
|
|
133
|
+
default: throw new Error(`unsupported shredded field type: ${type}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function basicTypeToSchemaElement(name, type, nullable) {
|
|
137
|
+
const repetition_type = nullable === false ? "REQUIRED" : "OPTIONAL";
|
|
138
|
+
if (type === "STRING") return {
|
|
139
|
+
name,
|
|
140
|
+
type: "BYTE_ARRAY",
|
|
141
|
+
converted_type: "UTF8",
|
|
142
|
+
repetition_type
|
|
143
|
+
};
|
|
144
|
+
if (type === "JSON") return {
|
|
145
|
+
name,
|
|
146
|
+
type: "BYTE_ARRAY",
|
|
147
|
+
converted_type: "JSON",
|
|
148
|
+
repetition_type
|
|
149
|
+
};
|
|
150
|
+
if (type === "TIMESTAMP") return {
|
|
151
|
+
name,
|
|
152
|
+
type: "INT64",
|
|
153
|
+
converted_type: "TIMESTAMP_MILLIS",
|
|
154
|
+
repetition_type
|
|
155
|
+
};
|
|
156
|
+
if (type === "UUID") return {
|
|
157
|
+
name,
|
|
158
|
+
type: "FIXED_LEN_BYTE_ARRAY",
|
|
159
|
+
type_length: 16,
|
|
160
|
+
logical_type: { type: "UUID" },
|
|
161
|
+
repetition_type
|
|
162
|
+
};
|
|
163
|
+
if (type === "FLOAT16") return {
|
|
164
|
+
name,
|
|
165
|
+
type: "FIXED_LEN_BYTE_ARRAY",
|
|
166
|
+
type_length: 2,
|
|
167
|
+
logical_type: { type: "FLOAT16" },
|
|
168
|
+
repetition_type
|
|
169
|
+
};
|
|
170
|
+
if (type === "GEOMETRY") return {
|
|
171
|
+
name,
|
|
172
|
+
type: "BYTE_ARRAY",
|
|
173
|
+
logical_type: { type: "GEOMETRY" },
|
|
174
|
+
repetition_type
|
|
175
|
+
};
|
|
176
|
+
if (type === "GEOGRAPHY") return {
|
|
177
|
+
name,
|
|
178
|
+
type: "BYTE_ARRAY",
|
|
179
|
+
logical_type: { type: "GEOGRAPHY" },
|
|
180
|
+
repetition_type
|
|
181
|
+
};
|
|
182
|
+
return {
|
|
183
|
+
name,
|
|
184
|
+
type,
|
|
185
|
+
repetition_type
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
function autoSchemaElement(name, values) {
|
|
189
|
+
let type;
|
|
190
|
+
let repetition_type = "REQUIRED";
|
|
191
|
+
let converted_type;
|
|
192
|
+
if (values instanceof Int32Array) return {
|
|
193
|
+
name,
|
|
194
|
+
type: "INT32",
|
|
195
|
+
repetition_type
|
|
196
|
+
};
|
|
197
|
+
if (values instanceof BigInt64Array) return {
|
|
198
|
+
name,
|
|
199
|
+
type: "INT64",
|
|
200
|
+
repetition_type
|
|
201
|
+
};
|
|
202
|
+
if (values instanceof Float32Array) return {
|
|
203
|
+
name,
|
|
204
|
+
type: "FLOAT",
|
|
205
|
+
repetition_type
|
|
206
|
+
};
|
|
207
|
+
if (values instanceof Float64Array) return {
|
|
208
|
+
name,
|
|
209
|
+
type: "DOUBLE",
|
|
210
|
+
repetition_type
|
|
211
|
+
};
|
|
212
|
+
for (const value of values) if (value === null || value === void 0) repetition_type = "OPTIONAL";
|
|
213
|
+
else {
|
|
214
|
+
let valueType;
|
|
215
|
+
let valueConvertedType;
|
|
216
|
+
if (typeof value === "boolean") valueType = "BOOLEAN";
|
|
217
|
+
else if (typeof value === "bigint") valueType = "INT64";
|
|
218
|
+
else if (Number.isInteger(value)) valueType = "INT32";
|
|
219
|
+
else if (typeof value === "number") valueType = "DOUBLE";
|
|
220
|
+
else if (value instanceof Uint8Array) valueType = "BYTE_ARRAY";
|
|
221
|
+
else if (typeof value === "string") {
|
|
222
|
+
valueType = "BYTE_ARRAY";
|
|
223
|
+
valueConvertedType = "UTF8";
|
|
224
|
+
} else if (value instanceof Date) {
|
|
225
|
+
valueType = "INT64";
|
|
226
|
+
valueConvertedType = "TIMESTAMP_MILLIS";
|
|
227
|
+
} else if (typeof value === "object") {
|
|
228
|
+
valueType = "BYTE_ARRAY";
|
|
229
|
+
valueConvertedType = "JSON";
|
|
230
|
+
} else throw new Error(`cannot determine parquet type for: ${value}`);
|
|
231
|
+
if (type === void 0) {
|
|
232
|
+
type = valueType;
|
|
233
|
+
converted_type = valueConvertedType;
|
|
234
|
+
} else if (type === "INT32" && valueType === "DOUBLE") type = "DOUBLE";
|
|
235
|
+
else if (type === "DOUBLE" && valueType === "INT32") valueType = "DOUBLE";
|
|
236
|
+
else if (type !== valueType || converted_type !== valueConvertedType) throw new Error(`parquet cannot write mixed types: ${converted_type ?? type} and ${valueConvertedType ?? valueType}`);
|
|
237
|
+
}
|
|
238
|
+
if (!type) {
|
|
239
|
+
type = "BYTE_ARRAY";
|
|
240
|
+
repetition_type = "OPTIONAL";
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
name,
|
|
244
|
+
type,
|
|
245
|
+
repetition_type,
|
|
246
|
+
converted_type
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
function getMaxRepetitionLevel(schemaPath) {
|
|
250
|
+
let maxLevel = 0;
|
|
251
|
+
for (const element of schemaPath) if (element.repetition_type === "REPEATED") maxLevel++;
|
|
252
|
+
return maxLevel;
|
|
253
|
+
}
|
|
254
|
+
export { autoSchemaElement, getMaxRepetitionLevel, schemaFromColumnData };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { ByteWriter } from "./bytewriter.mjs";
|
|
2
|
+
const BLOCK_SIZE = 65536;
|
|
3
|
+
const MAX_HASH_TABLE_BITS = 14;
|
|
4
|
+
const globalHashTables = new Array(15);
|
|
5
|
+
function snappyCompress(input) {
|
|
6
|
+
const writer = new ByteWriter();
|
|
7
|
+
writer.appendVarInt(input.length);
|
|
8
|
+
let pos = 0;
|
|
9
|
+
while (pos < input.length) {
|
|
10
|
+
const fragmentSize = Math.min(input.length - pos, BLOCK_SIZE);
|
|
11
|
+
compressFragment(writer, input, pos, fragmentSize);
|
|
12
|
+
pos += fragmentSize;
|
|
13
|
+
}
|
|
14
|
+
return writer.getBytes();
|
|
15
|
+
}
|
|
16
|
+
function hashFunc(key, hashFuncShift) {
|
|
17
|
+
return key * 506832829 >>> hashFuncShift;
|
|
18
|
+
}
|
|
19
|
+
function load32(array, pos) {
|
|
20
|
+
return array[pos] + (array[pos + 1] << 8) + (array[pos + 2] << 16) + (array[pos + 3] << 24);
|
|
21
|
+
}
|
|
22
|
+
function equals32(array, pos1, pos2) {
|
|
23
|
+
return array[pos1] === array[pos2] && array[pos1 + 1] === array[pos2 + 1] && array[pos1 + 2] === array[pos2 + 2] && array[pos1 + 3] === array[pos2 + 3];
|
|
24
|
+
}
|
|
25
|
+
function emitLiteral(writer, input, ip, len) {
|
|
26
|
+
if (len <= 60) writer.appendUint8(len - 1 << 2);
|
|
27
|
+
else if (len < 256) {
|
|
28
|
+
writer.appendUint8(240);
|
|
29
|
+
writer.appendUint8(len - 1);
|
|
30
|
+
} else {
|
|
31
|
+
writer.appendUint8(244);
|
|
32
|
+
writer.appendUint8(len - 1 & 255);
|
|
33
|
+
writer.appendUint8(len - 1 >>> 8);
|
|
34
|
+
}
|
|
35
|
+
writer.appendBytes(input.subarray(ip, ip + len));
|
|
36
|
+
}
|
|
37
|
+
function emitCopyLessThan64(writer, offset, len) {
|
|
38
|
+
if (len < 12 && offset < 2048) {
|
|
39
|
+
writer.appendUint8(1 + (len - 4 << 2) + (offset >>> 8 << 5));
|
|
40
|
+
writer.appendUint8(offset & 255);
|
|
41
|
+
} else {
|
|
42
|
+
writer.appendUint8(2 + (len - 1 << 2));
|
|
43
|
+
writer.appendUint8(offset & 255);
|
|
44
|
+
writer.appendUint8(offset >>> 8);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function emitCopy(writer, offset, len) {
|
|
48
|
+
while (len >= 68) {
|
|
49
|
+
emitCopyLessThan64(writer, offset, 64);
|
|
50
|
+
len -= 64;
|
|
51
|
+
}
|
|
52
|
+
if (len > 64) {
|
|
53
|
+
emitCopyLessThan64(writer, offset, 60);
|
|
54
|
+
len -= 60;
|
|
55
|
+
}
|
|
56
|
+
emitCopyLessThan64(writer, offset, len);
|
|
57
|
+
}
|
|
58
|
+
function compressFragment(writer, input, ip, inputSize) {
|
|
59
|
+
let hashTableBits = 1;
|
|
60
|
+
while (1 << hashTableBits <= inputSize && hashTableBits <= MAX_HASH_TABLE_BITS) hashTableBits++;
|
|
61
|
+
hashTableBits--;
|
|
62
|
+
const hashFuncShift = 32 - hashTableBits;
|
|
63
|
+
globalHashTables[hashTableBits] ??= new Uint16Array(1 << hashTableBits);
|
|
64
|
+
const hashTable = globalHashTables[hashTableBits];
|
|
65
|
+
hashTable.fill(0);
|
|
66
|
+
const ipEnd = ip + inputSize;
|
|
67
|
+
let ipLimit;
|
|
68
|
+
const baseIp = ip;
|
|
69
|
+
let nextEmit = ip;
|
|
70
|
+
let hash, nextHash;
|
|
71
|
+
let nextIp, candidate, skip;
|
|
72
|
+
let bytesBetweenHashLookups;
|
|
73
|
+
let base, matched, offset;
|
|
74
|
+
let prevHash, curHash;
|
|
75
|
+
let flag = true;
|
|
76
|
+
const INPUT_MARGIN = 15;
|
|
77
|
+
if (inputSize >= INPUT_MARGIN) {
|
|
78
|
+
ipLimit = ipEnd - INPUT_MARGIN;
|
|
79
|
+
ip++;
|
|
80
|
+
nextHash = hashFunc(load32(input, ip), hashFuncShift);
|
|
81
|
+
while (flag) {
|
|
82
|
+
skip = 32;
|
|
83
|
+
nextIp = ip;
|
|
84
|
+
do {
|
|
85
|
+
ip = nextIp;
|
|
86
|
+
hash = nextHash;
|
|
87
|
+
bytesBetweenHashLookups = skip >>> 5;
|
|
88
|
+
skip++;
|
|
89
|
+
nextIp = ip + bytesBetweenHashLookups;
|
|
90
|
+
if (ip > ipLimit) {
|
|
91
|
+
flag = false;
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
nextHash = hashFunc(load32(input, nextIp), hashFuncShift);
|
|
95
|
+
candidate = baseIp + hashTable[hash];
|
|
96
|
+
hashTable[hash] = ip - baseIp;
|
|
97
|
+
} while (!equals32(input, ip, candidate));
|
|
98
|
+
if (!flag) break;
|
|
99
|
+
emitLiteral(writer, input, nextEmit, ip - nextEmit);
|
|
100
|
+
do {
|
|
101
|
+
base = ip;
|
|
102
|
+
matched = 4;
|
|
103
|
+
while (ip + matched < ipEnd && input[ip + matched] === input[candidate + matched]) matched++;
|
|
104
|
+
ip += matched;
|
|
105
|
+
offset = base - candidate;
|
|
106
|
+
emitCopy(writer, offset, matched);
|
|
107
|
+
nextEmit = ip;
|
|
108
|
+
if (ip >= ipLimit) {
|
|
109
|
+
flag = false;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
prevHash = hashFunc(load32(input, ip - 1), hashFuncShift);
|
|
113
|
+
hashTable[prevHash] = ip - 1 - baseIp;
|
|
114
|
+
curHash = hashFunc(load32(input, ip), hashFuncShift);
|
|
115
|
+
candidate = baseIp + hashTable[curHash];
|
|
116
|
+
hashTable[curHash] = ip - baseIp;
|
|
117
|
+
} while (equals32(input, ip, candidate));
|
|
118
|
+
if (!flag) break;
|
|
119
|
+
ip++;
|
|
120
|
+
nextHash = hashFunc(load32(input, ip), hashFuncShift);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (nextEmit < ipEnd) emitLiteral(writer, input, nextEmit, ipEnd - nextEmit);
|
|
124
|
+
}
|
|
125
|
+
export { snappyCompress };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function writeByteStreamSplit(writer, values, type, typeLength) {
|
|
2
|
+
const count = values.length;
|
|
3
|
+
let bytes;
|
|
4
|
+
let width;
|
|
5
|
+
if (type === "FLOAT") {
|
|
6
|
+
const typed = values instanceof Float32Array ? values : new Float32Array(numberArray(values));
|
|
7
|
+
bytes = new Uint8Array(typed.buffer, typed.byteOffset, typed.byteLength);
|
|
8
|
+
width = 4;
|
|
9
|
+
} else if (type === "DOUBLE") {
|
|
10
|
+
const typed = values instanceof Float64Array ? values : new Float64Array(numberArray(values));
|
|
11
|
+
bytes = new Uint8Array(typed.buffer, typed.byteOffset, typed.byteLength);
|
|
12
|
+
width = 8;
|
|
13
|
+
} else if (type === "INT32") {
|
|
14
|
+
const typed = values instanceof Int32Array ? values : new Int32Array(numberArray(values));
|
|
15
|
+
bytes = new Uint8Array(typed.buffer, typed.byteOffset, typed.byteLength);
|
|
16
|
+
width = 4;
|
|
17
|
+
} else if (type === "INT64") {
|
|
18
|
+
const typed = bigIntArray(values);
|
|
19
|
+
bytes = new Uint8Array(typed.buffer, typed.byteOffset, typed.byteLength);
|
|
20
|
+
width = 8;
|
|
21
|
+
} else if (type === "FIXED_LEN_BYTE_ARRAY") {
|
|
22
|
+
if (!typeLength) throw new Error("parquet byte_stream_split missing type_length");
|
|
23
|
+
width = typeLength;
|
|
24
|
+
bytes = new Uint8Array(count * width);
|
|
25
|
+
for (let i = 0; i < count; i++) bytes.set(values[i], i * width);
|
|
26
|
+
} else throw new Error(`parquet byte_stream_split unsupported type: ${type}`);
|
|
27
|
+
for (let b = 0; b < width; b++) for (let i = 0; i < count; i++) writer.appendUint8(bytes[i * width + b]);
|
|
28
|
+
}
|
|
29
|
+
function numberArray(values) {
|
|
30
|
+
if (Array.isArray(values) && values.every((v) => typeof v === "number")) return values;
|
|
31
|
+
throw new Error("Expected number array for BYTE_STREAM_SPLIT encoding");
|
|
32
|
+
}
|
|
33
|
+
function bigIntArray(values) {
|
|
34
|
+
if (values instanceof BigInt64Array) return values;
|
|
35
|
+
if (Array.isArray(values) && values.every((v) => typeof v === "bigint")) return new BigInt64Array(values);
|
|
36
|
+
throw new Error("Expected bigint array for BYTE_STREAM_SPLIT encoding");
|
|
37
|
+
}
|
|
38
|
+
export { writeByteStreamSplit };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
const STOP = 0;
|
|
2
|
+
const TRUE = 1;
|
|
3
|
+
const FALSE = 2;
|
|
4
|
+
const BYTE = 3;
|
|
5
|
+
const I32 = 5;
|
|
6
|
+
const I64 = 6;
|
|
7
|
+
const DOUBLE = 7;
|
|
8
|
+
const BINARY = 8;
|
|
9
|
+
const LIST = 9;
|
|
10
|
+
const STRUCT = 12;
|
|
11
|
+
function serializeTCompactProtocol(writer, data) {
|
|
12
|
+
writeElement(writer, STRUCT, data);
|
|
13
|
+
}
|
|
14
|
+
function writeElement(writer, type, value) {
|
|
15
|
+
if (type === TRUE) return;
|
|
16
|
+
if (type === FALSE) return;
|
|
17
|
+
if (type === BYTE && typeof value === "number") writer.appendUint8(value);
|
|
18
|
+
else if (type === I32 && typeof value === "number") writer.appendZigZag(value);
|
|
19
|
+
else if (type === I64 && typeof value === "bigint") writer.appendZigZag(value);
|
|
20
|
+
else if (type === DOUBLE && typeof value === "number") writer.appendFloat64(value);
|
|
21
|
+
else if (type === BINARY && typeof value === "string") {
|
|
22
|
+
const bytes = new TextEncoder().encode(value);
|
|
23
|
+
writer.appendVarInt(bytes.length);
|
|
24
|
+
writer.appendBytes(bytes);
|
|
25
|
+
} else if (type === BINARY && value instanceof Uint8Array) {
|
|
26
|
+
writer.appendVarInt(value.byteLength);
|
|
27
|
+
writer.appendBytes(value);
|
|
28
|
+
} else if (type === LIST && Array.isArray(value)) {
|
|
29
|
+
const elemType = getCompactTypeForList(value);
|
|
30
|
+
if (value.length > 14) {
|
|
31
|
+
writer.appendUint8(240 | elemType);
|
|
32
|
+
writer.appendVarInt(value.length);
|
|
33
|
+
} else writer.appendUint8(value.length << 4 | elemType);
|
|
34
|
+
if (elemType === FALSE) for (const v of value) writer.appendUint8(v ? 1 : 0);
|
|
35
|
+
else for (const v of value) writeElement(writer, elemType, v);
|
|
36
|
+
} else if (type === STRUCT && typeof value === "object") {
|
|
37
|
+
let lastFid = 0;
|
|
38
|
+
for (const [k, v] of Object.entries(value)) {
|
|
39
|
+
if (v === void 0) continue;
|
|
40
|
+
const fid = parseInt(k.replace(/^field_/, ""), 10);
|
|
41
|
+
if (Number.isNaN(fid)) throw new Error(`thrift invalid field name: ${k}. Expected "field_###"`);
|
|
42
|
+
const t = getCompactTypeForValue(v);
|
|
43
|
+
const delta = fid - lastFid;
|
|
44
|
+
if (delta <= 0) throw new Error(`thrift non-monotonic field id: fid=${fid}, lastFid=${lastFid}`);
|
|
45
|
+
if (delta > 15) {
|
|
46
|
+
writer.appendUint8(t);
|
|
47
|
+
writer.appendZigZag(fid);
|
|
48
|
+
} else writer.appendUint8(delta << 4 | t);
|
|
49
|
+
writeElement(writer, t, v);
|
|
50
|
+
lastFid = fid;
|
|
51
|
+
}
|
|
52
|
+
writer.appendUint8(STOP);
|
|
53
|
+
} else throw new Error(`thrift invalid type ${type} for value ${value}`);
|
|
54
|
+
}
|
|
55
|
+
function getCompactTypeForValue(value) {
|
|
56
|
+
if (value === true) return TRUE;
|
|
57
|
+
if (value === false) return FALSE;
|
|
58
|
+
if (Number.isInteger(value)) return I32;
|
|
59
|
+
if (typeof value === "number") return DOUBLE;
|
|
60
|
+
if (typeof value === "bigint") return I64;
|
|
61
|
+
if (typeof value === "string") return BINARY;
|
|
62
|
+
if (value instanceof Uint8Array) return BINARY;
|
|
63
|
+
if (Array.isArray(value)) return LIST;
|
|
64
|
+
if (value && typeof value === "object") return STRUCT;
|
|
65
|
+
throw new Error(`Cannot determine thrift compact type for: ${value}`);
|
|
66
|
+
}
|
|
67
|
+
function getCompactTypeForList(value) {
|
|
68
|
+
let elemType = 0;
|
|
69
|
+
for (const v of value) {
|
|
70
|
+
let t = getCompactTypeForValue(v);
|
|
71
|
+
if (t === TRUE) t = FALSE;
|
|
72
|
+
if (!elemType) elemType = t;
|
|
73
|
+
if (elemType === DOUBLE && t === I32) t = DOUBLE;
|
|
74
|
+
if (elemType === I32 && t === DOUBLE) elemType = DOUBLE;
|
|
75
|
+
if (t !== elemType) throw new Error(`thrift invalid type for list element: ${v} (expected type ${elemType})`);
|
|
76
|
+
}
|
|
77
|
+
return elemType ?? BYTE;
|
|
78
|
+
}
|
|
79
|
+
export { serializeTCompactProtocol };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import "../../../../hyparquet@1.26.1/node_modules/hyparquet/types/node.mjs";
|
|
2
|
+
interface Writer {
|
|
2
3
|
buffer: ArrayBuffer;
|
|
3
4
|
view: DataView;
|
|
4
5
|
offset: number; // total bytes written
|
|
@@ -19,5 +20,4 @@ interface Writer$1 {
|
|
|
19
20
|
appendVarBigInt(value: bigint): void;
|
|
20
21
|
appendZigZag(value: number | bigint): void;
|
|
21
22
|
}
|
|
22
|
-
type Writer = Writer$1;
|
|
23
23
|
export { Writer };
|