@thisisagile/easy 8.41.3 → 8.41.6

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.
@@ -22,11 +22,12 @@ exports.rest = {
22
22
  },
23
23
  }),
24
24
  to: (payload, status) => (0, utils_1.choose)(payload)
25
- .case(p => !(0, types_1.isDefined)(p), p => p)
26
- .case(p => (0, HttpStatus_1.isHttpStatus)(p), p => exports.rest.toError(p ?? status ?? HttpStatus_1.HttpStatus.InternalServerError, [(0, types_1.toResult)(p.name)]))
27
- .case(p => (0, types_1.isResult)(p) || (0, types_1.isError)(p), p => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, [p]))
28
- .case(p => (0, types_1.isResults)(p), p => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, p.results))
29
- .case(p => (0, Response_1.isResponse)(p), p => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.byId(p.body.error?.code), p.body.error?.errors))
25
+ .type(types_1.isUndefined, p => p)
26
+ .type(HttpStatus_1.isHttpStatus, h => exports.rest.toError(h ?? status ?? HttpStatus_1.HttpStatus.InternalServerError, [(0, types_1.toResult)(h.name)]))
27
+ .type(types_1.isResult, r => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, [r]))
28
+ .type(types_1.isError, e => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, [e]))
29
+ .type(types_1.isResults, r => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.BadRequest, r.results))
30
+ .type(Response_1.isResponse, r => exports.rest.toError(status ?? HttpStatus_1.HttpStatus.byId(r.body.error?.code), r.body.error?.errors))
30
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))
31
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))
32
33
  .else(p => exports.rest.toData(status ?? HttpStatus_1.HttpStatus.Ok, (0, types_1.toList)(p))),
@@ -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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"}
@@ -8,9 +8,11 @@ const axios_1 = __importDefault(require("axios"));
8
8
  const http_1 = require("../http");
9
9
  const types_1 = require("../types");
10
10
  const utils_1 = require("../utils");
11
+ const isResponse = (a) => (0, types_1.isDefined)(a?.response);
12
+ const isRequest = (a) => (0, types_1.isDefined)(a?.request);
11
13
  const asResponse = (uri, verb, error) => (0, utils_1.choose)(error)
12
- .case(e => (0, types_1.isDefined)(e.response), (e) => (0, http_1.toResponse)(e.response.status, (0, http_1.isRestResult)(e.response.data) ? e.response.data : (0, types_1.toResult)(e.response.statusText, uri.path, uri), e.response.headers))
13
- .case(e => (0, types_1.isDefined)(e.request), (e) => (0, http_1.toResponse)(e.request.status, (0, types_1.toResult)(e.request.message, uri.path, uri)))
14
+ .type(isResponse, r => (0, http_1.toResponse)(r.response.status, (0, http_1.isRestResult)(r.response.data) ? r.response.data : (0, types_1.toResult)(r.response.statusText, uri.path, uri), r.response.headers))
15
+ .type(isRequest, r => (0, http_1.toResponse)(r.request.status, (0, types_1.toResult)(r.request.message, uri.path, uri)))
14
16
  .else(e => (0, http_1.toResponse)(http_1.HttpStatus.InternalServerError, (0, types_1.toResult)(e.message, uri.path, uri)));
