@tdb/util
Version:
Shared helpers and utilities.
74 lines • 2.01 kB
JavaScript
;
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