@loaders.gl/arrow 4.0.4 → 4.1.0-alpha.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/arrow-worker.js +237 -2
- package/dist/dist.dev.js +1398 -610
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts +4 -2
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js +51 -32
- package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js.map +1 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.d.ts +13 -0
- package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.d.ts.map +1 -0
- package/dist/geoarrow/{convert-geoarrow-to-geojson.js → convert-geoarrow-to-geojson-geometry.js} +34 -27
- package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.js.map +1 -0
- package/dist/geoarrow-loader.d.ts.map +1 -1
- package/dist/geoarrow-loader.js +0 -1
- package/dist/geoarrow-loader.js.map +1 -1
- package/dist/index.cjs +361 -332
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parsers/parse-arrow-sync.d.ts.map +1 -1
- package/dist/parsers/parse-arrow-sync.js +2 -0
- package/dist/parsers/parse-arrow-sync.js.map +1 -1
- package/dist/tables/convert-arrow-to-columnar-table.d.ts.map +1 -1
- package/dist/tables/convert-arrow-to-columnar-table.js +1 -0
- package/dist/tables/convert-arrow-to-columnar-table.js.map +1 -1
- package/dist/tables/convert-arrow-to-geojson-table.d.ts +1 -1
- package/dist/tables/convert-arrow-to-geojson-table.d.ts.map +1 -1
- package/dist/tables/convert-arrow-to-geojson-table.js +14 -8
- package/dist/tables/convert-arrow-to-geojson-table.js.map +1 -1
- package/dist/tables/convert-columnar-to-row-table.d.ts.map +1 -1
- package/dist/tables/convert-columnar-to-row-table.js +1 -0
- package/dist/tables/convert-columnar-to-row-table.js.map +1 -1
- package/dist/triangulate-on-worker.d.ts +1 -1
- package/dist/triangulate-on-worker.d.ts.map +1 -1
- package/dist/triangulate-on-worker.js.map +1 -1
- package/dist/triangulation-worker.js +31 -24
- package/dist/workers/triangulation-worker.js +3 -1
- package/dist/workers/triangulation-worker.js.map +1 -1
- package/package.json +16 -10
- package/src/geoarrow/convert-geoarrow-to-binary-geometry.ts +81 -46
- package/src/geoarrow/{convert-geoarrow-to-geojson.ts → convert-geoarrow-to-geojson-geometry.ts} +56 -46
- package/src/geoarrow-loader.ts +0 -4
- package/src/index.ts +1 -1
- package/src/parsers/parse-arrow-sync.ts +6 -1
- package/src/tables/convert-arrow-to-columnar-table.ts +1 -0
- package/src/tables/convert-arrow-to-geojson-table.ts +18 -7
- package/src/tables/convert-columnar-to-row-table.ts +1 -0
- package/src/triangulate-on-worker.ts +1 -1
- package/src/workers/triangulation-worker.ts +1 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson.d.ts +0 -20
- package/dist/geoarrow/convert-geoarrow-to-geojson.d.ts.map +0 -1
- package/dist/geoarrow/convert-geoarrow-to-geojson.js.map +0 -1
package/dist/arrow-worker.js
CHANGED
|
@@ -1879,6 +1879,16 @@
|
|
|
1879
1879
|
proto.ArrayType = Int32Array;
|
|
1880
1880
|
return proto[Symbol.toStringTag] = "Date";
|
|
1881
1881
|
})(Date_.prototype);
|
|
1882
|
+
var DateDay = class extends Date_ {
|
|
1883
|
+
constructor() {
|
|
1884
|
+
super(DateUnit.DAY);
|
|
1885
|
+
}
|
|
1886
|
+
};
|
|
1887
|
+
var DateMillisecond = class extends Date_ {
|
|
1888
|
+
constructor() {
|
|
1889
|
+
super(DateUnit.MILLISECOND);
|
|
1890
|
+
}
|
|
1891
|
+
};
|
|
1882
1892
|
var Time_ = class extends DataType {
|
|
1883
1893
|
constructor(unit, bitWidth) {
|
|
1884
1894
|
super();
|
|
@@ -1907,6 +1917,26 @@
|
|
|
1907
1917
|
proto.bitWidth = null;
|
|
1908
1918
|
return proto[Symbol.toStringTag] = "Time";
|
|
1909
1919
|
})(Time_.prototype);
|
|
1920
|
+
var TimeSecond = class extends Time_ {
|
|
1921
|
+
constructor() {
|
|
1922
|
+
super(TimeUnit.SECOND, 32);
|
|
1923
|
+
}
|
|
1924
|
+
};
|
|
1925
|
+
var TimeMillisecond = class extends Time_ {
|
|
1926
|
+
constructor() {
|
|
1927
|
+
super(TimeUnit.MILLISECOND, 32);
|
|
1928
|
+
}
|
|
1929
|
+
};
|
|
1930
|
+
var TimeMicrosecond = class extends Time_ {
|
|
1931
|
+
constructor() {
|
|
1932
|
+
super(TimeUnit.MICROSECOND, 64);
|
|
1933
|
+
}
|
|
1934
|
+
};
|
|
1935
|
+
var TimeNanosecond = class extends Time_ {
|
|
1936
|
+
constructor() {
|
|
1937
|
+
super(TimeUnit.NANOSECOND, 64);
|
|
1938
|
+
}
|
|
1939
|
+
};
|
|
1910
1940
|
var Timestamp_ = class extends DataType {
|
|
1911
1941
|
constructor(unit, timezone) {
|
|
1912
1942
|
super();
|
|
@@ -1927,6 +1957,26 @@
|
|
|
1927
1957
|
proto.ArrayType = Int32Array;
|
|
1928
1958
|
return proto[Symbol.toStringTag] = "Timestamp";
|
|
1929
1959
|
})(Timestamp_.prototype);
|
|
1960
|
+
var TimestampSecond = class extends Timestamp_ {
|
|
1961
|
+
constructor(timezone) {
|
|
1962
|
+
super(TimeUnit.SECOND, timezone);
|
|
1963
|
+
}
|
|
1964
|
+
};
|
|
1965
|
+
var TimestampMillisecond = class extends Timestamp_ {
|
|
1966
|
+
constructor(timezone) {
|
|
1967
|
+
super(TimeUnit.MILLISECOND, timezone);
|
|
1968
|
+
}
|
|
1969
|
+
};
|
|
1970
|
+
var TimestampMicrosecond = class extends Timestamp_ {
|
|
1971
|
+
constructor(timezone) {
|
|
1972
|
+
super(TimeUnit.MICROSECOND, timezone);
|
|
1973
|
+
}
|
|
1974
|
+
};
|
|
1975
|
+
var TimestampNanosecond = class extends Timestamp_ {
|
|
1976
|
+
constructor(timezone) {
|
|
1977
|
+
super(TimeUnit.NANOSECOND, timezone);
|
|
1978
|
+
}
|
|
1979
|
+
};
|
|
1930
1980
|
var Interval_ = class extends DataType {
|
|
1931
1981
|
constructor(unit) {
|
|
1932
1982
|
super();
|
|
@@ -1945,6 +1995,16 @@
|
|
|
1945
1995
|
proto.ArrayType = Int32Array;
|
|
1946
1996
|
return proto[Symbol.toStringTag] = "Interval";
|
|
1947
1997
|
})(Interval_.prototype);
|
|
1998
|
+
var IntervalDayTime = class extends Interval_ {
|
|
1999
|
+
constructor() {
|
|
2000
|
+
super(IntervalUnit.DAY_TIME);
|
|
2001
|
+
}
|
|
2002
|
+
};
|
|
2003
|
+
var IntervalYearMonth = class extends Interval_ {
|
|
2004
|
+
constructor() {
|
|
2005
|
+
super(IntervalUnit.YEAR_MONTH);
|
|
2006
|
+
}
|
|
2007
|
+
};
|
|
1948
2008
|
var List = class extends DataType {
|
|
1949
2009
|
constructor(child) {
|
|
1950
2010
|
super();
|
|
@@ -11893,14 +11953,189 @@ return true;`);
|
|
|
11893
11953
|
}
|
|
11894
11954
|
return {
|
|
11895
11955
|
shape: "columnar-table",
|
|
11956
|
+
schema: table.schema,
|
|
11896
11957
|
data: columnarTable
|
|
11897
11958
|
};
|
|
11898
11959
|
}
|
|
11899
11960
|
|
|
11961
|
+
// src/schema/convert-arrow-schema.ts
|
|
11962
|
+
function serializeArrowSchema(arrowSchema) {
|
|
11963
|
+
return {
|
|
11964
|
+
fields: arrowSchema.fields.map((arrowField) => serializeArrowField(arrowField)),
|
|
11965
|
+
metadata: serializeArrowMetadata(arrowSchema.metadata)
|
|
11966
|
+
};
|
|
11967
|
+
}
|
|
11968
|
+
function serializeArrowMetadata(arrowMetadata) {
|
|
11969
|
+
return Object.fromEntries(arrowMetadata);
|
|
11970
|
+
}
|
|
11971
|
+
function serializeArrowField(field) {
|
|
11972
|
+
return {
|
|
11973
|
+
name: field.name,
|
|
11974
|
+
type: serializeArrowType(field.type),
|
|
11975
|
+
nullable: field.nullable,
|
|
11976
|
+
metadata: serializeArrowMetadata(field.metadata)
|
|
11977
|
+
};
|
|
11978
|
+
}
|
|
11979
|
+
function serializeArrowType(arrowType) {
|
|
11980
|
+
switch (arrowType.constructor) {
|
|
11981
|
+
case Null:
|
|
11982
|
+
return "null";
|
|
11983
|
+
case Binary:
|
|
11984
|
+
return "binary";
|
|
11985
|
+
case Bool:
|
|
11986
|
+
return "bool";
|
|
11987
|
+
case Int_:
|
|
11988
|
+
const intType = arrowType;
|
|
11989
|
+
return `${intType.isSigned ? "u" : ""}int${intType.bitWidth}`;
|
|
11990
|
+
case Int8:
|
|
11991
|
+
return "int8";
|
|
11992
|
+
case Int16:
|
|
11993
|
+
return "int16";
|
|
11994
|
+
case Int32:
|
|
11995
|
+
return "int32";
|
|
11996
|
+
case Int64:
|
|
11997
|
+
return "int64";
|
|
11998
|
+
case Uint8:
|
|
11999
|
+
return "uint8";
|
|
12000
|
+
case Uint16:
|
|
12001
|
+
return "uint16";
|
|
12002
|
+
case Uint32:
|
|
12003
|
+
return "uint32";
|
|
12004
|
+
case Uint64:
|
|
12005
|
+
return "uint64";
|
|
12006
|
+
case Float:
|
|
12007
|
+
const precision = arrowType.precision;
|
|
12008
|
+
switch (precision) {
|
|
12009
|
+
case Precision.HALF:
|
|
12010
|
+
return "float16";
|
|
12011
|
+
case Precision.SINGLE:
|
|
12012
|
+
return "float32";
|
|
12013
|
+
case Precision.DOUBLE:
|
|
12014
|
+
return "float64";
|
|
12015
|
+
default:
|
|
12016
|
+
return "float16";
|
|
12017
|
+
}
|
|
12018
|
+
case Float16:
|
|
12019
|
+
return "float16";
|
|
12020
|
+
case Float32:
|
|
12021
|
+
return "float32";
|
|
12022
|
+
case Float64:
|
|
12023
|
+
return "float64";
|
|
12024
|
+
case Utf8:
|
|
12025
|
+
return "utf8";
|
|
12026
|
+
case Decimal:
|
|
12027
|
+
const decimal = arrowType;
|
|
12028
|
+
return {
|
|
12029
|
+
type: "decimal",
|
|
12030
|
+
bitWidth: decimal.bitWidth,
|
|
12031
|
+
precision: decimal.precision,
|
|
12032
|
+
scale: decimal.scale
|
|
12033
|
+
};
|
|
12034
|
+
case Date_:
|
|
12035
|
+
const dateUnit = arrowType.unit;
|
|
12036
|
+
return dateUnit === DateUnit.DAY ? "date-day" : "date-millisecond";
|
|
12037
|
+
case DateDay:
|
|
12038
|
+
return "date-day";
|
|
12039
|
+
case DateMillisecond:
|
|
12040
|
+
return "date-millisecond";
|
|
12041
|
+
case Time_:
|
|
12042
|
+
const timeUnit = arrowType.unit;
|
|
12043
|
+
switch (timeUnit) {
|
|
12044
|
+
case TimeUnit.SECOND:
|
|
12045
|
+
return "time-second";
|
|
12046
|
+
case TimeUnit.MILLISECOND:
|
|
12047
|
+
return "time-millisecond";
|
|
12048
|
+
case TimeUnit.MICROSECOND:
|
|
12049
|
+
return "time-microsecond";
|
|
12050
|
+
case TimeUnit.NANOSECOND:
|
|
12051
|
+
return "time-nanosecond";
|
|
12052
|
+
default:
|
|
12053
|
+
return "time-second";
|
|
12054
|
+
}
|
|
12055
|
+
case TimeMillisecond:
|
|
12056
|
+
return "time-millisecond";
|
|
12057
|
+
case TimeSecond:
|
|
12058
|
+
return "time-second";
|
|
12059
|
+
case TimeMicrosecond:
|
|
12060
|
+
return "time-microsecond";
|
|
12061
|
+
case TimeNanosecond:
|
|
12062
|
+
return "time-nanosecond";
|
|
12063
|
+
case Timestamp_:
|
|
12064
|
+
const timeStampUnit = arrowType.unit;
|
|
12065
|
+
switch (timeStampUnit) {
|
|
12066
|
+
case TimeUnit.SECOND:
|
|
12067
|
+
return "timestamp-second";
|
|
12068
|
+
case TimeUnit.MILLISECOND:
|
|
12069
|
+
return "timestamp-millisecond";
|
|
12070
|
+
case TimeUnit.MICROSECOND:
|
|
12071
|
+
return "timestamp-microsecond";
|
|
12072
|
+
case TimeUnit.NANOSECOND:
|
|
12073
|
+
return "timestamp-nanosecond";
|
|
12074
|
+
default:
|
|
12075
|
+
return "timestamp-second";
|
|
12076
|
+
}
|
|
12077
|
+
case TimestampSecond:
|
|
12078
|
+
return "timestamp-second";
|
|
12079
|
+
case TimestampMillisecond:
|
|
12080
|
+
return "timestamp-millisecond";
|
|
12081
|
+
case TimestampMicrosecond:
|
|
12082
|
+
return "timestamp-microsecond";
|
|
12083
|
+
case TimestampNanosecond:
|
|
12084
|
+
return "timestamp-nanosecond";
|
|
12085
|
+
case Interval_:
|
|
12086
|
+
const intervalUnit = arrowType.unit;
|
|
12087
|
+
switch (intervalUnit) {
|
|
12088
|
+
case IntervalUnit.DAY_TIME:
|
|
12089
|
+
return "interval-daytime";
|
|
12090
|
+
case IntervalUnit.YEAR_MONTH:
|
|
12091
|
+
return "interval-yearmonth";
|
|
12092
|
+
default:
|
|
12093
|
+
return "interval-daytime";
|
|
12094
|
+
}
|
|
12095
|
+
case IntervalDayTime:
|
|
12096
|
+
return "interval-daytime";
|
|
12097
|
+
case IntervalYearMonth:
|
|
12098
|
+
return "interval-yearmonth";
|
|
12099
|
+
case Map_:
|
|
12100
|
+
const mapType = arrowType;
|
|
12101
|
+
return {
|
|
12102
|
+
type: "map",
|
|
12103
|
+
keysSorted: mapType.keysSorted,
|
|
12104
|
+
children: mapType.children.map((arrowField) => serializeArrowField(arrowField))
|
|
12105
|
+
};
|
|
12106
|
+
case List:
|
|
12107
|
+
const listType = arrowType;
|
|
12108
|
+
const listField = listType.valueField;
|
|
12109
|
+
return {
|
|
12110
|
+
type: "list",
|
|
12111
|
+
children: [serializeArrowField(listField)]
|
|
12112
|
+
};
|
|
12113
|
+
case FixedSizeList:
|
|
12114
|
+
const fixedSizeList = arrowType;
|
|
12115
|
+
return {
|
|
12116
|
+
type: "fixed-size-list",
|
|
12117
|
+
listSize: fixedSizeList.listSize,
|
|
12118
|
+
children: [serializeArrowField(fixedSizeList.children[0])]
|
|
12119
|
+
};
|
|
12120
|
+
case Struct:
|
|
12121
|
+
const structType = arrowType;
|
|
12122
|
+
return {
|
|
12123
|
+
type: "struct",
|
|
12124
|
+
children: structType.children.map((arrowField) => serializeArrowField(arrowField))
|
|
12125
|
+
};
|
|
12126
|
+
default:
|
|
12127
|
+
throw new Error(`arrow type not supported: ${arrowType.constructor.name}`);
|
|
12128
|
+
}
|
|
12129
|
+
}
|
|
12130
|
+
|
|
11900
12131
|
// src/parsers/parse-arrow-sync.ts
|
|
11901
12132
|
function parseArrowSync(arrayBuffer, options) {
|
|
11902
12133
|
const apacheArrowTable = tableFromIPC([new Uint8Array(arrayBuffer)]);
|
|
11903
|
-
const arrowTable = {
|
|
12134
|
+
const arrowTable = {
|
|
12135
|
+
shape: "arrow-table",
|
|
12136
|
+
schema: serializeArrowSchema(apacheArrowTable.schema),
|
|
12137
|
+
data: apacheArrowTable
|
|
12138
|
+
};
|
|
11904
12139
|
const shape = options?.shape || "arrow-table";
|
|
11905
12140
|
switch (shape) {
|
|
11906
12141
|
case "arrow-table":
|
|
@@ -11939,7 +12174,7 @@ return true;`);
|
|
|
11939
12174
|
}
|
|
11940
12175
|
|
|
11941
12176
|
// src/arrow-loader.ts
|
|
11942
|
-
var VERSION = true ? "4.0.
|
|
12177
|
+
var VERSION = true ? "4.1.0-alpha.1" : "latest";
|
|
11943
12178
|
var ArrowWorkerLoader = {
|
|
11944
12179
|
name: "Apache Arrow",
|
|
11945
12180
|
id: "arrow",
|