@thisisagile/easy 12.18.12 → 12.19.1

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,5 +1,7 @@
1
1
  import { List } from './List';
2
2
  import { Construct } from './Constructor';
3
+ export declare const asc = 1;
4
+ export declare const desc = -1;
3
5
  export declare type Sort = {
4
6
  key: string;
5
7
  value: -1 | 1;
@@ -11,9 +13,11 @@ export declare type FilterValue = {
11
13
  export declare type Filter = {
12
14
  label?: string;
13
15
  field: string;
16
+ shortField?: string;
14
17
  values: FilterValue[];
15
18
  };
16
19
  export declare const toFilter: (field: string, value: any) => Filter;
20
+ export declare const toShortFilter: (field: string, shortField: string, value: any) => Filter;
17
21
  export declare type PageOptions = {
18
22
  take?: number;
19
23
  skip?: number;
@@ -1,21 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.asPageList = exports.toPageList = exports.isPageList = exports.toFilter = void 0;
3
+ exports.asPageList = exports.toPageList = exports.isPageList = exports.toShortFilter = exports.toFilter = exports.desc = exports.asc = void 0;
4
4
  const List_1 = require("./List");
5
5
  const Constructor_1 = require("./Constructor");
6
6
  const IsA_1 = require("./IsA");
7
- const toFilter = (field, value) => ({ field, values: [{ value }] });
7
+ exports.asc = 1;
8
+ exports.desc = -1;
9
+ const toFilter = (field, value) => (0, exports.toShortFilter)(field, field, value);
8
10
  exports.toFilter = toFilter;
11
+ const toShortFilter = (field, shortField, value) => ({
12
+ field,
13
+ shortField,
14
+ values: [{ value }],
15
+ });
16
+ exports.toShortFilter = toShortFilter;
9
17
  const isPageList = (l) => (0, List_1.isList)(l) && (0, IsA_1.isA)(l, 'total');
10
18
  exports.isPageList = isPageList;
11
- const toPageList = (items, options) => {
12
- const list = (0, List_1.toList)(...(items ?? []));
13
- list.take = options?.take ?? 250;
14
- list.skip = options?.skip ?? 0;
15
- list.total = options?.total;
16
- list.filters = options?.filters;
17
- return list;
18
- };
19
+ const toPageList = (items, options) => (0, Constructor_1.on)((0, List_1.toList)(...(items ?? [])), l => {
20
+ l.take = options?.take ?? 250;
21
+ l.skip = options?.skip ?? 0;
22
+ l.total = options?.total;
23
+ l.filters = options?.filters;
24
+ });
19
25
  exports.toPageList = toPageList;
20
26
  const asPageList = (c, items = (0, exports.toPageList)()) => (0, exports.toPageList)(items.map(i => (0, Constructor_1.ofConstruct)(c, i)), items);
21
27
  exports.asPageList = asPageList;
@@ -1 +1 @@
1
- {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,+CAAuD;AACvD,+BAA4B;AAOrB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAU,EAAU,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAAnF,QAAA,QAAQ,YAA2E;AAKzF,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;IAClH,MAAM,IAAI,GAAG,IAAA,aAAM,EAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAgB,CAAC;IACxD,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC;IACjC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAPW,QAAA,UAAU,cAOrB;AAEK,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;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "12.18.12",
3
+ "version": "12.19.1",
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.18.12",
34
+ "@thisisagile/easy-test": "12.19.1",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.9",
37
37
  "@types/luxon": "3.1.0",
@@ -1,30 +1,36 @@
1
1
  import { isList, List, toList } from './List';
2
- import { Construct, ofConstruct } from './Constructor';
2
+ import { Construct, ofConstruct, on } from './Constructor';
3
3
  import { isA } from './IsA';
4
4
 
5
+ export const asc = 1;
6
+ export const desc = -1;
5
7
  export type Sort = { key: string; value: -1 | 1 };
6
8
 
7
9
  export type FilterValue = { label?: string; value: any };
8
- export type Filter = { label?: string; field: string; values: FilterValue[] };
10
+ export type Filter = { label?: string; field: string; shortField?: string; values: FilterValue[] };
9
11
 
10
- export const toFilter = (field: string, value: any): Filter => ({ field, values: [{ value }] });
12
+ export const toFilter = (field: string, value: any): Filter => toShortFilter(field, field, value);
13
+ export const toShortFilter = (field: string, shortField: string, value: any): Filter => ({
14
+ field,
15
+ shortField,
16
+ values: [{ value }],
17
+ });
11
18
 
12
19
  export type PageOptions = { take?: number; skip?: number; sort?: Sort[]; filters?: Filter[] };
13
20
  export type PageList<T> = List<T> & Omit<PageOptions, 'sort'> & { total?: number };
14
21
 
15
22
  export const isPageList = <T>(l?: T[]): l is PageList<T> => isList<T>(l) && isA(l, 'total');
16
23
 
17
- export const toPageList = <T>(items?: T[], options?: Omit<PageOptions, 'sort'> & { total?: number }): PageList<T> => {
18
- const list = toList<T>(...(items ?? [])) as PageList<T>;
19
- list.take = options?.take ?? 250;
20
- list.skip = options?.skip ?? 0;
21
- list.total = options?.total;
22
- list.filters = options?.filters;
23
- return list;
24
- };
24
+ export const toPageList = <T>(items?: T[], options?: Omit<PageOptions, 'sort'> & { total?: number }): PageList<T> =>
25
+ on(toList<T>(...(items ?? [])) as PageList<T>, l => {
26
+ l.take = options?.take ?? 250;
27
+ l.skip = options?.skip ?? 0;
28
+ l.total = options?.total;
29
+ l.filters = options?.filters;
30
+ });
25
31
 
26
32
  export const asPageList = <T, U>(c: Construct<T>, items = toPageList<U>()): PageList<T> =>
27
33
  toPageList<T>(
28
34
  items.map(i => ofConstruct(c, i)),
29
- items
35
+ items,
30
36
  );