{
  "version": 3,
  "sources": ["../../../src/handlers/entity/attdef.ts"],
  "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\nimport { assign as assignMTEXT } from './mtext'\nimport { assign as assignTEXT } from './text'\n\n\nexport const TYPE = 'ATTDEF'\n\nexport const process = (tuples: DXFTuple[]): any => {\n  return tuples.reduce(\n    (entity, tuple) => {\n      const type = tuple[0]\n      const value = tuple[1]\n\n      assign(entity, type, value)\n\n      return entity\n    },\n    {\n      type: TYPE,\n      subclassMarker: 'AcDbText',\n      thickness: 0,\n      scaleX: 1,\n      mtext: {},\n      text: {},\n    },\n  )\n}\n\nexport const assign = (entity: any, type: number, value: string | number): void => {\n  switch (type) {\n    case 100: {\n      entity.subclassMarker = value\n      break\n    }\n    case 1:\n      switch (entity.subclassMarker) {\n        case 'AcDbText':\n          assignTEXT(entity.text, type, value)\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 2:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          entity.tag = value\n          break\n        case 'AcDbXrecord':\n          entity.attdefFlag = value\n          break\n      }\n      break\n    case 3:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n          entity.prompt = value\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 7:\n    case 41:\n    case 50:\n    case 71:\n    case 72:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          assignTEXT(entity.text, type, value)\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 10:\n      switch (entity.subclassMarker) {\n        case 'AcDbText':\n          assignTEXT(entity.text, type, value)\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n        case 'AcDbXrecord':\n          entity.x = value\n          break\n      }\n      break\n    case 20:\n      switch (entity.subclassMarker) {\n        case 'AcDbText':\n          assignTEXT(entity.text, type, value)\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n        case 'AcDbXrecord':\n          entity.y = value\n          break\n      }\n      break\n    case 30:\n      switch (entity.subclassMarker) {\n        case 'AcDbText':\n          assignTEXT(entity.text, type, value)\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n        case 'AcDbXrecord':\n          entity.z = value\n          break\n      }\n      break\n    case 11:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          entity.x2 = value\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 21:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          entity.y2 = value\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 31:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          entity.z2 = value\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 39:\n      assignTEXT(entity.text, type, value)\n      break\n    case 40:\n      switch (entity.subclassMarker) {\n        case 'AcDbText':\n          assignTEXT(entity.text, type, value)\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n        case 'AcDbXrecord':\n          entity.annotationScale = value\n          break\n      }\n      break\n    case 42:\n    case 43:\n    case 44:\n    case 45:\n      assignMTEXT(entity.mtext, type, value)\n      break\n    case 46:\n      entity.mtext.annotationHeight = value\n      break\n    case 48:\n    case 49:\n      assignMTEXT(entity.mtext, type, value)\n      break\n    case 51:\n      assignTEXT(entity.text, type, value)\n      break\n    case 63:\n      assignMTEXT(entity.mtext, type, value)\n      break\n    case 70:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          entity.attributeFlags = value\n          break\n        case 'AcDbXrecord':\n          if (entity.mTextFlag === undefined)\n            entity.mTextFlag = value\n          else if (entity.isReallyLocked === undefined)\n            entity.isReallyLocked = value\n          else entity.secondaryAttdefCount = value\n          break\n      }\n      break\n    case 73:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          entity.fieldLength = value\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 74:\n      assignTEXT(entity.text, 73, value)\n      break\n    case 75:\n    case 76:\n    case 78:\n    case 79:\n      assignMTEXT(entity.mtext, type, value)\n      break\n    case 90:\n      assignMTEXT(entity.mtext, type, value)\n      break\n    case 210:\n    case 220:\n    case 230:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          assignTEXT(entity.mtext, type, value)\n          break\n        case 'AcDbMText':\n          assignMTEXT(entity.mtext, type, value)\n          break\n      }\n      break\n    case 280:\n      switch (entity.subclassMarker) {\n        case 'AcDbAttributeDefinition':\n        case 'AcDbAttribute':\n          entity.lock = value\n          break\n        case 'AcDbXrecord':\n          entity.clone = true\n          break\n      }\n      break\n    case 340:\n      entity.attdefHandle = value\n      break\n    case 420:\n    case 421:\n    case 422:\n    case 423:\n    case 424:\n    case 425:\n    case 426:\n    case 427:\n    case 428:\n    case 429:\n    case 430:\n    case 431:\n    case 432:\n    case 433:\n    case 434:\n    case 435:\n    case 436:\n    case 437:\n    case 438:\n    case 439:\n    case 441:\n      assignMTEXT(entity.mtext, type, value)\n      break\n    default:\n      Object.assign(entity, common(type, value))\n      break\n  }\n}\n\nexport default { TYPE, process, assign }\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AACnB,mBAAsC;AACtC,kBAAqC;AAG9B,MAAM,OAAO;AAEb,MAAM,UAAU,CAAC,WAA4B;AAClD,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,aAAO,QAAQ,MAAM,KAAK;AAE1B,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO,CAAC;AAAA,MACR,MAAM,CAAC;AAAA,IACT;AAAA,EACF;AACF;AAEO,MAAM,SAAS,CAAC,QAAa,MAAc,UAAiC;AACjF,UAAQ,MAAM;AAAA,IACZ,KAAK,KAAK;AACR,aAAO,iBAAiB;AACxB;AAAA,IACF;AAAA,IACA,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AACH,0BAAAA,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,QACF,KAAK;AACH,2BAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,MAAM;AACb;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AACH,iBAAO,SAAS;AAChB;AAAA,QACF,KAAK;AACH,2BAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,0BAAAD,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,QACF,KAAK;AACH,2BAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AACH,0BAAAD,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,QACF,KAAK;AACH,2BAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AACH,0BAAAD,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,QACF,KAAK;AACH,2BAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AACH,0BAAAD,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,QACF,KAAK;AACH,2BAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,KAAK;AACZ;AAAA,QACF,KAAK;AACH,2BAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,KAAK;AACZ;AAAA,QACF,KAAK;AACH,2BAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,KAAK;AACZ;AAAA,QACF,KAAK;AACH,2BAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,sBAAAD,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AACH,0BAAAA,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,QACF,KAAK;AACH,2BAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,QACF,KAAK;AACH,iBAAO,kBAAkB;AACzB;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,uBAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,IACF,KAAK;AACH,aAAO,MAAM,mBAAmB;AAChC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AACH,uBAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,IACF,KAAK;AACH,sBAAAD,QAAW,OAAO,MAAM,MAAM,KAAK;AACnC;AAAA,IACF,KAAK;AACH,uBAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,iBAAiB;AACxB;AAAA,QACF,KAAK;AACH,cAAI,OAAO,cAAc;AACvB,mBAAO,YAAY;AAAA,mBACZ,OAAO,mBAAmB;AACjC,mBAAO,iBAAiB;AAAA,cACrB,QAAO,uBAAuB;AACnC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,cAAc;AACrB;AAAA,QACF,KAAK;AACH,2BAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,sBAAAD,QAAW,OAAO,MAAM,IAAI,KAAK;AACjC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,uBAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,IACF,KAAK;AACH,uBAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,0BAAAD,QAAW,OAAO,OAAO,MAAM,KAAK;AACpC;AAAA,QACF,KAAK;AACH,2BAAAC,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,cAAQ,OAAO,gBAAgB;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AACH,iBAAO,OAAO;AACd;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ;AACf;AAAA,MACJ;AACA;AAAA,IACF,KAAK;AACH,aAAO,eAAe;AACtB;AAAA,IACF,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,uBAAAA,QAAY,OAAO,OAAO,MAAM,KAAK;AACrC;AAAA,IACF;AACE,aAAO,OAAO,YAAQ,cAAAC,SAAO,MAAM,KAAK,CAAC;AACzC;AAAA,EACJ;AACF;AAEA,IAAO,iBAAQ,EAAE,MAAM,SAAS,OAAO;",
  "names": ["assignTEXT", "assignMTEXT", "common"]
}
