@thisisagile/easy 12.19.1 → 12.19.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.
@@ -1,11 +1,6 @@
1
1
  import { List } from './List';
2
2
  import { Construct } from './Constructor';
3
- export declare const asc = 1;
4
- export declare const desc = -1;
5
- export declare type Sort = {
6
- key: string;
7
- value: -1 | 1;
8
- };
3
+ import { PlainSort, Sort } from './Sort';
9
4
  export declare type FilterValue = {
10
5
  label?: string;
11
6
  value: any;
@@ -22,6 +17,7 @@ export declare type PageOptions = {
22
17
  take?: number;
23
18
  skip?: number;
24
19
  sort?: Sort[];
20
+ sorts?: PlainSort;
25
21
  filters?: Filter[];
26
22
  };
27
23
  export declare type PageList<T> = List<T> & Omit<PageOptions, 'sort'> & {
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.asPageList = exports.toPageList = exports.isPageList = exports.toShortFilter = exports.toFilter = exports.desc = exports.asc = void 0;
3
+ exports.asPageList = exports.toPageList = exports.isPageList = exports.toShortFilter = exports.toFilter = void 0;
4
4
  const List_1 = require("./List");
5
5
  const Constructor_1 = require("./Constructor");
6
6
  const IsA_1 = require("./IsA");
7
- exports.asc = 1;
8
- exports.desc = -1;
9
7
  const toFilter = (field, value) => (0, exports.toShortFilter)(field, field, value);
10
8
  exports.toFilter = toFilter;
11
9
  const toShortFilter = (field, shortField, value) => ({
@@ -20,6 +18,7 @@ const toPageList = (items, options) => (0, Constructor_1.on)((0, List_1.toList)(
20
18
  l.take = options?.take ?? 250;
21
19
  l.skip = options?.skip ?? 0;
22
20
  l.total = options?.total;
21
+ l.sorts = options?.sorts;
23
22
  l.filters = options?.filters;
24
23
  });
25
24
  exports.toPageList = toPageList;
@@ -1 +1 @@
1
- {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,+CAA2D;AAC3D,+BAA4B;AAEf,QAAA,GAAG,GAAG,CAAC,CAAC;AACR,QAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAMhB,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;AAKI,MAAM,UAAU,GAAG,CAAI,CAAO,EAAoB,EAAE,CAAC,IAAA,aAAM,EAAI,CAAC,CAAC,IAAI,IAAA,SAAG,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAA/E,QAAA,UAAU,cAAqE;AAErF,MAAM,UAAU,GAAG,CAAI,KAAW,EAAE,OAAwD,EAAe,EAAE,CAClH,IAAA,gBAAE,EAAC,IAAA,aAAM,EAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAgB,EAAE,CAAC,CAAC,EAAE;IACjD,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC;IAC9B,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IACzB,CAAC,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;AAC/B,CAAC,CAAC,CAAC;AANQ,QAAA,UAAU,cAMlB;AAEE,MAAM,UAAU,GAAG,CAAO,CAAe,EAAE,QAAQ,IAAA,kBAAU,GAAK,EAAe,EAAE,CACxF,IAAA,kBAAU,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,yBAAW,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACjC,KAAK,CACN,CAAC;AAJS,QAAA,UAAU,cAInB"}
1
+ {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,+CAA2D;AAC3D,+BAA4B;AAMrB,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;AAKI,MAAM,UAAU,GAAG,CAAI,CAAO,EAAoB,EAAE,CAAC,IAAA,aAAM,EAAI,CAAC,CAAC,IAAI,IAAA,SAAG,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAA/E,QAAA,UAAU,cAAqE;AAErF,MAAM,UAAU,GAAG,CAAI,KAAW,EAAE,OAAwD,EAAe,EAAE,CAClH,IAAA,gBAAE,EAAC,IAAA,aAAM,EAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAgB,EAAE,CAAC,CAAC,EAAE;IACjD,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC;IAC9B,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IACzB,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IACzB,CAAC,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;AAC/B,CAAC,CAAC,CAAC;AAPQ,QAAA,UAAU,cAOlB;AAEE,MAAM,UAAU,GAAG,CAAO,CAAe,EAAE,QAAQ,IAAA,kBAAU,GAAK,EAAe,EAAE,CACxF,IAAA,kBAAU,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,yBAAW,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACjC,KAAK,CACN,CAAC;AAJS,QAAA,UAAU,cAInB"}
@@ -0,0 +1,8 @@
1
+ export declare const asc = 1;
2
+ export declare const desc = -1;
3
+ export declare type SortDirection = typeof asc | typeof desc;
4
+ export declare type Sort = {
5
+ key: string;
6
+ value: SortDirection;
7
+ };
8
+ export declare type PlainSort = Record<string, SortDirection>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.desc = exports.asc = void 0;
4
+ exports.asc = 1;
5
+ exports.desc = -1;
6
+ //# sourceMappingURL=Sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sort.js","sourceRoot":"","sources":["../../src/types/Sort.ts"],"names":[],"mappings":";;;AAAa,QAAA,GAAG,GAAG,CAAC,CAAC;AACR,QAAA,IAAI,GAAG,CAAC,CAAC,CAAC"}
@@ -5,6 +5,10 @@ export declare type Segment = Text & {
5
5
  segment?: string;
6
6
  query?: (value: unknown) => string;
7
7
  };
8
+ export declare const toSegment: (key?: Text, { segment, query }?: {
9
+ segment?: string | undefined;
10
+ query?: ((value: unknown) => string) | undefined;
11
+ }) => Segment;
8
12
  export declare const uri: {
9
13
  host: (key?: string) => Segment;
10
14
  resource: (resource: Uri) => Segment;
package/dist/types/Uri.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EasyUri = exports.uri = void 0;
3
+ exports.EasyUri = exports.uri = exports.toSegment = void 0;
4
4
  const Is_1 = require("./Is");
5
5
  const Text_1 = require("./Text");
6
6
  const Constructor_1 = require("./Constructor");
@@ -14,13 +14,14 @@ const toSegment = (key, { segment, query } = {}) => ({
14
14
  query,
15
15
  toString: () => (0, Text_1.asString)(key),
16
16
  });
17
+ exports.toSegment = toSegment;
17
18
  exports.uri = {
18
- host: (key) => toSegment(key, { segment: key ?? Context_1.ctx.env.host ?? '$host' }),
19
- resource: (resource) => toSegment((0, Constructor_1.toName)(resource, 'Uri'), { segment: (0, Constructor_1.toName)(resource, 'Uri') }),
20
- segment: (key) => toSegment(key, { segment: key }),
21
- path: (key) => toSegment(key, { segment: `:${key}` }),
22
- query: (key) => toSegment(key, { query: (value) => ((0, Is_1.isDefined)(value) ? `${key}=${value}` : '') }),
23
- boolean: (key) => toSegment(key, { query: (value) => ((0, Is_1.isTrue)(value) ? `${key}` : '') }),
19
+ host: (key) => (0, exports.toSegment)(key, { segment: key ?? Context_1.ctx.env.host ?? '$host' }),
20
+ resource: (resource) => (0, exports.toSegment)((0, Constructor_1.toName)(resource, 'Uri'), { segment: (0, Constructor_1.toName)(resource, 'Uri') }),
21
+ segment: (key) => (0, exports.toSegment)(key, { segment: key }),
22
+ path: (key) => (0, exports.toSegment)(key, { segment: `:${key}` }),
23
+ query: (key) => (0, exports.toSegment)(key, { query: (value) => ((0, Is_1.isDefined)(value) ? `${key}=${value}` : '') }),
24
+ boolean: (key) => (0, exports.toSegment)(key, { query: (value) => ((0, Is_1.isTrue)(value) ? `${key}` : '') }),
24
25
  };
25
26
  const toRoute = (...segments) => (0, List_1.toList)(segments)
26
27
  .mapDefined(s => s.segment)
@@ -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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"}
@@ -24,14 +24,15 @@ export * from './Message';
24
24
  export * from './Meta';
25
25
  export * from './Nullish';
26
26
  export * from './Number';
27
+ export * from './PageList';
27
28
  export * from './Primitive';
28
29
  export * from './Repository';
29
30
  export * from './Result';
30
31
  export * from './Results';
32
+ export * from './Sort';
31
33
  export * from './Tag';
32
34
  export * from './Template';
33
35
  export * from './Text';
34
- export * from './PageList';
35
36
  export * from './Try';
36
37
  export * from './Types';
37
38
  export * from './Uri';
@@ -39,3 +40,8 @@ export * from './Uuid';
39
40
  export * from './Validatable';
40
41
  export * from './Value';
41
42
  export { isPrimitive } from './Primitive';
43
+ export { PlainSort } from "./Sort";
44
+ export { Sort } from "./Sort";
45
+ export { SortDirection } from "./Sort";
46
+ export { desc } from "./Sort";
47
+ export { asc } from "./Sort";
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isPrimitive = void 0;
17
+ exports.asc = exports.desc = exports.isPrimitive = void 0;
18
18
  __exportStar(require("./Array"), exports);
19
19
  __exportStar(require("./Builder"), exports);
20
20
  __exportStar(require("./Cache"), exports);
@@ -41,14 +41,15 @@ __exportStar(require("./Message"), exports);
41
41
  __exportStar(require("./Meta"), exports);
42
42
  __exportStar(require("./Nullish"), exports);
43
43
  __exportStar(require("./Number"), exports);
44
+ __exportStar(require("./PageList"), exports);
44
45
  __exportStar(require("./Primitive"), exports);
45
46
  __exportStar(require("./Repository"), exports);
46
47
  __exportStar(require("./Result"), exports);
47
48
  __exportStar(require("./Results"), exports);
49
+ __exportStar(require("./Sort"), exports);
48
50
  __exportStar(require("./Tag"), exports);
49
51
  __exportStar(require("./Template"), exports);
50
52
  __exportStar(require("./Text"), exports);
51
- __exportStar(require("./PageList"), exports);
52
53
  __exportStar(require("./Try"), exports);
53
54
  __exportStar(require("./Types"), exports);
54
55
  __exportStar(require("./Uri"), exports);
@@ -57,4 +58,8 @@ __exportStar(require("./Validatable"), exports);
57
58
  __exportStar(require("./Value"), exports);
58
59
  var Primitive_1 = require("./Primitive");
59
60
  Object.defineProperty(exports, "isPrimitive", { enumerable: true, get: function () { return Primitive_1.isPrimitive; } });
61
+ var Sort_1 = require("./Sort");
62
+ Object.defineProperty(exports, "desc", { enumerable: true, get: function () { return Sort_1.desc; } });
63
+ var Sort_2 = require("./Sort");
64
+ Object.defineProperty(exports, "asc", { enumerable: true, get: function () { return Sort_2.asc; } });
60
65
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,6CAA2B;AAC3B,yCAAuB;AACvB,gDAA8B;AAC9B,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B;AAC9B,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,wCAAsB;AACtB,uCAAqB;AACrB,6CAA2B;AAC3B,uCAAqB;AACrB,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB;AACzB,8CAA4B;AAC5B,+CAA6B;AAC7B,2CAAyB;AACzB,4CAA0B;AAC1B,wCAAsB;AACtB,6CAA2B;AAC3B,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,0CAAwB;AACxB,wCAAsB;AACtB,yCAAuB;AACvB,gDAA8B;AAC9B,0CAAwB;AACxB,yCAA0C;AAAjC,wGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,6CAA2B;AAC3B,yCAAuB;AACvB,gDAA8B;AAC9B,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B;AAC9B,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,wCAAsB;AACtB,uCAAqB;AACrB,6CAA2B;AAC3B,uCAAqB;AACrB,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,wCAAsB;AACtB,6CAA2B;AAC3B,yCAAuB;AACvB,wCAAsB;AACtB,0CAAwB;AACxB,wCAAsB;AACtB,yCAAuB;AACvB,gDAA8B;AAC9B,0CAAwB;AACxB,yCAA0C;AAAjC,wGAAA,WAAW,OAAA;AAIpB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,+BAA6B;AAApB,2FAAA,GAAG,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "12.19.1",
3
+ "version": "12.19.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": "12.19.1",
34
+ "@thisisagile/easy-test": "12.19.3",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.9",
37
37
  "@types/luxon": "3.1.0",
@@ -1,10 +1,7 @@
1
1
  import { isList, List, toList } from './List';
2
2
  import { Construct, ofConstruct, on } from './Constructor';
3
3
  import { isA } from './IsA';
4
-
5
- export const asc = 1;
6
- export const desc = -1;
7
- export type Sort = { key: string; value: -1 | 1 };
4
+ import { PlainSort, Sort } from './Sort';
8
5
 
9
6
  export type FilterValue = { label?: string; value: any };
10
7
  export type Filter = { label?: string; field: string; shortField?: string; values: FilterValue[] };
@@ -16,7 +13,7 @@ export const toShortFilter = (field: string, shortField: string, value: any): Fi
16
13
  values: [{ value }],
17
14
  });
18
15
 
19
- export type PageOptions = { take?: number; skip?: number; sort?: Sort[]; filters?: Filter[] };
16
+ export type PageOptions = { take?: number; skip?: number; sort?: Sort[]; sorts?: PlainSort; filters?: Filter[] };
20
17
  export type PageList<T> = List<T> & Omit<PageOptions, 'sort'> & { total?: number };
21
18
 
22
19
  export const isPageList = <T>(l?: T[]): l is PageList<T> => isList<T>(l) && isA(l, 'total');
@@ -26,6 +23,7 @@ export const toPageList = <T>(items?: T[], options?: Omit<PageOptions, 'sort'> &
26
23
  l.take = options?.take ?? 250;
27
24
  l.skip = options?.skip ?? 0;
28
25
  l.total = options?.total;
26
+ l.sorts = options?.sorts;
29
27
  l.filters = options?.filters;
30
28
  });
31
29
 
@@ -0,0 +1,5 @@
1
+ export const asc = 1;
2
+ export const desc = -1;
3
+ export type SortDirection = typeof asc | typeof desc;
4
+ export type Sort = { key: string; value: SortDirection };
5
+ export type PlainSort = Record<string, SortDirection>;
package/src/types/Uri.ts CHANGED
@@ -8,7 +8,7 @@ import { tryTo } from './Try';
8
8
 
9
9
  export type Segment = Text & { key?: string; segment?: string; query?: (value: unknown) => string };
10
10
 
11
- const toSegment = (key?: Text, { segment, query }: { segment?: string; query?: (value: unknown) => string } = {}): Segment => ({
11
+ export const toSegment = (key?: Text, { segment, query }: { segment?: string; query?: (value: unknown) => string } = {}): Segment => ({
12
12
  key: key as string,
13
13
  segment,
14
14
  query,
@@ -24,14 +24,15 @@ export * from './Message';
24
24
  export * from './Meta';
25
25
  export * from './Nullish';
26
26
  export * from './Number';
27
+ export * from './PageList';
27
28
  export * from './Primitive';
28
29
  export * from './Repository';
29
30
  export * from './Result';
30
31
  export * from './Results';
32
+ export * from './Sort';
31
33
  export * from './Tag';
32
34
  export * from './Template';
33
35
  export * from './Text';
34
- export * from './PageList';
35
36
  export * from './Try';
36
37
  export * from './Types';
37
38
  export * from './Uri';
@@ -39,3 +40,8 @@ export * from './Uuid';
39
40
  export * from './Validatable';
40
41
  export * from './Value';
41
42
  export { isPrimitive } from './Primitive';
43
+ export { PlainSort } from "./Sort";
44
+ export { Sort } from "./Sort";
45
+ export { SortDirection } from "./Sort";
46
+ export { desc } from "./Sort";
47
+ export { asc } from "./Sort";