{
  "version": 3,
  "sources": ["../../../src/handlers/entity/image.ts"],
  "sourcesContent": ["import type { DXFTuple, PartialPoint3D } from '../../types'\n\nimport common from './common'\n\nexport const TYPE = 'IMAGE'\n\ninterface ImageEntity {\n  type: typeof TYPE\n\n  insertionPoint: PartialPoint3D\n  uVector: PartialPoint3D\n  vVector: PartialPoint3D\n\n  pixelSizeX: number\n  pixelSizeY: number\n\n  imageDefHandle?: string\n  imageDefReactorHandle?: string\n\n  displayProperties?: number\n  clippingState?: number\n  brightness?: number\n  contrast?: number\n  fade?: number\n  classVersion?: number\n\n  [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): ImageEntity => {\n  return tuples.reduce(\n    (entity, tuple) => {\n      const type = tuple[0]\n      const value = tuple[1]\n\n      switch (type) {\n        case 90:\n          entity.classVersion = value as number\n          break\n\n        case 10:\n          entity.insertionPoint.x = value as number\n          break\n        case 20:\n          entity.insertionPoint.y = value as number\n          break\n        case 30:\n          entity.insertionPoint.z = value as number\n          break\n\n        case 11:\n          entity.uVector.x = value as number\n          break\n        case 21:\n          entity.uVector.y = value as number\n          break\n        case 31:\n          entity.uVector.z = value as number\n          break\n\n        case 12:\n          entity.vVector.x = value as number\n          break\n        case 22:\n          entity.vVector.y = value as number\n          break\n        case 32:\n          entity.vVector.z = value as number\n          break\n\n        case 13:\n          entity.pixelSizeX = value as number\n          break\n        case 23:\n          entity.pixelSizeY = value as number\n          break\n\n        case 340:\n          entity.imageDefHandle = String(value)\n          break\n        case 360:\n          entity.imageDefReactorHandle = String(value)\n          break\n\n        case 70:\n          entity.displayProperties = value as number\n          break\n        case 280:\n          entity.clippingState = value as number\n          break\n        case 281:\n          entity.brightness = value as number\n          break\n        case 282:\n          entity.contrast = value as number\n          break\n        case 283:\n          entity.fade = value as number\n          break\n\n        default:\n          Object.assign(entity, common(type, value))\n          break\n      }\n      return entity\n    },\n    {\n      type: TYPE,\n      insertionPoint: {},\n      uVector: {},\n      vVector: {},\n      pixelSizeX: 0,\n      pixelSizeY: 0,\n    } as ImageEntity,\n  )\n}\n\nexport default { TYPE, process }\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AAEZ,MAAM,OAAO;AAyBb,MAAM,UAAU,CAAC,WAAoC;AAC1D,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AAErB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,eAAe;AACtB;AAAA,QAEF,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QACF,KAAK;AACH,iBAAO,eAAe,IAAI;AAC1B;AAAA,QAEF,KAAK;AACH,iBAAO,QAAQ,IAAI;AACnB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,IAAI;AACnB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,IAAI;AACnB;AAAA,QAEF,KAAK;AACH,iBAAO,QAAQ,IAAI;AACnB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,IAAI;AACnB;AAAA,QACF,KAAK;AACH,iBAAO,QAAQ,IAAI;AACnB;AAAA,QAEF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QAEF,KAAK;AACH,iBAAO,iBAAiB,OAAO,KAAK;AACpC;AAAA,QACF,KAAK;AACH,iBAAO,wBAAwB,OAAO,KAAK;AAC3C;AAAA,QAEF,KAAK;AACH,iBAAO,oBAAoB;AAC3B;AAAA,QACF,KAAK;AACH,iBAAO,gBAAgB;AACvB;AAAA,QACF,KAAK;AACH,iBAAO,aAAa;AACpB;AAAA,QACF,KAAK;AACH,iBAAO,WAAW;AAClB;AAAA,QACF,KAAK;AACH,iBAAO,OAAO;AACd;AAAA,QAEF;AACE,iBAAO,OAAO,YAAQ,cAAAA,SAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,gBAAgB,CAAC;AAAA,MACjB,SAAS,CAAC;AAAA,MACV,SAAS,CAAC;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,IACd;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ,EAAE,MAAM,QAAQ;",
  "names": ["common"]
}
