@angular-kit/cdk
Advanced tools
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export * from './index'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9tZW1vaXplL3NyYy9hbmd1bGFyLWtpdC1jZGstbWVtb2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ== |
| export * from './lib/memoize'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9tZW1vaXplL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21lbW9pemUnO1xuIl19 |
| /** | ||
| * Memoize decorator | ||
| * @example | ||
| * | ||
| * class Test { | ||
| @Memoize() | ||
| calculate(a: number, b: number): number { | ||
| return a + b; | ||
| } | ||
| } | ||
| */ | ||
| export function Memoize() { | ||
| return function (target, propertyKey, descriptor) { | ||
| const originalMethod = descriptor.value; | ||
| //wrapping the original method | ||
| descriptor.value = function (...args) { | ||
| const memoizer = memoize(originalMethod); | ||
| return memoizer.memoized(...args); | ||
| }; | ||
| }; | ||
| } | ||
| /** | ||
| * Memoize a pure function and only recalculate if the arguments change. | ||
| * @param projectionFn - the function to memoize | ||
| * @param comparatorFn - a function to compare the arguments. By default an equality check (===) is used. | ||
| * | ||
| * @example | ||
| * const memoizedFn = memoize((a, b) => a + b).memoized(a, b); | ||
| */ | ||
| export function memoize(projectionFn, comparatorFn) { | ||
| return resultMemoize(projectionFn, comparatorFn ?? defaultComparatorFn); | ||
| } | ||
| function defaultComparatorFn(a, b) { | ||
| if (a instanceof Array) { | ||
| return a.length === b.length && a.every((fromA) => b.includes(fromA)); | ||
| } | ||
| // Default comparison | ||
| return a === b; | ||
| } | ||
| export function isEqualCheck(a, b) { | ||
| return a === b; | ||
| } | ||
| function isArgumentsChanged(args, lastArguments, comparator) { | ||
| for (let i = 0; i < args.length; i++) { | ||
| if (!comparator(args[i], lastArguments[i])) { | ||
| return true; | ||
| } | ||
| } | ||
| return false; | ||
| } | ||
| function resultMemoize(projectionFn, isResultEqual) { | ||
| return defaultMemoize(projectionFn, isEqualCheck, isResultEqual); | ||
| } | ||
| function defaultMemoize(projectionFn, isArgumentsEqual = isEqualCheck, isResultEqual = isEqualCheck) { | ||
| let lastArguments = null; | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , , | ||
| let lastResult = null; | ||
| let overrideResult; | ||
| function reset() { | ||
| lastArguments = null; | ||
| lastResult = null; | ||
| overrideResult = undefined; | ||
| } | ||
| function setResult(result = undefined) { | ||
| overrideResult = { result }; | ||
| } | ||
| /* eslint-disable prefer-rest-params, prefer-spread */ | ||
| // disabled because of the use of `arguments` | ||
| function memoized() { | ||
| if (overrideResult !== undefined) { | ||
| return overrideResult.result; | ||
| } | ||
| if (!lastArguments) { | ||
| lastResult = projectionFn.apply(null, arguments); | ||
| lastArguments = arguments; | ||
| return lastResult; | ||
| } | ||
| if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) { | ||
| return lastResult; | ||
| } | ||
| const newResult = projectionFn.apply(null, arguments); | ||
| lastArguments = arguments; | ||
| if (isResultEqual(lastResult, newResult)) { | ||
| return lastResult; | ||
| } | ||
| lastResult = newResult; | ||
| return newResult; | ||
| } | ||
| return { memoized, reset, setResult }; | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL21lbW9pemUvc3JjL2xpYi9tZW1vaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFPLFVBQ0wsTUFBVyxFQUNYLFdBQW1CLEVBQ25CLFVBQThCO1FBRTlCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDeEMsOEJBQThCO1FBQzlCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLElBQVc7WUFDekMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsWUFBNkIsRUFDN0IsWUFBMkI7SUFFM0IsT0FBTyxhQUFhLENBQUMsWUFBWSxFQUFFLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFZRCxTQUFTLG1CQUFtQixDQUFDLENBQU0sRUFBRSxDQUFNO0lBQ3pDLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtRQUN0QixPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDdkU7SUFDRCxxQkFBcUI7SUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQU0sRUFBRSxDQUFNO0lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FDekIsSUFBZ0IsRUFDaEIsYUFBeUIsRUFDekIsVUFBd0I7SUFFeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUM7U0FDYjtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ3BCLFlBQTZCLEVBQzdCLGFBQTJCO0lBRTNCLE9BQU8sY0FBYyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixZQUE2QixFQUM3QixnQkFBZ0IsR0FBRyxZQUFZLEVBQy9CLGFBQWEsR0FBRyxZQUFZO0lBRTVCLElBQUksYUFBYSxHQUFzQixJQUFJLENBQUM7SUFDNUMsdUVBQXVFO0lBQ3ZFLElBQUksVUFBVSxHQUFRLElBQUksQ0FBQztJQUMzQixJQUFJLGNBQW1CLENBQUM7SUFFeEIsU0FBUyxLQUFLO1FBQ1osYUFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQWMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLFNBQWMsU0FBUztRQUN4QyxjQUFjLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsc0RBQXNEO0lBRXRELDZDQUE2QztJQUM3QyxTQUFTLFFBQVE7UUFDZixJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDaEMsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO1NBQzlCO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBZ0IsQ0FBQyxDQUFDO1lBQ3hELGFBQWEsR0FBRyxTQUFTLENBQUM7WUFDMUIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ25FLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBZ0IsQ0FBQyxDQUFDO1FBQzdELGFBQWEsR0FBRyxTQUFTLENBQUM7UUFFMUIsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUV2QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWVtb2l6ZSBkZWNvcmF0b3JcbiAqIEBleGFtcGxlXG4gKlxuICogY2xhc3MgVGVzdCB7XG4gIEBNZW1vaXplKClcbiAgY2FsY3VsYXRlKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYSArIGI7XG4gIH1cbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1lbW9pemUoKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgdGFyZ2V0OiBhbnksXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuICAgIC8vd3JhcHBpbmcgdGhlIG9yaWdpbmFsIG1ldGhvZFxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICAgIGNvbnN0IG1lbW9pemVyID0gbWVtb2l6ZShvcmlnaW5hbE1ldGhvZCk7XG4gICAgICByZXR1cm4gbWVtb2l6ZXIubWVtb2l6ZWQoLi4uYXJncyk7XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBNZW1vaXplIGEgcHVyZSBmdW5jdGlvbiBhbmQgb25seSByZWNhbGN1bGF0ZSBpZiB0aGUgYXJndW1lbnRzIGNoYW5nZS5cbiAqIEBwYXJhbSBwcm9qZWN0aW9uRm4gLSB0aGUgZnVuY3Rpb24gdG8gbWVtb2l6ZVxuICogQHBhcmFtIGNvbXBhcmF0b3JGbiAtIGEgZnVuY3Rpb24gdG8gY29tcGFyZSB0aGUgYXJndW1lbnRzLiBCeSBkZWZhdWx0IGFuIGVxdWFsaXR5IGNoZWNrICg9PT0pIGlzIHVzZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1lbW9pemVkRm4gPSBtZW1vaXplKChhLCBiKSA9PiBhICsgYikubWVtb2l6ZWQoYSwgYik7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1vaXplPFQ+KFxuICBwcm9qZWN0aW9uRm46IFByb2plY3Rpb25GbjxUPixcbiAgY29tcGFyYXRvckZuPzogQ29tcGFyYXRvckZuXG4pOiBNZW1vaXplZFByb2plY3Rpb248VD4ge1xuICByZXR1cm4gcmVzdWx0TWVtb2l6ZShwcm9qZWN0aW9uRm4sIGNvbXBhcmF0b3JGbiA/PyBkZWZhdWx0Q29tcGFyYXRvckZuKTtcbn1cblxuZXhwb3J0IHR5cGUgUHJvamVjdGlvbkZuPFQ+ID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBDb21wYXJhdG9yRm4gPSAoYTogYW55LCBiOiBhbnkpID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIE1lbW9pemVkUHJvamVjdGlvbjxUPiA9IHtcbiAgbWVtb2l6ZWQ6IFByb2plY3Rpb25GbjxUPjtcbiAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gIHNldFJlc3VsdDogKHJlc3VsdD86IFQpID0+IHZvaWQ7XG59O1xuXG5mdW5jdGlvbiBkZWZhdWx0Q29tcGFyYXRvckZuKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIGlmIChhIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKGZyb21BKSA9PiBiLmluY2x1ZGVzKGZyb21BKSk7XG4gIH1cbiAgLy8gRGVmYXVsdCBjb21wYXJpc29uXG4gIHJldHVybiBhID09PSBiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFcXVhbENoZWNrKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBhID09PSBiO1xufVxuXG5mdW5jdGlvbiBpc0FyZ3VtZW50c0NoYW5nZWQoXG4gIGFyZ3M6IElBcmd1bWVudHMsXG4gIGxhc3RBcmd1bWVudHM6IElBcmd1bWVudHMsXG4gIGNvbXBhcmF0b3I6IENvbXBhcmF0b3JGblxuKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgIGlmICghY29tcGFyYXRvcihhcmdzW2ldLCBsYXN0QXJndW1lbnRzW2ldKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcmVzdWx0TWVtb2l6ZTxUPihcbiAgcHJvamVjdGlvbkZuOiBQcm9qZWN0aW9uRm48VD4sXG4gIGlzUmVzdWx0RXF1YWw6IENvbXBhcmF0b3JGblxuKSB7XG4gIHJldHVybiBkZWZhdWx0TWVtb2l6ZShwcm9qZWN0aW9uRm4sIGlzRXF1YWxDaGVjaywgaXNSZXN1bHRFcXVhbCk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRNZW1vaXplPFQ+KFxuICBwcm9qZWN0aW9uRm46IFByb2plY3Rpb25GbjxUPixcbiAgaXNBcmd1bWVudHNFcXVhbCA9IGlzRXF1YWxDaGVjayxcbiAgaXNSZXN1bHRFcXVhbCA9IGlzRXF1YWxDaGVja1xuKTogTWVtb2l6ZWRQcm9qZWN0aW9uPFQ+IHtcbiAgbGV0IGxhc3RBcmd1bWVudHM6IG51bGwgfCBJQXJndW1lbnRzID0gbnVsbDtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksICwgLCAsICxcbiAgbGV0IGxhc3RSZXN1bHQ6IGFueSA9IG51bGw7XG4gIGxldCBvdmVycmlkZVJlc3VsdDogYW55O1xuXG4gIGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgIGxhc3RBcmd1bWVudHMgPSBudWxsO1xuICAgIGxhc3RSZXN1bHQgPSBudWxsO1xuICAgIG92ZXJyaWRlUmVzdWx0ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0UmVzdWx0KHJlc3VsdDogYW55ID0gdW5kZWZpbmVkKSB7XG4gICAgb3ZlcnJpZGVSZXN1bHQgPSB7IHJlc3VsdCB9O1xuICB9XG5cbiAgLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLXJlc3QtcGFyYW1zLCBwcmVmZXItc3ByZWFkICovXG5cbiAgLy8gZGlzYWJsZWQgYmVjYXVzZSBvZiB0aGUgdXNlIG9mIGBhcmd1bWVudHNgXG4gIGZ1bmN0aW9uIG1lbW9pemVkKCk6IGFueSB7XG4gICAgaWYgKG92ZXJyaWRlUmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBvdmVycmlkZVJlc3VsdC5yZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKCFsYXN0QXJndW1lbnRzKSB7XG4gICAgICBsYXN0UmVzdWx0ID0gcHJvamVjdGlvbkZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgbGFzdEFyZ3VtZW50cyA9IGFyZ3VtZW50cztcbiAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cblxuICAgIGlmICghaXNBcmd1bWVudHNDaGFuZ2VkKGFyZ3VtZW50cywgbGFzdEFyZ3VtZW50cywgaXNBcmd1bWVudHNFcXVhbCkpIHtcbiAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1Jlc3VsdCA9IHByb2plY3Rpb25Gbi5hcHBseShudWxsLCBhcmd1bWVudHMgYXMgYW55KTtcbiAgICBsYXN0QXJndW1lbnRzID0gYXJndW1lbnRzO1xuXG4gICAgaWYgKGlzUmVzdWx0RXF1YWwobGFzdFJlc3VsdCwgbmV3UmVzdWx0KSkge1xuICAgICAgcmV0dXJuIGxhc3RSZXN1bHQ7XG4gICAgfVxuXG4gICAgbGFzdFJlc3VsdCA9IG5ld1Jlc3VsdDtcblxuICAgIHJldHVybiBuZXdSZXN1bHQ7XG4gIH1cblxuICByZXR1cm4geyBtZW1vaXplZCwgcmVzZXQsIHNldFJlc3VsdCB9O1xufVxuIl19 |
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export * from './index'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLXBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvcGlwZXMvc3JjL2FuZ3VsYXIta2l0LWNkay1waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ== |
| export * from './lib/fn/fn.pipe'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9waXBlcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2ZuL2ZuLnBpcGUnO1xuIl19 |
| import { NgModule, Pipe } from '@angular/core'; | ||
| import { CommonModule } from '@angular/common'; | ||
| import * as i0 from "@angular/core"; | ||
| export class RunFnPipe { | ||
| transform(fn, ...args) { | ||
| if (!fn) { | ||
| throw new Error('fn is required'); | ||
| } | ||
| return fn(...args); | ||
| } | ||
| } | ||
| RunFnPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); | ||
| RunFnPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, name: "runFn" }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'runFn', | ||
| }] | ||
| }] }); | ||
| export class RunFnPipeModule { | ||
| } | ||
| RunFnPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); | ||
| RunFnPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, declarations: [RunFnPipe], imports: [CommonModule], exports: [RunFnPipe] }); | ||
| RunFnPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, imports: [CommonModule] }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| imports: [CommonModule], | ||
| declarations: [RunFnPipe], | ||
| exports: [RunFnPipe], | ||
| }] | ||
| }] }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3BpcGVzL3NyYy9saWIvZm4vZm4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQU83QyxNQUFNLE9BQU8sU0FBUztJQUNwQixTQUFTLENBQUksRUFBc0IsRUFBRSxHQUFHLElBQVc7UUFDakQsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQzs7c0dBTlUsU0FBUztvR0FBVCxTQUFTOzJGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87aUJBQ2Q7O0FBZUQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFkZixTQUFTLGFBVVYsWUFBWSxhQVZYLFNBQVM7NkdBY1QsZUFBZSxZQUpoQixZQUFZOzJGQUlYLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBSdW5GbkV4cHJlc3Npb248VD4gPSAoLi4uYXJnczogYW55W10pID0+IFRcblxuQFBpcGUoe1xuICBuYW1lOiAncnVuRm4nLFxufSlcbmV4cG9ydCBjbGFzcyBSdW5GblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtPFQ+KGZuOiBSdW5GbkV4cHJlc3Npb248VD4sIC4uLmFyZ3M6IGFueVtdKTogVCB7XG4gICAgaWYgKCFmbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmbiBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gZm4oLi4uYXJncyk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1J1bkZuUGlwZV0sXG4gIGV4cG9ydHM6IFtSdW5GblBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSdW5GblBpcGVNb2R1bGUge31cbiJdfQ== |
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export * from './index'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2FuZ3VsYXIta2l0LWNkay10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ== |
| export * from './lib/window.token'; | ||
| export * from './lib/navigator.token'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay90b2tlbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvd2luZG93LnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRvci50b2tlbic7XG4iXX0= |
| import { inject, InjectionToken } from "@angular/core"; | ||
| import { WINDOW } from "./window.token"; | ||
| export const NAVIGATOR = new InjectionToken('Browser navigator object', { | ||
| providedIn: 'root', | ||
| factory: () => inject(WINDOW)?.navigator | ||
| }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2xpYi9uYXZpZ2F0b3IudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3RDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBWSwwQkFBMEIsRUFBRTtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVM7Q0FDekMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gXCIuL3dpbmRvdy50b2tlblwiO1xuXG5cbmV4cG9ydCBjb25zdCBOQVZJR0FUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF2aWdhdG9yPignQnJvd3NlciBuYXZpZ2F0b3Igb2JqZWN0Jywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IGluamVjdChXSU5ET1cpPy5uYXZpZ2F0b3Jcbn0pXG4iXX0= |
| import { inject, InjectionToken } from '@angular/core'; | ||
| import { DOCUMENT } from '@angular/common'; | ||
| export const WINDOW = new InjectionToken('Browser window object', { | ||
| providedIn: 'root', | ||
| factory: () => { | ||
| const { defaultView } = inject(DOCUMENT); | ||
| if (!defaultView) { | ||
| throw new Error('Window is only available in browser environment'); | ||
| } | ||
| return defaultView; | ||
| }, | ||
| }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2xpYi93aW5kb3cudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyx1QkFBdUIsRUFBRTtJQUN4RSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFHLENBQUMsV0FBVyxFQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsT0FBTyxXQUFxQixDQUFDO0lBQy9CLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFdJTkRPVyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+KCdCcm93c2VyIHdpbmRvdyBvYmplY3QnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IHsgZGVmYXVsdFZpZXcgfSA9IGluamVjdChET0NVTUVOVCk7XG4gICAgaWYoIWRlZmF1bHRWaWV3KXtcbiAgICAgIHRocm93IG5ldyBFcnJvcignV2luZG93IGlzIG9ubHkgYXZhaWxhYmxlIGluIGJyb3dzZXIgZW52aXJvbm1lbnQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZpZXcgYXMgV2luZG93O1xuICB9LFxufSk7XG4iXX0= |
| export {}; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy1vZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3R5cGVzL3NyYy9saWIva2V5cy1vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgS2V5c09mPE8+ID0ga2V5b2YgTztcbiJdfQ== |
| export {}; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVzLW9mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdHlwZXMvc3JjL2xpYi92YWx1ZXMtb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFZhbHVlc09mPE8+ID0gT1trZXlvZiBPXTtcbiJdfQ== |
| /** | ||
| * Memoize decorator | ||
| * @example | ||
| * | ||
| * class Test { | ||
| @Memoize() | ||
| calculate(a: number, b: number): number { | ||
| return a + b; | ||
| } | ||
| } | ||
| */ | ||
| function Memoize() { | ||
| return function (target, propertyKey, descriptor) { | ||
| const originalMethod = descriptor.value; | ||
| //wrapping the original method | ||
| descriptor.value = function (...args) { | ||
| const memoizer = memoize(originalMethod); | ||
| return memoizer.memoized(...args); | ||
| }; | ||
| }; | ||
| } | ||
| /** | ||
| * Memoize a pure function and only recalculate if the arguments change. | ||
| * @param projectionFn - the function to memoize | ||
| * @param comparatorFn - a function to compare the arguments. By default an equality check (===) is used. | ||
| * | ||
| * @example | ||
| * const memoizedFn = memoize((a, b) => a + b).memoized(a, b); | ||
| */ | ||
| function memoize(projectionFn, comparatorFn) { | ||
| return resultMemoize(projectionFn, comparatorFn !== null && comparatorFn !== void 0 ? comparatorFn : defaultComparatorFn); | ||
| } | ||
| function defaultComparatorFn(a, b) { | ||
| if (a instanceof Array) { | ||
| return a.length === b.length && a.every((fromA) => b.includes(fromA)); | ||
| } | ||
| // Default comparison | ||
| return a === b; | ||
| } | ||
| function isEqualCheck(a, b) { | ||
| return a === b; | ||
| } | ||
| function isArgumentsChanged(args, lastArguments, comparator) { | ||
| for (let i = 0; i < args.length; i++) { | ||
| if (!comparator(args[i], lastArguments[i])) { | ||
| return true; | ||
| } | ||
| } | ||
| return false; | ||
| } | ||
| function resultMemoize(projectionFn, isResultEqual) { | ||
| return defaultMemoize(projectionFn, isEqualCheck, isResultEqual); | ||
| } | ||
| function defaultMemoize(projectionFn, isArgumentsEqual = isEqualCheck, isResultEqual = isEqualCheck) { | ||
| let lastArguments = null; | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , , | ||
| let lastResult = null; | ||
| let overrideResult; | ||
| function reset() { | ||
| lastArguments = null; | ||
| lastResult = null; | ||
| overrideResult = undefined; | ||
| } | ||
| function setResult(result = undefined) { | ||
| overrideResult = { result }; | ||
| } | ||
| /* eslint-disable prefer-rest-params, prefer-spread */ | ||
| // disabled because of the use of `arguments` | ||
| function memoized() { | ||
| if (overrideResult !== undefined) { | ||
| return overrideResult.result; | ||
| } | ||
| if (!lastArguments) { | ||
| lastResult = projectionFn.apply(null, arguments); | ||
| lastArguments = arguments; | ||
| return lastResult; | ||
| } | ||
| if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) { | ||
| return lastResult; | ||
| } | ||
| const newResult = projectionFn.apply(null, arguments); | ||
| lastArguments = arguments; | ||
| if (isResultEqual(lastResult, newResult)) { | ||
| return lastResult; | ||
| } | ||
| lastResult = newResult; | ||
| return newResult; | ||
| } | ||
| return { memoized, reset, setResult }; | ||
| } | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { Memoize, isEqualCheck, memoize }; | ||
| //# sourceMappingURL=angular-kit-cdk-memoize.mjs.map | ||
| //# sourceMappingURL=angular-kit-cdk-memoize.mjs.map |
| {"version":3,"file":"angular-kit-cdk-memoize.mjs","sources":["../esm2020/memoize/lib/memoize.mjs","../esm2020/memoize/angular-kit-cdk-memoize.mjs"],"sourcesContent":["/**\n * Memoize decorator\n * @example\n *\n * class Test {\n @Memoize()\n calculate(a: number, b: number): number {\n return a + b;\n }\n}\n */\nexport function Memoize() {\n return function (target, propertyKey, descriptor) {\n const originalMethod = descriptor.value;\n //wrapping the original method\n descriptor.value = function (...args) {\n const memoizer = memoize(originalMethod);\n return memoizer.memoized(...args);\n };\n };\n}\n/**\n * Memoize a pure function and only recalculate if the arguments change.\n * @param projectionFn - the function to memoize\n * @param comparatorFn - a function to compare the arguments. By default an equality check (===) is used.\n *\n * @example\n * const memoizedFn = memoize((a, b) => a + b).memoized(a, b);\n */\nexport function memoize(projectionFn, comparatorFn) {\n return resultMemoize(projectionFn, comparatorFn ?? defaultComparatorFn);\n}\nfunction defaultComparatorFn(a, b) {\n if (a instanceof Array) {\n return a.length === b.length && a.every((fromA) => b.includes(fromA));\n }\n // Default comparison\n return a === b;\n}\nexport function isEqualCheck(a, b) {\n return a === b;\n}\nfunction isArgumentsChanged(args, lastArguments, comparator) {\n for (let i = 0; i < args.length; i++) {\n if (!comparator(args[i], lastArguments[i])) {\n return true;\n }\n }\n return false;\n}\nfunction resultMemoize(projectionFn, isResultEqual) {\n return defaultMemoize(projectionFn, isEqualCheck, isResultEqual);\n}\nfunction defaultMemoize(projectionFn, isArgumentsEqual = isEqualCheck, isResultEqual = isEqualCheck) {\n let lastArguments = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , ,\n let lastResult = null;\n let overrideResult;\n function reset() {\n lastArguments = null;\n lastResult = null;\n overrideResult = undefined;\n }\n function setResult(result = undefined) {\n overrideResult = { result };\n }\n /* eslint-disable prefer-rest-params, prefer-spread */\n // disabled because of the use of `arguments`\n function memoized() {\n if (overrideResult !== undefined) {\n return overrideResult.result;\n }\n if (!lastArguments) {\n lastResult = projectionFn.apply(null, arguments);\n lastArguments = arguments;\n return lastResult;\n }\n if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) {\n return lastResult;\n }\n const newResult = projectionFn.apply(null, arguments);\n lastArguments = arguments;\n if (isResultEqual(lastResult, newResult)) {\n return lastResult;\n }\n lastResult = newResult;\n return newResult;\n }\n return { memoized, reset, setResult };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL21lbW9pemUvc3JjL2xpYi9tZW1vaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFPLFVBQ0wsTUFBVyxFQUNYLFdBQW1CLEVBQ25CLFVBQThCO1FBRTlCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDeEMsOEJBQThCO1FBQzlCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLElBQVc7WUFDekMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsWUFBNkIsRUFDN0IsWUFBMkI7SUFFM0IsT0FBTyxhQUFhLENBQUMsWUFBWSxFQUFFLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFZRCxTQUFTLG1CQUFtQixDQUFDLENBQU0sRUFBRSxDQUFNO0lBQ3pDLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtRQUN0QixPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDdkU7SUFDRCxxQkFBcUI7SUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQU0sRUFBRSxDQUFNO0lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FDekIsSUFBZ0IsRUFDaEIsYUFBeUIsRUFDekIsVUFBd0I7SUFFeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUM7U0FDYjtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ3BCLFlBQTZCLEVBQzdCLGFBQTJCO0lBRTNCLE9BQU8sY0FBYyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixZQUE2QixFQUM3QixnQkFBZ0IsR0FBRyxZQUFZLEVBQy9CLGFBQWEsR0FBRyxZQUFZO0lBRTVCLElBQUksYUFBYSxHQUFzQixJQUFJLENBQUM7SUFDNUMsdUVBQXVFO0lBQ3ZFLElBQUksVUFBVSxHQUFRLElBQUksQ0FBQztJQUMzQixJQUFJLGNBQW1CLENBQUM7SUFFeEIsU0FBUyxLQUFLO1FBQ1osYUFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQWMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLFNBQWMsU0FBUztRQUN4QyxjQUFjLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsc0RBQXNEO0lBRXRELDZDQUE2QztJQUM3QyxTQUFTLFFBQVE7UUFDZixJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDaEMsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO1NBQzlCO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBZ0IsQ0FBQyxDQUFDO1lBQ3hELGFBQWEsR0FBRyxTQUFTLENBQUM7WUFDMUIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ25FLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBZ0IsQ0FBQyxDQUFDO1FBQzdELGFBQWEsR0FBRyxTQUFTLENBQUM7UUFFMUIsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUV2QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWVtb2l6ZSBkZWNvcmF0b3JcbiAqIEBleGFtcGxlXG4gKlxuICogY2xhc3MgVGVzdCB7XG4gIEBNZW1vaXplKClcbiAgY2FsY3VsYXRlKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYSArIGI7XG4gIH1cbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1lbW9pemUoKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgdGFyZ2V0OiBhbnksXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuICAgIC8vd3JhcHBpbmcgdGhlIG9yaWdpbmFsIG1ldGhvZFxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICAgIGNvbnN0IG1lbW9pemVyID0gbWVtb2l6ZShvcmlnaW5hbE1ldGhvZCk7XG4gICAgICByZXR1cm4gbWVtb2l6ZXIubWVtb2l6ZWQoLi4uYXJncyk7XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBNZW1vaXplIGEgcHVyZSBmdW5jdGlvbiBhbmQgb25seSByZWNhbGN1bGF0ZSBpZiB0aGUgYXJndW1lbnRzIGNoYW5nZS5cbiAqIEBwYXJhbSBwcm9qZWN0aW9uRm4gLSB0aGUgZnVuY3Rpb24gdG8gbWVtb2l6ZVxuICogQHBhcmFtIGNvbXBhcmF0b3JGbiAtIGEgZnVuY3Rpb24gdG8gY29tcGFyZSB0aGUgYXJndW1lbnRzLiBCeSBkZWZhdWx0IGFuIGVxdWFsaXR5IGNoZWNrICg9PT0pIGlzIHVzZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1lbW9pemVkRm4gPSBtZW1vaXplKChhLCBiKSA9PiBhICsgYikubWVtb2l6ZWQoYSwgYik7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1vaXplPFQ+KFxuICBwcm9qZWN0aW9uRm46IFByb2plY3Rpb25GbjxUPixcbiAgY29tcGFyYXRvckZuPzogQ29tcGFyYXRvckZuXG4pOiBNZW1vaXplZFByb2plY3Rpb248VD4ge1xuICByZXR1cm4gcmVzdWx0TWVtb2l6ZShwcm9qZWN0aW9uRm4sIGNvbXBhcmF0b3JGbiA/PyBkZWZhdWx0Q29tcGFyYXRvckZuKTtcbn1cblxuZXhwb3J0IHR5cGUgUHJvamVjdGlvbkZuPFQ+ID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBDb21wYXJhdG9yRm4gPSAoYTogYW55LCBiOiBhbnkpID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIE1lbW9pemVkUHJvamVjdGlvbjxUPiA9IHtcbiAgbWVtb2l6ZWQ6IFByb2plY3Rpb25GbjxUPjtcbiAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gIHNldFJlc3VsdDogKHJlc3VsdD86IFQpID0+IHZvaWQ7XG59O1xuXG5mdW5jdGlvbiBkZWZhdWx0Q29tcGFyYXRvckZuKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIGlmIChhIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKGZyb21BKSA9PiBiLmluY2x1ZGVzKGZyb21BKSk7XG4gIH1cbiAgLy8gRGVmYXVsdCBjb21wYXJpc29uXG4gIHJldHVybiBhID09PSBiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFcXVhbENoZWNrKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBhID09PSBiO1xufVxuXG5mdW5jdGlvbiBpc0FyZ3VtZW50c0NoYW5nZWQoXG4gIGFyZ3M6IElBcmd1bWVudHMsXG4gIGxhc3RBcmd1bWVudHM6IElBcmd1bWVudHMsXG4gIGNvbXBhcmF0b3I6IENvbXBhcmF0b3JGblxuKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgIGlmICghY29tcGFyYXRvcihhcmdzW2ldLCBsYXN0QXJndW1lbnRzW2ldKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcmVzdWx0TWVtb2l6ZTxUPihcbiAgcHJvamVjdGlvbkZuOiBQcm9qZWN0aW9uRm48VD4sXG4gIGlzUmVzdWx0RXF1YWw6IENvbXBhcmF0b3JGblxuKSB7XG4gIHJldHVybiBkZWZhdWx0TWVtb2l6ZShwcm9qZWN0aW9uRm4sIGlzRXF1YWxDaGVjaywgaXNSZXN1bHRFcXVhbCk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRNZW1vaXplPFQ+KFxuICBwcm9qZWN0aW9uRm46IFByb2plY3Rpb25GbjxUPixcbiAgaXNBcmd1bWVudHNFcXVhbCA9IGlzRXF1YWxDaGVjayxcbiAgaXNSZXN1bHRFcXVhbCA9IGlzRXF1YWxDaGVja1xuKTogTWVtb2l6ZWRQcm9qZWN0aW9uPFQ+IHtcbiAgbGV0IGxhc3RBcmd1bWVudHM6IG51bGwgfCBJQXJndW1lbnRzID0gbnVsbDtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksICwgLCAsICxcbiAgbGV0IGxhc3RSZXN1bHQ6IGFueSA9IG51bGw7XG4gIGxldCBvdmVycmlkZVJlc3VsdDogYW55O1xuXG4gIGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgIGxhc3RBcmd1bWVudHMgPSBudWxsO1xuICAgIGxhc3RSZXN1bHQgPSBudWxsO1xuICAgIG92ZXJyaWRlUmVzdWx0ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0UmVzdWx0KHJlc3VsdDogYW55ID0gdW5kZWZpbmVkKSB7XG4gICAgb3ZlcnJpZGVSZXN1bHQgPSB7IHJlc3VsdCB9O1xuICB9XG5cbiAgLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLXJlc3QtcGFyYW1zLCBwcmVmZXItc3ByZWFkICovXG5cbiAgLy8gZGlzYWJsZWQgYmVjYXVzZSBvZiB0aGUgdXNlIG9mIGBhcmd1bWVudHNgXG4gIGZ1bmN0aW9uIG1lbW9pemVkKCk6IGFueSB7XG4gICAgaWYgKG92ZXJyaWRlUmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBvdmVycmlkZVJlc3VsdC5yZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKCFsYXN0QXJndW1lbnRzKSB7XG4gICAgICBsYXN0UmVzdWx0ID0gcHJvamVjdGlvbkZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgbGFzdEFyZ3VtZW50cyA9IGFyZ3VtZW50cztcbiAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cblxuICAgIGlmICghaXNBcmd1bWVudHNDaGFuZ2VkKGFyZ3VtZW50cywgbGFzdEFyZ3VtZW50cywgaXNBcmd1bWVudHNFcXVhbCkpIHtcbiAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1Jlc3VsdCA9IHByb2plY3Rpb25Gbi5hcHBseShudWxsLCBhcmd1bWVudHMgYXMgYW55KTtcbiAgICBsYXN0QXJndW1lbnRzID0gYXJndW1lbnRzO1xuXG4gICAgaWYgKGlzUmVzdWx0RXF1YWwobGFzdFJlc3VsdCwgbmV3UmVzdWx0KSkge1xuICAgICAgcmV0dXJuIGxhc3RSZXN1bHQ7XG4gICAgfVxuXG4gICAgbGFzdFJlc3VsdCA9IG5ld1Jlc3VsdDtcblxuICAgIHJldHVybiBuZXdSZXN1bHQ7XG4gIH1cblxuICByZXR1cm4geyBtZW1vaXplZCwgcmVzZXQsIHNldFJlc3VsdCB9O1xufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9tZW1vaXplL3NyYy9hbmd1bGFyLWtpdC1jZGstbWVtb2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"} |
| import * as i0 from '@angular/core'; | ||
| import { Pipe, NgModule } from '@angular/core'; | ||
| import { CommonModule } from '@angular/common'; | ||
| class RunFnPipe { | ||
| transform(fn, ...args) { | ||
| if (!fn) { | ||
| throw new Error('fn is required'); | ||
| } | ||
| return fn(...args); | ||
| } | ||
| } | ||
| RunFnPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); | ||
| RunFnPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, name: "runFn" }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'runFn', | ||
| }] | ||
| }] }); | ||
| class RunFnPipeModule { | ||
| } | ||
| RunFnPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); | ||
| RunFnPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, declarations: [RunFnPipe], imports: [CommonModule], exports: [RunFnPipe] }); | ||
| RunFnPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, imports: [CommonModule] }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| imports: [CommonModule], | ||
| declarations: [RunFnPipe], | ||
| exports: [RunFnPipe], | ||
| }] | ||
| }] }); | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { RunFnPipe, RunFnPipeModule }; | ||
| //# sourceMappingURL=angular-kit-cdk-pipes.mjs.map | ||
| //# sourceMappingURL=angular-kit-cdk-pipes.mjs.map |
| {"version":3,"file":"angular-kit-cdk-pipes.mjs","sources":["../esm2020/pipes/lib/fn/fn.pipe.mjs","../esm2020/pipes/angular-kit-cdk-pipes.mjs"],"sourcesContent":["import { NgModule, Pipe } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class RunFnPipe {\n transform(fn, ...args) {\n if (!fn) {\n throw new Error('fn is required');\n }\n return fn(...args);\n }\n}\nRunFnPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nRunFnPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipe, name: \"runFn\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'runFn',\n }]\n }] });\nexport class RunFnPipeModule {\n}\nRunFnPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nRunFnPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, declarations: [RunFnPipe], imports: [CommonModule], exports: [RunFnPipe] });\nRunFnPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, imports: [CommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [RunFnPipe],\n exports: [RunFnPipe],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3BpcGVzL3NyYy9saWIvZm4vZm4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQU83QyxNQUFNLE9BQU8sU0FBUztJQUNwQixTQUFTLENBQUksRUFBc0IsRUFBRSxHQUFHLElBQVc7UUFDakQsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQzs7c0dBTlUsU0FBUztvR0FBVCxTQUFTOzJGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87aUJBQ2Q7O0FBZUQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFkZixTQUFTLGFBVVYsWUFBWSxhQVZYLFNBQVM7NkdBY1QsZUFBZSxZQUpoQixZQUFZOzJGQUlYLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBSdW5GbkV4cHJlc3Npb248VD4gPSAoLi4uYXJnczogYW55W10pID0+IFRcblxuQFBpcGUoe1xuICBuYW1lOiAncnVuRm4nLFxufSlcbmV4cG9ydCBjbGFzcyBSdW5GblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtPFQ+KGZuOiBSdW5GbkV4cHJlc3Npb248VD4sIC4uLmFyZ3M6IGFueVtdKTogVCB7XG4gICAgaWYgKCFmbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmbiBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gZm4oLi4uYXJncyk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1J1bkZuUGlwZV0sXG4gIGV4cG9ydHM6IFtSdW5GblBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSdW5GblBpcGVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLXBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvcGlwZXMvc3JjL2FuZ3VsYXIta2l0LWNkay1waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;MAGa,SAAS,CAAA;AAClB,IAAA,SAAS,CAAC,EAAE,EAAE,GAAG,IAAI,EAAA;QACjB,IAAI,CAAC,EAAE,EAAE;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACrC,SAAA;AACD,QAAA,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;KACtB;AACJ,CAAA;AACD,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9J,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChI,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACvG,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,CAAC;AACC,oBAAA,IAAI,EAAE,OAAO;iBAChB,CAAC;SACT,CAAC,EAAE,CAAC,CAAC;MACD,eAAe,CAAA;AAC3B,CAAA;AACD,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9K,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1M,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACzJ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAC7G,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,IAAI,EAAE,CAAC;oBACC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,SAAS,CAAC;oBACzB,OAAO,EAAE,CAAC,SAAS,CAAC;iBACvB,CAAC;SACT,CAAC,EAAE,CAAC;;AC/Bb;;AAEG;;;;"} |
| import { InjectionToken, inject } from '@angular/core'; | ||
| import { DOCUMENT } from '@angular/common'; | ||
| const WINDOW = new InjectionToken('Browser window object', { | ||
| providedIn: 'root', | ||
| factory: () => { | ||
| const { defaultView } = inject(DOCUMENT); | ||
| if (!defaultView) { | ||
| throw new Error('Window is only available in browser environment'); | ||
| } | ||
| return defaultView; | ||
| }, | ||
| }); | ||
| const NAVIGATOR = new InjectionToken('Browser navigator object', { | ||
| providedIn: 'root', | ||
| factory: () => { var _a; return (_a = inject(WINDOW)) === null || _a === void 0 ? void 0 : _a.navigator; } | ||
| }); | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { NAVIGATOR, WINDOW }; | ||
| //# sourceMappingURL=angular-kit-cdk-token.mjs.map |
| {"version":3,"file":"angular-kit-cdk-token.mjs","sources":["../esm2020/token/lib/window.token.mjs","../esm2020/token/lib/navigator.token.mjs","../esm2020/token/angular-kit-cdk-token.mjs"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nexport const WINDOW = new InjectionToken('Browser window object', {\n providedIn: 'root',\n factory: () => {\n const { defaultView } = inject(DOCUMENT);\n if (!defaultView) {\n throw new Error('Window is only available in browser environment');\n }\n return defaultView;\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2xpYi93aW5kb3cudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyx1QkFBdUIsRUFBRTtJQUN4RSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFHLENBQUMsV0FBVyxFQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsT0FBTyxXQUFxQixDQUFDO0lBQy9CLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFdJTkRPVyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+KCdCcm93c2VyIHdpbmRvdyBvYmplY3QnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IHsgZGVmYXVsdFZpZXcgfSA9IGluamVjdChET0NVTUVOVCk7XG4gICAgaWYoIWRlZmF1bHRWaWV3KXtcbiAgICAgIHRocm93IG5ldyBFcnJvcignV2luZG93IGlzIG9ubHkgYXZhaWxhYmxlIGluIGJyb3dzZXIgZW52aXJvbm1lbnQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZpZXcgYXMgV2luZG93O1xuICB9LFxufSk7XG4iXX0=","import { inject, InjectionToken } from \"@angular/core\";\nimport { WINDOW } from \"./window.token\";\nexport const NAVIGATOR = new InjectionToken('Browser navigator object', {\n providedIn: 'root',\n factory: () => inject(WINDOW)?.navigator\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2xpYi9uYXZpZ2F0b3IudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3RDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBWSwwQkFBMEIsRUFBRTtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVM7Q0FDekMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gXCIuL3dpbmRvdy50b2tlblwiO1xuXG5cbmV4cG9ydCBjb25zdCBOQVZJR0FUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF2aWdhdG9yPignQnJvd3NlciBuYXZpZ2F0b3Igb2JqZWN0Jywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IGluamVjdChXSU5ET1cpPy5uYXZpZ2F0b3Jcbn0pXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2FuZ3VsYXIta2l0LWNkay10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;MAEa,MAAM,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE;AAC9D,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACV,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACtE,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACtB;AACJ,CAAA;;MCTY,SAAS,GAAG,IAAI,cAAc,CAAC,0BAA0B,EAAE;AACpE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAK,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAA,EAAA;AAC3C,CAAA;;ACLD;;AAEG;;;;"} |
| /** | ||
| * Memoize decorator | ||
| * @example | ||
| * | ||
| * class Test { | ||
| @Memoize() | ||
| calculate(a: number, b: number): number { | ||
| return a + b; | ||
| } | ||
| } | ||
| */ | ||
| function Memoize() { | ||
| return function (target, propertyKey, descriptor) { | ||
| const originalMethod = descriptor.value; | ||
| //wrapping the original method | ||
| descriptor.value = function (...args) { | ||
| const memoizer = memoize(originalMethod); | ||
| return memoizer.memoized(...args); | ||
| }; | ||
| }; | ||
| } | ||
| /** | ||
| * Memoize a pure function and only recalculate if the arguments change. | ||
| * @param projectionFn - the function to memoize | ||
| * @param comparatorFn - a function to compare the arguments. By default an equality check (===) is used. | ||
| * | ||
| * @example | ||
| * const memoizedFn = memoize((a, b) => a + b).memoized(a, b); | ||
| */ | ||
| function memoize(projectionFn, comparatorFn) { | ||
| return resultMemoize(projectionFn, comparatorFn ?? defaultComparatorFn); | ||
| } | ||
| function defaultComparatorFn(a, b) { | ||
| if (a instanceof Array) { | ||
| return a.length === b.length && a.every((fromA) => b.includes(fromA)); | ||
| } | ||
| // Default comparison | ||
| return a === b; | ||
| } | ||
| function isEqualCheck(a, b) { | ||
| return a === b; | ||
| } | ||
| function isArgumentsChanged(args, lastArguments, comparator) { | ||
| for (let i = 0; i < args.length; i++) { | ||
| if (!comparator(args[i], lastArguments[i])) { | ||
| return true; | ||
| } | ||
| } | ||
| return false; | ||
| } | ||
| function resultMemoize(projectionFn, isResultEqual) { | ||
| return defaultMemoize(projectionFn, isEqualCheck, isResultEqual); | ||
| } | ||
| function defaultMemoize(projectionFn, isArgumentsEqual = isEqualCheck, isResultEqual = isEqualCheck) { | ||
| let lastArguments = null; | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , , | ||
| let lastResult = null; | ||
| let overrideResult; | ||
| function reset() { | ||
| lastArguments = null; | ||
| lastResult = null; | ||
| overrideResult = undefined; | ||
| } | ||
| function setResult(result = undefined) { | ||
| overrideResult = { result }; | ||
| } | ||
| /* eslint-disable prefer-rest-params, prefer-spread */ | ||
| // disabled because of the use of `arguments` | ||
| function memoized() { | ||
| if (overrideResult !== undefined) { | ||
| return overrideResult.result; | ||
| } | ||
| if (!lastArguments) { | ||
| lastResult = projectionFn.apply(null, arguments); | ||
| lastArguments = arguments; | ||
| return lastResult; | ||
| } | ||
| if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) { | ||
| return lastResult; | ||
| } | ||
| const newResult = projectionFn.apply(null, arguments); | ||
| lastArguments = arguments; | ||
| if (isResultEqual(lastResult, newResult)) { | ||
| return lastResult; | ||
| } | ||
| lastResult = newResult; | ||
| return newResult; | ||
| } | ||
| return { memoized, reset, setResult }; | ||
| } | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { Memoize, isEqualCheck, memoize }; | ||
| //# sourceMappingURL=angular-kit-cdk-memoize.mjs.map | ||
| //# sourceMappingURL=angular-kit-cdk-memoize.mjs.map |
| {"version":3,"file":"angular-kit-cdk-memoize.mjs","sources":["../esm2020/memoize/lib/memoize.mjs","../esm2020/memoize/angular-kit-cdk-memoize.mjs"],"sourcesContent":["/**\n * Memoize decorator\n * @example\n *\n * class Test {\n @Memoize()\n calculate(a: number, b: number): number {\n return a + b;\n }\n}\n */\nexport function Memoize() {\n return function (target, propertyKey, descriptor) {\n const originalMethod = descriptor.value;\n //wrapping the original method\n descriptor.value = function (...args) {\n const memoizer = memoize(originalMethod);\n return memoizer.memoized(...args);\n };\n };\n}\n/**\n * Memoize a pure function and only recalculate if the arguments change.\n * @param projectionFn - the function to memoize\n * @param comparatorFn - a function to compare the arguments. By default an equality check (===) is used.\n *\n * @example\n * const memoizedFn = memoize((a, b) => a + b).memoized(a, b);\n */\nexport function memoize(projectionFn, comparatorFn) {\n return resultMemoize(projectionFn, comparatorFn ?? defaultComparatorFn);\n}\nfunction defaultComparatorFn(a, b) {\n if (a instanceof Array) {\n return a.length === b.length && a.every((fromA) => b.includes(fromA));\n }\n // Default comparison\n return a === b;\n}\nexport function isEqualCheck(a, b) {\n return a === b;\n}\nfunction isArgumentsChanged(args, lastArguments, comparator) {\n for (let i = 0; i < args.length; i++) {\n if (!comparator(args[i], lastArguments[i])) {\n return true;\n }\n }\n return false;\n}\nfunction resultMemoize(projectionFn, isResultEqual) {\n return defaultMemoize(projectionFn, isEqualCheck, isResultEqual);\n}\nfunction defaultMemoize(projectionFn, isArgumentsEqual = isEqualCheck, isResultEqual = isEqualCheck) {\n let lastArguments = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , ,\n let lastResult = null;\n let overrideResult;\n function reset() {\n lastArguments = null;\n lastResult = null;\n overrideResult = undefined;\n }\n function setResult(result = undefined) {\n overrideResult = { result };\n }\n /* eslint-disable prefer-rest-params, prefer-spread */\n // disabled because of the use of `arguments`\n function memoized() {\n if (overrideResult !== undefined) {\n return overrideResult.result;\n }\n if (!lastArguments) {\n lastResult = projectionFn.apply(null, arguments);\n lastArguments = arguments;\n return lastResult;\n }\n if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) {\n return lastResult;\n }\n const newResult = projectionFn.apply(null, arguments);\n lastArguments = arguments;\n if (isResultEqual(lastResult, newResult)) {\n return lastResult;\n }\n lastResult = newResult;\n return newResult;\n }\n return { memoized, reset, setResult };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL21lbW9pemUvc3JjL2xpYi9tZW1vaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFPLFVBQ0wsTUFBVyxFQUNYLFdBQW1CLEVBQ25CLFVBQThCO1FBRTlCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDeEMsOEJBQThCO1FBQzlCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLElBQVc7WUFDekMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsWUFBNkIsRUFDN0IsWUFBMkI7SUFFM0IsT0FBTyxhQUFhLENBQUMsWUFBWSxFQUFFLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFZRCxTQUFTLG1CQUFtQixDQUFDLENBQU0sRUFBRSxDQUFNO0lBQ3pDLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtRQUN0QixPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDdkU7SUFDRCxxQkFBcUI7SUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQU0sRUFBRSxDQUFNO0lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FDekIsSUFBZ0IsRUFDaEIsYUFBeUIsRUFDekIsVUFBd0I7SUFFeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUM7U0FDYjtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ3BCLFlBQTZCLEVBQzdCLGFBQTJCO0lBRTNCLE9BQU8sY0FBYyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixZQUE2QixFQUM3QixnQkFBZ0IsR0FBRyxZQUFZLEVBQy9CLGFBQWEsR0FBRyxZQUFZO0lBRTVCLElBQUksYUFBYSxHQUFzQixJQUFJLENBQUM7SUFDNUMsdUVBQXVFO0lBQ3ZFLElBQUksVUFBVSxHQUFRLElBQUksQ0FBQztJQUMzQixJQUFJLGNBQW1CLENBQUM7SUFFeEIsU0FBUyxLQUFLO1FBQ1osYUFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQWMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLFNBQWMsU0FBUztRQUN4QyxjQUFjLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsc0RBQXNEO0lBRXRELDZDQUE2QztJQUM3QyxTQUFTLFFBQVE7UUFDZixJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDaEMsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO1NBQzlCO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixVQUFVLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBZ0IsQ0FBQyxDQUFDO1lBQ3hELGFBQWEsR0FBRyxTQUFTLENBQUM7WUFDMUIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ25FLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBZ0IsQ0FBQyxDQUFDO1FBQzdELGFBQWEsR0FBRyxTQUFTLENBQUM7UUFFMUIsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUV2QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWVtb2l6ZSBkZWNvcmF0b3JcbiAqIEBleGFtcGxlXG4gKlxuICogY2xhc3MgVGVzdCB7XG4gIEBNZW1vaXplKClcbiAgY2FsY3VsYXRlKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYSArIGI7XG4gIH1cbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1lbW9pemUoKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgdGFyZ2V0OiBhbnksXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuICAgIC8vd3JhcHBpbmcgdGhlIG9yaWdpbmFsIG1ldGhvZFxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICAgIGNvbnN0IG1lbW9pemVyID0gbWVtb2l6ZShvcmlnaW5hbE1ldGhvZCk7XG4gICAgICByZXR1cm4gbWVtb2l6ZXIubWVtb2l6ZWQoLi4uYXJncyk7XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBNZW1vaXplIGEgcHVyZSBmdW5jdGlvbiBhbmQgb25seSByZWNhbGN1bGF0ZSBpZiB0aGUgYXJndW1lbnRzIGNoYW5nZS5cbiAqIEBwYXJhbSBwcm9qZWN0aW9uRm4gLSB0aGUgZnVuY3Rpb24gdG8gbWVtb2l6ZVxuICogQHBhcmFtIGNvbXBhcmF0b3JGbiAtIGEgZnVuY3Rpb24gdG8gY29tcGFyZSB0aGUgYXJndW1lbnRzLiBCeSBkZWZhdWx0IGFuIGVxdWFsaXR5IGNoZWNrICg9PT0pIGlzIHVzZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1lbW9pemVkRm4gPSBtZW1vaXplKChhLCBiKSA9PiBhICsgYikubWVtb2l6ZWQoYSwgYik7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1vaXplPFQ+KFxuICBwcm9qZWN0aW9uRm46IFByb2plY3Rpb25GbjxUPixcbiAgY29tcGFyYXRvckZuPzogQ29tcGFyYXRvckZuXG4pOiBNZW1vaXplZFByb2plY3Rpb248VD4ge1xuICByZXR1cm4gcmVzdWx0TWVtb2l6ZShwcm9qZWN0aW9uRm4sIGNvbXBhcmF0b3JGbiA/PyBkZWZhdWx0Q29tcGFyYXRvckZuKTtcbn1cblxuZXhwb3J0IHR5cGUgUHJvamVjdGlvbkZuPFQ+ID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBDb21wYXJhdG9yRm4gPSAoYTogYW55LCBiOiBhbnkpID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIE1lbW9pemVkUHJvamVjdGlvbjxUPiA9IHtcbiAgbWVtb2l6ZWQ6IFByb2plY3Rpb25GbjxUPjtcbiAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gIHNldFJlc3VsdDogKHJlc3VsdD86IFQpID0+IHZvaWQ7XG59O1xuXG5mdW5jdGlvbiBkZWZhdWx0Q29tcGFyYXRvckZuKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIGlmIChhIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKGZyb21BKSA9PiBiLmluY2x1ZGVzKGZyb21BKSk7XG4gIH1cbiAgLy8gRGVmYXVsdCBjb21wYXJpc29uXG4gIHJldHVybiBhID09PSBiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFcXVhbENoZWNrKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBhID09PSBiO1xufVxuXG5mdW5jdGlvbiBpc0FyZ3VtZW50c0NoYW5nZWQoXG4gIGFyZ3M6IElBcmd1bWVudHMsXG4gIGxhc3RBcmd1bWVudHM6IElBcmd1bWVudHMsXG4gIGNvbXBhcmF0b3I6IENvbXBhcmF0b3JGblxuKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgIGlmICghY29tcGFyYXRvcihhcmdzW2ldLCBsYXN0QXJndW1lbnRzW2ldKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcmVzdWx0TWVtb2l6ZTxUPihcbiAgcHJvamVjdGlvbkZuOiBQcm9qZWN0aW9uRm48VD4sXG4gIGlzUmVzdWx0RXF1YWw6IENvbXBhcmF0b3JGblxuKSB7XG4gIHJldHVybiBkZWZhdWx0TWVtb2l6ZShwcm9qZWN0aW9uRm4sIGlzRXF1YWxDaGVjaywgaXNSZXN1bHRFcXVhbCk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRNZW1vaXplPFQ+KFxuICBwcm9qZWN0aW9uRm46IFByb2plY3Rpb25GbjxUPixcbiAgaXNBcmd1bWVudHNFcXVhbCA9IGlzRXF1YWxDaGVjayxcbiAgaXNSZXN1bHRFcXVhbCA9IGlzRXF1YWxDaGVja1xuKTogTWVtb2l6ZWRQcm9qZWN0aW9uPFQ+IHtcbiAgbGV0IGxhc3RBcmd1bWVudHM6IG51bGwgfCBJQXJndW1lbnRzID0gbnVsbDtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksICwgLCAsICxcbiAgbGV0IGxhc3RSZXN1bHQ6IGFueSA9IG51bGw7XG4gIGxldCBvdmVycmlkZVJlc3VsdDogYW55O1xuXG4gIGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgIGxhc3RBcmd1bWVudHMgPSBudWxsO1xuICAgIGxhc3RSZXN1bHQgPSBudWxsO1xuICAgIG92ZXJyaWRlUmVzdWx0ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0UmVzdWx0KHJlc3VsdDogYW55ID0gdW5kZWZpbmVkKSB7XG4gICAgb3ZlcnJpZGVSZXN1bHQgPSB7IHJlc3VsdCB9O1xuICB9XG5cbiAgLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLXJlc3QtcGFyYW1zLCBwcmVmZXItc3ByZWFkICovXG5cbiAgLy8gZGlzYWJsZWQgYmVjYXVzZSBvZiB0aGUgdXNlIG9mIGBhcmd1bWVudHNgXG4gIGZ1bmN0aW9uIG1lbW9pemVkKCk6IGFueSB7XG4gICAgaWYgKG92ZXJyaWRlUmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBvdmVycmlkZVJlc3VsdC5yZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKCFsYXN0QXJndW1lbnRzKSB7XG4gICAgICBsYXN0UmVzdWx0ID0gcHJvamVjdGlvbkZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgbGFzdEFyZ3VtZW50cyA9IGFyZ3VtZW50cztcbiAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cblxuICAgIGlmICghaXNBcmd1bWVudHNDaGFuZ2VkKGFyZ3VtZW50cywgbGFzdEFyZ3VtZW50cywgaXNBcmd1bWVudHNFcXVhbCkpIHtcbiAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1Jlc3VsdCA9IHByb2plY3Rpb25Gbi5hcHBseShudWxsLCBhcmd1bWVudHMgYXMgYW55KTtcbiAgICBsYXN0QXJndW1lbnRzID0gYXJndW1lbnRzO1xuXG4gICAgaWYgKGlzUmVzdWx0RXF1YWwobGFzdFJlc3VsdCwgbmV3UmVzdWx0KSkge1xuICAgICAgcmV0dXJuIGxhc3RSZXN1bHQ7XG4gICAgfVxuXG4gICAgbGFzdFJlc3VsdCA9IG5ld1Jlc3VsdDtcblxuICAgIHJldHVybiBuZXdSZXN1bHQ7XG4gIH1cblxuICByZXR1cm4geyBtZW1vaXplZCwgcmVzZXQsIHNldFJlc3VsdCB9O1xufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9tZW1vaXplL3NyYy9hbmd1bGFyLWtpdC1jZGstbWVtb2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"} |
| import * as i0 from '@angular/core'; | ||
| import { Pipe, NgModule } from '@angular/core'; | ||
| import { CommonModule } from '@angular/common'; | ||
| class RunFnPipe { | ||
| transform(fn, ...args) { | ||
| if (!fn) { | ||
| throw new Error('fn is required'); | ||
| } | ||
| return fn(...args); | ||
| } | ||
| } | ||
| RunFnPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); | ||
| RunFnPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, name: "runFn" }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'runFn', | ||
| }] | ||
| }] }); | ||
| class RunFnPipeModule { | ||
| } | ||
| RunFnPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); | ||
| RunFnPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, declarations: [RunFnPipe], imports: [CommonModule], exports: [RunFnPipe] }); | ||
| RunFnPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, imports: [CommonModule] }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RunFnPipeModule, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| imports: [CommonModule], | ||
| declarations: [RunFnPipe], | ||
| exports: [RunFnPipe], | ||
| }] | ||
| }] }); | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { RunFnPipe, RunFnPipeModule }; | ||
| //# sourceMappingURL=angular-kit-cdk-pipes.mjs.map | ||
| //# sourceMappingURL=angular-kit-cdk-pipes.mjs.map |
| {"version":3,"file":"angular-kit-cdk-pipes.mjs","sources":["../esm2020/pipes/lib/fn/fn.pipe.mjs","../esm2020/pipes/angular-kit-cdk-pipes.mjs"],"sourcesContent":["import { NgModule, Pipe } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class RunFnPipe {\n transform(fn, ...args) {\n if (!fn) {\n throw new Error('fn is required');\n }\n return fn(...args);\n }\n}\nRunFnPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nRunFnPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipe, name: \"runFn\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'runFn',\n }]\n }] });\nexport class RunFnPipeModule {\n}\nRunFnPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nRunFnPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, declarations: [RunFnPipe], imports: [CommonModule], exports: [RunFnPipe] });\nRunFnPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, imports: [CommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.4\", ngImport: i0, type: RunFnPipeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [RunFnPipe],\n exports: [RunFnPipe],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3BpcGVzL3NyYy9saWIvZm4vZm4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQU83QyxNQUFNLE9BQU8sU0FBUztJQUNwQixTQUFTLENBQUksRUFBc0IsRUFBRSxHQUFHLElBQVc7UUFDakQsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQzs7c0dBTlUsU0FBUztvR0FBVCxTQUFTOzJGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87aUJBQ2Q7O0FBZUQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFkZixTQUFTLGFBVVYsWUFBWSxhQVZYLFNBQVM7NkdBY1QsZUFBZSxZQUpoQixZQUFZOzJGQUlYLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBSdW5GbkV4cHJlc3Npb248VD4gPSAoLi4uYXJnczogYW55W10pID0+IFRcblxuQFBpcGUoe1xuICBuYW1lOiAncnVuRm4nLFxufSlcbmV4cG9ydCBjbGFzcyBSdW5GblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtPFQ+KGZuOiBSdW5GbkV4cHJlc3Npb248VD4sIC4uLmFyZ3M6IGFueVtdKTogVCB7XG4gICAgaWYgKCFmbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmbiBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gZm4oLi4uYXJncyk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1J1bkZuUGlwZV0sXG4gIGV4cG9ydHM6IFtSdW5GblBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBSdW5GblBpcGVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLXBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvcGlwZXMvc3JjL2FuZ3VsYXIta2l0LWNkay1waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGO,MAAM,SAAS,CAAC;AACvB,IAAI,SAAS,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE;AAC3B,QAAQ,IAAI,CAAC,EAAE,EAAE;AACjB,YAAY,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC9C,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3B,KAAK;AACL,CAAC;AACD,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9J,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChI,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnH,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,IAAI,EAAE,OAAO;AACjC,iBAAiB,CAAC;AAClB,SAAS,CAAC,EAAE,CAAC,CAAC;AACP,MAAM,eAAe,CAAC;AAC7B,CAAC;AACD,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9K,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1M,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACzJ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,oBAAoB,YAAY,EAAE,CAAC,SAAS,CAAC;AAC7C,oBAAoB,OAAO,EAAE,CAAC,SAAS,CAAC;AACxC,iBAAiB,CAAC;AAClB,SAAS,CAAC,EAAE,CAAC;;AC/Bb;AACA;AACA;;;;"} |
| import { InjectionToken, inject } from '@angular/core'; | ||
| import { DOCUMENT } from '@angular/common'; | ||
| const WINDOW = new InjectionToken('Browser window object', { | ||
| providedIn: 'root', | ||
| factory: () => { | ||
| const { defaultView } = inject(DOCUMENT); | ||
| if (!defaultView) { | ||
| throw new Error('Window is only available in browser environment'); | ||
| } | ||
| return defaultView; | ||
| }, | ||
| }); | ||
| const NAVIGATOR = new InjectionToken('Browser navigator object', { | ||
| providedIn: 'root', | ||
| factory: () => inject(WINDOW)?.navigator | ||
| }); | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { NAVIGATOR, WINDOW }; | ||
| //# sourceMappingURL=angular-kit-cdk-token.mjs.map |
| {"version":3,"file":"angular-kit-cdk-token.mjs","sources":["../esm2020/token/lib/window.token.mjs","../esm2020/token/lib/navigator.token.mjs","../esm2020/token/angular-kit-cdk-token.mjs"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nexport const WINDOW = new InjectionToken('Browser window object', {\n providedIn: 'root',\n factory: () => {\n const { defaultView } = inject(DOCUMENT);\n if (!defaultView) {\n throw new Error('Window is only available in browser environment');\n }\n return defaultView;\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2xpYi93aW5kb3cudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyx1QkFBdUIsRUFBRTtJQUN4RSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFHLENBQUMsV0FBVyxFQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsT0FBTyxXQUFxQixDQUFDO0lBQy9CLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFdJTkRPVyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+KCdCcm93c2VyIHdpbmRvdyBvYmplY3QnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IHsgZGVmYXVsdFZpZXcgfSA9IGluamVjdChET0NVTUVOVCk7XG4gICAgaWYoIWRlZmF1bHRWaWV3KXtcbiAgICAgIHRocm93IG5ldyBFcnJvcignV2luZG93IGlzIG9ubHkgYXZhaWxhYmxlIGluIGJyb3dzZXIgZW52aXJvbm1lbnQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZpZXcgYXMgV2luZG93O1xuICB9LFxufSk7XG4iXX0=","import { inject, InjectionToken } from \"@angular/core\";\nimport { WINDOW } from \"./window.token\";\nexport const NAVIGATOR = new InjectionToken('Browser navigator object', {\n providedIn: 'root',\n factory: () => inject(WINDOW)?.navigator\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2xpYi9uYXZpZ2F0b3IudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3RDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBWSwwQkFBMEIsRUFBRTtJQUNqRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVM7Q0FDekMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gXCIuL3dpbmRvdy50b2tlblwiO1xuXG5cbmV4cG9ydCBjb25zdCBOQVZJR0FUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF2aWdhdG9yPignQnJvd3NlciBuYXZpZ2F0b3Igb2JqZWN0Jywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IGluamVjdChXSU5ET1cpPy5uYXZpZ2F0b3Jcbn0pXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1raXQtY2RrLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvdG9rZW4vc3JjL2FuZ3VsYXIta2l0LWNkay10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AAEY,MAAC,MAAM,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE;AAClE,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,OAAO,EAAE,MAAM;AACnB,QAAQ,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AAC/E,SAAS;AACT,QAAQ,OAAO,WAAW,CAAC;AAC3B,KAAK;AACL,CAAC;;ACTW,MAAC,SAAS,GAAG,IAAI,cAAc,CAAC,0BAA0B,EAAE;AACxE,IAAI,UAAU,EAAE,MAAM;AACtB,IAAI,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS;AAC5C,CAAC;;ACLD;AACA;AACA;;;;"} |
| export * from './lib/memoize'; |
| /** | ||
| * Memoize decorator | ||
| * @example | ||
| * | ||
| * class Test { | ||
| @Memoize() | ||
| calculate(a: number, b: number): number { | ||
| return a + b; | ||
| } | ||
| } | ||
| */ | ||
| export declare function Memoize(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; | ||
| /** | ||
| * Memoize a pure function and only recalculate if the arguments change. | ||
| * @param projectionFn - the function to memoize | ||
| * @param comparatorFn - a function to compare the arguments. By default an equality check (===) is used. | ||
| * | ||
| * @example | ||
| * const memoizedFn = memoize((a, b) => a + b).memoized(a, b); | ||
| */ | ||
| export declare function memoize<T>(projectionFn: ProjectionFn<T>, comparatorFn?: ComparatorFn): MemoizedProjection<T>; | ||
| export declare type ProjectionFn<T> = (...args: any[]) => T; | ||
| export declare type ComparatorFn = (a: any, b: any) => boolean; | ||
| export declare type MemoizedProjection<T> = { | ||
| memoized: ProjectionFn<T>; | ||
| reset: () => void; | ||
| setResult: (result?: T) => void; | ||
| }; | ||
| export declare function isEqualCheck(a: any, b: any): boolean; |
| # @angular-kit/cdk/memoize | ||
| Library providing memoization functionality via: | ||
| * a `memoize`-function | ||
| * a `Memoize`-decorator | ||
| ## Usage | ||
| ### Decorator Usage | ||
| Annotate the function you want to memoize using the `Memoize`-decorator: | ||
| ```typescript | ||
| class Test { | ||
| @Memoize() | ||
| calculate(a: number, b: number): number { | ||
| return a + b; | ||
| } | ||
| } | ||
| ``` | ||
| ### Function usage | ||
| Use the `memoize`-function: | ||
| ```typescript | ||
| class Test { | ||
| calc(a: number, b: number): number { | ||
| return memoize((a, b) => a + b).memoized(a, b); | ||
| } | ||
| } | ||
| ``` |
| export * from './lib/fn/fn.pipe'; |
| import { PipeTransform } from '@angular/core'; | ||
| import * as i0 from "@angular/core"; | ||
| import * as i1 from "@angular/common"; | ||
| export declare type RunFnExpression<T> = (...args: any[]) => T; | ||
| export declare class RunFnPipe implements PipeTransform { | ||
| transform<T>(fn: RunFnExpression<T>, ...args: any[]): T; | ||
| static ɵfac: i0.ɵɵFactoryDeclaration<RunFnPipe, never>; | ||
| static ɵpipe: i0.ɵɵPipeDeclaration<RunFnPipe, "runFn", false>; | ||
| } | ||
| export declare class RunFnPipeModule { | ||
| static ɵfac: i0.ɵɵFactoryDeclaration<RunFnPipeModule, never>; | ||
| static ɵmod: i0.ɵɵNgModuleDeclaration<RunFnPipeModule, [typeof RunFnPipe], [typeof i1.CommonModule], [typeof RunFnPipe]>; | ||
| static ɵinj: i0.ɵɵInjectorDeclaration<RunFnPipeModule>; | ||
| } |
| # @angular-kit/cdk/pipes | ||
| Collection of powerful pipes for Angular. | ||
| ## 🔋Included pipes | ||
| #### `RunFnPipe` | ||
| This pipe will run any function of your component and | ||
| make use of Angular's memoization to prevent unnecessary | ||
| re-evaluations which will result in less change detection cycles. | ||
| Example using a pure function | ||
| ``` | ||
| @Component({ | ||
| selector: 'my-component', | ||
| template: ` | ||
| <div> | ||
| {{ sum | runFn:2:5 }} | ||
| </div> | ||
| ` | ||
| }) | ||
| export class MyComponent { | ||
| // a pure function can easily be used like this: {{ sum | runFn:2:5 }} | ||
| sum(a: number, b: number) { | ||
| return a + b; | ||
| } | ||
| } | ||
| ``` | ||
| Example using im-pure functions (functions containing a `this`-reference | ||
| ``` | ||
| @Component({ | ||
| selector: 'my-component', | ||
| template: ` | ||
| <div> | ||
| {{ num | fn: value }} | ||
| </div> | ||
| <div> | ||
| {{ myfn | fn }} | ||
| </div> | ||
| ` | ||
| }) | ||
| export class MyComponent { | ||
| value = 10; | ||
| // 1a) a pure function can easily be used like this: {{ sum | runFn:2:5 }} | ||
| num(a: number) { | ||
| return a; | ||
| } | ||
| // 1b) wrapping in a arrow function will scope this correctly | ||
| myfn = () => { | ||
| return this.value | ||
| }; | ||
| } | ||
| ``` |
| export * from './lib/window.token'; | ||
| export * from './lib/navigator.token'; |
| import { InjectionToken } from "@angular/core"; | ||
| export declare const NAVIGATOR: InjectionToken<Navigator>; |
| import { InjectionToken } from '@angular/core'; | ||
| export declare const WINDOW: InjectionToken<Window>; |
| # @angular-kit/cdk/token | ||
| tbd |
| export declare type KeysOf<O> = keyof O; |
| export declare type ValuesOf<O> = O[keyof O]; |
| export * from './lib/types'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay90eXBlcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG4iXX0= | ||
| export * from './lib/values-of'; | ||
| export * from './lib/keys-of'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay90eXBlcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbHVlcy1vZic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9rZXlzLW9mJztcbiJdfQ== |
| export {}; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay90eXBlcy9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBib29sZWFuIFR5cGUuICovXG5leHBvcnQgdHlwZSBCb29sZWFuVHlwZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBzdHJpbmcgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIFN0cmluZ1R5cGUgPSBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBudW1iZXIgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIE51bWJlclR5cGUgPSBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBkYXRlIFR5cGUuICovXG5leHBvcnQgdHlwZSBEYXRlVHlwZSA9IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYW4gYXJyYXkgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIEFycmF5VHlwZTxUPiA9IFRbXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbi8qKiBUeXBlIGRlc2NyaWJpbmcgdGhlIGFsbG93ZWQgdmFsdWVzIGZvciBhbiBvYmplY3QgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIE9iamVjdFR5cGU8VD4gPSBUIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgTnVsbGFibGU8VD4gPSBUIHwgbnVsbDtcblxuZXhwb3J0IHR5cGUgT3B0aW9uYWw8VD4gPSBUIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiJdfQ== | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay90eXBlcy9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBib29sZWFuIFR5cGUuICovXG5leHBvcnQgdHlwZSBCb29sZWFuVHlwZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBzdHJpbmcgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIFN0cmluZ1R5cGUgPSBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBudW1iZXIgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIE51bWJlclR5cGUgPSBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYSBkYXRlIFR5cGUuICovXG5leHBvcnQgdHlwZSBEYXRlVHlwZSA9IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4vKiogVHlwZSBkZXNjcmliaW5nIHRoZSBhbGxvd2VkIHZhbHVlcyBmb3IgYW4gYXJyYXkgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIEFycmF5VHlwZTxUPiA9IFRbXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbi8qKiBUeXBlIGRlc2NyaWJpbmcgdGhlIGFsbG93ZWQgdmFsdWVzIGZvciBhbiBvYmplY3QgVHlwZS4gKi9cbmV4cG9ydCB0eXBlIE9iamVjdFR5cGU8VD4gPSBUIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgTnVsbGFibGU8VD4gPSBUIHwgbnVsbDtcblxuZXhwb3J0IHR5cGUgVW5kZWZpbmFibGU8VD4gPSBUIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBPcHRpb25hbDxUPiA9IFQgfCBudWxsIHwgdW5kZWZpbmVkO1xuIl19 |
+25
-1
| { | ||
| "name": "@angular-kit/cdk", | ||
| "version": "1.0.2", | ||
| "version": "1.1.1", | ||
| "publishConfig": { | ||
@@ -54,2 +54,26 @@ "access": "public" | ||
| }, | ||
| "./memoize": { | ||
| "types": "./memoize/index.d.ts", | ||
| "esm2020": "./esm2020/memoize/angular-kit-cdk-memoize.mjs", | ||
| "es2020": "./fesm2020/angular-kit-cdk-memoize.mjs", | ||
| "es2015": "./fesm2015/angular-kit-cdk-memoize.mjs", | ||
| "node": "./fesm2015/angular-kit-cdk-memoize.mjs", | ||
| "default": "./fesm2020/angular-kit-cdk-memoize.mjs" | ||
| }, | ||
| "./pipes": { | ||
| "types": "./pipes/index.d.ts", | ||
| "esm2020": "./esm2020/pipes/angular-kit-cdk-pipes.mjs", | ||
| "es2020": "./fesm2020/angular-kit-cdk-pipes.mjs", | ||
| "es2015": "./fesm2015/angular-kit-cdk-pipes.mjs", | ||
| "node": "./fesm2015/angular-kit-cdk-pipes.mjs", | ||
| "default": "./fesm2020/angular-kit-cdk-pipes.mjs" | ||
| }, | ||
| "./token": { | ||
| "types": "./token/index.d.ts", | ||
| "esm2020": "./esm2020/token/angular-kit-cdk-token.mjs", | ||
| "es2020": "./fesm2020/angular-kit-cdk-token.mjs", | ||
| "es2015": "./fesm2015/angular-kit-cdk-token.mjs", | ||
| "node": "./fesm2015/angular-kit-cdk-token.mjs", | ||
| "default": "./fesm2020/angular-kit-cdk-token.mjs" | ||
| }, | ||
| "./types": { | ||
@@ -56,0 +80,0 @@ "types": "./types/index.d.ts", |
+8
-0
@@ -5,2 +5,8 @@ # angular-kit/cdk | ||
| # Installation | ||
| ```bash | ||
| npm install @angular-kit/cdk | ||
| ``` | ||
| ## 🔋 Included | ||
@@ -10,2 +16,4 @@ | ||
| - [coercing](./coercing/README.md) - a collection of coercion helpers | ||
| - [memoize](./memoize/README.md) - a package offering memoization functionality | ||
| - [pipes](./pipes/README.md) - a package offering some helpful pipes | ||
@@ -12,0 +20,0 @@ ## Versioning |
+2
-0
| export * from './lib/types'; | ||
| export * from './lib/values-of'; | ||
| export * from './lib/keys-of'; |
@@ -14,2 +14,3 @@ /** Type describing the allowed values for a boolean Type. */ | ||
| export declare type Nullable<T> = T | null; | ||
| export declare type Undefinable<T> = T | undefined; | ||
| export declare type Optional<T> = T | null | undefined; |
+7
-2
@@ -15,3 +15,8 @@ # @code-workers-io/angular-kit/types | ||
| - `ObjectType` | ||
| - `Nullable<T>` | ||
| - `Optional<T>` | ||
| - `Nullable<T>`: `T | null` | ||
| - `Undefinable<T>`: `T | undefined` | ||
| - `Optional<T>`: `T | null |undefined` | ||
| ## Util types | ||
| - `KeysOf`: Get the keys of an object type | ||
| - `ValuesOf`: Get the values of an object type |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
122554
229.39%71
102.86%727
261.69%21
61.54%1
Infinity%