@kaumlaut/pure 0.5.2 → 2.0.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.
- package/LICENSE +21 -0
- package/README.md +3 -1
- package/dist/error-aware-guard/index.d.ts +186 -0
- package/dist/error-aware-guard/index.d.ts.map +1 -0
- package/dist/error-aware-guard/index.js +313 -0
- package/dist/fetch-state/index.d.ts +17 -4
- package/dist/fetch-state/index.d.ts.map +1 -1
- package/dist/fetch-state/index.js +30 -4
- package/dist/guard/index.d.ts +13 -1
- package/dist/guard/index.d.ts.map +1 -1
- package/dist/guard/index.js +18 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/maybe/index.d.ts +20 -2
- package/dist/maybe/index.d.ts.map +1 -1
- package/dist/maybe/index.js +36 -0
- package/dist/runtime/effect/fetch/index.d.ts +2 -2
- package/dist/runtime/effect/fetch/index.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/persistence/index.d.ts +2 -2
- package/dist/runtime/persistence/index.d.ts.map +1 -1
- package/package.json +12 -6
- package/docs/README.md +0 -23
- package/docs/clone.md +0 -45
- package/docs/fetch-state.md +0 -368
- package/docs/guard.md +0 -729
- package/docs/maybe.md +0 -481
- package/docs/parse.md +0 -47
- package/docs/pipe.md +0 -95
- package/docs/result.md +0 -363
- package/docs/runtime/effect/fetch.md +0 -169
- package/docs/runtime/effect/none.md +0 -19
- package/docs/runtime/effect.md +0 -179
- package/docs/runtime/persistence/none.md +0 -29
- package/docs/runtime/persistence/storage.md +0 -39
- package/docs/runtime/persistence.md +0 -63
- package/docs/runtime.md +0 -167
- package/docs/util.md +0 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AAEtD;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"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"}
|
package/dist/guard/index.js
CHANGED
|
@@ -10,18 +10,36 @@ import { isOk } from "@kaumlaut/pure/result";
|
|
|
10
10
|
export function isAll(guards) {
|
|
11
11
|
return (value) => guards.every((guard) => guard(value));
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Confirms that the given value passes both guards.
|
|
15
|
+
*/
|
|
16
|
+
export function isBoth(a, b) {
|
|
17
|
+
return (value) => a(value) && b(value);
|
|
18
|
+
}
|
|
13
19
|
/**
|
|
14
20
|
* Confirms that the value is a string.
|
|
15
21
|
*/
|
|
16
22
|
export function isString(value) {
|
|
17
23
|
return typeof value === "string";
|
|
18
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Confirms that the value is a non-empty string.
|
|
27
|
+
*/
|
|
28
|
+
export function isNonEmptyString(value) {
|
|
29
|
+
return typeof value === "string" && value.length > 0;
|
|
30
|
+
}
|
|
19
31
|
/**
|
|
20
32
|
* Confirms that the value is a string with specified length.
|
|
21
33
|
*/
|
|
22
34
|
export function isStringOfLength(length) {
|
|
23
35
|
return (value) => isString(value) && value.length === length;
|
|
24
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Confirms that the value is an object.
|
|
39
|
+
*/
|
|
40
|
+
export function isObject(value) {
|
|
41
|
+
return typeof value === "object";
|
|
42
|
+
}
|
|
25
43
|
/**
|
|
26
44
|
* Confirms that the value is a number.
|
|
27
45
|
*/
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Guard from "./guard";
|
package/dist/maybe/index.d.ts
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* @module maybe
|
|
4
4
|
*/
|
|
5
5
|
import { Result } from "@kaumlaut/pure/result";
|
|
6
|
-
import
|
|
6
|
+
import * as ErrorAwareGuard from "@kaumlaut/pure/error-aware-guard";
|
|
7
|
+
import * as Guard from "@kaumlaut/pure/guard";
|
|
7
8
|
/**
|
|
8
9
|
* Represents a Maybe containing a value.
|
|
9
10
|
* @example
|
|
@@ -74,7 +75,11 @@ export declare function toResult<T, E>(error: E): (maybe: Maybe<T>) => Result<T,
|
|
|
74
75
|
/**
|
|
75
76
|
* Creates a Just if the Guard passes for the given value. Otherwise Creates a Nothing.
|
|
76
77
|
*/
|
|
77
|
-
export declare function maybeByGuard<T>(guard: Guard<T>): (value: unknown) => Maybe<T>;
|
|
78
|
+
export declare function maybeByGuard<T>(guard: Guard.Guard<T>): (value: unknown) => Maybe<T>;
|
|
79
|
+
/**
|
|
80
|
+
* Creates a Just if the ErrorAwareGuard passes for the given value. Otherwise Creates a Nothing.
|
|
81
|
+
*/
|
|
82
|
+
export declare function maybeByErrorAwareGuard<T>(guard: ErrorAwareGuard.ErrorAwareGuard<T>): (value: unknown) => Maybe<T>;
|
|
78
83
|
/**
|
|
79
84
|
* Maps the a value contained within a Just using the given function without wrapping it in another Just.
|
|
80
85
|
* Returns the given Maybe if it is a Nothing.
|
|
@@ -85,4 +90,17 @@ export declare function mapToMaybe<T, R>(func: (value: T) => Maybe<R>): (maybe:
|
|
|
85
90
|
* Returns the given Maybe if it is a Nothing.
|
|
86
91
|
*/
|
|
87
92
|
export declare function tryMap<T, R>(func: (value: T) => R): (maybe: Maybe<T>) => Maybe<R>;
|
|
93
|
+
/**
|
|
94
|
+
* Returns true if both values are either Just with matching predicate return values
|
|
95
|
+
* Or if both values are Nothing
|
|
96
|
+
*/
|
|
97
|
+
export declare function eqBy<T, T2>(by: (value: T) => T2): (a: Maybe<T>, b: Maybe<T>) => boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Returns true if both values are Nothing
|
|
100
|
+
*/
|
|
101
|
+
export declare function bothNothing<T>(a: Maybe<T>, b: Maybe<T>): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Creates a Maybe<T> from a list and an index. Just if the key exists, Nothing if it doesn't
|
|
104
|
+
*/
|
|
105
|
+
export declare function fromListAndIndex<T>(index: number, list: T[]): Maybe<T>;
|
|
88
106
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/maybe/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAW,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/maybe/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAW,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAEzC;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAIjC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAKzC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAE3D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAG5D;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EACtB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACpB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAQ/B;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAC1B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAY/B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GACpB,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAI9B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,KAAK,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,GACxC,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAU9B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAC3B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAQ/B;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EACzB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACpB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAa/B;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GACnB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAQvC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAEtE"}
|
package/dist/maybe/index.js
CHANGED
|
@@ -91,6 +91,18 @@ export function maybeByGuard(guard) {
|
|
|
91
91
|
return guard(value) ? just(value) : nothing();
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Creates a Just if the ErrorAwareGuard passes for the given value. Otherwise Creates a Nothing.
|
|
96
|
+
*/
|
|
97
|
+
export function maybeByErrorAwareGuard(guard) {
|
|
98
|
+
return (value) => {
|
|
99
|
+
const result = guard(value);
|
|
100
|
+
if (result.success === true) {
|
|
101
|
+
return just(result.value);
|
|
102
|
+
}
|
|
103
|
+
return nothing();
|
|
104
|
+
};
|
|
105
|
+
}
|
|
94
106
|
/**
|
|
95
107
|
* Maps the a value contained within a Just using the given function without wrapping it in another Just.
|
|
96
108
|
* Returns the given Maybe if it is a Nothing.
|
|
@@ -121,3 +133,27 @@ export function tryMap(func) {
|
|
|
121
133
|
return maybe;
|
|
122
134
|
};
|
|
123
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Returns true if both values are either Just with matching predicate return values
|
|
138
|
+
* Or if both values are Nothing
|
|
139
|
+
*/
|
|
140
|
+
export function eqBy(by) {
|
|
141
|
+
return (a, b) => {
|
|
142
|
+
if (isJust(a) && isJust(b)) {
|
|
143
|
+
return by(a.value) === by(b.value);
|
|
144
|
+
}
|
|
145
|
+
return isNothing(a) && isNothing(b);
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Returns true if both values are Nothing
|
|
150
|
+
*/
|
|
151
|
+
export function bothNothing(a, b) {
|
|
152
|
+
return isNothing(a) && isNothing(b);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Creates a Maybe<T> from a list and an index. Just if the key exists, Nothing if it doesn't
|
|
156
|
+
*/
|
|
157
|
+
export function fromListAndIndex(index, list) {
|
|
158
|
+
return index in list ? just(list[index]) : nothing();
|
|
159
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Guard from "@kaumlaut/pure/guard";
|
|
2
2
|
import { ReceiveEffectResult, Effect } from "@kaumlaut/pure/runtime/effect";
|
|
3
3
|
import { Message } from "@kaumlaut/pure/runtime";
|
|
4
4
|
export type HttpError = {
|
|
@@ -13,5 +13,5 @@ export declare function isNotFound(error: FetchError): boolean;
|
|
|
13
13
|
export declare function isHttp(error: FetchError): error is HttpError;
|
|
14
14
|
export declare function isClient(error: FetchError): boolean;
|
|
15
15
|
export declare function isServer(error: FetchError): boolean;
|
|
16
|
-
export declare function fetchJson<T, M extends Message>(url: string, headers: [string, string][], method: string, guard: Guard<T>, receiver: ReceiveEffectResult<T, FetchError, M>): Effect<M>;
|
|
16
|
+
export declare function fetchJson<T, M extends Message>(url: string, headers: [string, string][], method: string, guard: Guard.Guard<T>, receiver: ReceiveEffectResult<T, FetchError, M>): Effect<M>;
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/effect/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/effect/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,mBAAmB,EACnB,MAAM,EAEP,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,qBAAqB,CAAC;AAE3D,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAErD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,SAAS,CAK5D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEnD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAC5C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACrB,QAAQ,EAAE,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,GAC9C,MAAM,CAAC,CAAC,CAAC,CA4CX"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from "@kaumlaut/pure/runtime/effect";
|
|
2
|
-
import { Cloneable } from "
|
|
3
|
-
import { Maybe } from "
|
|
2
|
+
import { Cloneable } from "@kaumlaut/pure/clone";
|
|
3
|
+
import { Maybe } from "@kaumlaut/pure/maybe";
|
|
4
4
|
export type Message<N extends string = string, T = any> = {
|
|
5
5
|
value: T;
|
|
6
6
|
name: N;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI;IACxD,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,KAAK,SAAS,SAAS,EAAE,aAAa,SAAS,OAAO,IAAI,CAC3E,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EACtB,GAAG,EAAE,aAAa,KACf,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,IAAI,CAAC,KAAK,SAAS,SAAS,EAAE,aAAa,SAAS,OAAO,IAAI,CACzE,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,KACzB,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,MAAM,CAAC,aAAa,SAAS,OAAO,EAAE,KAAK,IAAI;IACzD,aAAa,GAAG,IAAI;IACpB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,GAAG,IAAI;CACT,CAAC;AAEF,MAAM,MAAM,OAAO,CACjB,aAAa,SAAS,OAAO,EAC7B,KAAK,SAAS,SAAS,IACrB,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;AAEnC,wBAAgB,EAAE,CAAC,aAAa,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACnE,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,aAAa,CAE1B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Init, Message } from "@kaumlaut/pure/runtime";
|
|
2
|
-
import
|
|
2
|
+
import * as Guard from "@kaumlaut/pure/guard";
|
|
3
3
|
import { Result } from "@kaumlaut/pure/result";
|
|
4
4
|
import { Cloneable } from "@kaumlaut/pure/clone";
|
|
5
5
|
export type Persistence<Model extends Cloneable, CustomMessage extends Message> = {
|
|
6
6
|
persist(model: Model): void;
|
|
7
|
-
read(guard: Guard<Model>, init: Init<Model, CustomMessage>): Result<Model, string>;
|
|
7
|
+
read(guard: Guard.Guard<Model>, init: Init<Model, CustomMessage>): Result<Model, string>;
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/persistence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/persistence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,MAAM,WAAW,CACrB,KAAK,SAAS,SAAS,EACvB,aAAa,SAAS,OAAO,IAC3B;IACF,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,IAAI,CACF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EACzB,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,GAC/B,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaumlaut/pure",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.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",
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"module": "dist/index.js",
|
|
11
|
+
"repository": {
|
|
12
|
+
"url": "git+https://github.com/maxkaemmerer/pure.git",
|
|
13
|
+
"type": "git"
|
|
14
|
+
},
|
|
11
15
|
"exports": {
|
|
12
16
|
"./*": {
|
|
13
17
|
"import": "./dist/*/index.js",
|
|
@@ -16,7 +20,6 @@
|
|
|
16
20
|
},
|
|
17
21
|
"files": [
|
|
18
22
|
"dist",
|
|
19
|
-
"docs",
|
|
20
23
|
"README.md"
|
|
21
24
|
],
|
|
22
25
|
"scripts": {
|
|
@@ -24,11 +27,13 @@
|
|
|
24
27
|
"docs": "typedoc",
|
|
25
28
|
"lint": "eslint -c eslint.config.js --fix",
|
|
26
29
|
"format": "prettier . --write",
|
|
27
|
-
"test": "vitest",
|
|
28
|
-
"release": "npm run docs && npm run build && npm publish --access public"
|
|
30
|
+
"test": "npm run build && vitest",
|
|
31
|
+
"release-minor": "npm run docs && npm run build && git add ./docs && git commit -m 'update docs' && npm version minor && git push --tags && npm publish --access public",
|
|
32
|
+
"release-patch": "npm run docs && npm run build && git add ./docs && git commit -m 'update docs' && npm version patch && git push --tags && npm publish --access public",
|
|
33
|
+
"release-major": "npm run docs && npm run build && git add ./docs && git commit -m 'update docs' && npm version major && git push --tags && npm publish --access public"
|
|
29
34
|
},
|
|
30
35
|
"devDependencies": {
|
|
31
|
-
"@eslint/js": "^9.
|
|
36
|
+
"@eslint/js": "^9.24.0",
|
|
32
37
|
"@types/node": "^24.3.0",
|
|
33
38
|
"eslint": "^9.22.0",
|
|
34
39
|
"globals": "^16.0.0",
|
|
@@ -37,6 +42,7 @@
|
|
|
37
42
|
"typedoc-plugin-markdown": "^4.8.1",
|
|
38
43
|
"typescript": "^5.8.2",
|
|
39
44
|
"typescript-eslint": "^8.26.1",
|
|
40
|
-
"vitest": "^3.0.8"
|
|
45
|
+
"vitest": "^3.0.8",
|
|
46
|
+
"vite-tsconfig-paths": "^5.1.4"
|
|
41
47
|
}
|
|
42
48
|
}
|
package/docs/README.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
**@kaumlaut/pure v0.5.2**
|
|
2
|
-
|
|
3
|
-
***
|
|
4
|
-
|
|
5
|
-
# @kaumlaut/pure v0.5.2
|
|
6
|
-
|
|
7
|
-
## Modules
|
|
8
|
-
|
|
9
|
-
- [clone](clone.md)
|
|
10
|
-
- [fetch-state](fetch-state.md)
|
|
11
|
-
- [guard](guard.md)
|
|
12
|
-
- [maybe](maybe.md)
|
|
13
|
-
- [parse](parse.md)
|
|
14
|
-
- [pipe](pipe.md)
|
|
15
|
-
- [result](result.md)
|
|
16
|
-
- [runtime](runtime.md)
|
|
17
|
-
- [runtime/effect](runtime/effect.md)
|
|
18
|
-
- [runtime/effect/fetch](runtime/effect/fetch.md)
|
|
19
|
-
- [runtime/effect/none](runtime/effect/none.md)
|
|
20
|
-
- [runtime/persistence](runtime/persistence.md)
|
|
21
|
-
- [runtime/persistence/none](runtime/persistence/none.md)
|
|
22
|
-
- [runtime/persistence/storage](runtime/persistence/storage.md)
|
|
23
|
-
- [util](util.md)
|
package/docs/clone.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
[**@kaumlaut/pure v0.5.2**](README.md)
|
|
2
|
-
|
|
3
|
-
***
|
|
4
|
-
|
|
5
|
-
[@kaumlaut/pure](README.md) / clone
|
|
6
|
-
|
|
7
|
-
# clone
|
|
8
|
-
|
|
9
|
-
Provides value cloning capabilities
|
|
10
|
-
|
|
11
|
-
## Type Aliases
|
|
12
|
-
|
|
13
|
-
### Cloneable
|
|
14
|
-
|
|
15
|
-
> **Cloneable** = `string` \| `number` \| `boolean` \| `null` \| [`Cloneable`](#cloneable)[] \| \{\[`key`: `string`\]: [`Cloneable`](#cloneable); \}
|
|
16
|
-
|
|
17
|
-
Defined in: [clone/index.ts:9](https://github.com/maxkaemmerer/pure-vue-poc/blob/1f00f47d2f3c329e3dda9a01eb5ed8ebf93253d3/pure/src/clone/index.ts#L9)
|
|
18
|
-
|
|
19
|
-
Defines the Cloneable type
|
|
20
|
-
|
|
21
|
-
## Functions
|
|
22
|
-
|
|
23
|
-
### clone()
|
|
24
|
-
|
|
25
|
-
> **clone**\<`T`\>(`value`): `T`
|
|
26
|
-
|
|
27
|
-
Defined in: [clone/index.ts:20](https://github.com/maxkaemmerer/pure-vue-poc/blob/1f00f47d2f3c329e3dda9a01eb5ed8ebf93253d3/pure/src/clone/index.ts#L20)
|
|
28
|
-
|
|
29
|
-
Recursively clones values to prevent changing of the original value.
|
|
30
|
-
|
|
31
|
-
#### Type Parameters
|
|
32
|
-
|
|
33
|
-
##### T
|
|
34
|
-
|
|
35
|
-
`T` *extends* [`Cloneable`](#cloneable)
|
|
36
|
-
|
|
37
|
-
#### Parameters
|
|
38
|
-
|
|
39
|
-
##### value
|
|
40
|
-
|
|
41
|
-
`T`
|
|
42
|
-
|
|
43
|
-
#### Returns
|
|
44
|
-
|
|
45
|
-
`T`
|