UNPKG

@antv/data-wizard

Version:
73 lines (72 loc) 3.17 kB
import { __assign } from "tslib"; import { isDateString } from '../analyzer/is-date'; import { isArray, isNumber, isString, range, assert, isBoolean, isNull } from '../utils'; export var isAxis = function (value) { return isNumber(value) || isString(value); }; // generate indexes for 1D and 2D array export var generateArrayIndex = function (data, extraIndex) { assert(isArray(data), 'Data must be an array'); if (extraIndex) { assert((extraIndex === null || extraIndex === void 0 ? void 0 : extraIndex.length) === data.length, "Index length is " + (extraIndex === null || extraIndex === void 0 ? void 0 : extraIndex.length) + ", but data size is " + data.length); return extraIndex; } return range(data.length); }; export var flatObject = function (obj, concatenator) { if (concatenator === void 0) { concatenator = '.'; } return Object.keys(obj).reduce(function (acc, key) { var _a; if (typeof obj[key] !== 'object' || obj[key] === null) { return __assign(__assign({}, acc), (_a = {}, _a[key] = obj[key], _a)); } var flattenedChild = flatObject(obj[key], concatenator); return __assign(__assign({}, acc), Object.keys(flattenedChild).reduce(function (childAcc, childKey) { var _a; return (__assign(__assign({}, childAcc), (_a = {}, _a["" + key + concatenator + childKey] = flattenedChild[childKey], _a))); }, {})); }, {}); }; export var fillMissingValue = function (datum, fillValue) { return !datum && JSON.stringify(fillValue) ? fillValue : datum; }; export var generateSplit = function (length) { return Array(isNumber(length) ? length : 0) .fill(' ') .concat(' ') .join(''); }; export var stringify = function (value) { var _a, _b, _c, _d, _e, _f; return ((_f = (_e = (_d = (_c = (_b = (_a = JSON.stringify(value)) === null || _a === void 0 ? void 0 : _a.replace(/\\n/g, '')) === null || _b === void 0 ? void 0 : _b.replace(/\\/g, '')) === null || _c === void 0 ? void 0 : _c.replace(/"\[/g, '[')) === null || _d === void 0 ? void 0 : _d.replace(/\]"/g, ']')) === null || _e === void 0 ? void 0 : _e.replace(/"\{/g, '{')) === null || _f === void 0 ? void 0 : _f.replace(/\}"/g, ' }')) || 'undefined'; }; export var getStringifyLength = function (value) { var _a; return (_a = stringify(value)) === null || _a === void 0 ? void 0 : _a.length; }; /** * Convert data to specified data type. * @param datum * @param type * @returns converted data */ export var convertDataType = function (data, type) { try { if (type === 'string' && !isString(data)) { return "" + data; } if (type === 'boolean' && !isBoolean(data)) { return Boolean(data); } if (type === 'null' && !isNull(data)) { return null; } if ((type === 'integer' || type === 'float') && !isNumber(data)) { return +data; } if (type === 'date' && !isDateString("" + data)) { return new Date(data); } } catch (error) { throw new Error(error); } return data; };