@thisisagile/easy 10.14.6 → 10.14.7

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.
@@ -1,12 +1,13 @@
1
1
  import { ArrayLike } from './Array';
2
2
  import { Constructor } from './Constructor';
3
3
  import { Json } from './Json';
4
- import { GetProperty } from './Get';
4
+ import { Get, GetProperty } from './Get';
5
5
  import { Id } from './Id';
6
6
  export declare class List<T = unknown> extends Array<T> {
7
7
  asc: (p: GetProperty<T, any>) => List<T>;
8
8
  desc: (p: GetProperty<T, any>) => List<T>;
9
9
  first: (p?: ((value: T, index: number, array: T[]) => unknown) | undefined, params?: unknown) => T;
10
+ firstValue: <V>(f: (t: T) => V, alt?: Get<V, T> | undefined) => V | undefined;
10
11
  isFirst: (value: T) => boolean;
11
12
  next: (p?: ((value: T, index: number, array: T[]) => unknown) | undefined, params?: unknown) => T;
12
13
  prev: (p?: ((value: T, index: number, array: T[]) => unknown) | undefined, params?: unknown) => T;
@@ -7,12 +7,14 @@ const Is_1 = require("./Is");
7
7
  const IsA_1 = require("./IsA");
8
8
  const Get_1 = require("./Get");
9
9
  const Text_1 = require("./Text");
10
+ const Try_1 = require("./Try");
10
11
  class List extends Array {
11
12
  constructor() {
12
13
  super(...arguments);
13
14
  this.asc = (p) => this.sort((e1, e2) => ((0, Get_1.ofProperty)(e1, p) > (0, Get_1.ofProperty)(e2, p) ? 1 : -1));
14
15
  this.desc = (p) => this.sort((e1, e2) => ((0, Get_1.ofProperty)(e1, p) < (0, Get_1.ofProperty)(e2, p) ? 1 : -1));
15
16
  this.first = (p, params) => (p ? this.find(p, params) : this[0]);
17
+ this.firstValue = (f, alt) => (0, Try_1.tryTo)(() => this.first(t => !!f(t))).map(i => (i ? f(i) : (0, Get_1.ofGet)(alt, i))).value;
16
18
  this.isFirst = (value) => value === this.first();
17
19
  this.next = (p, params) => (p ? this[this.findIndex(p, params) + 1] : this[0]);
18
20
  this.prev = (p, params) => (p ? this[this.findIndex(p, params) - 1] : this[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/types/List.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/types/List.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "10.14.6",
3
+ "version": "10.14.7",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "devDependencies": {
34
- "@thisisagile/easy-test": "10.14.6",
34
+ "@thisisagile/easy-test": "10.14.7",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.2"
package/src/types/List.ts CHANGED
@@ -3,9 +3,10 @@ import { Constructor } from './Constructor';
3
3
  import { json, Json } from './Json';
4
4
  import { isArray, isDefined, isEmpty } from './Is';
5
5
  import { isA } from './IsA';
6
- import { GetProperty, ofProperty } from './Get';
6
+ import { Get, GetProperty, ofGet, ofProperty } from './Get';
7
7
  import { Id } from './Id';
8
8
  import { asString } from './Text';
9
+ import { tryTo } from './Try';
9
10
 
10
11
  export class List<T = unknown> extends Array<T> {
11
12
  asc = (p: GetProperty<T, any>): List<T> => this.sort((e1, e2) => (ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1));
@@ -14,6 +15,8 @@ export class List<T = unknown> extends Array<T> {
14
15
 
15
16
  first = (p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T => (p ? this.find(p, params) : this[0]) as T;
16
17
 
18
+ firstValue = <V>(f: (t: T) => V, alt?: Get<V, T>): V | undefined => tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;
19
+
17
20
  isFirst = (value: T): boolean => value === this.first();
18
21
 
19
22
  next = (p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T => (p ? this[this.findIndex(p, params) + 1] : this[0]);