{
  "version": 3,
  "sources": ["../src/toPolylines.ts"],
  "sourcesContent": ["import { Box2 } from 'vecks'\n\nimport applyTransforms from './applyTransforms'\nimport denormalise from './denormalise'\nimport entityToPolyline from './entityToPolyline'\nimport colors from './util/colors'\nimport logger from './util/logger'\n\nimport type { Entity, ParsedDXF } from './types'\nimport type { Polyline, PolylineResult } from './types/polylines'\n\nexport default function toPolylines(parsed: ParsedDXF): PolylineResult {\n  const entities = denormalise(parsed)\n  const polylines: Polyline[] = entities.map((entity: Entity) => {\n    const layer = entity.layer ?? '0'\n    const layerTable = parsed.tables.layers[layer]\n    let colorNumber = 0\n    if ('colorNumber' in entity && typeof entity.colorNumber === 'number') {\n      colorNumber = entity.colorNumber\n    } else if (\n      layerTable &&\n      typeof layerTable.colorNumber === 'number'\n    ) {\n      colorNumber = layerTable.colorNumber\n    }\n\n    if (colors[colorNumber] === undefined) {\n      logger.warn('Color index', colorNumber, 'invalid, defaulting to black')\n      colorNumber = 0\n    }\n\n    return {\n      rgb: colors[colorNumber],\n      layer: layerTable,\n      vertices: applyTransforms(entityToPolyline(entity as any), entity.transforms),\n    }\n  })\n\n  const bbox = new Box2()\n  for (const polyline of polylines) {\n    for (const vertex of polyline.vertices) {\n      bbox.expandByPoint({ x: vertex[0], y: vertex[1] })\n    }\n  }\n\n  return { bbox, polylines }\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqB;AAErB,6BAA4B;AAC5B,yBAAwB;AACxB,8BAA6B;AAC7B,oBAAmB;AACnB,oBAAmB;AAKJ,SAAR,YAA6B,QAAmC;AACrE,QAAM,eAAW,mBAAAA,SAAY,MAAM;AACnC,QAAM,YAAwB,SAAS,IAAI,CAAC,WAAmB;AAC7D,UAAM,QAAQ,OAAO,SAAS;AAC9B,UAAM,aAAa,OAAO,OAAO,OAAO,KAAK;AAC7C,QAAI,cAAc;AAClB,QAAI,iBAAiB,UAAU,OAAO,OAAO,gBAAgB,UAAU;AACrE,oBAAc,OAAO;AAAA,IACvB,WACE,cACA,OAAO,WAAW,gBAAgB,UAClC;AACA,oBAAc,WAAW;AAAA,IAC3B;AAEA,QAAI,cAAAC,QAAO,WAAW,MAAM,QAAW;AACrC,oBAAAC,QAAO,KAAK,eAAe,aAAa,8BAA8B;AACtE,oBAAc;AAAA,IAChB;AAEA,WAAO;AAAA,MACL,KAAK,cAAAD,QAAO,WAAW;AAAA,MACvB,OAAO;AAAA,MACP,cAAU,uBAAAE,aAAgB,wBAAAC,SAAiB,MAAa,GAAG,OAAO,UAAU;AAAA,IAC9E;AAAA,EACF,CAAC;AAED,QAAM,OAAO,IAAI,kBAAK;AACtB,aAAW,YAAY,WAAW;AAChC,eAAW,UAAU,SAAS,UAAU;AACtC,WAAK,cAAc,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;AAAA,IACnD;AAAA,EACF;AAEA,SAAO,EAAE,MAAM,UAAU;AAC3B;",
  "names": ["denormalise", "colors", "logger", "applyTransforms", "entityToPolyline"]
}
