This repository has been archived on 2023-03-25. You can view files and clone it, but cannot push or open issues or pull requests.
mightyscape-1.1-deprecated/extensions/fablabchemnitz/dxfdwgimporter/node_modules/dxf/lib/handlers/blocks.js

70 lines
1.5 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _entities = _interopRequireDefault(require("./entities"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _default = function _default(tuples) {
var state;
var blocks = [];
var block;
var entitiesTuples = [];
tuples.forEach(function (tuple) {
var type = tuple[0];
var value = tuple[1];
if (value === 'BLOCK') {
state = 'block';
block = {};
entitiesTuples = [];
blocks.push(block);
} else if (value === 'ENDBLK') {
if (state === 'entities') {
block.entities = (0, _entities["default"])(entitiesTuples);
} else {
block.entities = [];
}
entitiesTuples = undefined;
state = undefined;
} else if (state === 'block' && type !== 0) {
switch (type) {
case 1:
block.xref = value;
break;
case 2:
block.name = value;
break;
case 10:
block.x = value;
break;
case 20:
block.y = value;
break;
case 30:
block.z = value;
break;
default:
break;
}
} else if (state === 'block' && type === 0) {
state = 'entities';
entitiesTuples.push(tuple);
} else if (state === 'entities') {
entitiesTuples.push(tuple);
}
});
return blocks;
};
exports["default"] = _default;