Skip to content

Instantly share code, notes, and snippets.

View Josema's full-sized avatar

Josema Josema

View GitHub Profile
@Josema
Josema / convert-range.js
Created September 3, 2022 16:54 — forked from rijkvanzanten/convert-range.js
Convert number from one range to another
/**
* Convert value from one range to another
* @param {Number} value value to convert
* @param {Object} oldRange min, max of values range
* @param {Object} newRange min, max of desired range
* @return {Number} value converted to other range
*/
function convertRange(value, oldRange, newRange) {
return ((value - oldRange.min) * (newRange.max - newRange.min)) / (oldRange.max - oldRange.min) + newRange.min;
}
export const h=(t,p,...c)=>({t,p,c,k:p&&p.key})
export const render=(e,d,t=d.t||(d.t={}),p,r,c)=>
// arrays
e.pop?e.map((e,p)=>render(e,d,t.o&&t.o[p])):
// components
e.t.call?(e.i=render((render.c=e).t({children:e.c,...e.p},e.s=t.s||{},t=>
render(Object.assign(e.s,t)&&e,d,e)),t.i||d,t&&t.i||{}),e):(
// create notes
e.d=t.d||(e.t?document.createElement(e.t):new Text(e.p)),
// diff props