{"version":3,"file":"og_soft-file.mjs","sources":["../../../../packages/file/src/lib/file.module.ts","../../../../packages/file/src/lib/utils/bytes-to-size.ts","../../../../packages/file/src/lib/utils/get-image-orientation.ts","../../../../packages/file/src/lib/utils/base64-to-blob.ts","../../../../packages/file/src/lib/utils/reset-image-orientation.ts","../../../../packages/file/src/lib/utils/get-file-name-extension.ts","../../../../packages/file/src/lib/utils/has-file-name-one-of-extensions.ts","../../../../packages/file/src/lib/utils/is-file-name-image.ts","../../../../packages/file/src/lib/utils/is-file-name-text-document.ts","../../../../packages/file/src/lib/utils/is-file-name-pdf.ts","../../../../packages/file/src/lib/utils/file-to-base64.ts","../../../../packages/file/src/lib/file.service.ts","../../../../packages/file/src/og_soft-file.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * @deprecated Use functions directly instead injecting via service.\n */\n@NgModule({\n  declarations: [],\n  imports: [CommonModule],\n  exports: [],\n})\nexport class FileModule {}\n","export const bytesToSize = (bytes: number, separator: string = ' '): string => {\n  const sizes = ['B', 'kB', 'MB', 'GB', 'TB'];\n  if (bytes === 0) {\n    return 'n/a';\n  }\n  const i = Math.floor(Math.log(bytes) / Math.log(1024));\n  if (i === 0) {\n    return `${bytes}${separator}${sizes[i]}`;\n  }\n  return `${(bytes / 1024 ** i).toFixed(1)}${separator}${sizes[i]}`;\n};\n","export const getImageOrientation = (file: Blob, callback): void => {\n  new Response(file).arrayBuffer().then((arrayBuffer) => {\n    const view = new DataView(arrayBuffer);\n    if (view.getUint16(0, false) !== 0xffd8) {\n      return callback(-2);\n    }\n    const length = view.byteLength;\n    let offset = 2;\n    while (offset < length) {\n      if (view.getUint16(offset + 2, false) <= 8) {\n        return callback(-1);\n      }\n      const marker = view.getUint16(offset, false);\n      offset += 2;\n      if (marker === 0xffe1) {\n        if (view.getUint32((offset += 2), false) !== 0x45786966) {\n          return callback(-1);\n        }\n\n        const little = view.getUint16((offset += 6), false) === 0x4949;\n        offset += view.getUint32(offset + 4, little);\n        const tags = view.getUint16(offset, little);\n        offset += 2;\n        for (let i = 0; i < tags; i++) {\n          if (view.getUint16(offset + i * 12, little) === 0x0112) {\n            return callback(view.getUint16(offset + i * 12 + 8, little));\n          }\n        }\n        // tslint:disable-next-line:no-bitwise\n      } else if ((marker & 0xff00) !== 0xff00) {\n        break;\n      } else {\n        offset += view.getUint16(offset, false);\n      }\n    }\n    return callback(-1);\n  });\n};\n","export const base64toBlob = (base64Data, contentType): Blob => {\n  contentType = contentType || '';\n  const sliceSize = 1024;\n  const byteCharacters = atob(base64Data);\n  const bytesLength = byteCharacters.length;\n  const slicesCount = Math.ceil(bytesLength / sliceSize);\n  const byteArrays = new Array(slicesCount);\n\n  for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n    const begin = sliceIndex * sliceSize;\n    const end = Math.min(begin + sliceSize, bytesLength);\n\n    const bytes = new Array(end - begin);\n    for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\n      bytes[i] = byteCharacters[offset].charCodeAt(0);\n    }\n    byteArrays[sliceIndex] = new Uint8Array(bytes);\n  }\n  return new Blob(byteArrays, { type: contentType });\n};\n","import { base64toBlob } from './base64-to-blob';\nimport { getImageOrientation } from './get-image-orientation';\n\nexport const resetImageOrientation = (srcBase64, callback): void => {\n  const img = new Image();\n  let srcOrientation = -1;\n  const srcBlob = base64toBlob(\n    srcBase64.substr(srcBase64.indexOf(',') + 1),\n    null,\n  );\n  getImageOrientation(srcBlob, (orientation) => {\n    srcOrientation = orientation;\n    // console.log('Orientation ' + srcOrientation);\n    img.src = srcBase64;\n  });\n\n  img.onload = () => {\n    const width = img.width;\n    const height = img.height;\n    const canvas = document.createElement('canvas');\n    const ctx = canvas.getContext('2d');\n\n    // set proper canvas dimensions before transform & export\n    if (4 < srcOrientation && srcOrientation < 9) {\n      canvas.width = height;\n      canvas.height = width;\n    } else {\n      canvas.width = width;\n      canvas.height = height;\n    }\n\n    // transform context before drawing image\n    switch (srcOrientation) {\n      case 2:\n        ctx.transform(-1, 0, 0, 1, width, 0);\n        break;\n      case 3:\n        ctx.transform(-1, 0, 0, -1, width, height);\n        break;\n      case 4:\n        ctx.transform(1, 0, 0, -1, 0, height);\n        break;\n      case 5:\n        ctx.transform(0, 1, 1, 0, 0, 0);\n        break;\n      case 6:\n        ctx.transform(0, 1, -1, 0, height, 0);\n        break;\n      case 7:\n        ctx.transform(0, -1, -1, 0, height, width);\n        break;\n      case 8:\n        ctx.transform(0, -1, 1, 0, 0, width);\n        break;\n      default:\n        break;\n    }\n\n    // draw image\n    ctx.drawImage(img, 0, 0);\n\n    // export base64\n    callback(canvas.toDataURL());\n  };\n};\n","export const getFileNameExtension = (fileName: string): string =>\n  fileName.split('.').pop().toLowerCase();\n","import { getFileNameExtension } from './get-file-name-extension';\n\nexport const hasFileNameOneOfExtensions = (\n  fileName: string,\n  extensions: string[],\n): boolean => extensions.includes(getFileNameExtension(fileName));\n","import { hasFileNameOneOfExtensions } from './has-file-name-one-of-extensions';\n\nexport const isFileNameImage = (fileName: string): boolean =>\n  hasFileNameOneOfExtensions(fileName, [\n    'jpg',\n    'jpeg',\n    'jif',\n    'jfif',\n    'png',\n    'gif',\n    'bmp',\n  ]);\n","import { hasFileNameOneOfExtensions } from './has-file-name-one-of-extensions';\n\nexport const isFileNameTextDocument = (fileName: string): boolean =>\n  hasFileNameOneOfExtensions(fileName, [\n    'doc',\n    'docx',\n    'pdf',\n    'txt',\n    'rtf',\n    'odt',\n  ]);\n","import { hasFileNameOneOfExtensions } from './has-file-name-one-of-extensions';\n\nexport const isFileNamePdf = (fileName: string): boolean =>\n  hasFileNameOneOfExtensions(fileName, ['pdf']);\n","export const fileToBase64 = (file: File): Promise<string | ArrayBuffer> => {\n  return new Promise((resolve, reject) => {\n    const reader = new FileReader();\n    reader.readAsDataURL(file);\n    reader.onload = () => resolve(reader.result);\n    reader.onerror = (error) => reject(error);\n  });\n};\n","import { Injectable } from '@angular/core';\nimport { FileModule } from './file.module';\nimport { bytesToSize } from './utils/bytes-to-size';\nimport { getImageOrientation } from './utils/get-image-orientation';\nimport { base64toBlob } from './utils/base64-to-blob';\nimport { resetImageOrientation } from './utils/reset-image-orientation';\nimport { getFileNameExtension } from './utils/get-file-name-extension';\nimport { hasFileNameOneOfExtensions } from './utils/has-file-name-one-of-extensions';\nimport { isFileNameImage } from './utils/is-file-name-image';\nimport { isFileNameTextDocument } from './utils/is-file-name-text-document';\nimport { isFileNamePdf } from './utils/is-file-name-pdf';\nimport { fileToBase64 } from './utils/file-to-base64';\n\n/**\n * @deprecated Use functions directly instead injecting via service.\n */\n@Injectable({\n  providedIn: FileModule,\n})\nexport class FileService {\n  /**\n   * @deprecated Use the 'bytesToSize' function instead.\n   */\n  public static bytesToSize(bytes: number, separator: string = ' '): string {\n    return bytesToSize(bytes, separator);\n  }\n\n  /**\n   * @deprecated Use the 'getImageOrientation' function instead.\n   */\n  public static getImageOrientation(file: Blob, callback): void {\n    return getImageOrientation(file, callback);\n  }\n\n  /**\n   * @deprecated Use the 'resetImageOrientation' function instead.\n   */\n  public static resetImageOrientation(srcBase64, callback): void {\n    return resetImageOrientation(srcBase64, callback);\n  }\n\n  /**\n   * @deprecated Use the 'base64toBlob' function instead.\n   */\n  public static base64toBlob(base64Data, contentType): Blob {\n    return base64toBlob(base64Data, contentType);\n  }\n\n  /**\n   * @deprecated Use the 'getFileNameExtension' function instead.\n   */\n  public fileNameExtension(fileName: string): string {\n    return getFileNameExtension(fileName);\n  }\n\n  /**\n   * @deprecated Use the 'hasFileNameOneOfExtensions' function instead.\n   */\n  public isFileNameType(fileName: string, extensions: string[]): boolean {\n    return hasFileNameOneOfExtensions(fileName, extensions);\n  }\n\n  /**\n   * @deprecated Use the 'isFileNameImage' function instead.\n   */\n  public isFileNameImage(fileName: string): boolean {\n    return isFileNameImage(fileName);\n  }\n\n  /**\n   * @deprecated Use the 'isFileNameTextDocument' function instead.\n   */\n  public isFileNameTextdoc(fileName: string): boolean {\n    return isFileNameTextDocument(fileName);\n  }\n\n  /**\n   * @deprecated Use the 'isFileNamePdf' function instead.\n   */\n  public isFileNamePdf(fileName: string): boolean {\n    return isFileNamePdf(fileName);\n  }\n\n  /**\n   * @deprecated Use the 'fileToBase64' function instead.\n   */\n  public getBase64(file: File): Promise<string | ArrayBuffer> {\n    return fileToBase64(file);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}