@w11k/ngx-present
Version:
Angular based Presentation Tool
55 lines • 4.45 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/core/presentation.functions.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Slide } from './presentation.types';
/**
* @param {?} component
* @param {?} coordinates
* @param {?} index
* @return {?}
*/
export function componentToSlide(component, coordinates, index) {
return new Slide(component, coordinates, index);
}
/**
* @param {?} components
* @param {?} coordinates
* @param {?} counter
* @return {?}
*/
export function componentsToSlidesRecursive(components, coordinates, counter) {
if (Array.isArray(components)) {
return components.map((/**
* @param {?} x
* @param {?} i
* @return {?}
*/
(x, i) => {
/** @type {?} */
const newCoordinates = coordinates.slice();
newCoordinates.push(i + 1);
return componentsToSlidesRecursive(x, newCoordinates, counter);
}));
}
counter.index++;
return componentToSlide(components, coordinates, counter.index);
}
/**
* @param {?} slideComponents
* @return {?}
*/
export function componentsToSlideTree(slideComponents) {
/** @type {?} */
const counter = {
index: -1
};
return slideComponents.map((/**
* @param {?} x
* @param {?} i
* @return {?}
*/
(x, i) => componentsToSlidesRecursive(x, [i + 1], counter)));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2VudGF0aW9uLmZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3MTFrL25neC1wcmVzZW50LyIsInNvdXJjZXMiOlsibGliL2NvcmUvcHJlc2VudGF0aW9uLmZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBZSxLQUFLLEVBQTJCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFFbkYsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFNBQW9CLEVBQUUsV0FBd0IsRUFBRSxLQUFhO0lBQzVGLE9BQU8sSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNsRCxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUFDLFVBQTJDLEVBQzNDLFdBQXdCLEVBQ3hCLE9BQTBCO0lBQ3BFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUM3QixPQUFPLFVBQVUsQ0FBQyxHQUFHOzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFOztrQkFDdkIsY0FBYyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFDMUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFM0IsT0FBTywyQkFBMkIsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLENBQUMsRUFBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEIsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsRSxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxlQUFnQzs7VUFDOUQsT0FBTyxHQUFHO1FBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNWO0lBRUQsT0FBTyxlQUFlLENBQUMsR0FBRzs7Ozs7SUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBQyxDQUFDO0FBQ3pGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb29yZGluYXRlcywgU2xpZGUsIFNsaWRlQ29tcG9uZW50cywgU2xpZGVzIH0gZnJvbSAnLi9wcmVzZW50YXRpb24udHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcG9uZW50VG9TbGlkZShjb21wb25lbnQ6IFR5cGU8YW55PiwgY29vcmRpbmF0ZXM6IENvb3JkaW5hdGVzLCBpbmRleDogbnVtYmVyKTogU2xpZGUge1xuICByZXR1cm4gbmV3IFNsaWRlKGNvbXBvbmVudCwgY29vcmRpbmF0ZXMsIGluZGV4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvbmVudHNUb1NsaWRlc1JlY3Vyc2l2ZShjb21wb25lbnRzOiBUeXBlPGFueT4gfCBSZWN1cnNpdmVBcnJheTxhbnk+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29yZGluYXRlczogQ29vcmRpbmF0ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXI6IHsgaW5kZXg6IG51bWJlciB9KTogUmVjdXJzaXZlQXJyYXk8U2xpZGU+IHwgU2xpZGUge1xuICBpZiAoQXJyYXkuaXNBcnJheShjb21wb25lbnRzKSkge1xuICAgIHJldHVybiBjb21wb25lbnRzLm1hcCgoeCwgaSkgPT4ge1xuICAgICAgY29uc3QgbmV3Q29vcmRpbmF0ZXMgPSBjb29yZGluYXRlcy5zbGljZSgpO1xuICAgICAgbmV3Q29vcmRpbmF0ZXMucHVzaChpICsgMSk7XG5cbiAgICAgIHJldHVybiBjb21wb25lbnRzVG9TbGlkZXNSZWN1cnNpdmUoeCwgbmV3Q29vcmRpbmF0ZXMsIGNvdW50ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgY291bnRlci5pbmRleCsrO1xuICByZXR1cm4gY29tcG9uZW50VG9TbGlkZShjb21wb25lbnRzLCBjb29yZGluYXRlcywgY291bnRlci5pbmRleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnRzVG9TbGlkZVRyZWUoc2xpZGVDb21wb25lbnRzOiBTbGlkZUNvbXBvbmVudHMpOiBTbGlkZXMge1xuICBjb25zdCBjb3VudGVyID0ge1xuICAgIGluZGV4OiAtMVxuICB9O1xuXG4gIHJldHVybiBzbGlkZUNvbXBvbmVudHMubWFwKCh4LCBpKSA9PiBjb21wb25lbnRzVG9TbGlkZXNSZWN1cnNpdmUoeCwgW2kgKyAxXSwgY291bnRlcikpO1xufVxuIl19