UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

1 lines 1.41 kB
{"version":3,"file":"percent.mjs","sources":["../../../src/parser/percent.ts"],"sourcesContent":["import { ifNaN } from '../util/internals/ifNaN';\nimport { capValue } from '../util/misc/capValue';\n\nconst RE_PERCENT = /^(\\d+\\.\\d+)%|(\\d+)%$/;\n\nexport function isPercent(value: string | null) {\n return value && RE_PERCENT.test(value);\n}\n\n/**\n *\n * @param value\n * @param valueIfNaN\n * @returns ∈ [0, 1]\n */\nexport function parsePercent(\n value: string | number | null | undefined,\n valueIfNaN?: number,\n) {\n const parsed =\n typeof value === 'number'\n ? value\n : typeof value === 'string'\n ? parseFloat(value) / (isPercent(value) ? 100 : 1)\n : NaN;\n return capValue(0, ifNaN(parsed, valueIfNaN), 1);\n}\n"],"names":["RE_PERCENT","isPercent","value","test","parsePercent","valueIfNaN","parsed","parseFloat","NaN","capValue","ifNaN"],"mappings":";;;AAGA,MAAMA,UAAU,GAAG,sBAAsB,CAAA;AAElC,SAASC,SAASA,CAACC,KAAoB,EAAE;AAC9C,EAAA,OAAOA,KAAK,IAAIF,UAAU,CAACG,IAAI,CAACD,KAAK,CAAC,CAAA;AACxC,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,YAAYA,CAC1BF,KAAyC,EACzCG,UAAmB,EACnB;AACA,EAAA,MAAMC,MAAM,GACV,OAAOJ,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACL,OAAOA,KAAK,KAAK,QAAQ,GACvBK,UAAU,CAACL,KAAK,CAAC,IAAID,SAAS,CAACC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAChDM,GAAG,CAAA;AACX,EAAA,OAAOC,QAAQ,CAAC,CAAC,EAAEC,KAAK,CAACJ,MAAM,EAAED,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;AAClD;;;;"}