@maxclicks/utilities 1.4.0 → 1.5.0

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.
@@ -0,0 +1,20 @@
1
+ export declare function safeCall<C extends () => any>(call: C): SafeCallResult<ReturnType<C>>;
2
+ export declare namespace safeCall {
3
+ function async<C extends () => any>(call: C): Promise<SafeCallResult<Awaited<ReturnType<C>>>>;
4
+ }
5
+ export declare class SafeCallResult<R> {
6
+ private readonly state;
7
+ readonly errorMessage: string | undefined;
8
+ constructor(state: {
9
+ result: R;
10
+ error?: undefined;
11
+ } | {
12
+ result?: undefined;
13
+ error: unknown;
14
+ });
15
+ get error(): unknown | undefined;
16
+ get resultSafe(): R | undefined;
17
+ get result(): R;
18
+ valueOf(): R;
19
+ }
20
+ //# sourceMappingURL=safeCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeCall.d.ts","sourceRoot":"","sources":["../../src/helpers/safeCall.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAMpF;AAED,yBAAiB,QAAQ,CAAC;IACxB,SAAsB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAMzG;CACF;AAED,qBAAa,cAAc,CAAC,CAAC;IAGf,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,SAAgB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEnB,KAAK,EAAE;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,MAAM,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE;IAI7G,IAAI,KAAK,IAAI,OAAO,GAAG,SAAS,CAE/B;IAED,IAAI,UAAU,IAAI,CAAC,GAAG,SAAS,CAE9B;IAED,IAAI,MAAM,IAAI,CAAC,CAGd;IAED,OAAO,IAAI,CAAC;CAGb"}
@@ -0,0 +1,41 @@
1
+ import { getErrorMessage } from './error-warning/getErrorMessage';
2
+ export function safeCall(call) {
3
+ try {
4
+ return new SafeCallResult({ result: call() });
5
+ }
6
+ catch (error) {
7
+ return new SafeCallResult({ error });
8
+ }
9
+ }
10
+ (function (safeCall) {
11
+ async function async(call) {
12
+ try {
13
+ return new SafeCallResult({ result: await call() });
14
+ }
15
+ catch (error) {
16
+ return new SafeCallResult({ error });
17
+ }
18
+ }
19
+ safeCall.async = async;
20
+ })(safeCall || (safeCall = {}));
21
+ export class SafeCallResult {
22
+ constructor(state) {
23
+ this.state = state;
24
+ this.errorMessage = state.error ? getErrorMessage(state.error) : undefined;
25
+ }
26
+ get error() {
27
+ return this.state.error;
28
+ }
29
+ get resultSafe() {
30
+ return this.state.result;
31
+ }
32
+ get result() {
33
+ if (this.state.error)
34
+ throw this.state.error;
35
+ return this.state.result;
36
+ }
37
+ valueOf() {
38
+ return this.result;
39
+ }
40
+ }
41
+ //# sourceMappingURL=safeCall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeCall.js","sourceRoot":"","sources":["../../src/helpers/safeCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEjE,MAAM,UAAU,QAAQ,CAAsB,IAAO;IACnD,IAAI,CAAC;QACH,OAAO,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,WAAiB,QAAQ;IAChB,KAAK,UAAU,KAAK,CAAsB,IAAO;QACtD,IAAI,CAAC;YACH,OAAO,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAA;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IANqB,cAAK,QAM1B,CAAA;AACH,CAAC,EARgB,QAAQ,KAAR,QAAQ,QAQxB;AAED,MAAM,OAAO,cAAc;IAGzB,YAA6B,KAAgF;QAAhF,UAAK,GAAL,KAAK,CAA2E;QAC3G,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5E,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAO,CAAA;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAO,CAAA;IACrB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export * from './helpers/normalizeArrayInline';
20
20
  export * from './helpers/normalizeObjectInline';
21
21
  export * from './helpers/optional';
22
22
  export * from './helpers/percent';
23
+ export * from './helpers/safeCall';
23
24
  export * from './helpers/typed';
