@thisisagile/easy 14.2.0 → 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.
Files changed (50) hide show
  1. package/dist/domain/Child.d.ts +1 -1
  2. package/dist/domain/Child.js +3 -1
  3. package/dist/domain/Child.js.map +1 -1
  4. package/dist/domain/Entity.d.ts +1 -1
  5. package/dist/domain/Entity.js +3 -1
  6. package/dist/domain/Entity.js.map +1 -1
  7. package/dist/domain/Struct.d.ts +3 -3
  8. package/dist/domain/Struct.js +9 -3
  9. package/dist/domain/Struct.js.map +1 -1
  10. package/dist/domain/structs/Box.d.ts +2 -2
  11. package/dist/domain/structs/Box.js +8 -6
  12. package/dist/domain/structs/Box.js.map +1 -1
  13. package/dist/domain/structs/Dimension.d.ts +3 -2
  14. package/dist/domain/structs/Dimension.js +9 -2
  15. package/dist/domain/structs/Dimension.js.map +1 -1
  16. package/dist/domain/structs/Money.d.ts +3 -3
  17. package/dist/domain/structs/Money.js +9 -3
  18. package/dist/domain/structs/Money.js.map +1 -1
  19. package/dist/domain/structs/Weight.d.ts +6 -5
  20. package/dist/domain/structs/Weight.js +18 -5
  21. package/dist/domain/structs/Weight.js.map +1 -1
  22. package/dist/resources/Req.js.map +1 -1
  23. package/dist/types/Enum.js +3 -1
  24. package/dist/types/Enum.js.map +1 -1
  25. package/dist/types/List.d.ts +16 -16
  26. package/dist/types/List.js +62 -39
  27. package/dist/types/List.js.map +1 -1
  28. package/dist/types/Meta.d.ts +2 -1
  29. package/dist/types/Meta.js.map +1 -1
  30. package/dist/types/PageList.js +1 -2
  31. package/dist/types/PageList.js.map +1 -1
  32. package/dist/types/Uri.d.ts +7 -3
  33. package/dist/types/Uri.js +10 -2
  34. package/dist/types/Uri.js.map +1 -1
  35. package/dist/utils/View.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/domain/Child.ts +3 -1
  38. package/src/domain/Entity.ts +3 -2
  39. package/src/domain/Struct.ts +9 -3
  40. package/src/domain/structs/Box.ts +6 -4
  41. package/src/domain/structs/Dimension.ts +13 -2
  42. package/src/domain/structs/Money.ts +9 -3
  43. package/src/domain/structs/Weight.ts +23 -5
  44. package/src/resources/Req.ts +2 -8
  45. package/src/types/Enum.ts +3 -1
  46. package/src/types/List.ts +43 -20
  47. package/src/types/Meta.ts +4 -2
  48. package/src/types/PageList.ts +11 -10
  49. package/src/types/Uri.ts +25 -5
  50. package/src/utils/View.ts +11 -12
