fileTools.d.ts 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. import { WebRequest } from "./webRequest";
  2. import type { Nullable } from "../types";
  3. import type { IOfflineProvider } from "../Offline/IOfflineProvider";
  4. import type { IFileRequest } from "./fileRequest";
  5. import { RuntimeError } from "./error";
  6. /** @ignore */
  7. export declare class LoadFileError extends RuntimeError {
  8. request?: WebRequest;
  9. file?: File;
  10. /**
  11. * Creates a new LoadFileError
  12. * @param message defines the message of the error
  13. * @param object defines the optional web request
  14. */
  15. constructor(message: string, object?: WebRequest | File);
  16. }
  17. /** @ignore */
  18. export declare class RequestFileError extends RuntimeError {
  19. request: WebRequest;
  20. /**
  21. * Creates a new LoadFileError
  22. * @param message defines the message of the error
  23. * @param request defines the optional web request
  24. */
  25. constructor(message: string, request: WebRequest);
  26. }
  27. /** @ignore */
  28. export declare class ReadFileError extends RuntimeError {
  29. file: File;
  30. /**
  31. * Creates a new ReadFileError
  32. * @param message defines the message of the error
  33. * @param file defines the optional file
  34. */
  35. constructor(message: string, file: File);
  36. }
  37. /**
  38. * @internal
  39. */
  40. export declare const FileToolsOptions: {
  41. DefaultRetryStrategy: (url: string, request: WebRequest, retryIndex: number) => number;
  42. BaseUrl: string;
  43. CorsBehavior: string | ((url: string | string[]) => string);
  44. PreprocessUrl: (url: string) => string;
  45. ScriptBaseUrl: string;
  46. ScriptPreprocessUrl: (url: string) => string;
  47. };
  48. /**
  49. * Sets the cors behavior on a dom element. This will add the required Tools.CorsBehavior to the element.
  50. * @param url define the url we are trying
  51. * @param element define the dom element where to configure the cors policy
  52. * @internal
  53. */
  54. export declare const SetCorsBehavior: (url: string | string[], element: {
  55. crossOrigin: string | null;
  56. }) => void;
  57. /**
  58. * Loads an image as an HTMLImageElement.
  59. * @param input url string, ArrayBuffer, or Blob to load
  60. * @param onLoad callback called when the image successfully loads
  61. * @param onError callback called when the image fails to load
  62. * @param offlineProvider offline provider for caching
  63. * @param mimeType optional mime type
  64. * @param imageBitmapOptions
  65. * @returns the HTMLImageElement of the loaded image
  66. * @internal
  67. */
  68. export declare const LoadImage: (input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string, imageBitmapOptions?: ImageBitmapOptions) => Nullable<HTMLImageElement>;
  69. /**
  70. * Reads a file from a File object
  71. * @param file defines the file to load
  72. * @param onSuccess defines the callback to call when data is loaded
  73. * @param onProgress defines the callback to call during loading process
  74. * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer
  75. * @param onError defines the callback to call when an error occurs
  76. * @returns a file request object
  77. * @internal
  78. */
  79. export declare const ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent) => any) | undefined, useArrayBuffer?: boolean, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest;
  80. /**
  81. * Loads a file from a url, a data url, or a file url
  82. * @param fileOrUrl file, url, data url, or file url to load
  83. * @param onSuccess callback called when the file successfully loads
  84. * @param onProgress callback called while file is loading (if the server supports this mode)
  85. * @param offlineProvider defines the offline provider for caching
  86. * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer
  87. * @param onError callback called when the file fails to load
  88. * @param onOpened
  89. * @returns a file request object
  90. * @internal
  91. */
  92. export declare const LoadFile: (fileOrUrl: File | string, onSuccess: (data: string | ArrayBuffer, responseURL?: string, contentType?: Nullable<string>) => void, onProgress?: ((ev: ProgressEvent) => void) | undefined, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: ((request?: WebRequest, exception?: LoadFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;
  93. /**
  94. * Loads a file from a url
  95. * @param url url to load
  96. * @param onSuccess callback called when the file successfully loads
  97. * @param onProgress callback called while file is loading (if the server supports this mode)
  98. * @param offlineProvider defines the offline provider for caching
  99. * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer
  100. * @param onError callback called when the file fails to load
  101. * @param onOpened callback called when the web request is opened
  102. * @returns a file request object
  103. * @internal
  104. */
  105. export declare const RequestFile: (url: string, onSuccess?: ((data: string | ArrayBuffer, request?: WebRequest) => void) | undefined, onProgress?: ((event: ProgressEvent) => void) | undefined, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;
  106. /**
  107. * Checks if the loaded document was accessed via `file:`-Protocol.
  108. * @returns boolean
  109. * @internal
  110. */
  111. export declare const IsFileURL: () => boolean;
  112. /**
  113. * Test if the given uri is a valid base64 data url
  114. * @param uri The uri to test
  115. * @returns True if the uri is a base64 data url or false otherwise
  116. * @internal
  117. */
  118. export declare const IsBase64DataUrl: (uri: string) => boolean;
  119. export declare const TestBase64DataUrl: (uri: string) => {
  120. match: boolean;
  121. type: string;
  122. };
  123. /**
  124. * Decode the given base64 uri.
  125. * @param uri The uri to decode
  126. * @returns The decoded base64 data.
  127. * @internal
  128. */
  129. export declare function DecodeBase64UrlToBinary(uri: string): ArrayBuffer;
  130. /**
  131. * Decode the given base64 uri into a UTF-8 encoded string.
  132. * @param uri The uri to decode
  133. * @returns The decoded base64 data.
  134. * @internal
  135. */
  136. export declare const DecodeBase64UrlToString: (uri: string) => string;
  137. /**
  138. * FileTools defined as any.
  139. * This should not be imported or used in future releases or in any module in the framework
  140. * @internal
  141. * @deprecated import the needed function from fileTools.ts
  142. */
  143. export declare let FileTools: {
  144. DecodeBase64UrlToBinary: (uri: string) => ArrayBuffer;
  145. DecodeBase64UrlToString: (uri: string) => string;
  146. DefaultRetryStrategy: any;
  147. BaseUrl: any;
  148. CorsBehavior: any;
  149. PreprocessUrl: any;
  150. IsBase64DataUrl: (uri: string) => boolean;
  151. IsFileURL: () => boolean;
  152. LoadFile: (fileOrUrl: string | File, onSuccess: (data: string | ArrayBuffer, responseURL?: string | undefined) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((request?: WebRequest | undefined, exception?: LoadFileError | undefined) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;
  153. LoadImage: (input: string | ArrayBuffer | Blob | ArrayBufferView, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string | undefined, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string | undefined, imageBitmapOptions?: ImageBitmapOptions | undefined) => Nullable<HTMLImageElement>;
  154. ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => any) | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest;
  155. RequestFile: (url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest | undefined) => void, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest;
  156. SetCorsBehavior: (url: string | string[], element: {
  157. crossOrigin: string | null;
  158. }) => void;
  159. };
  160. /**
  161. * @param DecodeBase64UrlToBinary
  162. * @param DecodeBase64UrlToString
  163. * @param FileToolsOptions
  164. * @internal
  165. */
  166. export declare const _injectLTSFileTools: (DecodeBase64UrlToBinary: (uri: string) => ArrayBuffer, DecodeBase64UrlToString: (uri: string) => string, FileToolsOptions: {
  167. DefaultRetryStrategy: any;
  168. BaseUrl: any;
  169. CorsBehavior: any;
  170. PreprocessUrl: any;
  171. }, IsBase64DataUrl: (uri: string) => boolean, IsFileURL: () => boolean, LoadFile: (fileOrUrl: string | File, onSuccess: (data: string | ArrayBuffer, responseURL?: string | undefined) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((request?: WebRequest | undefined, exception?: LoadFileError | undefined) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest, LoadImage: (input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string | undefined, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string, imageBitmapOptions?: ImageBitmapOptions | undefined) => Nullable<HTMLImageElement>, ReadFile: (file: File, onSuccess: (data: any) => void, onProgress?: ((ev: ProgressEvent<EventTarget>) => any) | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: ReadFileError) => void) | undefined) => IFileRequest, RequestFile: (url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest | undefined) => void, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined, offlineProvider?: IOfflineProvider | undefined, useArrayBuffer?: boolean | undefined, onError?: ((error: RequestFileError) => void) | undefined, onOpened?: ((request: WebRequest) => void) | undefined) => IFileRequest, SetCorsBehavior: (url: string | string[], element: {
  172. crossOrigin: string | null;
  173. }) => void) => void;