@kaumlaut/pure 0.3.0 → 0.4.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,5 +1,5 @@
1
1
  export type Guard<T> = (value: unknown) => value is T;
2
- export declare function all<T>(guards: Guard<T>[]): (value: unknown) => value is T;
2
+ export declare function isAll<T>(guards: Guard<T>[]): (value: unknown) => value is T;
3
3
  export declare function isString(value: unknown): value is string;
4
4
  export declare function isStringOfLength(length: number): (value: unknown) => value is string;
5
5
  export declare function isNumber(value: unknown): value is number;
@@ -12,12 +12,13 @@ export declare function isObjectWithKeysMatchingGuard<T extends object>(guards:
12
12
  }): (value: unknown) => value is T;
13
13
  export declare function isExactString<T extends string>(expectedString: string): (value: unknown) => value is T;
14
14
  export declare function isOneStringOf<T extends string>(validValues: string[]): (value: unknown) => value is T;
15
- export declare function always<T>(value: unknown): value is T;
16
- export declare function never<T>(value: unknown): value is T;
15
+ export declare function isAlways<T>(value: unknown): value is T;
16
+ export declare function isNever<T>(value: unknown): value is T;
17
17
  export declare function isBool(value: unknown): value is boolean;
18
18
  export declare function isNull(value: unknown): value is null;
19
19
  export declare function isListOf<T>(guard: Guard<T>): (value: unknown) => value is T[];
20
- export declare function oneOf<T1, T2>(a: Guard<T1>, b: Guard<T2>): (value: unknown) => value is T1 | T2;
20
+ export declare function isOneOf<T1, T2>(a: Guard<T1>, b: Guard<T2>): (value: unknown) => value is T1 | T2;
21
+ export declare function isNullOr<T>(guard: Guard<T>): (value: unknown) => value is T | null;
21
22
  export declare function isObjectWithAllKeysMatchingGuard<B, T extends {
22
23
  [key: string]: B;
23
24
  }>(guard: Guard<B>): (value: unknown) => value is T;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AAEtD,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAEzE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GACb,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,MAAM,CAGrC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMrD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMvD;AAMD,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,GAAG,EAAE,MAAM,CAAC,GACX,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAGhC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAChB,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAGhC;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE;KACrE,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5B,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAYjC;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,cAAc,EAAE,MAAM,GACrB,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAGhC;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,WAAW,EAAE,MAAM,EAAE,GACpB,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAGhC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAEpD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAEnD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAEvD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,EAAE,CAU7E;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,EAC1B,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,EACZ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GACX,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,EAAE,GAAG,EAAE,CAEtC;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EACD,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;CAAE,EAC9B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAYjD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAGlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { asFloat, asInt } from "@kaumlaut/pure/parse";
2
2
  import { isOk } from "@kaumlaut/pure/result";
3
- export function all(guards) {
3
+ export function isAll(guards) {
4
4
  return (value) => guards.every((guard) => guard(value));
5
5
  }
6
6
  export function isString(value) {
@@ -47,10 +47,10 @@ export function isExactString(expectedString) {
47
47
  export function isOneStringOf(validValues) {
48
48
  return (value) => isString(value) && validValues.includes(value);
49
49
  }
50
- export function always(value) {
50
+ export function isAlways(value) {
51
51
  return true;
52
52
  }
53
- export function never(value) {
53
+ export function isNever(value) {
54
54
  return false;
55
55
  }
56
56
  export function isBool(value) {
@@ -69,9 +69,12 @@ export function isListOf(guard) {
69
69
  return result;
70
70
  }).length === value.length;
71
71
  }
72
- export function oneOf(a, b) {
72
+ export function isOneOf(a, b) {
73
73
  return (value) => a(value) || b(value);
74
74
  }
75
+ export function isNullOr(guard) {
76
+ return isOneOf(isNull, guard);
77
+ }
75
78
  export function isObjectWithAllKeysMatchingGuard(guard) {
76
79
  return (value) => typeof value === "object" &&
77
80
  Object.keys(value).filter((key) => {
@@ -1,9 +1,7 @@
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
- }
1
+ type Pipe<IT> = {
2
+ into: <RT>(func: (input: IT) => RT) => Pipe<RT>;
3
+ out: () => IT;
4
+ };
7
5
  export declare function put<IT>(data: IT): Pipe<IT>;
8
6
  export {};
9
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipe/index.ts"],"names":[],"mappings":"AAAA,KAAK,IAAI,CAAC,EAAE,IAAI;IACd,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF,wBAAgB,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAO1C"}
@@ -1,15 +1,8 @@
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
1
  export function put(data) {
14
- return new Pipe(data);
2
+ return {
3
+ into: (func) => {
4
+ return put(func(data));
5
+ },
6
+ out: () => data,
7
+ };
15
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaumlaut/pure",
3
- "version": "0.3.0",
3
+ "version": "0.4.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",