@@ -1 +1 @@
1
- {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AACtC,+CAAuD;AACvD,+BAA4B;AAK5B,6BAAgC;AAChC,iCAAgC;AAKzB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAU,EAAU,EAAE,CAAC,IAAA,qBAAa,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAArF,QAAA,QAAQ,YAA6E;AAC3F,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,UAAkB,EAAE,KAAU,EAAU,EAAE,CAAC,CAAC;IACvF,KAAK;IACL,UAAU;IACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;CACpB,CAAC,CAAC;AAJU,QAAA,aAAa,iBAIvB;AAKH,MAAa,QAAY,SAAQ,WAAO;IAG9B,cAAc,CAAC,OAAyB;QAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChC,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,CAAsB;QACxB,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,CAAsB;QACzB,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,MAAoB;QACvB,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,MAAoB,EAAE,GAAY;QAC1C,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,MAAoB;QAC5B,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,MAAoB,EAAE,GAAY;QAC/C,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAI,CAA6C,EAAE,MAAgB;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,IAAA,kBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAoB,CAA4E,EAAE,MAAa;QACpH,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAI,CAA6C,EAAE,MAAgB;QAC3E,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,CAAuB;QAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,kBAAU,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;QACN,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,GAAY;QACxB,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,CAAmD,EAAE,MAAgB;QAC1E,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAID,MAAM,CAAC,GAAG,KAA6B;QACrC,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAID,MAAM,CAAC,KAAa,EAAE,WAAmB,EAAE,GAAG,KAAU;QACtD,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,GAAY,EAAE,IAAO;QAC3B,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,GAAG,GAAiB;QACzB,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,KAAc,EAAE,GAAY;QAChC,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF;AA1HD,4BA0HC;AAEM,MAAM,UAAU,GAAG,CAAI,CAAW,EAAoB,EAAE,CAAC,IAAA,aAAM,EAAI,CAAC,CAAC,IAAI,IAAA,SAAG,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAAnF,QAAA,UAAU,cAAyE;AAEzF,MAAM,UAAU,GAAG,CAAI,QAAa,EAAE,EAAE,OAAwD,EAAe,EAAE,CAEpH,IAAA,aAAM,EAAC,KAAK,CAAC;KACV,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,aAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACrC,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACjC;KACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAI,GAAG,CAAC,CAAC,CACnC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AARf,QAAA,UAAU,cAQK;AAGrB,MAAM,UAAU,GAAG,CAAO,CAAe,EAAE,QAAQ,IAAA,kBAAU,GAAK,EAAe,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,yBAAW,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAAhH,QAAA,UAAU,cAAsG"}
@@ -1,13 +1,13 @@
1
1
  import { Text } from './Text';
2
2
  import { List } from './List';
3
3
  import { Optional } from './Types';
4
- import { OneOrMore } from "./Array";
4
+ import { OneOrMore } from './Array';
5
5
  export type Segment = Text & {
6
6
  key?: string;
7
7
  segment?: string;
8
8
  query?: (value: unknown) => string;
9
9
  };
10
- export declare const toSegment: (key?: Text, { segment, query }?: {
10
+ export declare const toSegment: (key?: Text, { segment, query, }?: {
11
11
  segment?: string | undefined;
12
12
  query?: ((value: unknown) => string) | undefined;
13
13
  }) => Segment;
@@ -33,7 +33,10 @@ export type Uri = {
33
33
  isInternal: boolean;
34
34
  toString: () => string;
35
35
  };
36
- export declare class EasyUri implements Uri {
36
+ export type UriExpandProps = {
37
+ q: string;
38
+ };
39
+ export declare class EasyUri<Props = UriExpandProps> implements Uri {
37
40
  readonly segments: Segment[];
38
41
  static readonly id: Segment;
39
42
  static readonly ids: Segment;
@@ -56,5 +59,6 @@ export declare class EasyUri implements Uri {
56
59
  query: (q?: unknown) => this;
57
60
  skip: (index?: number) => this;
58
61
  take: (items?: number) => this;
62
+ expand(props: Partial<Props>): this;
59
63
  }
60
64
  export {};
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,
@@ -62,9 +62,17 @@ class EasyUri {
62
62
  return (0, Try_1.tryTo)(() => this.props)
63
63
  .map(ps => ps.filter(p => p.segment?.segment))
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
- .map(route => ({ route, query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&') }))
65
+ .map(route => ({
66
+ route,
67
+ query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&'),
68
+ }))
66
69
  .map(({ route, query }) => ((0, Is_1.isNotEmpty)(query) ? `${route}?${query}` : route)).value;
67
70
  }
71
+ expand(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);
75
+ }
68
76
  }
69
77
  EasyUri.id = exports.uri.path('id');
70
78
  EasyUri.ids = exports.uri.query('ids');
@@ -1 +1 @@
1
- {"version":3,"file":"Uri.js","sourceRoot":"","sources":["../../src/types/Uri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Uri.js","sourceRoot":"","sources":["../../src/types/Uri.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/utils/View.ts"],"names":[],"mappings":"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"}
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.0",
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.0",
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",
@@ -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 = (a: unknown): Json => json.merge(this, a, { id: this.id });
8
+ protected merge(a: unknown): Json {
9
+ return json.merge(this, a, { id: this.id });
10
+ }
9
11
  }
@@ -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 = (a: unknown): Json =>
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
  }
@@ -16,9 +16,15 @@ export abstract class Struct implements Validatable {
16
16
  return this.constructor.name;
17
17
  }
18
18
 
19
- update = (_add: Json): Struct => this;
19
+ update(_add: Json): Struct {
20
+ return this;
21
+ }
20
22
 
21
- protected merge = (a: unknown): Json => json.merge(this, a);
23
+ protected merge(a: unknown): Json {
24
+ return json.merge(this, a);
25
+ }
22
26
  }
23
27
 
24
- export const isStruct = (s?: unknown): s is Struct => isDefined(s) && s instanceof Struct;
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.sizeInMM() - n2.sizeInMM());
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 = (qty: number): Box => Box.with(this.maxDim, this.medianDim, Dimension.with(this.lowestDim.value * qty, this.lowestDim.uom));
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 = (contents: Box, qty = 1): boolean => {
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
- sizeInMM = (): number => this.value * this.uom.mmMultiplier;
11
+ /**
12
+ @deprecated use inMilliMeters getter instead
13
+ */
14
+ sizeInMM(): number {
15
+ return this.inMilliMeters;
16
+ }
12
17
 
13
- gte = (dim: Dimension): boolean => this.sizeInMM() >= dim.sizeInMM();
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 = (amount: number): Money => money(this.currency, this.value + amount);
11
- subtract = (amount: number): Money => money(this.currency, this.value - amount);
12
- times = (n: number): Money => money(this.currency, this.value * n);
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
- gte = (w: Weight): boolean => this.sizeInG() >= w.sizeInG();
11
- lte = (w: Weight): boolean => this.sizeInG() <= w.sizeInG();
9
+ /**
10
+ @deprecated use inGrams getter instead
11
+ */
12
+ sizeInG(): number {
13
+ return this.inGrams;
14
+ }
12
15
 
13
- between = (lower: Weight, upper = weight(Number.MAX_VALUE, this.uow)) => this.gte(lower) && this.lte(upper);
14
- sum = (add: Weight): Weight => weight((this.sizeInG() + add.sizeInG()) / this.uow.gMultiplier, this.uow);
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 });
@@ -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).mapDefined(id => this.byId<E>(id)).distinct();
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 = (p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T => (p ? this.find(p, params) : this[0]) as T;
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 = <V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> => tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;
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 = (value: T): boolean => value === this.first();
30
+ isFirst(value: T): boolean {
31
+ return value === this.first();
32
+ }
27
33
 
28
- next = (p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T => (p ? this[this.findIndex(p, params) + 1] : this[0]);
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 = (p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T => (p ? this[this.findIndex(p, params) - 1] : this[0]);
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 = (p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T => (p ? this.filter(p, params).last() : this[this.length - 1]);
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 = (value: T): boolean => value === this.last();
46
+ isLast(value: T): boolean {
47
+ return value === this.last();
48
+ }
35
49
 
36
- overlaps = (...items: ArrayLike<T>): boolean => toList<T>(...items).some(i => this.some(t => i === t));
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 = (): Json[] =>
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 = (p: (t: T) => number): number => this.reduce((sum: number, i) => sum + p(i), 0);
105
+ sum(p: (t: T) => number): number {
106
+ return this.reduce((sum: number, i) => sum + p(i), 0);
107
+ }
89
108
 
90
- byId = (id: Id): T => this.first(i => asString((i as any).id) === asString(id));
109
+ byId(id: Id): T {
110
+ return this.first(i => asString((i as any).id) === asString(id));
111
+ }
91
112
 
92
- add = (...items: ArrayLike<T>): this => {
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 = (key: keyof T, options: { deleteKey?: boolean } = {}): Record<string | number | symbol, T> =>
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 = (key: keyof T): Record<string | number | symbol, List<T>> =>
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 = (insertFrom: T[], interval: number): this => {
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/Meta.ts CHANGED
@@ -6,6 +6,8 @@ import { Optional } from './Types';
6
6
 
7
7
  type MetaParseOptions = { initial?: any; skipUndefined?: boolean };
8
8
 
9
+ type Entry<T = unknown> = [key: string, value: T];
10
+
9
11
  class ClassMeta {
10
12
  constructor(readonly subject: any, private readonly data: any = (subject.prototype ?? subject).constructor) {}
11
13
 
@@ -16,8 +18,8 @@ class ClassMeta {
16
18
  return value;
17
19
  };
18
20
 
19
- entries = <T = unknown>(): List<[key: string, value: T]> =>
20
- toList([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]) as List<[any, T]>;
21
+ entries = <T = unknown>(): List<Entry<T>> =>
22
+ toList([...Object.entries(this.subject), ...Object.entries(Object.getPrototypeOf(this.subject))]) as List<Entry<T>>;
21
23
 
22
24
  parse = (p: (v: unknown) => unknown, options: MetaParseOptions = {}): any => {
23
25
  const { initial = {}, skipUndefined = false } = options;
@@ -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
- (choose(items)
152
- .case(
153
- i => i.length === 1 && isNumber(i[0]),
154
- i => new PageList<T>().add(...i)
155
- )
156
- .else(i => new PageList<T>(...i)) as any)
157
- .setPageOptions(options);
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));
package/src/types/Uri.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { isDefined, isNotEmpty, isTrue } from './Is';
1
+ import { isBoolean, isDefined, isNotEmpty, isTrue } from './Is';
2
2
  import { asString, Text } from './Text';
3
3
  import { toName } from './Constructor';
4
4
  import { ctx } from './Context';
@@ -6,11 +6,20 @@ import { List, toList } from './List';
6
6
  import { meta } from './Meta';
7
7
  import { tryTo } from './Try';
8
8
  import { Optional } from './Types';
9
- import {OneOrMore, toArray} from "./Array";
9
+ import { OneOrMore, toArray } from './Array';
10
10
 
11
11
  export type Segment = Text & { key?: string; segment?: string; query?: (value: unknown) => string };
12
12
 
13
- export const toSegment = (key?: Text, { segment, query }: { segment?: string; query?: (value: unknown) => string } = {}): Segment => ({
13
+ export const toSegment = (
14
+ key?: Text,
15
+ {
16
+ segment,
17
+ query,
18
+ }: {
19
+ segment?: string;
20
+ query?: (value: unknown) => string;
21
+ } = {}
22
+ ): Segment => ({
14
23
  key: key as string,
15
24
  segment,
16
25
  query,
@@ -44,7 +53,9 @@ export type Uri = {
44
53
  toString: () => string;
45
54
  };
46
55
 
47
- export class EasyUri implements Uri {
56
+ export type UriExpandProps = { q: string };
57
+
58
+ export class EasyUri<Props = UriExpandProps> implements Uri {
48
59
  static readonly id = uri.path('id');
49
60
  static readonly ids = uri.query('ids');
50
61
  static readonly query = uri.query('q');
@@ -87,7 +98,10 @@ export class EasyUri implements Uri {
87
98
  return tryTo(() => this.props)
88
99
  .map(ps => ps.filter(p => p.segment?.segment))
89
100
  .map(ps => ps.reduce((r: string, p: Prop) => r.replace(asString(p.segment.segment), asString(p.value)), this.complete))
90
- .map(route => ({ route, query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&') }))
101
+ .map(route => ({
102
+ route,
103
+ query: this.props.mapDefined(p => (p.segment?.query ? p.segment?.query(p.value) : undefined))?.join('&'),
104
+ }))
91
105
  .map(({ route, query }) => (isNotEmpty(query) ? `${route}?${query}` : route)).value;
92
106
  }
93
107
 
@@ -97,4 +111,10 @@ export class EasyUri implements Uri {
97
111
 
98
112
  skip = (index?: number): this => this.set(EasyUri.skip, index);
99
113
  take = (items?: number): this => this.set(EasyUri.take, items);
114
+
115
+ expand(props: Partial<Props>): this {
116
+ return meta(props)
117
+ .entries()
118
+ .reduce((u, [k, v]) => (isBoolean(v) ? u.set(uri.boolean(k), v) : u.set(uri.query(k), toArray(v).join(','))), this);
119
+ }
100
120
  }