fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
2 lines • 1.29 kB
JavaScript
import{CENTER as e,FILL as t,LEFT as n,RIGHT as r,STROKE as i}from"../constants.min.mjs";import{multiplyTransformMatrices as a}from"../util/misc/matrix.min.mjs";import{parseUnit as o}from"../util/misc/svgParsing.min.mjs";import"../shapes/Text/constants.min.mjs";import{parseTransformAttribute as s}from"./parseTransformAttribute.min.mjs";function c(c,l,u,d){let f=Array.isArray(l),p,m=l;if(c!==`fill`&&c!==`stroke`||l!==`none`){if(c===`strokeUniform`)return l===`non-scaling-stroke`;if(c===`strokeDashArray`)m=l===`none`?null:l.replace(/,/g,` `).split(/\s+/).map(parseFloat);else if(c===`transformMatrix`)m=u&&u.transformMatrix?a(u.transformMatrix,s(l)):s(l);else if(c===`visible`)m=l!==`none`&&l!==`hidden`,u&&!1===u.visible&&(m=!1);else if(c===`opacity`)m=parseFloat(l),u&&u.opacity!==void 0&&(m*=u.opacity);else if(c===`textAnchor`)m=l===`start`?n:l===`end`?r:e;else if(c===`charSpacing`||c===`textDecorationThickness`)p=o(l,d)/d*1e3;else if(c===`paintFirst`){let e=l.indexOf(t),n=l.indexOf(i);m=t,(e>-1&&n>-1&&n<e||e===-1&&n>-1)&&(m=i)}else{if(c===`href`||c===`xlink:href`||c===`font`||c===`id`)return l;if(c===`imageSmoothing`)return l===`optimizeQuality`;p=f?l.map(o):o(l,d)}}else m=``;return!f&&isNaN(p)?m:p}export{c as normalizeValue};
//# sourceMappingURL=normalizeValue.min.mjs.map