@thisisagile/easy 14.2.2 → 14.2.3
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.
- package/dist/domain/Child.d.ts +1 -1
- package/dist/domain/Child.js +3 -1
- package/dist/domain/Child.js.map +1 -1
- package/dist/domain/Entity.d.ts +1 -1
- package/dist/domain/Entity.js +3 -1
- package/dist/domain/Entity.js.map +1 -1
- package/dist/domain/Struct.d.ts +3 -3
- package/dist/domain/Struct.js +9 -3
- package/dist/domain/Struct.js.map +1 -1
- package/dist/domain/structs/Box.d.ts +2 -2
- package/dist/domain/structs/Box.js +8 -6
- package/dist/domain/structs/Box.js.map +1 -1
- package/dist/domain/structs/Dimension.d.ts +3 -2
- package/dist/domain/structs/Dimension.js +9 -2
- package/dist/domain/structs/Dimension.js.map +1 -1
- package/dist/domain/structs/Money.d.ts +3 -3
- package/dist/domain/structs/Money.js +9 -3
- package/dist/domain/structs/Money.js.map +1 -1
- package/dist/domain/structs/Weight.d.ts +6 -5
- package/dist/domain/structs/Weight.js +18 -5
- package/dist/domain/structs/Weight.js.map +1 -1
- package/dist/resources/Req.js.map +1 -1
- package/dist/types/Enum.js +3 -1
- package/dist/types/Enum.js.map +1 -1
- package/dist/types/List.d.ts +16 -16
- package/dist/types/List.js +62 -39
- package/dist/types/List.js.map +1 -1
- package/dist/types/PageList.js +1 -2
- package/dist/types/PageList.js.map +1 -1
- package/dist/types/Uri.d.ts +2 -2
- package/dist/types/Uri.js +5 -3
- package/dist/types/Uri.js.map +1 -1
- package/dist/utils/View.js.map +1 -1
- package/package.json +2 -2
- package/src/domain/Child.ts +3 -1
- package/src/domain/Entity.ts +3 -2
- package/src/domain/Struct.ts +9 -3
- package/src/domain/structs/Box.ts +6 -4
- package/src/domain/structs/Dimension.ts +13 -2
- package/src/domain/structs/Money.ts +9 -3
- package/src/domain/structs/Weight.ts +23 -5
- package/src/resources/Req.ts +2 -8
- package/src/types/Enum.ts +3 -1
- package/src/types/List.ts +43 -20
- package/src/types/PageList.ts +11 -10
- package/src/types/Uri.ts +99 -94
- package/src/utils/View.ts +11 -12
package/dist/types/Uri.js
CHANGED
|
@@ -9,7 +9,7 @@ const List_1 = require("./List");
|
|
|
9
9
|
const Meta_1 = require("./Meta");
|
|
10
10
|
const Try_1 = require("./Try");
|
|
11
11
|
const Array_1 = require("./Array");
|
|
12
|
-
const toSegment = (key, { segment, query } = {}) => ({
|
|
12
|
+
const toSegment = (key, { segment, query, } = {}) => ({
|
|
13
13
|
key: key,
|
|
14
14
|
segment,
|
|
15
15
|
query,
|
|
@@ -64,12 +64,14 @@ class EasyUri {
|
|
|
64
64
|
.map(ps => ps.reduce((r, p) => r.replace((0, Text_1.asString)(p.segment.segment), (0, Text_1.asString)(p.value)), this.complete))
|
|
65
65
|
.map(route => ({
|
|
66
66
|
route,
|
|
67
|
-
query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&')
|
|
67
|
+
query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&'),
|
|
68
68
|
}))
|
|
69
69
|
.map(({ route, query }) => ((0, Is_1.isNotEmpty)(query) ? `${route}?${query}` : route)).value;
|
|
70
70
|
}
|
|
71
71
|
expand(props) {
|
|
72
|
-
return (0, Meta_1.meta)(props)
|
|
72
|
+
return (0, Meta_1.meta)(props)
|
|
73
|
+
.entries()
|
|
74
|
+
.reduce((u, [k, v]) => ((0, Is_1.isBoolean)(v) ? u.set(exports.uri.boolean(k), v) : u.set(exports.uri.query(k), (0, Array_1.toArray)(v).join(','))), this);
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
77
|
EasyUri.id = exports.uri.path('id');
|
package/dist/types/Uri.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Uri.js","sourceRoot":"","sources":["../../src/types/Uri.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Uri.js","sourceRoot":"","sources":["../../src/types/Uri.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/View.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/utils/View.ts"],"names":[],"mappings":";;;AAAA,oCAqBkB;AAClB,yCAAsC;AAMtC,MAAM,SAAS,GAAG,CAAC,CAAU,EAAc,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClG,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAc,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClG,MAAM,gBAAgB,GAAG,CACvB,CAAU,EAIV,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,CACnB,CAAU,EAIV,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,IAAI,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC;AAK7D,MAAM,MAAM,GAAG,CAAC,CAAM,EAAE,GAAW,EAAE,IAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAQ,EAAE,CAC7D,IAAA,aAAK,EAAC,IAAA,mBAAQ,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAEvH,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,KAAc,EAAU,EAAE,CACvD,IAAA,cAAM,EAAC,KAAK,CAAC;KACV,EAAE,CAAC,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/utils/View.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "14.2.
|
|
3
|
+
"version": "14.2.3",
|
|
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": "14.2.
|
|
34
|
+
"@thisisagile/easy-test": "14.2.3",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.9",
|
|
37
37
|
"@types/luxon": "3.2.0",
|
package/src/domain/Child.ts
CHANGED
|
@@ -5,5 +5,7 @@ import { required } from '../validation';
|
|
|
5
5
|
export abstract class Child extends Struct {
|
|
6
6
|
@required() readonly id: Id = this.state.id ?? toId();
|
|
7
7
|
|
|
8
|
-
protected merge
|
|
8
|
+
protected merge(a: unknown): Json {
|
|
9
|
+
return json.merge(this, a, { id: this.id });
|
|
10
|
+
}
|
|
9
11
|
}
|
package/src/domain/Entity.ts
CHANGED
|
@@ -8,10 +8,11 @@ export abstract class Entity extends Struct {
|
|
|
8
8
|
@required() readonly created: Audit = new Audit(this.state.created);
|
|
9
9
|
@required() readonly lastModified: Audit = new Audit(this.state.lastModified);
|
|
10
10
|
|
|
11
|
-
protected merge
|
|
12
|
-
json.merge(this, a, {
|
|
11
|
+
protected merge(a: unknown): Json {
|
|
12
|
+
return json.merge(this, a, {
|
|
13
13
|
id: this.id,
|
|
14
14
|
created: this.created,
|
|
15
15
|
lastModified: new Audit(),
|
|
16
16
|
});
|
|
17
|
+
}
|
|
17
18
|
}
|
package/src/domain/Struct.ts
CHANGED
|
@@ -16,9 +16,15 @@ export abstract class Struct implements Validatable {
|
|
|
16
16
|
return this.constructor.name;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
update
|
|
19
|
+
update(_add: Json): Struct {
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
20
22
|
|
|
21
|
-
protected merge
|
|
23
|
+
protected merge(a: unknown): Json {
|
|
24
|
+
return json.merge(this, a);
|
|
25
|
+
}
|
|
22
26
|
}
|
|
23
27
|
|
|
24
|
-
export
|
|
28
|
+
export function isStruct(s?: unknown): s is Struct {
|
|
29
|
+
return isDefined(s) && s instanceof Struct;
|
|
30
|
+
}
|
|
@@ -7,7 +7,7 @@ export class Box extends Struct {
|
|
|
7
7
|
@required() readonly w: Dimension = new Dimension(this.state.w);
|
|
8
8
|
@required() readonly h: Dimension = new Dimension(this.state.h);
|
|
9
9
|
|
|
10
|
-
private readonly sorted: Dimension[] = [this.l, this.w, this.h].sort((n1, n2) => n1.
|
|
10
|
+
private readonly sorted: Dimension[] = [this.l, this.w, this.h].sort((n1, n2) => n1.inMilliMeters - n2.inMilliMeters);
|
|
11
11
|
lowestDim: Dimension = this.sorted[0];
|
|
12
12
|
medianDim: Dimension = this.sorted[1];
|
|
13
13
|
maxDim: Dimension = this.sorted[2];
|
|
@@ -18,10 +18,12 @@ export class Box extends Struct {
|
|
|
18
18
|
|
|
19
19
|
static with = (l: Dimension, w: Dimension, h: Dimension) => new Box({ l, w, h });
|
|
20
20
|
|
|
21
|
-
stack
|
|
21
|
+
stack(qty: number): Box {
|
|
22
|
+
return Box.with(this.maxDim, this.medianDim, Dimension.with(this.lowestDim.value * qty, this.lowestDim.uom));
|
|
23
|
+
}
|
|
22
24
|
|
|
23
|
-
fits
|
|
25
|
+
fits(contents: Box, qty = 1): boolean {
|
|
24
26
|
const stackedContent = contents.stack(qty);
|
|
25
27
|
return this.lowestDim.gte(stackedContent.lowestDim) && this.medianDim.gte(stackedContent.medianDim) && this.maxDim.gte(stackedContent.maxDim);
|
|
26
|
-
}
|
|
28
|
+
}
|
|
27
29
|
}
|
|
@@ -8,7 +8,18 @@ export class Dimension extends Struct {
|
|
|
8
8
|
|
|
9
9
|
static with = (value: number, uom: UnitOfMeasurement = UnitOfMeasurement.MM) => new Dimension({ value, uom });
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
@deprecated use inMilliMeters getter instead
|
|
13
|
+
*/
|
|
14
|
+
sizeInMM(): number {
|
|
15
|
+
return this.inMilliMeters;
|
|
16
|
+
}
|
|
12
17
|
|
|
13
|
-
|
|
18
|
+
get inMilliMeters(): number {
|
|
19
|
+
return this.value * this.uom.mmMultiplier;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
gte(dim: Dimension): boolean {
|
|
23
|
+
return this.inMilliMeters >= dim.inMilliMeters;
|
|
24
|
+
}
|
|
14
25
|
}
|
|
@@ -7,9 +7,15 @@ export class Money extends Struct {
|
|
|
7
7
|
@required() readonly currency = Currency.byId<Currency>(this.state.currency);
|
|
8
8
|
@required() readonly value = this.state.value as number;
|
|
9
9
|
|
|
10
|
-
add
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
add(amount: number): Money {
|
|
11
|
+
return money(this.currency, this.value + amount);
|
|
12
|
+
}
|
|
13
|
+
subtract(amount: number): Money {
|
|
14
|
+
return money(this.currency, this.value - amount);
|
|
15
|
+
}
|
|
16
|
+
times(n: number): Money {
|
|
17
|
+
return money(this.currency, this.value * n);
|
|
18
|
+
}
|
|
13
19
|
|
|
14
20
|
toString(): string {
|
|
15
21
|
return text(this.currency?.code)
|
|
@@ -5,13 +5,31 @@ import { Struct } from '../Struct';
|
|
|
5
5
|
export class Weight extends Struct {
|
|
6
6
|
@required() readonly value = this.state.value as number;
|
|
7
7
|
readonly uow = UnitOfWeight.byId<UnitOfWeight>(this.state.uow, UnitOfWeight.G);
|
|
8
|
-
sizeInG = (): number => this.value * this.uow.gMultiplier;
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
/**
|
|
10
|
+
@deprecated use inGrams getter instead
|
|
11
|
+
*/
|
|
12
|
+
sizeInG(): number {
|
|
13
|
+
return this.inGrams;
|
|
14
|
+
}
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
get inGrams(): number {
|
|
17
|
+
return this.value * this.uow.gMultiplier;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
gte(w: Weight): boolean {
|
|
21
|
+
return this.inGrams >= w.inGrams;
|
|
22
|
+
}
|
|
23
|
+
lte(w: Weight): boolean {
|
|
24
|
+
return this.inGrams <= w.inGrams;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
between(lower: Weight, upper = weight(Number.MAX_VALUE, this.uow)) {
|
|
28
|
+
return this.gte(lower) && this.lte(upper);
|
|
29
|
+
}
|
|
30
|
+
sum(add: Weight): Weight {
|
|
31
|
+
return weight((this.inGrams + add.inGrams) / this.uow.gMultiplier, this.uow);
|
|
32
|
+
}
|
|
15
33
|
}
|
|
16
34
|
|
|
17
35
|
export const weight = (value: number, uow?: UnitOfWeight): Weight => new Weight({ value, uow });
|
package/src/resources/Req.ts
CHANGED
|
@@ -5,8 +5,7 @@ export class Req implements Omit<PageOptions, 'sort'> {
|
|
|
5
5
|
readonly skip = ifDefined(this.query?.skip, asNumber(this.query?.skip));
|
|
6
6
|
readonly take = ifDefined(this.query?.take, asNumber(this.query?.take));
|
|
7
7
|
|
|
8
|
-
constructor(readonly path: Json = {}, readonly query: Json = {}, readonly body: unknown, readonly headers: Record<string, OneOrMore<string>>) {
|
|
9
|
-
}
|
|
8
|
+
constructor(readonly path: Json = {}, readonly query: Json = {}, readonly body: unknown, readonly headers: Record<string, OneOrMore<string>>) {}
|
|
10
9
|
|
|
11
10
|
get id(): Id {
|
|
12
11
|
return this.get('id');
|
|
@@ -19,10 +18,5 @@ export class Req implements Omit<PageOptions, 'sort'> {
|
|
|
19
18
|
get = (key: Text): any => this.path[key.toString()] ?? this.query[key.toString()];
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
export const toReq = (req: {
|
|
23
|
-
params?: { id?: unknown };
|
|
24
|
-
query?: { q?: unknown };
|
|
25
|
-
body?: unknown;
|
|
26
|
-
headers?: unknown
|
|
27
|
-
}): Req =>
|
|
21
|
+
export const toReq = (req: { params?: { id?: unknown }; query?: { q?: unknown }; body?: unknown; headers?: unknown }): Req =>
|
|
28
22
|
new Req(req.params as Json, req.query as Json, req.body as Json, req.headers as Record<string, OneOrMore<string>>);
|
package/src/types/Enum.ts
CHANGED
|
@@ -32,7 +32,9 @@ export abstract class Enum implements Validatable {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
static byIds<E extends Enum>(ids: Id[] = []): List<E> {
|
|
35
|
-
return toList(ids)
|
|
35
|
+
return toList(ids)
|
|
36
|
+
.mapDefined(id => this.byId<E>(id))
|
|
37
|
+
.distinct();
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
static byId<E extends Enum>(id: Id, alt?: Get<E, unknown>): E {
|
package/src/types/List.ts
CHANGED
|
@@ -19,21 +19,37 @@ export class List<T = unknown> extends Array<T> {
|
|
|
19
19
|
return this.sort((e1, e2) => (ofProperty(e1, p) < ofProperty(e2, p) ? 1 : -1));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
first
|
|
22
|
+
first(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {
|
|
23
|
+
return (p ? this.find(p, params) : this[0]) as T;
|
|
24
|
+
}
|
|
23
25
|
|
|
24
|
-
firstValue
|
|
26
|
+
firstValue<V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> {
|
|
27
|
+
return tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;
|
|
28
|
+
}
|
|
25
29
|
|
|
26
|
-
isFirst
|
|
30
|
+
isFirst(value: T): boolean {
|
|
31
|
+
return value === this.first();
|
|
32
|
+
}
|
|
27
33
|
|
|
28
|
-
next
|
|
34
|
+
next(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {
|
|
35
|
+
return p ? this[this.findIndex(p, params) + 1] : this[0];
|
|
36
|
+
}
|
|
29
37
|
|
|
30
|
-
prev
|
|
38
|
+
prev(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {
|
|
39
|
+
return p ? this[this.findIndex(p, params) - 1] : this[0];
|
|
40
|
+
}
|
|
31
41
|
|
|
32
|
-
last
|
|
42
|
+
last(p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T {
|
|
43
|
+
return p ? this.filter(p, params).last() : this[this.length - 1];
|
|
44
|
+
}
|
|
33
45
|
|
|
34
|
-
isLast
|
|
46
|
+
isLast(value: T): boolean {
|
|
47
|
+
return value === this.last();
|
|
48
|
+
}
|
|
35
49
|
|
|
36
|
-
overlaps
|
|
50
|
+
overlaps(...items: ArrayLike<T>): boolean {
|
|
51
|
+
return toList<T>(...items).some(i => this.some(t => i === t));
|
|
52
|
+
}
|
|
37
53
|
|
|
38
54
|
diff(others: ArrayLike<T>): List<T> {
|
|
39
55
|
return this.filter(i => !others.includes(i));
|
|
@@ -51,11 +67,12 @@ export class List<T = unknown> extends Array<T> {
|
|
|
51
67
|
return this.filter((i: any) => others.some((o: any) => o[key] === i[key]));
|
|
52
68
|
}
|
|
53
69
|
|
|
54
|
-
toJSON
|
|
55
|
-
this.reduce((a, i) => {
|
|
70
|
+
toJSON(): Json[] {
|
|
71
|
+
return this.reduce((a, i) => {
|
|
56
72
|
a.push(json.parse(i));
|
|
57
73
|
return a;
|
|
58
74
|
}, new Array<Json>());
|
|
75
|
+
}
|
|
59
76
|
|
|
60
77
|
map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): List<U> {
|
|
61
78
|
return toList<U>(super.map(f, params));
|
|
@@ -85,14 +102,18 @@ export class List<T = unknown> extends Array<T> {
|
|
|
85
102
|
return toList<T>(super.filter(p, params));
|
|
86
103
|
}
|
|
87
104
|
|
|
88
|
-
sum
|
|
105
|
+
sum(p: (t: T) => number): number {
|
|
106
|
+
return this.reduce((sum: number, i) => sum + p(i), 0);
|
|
107
|
+
}
|
|
89
108
|
|
|
90
|
-
byId
|
|
109
|
+
byId(id: Id): T {
|
|
110
|
+
return this.first(i => asString((i as any).id) === asString(id));
|
|
111
|
+
}
|
|
91
112
|
|
|
92
|
-
add
|
|
113
|
+
add(...items: ArrayLike<T>): this {
|
|
93
114
|
super.push(...toArray(...items));
|
|
94
115
|
return this;
|
|
95
|
-
}
|
|
116
|
+
}
|
|
96
117
|
|
|
97
118
|
concat(...items: ConcatArray<T>[]): List<T>;
|
|
98
119
|
concat(...items: (T | ConcatArray<T>)[]): List<T>;
|
|
@@ -134,31 +155,33 @@ export class List<T = unknown> extends Array<T> {
|
|
|
134
155
|
return this.reduce((l, v) => (isDefined(v) ? l.add(v) : l), toList<NonNullable<T>>());
|
|
135
156
|
}
|
|
136
157
|
|
|
137
|
-
toObject
|
|
138
|
-
this.reduce((o: any, i) => {
|
|
158
|
+
toObject(key: keyof T, options: { deleteKey?: boolean } = {}): Record<string | number | symbol, T> {
|
|
159
|
+
return this.reduce((o: any, i) => {
|
|
139
160
|
o[i[key]] = i;
|
|
140
161
|
if (options.deleteKey) delete o[i[key]][key];
|
|
141
162
|
return o;
|
|
142
163
|
}, {});
|
|
164
|
+
}
|
|
143
165
|
|
|
144
|
-
toObjectList
|
|
145
|
-
this.reduce((a, t) => {
|
|
166
|
+
toObjectList(key: keyof T): Record<string | number | symbol, List<T>> {
|
|
167
|
+
return this.reduce((a, t) => {
|
|
146
168
|
const k = t[key] as unknown as string | number | symbol;
|
|
147
169
|
a[k] = a[k] ?? toList();
|
|
148
170
|
a[k].push(t);
|
|
149
171
|
return a;
|
|
150
172
|
}, {} as Record<string | number | symbol, List<T>>);
|
|
173
|
+
}
|
|
151
174
|
|
|
152
175
|
orElse(...alt: ArrayLike<T>): Optional<List<T>> {
|
|
153
176
|
return !isEmpty(this) ? this : !isEmpty(...alt) ? toList<T>(...alt) : undefined;
|
|
154
177
|
}
|
|
155
178
|
|
|
156
|
-
weave
|
|
179
|
+
weave(insertFrom: T[], interval: number): this {
|
|
157
180
|
for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
|
|
158
181
|
this.splice(i, 0, insertFrom[n++]);
|
|
159
182
|
}
|
|
160
183
|
return this;
|
|
161
|
-
}
|
|
184
|
+
}
|
|
162
185
|
|
|
163
186
|
slice(start?: number, end?: number): List<T> {
|
|
164
187
|
return toList(super.slice(start, end));
|
package/src/types/PageList.ts
CHANGED
|
@@ -37,15 +37,15 @@ export class PageList<T> extends List<T> {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
get total(): Optional<number> {
|
|
40
|
-
return this._options?.total
|
|
40
|
+
return this._options?.total;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
get sorts(): Optional<PlainSort> {
|
|
44
|
-
return this._options?.sorts
|
|
44
|
+
return this._options?.sorts;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
get filters(): Optional<Filter[]> {
|
|
48
|
-
return this._options?.filters
|
|
48
|
+
return this._options?.filters;
|
|
49
49
|
}
|
|
50
50
|
get options(): Optional<PageListOptions> {
|
|
51
51
|
return this._options;
|
|
@@ -148,13 +148,14 @@ export class PageList<T> extends List<T> {
|
|
|
148
148
|
export const isPageList = <T>(l?: unknown): l is PageList<T> => isList<T>(l) && isA(l, 'total');
|
|
149
149
|
|
|
150
150
|
export const toPageList = <T>(items: T[] = [], options?: Omit<PageOptions, 'sort'> & { total?: number }): PageList<T> =>
|
|
151
|
-
(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
151
|
+
(
|
|
152
|
+
choose(items)
|
|
153
|
+
.case(
|
|
154
|
+
i => i.length === 1 && isNumber(i[0]),
|
|
155
|
+
i => new PageList<T>().add(...i)
|
|
156
|
+
)
|
|
157
|
+
.else(i => new PageList<T>(...i)) as any
|
|
158
|
+
).setPageOptions(options);
|
|
158
159
|
|
|
159
160
|
/* @deprecated No longer needed as the PageList is now a class that extends from List, use the map function */
|
|
160
161
|
export const asPageList = <T, U>(c: Construct<T>, items = toPageList<U>()): PageList<T> => items.map(i => ofConstruct(c, i));
|