@thisisagile/easy 8.40.0 → 8.40.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.
@@ -3,9 +3,16 @@ export declare type InOut = {
3
3
  in?: Func | View;
4
4
  col?: string;
5
5
  };
6
- export declare const isInOut: (v: unknown) => v is InOut;
7
6
  export declare const isColOnly: (v: unknown) => v is InOut;
8
7
  export declare const isInOnly: (v: unknown) => v is InOut;
8
+ export declare const isInOutWithFunction: (v: unknown) => v is {
9
+ col: string;
10
+ in: Func;
11
+ };
12
+ export declare const isInOutWithView: (v: unknown) => v is {
13
+ col: string;
14
+ in: View;
15
+ };
9
16
  export declare type Views = {
10
17
  [key: string]: string | Func | InOut;
11
18
  };
@@ -1,25 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.view = exports.View = exports.toViewers = exports.isInOnly = exports.isColOnly = exports.isInOut = void 0;
3
+ exports.view = exports.View = exports.toViewers = exports.isInOutWithView = exports.isInOutWithFunction = exports.isInOnly = exports.isColOnly = void 0;
4
4
  const types_1 = require("../types");
5
5
  const Traverse_1 = require("./Traverse");
6
6
  const Case_1 = require("./Case");
7
- const isInOut = (v) => (0, types_1.isObject)(v) && (0, types_1.isDefined)(v.col) && ((0, types_1.isFunction)(v.in) || v.in instanceof View);
8
- exports.isInOut = isInOut;
9
7
  const isColOnly = (v) => (0, types_1.isObject)(v) && (0, types_1.isDefined)(v.col) && !(0, types_1.isDefined)(v.in);
10
8
  exports.isColOnly = isColOnly;
11
9
  const isInOnly = (v) => (0, types_1.isObject)(v) && !(0, types_1.isDefined)(v.col) && (0, types_1.isFunction)(v.in);
12
10
  exports.isInOnly = isInOnly;
13
- const toFunc = (a, key, io) => (0, Case_1.choose)(io)
14
- .case(i => (0, types_1.isDefined)(i.col) && !(0, types_1.isDefined)(i.in), (i) => (a) => (0, Traverse_1.traverse)(a, i.col))
15
- .else(() => undefined);
16
- const toViewer = (key, value) => (0, Case_1.choose)(value)
17
- .type(types_1.isString, s => toViewer(key, (a) => (0, Traverse_1.traverse)(a, s)))
18
- .type(exports.isColOnly, io => toViewer(key, io.col))
19
- .type(types_1.isFunction, f => toViewer(key, { in: { key, f } }))
20
- .type(exports.isInOnly, io => toViewer(key, { in: { key, f: io.in } }))
21
- .type(exports.isInOut, io => toViewer(key, (a) => io?.in && (io.in instanceof View ? io.in.from((0, Traverse_1.traverse)(a, io.col)) : io.in((0, Traverse_1.traverse)(a, io.col)))))
22
- .else(m => m);
11
+ const isInOutWithFunction = (v) => (0, types_1.isObject)(v) && (0, types_1.isDefined)(v.col) && (0, types_1.isFunction)(v.in);
12
+ exports.isInOutWithFunction = isInOutWithFunction;
13
+ const isInOutWithView = (v) => (0, types_1.isObject)(v) && (0, types_1.isDefined)(v.col) && v.in instanceof View;
14
+ exports.isInOutWithView = isInOutWithView;
15
+ const toFunc = (a, col, f = a => a) => (0, types_1.tryTo)((0, Traverse_1.traverse)(a, col))
16
+ .map(v => (0, types_1.isArray)(v) ? () => v.map(i => f(i)) : (a) => f((0, Traverse_1.traverse)(a, col)))
17
+ .value;
18
+ const toViewer = (key, value) => {
19
+ const k = key;
20
+ const v = value;
21
+ return (0, Case_1.choose)(value)
22
+ .type(types_1.isString, s => toViewer(key, (a) => toFunc(a, s)(a)))
23
+ .type(exports.isColOnly, io => toViewer(key, io.col))
24
+ .type(types_1.isFunction, f => toViewer(key, { in: { key, f } }))
25
+ .type(exports.isInOnly, io => toViewer(key, { in: { key, f: io.in } }))
26
+ .type(exports.isInOutWithFunction, io => toViewer(key, { in: { key, f: (a) => toFunc(a, io.col, io.in)(a) } }))
27
+ .type(exports.isInOutWithView, io => toViewer(key, { in: { key, f: (a) => toFunc(a, io.col, io.in.from)(a) } }))
28
+ .else(m => m);
29
+ };
23
30
  const toViewers = (views) => (0, types_1.meta)(views)
