@ohos-ports/nodejs-polars 0.22.2-beta.0

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 (71) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +217 -0
  3. package/bin/cfg.d.ts +156 -0
  4. package/bin/cfg.js +52 -0
  5. package/bin/dataframe.d.ts +2008 -0
  6. package/bin/dataframe.js +771 -0
  7. package/bin/datatypes/conversion.d.ts +2 -0
  8. package/bin/datatypes/conversion.js +2 -0
  9. package/bin/datatypes/datatype.d.ts +252 -0
  10. package/bin/datatypes/datatype.js +386 -0
  11. package/bin/datatypes/field.d.ts +26 -0
  12. package/bin/datatypes/field.js +36 -0
  13. package/bin/datatypes/index.d.ts +42 -0
  14. package/bin/datatypes/index.js +119 -0
  15. package/bin/error.d.ts +7 -0
  16. package/bin/error.js +17 -0
  17. package/bin/functions.d.ts +26 -0
  18. package/bin/functions.js +208 -0
  19. package/bin/groupby.d.ts +173 -0
  20. package/bin/groupby.js +156 -0
  21. package/bin/html.d.ts +4 -0
  22. package/bin/html.js +18 -0
  23. package/bin/index.d.ts +252 -0
  24. package/bin/index.js +265 -0
  25. package/bin/internals/construction.d.ts +7 -0
  26. package/bin/internals/construction.js +237 -0
  27. package/bin/internals/polars_internal.d.ts +2 -0
  28. package/bin/internals/polars_internal.js +7 -0
  29. package/bin/io.d.ts +421 -0
  30. package/bin/io.js +332 -0
  31. package/bin/lazy/dataframe.d.ts +693 -0
  32. package/bin/lazy/dataframe.js +421 -0
  33. package/bin/lazy/expr/datetime.d.ts +8 -0
  34. package/bin/lazy/expr/datetime.js +25 -0
  35. package/bin/lazy/expr/index.d.ts +1155 -0
  36. package/bin/lazy/expr/index.js +629 -0
  37. package/bin/lazy/expr/list.d.ts +8 -0
  38. package/bin/lazy/expr/list.js +115 -0
  39. package/bin/lazy/expr/string.d.ts +534 -0
  40. package/bin/lazy/expr/string.js +131 -0
  41. package/bin/lazy/expr/struct.d.ts +126 -0
  42. package/bin/lazy/expr/struct.js +26 -0
  43. package/bin/lazy/functions.d.ts +620 -0
  44. package/bin/lazy/functions.js +691 -0
  45. package/bin/lazy/groupby.d.ts +24 -0
  46. package/bin/lazy/groupby.js +22 -0
  47. package/bin/lazy/index.d.ts +4 -0
  48. package/bin/lazy/index.js +20 -0
  49. package/bin/lazy/whenthen.d.ts +67 -0
  50. package/bin/lazy/whenthen.js +81 -0
  51. package/bin/native-polars.d.ts +2 -0
  52. package/bin/native-polars.js +267 -0
  53. package/bin/series/datetime.d.ts +8 -0
  54. package/bin/series/datetime.js +25 -0
  55. package/bin/series/index.d.ts +1116 -0
  56. package/bin/series/index.js +689 -0
  57. package/bin/series/list.d.ts +8 -0
  58. package/bin/series/list.js +87 -0
  59. package/bin/series/string.d.ts +300 -0
  60. package/bin/series/string.js +125 -0
  61. package/bin/series/struct.d.ts +36 -0
  62. package/bin/series/struct.js +35 -0
  63. package/bin/shared_traits.d.ts +1325 -0
  64. package/bin/shared_traits.js +2 -0
  65. package/bin/sql.d.ts +244 -0
  66. package/bin/sql.js +63 -0
  67. package/bin/types.d.ts +284 -0
  68. package/bin/types.js +2 -0
  69. package/bin/utils.d.ts +38 -0
  70. package/bin/utils.js +69 -0
  71. package/package.json +51 -0
