Skip to content

Commit 45bf251

Browse files
committed
fixed fromJson q_auto:best
1 parent f7306dc commit 45bf251

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

__TESTS__/unit/fromJson/delivery.fromJson.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ describe('delivery.fromJson', () => {
7979
expect(transformation.toString()).toStrictEqual('q_auto');
8080
});
8181

82+
it('quality:auto:best', () => {
83+
const transformation = fromJson([
84+
{
85+
actionType: 'quality',
86+
level: 'autoBest'
87+
}
88+
]);
89+
90+
expect(transformation.toString()).toStrictEqual('q_auto:best');
91+
});
92+
8293
it('chromaSubSampling', () => {
8394
const transformation = fromJson([
8495
{

src/actions/delivery/DeliveryQualityAction.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@ import {QualifierValue} from "../../internal/qualifier/QualifierValue.js";
22
import {Qualifier} from "../../internal/qualifier/Qualifier.js";
33
import {DeliveryAction} from "./DeliveryAction.js";
44
import {IDeliveryQualityModel} from "../../internal/models/IDeliveryActionModel.js";
5-
import {CHROMA_VALUE_TO_CHROMA_MODEL_ENUM, CHROMA_MODEL_ENUM_TO_CHROMA_VALUE} from "../../internal/internalConstants.js";
5+
import {
6+
CHROMA_VALUE_TO_CHROMA_MODEL_ENUM,
7+
CHROMA_MODEL_ENUM_TO_CHROMA_VALUE,
8+
ACTION_TYPE_TO_QUALITY_MODE_MAP
9+
} from "../../internal/internalConstants.js";
610
import {IActionModel} from "../../internal/models/IActionModel.js";
711

812

@@ -49,7 +53,8 @@ class DeliveryQualityAction extends DeliveryAction {
4953

5054
static fromJson(actionModel: IActionModel): DeliveryQualityAction {
5155
const {level, chromaSubSampling, quantization} = (actionModel as IDeliveryQualityModel);
52-
const result = new this(level);
56+
const levelType = ACTION_TYPE_TO_QUALITY_MODE_MAP[level] || level;
57+
const result = new this(levelType);
5358

5459
if (chromaSubSampling){
5560
//Turn strings like 'CHROMA_420' to 420

src/internal/internalConstants.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ export const ACTION_TYPE_TO_EFFECT_MODE_MAP: Record<string, string> = {
108108
unsharpMask: 'unsharp_mask'
109109
};
110110

111+
export const ACTION_TYPE_TO_QUALITY_MODE_MAP: Record<string, string> = {
112+
autoBest: 'auto:best',
113+
};
114+
111115
export const CHROMA_VALUE_TO_CHROMA_MODEL_ENUM: Record<number, string> = {
112116
444: "CHROMA_444",
113117
420: "CHROMA_420"
@@ -129,3 +133,5 @@ export const CROP_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_CROP_MODE_
129133
export const DELIVERY_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_DELIVERY_MODE_MAP);
130134

131135
export const EFFECT_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_EFFECT_MODE_MAP);
136+
137+
export const QUALITY_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_QUALITY_MODE_MAP);

0 commit comments

Comments
 (0)