@kaumlaut/pure 0.2.2 → 0.3.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.
@@ -21,6 +21,6 @@ export declare function isSuccess<T>(state: FetchState<T>): state is Success<T>;
21
21
  export declare function fail(error: string): Failed;
22
22
  export declare function load(): Loading;
23
23
  export declare function none(): None;
24
- export declare function attempt<T>(data: unknown, guard: Guard<T>, error?: string): Success<T> | Failed;
25
- export declare function mapFailed<T>(state: FetchState<T>, mapper: (state: Failed) => FetchState<T>): FetchState<T>;
24
+ export declare function attempt<T>(guard: Guard<T>, error?: string): (data: unknown) => Success<T> | Failed;
25
+ export declare function mapFailed<T>(mapper: (state: Failed) => FetchState<T>): (state: FetchState<T>) => FetchState<T>;
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch-state/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjE,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAEnE;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,CAEjE;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAE7D;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtE;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1C;AAED,wBAAgB,IAAI,IAAI,OAAO,CAI9B;AAED,wBAAgB,IAAI,IAAI,IAAI,CAI3B;AACD,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,KAAK,GAAE,MAA6E,GACnF,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAYrB;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GACvC,UAAU,CAAC,CAAC,CAAC,CAMf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch-state/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjE,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAEnE;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,CAEjE;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAE7D;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAEtE;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1C;AAED,wBAAgB,IAAI,IAAI,OAAO,CAI9B;AAED,wBAAgB,IAAI,IAAI,IAAI,CAI3B;AAED,wBAAgB,OAAO,CAAC,CAAC,EACvB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,KAAK,GAAE,MAA6E,GACnF,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAcxC;AAED,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"}
@@ -26,21 +26,25 @@ export function none() {
26
26
  type: "None",
27
27
  };
28
28
  }