package/bin/index.js ADDED
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.anyHorizontal = exports.allHorizontal = exports.struct = exports.select = exports.quantile = exports.pearsonCorr = exports.nUnique = exports.median = exports.mean = exports.last = exports.head = exports.groups = exports.format = exports.first = exports.element = exports.exclude = exports.cov = exports.count = exports.concatString = exports.concatList = exports.avg = exports.argSortBy = exports.intRanges = exports.intRange = exports.lit = exports.cols = exports.col = exports.readJSONStream = exports.readCSVStream = exports.readAvro = exports.readParquet = exports.readJSON = exports.readIPCStream = exports.readIPC = exports.readCSV = exports.readRecords = exports.scanParquet = exports.scanIPC = exports.scanJson = exports.scanCSV = exports.concat = exports.repeat = exports.Field = exports.Config = exports.Series = exports.LazyDataFrame = exports.DataFrame = exports.Expr = exports.pl = exports.DataType = void 0;
43
+ exports.Decimal = exports.Struct = exports.Null = exports.Object = exports.Time = exports.Datetime = exports.Date = exports.FixedSizeList = exports.List = exports.String = exports.Utf8 = exports.Bool = exports.Float64 = exports.Float32 = exports.UInt64 = exports.UInt32 = exports.UInt16 = exports.UInt8 = exports.Int64 = exports.Int32 = exports.Int16 = exports.Int8 = exports.Categorical = exports.version = exports.when = exports.list = exports.tail = exports.spearmanRankCorr = exports.sumHorizontal = exports.maxHorizontal = exports.minHorizontal = void 0;
44
+ exports.SQLContext = SQLContext;
45
+ const df = __importStar(require("./dataframe"));
46
+ const datatypes_1 = require("./datatypes");
47
+ const series = __importStar(require("./series"));
48
+ var datatypes_2 = require("./datatypes");
49
+ Object.defineProperty(exports, "DataType", { enumerable: true, get: function () { return datatypes_2.DataType; } });
50
+ const cfg = __importStar(require("./cfg"));
51
+ const func = __importStar(require("./functions"));
52
+ const polars_internal_1 = __importDefault(require("./internals/polars_internal"));
53
+ const io = __importStar(require("./io"));
54
+ const ldf = __importStar(require("./lazy/dataframe"));
55
+ __exportStar(require("./cfg"), exports);
56
+ __exportStar(require("./dataframe"), exports);
57
+ __exportStar(require("./functions"), exports);
58
+ __exportStar(require("./io"), exports);
59
+ __exportStar(require("./lazy"), exports);
60
+ __exportStar(require("./lazy/dataframe"), exports);
61
+ __exportStar(require("./series"), exports);
62
+ const lazy = __importStar(require("./lazy"));
63
+ __exportStar(require("./types"), exports);
64
+ const sql = __importStar(require("./sql"));
65
+ var pl;
66
+ (function (pl) {
67
+ pl.Expr = lazy.Expr;
68
+ pl.DataFrame = df.DataFrame;
69
+ pl.LazyDataFrame = ldf.LazyDataFrame;
70
+ pl.Series = series.Series;
71
+ pl.Config = cfg.Config;
72
+ pl.Field = datatypes_1.Field;
73
+ pl.repeat = func.repeat;
74
+ pl.concat = func.concat;
75
+ // IO
76
+ pl.scanCSV = io.scanCSV;
77
+ pl.scanJson = io.scanJson;
78
+ pl.scanIPC = io.scanIPC;
79
+ pl.scanParquet = io.scanParquet;
80
+ pl.readRecords = io.readRecords;
81
+ pl.readCSV = io.readCSV;
82
+ pl.readIPC = io.readIPC;
83
+ pl.readIPCStream = io.readIPCStream;
84
+ pl.readJSON = io.readJSON;
85
+ pl.readParquet = io.readParquet;
86
+ pl.readAvro = io.readAvro;
87
+ pl.readCSVStream = io.readCSVStream;
88
+ pl.readJSONStream = io.readJSONStream;
89
+ // lazy
90
+ pl.col = lazy.col;
91
+ pl.nth = lazy.nth;
92
+ pl.cols = lazy.cols;
93
+ pl.lit = lazy.lit;
94
+ pl.intRange = lazy.intRange;
95
+ pl.intRanges = lazy.intRanges;
96
+ pl.argSortBy = lazy.argSortBy;
97
+ pl.avg = lazy.avg;
98
+ pl.concatList = lazy.concatList;
99
+ pl.concatString = lazy.concatString;
100
+ pl.count = lazy.count;
101
+ pl.cov = lazy.cov;
102
+ pl.exclude = lazy.exclude;
103
+ pl.element = lazy.element;
104
+ pl.first = lazy.first;
105
+ pl.format = lazy.format;
106
+ pl.groups = lazy.groups;
107
+ pl.head = lazy.head;
108
+ pl.last = lazy.last;
109
+ pl.len = lazy.len;
110
+ pl.mean = lazy.mean;
111
+ pl.median = lazy.median;
112
+ pl.nUnique = lazy.nUnique;
113
+ pl.pearsonCorr = lazy.pearsonCorr;
114
+ pl.quantile = lazy.quantile;
115
+ pl.select = lazy.select;
116
+ pl.struct = lazy.struct;
117
+ pl.allHorizontal = lazy.allHorizontal;
118
+ pl.anyHorizontal = lazy.anyHorizontal;
119
+ pl.minHorizontal = lazy.minHorizontal;
120
+ pl.maxHorizontal = lazy.maxHorizontal;
121
+ pl.sumHorizontal = lazy.sumHorizontal;
122
+ pl.spearmanRankCorr = lazy.spearmanRankCorr;
123
+ pl.tail = lazy.tail;
124
+ pl.list = lazy.list;
125
+ pl.when = lazy.when;
126
+ pl.version = polars_internal_1.default.version();
127
+ pl.Categorical = datatypes_1.DataType.Categorical;
128
+ pl.Int8 = datatypes_1.DataType.Int8;
129
+ pl.Int16 = datatypes_1.DataType.Int16;
130
+ pl.Int32 = datatypes_1.DataType.Int32;
131
+ pl.Int64 = datatypes_1.DataType.Int64;
132
+ pl.UInt8 = datatypes_1.DataType.UInt8;
133
+ pl.UInt16 = datatypes_1.DataType.UInt16;
134
+ pl.UInt32 = datatypes_1.DataType.UInt32;
135
+ pl.UInt64 = datatypes_1.DataType.UInt64;
136
+ pl.Float32 = datatypes_1.DataType.Float32;
137
+ pl.Float64 = datatypes_1.DataType.Float64;
138
+ pl.Bool = datatypes_1.DataType.Bool;
139
+ pl.Utf8 = datatypes_1.DataType.Utf8;
140
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: pl.String
141
+ pl.String = datatypes_1.DataType.String;
142
+ pl.List = datatypes_1.DataType.List;
143
+ pl.FixedSizeList = datatypes_1.DataType.FixedSizeList;
144
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: pl.Date
145
+ pl.Date = datatypes_1.DataType.Date;
146
+ pl.Datetime = datatypes_1.DataType.Datetime;
147
+ pl.Time = datatypes_1.DataType.Time;
148
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: pl.Object
149
+ pl.Object = datatypes_1.DataType.Object;
150
+ pl.Null = datatypes_1.DataType.Null;
151
+ pl.Struct = datatypes_1.DataType.Struct;
152
+ pl.Decimal = datatypes_1.DataType.Decimal;
153
+ /**
154
+ * Run SQL queries against DataFrame/LazyFrame data.
155
+ *
156
+ * @experimental This functionality is considered **unstable**, although it is close to being
157
+ * considered stable. It may be changed at any point without it being considered a breaking change.
158
+ */
159
+ function SQLContext(frames) {
160
+ return new sql.SQLContext(frames);
161
+ }
162
+ pl.SQLContext = SQLContext;
163
+ })(pl || (exports.pl = pl = {}));
164
+ exports.default = pl;
165
+ // ------
166
+ // CommonJS compatibility.
167
+ // This allows the user to use any of the following
168
+ // `import * as pl from "nodejs-polars"`
169
+ // `import pl from "nodejs-polars"`.
170
+ // `const pl = require("nodejs-polars")`.
171
+ // `const { DataFrame, Series, } = require("nodejs-polars")`.
172
+ // ------
173
+ exports.Expr = lazy.Expr;
174
+ exports.DataFrame = df.DataFrame;
175
+ exports.LazyDataFrame = ldf.LazyDataFrame;
176
+ exports.Series = series.Series;
177
+ exports.Config = cfg.Config;
178
+ exports.Field = datatypes_1.Field;
179
+ exports.repeat = func.repeat;
180
+ exports.concat = func.concat;
181
+ // IO
182
+ exports.scanCSV = io.scanCSV;
183
+ exports.scanJson = io.scanJson;
184
+ exports.scanIPC = io.scanIPC;
185
+ exports.scanParquet = io.scanParquet;
186
+ exports.readRecords = io.readRecords;
187
+ exports.readCSV = io.readCSV;
188
+ exports.readIPC = io.readIPC;
189
+ exports.readIPCStream = io.readIPCStream;
190
+ exports.readJSON = io.readJSON;
191
+ exports.readParquet = io.readParquet;
192
+ exports.readAvro = io.readAvro;
193
+ exports.readCSVStream = io.readCSVStream;
194
+ exports.readJSONStream = io.readJSONStream;
195
+ // lazy
196
+ exports.col = lazy.col;
197
+ exports.cols = lazy.cols;
198
+ exports.lit = lazy.lit;
199
+ exports.intRange = lazy.intRange;
200
+ exports.intRanges = lazy.intRanges;
201
+ exports.argSortBy = lazy.argSortBy;
202
+ exports.avg = lazy.avg;
203
+ exports.concatList = lazy.concatList;
204
+ exports.concatString = lazy.concatString;
205
+ exports.count = lazy.count;
206
+ exports.cov = lazy.cov;
207
+ exports.exclude = lazy.exclude;
208
+ exports.element = lazy.element;
209
+ exports.first = lazy.first;
210
+ exports.format = lazy.format;
211
+ exports.groups = lazy.groups;
212
+ exports.head = lazy.head;
213
+ exports.last = lazy.last;
214
+ exports.mean = lazy.mean;
215
+ exports.median = lazy.median;
216
+ exports.nUnique = lazy.nUnique;
217
+ exports.pearsonCorr = lazy.pearsonCorr;
218
+ exports.quantile = lazy.quantile;
219
+ exports.select = lazy.select;
220
+ exports.struct = lazy.struct;
221
+ exports.allHorizontal = lazy.allHorizontal;
222
+ exports.anyHorizontal = lazy.anyHorizontal;
223
+ exports.minHorizontal = lazy.minHorizontal;
224
+ exports.maxHorizontal = lazy.maxHorizontal;
225
+ exports.sumHorizontal = lazy.sumHorizontal;
226
+ exports.spearmanRankCorr = lazy.spearmanRankCorr;
227
+ exports.tail = lazy.tail;
228
+ exports.list = lazy.list;
229
+ exports.when = lazy.when;
230
+ exports.version = polars_internal_1.default.version();
231
+ exports.Categorical = datatypes_1.DataType.Categorical;
232
+ exports.Int8 = datatypes_1.DataType.Int8;
233
+ exports.Int16 = datatypes_1.DataType.Int16;
234
+ exports.Int32 = datatypes_1.DataType.Int32;
235
+ exports.Int64 = datatypes_1.DataType.Int64;
236
+ exports.UInt8 = datatypes_1.DataType.UInt8;
237
+ exports.UInt16 = datatypes_1.DataType.UInt16;
238
+ exports.UInt32 = datatypes_1.DataType.UInt32;
239
+ exports.UInt64 = datatypes_1.DataType.UInt64;
240
+ exports.Float32 = datatypes_1.DataType.Float32;
241
+ exports.Float64 = datatypes_1.DataType.Float64;
242
+ exports.Bool = datatypes_1.DataType.Bool;
243
+ exports.Utf8 = datatypes_1.DataType.Utf8;
244
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: pl.String
245
+ exports.String = datatypes_1.DataType.String;
246
+ exports.List = datatypes_1.DataType.List;
247
+ exports.FixedSizeList = datatypes_1.DataType.FixedSizeList;
248
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: pl.Date
249
+ exports.Date = datatypes_1.DataType.Date;
250
+ exports.Datetime = datatypes_1.DataType.Datetime;
251
+ exports.Time = datatypes_1.DataType.Time;
252
+ // biome-ignore lint/suspicious/noShadowRestrictedNames: pl.Object
253
+ exports.Object = datatypes_1.DataType.Object;
254
+ exports.Null = datatypes_1.DataType.Null;
255
+ exports.Struct = datatypes_1.DataType.Struct;
256
+ exports.Decimal = datatypes_1.DataType.Decimal;
257
+ /**
258
+ * Run SQL queries against DataFrame/LazyFrame data.
259
+ *
260
+ * @experimental This functionality is considered **unstable**, although it is close to being
261
+ * considered stable. It may be changed at any point without it being considered a breaking change.
262
+ */
263
+ function SQLContext(frames) {
264
+ return new sql.SQLContext(frames);
265
+ }
@@ -0,0 +1,7 @@
1
+ import { DataType } from "../datatypes";
2
+ export declare const jsTypeToPolarsType: (value: unknown) => DataType;
3
+ /**
4
+ * Construct an internal `JsSeries` from an array
5
+ */
6
+ export declare function arrayToJsSeries(name?: string, values?: any[], dtype?: DataType): any;
7
+ export declare function arrayToJsDataFrame(data: any[], options?: any): any;
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.jsTypeToPolarsType = void 0;
7
+ exports.arrayToJsSeries = arrayToJsSeries;
8
+ exports.arrayToJsDataFrame = arrayToJsDataFrame;
9
+ const types_1 = require("node:util/types");
10
+ const datatypes_1 = require("../datatypes");
11
+ const datatype_1 = require("../datatypes/datatype");
12
+ const field_1 = require("../datatypes/field");
13
+ const series_1 = require("../series");
14
+ const polars_internal_1 = __importDefault(require("./polars_internal"));
15
+ const jsTypeToPolarsType = (value) => {
16
+ if (value === null) {
17
+ return datatypes_1.DataType.Float64;
18
+ }
19
+ if (Array.isArray(value)) {
20
+ return (0, exports.jsTypeToPolarsType)(firstNonNull(value));
21
+ }
22
+ if ((0, types_1.isTypedArray)(value)) {
23
+ switch (value.constructor.name) {
24
+ case Int8Array.name:
25
+ return datatypes_1.DataType.Int8;
26
+ case Int16Array.name:
27
+ return datatypes_1.DataType.Int16;
28
+ case Int32Array.name:
29
+ return datatypes_1.DataType.Int32;
30
+ case BigInt64Array.name:
31
+ return datatypes_1.DataType.Int64;
32
+ case Uint8Array.name:
33
+ return datatypes_1.DataType.UInt8;
34
+ case Uint16Array.name:
35
+ return datatypes_1.DataType.UInt16;
36
+ case Uint32Array.name:
37
+ return datatypes_1.DataType.UInt32;
38
+ case BigUint64Array.name:
39
+ return datatypes_1.DataType.UInt64;
40
+ case Float32Array.name:
41
+ return datatypes_1.DataType.Float32;
42
+ case Float64Array.name:
43
+ return datatypes_1.DataType.Float64;
44
+ default:
45
+ throw new Error(`unknown typed array type: ${value.constructor.name}`);
46
+ }
47
+ }
48
+ if (value instanceof Date) {
49
+ return datatypes_1.DataType.Datetime(datatype_1.TimeUnit.Milliseconds);
50
+ }
51
+ if (typeof value === "object" && value.constructor === Object) {
52
+ const flds = Object.entries(value).map(([name, value]) => {
53
+ const dtype = (0, exports.jsTypeToPolarsType)(value);
54
+ return field_1.Field.from(name, dtype);
55
+ });
56
+ return datatypes_1.DataType.Struct(flds);
57
+ }
58
+ switch (typeof value) {
59
+ case "bigint":
60
+ return datatypes_1.DataType.UInt64;
61
+ case "number":
62
+ return datatypes_1.DataType.Float64;
63
+ case "string":
64
+ return datatypes_1.DataType.Utf8;
65
+ case "boolean":
66
+ return datatypes_1.DataType.Bool;
67
+ default:
68
+ return datatypes_1.DataType.Float64;
69
+ }
70
+ };
71
+ exports.jsTypeToPolarsType = jsTypeToPolarsType;
72
+ /**
73
+ * __finds the first non null value in the inputs__
74
+ * ___
75
+ * If the first value is an array
76
+ * it will find the first scalar type in the array and return it wrapped into the array
77
+ *
78
+ * @example
79
+ * ```
80
+ * > const input = [null, [], [null, "a", "b"]]
81
+ * > firstNonNull(input)
82
+ * ["a"]
83
+ * > const ints = [null, 1]
84
+ * > firstNonNull(ints)
85
+ * 1
86
+ * ```
87
+ */
88
+ const firstNonNull = (arr) => {
89
+ const first = arr.find((x) => x !== null && x !== undefined);
90
+ if (Array.isArray(first)) {
91
+ return [firstNonNull(arr.flat())];
92
+ }
93
+ return first;
94
+ };
95
+ const fromTypedArray = (name, value) => {
96
+ switch (value.constructor.name) {
97
+ case Int8Array.name:
98
+ return polars_internal_1.default.JsSeries.newInt8Array(name, value);
99
+ case Int16Array.name:
100
+ return polars_internal_1.default.JsSeries.newInt16Array(name, value);
101
+ case Int32Array.name:
102
+ return polars_internal_1.default.JsSeries.newInt32Array(name, value);
103
+ case BigInt64Array.name:
104
+ return polars_internal_1.default.JsSeries.newBigint64Array(name, value);
105
+ case Uint8Array.name:
106
+ return polars_internal_1.default.JsSeries.newUint8Array(name, value);
107
+ case Uint8ClampedArray.name:
108
+ return polars_internal_1.default.JsSeries.newUint8ClampedArray(name, value);
109
+ case Uint16Array.name:
110
+ return polars_internal_1.default.JsSeries.newUint16Array(name, value);
111
+ case Uint32Array.name:
112
+ return polars_internal_1.default.JsSeries.newUint32Array(name, value);
113
+ case BigUint64Array.name:
114
+ return polars_internal_1.default.JsSeries.newBiguint64Array(name, value);
115
+ case Float32Array.name:
116
+ return polars_internal_1.default.JsSeries.newFloat32Array(name, value);
117
+ case Float64Array.name:
118
+ return polars_internal_1.default.JsSeries.newFloat64Array(name, value);
119
+ default:
120
+ throw new Error(`unknown typed array type: ${value.constructor.name}`);
121
+ }
122
+ };
123
+ /**
124
+ * Construct an internal `JsSeries` from an array
125
+ */
126
+ function arrayToJsSeries(name = "", values = [], dtype) {
127
+ if ((0, types_1.isTypedArray)(values)) {
128
+ return fromTypedArray(name, values);
129
+ }
130
+ // Empty sequence defaults to Float64 type
131
+ if (!(values?.length || dtype)) {
132
+ dtype = datatypes_1.DataType.Float64;
133
+ }
134
+ const firstValue = firstNonNull(values);
135
+ if (Array.isArray(firstValue) || (0, types_1.isTypedArray)(firstValue)) {
136
+ const arrayDtype = dtype ?? datatypes_1.DataType.List((0, exports.jsTypeToPolarsType)(firstValue));
137
+ const ctor = (0, datatypes_1.polarsTypeToConstructor)(arrayDtype);
138
+ const s = ctor(name, values, arrayDtype);
139
+ if (dtype instanceof datatype_1.FixedSizeList) {
140
+ // TODO: build a FixedSizeList natively in Rust
141
+ return s.cast(dtype);
142
+ }
143
+ return s;
144
+ }
145
+ dtype = dtype ?? (0, exports.jsTypeToPolarsType)(firstValue);
146
+ switch (dtype?.variant) {
147
+ case "Struct":
148
+ return polars_internal_1.default.fromRows(values, null, 1).toStruct(name);
149
+ case "Decimal":
150
+ if (typeof firstValue !== "bigint") {
151
+ throw new Error("Decimal type can only be constructed from BigInt");
152
+ }
153
+ return polars_internal_1.default.JsSeries.newAnyValue(name, values, dtype);
154
+ case "Time":
155
+ return polars_internal_1.default.JsSeries.newAnyValue(name, values, dtype);
156
+ }
157
+ let series;
158
+ if (firstValue instanceof Date) {
159
+ series = polars_internal_1.default.JsSeries.newOptDate(name, values);
160
+ }
161
+ else {
162
+ const ctor = (0, datatypes_1.polarsTypeToConstructor)(dtype);
163
+ series = ctor(name, values);
164
+ }
165
+ if ([
166
+ "Datetime",
167
+ "Date",
168
+ "Time",
169
+ "Categorical",
170
+ "Int8",
171
+ "Int16",
172
+ "UInt8",
173
+ "UInt16",
174
+ "Float32",
175
+ ].includes(dtype.variant)) {
176
+ series = series.cast(dtype);
177
+ }
178
+ return series;
179
+ }
180
+ function arrayToJsDataFrame(data, options) {
181
+ const columns = options?.columns;
182
+ let orient = options?.orient;
183
+ const schema = options?.schema;
184
+ const inferSchemaLength = options?.inferSchemaLength;
185
+ let dataSeries;
186
+ if (!data.length) {
187
+ dataSeries = [];
188
+ }
189
+ else if (data[0]?._s) {
190
+ dataSeries = [];
191
+ for (const [idx, series] of data.entries()) {
192
+ if (!series.name) {
193
+ series.rename(`column_${idx}`, true);
194
+ }
195
+ dataSeries.push(series._s);
196
+ }
197
+ }
198
+ else if (data[0].constructor.name === "Object") {
199
+ const df = polars_internal_1.default.fromRows(data, schema, inferSchemaLength);
200
+ if (columns) {
201
+ df.columns = columns;
202
+ }
203
+ return df;
204
+ }
205
+ else if (Array.isArray(data[0])) {
206
+ if (!orient && columns) {
207
+ orient = columns.length === data.length ? "col" : "row";
208
+ }
209
+ if (orient === "row") {
210
+ const df = polars_internal_1.default.fromRows(data);
211
+ if (columns)
212
+ df.columns = columns;
213
+ return df;
214
+ }
215
+ dataSeries = data.map((s, idx) => (0, series_1.Series)(`column_${idx}`, s)._s);
216
+ }
217
+ else {
218
+ dataSeries = [(0, series_1.Series)("column_0", data)._s];
219
+ }
220
+ dataSeries = handleColumnsArg(dataSeries, columns);
221
+ return new polars_internal_1.default.JsDataFrame(dataSeries);
222
+ }
223
+ function handleColumnsArg(data, columns) {
224
+ if (!columns) {
225
+ return data;
226
+ }
227
+ if (!data) {
228
+ return columns.map((c) => series_1.Series.from(c, [])._s);
229
+ }
230
+ if (data.length === columns.length) {
231
+ for (const [idx, name] of columns.entries()) {
232
+ data[idx].rename(name);
233
+ }
234
+ return data;
235
+ }
236
+ throw new TypeError("Dimensions of columns arg must match data dimensions.");
237
+ }
@@ -0,0 +1,2 @@
1
+ import pl from "../native-polars.js";
2
+ export default pl;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const native_polars_js_1 = __importDefault(require("../native-polars.js"));
7
+ exports.default = native_polars_js_1.default;