@nunofyobiz/effect-extras 2.0.0 → 3.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/README.md +38 -3
- package/dist/ArrayX.d.ts +381 -0
- package/dist/ArrayX.d.ts.map +1 -0
- package/dist/ArrayX.js +493 -0
- package/dist/ArrayX.js.map +1 -0
- package/dist/BigIntX.d.ts +24 -0
- package/dist/BigIntX.d.ts.map +1 -0
- package/dist/BigIntX.js +30 -0
- package/dist/BigIntX.js.map +1 -0
- package/dist/BooleanX.d.ts +25 -0
- package/dist/BooleanX.d.ts.map +1 -0
- package/dist/BooleanX.js +25 -0
- package/dist/BooleanX.js.map +1 -0
- package/dist/DurationX.d.ts +73 -0
- package/dist/DurationX.d.ts.map +1 -0
- package/dist/DurationX.js +91 -0
- package/dist/DurationX.js.map +1 -0
- package/dist/EffectX.d.ts +120 -0
- package/dist/EffectX.d.ts.map +1 -0
- package/dist/EffectX.js +140 -0
- package/dist/EffectX.js.map +1 -0
- package/dist/FormDataX.d.ts +49 -0
- package/dist/FormDataX.d.ts.map +1 -0
- package/dist/FormDataX.js +42 -0
- package/dist/FormDataX.js.map +1 -0
- package/dist/InclusiveOr.d.ts +1123 -0
- package/dist/InclusiveOr.d.ts.map +1 -0
- package/dist/InclusiveOr.js +1074 -0
- package/dist/InclusiveOr.js.map +1 -0
- package/dist/MapX.d.ts +32 -0
- package/dist/MapX.d.ts.map +1 -0
- package/dist/MapX.js +49 -0
- package/dist/MapX.js.map +1 -0
- package/dist/NonNullableX.d.ts +174 -0
- package/dist/NonNullableX.d.ts.map +1 -0
- package/dist/NonNullableX.js +217 -0
- package/dist/NonNullableX.js.map +1 -0
- package/dist/NumberX.d.ts +178 -0
- package/dist/NumberX.d.ts.map +1 -0
- package/dist/NumberX.js +214 -0
- package/dist/NumberX.js.map +1 -0
- package/dist/OptionX.d.ts +187 -0
- package/dist/OptionX.d.ts.map +1 -0
- package/dist/OptionX.js +201 -0
- package/dist/OptionX.js.map +1 -0
- package/dist/OrderX.d.ts +32 -0
- package/dist/OrderX.d.ts.map +1 -0
- package/dist/OrderX.js +32 -0
- package/dist/OrderX.js.map +1 -0
- package/dist/PredicateX.d.ts +108 -0
- package/dist/PredicateX.d.ts.map +1 -0
- package/dist/PredicateX.js +111 -0
- package/dist/PredicateX.js.map +1 -0
- package/dist/PromiseX.d.ts +32 -0
- package/dist/PromiseX.d.ts.map +1 -0
- package/dist/PromiseX.js +32 -0
- package/dist/PromiseX.js.map +1 -0
- package/dist/RecordX.d.ts +450 -0
- package/dist/RecordX.d.ts.map +1 -0
- package/dist/RecordX.js +487 -0
- package/dist/RecordX.js.map +1 -0
- package/dist/ResultX.d.ts +50 -0
- package/dist/ResultX.d.ts.map +1 -0
- package/dist/ResultX.js +50 -0
- package/dist/ResultX.js.map +1 -0
- package/dist/SchemaX.d.ts +249 -0
- package/dist/SchemaX.d.ts.map +1 -0
- package/dist/SchemaX.js +243 -0
- package/dist/SchemaX.js.map +1 -0
- package/dist/SetX.d.ts +121 -0
- package/dist/SetX.d.ts.map +1 -0
- package/dist/SetX.js +137 -0
- package/dist/SetX.js.map +1 -0
- package/dist/StringX.d.ts +131 -0
- package/dist/StringX.d.ts.map +1 -0
- package/dist/StringX.js +149 -0
- package/dist/StringX.js.map +1 -0
- package/dist/StructX.d.ts +219 -0
- package/dist/StructX.d.ts.map +1 -0
- package/dist/StructX.js +173 -0
- package/dist/StructX.js.map +1 -0
- package/dist/WarnResult.d.ts +1191 -0
- package/dist/WarnResult.d.ts.map +1 -0
- package/dist/WarnResult.js +991 -0
- package/dist/WarnResult.js.map +1 -0
- package/dist/index.d.ts +23 -3772
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -1011
- package/dist/index.js.map +1 -1
- package/package.json +18 -5
- package/src/{ArrayX/ArrayX.ts → ArrayX.ts} +6 -88
- package/src/{DurationX/DurationX.ts → DurationX.ts} +1 -1
- package/src/InclusiveOr.ts +1255 -0
- package/src/{NonNullableX/NonNullableX.ts → NonNullableX.ts} +5 -0
- package/src/{OptionX/OptionX.ts → OptionX.ts} +8 -2
- package/src/{PredicateX/PredicateX.ts → PredicateX.ts} +41 -0
- package/src/{RecordX/RecordX.ts → RecordX.ts} +184 -2
- package/src/StringX.ts +210 -0
- package/src/{WarnResult/WarnResult.ts → WarnResult.ts} +297 -227
- package/src/index.ts +22 -20
- package/src/ArrayX/index.ts +0 -1
- package/src/BigIntX/index.ts +0 -1
- package/src/BooleanX/index.ts +0 -1
- package/src/DurationX/index.ts +0 -1
- package/src/EffectX/index.ts +0 -1
- package/src/FormDataX/index.ts +0 -1
- package/src/MapX/index.ts +0 -1
- package/src/NonNullableX/index.ts +0 -2
- package/src/NumberX/index.ts +0 -1
- package/src/OptionX/index.ts +0 -1
- package/src/OrderX/index.ts +0 -1
- package/src/PredicateX/index.ts +0 -1
- package/src/PromiseX/index.ts +0 -1
- package/src/RecordX/index.ts +0 -1
- package/src/ResultX/index.ts +0 -1
- package/src/SchemaX/index.ts +0 -1
- package/src/SetX/index.ts +0 -1
- package/src/StringX/StringX.ts +0 -97
- package/src/StringX/index.ts +0 -1
- package/src/StructX/index.ts +0 -1
- package/src/WarnResult/index.ts +0 -1
- /package/src/{BigIntX/BigIntX.ts → BigIntX.ts} +0 -0
- /package/src/{BooleanX/BooleanX.ts → BooleanX.ts} +0 -0
- /package/src/{EffectX/EffectX.ts → EffectX.ts} +0 -0
- /package/src/{FormDataX/FormDataX.ts → FormDataX.ts} +0 -0
- /package/src/{MapX/MapX.ts → MapX.ts} +0 -0
- /package/src/{NumberX/NumberX.ts → NumberX.ts} +0 -0
- /package/src/{OrderX/OrderX.ts → OrderX.ts} +0 -0
- /package/src/{PromiseX/PromiseX.ts → PromiseX.ts} +0 -0
- /package/src/{ResultX/ResultX.ts → ResultX.ts} +0 -0
- /package/src/{SchemaX/SchemaX.ts → SchemaX.ts} +0 -0
- /package/src/{SetX/SetX.ts → SetX.ts} +0 -0
- /package/src/{StructX/StructX.ts → StructX.ts} +0 -0
package/src/index.ts
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export {
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
1
|
+
export * as ArrayX from "./ArrayX.js";
|
|
2
|
+
export * as BigIntX from "./BigIntX.js";
|
|
3
|
+
export * as BooleanX from "./BooleanX.js";
|
|
4
|
+
export * as DurationX from "./DurationX.js";
|
|
5
|
+
export * as EffectX from "./EffectX.js";
|
|
6
|
+
export * as FormDataX from "./FormDataX.js";
|
|
7
|
+
export * as InclusiveOr from "./InclusiveOr.js";
|
|
8
|
+
export * as MapX from "./MapX.js";
|
|
9
|
+
export * as NonNullableX from "./NonNullableX.js";
|
|
10
|
+
export { fromNullableOrThrow as nn } from "./NonNullableX.js";
|
|
11
|
+
export * as NumberX from "./NumberX.js";
|
|
12
|
+
export * as OptionX from "./OptionX.js";
|
|
13
|
+
export * as OrderX from "./OrderX.js";
|
|
14
|
+
export * as PredicateX from "./PredicateX.js";
|
|
15
|
+
export * as PromiseX from "./PromiseX.js";
|
|
16
|
+
export * as RecordX from "./RecordX.js";
|
|
17
|
+
export * as ResultX from "./ResultX.js";
|
|
18
|
+
export * as SchemaX from "./SchemaX.js";
|
|
19
|
+
export * as SetX from "./SetX.js";
|
|
20
|
+
export * as StringX from "./StringX.js";
|
|
21
|
+
export * as StructX from "./StructX.js";
|
|
22
|
+
export * as WarnResult from "./WarnResult.js";
|
package/src/ArrayX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as ArrayX from "./ArrayX";
|
package/src/BigIntX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as BigIntX from "./BigIntX";
|
package/src/BooleanX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as BooleanX from "./BooleanX";
|
package/src/DurationX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as DurationX from "./DurationX";
|
package/src/EffectX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as EffectX from "./EffectX";
|
package/src/FormDataX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as FormDataX from "./FormDataX";
|
package/src/MapX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as MapX from "./MapX";
|
package/src/NumberX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as NumberX from "./NumberX";
|
package/src/OptionX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as OptionX from "./OptionX";
|
package/src/OrderX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as OrderX from "./OrderX";
|
package/src/PredicateX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as PredicateX from "./PredicateX";
|
package/src/PromiseX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as PromiseX from "./PromiseX";
|
package/src/RecordX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as RecordX from "./RecordX";
|
package/src/ResultX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as ResultX from "./ResultX";
|
package/src/SchemaX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as SchemaX from "./SchemaX";
|
package/src/SetX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as SetX from "./SetX";
|
package/src/StringX/StringX.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic, framework-agnostic extensions to Effect's `String` module.
|
|
3
|
-
*
|
|
4
|
-
* @since 0.0.0
|
|
5
|
-
*/
|
|
6
|
-
import { dual } from "effect/Function";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Prepends `start` to `string_`.
|
|
10
|
-
*
|
|
11
|
-
* v4's `String` module has no native `prepend` (only `concat`), so this fills
|
|
12
|
-
* the gap as a pipeable helper.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* import { pipe } from "effect"
|
|
17
|
-
* import { StringX } from "@nunofyobiz/effect-extras"
|
|
18
|
-
*
|
|
19
|
-
* // data-first
|
|
20
|
-
* assert.deepStrictEqual(StringX.prepend("world", "hello "), "hello world")
|
|
21
|
-
*
|
|
22
|
-
* // data-last (piped)
|
|
23
|
-
* assert.deepStrictEqual(pipe("world", StringX.prepend("hello ")), "hello world")
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @category combinators
|
|
27
|
-
* @since 0.0.0
|
|
28
|
-
*/
|
|
29
|
-
export const prepend = dual<
|
|
30
|
-
(start: string) => (string_: string) => string,
|
|
31
|
-
(string_: string, start: string) => string
|
|
32
|
-
>(2, (string_: string, start: string): string => `${start}${string_}`);
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Wraps `string_` between `start` and `end`.
|
|
36
|
-
*
|
|
37
|
-
* No v4 native equivalent — handy for quoting, bracketing, or fencing a value.
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
* ```ts
|
|
41
|
-
* import { pipe } from "effect"
|
|
42
|
-
* import { StringX } from "@nunofyobiz/effect-extras"
|
|
43
|
-
*
|
|
44
|
-
* // data-first
|
|
45
|
-
* assert.deepStrictEqual(StringX.surround("value", "[", "]"), "[value]")
|
|
46
|
-
*
|
|
47
|
-
* // data-last (piped)
|
|
48
|
-
* assert.deepStrictEqual(pipe("value", StringX.surround("(", ")")), "(value)")
|
|
49
|
-
* ```
|
|
50
|
-
*
|
|
51
|
-
* @category combinators
|
|
52
|
-
* @since 0.0.0
|
|
53
|
-
*/
|
|
54
|
-
export const surround = dual<
|
|
55
|
-
(start: string, end: string) => (string_: string) => string,
|
|
56
|
-
(string_: string, start: string, end: string) => string
|
|
57
|
-
>(
|
|
58
|
-
3,
|
|
59
|
-
(string_: string, start: string, end: string): string =>
|
|
60
|
-
`${start}${string_}${end}`,
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Prepends `start` to `string_` unless `string_` already starts with it.
|
|
65
|
-
*
|
|
66
|
-
* Idempotent: applying it to an already-prefixed string is a no-op, so
|
|
67
|
-
* `ensurePrepend("foofoo", "foo")` stays `"foofoo"` rather than gaining a
|
|
68
|
-
* second `"foo"`.
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```ts
|
|
72
|
-
* import { pipe } from "effect"
|
|
73
|
-
* import { StringX } from "@nunofyobiz/effect-extras"
|
|
74
|
-
*
|
|
75
|
-
* // data-first — adds the prefix when missing
|
|
76
|
-
* assert.deepStrictEqual(StringX.ensurePrepend("bar", "foo"), "foobar")
|
|
77
|
-
*
|
|
78
|
-
* // idempotent — already prefixed, returned unchanged
|
|
79
|
-
* assert.deepStrictEqual(StringX.ensurePrepend("foobar", "foo"), "foobar")
|
|
80
|
-
*
|
|
81
|
-
* // data-last (piped)
|
|
82
|
-
* assert.deepStrictEqual(pipe("bar", StringX.ensurePrepend("foo")), "foobar")
|
|
83
|
-
* ```
|
|
84
|
-
*
|
|
85
|
-
* @category combinators
|
|
86
|
-
* @since 0.0.0
|
|
87
|
-
*/
|
|
88
|
-
export const ensurePrepend = dual<
|
|
89
|
-
(start: string) => (string_: string) => string,
|
|
90
|
-
(string_: string, start: string) => string
|
|
91
|
-
>(2, (string_: string, start: string): string => {
|
|
92
|
-
if (string_.startsWith(start)) {
|
|
93
|
-
return string_;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return `${start}${string_}`;
|
|
97
|
-
});
|
package/src/StringX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as StringX from "./StringX";
|
package/src/StructX/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as StructX from "./StructX";
|
package/src/WarnResult/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as WarnResult from "./WarnResult";
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|