From a42e75a7362761084903092fa6844803c9f32747 Mon Sep 17 00:00:00 2001 From: Tony Brobston Date: Tue, 3 Nov 2020 11:52:46 -0600 Subject: [PATCH] feat: allow determineOrientation to use File or Blob --- README.md | 2 +- .../_types_inputoptions_.inputoptions.md | 20 +++++++++---------- docs/interfaces/_types_options_.options.md | 20 +++++++++---------- docs/modules/_index_.md | 4 ++-- docs/modules/_services_canvasservice_.md | 6 +++--- docs/modules/_services_exifservice_.md | 20 +++++++++---------- docs/modules/_services_fileservice_.md | 4 ++-- docs/modules/_services_imageservice_.md | 2 +- docs/modules/_services_optionservice_.md | 2 +- docs/modules/_services_qualityservice_.md | 2 +- docs/modules/_services_scaleservice_.md | 4 ++-- docs/modules/_services_windowservice_.md | 2 +- src/services/exifService.ts | 2 +- 13 files changed, 45 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index ea36182..6b3076f 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ module.exports = { ## Documentation **[compress](docs/modules/_index_.md#const-compress)**(`file`: File, `inputOptions`: [InputOptions](docs/interfaces/_types_inputoptions_.inputoptions.md)): *Promise‹File | Blob›* -**[determineOrientation](docs/modules/_index_.md#const-determineOrientation)**(`file`: File): *Promise‹number›* +**[determineOrientation](docs/modules/_index_.md#const-determineOrientation)**(`file`: File | Blob): *Promise‹number›* ## Caution - Note that when the [`preserveFileType`](docs/interfaces/_types_inputoptions_.inputoptions.md#preservefiletype) option is `true`, the [`quality`](docs/interfaces/_types_inputoptions_.inputoptions.md#quality) option will only work for files such as `image/jpeg` and `image/webp` per the MDN web docs [here](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL). diff --git a/docs/interfaces/_types_inputoptions_.inputoptions.md b/docs/interfaces/_types_inputoptions_.inputoptions.md index b49abd8..8d46990 100644 --- a/docs/interfaces/_types_inputoptions_.inputoptions.md +++ b/docs/interfaces/_types_inputoptions_.inputoptions.md @@ -31,7 +31,7 @@ • `Optional` `Readonly` **allowCrossOriginResourceSharing**: undefined \| false \| true -*Defined in [types/InputOptions.ts:2](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L2)* +*Defined in [types/InputOptions.ts:2](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L2)* ___ @@ -39,7 +39,7 @@ ___ • `Optional` `Readonly` **fixImageOrientation**: undefined \| false \| true -*Defined in [types/InputOptions.ts:3](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L3)* +*Defined in [types/InputOptions.ts:3](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L3)* ___ @@ -47,7 +47,7 @@ ___ • `Optional` `Readonly` **maxHeight**: undefined \| number -*Defined in [types/InputOptions.ts:10](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L10)* +*Defined in [types/InputOptions.ts:10](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L10)* ___ @@ -55,7 +55,7 @@ ___ • `Optional` `Readonly` **maxWidth**: undefined \| number -*Defined in [types/InputOptions.ts:11](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L11)* +*Defined in [types/InputOptions.ts:11](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L11)* ___ @@ -63,7 +63,7 @@ ___ • `Optional` `Readonly` **preserveFileType**: undefined \| false \| true -*Defined in [types/InputOptions.ts:4](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L4)* +*Defined in [types/InputOptions.ts:4](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L4)* ___ @@ -71,7 +71,7 @@ ___ • `Optional` `Readonly` **quality**: undefined \| number -*Defined in [types/InputOptions.ts:5](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L5)* +*Defined in [types/InputOptions.ts:5](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L5)* ___ @@ -79,7 +79,7 @@ ___ • `Optional` `Readonly` **returnOriginalIfCompressedFileIsLarger**: undefined \| false \| true -*Defined in [types/InputOptions.ts:7](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L7)* +*Defined in [types/InputOptions.ts:7](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L7)* ___ @@ -87,7 +87,7 @@ ___ • `Optional` `Readonly` **returnOriginalOnFailure**: undefined \| false \| true -*Defined in [types/InputOptions.ts:6](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L6)* +*Defined in [types/InputOptions.ts:6](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L6)* ___ @@ -95,7 +95,7 @@ ___ • `Optional` `Readonly` **scaleImageBy**: undefined \| number -*Defined in [types/InputOptions.ts:8](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L8)* +*Defined in [types/InputOptions.ts:8](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L8)* ___ @@ -103,4 +103,4 @@ ___ • `Optional` `Readonly` **transparencyFillColor**: undefined \| string -*Defined in [types/InputOptions.ts:9](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L9)* +*Defined in [types/InputOptions.ts:9](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L9)* diff --git a/docs/interfaces/_types_options_.options.md b/docs/interfaces/_types_options_.options.md index 8e88001..e8069d1 100644 --- a/docs/interfaces/_types_options_.options.md +++ b/docs/interfaces/_types_options_.options.md @@ -33,7 +33,7 @@ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[allowCrossOriginResourceSharing](_types_inputoptions_.inputoptions.md#allowcrossoriginresourcesharing)* -*Defined in [types/Options.ts:4](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L4)* +*Defined in [types/Options.ts:4](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L4)* ___ @@ -43,7 +43,7 @@ ___ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[fixImageOrientation](_types_inputoptions_.inputoptions.md#fiximageorientation)* -*Defined in [types/Options.ts:5](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L5)* +*Defined in [types/Options.ts:5](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L5)* ___ @@ -53,7 +53,7 @@ ___ *Inherited from [InputOptions](_types_inputoptions_.inputoptions.md).[maxHeight](_types_inputoptions_.inputoptions.md#maxheight)* -*Defined in [types/InputOptions.ts:10](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L10)* +*Defined in [types/InputOptions.ts:10](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L10)* ___ @@ -63,7 +63,7 @@ ___ *Inherited from [InputOptions](_types_inputoptions_.inputoptions.md).[maxWidth](_types_inputoptions_.inputoptions.md#maxwidth)* -*Defined in [types/InputOptions.ts:11](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/InputOptions.ts#L11)* +*Defined in [types/InputOptions.ts:11](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/InputOptions.ts#L11)* ___ @@ -73,7 +73,7 @@ ___ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[preserveFileType](_types_inputoptions_.inputoptions.md#preservefiletype)* -*Defined in [types/Options.ts:6](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L6)* +*Defined in [types/Options.ts:6](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L6)* ___ @@ -83,7 +83,7 @@ ___ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[quality](_types_inputoptions_.inputoptions.md#quality)* -*Defined in [types/Options.ts:7](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L7)* +*Defined in [types/Options.ts:7](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L7)* ___ @@ -93,7 +93,7 @@ ___ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[returnOriginalIfCompressedFileIsLarger](_types_inputoptions_.inputoptions.md#returnoriginalifcompressedfileislarger)* -*Defined in [types/Options.ts:9](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L9)* +*Defined in [types/Options.ts:9](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L9)* ___ @@ -103,7 +103,7 @@ ___ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[returnOriginalOnFailure](_types_inputoptions_.inputoptions.md#returnoriginalonfailure)* -*Defined in [types/Options.ts:8](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L8)* +*Defined in [types/Options.ts:8](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L8)* ___ @@ -113,7 +113,7 @@ ___ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[scaleImageBy](_types_inputoptions_.inputoptions.md#scaleimageby)* -*Defined in [types/Options.ts:10](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L10)* +*Defined in [types/Options.ts:10](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L10)* ___ @@ -123,4 +123,4 @@ ___ *Overrides [InputOptions](_types_inputoptions_.inputoptions.md).[transparencyFillColor](_types_inputoptions_.inputoptions.md#transparencyfillcolor)* -*Defined in [types/Options.ts:11](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/types/Options.ts#L11)* +*Defined in [types/Options.ts:11](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/types/Options.ts#L11)* diff --git a/docs/modules/_index_.md b/docs/modules/_index_.md index 7bd134c..5df1824 100644 --- a/docs/modules/_index_.md +++ b/docs/modules/_index_.md @@ -20,7 +20,7 @@ • `Const` **determineOrientation**: [determineOrientation](_services_exifservice_.md#determineorientation) = exifService.determineOrientation -*Defined in [index.ts:30](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/index.ts#L30)* +*Defined in [index.ts:30](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/index.ts#L30)* ## Functions @@ -28,7 +28,7 @@ ▸ `Const`**compress**(`file`: File, `inputOptions`: [InputOptions](../interfaces/_types_inputoptions_.inputoptions.md)): Promise\ -*Defined in [index.ts:8](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/index.ts#L8)* +*Defined in [index.ts:8](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/index.ts#L8)* #### Parameters: diff --git a/docs/modules/_services_canvasservice_.md b/docs/modules/_services_canvasservice_.md index 601f27c..d348760 100644 --- a/docs/modules/_services_canvasservice_.md +++ b/docs/modules/_services_canvasservice_.md @@ -18,7 +18,7 @@ ▸ `Const`**correctExifRotation**(`context`: CanvasTransform, `orientation`: number, `height`: number, `width`: number): void -*Defined in [services/canvasService.ts:20](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/canvasService.ts#L20)* +*Defined in [services/canvasService.ts:20](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/canvasService.ts#L20)* #### Parameters: @@ -37,7 +37,7 @@ ___ ▸ `Const`**create**(`file`: File, `image`: HTMLImageElement, `scale`: number, `__namedParameters`: { fixImageOrientation: boolean ; transparencyFillColor: string }): Promise\ -*Defined in [services/canvasService.ts:48](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/canvasService.ts#L48)* +*Defined in [services/canvasService.ts:48](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/canvasService.ts#L48)* #### Parameters: @@ -56,7 +56,7 @@ ___ ▸ `Const`**setCanvasDimensions**(`canvas`: HTMLCanvasElement, `orientation`: number, `fixImageOrientation`: boolean, `scaledHeight`: number, `scaledWidth`: number): void -*Defined in [services/canvasService.ts:4](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/canvasService.ts#L4)* +*Defined in [services/canvasService.ts:4](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/canvasService.ts#L4)* #### Parameters: diff --git a/docs/modules/_services_exifservice_.md b/docs/modules/_services_exifservice_.md index a52bc7b..711ba5e 100644 --- a/docs/modules/_services_exifservice_.md +++ b/docs/modules/_services_exifservice_.md @@ -26,7 +26,7 @@ • `Const` **applicationSegmentOneMarker**: 65505 = 65505 -*Defined in [services/exifService.ts:1](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L1)* +*Defined in [services/exifService.ts:1](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L1)* ___ @@ -34,7 +34,7 @@ ___ • `Const` **beginOfExifHeaderMarker**: 1165519206 = 1165519206 -*Defined in [services/exifService.ts:2](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L2)* +*Defined in [services/exifService.ts:2](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L2)* ___ @@ -42,7 +42,7 @@ ___ • `Const` **byteOrderMarker**: 18761 = 18761 -*Defined in [services/exifService.ts:3](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L3)* +*Defined in [services/exifService.ts:3](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L3)* ___ @@ -50,7 +50,7 @@ ___ • `Const` **byteStuffingMarker**: 65280 = 65280 -*Defined in [services/exifService.ts:4](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L4)* +*Defined in [services/exifService.ts:4](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L4)* ___ @@ -58,7 +58,7 @@ ___ • `Const` **orientationMarker**: 274 = 274 -*Defined in [services/exifService.ts:5](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L5)* +*Defined in [services/exifService.ts:5](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L5)* ___ @@ -66,21 +66,21 @@ ___ • `Const` **startOfFileMarker**: 65496 = 65496 -*Defined in [services/exifService.ts:6](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L6)* +*Defined in [services/exifService.ts:6](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L6)* ## Functions ### determineOrientation -▸ `Const`**determineOrientation**(`file`: File): Promise\ +▸ `Const`**determineOrientation**(`file`: File \| Blob): Promise\ -*Defined in [services/exifService.ts:36](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L36)* +*Defined in [services/exifService.ts:36](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L36)* #### Parameters: Name | Type | ------ | ------ | -`file` | File | +`file` | File \| Blob | **Returns:** Promise\ @@ -90,7 +90,7 @@ ___ ▸ `Const`**parseBytes**(`dataView`: DataView, `resolve`: (uint16: number) => void): void -*Defined in [services/exifService.ts:8](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/exifService.ts#L8)* +*Defined in [services/exifService.ts:8](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/exifService.ts#L8)* #### Parameters: diff --git a/docs/modules/_services_fileservice_.md b/docs/modules/_services_fileservice_.md index dffce7b..910f5be 100644 --- a/docs/modules/_services_fileservice_.md +++ b/docs/modules/_services_fileservice_.md @@ -17,7 +17,7 @@ ▸ `Const`**create**(`bytes`: Uint8Array[], `type`: string, `name`: string): File \| Blob -*Defined in [services/fileService.ts:9](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/fileService.ts#L9)* +*Defined in [services/fileService.ts:9](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/fileService.ts#L9)* #### Parameters: @@ -35,7 +35,7 @@ ___ ▸ `Const`**validate**(`file`: File): boolean -*Defined in [services/fileService.ts:1](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/fileService.ts#L1)* +*Defined in [services/fileService.ts:1](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/fileService.ts#L1)* #### Parameters: diff --git a/docs/modules/_services_imageservice_.md b/docs/modules/_services_imageservice_.md index 67e3ed9..0721fbb 100644 --- a/docs/modules/_services_imageservice_.md +++ b/docs/modules/_services_imageservice_.md @@ -16,7 +16,7 @@ ▸ `Const`**create**(`file`: File, `options`: [Options](../interfaces/_types_options_.options.md)): Promise\ -*Defined in [services/imageService.ts:3](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/imageService.ts#L3)* +*Defined in [services/imageService.ts:3](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/imageService.ts#L3)* #### Parameters: diff --git a/docs/modules/_services_optionservice_.md b/docs/modules/_services_optionservice_.md index 844b13b..02a3839 100644 --- a/docs/modules/_services_optionservice_.md +++ b/docs/modules/_services_optionservice_.md @@ -16,7 +16,7 @@ ▸ `Const`**override**(`inputOptions`: [InputOptions](../interfaces/_types_inputoptions_.inputoptions.md)): [Options](../interfaces/_types_options_.options.md) -*Defined in [services/optionService.ts:4](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/optionService.ts#L4)* +*Defined in [services/optionService.ts:4](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/optionService.ts#L4)* #### Parameters: diff --git a/docs/modules/_services_qualityservice_.md b/docs/modules/_services_qualityservice_.md index 6353293..085c4eb 100644 --- a/docs/modules/_services_qualityservice_.md +++ b/docs/modules/_services_qualityservice_.md @@ -16,7 +16,7 @@ ▸ `Const`**toFile**(`file`: File, `canvas`: HTMLCanvasElement, `__namedParameters`: { preserveFileType: boolean ; quality: number }): File \| Blob -*Defined in [services/qualityService.ts:5](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/qualityService.ts#L5)* +*Defined in [services/qualityService.ts:5](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/qualityService.ts#L5)* #### Parameters: diff --git a/docs/modules/_services_scaleservice_.md b/docs/modules/_services_scaleservice_.md index e1d60ad..66b3fd1 100644 --- a/docs/modules/_services_scaleservice_.md +++ b/docs/modules/_services_scaleservice_.md @@ -17,7 +17,7 @@ ▸ `Const`**determineScale**(`__namedParameters`: { height: number ; width: number }, `__namedParameters`: { maxHeight: undefined \| number ; maxWidth: undefined \| number ; scaleImageBy: number }): number -*Defined in [services/scaleService.ts:5](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/scaleService.ts#L5)* +*Defined in [services/scaleService.ts:5](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/scaleService.ts#L5)* #### Parameters: @@ -34,7 +34,7 @@ ___ ▸ `Const`**toCanvas**(`file`: File, `options`: [Options](../interfaces/_types_options_.options.md)): Promise\ -*Defined in [services/scaleService.ts:19](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/scaleService.ts#L19)* +*Defined in [services/scaleService.ts:19](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/scaleService.ts#L19)* #### Parameters: diff --git a/docs/modules/_services_windowservice_.md b/docs/modules/_services_windowservice_.md index 1bf91ab..80cc2db 100644 --- a/docs/modules/_services_windowservice_.md +++ b/docs/modules/_services_windowservice_.md @@ -16,7 +16,7 @@ ▸ `Const`**toByteArray**(`base64`: string): Uint8Array[] -*Defined in [services/windowService.ts:1](https://github.com/TonyBrobston/jpegasus/blob/ba960ee/src/services/windowService.ts#L1)* +*Defined in [services/windowService.ts:1](https://github.com/TonyBrobston/jpegasus/blob/faa1275/src/services/windowService.ts#L1)* #### Parameters: diff --git a/src/services/exifService.ts b/src/services/exifService.ts index dabf396..cf39a24 100644 --- a/src/services/exifService.ts +++ b/src/services/exifService.ts @@ -33,7 +33,7 @@ const parseBytes = (dataView: DataView, resolve: (uint16: number) => void): void resolve(-1); }; -const determineOrientation = async (file: File): Promise => { +const determineOrientation = async (file: File|Blob): Promise => { return new Promise((resolve: (orientation: number) => void): void => { try { const reader = new FileReader();