UNPKG

@exalif/ngx-breadcrumbs

Version:

Angular 4+ breadcrumbs on top of native Angular router

73 lines (72 loc) 4.39 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'; var /** @type {?} */ _ = { template: template, templateSettings: templateSettings }; _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; /** * @abstract */ var /** * @abstract */ BreadcrumbsUtils = /** @class */ (function () { function BreadcrumbsUtils() { } /** * @param {?} rawTemplate * @param {?} binding * @return {?} */ BreadcrumbsUtils.stringFormat = /** * @param {?} rawTemplate * @param {?} binding * @return {?} */ function (rawTemplate, binding) { var /** @type {?} */ compiled = _.template(rawTemplate); return compiled(binding); }; /** * @template T * @param {?} value * @return {?} */ BreadcrumbsUtils.wrapIntoObservable = /** * @template T * @param {?} value * @return {?} */ function (value) { if (value instanceof Observable) { return value; } if (this.isPromise(value)) { return from(Promise.resolve(value)); } return of(/** @type {?} */ (value)); }; /** * @param {?} value * @return {?} */ BreadcrumbsUtils.isPromise = /** * @param {?} value * @return {?} */ function (value) { return value && (typeof value.then === 'function'); }; return BreadcrumbsUtils; }()); /** * @abstract */ export { BreadcrumbsUtils }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMudXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZXhhbGlmL25neC1icmVhZGNydW1icy8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9icmVhZGNydW1icy51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sS0FBSyxRQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLHlCQUF5QixDQUFDO0FBRTVELHFCQUFNLENBQUMsR0FBRztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGdCQUFnQixFQUFFLGdCQUFnQjtDQUNuQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQzs7OztBQUVuRDs7O0FBQUE7Ozs7Ozs7O0lBQ2dCLDZCQUFZOzs7OztjQUFDLFdBQW1CLEVBQUUsT0FBWTtRQUMxRCxxQkFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV6QyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDOzs7Ozs7O0lBR2IsbUNBQWtCOzs7OztjQUFJLEtBQXFDO1FBQ3ZFLEVBQUUsQ0FBQyxDQUFDLEtBQUssWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDZDtRQUVELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsTUFBTSxDQUFDLEVBQUUsbUJBQUMsS0FBVSxFQUFDLENBQUM7Ozs7OztJQUdULDBCQUFTOzs7O2NBQUMsS0FBVTtRQUNqQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDOzsyQkFqQ3ZEO0lBbUNDLENBQUE7Ozs7QUF0QkQsNEJBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCAqIGFzIHRlbXBsYXRlIGZyb20gJ2xvZGFzaC50ZW1wbGF0ZSc7XG5pbXBvcnQgKiBhcyB0ZW1wbGF0ZVNldHRpbmdzIGZyb20gJ2xvZGFzaC50ZW1wbGF0ZXNldHRpbmdzJztcblxuY29uc3QgXyA9IHtcbiAgdGVtcGxhdGU6IHRlbXBsYXRlLFxuICB0ZW1wbGF0ZVNldHRpbmdzOiB0ZW1wbGF0ZVNldHRpbmdzXG59O1xuXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJyZWFkY3J1bWJzVXRpbHMge1xuICBwdWJsaWMgc3RhdGljIHN0cmluZ0Zvcm1hdChyYXdUZW1wbGF0ZTogc3RyaW5nLCBiaW5kaW5nOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbXBpbGVkID0gXy50ZW1wbGF0ZShyYXdUZW1wbGF0ZSk7XG5cbiAgICByZXR1cm4gY29tcGlsZWQoYmluZGluZyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHdyYXBJbnRvT2JzZXJ2YWJsZTxUPih2YWx1ZTogVCB8IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzUHJvbWlzZSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBmcm9tKFByb21pc2UucmVzb2x2ZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHJldHVybiBvZih2YWx1ZSBhcyBUKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzUHJvbWlzZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlICYmICh0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJyk7XG4gIH1cbn1cbiJdfQ==