@thisisagile/easy 8.41.6 → 8.41.8

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.
@@ -18,7 +18,7 @@ const values_1 = require("./values");
18
18
  class Audit extends Struct_1.Struct {
19
19
  constructor(a) {
20
20
  super((0, utils_1.choose)(a)
21
- .case(types_1.isDefined, (j) => j)
21
+ .type(types_1.isDefined, (j) => j)
22
22
  .else({ by: types_1.ctx.request?.identity ?? { id: 0, user: 'easy' }, when: values_1.DateTime.now.toJSON() }));
23
23
  this.by = { id: this.state.by.id, user: this.state.by.user };
24
24
  this.when = new values_1.DateTime(this.state.when);
@@ -5,6 +5,8 @@ const types_1 = require("../types");
5
5
  const utils_1 = require("../utils");
6
6
  const HttpStatus_1 = require("./HttpStatus");
7
7
  const Response_1 = require("./Response");
8
+ const hasErrors = (a) => (0, types_1.isDefined)(a?.error?.errors);
9
+ const hasItems = (a) => (0, types_1.isDefined)(a?.data.items);
8
10
  exports.rest = {
9
11
  toData: (status, items = []) => ({
10
12
  data: {
@@ -28,8 +30,8 @@ exports.rest = {
28
30
  .type(types_1.isError, e => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, [e]))
29
31
  .type(types_1.isResults, r => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, r.results))
30
32
  .type(Response_1.isResponse, r => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.byId(r.body.error?.code), r.body.error?.errors))
31
- .case(p => p.error && p.error.errors, p => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.byId(p.error.code, HttpStatus_1.HttpStatus.BadRequest), p.error.errors))
32
- .case(p => p.data && p.data.items, p => exports.rest.toData(status ?? HttpStatus_1.HttpStatus.byId(p.data.code, HttpStatus_1.HttpStatus.Ok), p.data.items))
33
+ .type(hasErrors, e => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.byId(e.error.code, HttpStatus_1.HttpStatus.BadRequest), e.error.errors))
34
+ .type(hasItems, d => exports.rest.toData(status ?? HttpStatus_1.HttpStatus.byId(d.data.code, HttpStatus_1.HttpStatus.Ok), d.data.items))
33
35
  .else(p => exports.rest.toData(status ?? HttpStatus_1.HttpStatus.Ok, (0, types_1.toList)(p))),
34
36
  };
35
37
  const isRestResult = (r) => (0, types_1.isDefined)(r) && ((0, types_1.isDefined)(r.data) || (0, types_1.isDefined)(r.error));
@@ -1 +1 @@
1
- {"version":3,"file":"RestResult.js","sourceRoot":"","sources":["../../src/http/RestResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RestResult.js","sourceRoot":"","sources":["../../src/http/RestResult.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ class Search {
10
10
  this.byId = (id) => this.repo.byId(id);
11
11
  this.byKey = (key) => this.repo.byKey(key);
12
12
  this.search = (query) => (0, utils_1.choose)(query)
13
- .case(q => (0, types_1.isNotEmpty)(q), q => this.repo.search(q))
13
+ .type(types_1.isNotEmpty, q => this.repo.search(q))
14
14
  .else((0, utils_1.resolve)((0, types_1.toList)()));
15
15
  this.exists = (id) => this.repo.exists(id);
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/process/Search.ts"],"names":[],"mappings":";;;AACA,oCAAwE;AACxE,oCAA2C;AAE3C,MAAa,MAAM;IACjB,YAAsB,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;QAEnC,QAAG,GAAG,GAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAE9C,SAAI,GAAG,CAAC,EAAM,EAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElD,UAAK,GAAG,CAAC,GAAQ,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7D,WAAM,GAAG,CAAC,KAAgB,EAAoB,EAAE,CAC9C,IAAA,cAAM,EAA8B,KAAK,CAAC;aACvC,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,IAAA,kBAAU,EAAC,CAAC,CAAC,EAClB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACzB;aACA,IAAI,CAAC,IAAA,eAAO,EAAC,IAAA,cAAM,GAAK,CAAC,CAAC,CAAC;QAEhC,WAAM,GAAG,CAAC,EAAM,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAhBtB,CAAC;CAiBxC;AAlBD,wBAkBC"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/process/Search.ts"],"names":[],"mappings":";;;AACA,oCAAwE;AACxE,oCAA2C;AAE3C,MAAa,MAAM;IACjB,YAAsB,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;QAEnC,QAAG,GAAG,GAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAE9C,SAAI,GAAG,CAAC,EAAM,EAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElD,UAAK,GAAG,CAAC,GAAQ,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7D,WAAM,GAAG,CAAC,KAAgB,EAAoB,EAAE,CAC9C,IAAA,cAAM,EAA8B,KAAK,CAAC;aACvC,IAAI,CAAY,kBAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACrD,IAAI,CAAC,IAAA,eAAO,EAAC,IAAA,cAAM,GAAK,CAAC,CAAC,CAAC;QAEhC,WAAM,GAAG,CAAC,EAAM,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAbtB,CAAC;CAcxC;AAfD,wBAeC"}
@@ -2,7 +2,7 @@ import { Constructor } from './Constructor';
2
2
  export declare const isDefined: <T = unknown>(o?: T | undefined) => o is NonNullable<T>;
3
3
  export declare const isUndefined: (v?: unknown) => v is never;
4
4
  export declare const isEmpty: (o?: unknown) => boolean;
5
- export declare const isNotEmpty: (o?: unknown) => boolean;
5
+ export declare const isNotEmpty: <T = unknown>(o?: unknown) => o is NonNullable<T>;
6
6
  export declare const isString: (o?: unknown) => o is string;
7
7
  export declare const isIsoDateString: (o?: unknown) => o is string;
8
8
  export declare const isBoolean: (o?: unknown) => o is boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Is.js","sourceRoot":"","sources":["../../src/types/Is.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Is.js","sourceRoot":"","sources":["../../src/types/Is.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "8.41.6",
3
+ "version": "8.41.8",
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": "8.41.6",
34
+ "@thisisagile/easy-test": "8.41.8",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.1"
@@ -11,7 +11,7 @@ export class Audit extends Struct {
11
11
  constructor(a?: Json) {
12
12
  super(
13
13
  choose(a)
14
- .case(isDefined, (j: Json) => j)
14
+ .type(isDefined, (j: Json) => j)
15
15
  .else({ by: ctx.request?.identity ?? { id: 0, user: 'easy' }, when: DateTime.now.toJSON() })
16
16
  );
17
17
  }
@@ -20,6 +20,9 @@ export type RestResult = {
20
20
  error?: { code: number; message: string; errorCount: number; errors: List<Result> };
21
21
  };
22
22
 
23
+ const hasErrors = (a: any): a is { error: { code: number, errors: List<Result> } } => isDefined(a?.error?.errors);
24
+ const hasItems = (a: any): a is { data: { code: number, items: List<Json> } } => isDefined(a?.data.items);
25
+
23
26
  export const rest = {
24
27
  toData: (status: HttpStatus, items: Json[] = []): RestResult => ({
25
28
  data: {
@@ -44,13 +47,8 @@ export const rest = {
44
47
  .type(isError, e => rest.toError(status ?? HttpStatus.BadRequest, [e]))
45
48
  .type(isResults, r => rest.toError(status ?? HttpStatus.BadRequest, r.results))
46
49
  .type(isResponse, r => rest.toError(status ?? HttpStatus.byId(r.body.error?.code as Id), r.body.error?.errors))
47
- .case(
48
- p => p.error && p.error.errors,
49
- p => rest.toError(status ?? HttpStatus.byId(p.error.code, HttpStatus.BadRequest), p.error.errors))
50
- .case(
51
- p => p.data && p.data.items,
52
- p => rest.toData(status ?? HttpStatus.byId(p.data.code, HttpStatus.Ok), p.data.items),
53
- )
50
+ .type(hasErrors, e => rest.toError(status ?? HttpStatus.byId(e.error.code, HttpStatus.BadRequest), e.error.errors))
51
+ .type(hasItems, d => rest.toData(status ?? HttpStatus.byId(d.data.code, HttpStatus.Ok), d.data.items))
54
52
  .else(p => rest.toData(status ?? HttpStatus.Ok, toList(p))),
55
53
  };
56
54
 
@@ -13,10 +13,7 @@ export class Search<T extends Struct> {
13
13
 
14
14
  search = (query: JsonValue): Promise<List<T>> =>
15
15
  choose<Promise<List<T>>, JsonValue>(query)
16
- .case(
17
- q => isNotEmpty(q),
18
- q => this.repo.search(q)
19
- )
16
+ .type<JsonValue>(isNotEmpty, q => this.repo.search(q))
20
17
  .else(resolve(toList<T>()));
21
18
 
22
19
  exists = (id: Id): Promise<boolean> => this.repo.exists(id);
package/src/types/Is.ts CHANGED
@@ -6,7 +6,7 @@ export const isUndefined = (v?: unknown): v is never => v === undefined || v ===
6
6
 
7
7
  export const isEmpty = (o?: unknown): boolean => o === '' || o === null || o === undefined || (isArray(o) && o.length === 0);
8
8
 
9
- export const isNotEmpty = (o?: unknown): boolean => o !== '' && o !== null && o !== undefined && (!isArray(o) || o.length > 0);
9
+ export const isNotEmpty = <T = unknown>(o?: unknown): o is NonNullable<T> => o !== '' && o !== null && o !== undefined && (!isArray(o) || o.length > 0);
10
10
 
11
11
  export const isString = (o?: unknown): o is string => o instanceof String || typeof o === 'string';
12
12