ngx-acuw
Version:
Angular components using WEBGL (threejs)
63 lines • 10.6 kB
JavaScript
import { Observable } from 'rxjs';
export var RxjsTween;
(function (RxjsTween) {
function createTween(easingFunction, b, c, d, s) {
return new Observable((observer) => {
let startTime;
const sample = (time) => {
startTime = startTime || time;
const t = time - startTime;
if (t < d) {
if (Array.isArray(b) && Array.isArray(c)) {
const tweenVals = new Array();
for (let idx = 0; idx < b.length; idx++) {
tweenVals.push(easingFunction(t, b[idx], c[idx], d, s));
}
observer.next(tweenVals);
}
else {
observer.next(easingFunction(t, b, c, d, s));
}
// Request the animation frame again
requestAnimationFrame(sample);
}
else {
// End value reached
if (Array.isArray(b) && Array.isArray(c)) {
const tweenVals = new Array();
for (let idx = 0; idx < b.length; idx++) {
tweenVals.push(c[idx]);
}
// Emitt end value of arry
observer.next(tweenVals);
}
else {
// Emitt end value
observer.next(c);
}
// Complete the observable
observer.complete();
}
};
// Initially request the animation frame
requestAnimationFrame(sample);
});
}
RxjsTween.createTween = createTween;
function linear(t, b, pc, d) {
const c = pc - b;
return c * t / d + b;
}
RxjsTween.linear = linear;
function easeInOutQuad(t, b, pc, d) {
const c = pc - b;
if ((t /= d / 2) < 1) {
return c / 2 * t * t + b;
}
else {
return -c / 2 * ((--t) * (t - 2) - 1) + b;
}
}
RxjsTween.easeInOutQuad = easeInOutQuad;
})(RxjsTween || (RxjsTween = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy10d2Vlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hY3V3L3NyYy9saWIvdHdlZW4vcnhqcy10d2Vlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE1BQU0sS0FBUSxTQUFTLENBeUV0QjtBQXpFRCxXQUFjLFNBQVM7SUFtQm5CLFNBQWdCLFdBQVcsQ0FBQyxjQUFtRixFQUNuRixDQUFNLEVBQUUsQ0FBTSxFQUFFLENBQVMsRUFBRSxDQUFVO1FBQzdELE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFxQyxFQUFFLEVBQUU7WUFDNUQsSUFBSSxTQUFpQixDQUFDO1lBQ3RCLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBWSxFQUFRLEVBQUU7Z0JBQ2xDLFNBQVMsR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDO2dCQUM5QixNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsU0FBUyxDQUFDO2dCQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ1AsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ3RDLE1BQU0sU0FBUyxHQUFhLElBQUksS0FBSyxFQUFVLENBQUM7d0JBQ2hELEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFOzRCQUNyQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDM0Q7d0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztxQkFDNUI7eUJBQUs7d0JBQ0YsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ2hEO29CQUNELG9DQUFvQztvQkFDcEMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2pDO3FCQUFNO29CQUNILG9CQUFvQjtvQkFDcEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ3RDLE1BQU0sU0FBUyxHQUFhLElBQUksS0FBSyxFQUFVLENBQUM7d0JBQ2hELEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFOzRCQUNyQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3lCQUMxQjt3QkFDRCwwQkFBMEI7d0JBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQzVCO3lCQUFJO3dCQUNELGtCQUFrQjt3QkFDbEIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDcEI7b0JBQ0QsMEJBQTBCO29CQUMxQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ3ZCO1lBQ0wsQ0FBQyxDQUFBO1lBQ0Qsd0NBQXdDO1lBQ3hDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQXZDZSxxQkFBVyxjQXVDMUIsQ0FBQTtJQUVELFNBQWdCLE1BQU0sQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLEVBQVUsRUFBRSxDQUFTO1FBQzlELE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUhlLGdCQUFNLFNBR3JCLENBQUE7SUFFRCxTQUFnQixhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxFQUFVLEVBQUUsQ0FBUztRQUNyRSxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7YUFBTTtZQUNILE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFQZSx1QkFBYSxnQkFPNUIsQ0FBQTtBQUNMLENBQUMsRUF6RWEsU0FBUyxLQUFULFNBQVMsUUF5RXRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBtb2R1bGUgUnhqc1R3ZWVuIHtcclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgc2FtcGxlcyBmcm9tIGFuIGVhc2luZyBmdW5jdGlvbiBvbiBldmVyeSBhbmltYXRpb24gZnJhbWVcclxuICAgICAqIGZvciBhIGR1cmF0aW9uIGBkYCBtcy5cclxuICAgICAqXHJcbiAgICAgKiBUaGUgZmlyc3QgdmFsdWUgd2lsbCBiZSBlbWl0dGVkIG9uIHRoZSBuZXh0IGFuaW1hdGlvbiBmcmFtZSxcclxuICAgICAqIGFuZCBpcyB0aGUgdmFsdWUgb2YgdGhlIGVhc2luZyBmdW5jdGlvbiBhdCBgdCA9IDBgLlxyXG4gICAgICogVGhlIGZpbmFsIHZhbHVlIGlzIGd1YXJhbnRlZWQgdG8gYmUgdGhlIGVhc2luZyBmdW5jdGlvbiBhdCBgdCA9IGRgLlxyXG4gICAgICogVGhlIG9ic2VydmFibGUgY29tcGxldGVzIG9uZSBmcmFtZSBhZnRlciB0aGUgZmluYWwgdmFsdWUgd2FzIGVtaXR0ZWQuXHJcbiAgICAgKiBAcGFyYW0gZWFzaW5nRnVuY3Rpb24gdGhlIGVhc2luZyBmdWN0aW9uIHRvIHNhbXBsZVxyXG4gICAgICogQHBhcmFtIGIgYmVnaW5uaW5nIHZhbHVlIGFuZCAybmQgcGFyYW1ldGVyIG9mIHRoZSBlYXNpbmcgZnVuY3Rpb25cclxuICAgICAqIEBwYXJhbSBjIGNoYW5nZSBpbiB2YWx1ZSAob3IgZW5kIHZhbHVlKSBhbmQgM3JkIHBhcmFtZXRlciBvZiB0aGUgZWFzaW5nIGZ1bmN0aW9uXHJcbiAgICAgKiBAcGFyYW0gZCB0b3RhbCBkdXJhdGlvbiBvZiB0aGUgdHdlZW4gaW4gbXMgYW5kIDR0aCBwYXJhbWV0ZXIgb2YgdGhlIGVhc2luZyBmdW5jdGlvblxyXG4gICAgICogQHBhcmFtIHMgNXRoIHBhcmFtZXRlciBvZiB0aGUgZWFzaW5nIGZ1bmN0aW9uIChvcHRpb25hbClcclxuICAgICAqL1xyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVR3ZWVuKGVhc2luZ0Z1bmN0aW9uOiAodDogbnVtYmVyLCBiOiBudW1iZXIsIHBjOiBudW1iZXIsIGQ6IG51bWJlciwgcz86IG51bWJlcikgPT4gbnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGI6IG51bWJlcltdLCBjOiBudW1iZXJbXSwgZDogbnVtYmVyLCBzPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxudW1iZXJbXT47XHJcbiAgICBleHBvcnQgZnVuY3Rpb24gY3JlYXRlVHdlZW4oZWFzaW5nRnVuY3Rpb246ICh0OiBudW1iZXIsIGI6IG51bWJlciwgcGM6IG51bWJlciwgZDogbnVtYmVyLCBzPzogbnVtYmVyKSA9PiBudW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYjogbnVtYmVyLCBjOiBudW1iZXIsIGQ6IG51bWJlciwgcz86IG51bWJlcik6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUd2VlbihlYXNpbmdGdW5jdGlvbjogKHQ6IG51bWJlciwgYjogbnVtYmVyLCBwYzogbnVtYmVyLCBkOiBudW1iZXIsIHM/OiBudW1iZXIpID0+IG51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOiBhbnksIGM6IGFueSwgZDogbnVtYmVyLCBzPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxudW1iZXIgfCBudW1iZXJbXT4pID0+IHtcclxuICAgICAgICAgICAgbGV0IHN0YXJ0VGltZTogbnVtYmVyO1xyXG4gICAgICAgICAgICBjb25zdCBzYW1wbGUgPSAodGltZTogbnVtYmVyKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgICAgICBzdGFydFRpbWUgPSBzdGFydFRpbWUgfHwgdGltZTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHQgPSB0aW1lIC0gc3RhcnRUaW1lO1xyXG4gICAgICAgICAgICAgICAgaWYgKHQgPCBkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYikgJiYgQXJyYXkuaXNBcnJheShjKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0d2VlblZhbHM6IG51bWJlcltdID0gbmV3IEFycmF5PG51bWJlcj4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgYi5sZW5ndGg7IGlkeCsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0d2VlblZhbHMucHVzaChlYXNpbmdGdW5jdGlvbih0LCBiW2lkeF0sIGNbaWR4XSwgZCwgcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQodHdlZW5WYWxzKTtcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZWFzaW5nRnVuY3Rpb24odCwgYiwgYywgZCwgcykpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBSZXF1ZXN0IHRoZSBhbmltYXRpb24gZnJhbWUgYWdhaW5cclxuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2FtcGxlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRW5kIHZhbHVlIHJlYWNoZWRcclxuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShiKSAmJiBBcnJheS5pc0FycmF5KGMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR3ZWVuVmFsczogbnVtYmVyW10gPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCBiLmxlbmd0aDsgaWR4KyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR3ZWVuVmFscy5wdXNoKGNbaWR4XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW1pdHQgZW5kIHZhbHVlIG9mIGFycnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0d2VlblZhbHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFbWl0dCBlbmQgdmFsdWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChjKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29tcGxldGUgdGhlIG9ic2VydmFibGVcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEluaXRpYWxseSByZXF1ZXN0IHRoZSBhbmltYXRpb24gZnJhbWVcclxuICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNhbXBsZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGxpbmVhcih0OiBudW1iZXIsIGI6IG51bWJlciwgcGM6IG51bWJlciwgZDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBjID0gcGMgLSBiO1xyXG4gICAgICAgIHJldHVybiBjICogdCAvIGQgKyBiO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBmdW5jdGlvbiBlYXNlSW5PdXRRdWFkKHQ6IG51bWJlciwgYjogbnVtYmVyLCBwYzogbnVtYmVyLCBkOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGMgPSBwYyAtIGI7XHJcbiAgICAgICAgaWYgKCh0IC89IGQgLyAyKSA8IDEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGMgLyAyICogdCAqIHQgKyBiO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAtYyAvIDIgKiAoKC0tdCkgKiAodCAtIDIpIC0gMSkgKyBiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=