Skip to content

Commit ba25148

Browse files
committed
add assistColorBlind toJson
1 parent 754841f commit ba25148

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

__TESTS__/unit/toJson/effect.toJson.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,16 @@ describe('Effect toJson()', () => {
234234
}
235235
]);
236236
});
237+
238+
it('effect.assistColorBlind', () => {
239+
const transformation = new Transformation()
240+
.addAction(Effect.assistColorBlind().stripesStrength(20));
241+
expect(transformation.toJson()).toStrictEqual( [
242+
{
243+
actionType: 'assistColorblind',
244+
type: 'stripes',
245+
stripesStrength: 20
246+
}
247+
]);
248+
});
237249
});

src/actions/effect/AssistColorBlind.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {Action} from "../../internal/Action.js";
22
import {QualifierValue} from "../../internal/qualifier/QualifierValue.js";
33
import {Qualifier} from "../../internal/qualifier/Qualifier.js";
4+
import {IAssistColorBlindEffectModel} from "../../internal/models/IEffectActionModel.js";
45

56
/**
67
* @description Applies stripes to the image to help people with common color-blind conditions to differentiate between colors that are similar for them.
@@ -10,8 +11,10 @@ import {Qualifier} from "../../internal/qualifier/Qualifier.js";
1011
* @see Visit {@link Actions.Effect|Effect} for an example
1112
*/
1213
class AssistColorBlindEffectAction extends Action {
14+
protected _actionModel: IAssistColorBlindEffectModel = {};
1315
constructor() {
1416
super();
17+
this._actionModel.actionType = 'assistColorblind';
1518
this.addQualifier(new Qualifier('e', new QualifierValue('assist_colorblind')));
1619
}
1720

@@ -20,6 +23,7 @@ class AssistColorBlindEffectAction extends Action {
2023
* @return {this}
2124
*/
2225
xray(): this{
26+
this._actionModel.type = 'xray';
2327
return this.addQualifier(new Qualifier('e', new QualifierValue(['assist_colorblind', 'xray']).setDelimiter(':')));
2428
}
2529

@@ -29,6 +33,8 @@ class AssistColorBlindEffectAction extends Action {
2933
* @return {this}
3034
*/
3135
stripesStrength(strength:number | string): this {
36+
this._actionModel.type = 'stripes';
37+
this._actionModel.stripesStrength = strength;
3238
return this.addQualifier(new Qualifier('e', new QualifierValue(['assist_colorblind', strength]).setDelimiter(':')));
3339
}
3440
}

src/internal/models/IEffectActionModel.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ interface IGradientFadeEffecModel extends IActionModel{
5656
horizontalStartPoint?: string;
5757
}
5858

59+
interface IAssistColorBlindEffectModel extends IActionModel{
60+
type?: string;
61+
}
62+
5963
export {
6064
IEffectActionWithLevelModel,
6165
ISimpleEffectActionModel,
@@ -66,5 +70,6 @@ export {
6670
IMakeTransparentEffectModel,
6771
IDitherModel,
6872
IVectorizeEffectModel,
69-
IGradientFadeEffecModel
73+
IGradientFadeEffecModel,
74+
IAssistColorBlindEffectModel
7075
};

0 commit comments

Comments
 (0)