15
17
  class AxiosProvider {
16
18
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosProvider.js","sourceRoot":"","sources":["../../src/services/AxiosProvider.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAkD;AAClD,kCAA6H;AAC7H,oCAAkE;AAClE,oCAAkC;AAElC,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,KAAiB,EAAY,EAAE,CAC3E,IAAA,cAAM,EAAuB,KAAK,CAAC;KAChC,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,QAAQ,CAAC,EAC1B,CAAC,CAAM,EAAE,EAAE,CACT,IAAA,iBAAU,EAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAA,mBAAY,EAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACtJ;KACA,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,OAAO,CAAC,EACzB,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACrF;KACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,iBAAU,CAAC,mBAAmB,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/F,MAAa,aAAa;IAA1B;QACE,YAAO,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,qBAAc,CAAC,IAAI,EAAW,EAAqB,EAAE,CACtH,eAAK;aACF,OAAO,CAAC;YACP,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAY;YACjC,OAAO,EAAE,GAAG,CAAC,UAAU,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;YAC7H,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAChC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;aAC7D,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;CAAA;AAXD,sCAWC"}
1
+ {"version":3,"file":"AxiosProvider.js","sourceRoot":"","sources":["../../src/services/AxiosProvider.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAiE;AACjE,kCAA6H;AAC7H,oCAAkE;AAClE,oCAAkC;AAElC,MAAM,UAAU,GAAG,CAAC,CAAU,EAAkC,EAAE,CAAC,IAAA,iBAAS,EAAE,CAAS,EAAE,QAAQ,CAAC,CAAC;AACnG,MAAM,SAAS,GAAG,CAAC,CAAU,EAAuB,EAAE,CAAC,IAAA,iBAAS,EAAE,CAAS,EAAE,OAAO,CAAC,CAAC;AAEtF,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,KAAiB,EAAY,EAAE,CAC3E,IAAA,cAAM,EAAuB,KAAK,CAAC;KAChC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAA,mBAAY,EAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC1K,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;KAC9F,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,iBAAU,CAAC,mBAAmB,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/F,MAAa,aAAa;IAA1B;QACE,YAAO,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,qBAAc,CAAC,IAAI,EAAW,EAAqB,EAAE,CACtH,eAAK;aACF,OAAO,CAAC;YACP,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAY;YACjC,OAAO,EAAE,GAAG,CAAC,UAAU,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;YAC7H,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAChC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;aAC7D,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;CAAA;AAXD,sCAWC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "8.41.3",
3
+ "version": "8.41.6",
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.3",
34
+ "@thisisagile/easy-test": "8.41.6",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.1"
@@ -1,4 +1,16 @@
1
- import { isDefined, isError, isResult, isResults, Json, List, Result, toList, toResult } from '../types';
1
+ import {
2
+ Id,
3
+ isDefined,
4
+ isError,
5
+ isResult,
6
+ isResults,
7
+ isUndefined,
8
+ Json,
9
+ List,
10
+ Result,
11
+ toList,
12
+ toResult,
13
+ } from '../types';
2
14
  import { choose } from '../utils';
3
15
  import { HttpStatus, isHttpStatus } from './HttpStatus';
4
16
  import { isResponse } from './Response';
@@ -26,33 +38,18 @@ export const rest = {
26
38
  }),
27
39
  to: (payload?: any | any[], status?: HttpStatus): RestResult =>
28
40
  choose<RestResult, any>(payload)
29
- .case(
30
- p => !isDefined(p),
31
- p => p
32
- )
33
- .case(
34
- p => isHttpStatus(p),
35
- p => rest.toError(p ?? status ?? HttpStatus.InternalServerError, [toResult(p.name)])
36
- )
37
- .case(
38
- p => isResult(p) || isError(p),
39
- p => rest.toError(status ?? HttpStatus.BadRequest, [p])
40
- )
41
- .case(
42
- p => isResults(p),
43
- p => rest.toError(status ?? HttpStatus.BadRequest, p.results)
44
- )
45
- .case(
46
- p => isResponse(p),
47
- p => rest.toError(status ?? HttpStatus.byId(p.body.error?.code), p.body.error?.errors)
48
- )
41
+ .type(isUndefined, p => p)
42
+ .type(isHttpStatus, h => rest.toError(h ?? status ?? HttpStatus.InternalServerError, [toResult(h.name)]))
43
+ .type(isResult, r => rest.toError(status ?? HttpStatus.BadRequest, [r]))
44
+ .type(isError, e => rest.toError(status ?? HttpStatus.BadRequest, [e]))
45
+ .type(isResults, r => rest.toError(status ?? HttpStatus.BadRequest, r.results))
46
+ .type(isResponse, r => rest.toError(status ?? HttpStatus.byId(r.body.error?.code as Id), r.body.error?.errors))
49
47
  .case(
50
48
  p => p.error && p.error.errors,
51
- p => rest.toError(status ?? HttpStatus.byId(p.error.code, HttpStatus.BadRequest), p.error.errors)
52
- )
49
+ p => rest.toError(status ?? HttpStatus.byId(p.error.code, HttpStatus.BadRequest), p.error.errors))
53
50
  .case(
54
51
  p => p.data && p.data.items,
55
- p => rest.toData(status ?? HttpStatus.byId(p.data.code, HttpStatus.Ok), p.data.items)
52
+ p => rest.toData(status ?? HttpStatus.byId(p.data.code, HttpStatus.Ok), p.data.items),
56
53
  )
57
54
  .else(p => rest.toData(status ?? HttpStatus.Ok, toList(p))),
58
55
  };
@@ -1,19 +1,15 @@
1
- import axios, { AxiosError, Method } from 'axios';
1
+ import axios, { AxiosError, AxiosResponse, Method } from 'axios';
2
2
  import { HttpStatus, HttpVerb, isRestResult, Request, RequestOptions, RequestProvider, Response, toResponse } from '../http';
3
3
  import { ctx, isDefined, isEmpty, toResult, Uri } from '../types';
4
4
  import { choose } from '../utils';
5
5
 
6
+ const isResponse = (a: unknown): a is {response: AxiosResponse} => isDefined((a as any)?.response);
7
+ const isRequest = (a: unknown): a is {request: any} => isDefined((a as any)?.request);
8
+
6
9
  const asResponse = (uri: Uri, verb: HttpVerb, error: AxiosError): Response =>
7
10
  choose<Response, AxiosError>(error)
8
- .case(
9
- e => isDefined(e.response),
10
- (e: any) =>
11
- toResponse(e.response.status, isRestResult(e.response.data) ? e.response.data : toResult(e.response.statusText, uri.path, uri), e.response.headers)
12
- )
13
- .case(
14
- e => isDefined(e.request),
15
- (e: any) => toResponse(e.request.status, toResult(e.request.message, uri.path, uri))
16
- )
11
+ .type(isResponse, r => toResponse(r.response.status, isRestResult(r.response.data) ? r.response.data : toResult(r.response.statusText, uri.path, uri), r.response.headers))
12
+ .type(isRequest, r => toResponse(r.request.status, toResult(r.request.message, uri.path, uri)))
17
13
  .else(e => toResponse(HttpStatus.InternalServerError, toResult(e.message, uri.path, uri)));
18
14
 
19
15
  export class AxiosProvider implements RequestProvider {