UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

48 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveId = exports.generateId = exports.resolveNillString = exports.generateNillString = void 0; const lodash_1 = require("lodash"); const constant_1 = require("../../common/constant"); /** * 维值转为字符串时, 如果是null/undefined, 则添加标记, 便于转回来. * null/undefined => "$$null$$/$$undefined$$" */ const generateNillString = (value) => { if ((0, lodash_1.isUndefined)(value)) { return constant_1.UNDEFINED_SYMBOL_ID; } if ((0, lodash_1.isNull)(value)) { return constant_1.NULL_SYMBOL_ID; } return String(value); }; exports.generateNillString = generateNillString; /** * 维值如果含有空值标记, 则转换为 null/undefined. * "$$null$$/$$undefined$$"" => null/undefined */ const resolveNillString = (value) => { if (value === constant_1.NULL_SYMBOL_ID) { return null; } if (value === constant_1.UNDEFINED_SYMBOL_ID) { return undefined; } return value; }; exports.resolveNillString = resolveNillString; const generateId = (...ids) => { return ids.map(exports.generateNillString).join(constant_1.NODE_ID_SEPARATOR); }; exports.generateId = generateId; const resolveId = (id = '') => { return id.split(constant_1.NODE_ID_SEPARATOR).reduce((result, current) => { if (current === constant_1.ROOT_NODE_ID) { return result; } result.push((0, exports.resolveNillString)(current)); return result; }, []); }; exports.resolveId = resolveId; //# sourceMappingURL=generate-id.js.map