UNPKG

2.22 kBSource Map (JSON)View Raw
1{"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../src/util/annotation.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAG5C;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,GAAoB,EAAE,KAAY;IACnE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,IAAI,MAAc,CAAC;IAEnB,QAAQ,GAAG,EAAE;QACX,KAAK,OAAO;YACV,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,KAAK;YACR,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,CAAC;YACb,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,GAAW,IAAK,OAAA,GAAG,EAAH,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3G,MAAM;SACP;QACD,KAAK,MAAM,CAAC,CAAC;YACX,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClF,MAAM;SACP;QACD,KAAK,KAAK;YACR,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,KAAK;YACR,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM;QACR;YACE,MAAM,GAAG,GAAa,CAAC;YACvB,MAAM;KACT;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAjCD,gDAiCC","sourcesContent":["import { getMedian, getMean } from './stat';\nimport { Scale } from '../dependents';\n\n/**\n * parse the value position\n * @param val\n * @param scale\n */\nexport function getNormalizedValue(val: number | string, scale: Scale) {\n if (!scale) {\n return null;\n }\n let scaled: number;\n\n switch (val) {\n case 'start':\n return 0;\n case 'center':\n return 0.5;\n case 'end':\n return 1;\n case 'median': {\n scaled = scale.isCategory ? getMedian(scale.values.map((_, idx: number) => idx)) : getMedian(scale.values);\n break;\n }\n case 'mean': {\n scaled = scale.isCategory ? (scale.values.length - 1) / 2 : getMean(scale.values);\n break;\n }\n case 'min':\n scaled = scale.isCategory ? 0 : scale[val];\n break;\n case 'max':\n scaled = scale.isCategory ? scale.values.length - 1 : scale[val];\n break;\n default:\n scaled = val as number;\n break;\n }\n\n return scale.scale(scaled);\n}\n"]}
\No newline at end of file