sketch-json-parse
Version:
sketch-json解析
28 lines (27 loc) • 977 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
// 切片位置调整 有蒙版图层的不能替换
const handleSortPosition = (layers) => {
if (!layers) {
return [];
}
// 同列不重叠上下交换,同行左右交换-不重叠
layers === null || layers === void 0 ? void 0 : layers.sort((layerA, layerB) => {
if (layerA.frame.y + layerA.frame.height < layerB.frame.y) {
return -1;
}
else if (layerA.frame.x + layerA.frame.width < layerB.frame.x
&& layerA.frame.y + layerA.frame.height > layerB.frame.y
&& layerA.frame.y < layerB.frame.y + layerB.frame.height) {
return -1;
}
return 0;
});
for (let i = 0; i < layers.length; i++) {
if (Array.isArray(layers[i].layers)) {
layers[i].layers = handleSortPosition(layers[i].layers);
}
}
return layers;
};
exports.default = handleSortPosition;