@senx/warpview
Version:
WarpView Elements
39 lines • 4.22 kB
JavaScript
/*
* Copyright 2021 SenX S.A.S.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
// @dynamic
export class ChartLib {
static mergeDeep(base, ext) {
const obj = { ...base };
const extended = { ...ext };
for (const prop in extended || {}) {
// If property is an object, merge properties
if (Object.prototype.toString.call(extended[prop]) === '[object Object]') {
obj[prop] = ChartLib.mergeDeep(obj[prop], extended[prop]);
}
else {
obj[prop] = extended[prop];
}
}
return obj;
}
static fraction2r(rl0, rl1, v) {
return v * (rl1 - rl0);
}
}
ChartLib.DEFAULT_WIDTH = 640;
ChartLib.DEFAULT_HEIGHT = 480;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FycHZpZXctbmcvc3JjL2xpYi91dGlscy9jaGFydC1saWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFRO0lBS25CLE1BQU0sQ0FBQyxTQUFTLENBQUksSUFBTyxFQUFFLEdBQVE7UUFDbkMsTUFBTSxHQUFHLEdBQUcsRUFBQyxHQUFHLElBQUksRUFBTSxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLEVBQUMsR0FBRyxHQUFHLEVBQU0sQ0FBQztRQUMvQixLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsSUFBSSxFQUFFLEVBQUU7WUFDakMsNkNBQTZDO1lBQzdDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixFQUFFO2dCQUN4RSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDOUQ7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QjtTQUNGO1FBQ0QsT0FBTyxHQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O0FBbkJNLHNCQUFhLEdBQUcsR0FBRyxDQUFDO0FBQ3BCLHVCQUFjLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqICBDb3B5cmlnaHQgMjAyMSAgU2VuWCBTLkEuUy5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICpcbiAqL1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIENoYXJ0TGliIHtcblxuICBzdGF0aWMgREVGQVVMVF9XSURUSCA9IDY0MDtcbiAgc3RhdGljIERFRkFVTFRfSEVJR0hUID0gNDgwO1xuXG4gIHN0YXRpYyBtZXJnZURlZXA8VD4oYmFzZTogVCwgZXh0OiBhbnkpIHtcbiAgICBjb25zdCBvYmogPSB7Li4uYmFzZX0gYXMgVDtcbiAgICBjb25zdCBleHRlbmRlZCA9IHsuLi5leHR9IGFzIFQ7XG4gICAgZm9yIChjb25zdCBwcm9wIGluIGV4dGVuZGVkIHx8IHt9KSB7XG4gICAgICAvLyBJZiBwcm9wZXJ0eSBpcyBhbiBvYmplY3QsIG1lcmdlIHByb3BlcnRpZXNcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZXh0ZW5kZWRbcHJvcF0pID09PSAnW29iamVjdCBPYmplY3RdJykge1xuICAgICAgICBvYmpbcHJvcF0gPSBDaGFydExpYi5tZXJnZURlZXA8VD4ob2JqW3Byb3BdLCBleHRlbmRlZFtwcm9wXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYmpbcHJvcF0gPSBleHRlbmRlZFtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iaiBhcyBUO1xuICB9XG5cbiAgc3RhdGljIGZyYWN0aW9uMnIocmwwLCBybDEsIHYpIHtcbiAgICByZXR1cm4gdiAqIChybDEgLSBybDApO1xuICB9XG59XG4iXX0=