UNPKG

nodejs-polars

Version:

Polars: Blazingly fast DataFrames in Rust, Python, Node.js, R and SQL

67 lines (66 loc) 2.74 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.INSPECT_SYMBOL = exports.regexToString = exports.isIterator = exports.isExprArray = exports.isSeriesArray = exports.isLazyDataFrameArray = exports.isDataFrameArray = exports.range = void 0; exports.columnOrColumns = columnOrColumns; exports.columnOrColumnsStrict = columnOrColumnsStrict; exports.selectionToExprList = selectionToExprList; exports.isPath = isPath; const node_path_1 = __importDefault(require("node:path")); const types_1 = require("node:util/types"); const dataframe_1 = require("./dataframe"); const dataframe_2 = require("./lazy/dataframe"); const expr_1 = require("./lazy/expr"); const series_1 = require("./series"); /** @ignore */ function columnOrColumns(columns) { if (columns) { return columnOrColumnsStrict(columns); } } /** @ignore */ function columnOrColumnsStrict(...columns) { return columns.flat(3); } /** @ignore */ function selectionToExprList(columns, stringToLit) { return [columns] .flat(3) .map((expr) => (0, expr_1.exprToLitOrExpr)(expr, stringToLit)._expr); } /** @ignore */ function isPath(s, expectedExtensions) { const { base, ext, name } = node_path_1.default.parse(s); return Boolean(base && ext && name) && !!expectedExtensions?.includes(ext); } const range = (start, end) => { const length = end - start; return Array.from({ length }, (_, i) => start + i); }; exports.range = range; const isDataFrameArray = (ty) => Array.isArray(ty) && dataframe_1.DataFrame.isDataFrame(ty[0]); exports.isDataFrameArray = isDataFrameArray; const isLazyDataFrameArray = (ty) => Array.isArray(ty) && dataframe_2.LazyDataFrame.isLazyDataFrame(ty[0]); exports.isLazyDataFrameArray = isLazyDataFrameArray; const isSeriesArray = (ty) => Array.isArray(ty) && ty.every(series_1.Series.isSeries); exports.isSeriesArray = isSeriesArray; const isExprArray = (ty) => Array.isArray(ty) && expr_1.Expr.isExpr(ty[0]); exports.isExprArray = isExprArray; const isIterator = (ty) => ty !== null && typeof ty[Symbol.iterator] === "function"; exports.isIterator = isIterator; const regexToString = (r) => { if ((0, types_1.isRegExp)(r)) { if (r.flags.includes("g")) { throw new Error("global flag is not supported"); } if (r.flags.includes("y")) { throw new Error("sticky flag is not supported"); } return r.flags ? `(?${r.flags})${r.source}` : r.source; } return r; }; exports.regexToString = regexToString; exports.INSPECT_SYMBOL = Symbol.for("nodejs.util.inspect.custom");