UNPKG

@tdb/util

Version:
74 lines 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var libs_1 = require("../../libs"); var value_1 = require("../value"); exports.arrayToEdges = function (value) { if (value === undefined || value === null) { return undefined; } if (libs_1.R.is(String, value) && value_1.value.isBlank(value)) { return undefined; } if (Array.isArray(value) && value.length === 0) { return undefined; } if (!Array.isArray(value)) { value = value.toString().split(' '); } var edges = value .map(function (item) { return typeof item === 'string' && item.endsWith('px') ? item.replace(/px$/, '') : item; }) .map(function (item) { return value_1.value.toNumber(item); }); var top; var right; var bottom; var left; var getEdge = function (index) { var edge = edges[index]; if (edge === null || edge === 'null' || edge === '') { return undefined; } return edge; }; switch (edges.length) { case 1: top = getEdge(0); bottom = getEdge(0); left = getEdge(0); right = getEdge(0); break; case 2: top = getEdge(0); bottom = getEdge(0); left = getEdge(1); right = getEdge(1); break; case 3: top = getEdge(0); left = getEdge(1); right = getEdge(1); bottom = getEdge(2); break; default: top = getEdge(0); right = getEdge(1); bottom = getEdge(2); left = getEdge(3); } if (top === undefined && right === undefined && bottom === undefined && left === undefined) { return undefined; } return { top: top, right: right, bottom: bottom, left: left, }; }; //# sourceMappingURL=util.js.map