{
  "version": 3,
  "sources": ["../../../src/handlers/entity/mtext.ts"],
  "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'MTEXT'\n\n\ninterface SimpleCodes {\n  [key: number]: string\n}\n\ninterface MTextEntity {\n  type: typeof TYPE\n  string: string\n  x?: number\n  y?: number\n  z?: number\n  nominalTextHeight?: number\n  refRectangleWidth?: number\n  attachmentPoint?: number\n  drawingDirection?: number\n  styleName?: string\n  xAxisX?: number\n  xAxisY?: number\n  xAxisZ?: number\n  horizontalWidth?: number\n  verticalHeight?: number\n  lineSpacingStyle?: number\n  lineSpacingFactor?: number\n  backgroundFill?: number\n  bgColorRGB0?: number\n  bgColorRGB1?: number\n  bgColorRGB2?: number\n  bgColorRGB3?: number\n  bgColorRGB4?: number\n  bgColorRGB5?: number\n  bgColorRGB6?: number\n  bgColorRGB7?: number\n  bgColorRGB8?: number\n  bgColorRGB9?: number\n  bgColorName0?: number\n  bgColorName1?: number\n  bgColorName2?: number\n  bgColorName3?: number\n  bgColorName4?: number\n  bgColorName5?: number\n  bgColorName6?: number\n  bgColorName7?: number\n  bgColorName8?: number\n  bgColorName9?: number\n  fillBoxStyle?: number\n  bgFillColor?: number\n  bgFillTransparency?: number\n  columnType?: number\n  columnCount?: number\n  columnFlowReversed?: number\n  columnAutoheight?: number\n  columnWidth?: number\n  columnGutter?: number\n  columnHeights?: number\n  [key: string]: unknown\n}\n\nconst simpleCodes: SimpleCodes = {\n  10: 'x',\n  20: 'y',\n  30: 'z',\n  40: 'nominalTextHeight',\n  41: 'refRectangleWidth',\n  71: 'attachmentPoint',\n  72: 'drawingDirection',\n  7: 'styleName',\n  11: 'xAxisX',\n  21: 'xAxisY',\n  31: 'xAxisZ',\n  42: 'horizontalWidth',\n  43: 'verticalHeight',\n  73: 'lineSpacingStyle',\n  44: 'lineSpacingFactor',\n  90: 'backgroundFill',\n  420: 'bgColorRGB0',\n  421: 'bgColorRGB1',\n  422: 'bgColorRGB2',\n  423: 'bgColorRGB3',\n  424: 'bgColorRGB4',\n  425: 'bgColorRGB5',\n  426: 'bgColorRGB6',\n  427: 'bgColorRGB7',\n  428: 'bgColorRGB8',\n  429: 'bgColorRGB9',\n  430: 'bgColorName0',\n  431: 'bgColorName1',\n  432: 'bgColorName2',\n  433: 'bgColorName3',\n  434: 'bgColorName4',\n  435: 'bgColorName5',\n  436: 'bgColorName6',\n  437: 'bgColorName7',\n  438: 'bgColorName8',\n  439: 'bgColorName9',\n  45: 'fillBoxStyle',\n  63: 'bgFillColor',\n  441: 'bgFillTransparency',\n  75: 'columnType',\n  76: 'columnCount',\n  78: 'columnFlowReversed',\n  79: 'columnAutoheight',\n  48: 'columnWidth',\n  49: 'columnGutter',\n  50: 'columnHeights',\n}\n\nexport const process = (tuples: DXFTuple[]): MTextEntity => {\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      string: '',\n    } as MTextEntity,\n  )\n}\n\nexport const assign = (\n  entity: MTextEntity,\n  type: number,\n  value: string | number\n): MTextEntity => {\n  if (type in simpleCodes) {\n    entity[simpleCodes[type]] = value\n  } else if (type === 1 || type === 3) {\n    entity.string += value as string\n  } else if (type === 50) {\n    // Rotation angle in radians\n    entity.xAxisX = Math.cos(value as number)\n    entity.xAxisY = Math.sin(value as number)\n  } else {\n    Object.assign(entity, common(type, value))\n  }\n\n  return entity\n}\n\nexport default { TYPE, process, assign }\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AA2DpB,MAAM,cAA2B;AAAA,EAC/B,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,MAAM,UAAU,CAAC,WAAoC;AAC1D,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,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEO,MAAM,SAAS,CACpB,QACA,MACA,UACgB;AAChB,MAAI,QAAQ,aAAa;AACvB,WAAO,YAAY,IAAI,CAAC,IAAI;AAAA,EAC9B,WAAW,SAAS,KAAK,SAAS,GAAG;AACnC,WAAO,UAAU;AAAA,EACnB,WAAW,SAAS,IAAI;AAEtB,WAAO,SAAS,KAAK,IAAI,KAAe;AACxC,WAAO,SAAS,KAAK,IAAI,KAAe;AAAA,EAC1C,OAAO;AACL,WAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AAAA,EAC3C;AAEA,SAAO;AACT;AAEA,IAAO,gBAAQ,EAAE,MAAM,SAAS,OAAO;",
  "names": ["common"]
}
