HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/@capacitor/camera/dist/esm/web.js.map
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin, CapacitorException } from '@capacitor/core';\n\nimport { CameraSource, CameraDirection } from './definitions';\nimport type {\n  CameraPlugin,\n  GalleryImageOptions,\n  GalleryPhotos,\n  ImageOptions,\n  PermissionStatus,\n  Photo,\n} from './definitions';\n\nexport class CameraWeb extends WebPlugin implements CameraPlugin {\n  async getPhoto(options: ImageOptions): Promise<Photo> {\n    // eslint-disable-next-line no-async-promise-executor\n    return new Promise<Photo>(async (resolve, reject) => {\n      if (options.webUseInput || options.source === CameraSource.Photos) {\n        this.fileInputExperience(options, resolve, reject);\n      } else if (options.source === CameraSource.Prompt) {\n        let actionSheet: any = document.querySelector('pwa-action-sheet');\n        if (!actionSheet) {\n          actionSheet = document.createElement('pwa-action-sheet');\n          document.body.appendChild(actionSheet);\n        }\n        actionSheet.header = options.promptLabelHeader || 'Photo';\n        actionSheet.cancelable = false;\n        actionSheet.options = [\n          { title: options.promptLabelPhoto || 'From Photos' },\n          { title: options.promptLabelPicture || 'Take Picture' },\n        ];\n        actionSheet.addEventListener('onSelection', async (e: any) => {\n          const selection = e.detail;\n          if (selection === 0) {\n            this.fileInputExperience(options, resolve, reject);\n          } else {\n            this.cameraExperience(options, resolve, reject);\n          }\n        });\n      } else {\n        this.cameraExperience(options, resolve, reject);\n      }\n    });\n  }\n\n  async pickImages(_options: GalleryImageOptions): Promise<GalleryPhotos> {\n    // eslint-disable-next-line no-async-promise-executor\n    return new Promise<GalleryPhotos>(async (resolve, reject) => {\n      this.multipleFileInputExperience(resolve, reject);\n    });\n  }\n\n  private async cameraExperience(\n    options: ImageOptions,\n    resolve: any,\n    reject: any,\n  ) {\n    if (customElements.get('pwa-camera-modal')) {\n      const cameraModal: any = document.createElement('pwa-camera-modal');\n      cameraModal.facingMode =\n        options.direction === CameraDirection.Front ? 'user' : 'environment';\n      document.body.appendChild(cameraModal);\n      try {\n        await cameraModal.componentOnReady();\n        cameraModal.addEventListener('onPhoto', async (e: any) => {\n          const photo = e.detail;\n\n          if (photo === null) {\n            reject(new CapacitorException('User cancelled photos app'));\n          } else if (photo instanceof Error) {\n            reject(photo);\n          } else {\n            resolve(await this._getCameraPhoto(photo, options));\n          }\n\n          cameraModal.dismiss();\n          document.body.removeChild(cameraModal);\n        });\n\n        cameraModal.present();\n      } catch (e) {\n        this.fileInputExperience(options, resolve, reject);\n      }\n    } else {\n      console.error(\n        `Unable to load PWA Element 'pwa-camera-modal'. See the docs: https://capacitorjs.com/docs/web/pwa-elements.`,\n      );\n      this.fileInputExperience(options, resolve, reject);\n    }\n  }\n\n  private fileInputExperience(\n    options: ImageOptions,\n    resolve: any,\n    reject: any,\n  ) {\n    let input = document.querySelector(\n      '#_capacitor-camera-input',\n    ) as HTMLInputElement;\n\n    const cleanup = () => {\n      input.parentNode?.removeChild(input);\n    };\n\n    if (!input) {\n      input = document.createElement('input') as HTMLInputElement;\n      input.id = '_capacitor-camera-input';\n      input.type = 'file';\n      input.hidden = true;\n      document.body.appendChild(input);\n      input.addEventListener('change', (_e: any) => {\n        const file = input.files![0];\n        let format = 'jpeg';\n\n        if (file.type === 'image/png') {\n          format = 'png';\n        } else if (file.type === 'image/gif') {\n          format = 'gif';\n        }\n\n        if (\n          options.resultType === 'dataUrl' ||\n          options.resultType === 'base64'\n        ) {\n          const reader = new FileReader();\n\n          reader.addEventListener('load', () => {\n            if (options.resultType === 'dataUrl') {\n              resolve({\n                dataUrl: reader.result,\n                format,\n              } as Photo);\n            } else if (options.resultType === 'base64') {\n              const b64 = (reader.result as string).split(',')[1];\n              resolve({\n                base64String: b64,\n                format,\n              } as Photo);\n            }\n\n            cleanup();\n          });\n\n          reader.readAsDataURL(file);\n        } else {\n          resolve({\n            webPath: URL.createObjectURL(file),\n            format: format,\n          });\n          cleanup();\n        }\n      });\n      input.addEventListener('cancel', (_e: any) => {\n        reject(new CapacitorException('User cancelled photos app'));\n        cleanup();\n      });\n    }\n\n    input.accept = 'image/*';\n    (input as any).capture = true;\n\n    if (\n      options.source === CameraSource.Photos ||\n      options.source === CameraSource.Prompt\n    ) {\n      input.removeAttribute('capture');\n    } else if (options.direction === CameraDirection.Front) {\n      (input as any).capture = 'user';\n    } else if (options.direction === CameraDirection.Rear) {\n      (input as any).capture = 'environment';\n    }\n\n    input.click();\n  }\n\n  private multipleFileInputExperience(resolve: any, reject: any) {\n    let input = document.querySelector(\n      '#_capacitor-camera-input-multiple',\n    ) as HTMLInputElement;\n\n    const cleanup = () => {\n      input.parentNode?.removeChild(input);\n    };\n\n    if (!input) {\n      input = document.createElement('input') as HTMLInputElement;\n      input.id = '_capacitor-camera-input-multiple';\n      input.type = 'file';\n      input.hidden = true;\n      input.multiple = true;\n      document.body.appendChild(input);\n      input.addEventListener('change', (_e: any) => {\n        const photos = [];\n        // eslint-disable-next-line @typescript-eslint/prefer-for-of\n        for (let i = 0; i < input.files!.length; i++) {\n          const file = input.files![i];\n          let format = 'jpeg';\n\n          if (file.type === 'image/png') {\n            format = 'png';\n          } else if (file.type === 'image/gif') {\n            format = 'gif';\n          }\n          photos.push({\n            webPath: URL.createObjectURL(file),\n            format: format,\n          });\n        }\n        resolve({ photos });\n        cleanup();\n      });\n      input.addEventListener('cancel', (_e: any) => {\n        reject(new CapacitorException('User cancelled photos app'));\n        cleanup();\n      });\n    }\n\n    input.accept = 'image/*';\n\n    input.click();\n  }\n\n  private _getCameraPhoto(photo: Blob, options: ImageOptions) {\n    return new Promise<Photo>((resolve, reject) => {\n      const reader = new FileReader();\n      const format = photo.type.split('/')[1];\n      if (options.resultType === 'uri') {\n        resolve({\n          webPath: URL.createObjectURL(photo),\n          format: format,\n          saved: false,\n        });\n      } else {\n        reader.readAsDataURL(photo);\n        reader.onloadend = () => {\n          const r = reader.result as string;\n          if (options.resultType === 'dataUrl') {\n            resolve({\n              dataUrl: r,\n              format: format,\n              saved: false,\n            });\n          } else {\n            resolve({\n              base64String: r.split(',')[1],\n              format: format,\n              saved: false,\n            });\n          }\n        };\n        reader.onerror = e => {\n          reject(e);\n        };\n      }\n    });\n  }\n\n  async checkPermissions(): Promise<PermissionStatus> {\n    if (typeof navigator === 'undefined' || !navigator.permissions) {\n      throw this.unavailable('Permissions API not available in this browser');\n    }\n\n    try {\n      // https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query\n      // the specific permissions that are supported varies among browsers that implement the\n      // permissions API, so we need a try/catch in case 'camera' is invalid\n      const permission = await window.navigator.permissions.query({\n        name: 'camera',\n      });\n      return {\n        camera: permission.state,\n        photos: 'granted',\n      };\n    } catch {\n      throw this.unavailable(\n        'Camera permissions are not available in this browser',\n      );\n    }\n  }\n\n  async requestPermissions(): Promise<PermissionStatus> {\n    throw this.unimplemented('Not implemented on web.');\n  }\n\n  async pickLimitedLibraryPhotos(): Promise<GalleryPhotos> {\n    throw this.unavailable('Not implemented on web.');\n  }\n\n  async getLimitedLibraryPhotos(): Promise<GalleryPhotos> {\n    throw this.unavailable('Not implemented on web.');\n  }\n}\n\nconst Camera = new CameraWeb();\n\nexport { Camera };\n"]}