29
- export function attempt(data, guard, error = "Guard did not pass. Ensure the attempted data has the correct type") {
30
- if (guard(data)) {
29
+ export function attempt(guard, error = "Guard did not pass. Ensure the attempted data has the correct type") {
30
+ return (data) => {
31
+ if (guard(data)) {
32
+ return {
33
+ type: "Success",
34
+ data,
35
+ };
36
+ }
31
37
  return {
32
- type: "Success",
33
- data,
38
+ type: "Failed",
39
+ error,
34
40
  };
35
- }
36
- return {
37
- type: "Failed",
38
- error,
39
41
  };
40
42
  }
41
- export function mapFailed(state, mapper) {
42
- if (isFailed(state)) {
43
- return mapper(state);
44
- }
45
- return state;
43
+ export function mapFailed(mapper) {
44
+ return (state) => {
45
+ if (isFailed(state)) {
46
+ return mapper(state);
47
+ }
48
+ return state;
49
+ };
46
50
  }
@@ -29,8 +29,8 @@ export declare function just<T>(value: T): Just<T>;
29
29
  export declare function isNothing<T>(maybe: Maybe<T>): maybe is Nothing;
30
30
  export declare function isJust<T>(maybe: Maybe<T>): maybe is Just<T>;
31
31
  export declare function isMaybe<T>(value: unknown): value is Maybe<T>;
32
- export declare function map<T, R>(maybe: Maybe<T>, func: (value: T) => R): Maybe<R>;
33
- export declare function filter<T>(maybe: Maybe<T>, func: (value: T) => boolean): Maybe<T>;
34
- export declare function withDefault<T>(maybe: Maybe<T>, defaultValue: T): T;
35
- export declare function toResult<T, E>(maybe: Maybe<T>, error: E): Result<T, E>;
32
+ export declare function map<T, R>(func: (value: T) => R): (maybe: Maybe<T>) => Maybe<R>;
33
+ export declare function filter<T>(func: (value: T) => boolean): (maybe: Maybe<T>) => Maybe<T>;
34
+ export declare function withDefault<T>(defaultValue: T): (maybe: Maybe<T>) => T;
35
+ export declare function toResult<T, E>(error: E): (maybe: Maybe<T>) => Result<T, E>;
36
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/maybe/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;GAQG;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,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAEzC,wBAAgB,OAAO,IAAI,OAAO,CAIjC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAKzC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAE9D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAE3D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAG5D;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAM1E;AAED,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAC1B,KAAK,CAAC,CAAC,CAAC,CAUV;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAMlE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAEtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/maybe/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;GAQG;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,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAEzC,wBAAgB,OAAO,IAAI,OAAO,CAIjC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAKzC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAE9D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAE3D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAG5D;AAED,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,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,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAQtE;AAED,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"}
@@ -20,27 +20,33 @@ export function isMaybe(value) {
20
20
  //@ts-expect-error is validated
21
21
  return value.type === "maybe-just" || value.type === "maybe-nothing";
22
22
  }
23
- export function map(maybe, func) {
24
- if (isJust(maybe)) {
25
- return just(func(maybe.value));
26
- }
27
- return maybe;
28
- }
29
- export function filter(maybe, func) {
30
- if (!isJust(maybe)) {
23
+ export function map(func) {
24
+ return (maybe) => {
25
+ if (isJust(maybe)) {
26
+ return just(func(maybe.value));
27
+ }
31
28
  return maybe;
32
- }
33
- if (func(maybe.value)) {
34
- return maybe;
35
- }
36
- return nothing();
29
+ };
37
30
  }
38
- export function withDefault(maybe, defaultValue) {
39
- if (isJust(maybe)) {
40
- return maybe.value;
41
- }
42
- return defaultValue;
31
+ export function filter(func) {
32
+ return (maybe) => {
33
+ if (!isJust(maybe)) {
34
+ return maybe;
35
+ }
36
+ if (func(maybe.value)) {
37
+ return maybe;
38
+ }
39
+ return nothing();
40
+ };
41
+ }
42
+ export function withDefault(defaultValue) {
43
+ return (maybe) => {
44
+ if (isJust(maybe)) {
45
+ return maybe.value;
46
+ }
47
+ return defaultValue;
48
+ };
43
49
  }
44
- export function toResult(maybe, error) {
45
- return isJust(maybe) ? ok(maybe.value) : err(error);
50
+ export function toResult(error) {
51
+ return (maybe) => (isJust(maybe) ? ok(maybe.value) : err(error));
46
52
  }
@@ -0,0 +1,9 @@
1
+ declare class Pipe<IT> {
2
+ private data;
3
+ constructor(data: IT);
4
+ into<RT>(func: (input: IT) => RT): Pipe<RT>;
5
+ out(): IT;
6
+ }
7
+ export declare function put<IT>(data: IT): Pipe<IT>;
8
+ export {};
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipe/index.ts"],"names":[],"mappings":"AAAA,cAAM,IAAI,CAAC,EAAE;IACC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,EAAE;IAErB,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAI3C,GAAG,IAAI,EAAE;CAGjB;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAE1C"}
@@ -0,0 +1,15 @@
1
+ class Pipe {
2
+ data;
3
+ constructor(data) {
4
+ this.data = data;
5
+ }
6
+ into(func) {
7
+ return new Pipe(func(this.data));
8
+ }
9
+ out() {
10
+ return this.data;
11
+ }
12
+ }
13
+ export function put(data) {
14
+ return new Pipe(data);
15
+ }
@@ -12,8 +12,8 @@ export declare function isErr<T, E>(result: Result<T, E>): result is Err<E>;
12
12
  export declare function ok<T>(value: T): Ok<T>;
13
13
  export declare function err<E>(error: E): Err<E>;
14
14
  export type Result<T, E> = Ok<T> | Err<E>;
15
- export declare function map<T, E, R>(result: Result<T, E>, func: (value: T) => R): Result<R, E>;
16
- export declare function mapErr<T, E, R>(result: Result<T, E>, func: (value: E) => R): Result<T, R>;
17
- export declare function withDefault<T, E>(result: Result<T, E>, defaultValue: T): T;
15
+ export declare function map<T, E, R>(func: (value: T) => R): (result: Result<T, E>) => Result<R, E>;
16
+ export declare function mapErr<T, E, R>(func: (value: E) => R): (result: Result<T, E>) => Result<T, R>;
17
+ export declare function withDefault<T, E>(defaultValue: T): (result: Result<T, E>) => T;
18
18
  export declare function toMaybe<T, E>(result: Result<T, E>): Maybe<T>;
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/result/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAW,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAEhE;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAElE;AAED,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAKrC;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAKvC;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1C,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACzB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACpB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAMd;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACpB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAMd;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAM1E;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/result/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAW,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAEhE;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAElE;AAED,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAKrC;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAKvC;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1C,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACzB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACpB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAQxC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACpB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAQxC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,YAAY,EAAE,CAAC,GACd,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAQ7B;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE5D"}
@@ -17,23 +17,29 @@ export function err(error) {
17
17
  error,
18
18
  };
19
19
  }
20
- export function map(result, func) {
21
- if (isOk(result)) {
22
- return ok(func(result.value));
23
- }
24
- return result;
25
- }
26
- export function mapErr(result, func) {
27
- if (isErr(result)) {
28
- return err(func(result.error));
29
- }
30
- return result;
31
- }
32
- export function withDefault(result, defaultValue) {
33
- if (isErr(result)) {
34
- return defaultValue;
35
- }
36
- return result.value;
20
+ export function map(func) {
21
+ return (result) => {
22
+ if (isOk(result)) {
23
+ return ok(func(result.value));
24
+ }
25
+ return result;
26
+ };
27
+ }
28
+ export function mapErr(func) {
29
+ return (result) => {
30
+ if (isErr(result)) {
31
+ return err(func(result.error));
32
+ }
33
+ return result;
34
+ };
35
+ }
36
+ export function withDefault(defaultValue) {
37
+ return (result) => {
38
+ if (isErr(result)) {
39
+ return defaultValue;
40
+ }
41
+ return result.value;
42
+ };
37
43
  }
38
44
  export function toMaybe(result) {
39
45
  return isOk(result) ? just(result.value) : nothing();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaumlaut/pure",
3
- "version": "0.2.2",
3
+ "version": "0.3.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",
@@ -37,4 +37,4 @@
37
37
  "typescript-eslint": "^8.26.1",
38
38
  "vitest": "^3.0.8"
39
39
  }
40
- }
40
+ }