UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

50 lines 2.43 kB
var _a; import { GrayscaleColor, RgbColor, CmykColor, LabColor, SpotColor, Ink, ColorSpace } from "@aurigma/design-atoms-model/Colors"; import { Exception } from "@aurigma/design-atoms-model/Exception"; var JsonColorParser = /** @class */ (function () { function JsonColorParser() { } JsonColorParser.parse = function (data) { if (data == null) return null; if (data.colorSpace == null) throw new Exception("Unable to parse color, data colorSpace is not set"); var colorSpace = ColorSpace[data.colorSpace.toString()]; if (colorSpace == null) throw new Exception("Unable to parse color, unknown data colorSpace: '" + data.colorSpace + "'"); var parse = JsonColorParser._mappedParsers[ColorSpace[colorSpace]]; if (parse == null) throw new Exception("Unable to parse color, color space '" + colorSpace + "' is not supported"); return parse(data); }; JsonColorParser.parseRgbColor = function (data) { return new RgbColor(data.r, data.g, data.b, data.alpha, data.profile); }; JsonColorParser._parseCmykColor = function (data) { return new CmykColor(data.c, data.m, data.y, data.k, data.alpha, data.profile); }; JsonColorParser._parseGrayscaleColor = function (data) { return new GrayscaleColor(data.l, data.alpha, data.profile); }; JsonColorParser._parseLabColor = function (data) { return new LabColor(data.l, data.a, data.b, data.alpha, data.profile); }; JsonColorParser._parseSpotColor = function (data) { var ink = JsonColorParser._parseInk(data.ink); return new SpotColor(ink, data.tint, data.alpha); }; JsonColorParser._parseInk = function (data) { var altColor = JsonColorParser.parse(data.alternativeColor); return new Ink(data.name, altColor, data.solidity); }; JsonColorParser._mappedParsers = (_a = {}, _a[ColorSpace.Rgb] = JsonColorParser.parseRgbColor, _a[ColorSpace.Cmyk] = JsonColorParser._parseCmykColor, _a[ColorSpace.Grayscale] = JsonColorParser._parseGrayscaleColor, _a[ColorSpace.Lab] = JsonColorParser._parseLabColor, _a[ColorSpace.Spot] = JsonColorParser._parseSpotColor, _a); return JsonColorParser; }()); export { JsonColorParser }; //# sourceMappingURL=JsonColorParser.js.map