@stemy/ngx-utils 12.2.13 → 12.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,25 +8,20 @@ export class FilterPipe {
8
8
  const isObject = ObjectUtils.isObject(values);
9
9
  if (!isObject && !ObjectUtils.isArray(values))
10
10
  return [];
11
- const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params) => {
12
- return ObjectUtils.evaluate(filter, {
13
- value: value,
14
- key: key,
15
- item: value,
16
- index: key,
17
- params: params
18
- });
11
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params, values) => {
12
+ const index = key;
13
+ return ObjectUtils.evaluate(filter, { value, key, params, values, index });
19
14
  };
20
15
  if (isObject) {
21
16
  return Object.keys(values).filter(key => {
22
- return filterFunc(values[key], key, params);
17
+ return filterFunc(values[key], key, params, values);
23
18
  }).reduce((result, key) => {
24
19
  result[key] = values[key];
25
20
  return result;
26
21
  }, {});
27
22
  }
28
23
  return values.filter((value, key) => {
29
- return filterFunc(value, key, params);
24
+ return filterFunc(value, key, params, values);
30
25
  });
31
26
  }
32
27
  }
@@ -35,4 +30,4 @@ FilterPipe.decorators = [
35
30
  name: "filter"
36
31
  },] }
37
32
  ];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBS0QsTUFBTSxPQUFPLFVBQVU7SUFDbkIsU0FBUyxDQUFDLE1BQVcsRUFBRSxTQUFjLGFBQWEsRUFBRSxTQUFjLEVBQUU7UUFDaEUsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6RCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNoRixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNoQyxLQUFLLEVBQUUsS0FBSztnQkFDWixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUsR0FBRztnQkFDVixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixJQUFJLFFBQVEsRUFBRTtZQUNWLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUN0QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDVDtRQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNoQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBM0JKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsUUFBUTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRGaWx0ZXIoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJmaWx0ZXJcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlczogYW55LCBmaWx0ZXI6IGFueSA9IGRlZmF1bHRGaWx0ZXIsIHBhcmFtczogYW55ID0ge30pOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IGlzT2JqZWN0ID0gT2JqZWN0VXRpbHMuaXNPYmplY3QodmFsdWVzKTtcclxuICAgICAgICBpZiAoIWlzT2JqZWN0ICYmICFPYmplY3RVdGlscy5pc0FycmF5KHZhbHVlcykpIHJldHVybiBbXTtcclxuICAgICAgICBjb25zdCBmaWx0ZXJGdW5jID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihmaWx0ZXIpID8gZmlsdGVyIDogKHZhbHVlLCBrZXksIHBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUoZmlsdGVyLCB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICAgICAgICAgIGl0ZW06IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgaW5kZXg6IGtleSxcclxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKGlzT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZXMpLmZpbHRlcihrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckZ1bmModmFsdWVzW2tleV0sIGtleSwgcGFyYW1zKTtcclxuICAgICAgICAgICAgfSkucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB2YWx1ZXNba2V5XTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgIH0sIHt9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyRnVuYyh2YWx1ZSwga2V5LCBwYXJhbXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBS0QsTUFBTSxPQUFPLFVBQVU7SUFDbkIsU0FBUyxDQUFDLE1BQVcsRUFBRSxTQUFjLGFBQWEsRUFBRSxTQUFjLEVBQUU7UUFDaEUsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6RCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDeEYsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ2xCLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQUM7UUFDRixJQUFJLFFBQVEsRUFBRTtZQUNWLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEMsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUF0QkosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxRQUFRO2FBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEZpbHRlcigpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImZpbHRlclwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWVzOiBhbnksIGZpbHRlcjogYW55ID0gZGVmYXVsdEZpbHRlciwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSBPYmplY3RVdGlscy5pc09iamVjdCh2YWx1ZXMpO1xyXG4gICAgICAgIGlmICghaXNPYmplY3QgJiYgIU9iamVjdFV0aWxzLmlzQXJyYXkodmFsdWVzKSkgcmV0dXJuIFtdO1xyXG4gICAgICAgIGNvbnN0IGZpbHRlckZ1bmMgPSBPYmplY3RVdGlscy5pc0Z1bmN0aW9uKGZpbHRlcikgPyBmaWx0ZXIgOiAodmFsdWUsIGtleSwgcGFyYW1zLCB2YWx1ZXMpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBrZXk7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShmaWx0ZXIsIHt2YWx1ZSwga2V5LCBwYXJhbXMsIHZhbHVlcywgaW5kZXh9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChpc09iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModmFsdWVzKS5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJGdW5jKHZhbHVlc1trZXldLCBrZXksIHBhcmFtcywgdmFsdWVzKTtcclxuICAgICAgICAgICAgfSkucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB2YWx1ZXNba2V5XTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgIH0sIHt9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyRnVuYyh2YWx1ZSwga2V5LCBwYXJhbXMsIHZhbHVlcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -4,17 +4,17 @@ export function defaultFilter() {
4
4
  return true;
5
5
  }