24
25
  export * from './modules/common-normalizers/descriptionNormalizer';
25
26
  export * from './modules/common-normalizers/labelNormalizer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAElD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,oDAAoD,CAAA;AAClE,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,oDAAoD,CAAA;AAElE,cAAc,SAAS,CAAA;AAEvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAElD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,oDAAoD,CAAA;AAClE,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,oDAAoD,CAAA;AAElE,cAAc,SAAS,CAAA;AAEvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ export * from './helpers/normalizeArrayInline';
20
20
  export * from './helpers/normalizeObjectInline';
21
21
  export * from './helpers/optional';
22
22
  export * from './helpers/percent';
23
+ export * from './helpers/safeCall';
23
24
  export * from './helpers/typed';
24
25
  export * from './modules/common-normalizers/descriptionNormalizer';
25
26
  export * from './modules/common-normalizers/labelNormalizer';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAElD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,oDAAoD,CAAA;AAClE,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,oDAAoD,CAAA;AAElE,cAAc,SAAS,CAAA;AAEvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAElD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAE9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,oDAAoD,CAAA;AAClE,cAAc,8CAA8C,CAAA;AAC5D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,oDAAoD,CAAA;AAElE,cAAc,SAAS,CAAA;AAEvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -1,9 +1,6 @@
1
1
  import { Normalizer } from './Normalizer';
2
2
  export type Uuid = string;
3
3
  export declare namespace Uuid {
4
- const id = "uuid";
5
- const typeName = "Uuid";
6
- const typeDefinition = "/** A UUID string. */\ntype Uuid = string";
7
4
  const normalizer: Normalizer<string | null>;
8
5
  }
9
6
  //# sourceMappingURL=Uuid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Uuid.d.ts","sourceRoot":"","sources":["../../src/types/Uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB,yBAAiB,IAAI,CAAC;IACb,MAAM,EAAE,SAAS,CAAA;IAEjB,MAAM,QAAQ,SAAS,CAAA;IAEvB,MAAM,cAAc,8CACH,CAAA;IAEjB,MAAM,UAAU,2BAIrB,CAAA;CACH"}
1
+ {"version":3,"file":"Uuid.d.ts","sourceRoot":"","sources":["../../src/types/Uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB,yBAAiB,IAAI,CAAC;IACb,MAAM,UAAU,2BAIrB,CAAA;CACH"}
@@ -1,10 +1,6 @@
1
1
  import { Normalizer } from './Normalizer';
2
2
  export var Uuid;
3
3
  (function (Uuid) {
4
- Uuid.id = 'uuid';
5
- Uuid.typeName = 'Uuid';
6
- Uuid.typeDefinition = `/** A UUID string. */
7
- type ${Uuid.typeName} = string`;
8
4
  Uuid.normalizer = Normalizer.stringTrimmedAndLowerCased.chain((value, warn) => {
9
5
  if (!value)
10
6
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"Uuid.js","sourceRoot":"","sources":["../../src/types/Uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAKzC,MAAM,KAAW,IAAI,CAapB;AAbD,WAAiB,IAAI;IACN,OAAE,GAAG,MAAM,CAAA;IAEX,aAAQ,GAAG,MAAM,CAAA;IAEjB,mBAAc,GAAG;OACzB,KAAA,QAAQ,WAAW,CAAA;IAEX,eAAU,GAAG,UAAU,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC,EAbgB,IAAI,KAAJ,IAAI,QAapB;AAED,MAAM,MAAM,GAAG,+EAA+E,CAAA"}
1
+ {"version":3,"file":"Uuid.js","sourceRoot":"","sources":["../../src/types/Uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAKzC,MAAM,KAAW,IAAI,CAMpB;AAND,WAAiB,IAAI;IACN,eAAU,GAAG,UAAU,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QACzD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC,EANgB,IAAI,KAAJ,IAAI,QAMpB;AAED,MAAM,MAAM,GAAG,+EAA+E,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maxclicks/utilities",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "The common utility implementations shared by maxclicks projects",
5
5
  "license": "MIT",
6
6
  "type": "module",