@kaumlaut/pure 2.0.3 → 2.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error-aware-guard/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error-aware-guard/index.ts"],"names":[],"mappings":"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"}
@@ -303,9 +303,15 @@ export function isObjectWithKeysMatchingGuard(guards) {
303
303
  * Confirms the value is an object where every value matches the given guard.
304
304
  */
305
305
  export function isObjectWithAllKeysMatchingGuard(guard) {
306
- return (value) => isAll(
307
- // @ts-expect-error not error just a bad type system
308
- Object.keys(value).map((key) => {
309
- return isObjectWithKeyMatchingGuard(key, guard);
310
- }))(value);
306
+ return (value) => {
307
+ const isObjectResult = isObject(value);
308
+ if (isObjectResult.success === false) {
309
+ return isObjectResult;
310
+ }
311
+ return isAll(
312
+ // @ts-expect-error not error just a bad type system
313
+ Object.keys(value).map((key) => {
314
+ return isObjectWithKeyMatchingGuard(key, guard);
315
+ }))(value);
316
+ };
311
317
  }
@@ -62,6 +62,11 @@ export declare function load(): Loading;
62
62
  * Creates a fetch state of type None
63
63
  */
64
64
  export declare function none(): None;
65
+ /**
66
+ * Creates a fetch state of type Success<T>.
67
+ * Generally attempt or attemptErrorAware should be used instead.
68
+ */
69
+ export declare function succeed<T>(data: T): Success<T>;
65
70
  /**
66
71
  * Attempts to create a fetch state of type Success if the given guard passes.
67
72
  * Otherwise creates a fetch state of type Failed with the provided error.
@@ -98,5 +103,14 @@ if(isSuccess(mappedValue)){
98
103
  console.error(mappedValue.error)
99
104
  }
100
105
  */
101
- export declare function mapFailed<T>(mapper: (state: Failed) => FetchState<T>): (state: FetchState<T>) => FetchState<T>;
106
+ export declare function mapFailed<T, T2 = T>(mapper: (state: Failed) => FetchState<T2>): (state: FetchState<T>) => FetchState<T | T2>;
107
+ /**
108
+ * Converts a Success<T> into a Success<T2> using the given mapping function.
109
+ * Does nothing if the FetchState is not Success.
110
+ */
111
+ export declare function mapSuccessData<T, T2 = T>(map: (state: T) => T2): (state: FetchState<T>) => FetchState<T2>;
112
+ /**
113
+ * Checks whether or not the fetch state is Failed and contains an errors that passes the matcher.
114
+ */
115
+ export declare function containsError<T>(matcher: (error: string) => boolean): (state: FetchState<T>) => boolean;
102
116
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch-state/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACjE;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAEnE;AACD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,CAEjE;AACD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAE7D;AACD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtE;AACD;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAK/D;AACD;;GAEG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAI9B;AACD;;GAEG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAI3B;AACD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACrB,UAAU,GAAE,MAA6E,EACzF,GAAG,MAAM,EAAE,MAAM,EAAE,GAClB,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAcxC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,GACxC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAexC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GACvC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAQzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch-state/index.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,16 @@ export function none() {
47
47
  type: "None",
48
48
  };
49
49
  }
50
+ /**
51
+ * Creates a fetch state of type Success<T>.
52
+ * Generally attempt or attemptErrorAware should be used instead.
53
+ */
54
+ export function succeed(data) {
55
+ return {
56
+ type: "Success",
57
+ data,
58
+ };
59
+ }
50
60
  /**
51
61
  * Attempts to create a fetch state of type Success if the given guard passes.
52
62
  * Otherwise creates a fetch state of type Failed with the provided error.
@@ -118,3 +128,26 @@ export function mapFailed(mapper) {
118
128
  return state;
119
129
  };
120
130
  }
131
+ /**
132
+ * Converts a Success<T> into a Success<T2> using the given mapping function.
133
+ * Does nothing if the FetchState is not Success.
134
+ */
135
+ export function mapSuccessData(map) {
136
+ return (state) => {
137
+ if (isSuccess(state)) {
138
+ return succeed(map(state.data));
139
+ }
140
+ return state;
141
+ };
142
+ }
143
+ /**
144
+ * Checks whether or not the fetch state is Failed and contains an errors that passes the matcher.
145
+ */
146
+ export function containsError(matcher) {
147
+ return (state) => {
148
+ if (isFailed(state)) {
149
+ return state.errors.some(matcher);
150
+ }
151
+ return false;
152
+ };
153
+ }
@@ -2,4 +2,9 @@
2
2
  * Returns the given value.
3
3
  */
4
4
  export declare function id<T>(value: T): T;
5
+ /**
6
+ * Checks if the given searchString is included in the value.
7
+ * Easier to use for composition purposes than value.includes(x).
8
+ */
9
+ export declare function includes(searchString: string): (value: string) => boolean;
5
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEjC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAEzE"}
@@ -4,3 +4,10 @@
4
4
  export function id(value) {
5
5
  return value;
6
6
  }
7
+ /**
8
+ * Checks if the given searchString is included in the value.
9
+ * Easier to use for composition purposes than value.includes(x).
10
+ */
11
+ export function includes(searchString) {
12
+ return (value) => value.includes(searchString);
13
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaumlaut/pure",
3
- "version": "2.0.3",
3
+ "version": "2.1.0",
4
4
  "description": "Types and functions for a state runtime inspired by Elm and functional programming",
5
5
  "author": "Max Kaemmerer",
6
6
  "license": "MIT",