@kaumlaut/pure 2.0.4 → 2.1.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.
@@ -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
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export function isStringOfLength(length) {
38
38
  * Confirms that the value is an object.
39
39
  */
40
40
  export function isObject(value) {
41
- return typeof value === "object";
41
+ return value !== null && typeof value === "object";
42
42
  }
43
43
  /**
44
44
  * Confirms that the value is a number.
@@ -69,20 +69,20 @@ function numberIncludesCommaSeparator(value) {
69
69
  * Confirms that the value is an object containing the specified key.
70
70
  */
71
71
  export function isObjectWithKey(key) {
72
- return (value) => typeof value === "object" && key in value;
72
+ return (value) => isObject(value) && key in value;
73
73
  }
74
74
  /**
75
75
  * Confirms that the value is an object containing the specified keys.
76
76
  */
77
77
  export function isObjectWithKeys(keys) {
78
- return (value) => typeof value === "object" && keys.every((key) => key in value);
78
+ return (value) => isObject(value) && keys.every((key) => key in value);
79
79
  }
80
80
  /**
81
81
  * Confirms that the value is an object whose key value pairs match the corresponding type guards.
82
82
  * Calls console.debug with an error message to improve debugging when a large type does not match.
83
83
  */
84
84
  export function isObjectWithKeysMatchingGuard(guards) {
85
- return (value) => typeof value === "object" &&
85
+ return (value) => isObject(value) &&
86
86
  Object.keys(guards).filter((key) => {
87
87
  const result = key in value && guards[key](value[key]);
88
88
  if (!result) {
@@ -158,7 +158,7 @@ export function isNullOr(guard) {
158
158
  * Calls console.debug with an error message to improve debugging when a large type does not match.
159
159
  */
160
160
  export function isObjectWithAllKeysMatchingGuard(guard) {
161
- return (value) => typeof value === "object" &&
161
+ return (value) => isObject(value) &&
162
162
  Object.keys(value).filter((key) => {
163
163
  const result = key in value && guard(value[key]);
164
164
  if (!result) {
@@ -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.4",
3
+ "version": "2.1.1",
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",
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * as Guard from "./guard";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA"}
package/dist/index.js DELETED
@@ -1 +0,0 @@
1
- export * as Guard from "./guard";