nodejs-polars
Version:
Polars: Blazingly fast DataFrames in Rust, Python, Node.js, R and SQL
67 lines (66 loc) • 2.74 kB
JavaScript
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");
;