24
31
  .entries()
25
32
  .map(([k, v]) => toViewer(k, v));
@@ -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": "8.40.0",
3
+ "version": "8.40.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": "8.40.0",
34
+ "@thisisagile/easy-test": "8.40.3",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.1"
package/src/utils/View.ts CHANGED
@@ -1,30 +1,35 @@
1
- import { asJson, isDefined, isFunction, isObject, isString, meta, tryTo } from '../types';
1
+ import { asJson, isArray, isDefined, isFunction, isObject, isString, meta, tryTo } from '../types';
2
2
  import { traverse } from './Traverse';
3
3
  import { choose } from './Case';
4
4
 
5
5
  type Func<T = unknown> = (a: any) => T;
6
6
 
7
7
  export type InOut = { in?: Func | View, col?: string };
8
- export const isInOut = (v: unknown): v is InOut => isObject(v) && isDefined(v.col) && (isFunction(v.in) || v.in instanceof View);
9
8
  export const isColOnly = (v: unknown): v is InOut => isObject(v) && isDefined(v.col) && !isDefined(v.in);
10
9
  export const isInOnly = (v: unknown): v is InOut => isObject(v) && !isDefined(v.col) && isFunction(v.in);
10
+ export const isInOutWithFunction = (v: unknown): v is { col: string, in: Func } => isObject(v) && isDefined(v.col) && isFunction(v.in);
11
+ export const isInOutWithView = (v: unknown): v is { col: string, in: View } => isObject(v) && isDefined(v.col) && v.in instanceof View;
11
12
 
12
13
  export type Views = { [key: string]: string | Func | InOut };
13
14
  export type Viewer = { in?: { key: string, f?: Func } };
14
15
 
15
- const toFunc = (a: unknown, key: string, io: InOut): Func =>
16
- choose<Func, InOut>(io)
17
- .case(i => isDefined(i.col) && !isDefined(i.in), (i: InOut) => (a: any) => traverse(a, i.col))
18
- .else(() => undefined);
16
+ const toFunc = (a: any, col: string, f: Func = a => a): Func =>
17
+ tryTo(traverse(a, col))
18
+ .map(v => isArray(v) ? () => v.map(i => f(i)): (a: any) => f(traverse(a, col)))
19
+ .value;
19
20
 
20
- const toViewer = (key: string, value: unknown): Viewer =>
21
- choose<Viewer>(value)
22
- .type(isString, s => toViewer(key, (a: any) => traverse(a, s)))
21
+ const toViewer = (key: string, value: unknown): Viewer => {
22
+ const k = key;
23
+ const v = value;
24
+ return choose<Viewer>(value)
25
+ .type(isString, s => toViewer(key, (a: any) => toFunc(a, s)(a)))
23
26
  .type(isColOnly, io => toViewer(key, io.col))
24
27
  .type(isFunction, f => toViewer(key, { in: { key, f } }))
25
28
  .type(isInOnly, io => toViewer(key, { in: { key, f: io.in } }))
26
- .type(isInOut, io => toViewer(key, (a: any) => io?.in && (io.in instanceof View ? io.in.from(traverse(a, io.col)) : io.in(traverse(a, io.col)))))
29
+ .type(isInOutWithFunction, io => toViewer(key, { in: { key, f: (a: any) => toFunc(a, io.col, io.in)(a) } }))
30
+ .type(isInOutWithView, io => toViewer(key, { in: { key, f: (a: any) => toFunc(a, io.col, io.in.from)(a) } }))
27
31
  .else(m => m as Viewer);
32
+ };
28
33
 
29
34
  export const toViewers = (views: Views): Viewer[] =>
30
35
  meta(views)