6
6
  export class FindPipe {
7
- transform(values, filter = defaultFilter, params = {}) {
7
+ transform(values, filter = defaultFilter, params) {
8
8
  if (!ObjectUtils.isArray(values))
9
9
  return [];
10
- const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params) => {
11
- return ObjectUtils.evaluate(filter, {
12
- value: value,
13
- index: index,
14
- params: params
15
- });
10
+ params = params || {};
11
+ if (ObjectUtils.isObject(params)) {
12
+ params.values = values;
13
+ }
14
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params, values) => {
15
+ return ObjectUtils.evaluate(filter, { value, index, params, values });
16
16
  };
17
- return values.find((value, index) => filterFunc(value, index, params));
17
+ return values.find((value, index) => filterFunc(value, index, params, values));
18
18
  }
19
19
  }
20
20
  FindPipe.decorators = [
@@ -22,4 +22,4 @@ FindPipe.decorators = [
22
22
  name: "find"
23
23
  },] }
24
24
  ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9maW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFLRCxNQUFNLE9BQU8sUUFBUTtJQUNqQixTQUFTLENBQUMsTUFBYSxFQUFFLFNBQWMsYUFBYSxFQUFFLFNBQWMsRUFBRTtRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNsRixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNoQyxLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7OztZQWRKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsTUFBTTthQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEZpbHRlcigpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImZpbmRcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmluZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IGFueVtdLCBmaWx0ZXI6IGFueSA9IGRlZmF1bHRGaWx0ZXIsIHBhcmFtczogYW55ID0ge30pOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKCFPYmplY3RVdGlscy5pc0FycmF5KHZhbHVlcykpIHJldHVybiBbXTtcclxuICAgICAgICBjb25zdCBmaWx0ZXJGdW5jID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihmaWx0ZXIpID8gZmlsdGVyIDogKHZhbHVlLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShmaWx0ZXIsIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5maW5kKCh2YWx1ZSwgaW5kZXgpID0+IGZpbHRlckZ1bmModmFsdWUsIGluZGV4LCBwYXJhbXMpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9maW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFLRCxNQUFNLE9BQU8sUUFBUTtJQUNqQixTQUFTLENBQUMsTUFBYSxFQUFFLFNBQWMsYUFBYSxFQUFFLE1BQVk7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQzFCO1FBQ0QsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzFGLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7OztZQWRKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsTUFBTTthQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEZpbHRlcigpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImZpbmRcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmluZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IGFueVtdLCBmaWx0ZXI6IGFueSA9IGRlZmF1bHRGaWx0ZXIsIHBhcmFtcz86IGFueSk6IGFueSB7XHJcbiAgICAgICAgaWYgKCFPYmplY3RVdGlscy5pc0FycmF5KHZhbHVlcykpIHJldHVybiBbXTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XHJcbiAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzT2JqZWN0KHBhcmFtcykpIHtcclxuICAgICAgICAgICAgcGFyYW1zLnZhbHVlcyA9IHZhbHVlcztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRnVuYyA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oZmlsdGVyKSA/IGZpbHRlciA6ICh2YWx1ZSwgaW5kZXgsIHBhcmFtcywgdmFsdWVzKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShmaWx0ZXIsIHt2YWx1ZSwgaW5kZXgsIHBhcmFtcywgdmFsdWVzfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbmQoKHZhbHVlLCBpbmRleCkgPT4gZmlsdGVyRnVuYyh2YWx1ZSwgaW5kZXgsIHBhcmFtcywgdmFsdWVzKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -3422,25 +3422,20 @@ class FilterPipe {
3422
3422
  const isObject = ObjectUtils.isObject(values);
3423
3423
  if (!isObject && !ObjectUtils.isArray(values))
3424
3424
  return [];
3425
- const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params) => {
3426
- return ObjectUtils.evaluate(filter, {
3427
- value: value,
3428
- key: key,
3429
- item: value,
3430
- index: key,
3431
- params: params
3432
- });
3425
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params, values) => {
3426
+ const index = key;
3427
+ return ObjectUtils.evaluate(filter, { value, key, params, values, index });
3433
3428
  };
3434
3429
  if (isObject) {
3435
3430
  return Object.keys(values).filter(key => {
3436
- return filterFunc(values[key], key, params);
3431
+ return filterFunc(values[key], key, params, values);
3437
3432
  }).reduce((result, key) => {
3438
3433
  result[key] = values[key];
3439
3434
  return result;
3440
3435
  }, {});
3441
3436
  }
3442
3437
  return values.filter((value, key) => {
3443
- return filterFunc(value, key, params);
3438
+ return filterFunc(value, key, params, values);
3444
3439
  });
3445
3440
  }
3446
3441
  }
@@ -3454,17 +3449,17 @@ function defaultFilter() {
3454
3449
  return true;
3455
3450
  }
3456
3451
  class FindPipe {
3457
- transform(values, filter = defaultFilter, params = {}) {
3452
+ transform(values, filter = defaultFilter, params) {
3458
3453
  if (!ObjectUtils.isArray(values))
3459
3454
  return [];
3460
- const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params) => {
3461
- return ObjectUtils.evaluate(filter, {
3462
- value: value,
3463
- index: index,
3464
- params: params
3465
- });
3455
+ params = params || {};
3456
+ if (ObjectUtils.isObject(params)) {
3457
+ params.values = values;
3458
+ }
3459
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params, values) => {
3460
+ return ObjectUtils.evaluate(filter, { value, index, params, values });
3466
3461
  };
3467
- return values.find((value, index) => filterFunc(value, index, params));
3462
+ return values.find((value, index) => filterFunc(value, index, params, values));
3468
3463
  }
3469
3464
  }
3470
3465
  FindPipe.decorators = [