UNPKG

@exalif/ngx-breadcrumbs

Version:

Angular 4+ breadcrumbs on top of native Angular router

49 lines (48 loc) 3.92 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Observable, of, from } from 'rxjs'; import * as template from 'lodash.template'; import * as templateSettings from 'lodash.templatesettings'; const /** @type {?} */ _ = { template: template, templateSettings: templateSettings }; _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; /** * @abstract */ export class BreadcrumbsUtils { /** * @param {?} rawTemplate * @param {?} binding * @return {?} */ static stringFormat(rawTemplate, binding) { const /** @type {?} */ compiled = _.template(rawTemplate); return compiled(binding); } /** * @template T * @param {?} value * @return {?} */ static wrapIntoObservable(value) { if (value instanceof Observable) { return value; } if (this.isPromise(value)) { return from(Promise.resolve(value)); } return of(/** @type {?} */ (value)); } /** * @param {?} value * @return {?} */ static isPromise(value) { return value && (typeof value.then === 'function'); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMudXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXhhbGlmL25neC1icmVhZGNydW1icy8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9icmVhZGNydW1icy51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sS0FBSyxRQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLHlCQUF5QixDQUFDO0FBRTVELHVCQUFNLENBQUMsR0FBRztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGdCQUFnQixFQUFFLGdCQUFnQjtDQUNuQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQzs7OztBQUVuRCxNQUFNOzs7Ozs7SUFDRyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQW1CLEVBQUUsT0FBWTtRQUMxRCx1QkFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV6QyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDOzs7Ozs7O0lBR3BCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBSSxLQUFxQztRQUN2RSxFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2Q7UUFFRCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNyQztRQUVELE1BQU0sQ0FBQyxFQUFFLG1CQUFDLEtBQVUsRUFBQyxDQUFDOzs7Ozs7SUFHaEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ2pDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7O0NBRXREIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCAqIGFzIHRlbXBsYXRlIGZyb20gJ2xvZGFzaC50ZW1wbGF0ZSc7XG5pbXBvcnQgKiBhcyB0ZW1wbGF0ZVNldHRpbmdzIGZyb20gJ2xvZGFzaC50ZW1wbGF0ZXNldHRpbmdzJztcblxuY29uc3QgXyA9IHtcbiAgdGVtcGxhdGU6IHRlbXBsYXRlLFxuICB0ZW1wbGF0ZVNldHRpbmdzOiB0ZW1wbGF0ZVNldHRpbmdzXG59O1xuXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJyZWFkY3J1bWJzVXRpbHMge1xuICBwdWJsaWMgc3RhdGljIHN0cmluZ0Zvcm1hdChyYXdUZW1wbGF0ZTogc3RyaW5nLCBiaW5kaW5nOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbXBpbGVkID0gXy50ZW1wbGF0ZShyYXdUZW1wbGF0ZSk7XG5cbiAgICByZXR1cm4gY29tcGlsZWQoYmluZGluZyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHdyYXBJbnRvT2JzZXJ2YWJsZTxUPih2YWx1ZTogVCB8IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzUHJvbWlzZSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBmcm9tKFByb21pc2UucmVzb2x2ZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHJldHVybiBvZih2YWx1ZSBhcyBUKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzUHJvbWlzZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlICYmICh0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJyk7XG4gIH1cbn1cbiJdfQ==