map-number
Version:
processing/p5.js map like function, including floating point numbers support
1 lines • 3.36 kB
Source Map (JSON)
{"version":3,"file":"map.mjs","sources":["../../src/map.ts","../../src/transform.ts","../../src/ceil.ts","../../src/compile.ts","../../src/floor.ts","../../src/limit.ts","../../src/round.ts"],"sourcesContent":["export function map(num: number, inMin: number, inMax: number, outMin: number, outMax: number): number {\n return (num - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;\n}\n","import { MapFunction, TransformFunction } from './types';\n\nexport function transformed<O = number, M = number, I = number>(map: MapFunction<M, I>, transform: TransformFunction<M, O>): MapFunction<O, I> {\n return (num: I, inMin: number, inMax: number, outMin: number, outMax: number): O => transform(\n map(num, inMin, inMax, outMin, outMax),\n );\n}\n","import { map } from './map';\nimport { transformed } from './transform';\n\nexport const ceil = transformed(map, Math.ceil);\n","import { CompiledMapFunction, MapFunction } from './types';\n\nexport function compile<O = number, I = number>(map: MapFunction<O, I>, inMin: number, inMax: number, outMin: number, outMax: number): CompiledMapFunction<O, I> {\n return (value: I): O => map(value, inMin, inMax, outMin, outMax);\n}\n","import { map } from './map';\nimport { transformed } from './transform';\n\nexport const floor = transformed(map, Math.floor);\n","import { map } from './map';\n\nexport function limit(num: number, inMin: number, inMax: number, outMin: number, outMax: number): number {\n\n const result = map(num, inMin, inMax, outMin, outMax);\n\n let boundMin = outMin;\n let boundMax = outMax;\n\n if (boundMax < boundMin) {\n const temp = boundMin;\n boundMin = boundMax;\n boundMax = temp;\n }\n\n return result > boundMax ? boundMax : result < boundMin ? boundMin : result;\n\n}\n","import { map } from './map';\nimport { transformed } from './transform';\n\nexport const round = transformed(map, Math.round);\n"],"names":["map","num","inMin","inMax","outMin","outMax","transformed","transform","ceil","Math","compile","value","floor","limit","result","boundMin","boundMax","temp","round"],"mappings":"AAAM,SAAUA,GAAGA,CAACC,GAAW,EAAEC,KAAa,EAAEC,KAAa,EAAEC,MAAc,EAAEC,MAAc,EAAA;AAC3F,EAAA,OAAO,CAACJ,GAAG,GAAGC,KAAK,KAAKG,MAAM,GAAGD,MAAM,CAAC,IAAID,KAAK,GAAGD,KAAK,CAAC,GAAGE,MAAM,CAAA;AACrE;;ACAgB,SAAAE,WAAWA,CAAqCN,GAAsB,EAAEO,SAAkC,EAAA;EACxH,OAAO,CAACN,GAAM,EAAEC,KAAa,EAAEC,KAAa,EAAEC,MAAc,EAAEC,MAAc,KAAQE,SAAS,CAC3FP,GAAG,CAACC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM,CAAC,CACvC,CAAA;AACH;;ACHO,MAAMG,IAAI,GAAGF,WAAW,CAACN,GAAG,EAAES,IAAI,CAACD,IAAI;;ACDxC,SAAUE,OAAOA,CAAyBV,GAAsB,EAAEE,KAAa,EAAEC,KAAa,EAAEC,MAAc,EAAEC,MAAc,EAAA;AAClI,EAAA,OAAQM,KAAQ,IAAQX,GAAG,CAACW,KAAK,EAAET,KAAK,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAAA;AAClE;;ACDO,MAAMO,KAAK,GAAGN,WAAW,CAACN,GAAG,EAAES,IAAI,CAACG,KAAK;;ACD1C,SAAUC,KAAKA,CAACZ,GAAW,EAAEC,KAAa,EAAEC,KAAa,EAAEC,MAAc,EAAEC,MAAc,EAAA;AAE7F,EAAA,MAAMS,MAAM,GAAGd,GAAG,CAACC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAAA;EAErD,IAAIU,QAAQ,GAAGX,MAAM,CAAA;EACrB,IAAIY,QAAQ,GAAGX,MAAM,CAAA;EAErB,IAAIW,QAAQ,GAAGD,QAAQ,EAAE;IACvB,MAAME,IAAI,GAAGF,QAAQ,CAAA;AACrBA,IAAAA,QAAQ,GAAGC,QAAQ,CAAA;AACnBA,IAAAA,QAAQ,GAAGC,IAAI,CAAA;AACjB,GAAA;AAEA,EAAA,OAAOH,MAAM,GAAGE,QAAQ,GAAGA,QAAQ,GAAGF,MAAM,GAAGC,QAAQ,GAAGA,QAAQ,GAAGD,MAAM,CAAA;AAE7E;;ACdO,MAAMI,KAAK,GAAGZ,WAAW,CAACN,GAAG,EAAES,IAAI,CAACS,KAAK;;;;"}