{
  "version": 3,
  "sources": ["../../src/handlers/blocks.ts"],
  "sourcesContent": ["import type { BlockInternal, DXFTuple } from '../types'\n\nimport entitiesHandler from './entities'\n\nexport default function parseBlocks(tuples: DXFTuple[]): any[] {\n  let state: 'block' | 'entities' | undefined\n  const blocks: BlockInternal[] = []\n  let block: BlockInternal | undefined\n  let entitiesTuples: DXFTuple[] | undefined = []\n\n  for (const tuple of tuples) {\n    const type = tuple[0]\n    const value = tuple[1]\n\n    if (value === 'BLOCK') {\n      state = 'block'\n      block = {}\n      entitiesTuples = []\n      blocks.push(block)\n    } else if (value === 'ENDBLK') {\n      if (block) {\n        if (state === 'entities' && entitiesTuples) {\n          block.entities = entitiesHandler(entitiesTuples)\n        } else {\n          block.entities = []\n        }\n      }\n      entitiesTuples = undefined\n      state = undefined\n    } else if (state === 'block' && type !== 0 && block) {\n      switch (type) {\n        case 1:\n          block.xref = value\n          break\n        case 2:\n          block.name = value\n          break\n        case 10:\n          block.x = value\n          break\n        case 20:\n          block.y = value\n          break\n        case 30:\n          block.z = value\n          break\n        case 67:\n          if (value !== 0) block.paperSpace = value\n          break\n        case 410:\n          block.layout = value\n          break\n        default:\n          break\n      }\n    } else if (state === 'block' && type === 0) {\n      state = 'entities'\n      if (entitiesTuples) entitiesTuples.push(tuple)\n    } else if (state === 'entities') {\n      if (entitiesTuples) entitiesTuples.push(tuple)\n    }\n  }\n\n  return blocks\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAA4B;AAEb,SAAR,YAA6B,QAA2B;AAC7D,MAAI;AACJ,QAAM,SAA0B,CAAC;AACjC,MAAI;AACJ,MAAI,iBAAyC,CAAC;AAE9C,aAAW,SAAS,QAAQ;AAC1B,UAAM,OAAO,MAAM,CAAC;AACpB,UAAM,QAAQ,MAAM,CAAC;AAErB,QAAI,UAAU,SAAS;AACrB,cAAQ;AACR,cAAQ,CAAC;AACT,uBAAiB,CAAC;AAClB,aAAO,KAAK,KAAK;AAAA,IACnB,WAAW,UAAU,UAAU;AAC7B,UAAI,OAAO;AACT,YAAI,UAAU,cAAc,gBAAgB;AAC1C,gBAAM,eAAW,gBAAAA,SAAgB,cAAc;AAAA,QACjD,OAAO;AACL,gBAAM,WAAW,CAAC;AAAA,QACpB;AAAA,MACF;AACA,uBAAiB;AACjB,cAAQ;AAAA,IACV,WAAW,UAAU,WAAW,SAAS,KAAK,OAAO;AACnD,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,gBAAM,OAAO;AACb;AAAA,QACF,KAAK;AACH,gBAAM,OAAO;AACb;AAAA,QACF,KAAK;AACH,gBAAM,IAAI;AACV;AAAA,QACF,KAAK;AACH,gBAAM,IAAI;AACV;AAAA,QACF,KAAK;AACH,gBAAM,IAAI;AACV;AAAA,QACF,KAAK;AACH,cAAI,UAAU,EAAG,OAAM,aAAa;AACpC;AAAA,QACF,KAAK;AACH,gBAAM,SAAS;AACf;AAAA,QACF;AACE;AAAA,MACJ;AAAA,IACF,WAAW,UAAU,WAAW,SAAS,GAAG;AAC1C,cAAQ;AACR,UAAI,eAAgB,gBAAe,KAAK,KAAK;AAAA,IAC/C,WAAW,UAAU,YAAY;AAC/B,UAAI,eAAgB,gBAAe,KAAK,KAAK;AAAA,IAC/C;AAAA,EACF;AAEA,SAAO;AACT;",
  "names": ["entitiesHandler"]
}
