aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2023-01-14 18:16:41 +0530
committerAkshay Nair <phenax5@gmail.com>2023-01-14 18:16:41 +0530
commite75a5a15912b8f297fe9c9747f574486d6c4e334 (patch)
tree603cd3b9fa68e6e0bd700fe66fede80e9ae657c9
parent78e384c2f32996478edced59c837a348dec77e57 (diff)
downloadts-types-lang-e75a5a15912b8f297fe9c9747f574486d6c4e334.tar.gz
ts-types-lang-e75a5a15912b8f297fe9c9747f574486d6c4e334.zip
chore: adds some docs
-rw-r--r--docs/interfaces/effect.Bind.md36
-rw-r--r--docs/interfaces/effect.BindTo.md36
-rw-r--r--docs/interfaces/effect.Do.md34
-rw-r--r--docs/interfaces/effect.Effect.md30
-rw-r--r--docs/interfaces/effect.Kind1.md28
-rw-r--r--docs/interfaces/effect.Label.md34
-rw-r--r--docs/interfaces/effect.Noop.md28
-rw-r--r--docs/interfaces/effect.Pure.md34
-rw-r--r--docs/interfaces/effect.Seq.md34
-rw-r--r--docs/interfaces/exception.Throw.md34
-rw-r--r--docs/interfaces/exception.Try.md36
-rw-r--r--docs/interfaces/fs.ReadFile.md34
-rw-r--r--docs/interfaces/fs.WriteFile.md36
-rw-r--r--docs/interfaces/ref.CreateRef.md34
-rw-r--r--docs/interfaces/ref.DeleteRef.md34
-rw-r--r--docs/interfaces/ref.GetRef.md34
-rw-r--r--docs/interfaces/ref.SetRef.md36
-rw-r--r--docs/interfaces/stdio.Debug.md36
-rw-r--r--docs/interfaces/stdio.Print.md34
-rw-r--r--docs/interfaces/stdio.PutString.md34
-rw-r--r--docs/interfaces/stdio.ReadLine.md28
-rw-r--r--docs/interfaces/sys.DefineEffect.md36
-rw-r--r--docs/interfaces/sys.Exit.md34
-rw-r--r--docs/interfaces/sys.GetArgs.md28
-rw-r--r--docs/interfaces/sys.GetEnv.md34
-rw-r--r--docs/interfaces/sys.JsExpr.md34
-rw-r--r--docs/interfaces/sys.SetEvalEnvironment.md34
-rw-r--r--docs/interfaces/test.Assert.md37
-rw-r--r--docs/interfaces/test.AssertEqualsK.md26
-rw-r--r--docs/interfaces/test.Config.md5
-rw-r--r--docs/interfaces/test.ShowAssertionError.md36
-rw-r--r--docs/interfaces/test.Test.md36
-rw-r--r--docs/interfaces/util.ConstK.md26
-rw-r--r--docs/interfaces/util.IdK.md20
-rw-r--r--docs/modules/effect.md24
-rw-r--r--docs/modules/nat.md28
-rw-r--r--docs/modules/ref.md2
-rw-r--r--docs/modules/stdio.md2
-rw-r--r--docs/modules/test.md3
-rw-r--r--docs/modules/util.md12
-rw-r--r--stdlib/effect.ts46
-rw-r--r--stdlib/test.ts20
42 files changed, 509 insertions, 718 deletions
diff --git a/docs/interfaces/effect.Bind.md b/docs/interfaces/effect.Bind.md
index f11db50..334bd5f 100644
--- a/docs/interfaces/effect.Bind.md
+++ b/docs/interfaces/effect.Bind.md
@@ -4,35 +4,23 @@
[effect](../modules/effect.md).Bind
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Eff` | extends [`Effect`](effect.Effect.md) |
-| `_Fn` | extends [`Func`](../modules/effect.md#func) |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Eff` | extends [`Effect`](effect.Effect.md) | The output generated by the effect (defaults to `unknown`) |
+| `_Fn` | extends [`Func`](../modules/effect.md#func) | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Bind`**
-
-## Table of contents
-
-### Properties
-
-- [output](effect.Bind.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/effect.BindTo.md b/docs/interfaces/effect.BindTo.md
index 135dc23..c333393 100644
--- a/docs/interfaces/effect.BindTo.md
+++ b/docs/interfaces/effect.BindTo.md
@@ -4,35 +4,23 @@
[effect](../modules/effect.md).BindTo
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Name` | extends `string` |
-| `_Eff` | extends [`Effect`](effect.Effect.md) |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Name` | extends `string` | The output generated by the effect (defaults to `unknown`) |
+| `_Eff` | extends [`Effect`](effect.Effect.md) | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`BindTo`**
-
-## Table of contents
-
-### Properties
-
-- [output](effect.BindTo.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/effect.Do.md b/docs/interfaces/effect.Do.md
index 1e8860f..504f9c0 100644
--- a/docs/interfaces/effect.Do.md
+++ b/docs/interfaces/effect.Do.md
@@ -4,34 +4,22 @@
[effect](../modules/effect.md).Do
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Effs` | extends [`Effect`](effect.Effect.md)[] |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Effs` | extends [`Effect`](effect.Effect.md)[] | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Do`**
-
-## Table of contents
-
-### Properties
-
-- [output](effect.Do.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/effect.Effect.md b/docs/interfaces/effect.Effect.md
index 2c5287f..1ac2c7f 100644
--- a/docs/interfaces/effect.Effect.md
+++ b/docs/interfaces/effect.Effect.md
@@ -4,11 +4,19 @@
[effect](../modules/effect.md).Effect
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `T` | `unknown` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `T` | `unknown` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
@@ -69,19 +77,3 @@
↳ [`Test`](test.Test.md)
↳ [`ShowAssertionError`](test.ShowAssertionError.md)
-
-## Table of contents
-
-### Properties
-
-- [output](effect.Effect.md#output)
-
-## Properties
-
-### output
-
-• **output**: `T`
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/effect.Kind1.md b/docs/interfaces/effect.Kind1.md
index 7a865b5..0c8600f 100644
--- a/docs/interfaces/effect.Kind1.md
+++ b/docs/interfaces/effect.Kind1.md
@@ -4,12 +4,28 @@
[effect](../modules/effect.md).Kind1
+An implementation of `* -> *` higher-kinded type
+
+**`Example`**
+
+You can define a return property for the function body
+ and use `this['input']` to access the argument
+ Uses - [ApplyK](../modules/util.md#applyk)
+
+```ts
+interface SomeFunc extends Kind1<number, string> {
+ return: `Your number is ${this['input']}`,
+}
+
+type result = ApplyK<SomeFunc, 200>
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `Inp` | `unknown` |
-| `Out` | `unknown` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `Inp` | `unknown` | The input type |
+| `Out` | `unknown` | The output type |
## Hierarchy
@@ -36,7 +52,7 @@
#### Defined in
-[effect.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L6)
+[effect.ts:35](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L35)
___
@@ -46,4 +62,4 @@ ___
#### Defined in
-[effect.ts:7](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L7)
+[effect.ts:36](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L36)
diff --git a/docs/interfaces/effect.Label.md b/docs/interfaces/effect.Label.md
index dc325a6..f4d9c2c 100644
--- a/docs/interfaces/effect.Label.md
+++ b/docs/interfaces/effect.Label.md
@@ -4,34 +4,22 @@
[effect](../modules/effect.md).Label
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Name` | extends `string` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Name` | extends `string` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Label`**
-
-## Table of contents
-
-### Properties
-
-- [output](effect.Label.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/effect.Noop.md b/docs/interfaces/effect.Noop.md
index 84d5a14..79cd0d7 100644
--- a/docs/interfaces/effect.Noop.md
+++ b/docs/interfaces/effect.Noop.md
@@ -4,28 +4,16 @@
[effect](../modules/effect.md).Noop
-## Hierarchy
-
-- [`Effect`](effect.Effect.md)
-
- ↳ **`Noop`**
-
-## Table of contents
-
-### Properties
+Generic interface for declaring effects
-- [output](effect.Noop.md#output)
+**`Example`**
-## Properties
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
+## Hierarchy
-#### Defined in
+- [`Effect`](effect.Effect.md)
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
+ ↳ **`Noop`**
diff --git a/docs/interfaces/effect.Pure.md b/docs/interfaces/effect.Pure.md
index cc93955..69fd304 100644
--- a/docs/interfaces/effect.Pure.md
+++ b/docs/interfaces/effect.Pure.md
@@ -4,34 +4,22 @@
[effect](../modules/effect.md).Pure
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name |
-| :------ |
-| `V` |
+| Name | Description |
+| :------ | :------ |
+| `V` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)<`V`\>
↳ **`Pure`**
-
-## Table of contents
-
-### Properties
-
-- [output](effect.Pure.md#output)
-
-## Properties
-
-### output
-
-• **output**: `V`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/effect.Seq.md b/docs/interfaces/effect.Seq.md
index f82db81..3604873 100644
--- a/docs/interfaces/effect.Seq.md
+++ b/docs/interfaces/effect.Seq.md
@@ -4,34 +4,22 @@
[effect](../modules/effect.md).Seq
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Effs` | extends [`Effect`](effect.Effect.md)[] |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Effs` | extends [`Effect`](effect.Effect.md)[] | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Seq`**
-
-## Table of contents
-
-### Properties
-
-- [output](effect.Seq.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/exception.Throw.md b/docs/interfaces/exception.Throw.md
index a5a8a77..45404cc 100644
--- a/docs/interfaces/exception.Throw.md
+++ b/docs/interfaces/exception.Throw.md
@@ -4,34 +4,22 @@
[exception](../modules/exception.md).Throw
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name |
-| :------ |
-| `_E` |
+| Name | Description |
+| :------ | :------ |
+| `_E` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Throw`**
-
-## Table of contents
-
-### Properties
-
-- [output](exception.Throw.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/exception.Try.md b/docs/interfaces/exception.Try.md
index fb54ddf..c797208 100644
--- a/docs/interfaces/exception.Try.md
+++ b/docs/interfaces/exception.Try.md
@@ -4,35 +4,23 @@
[exception](../modules/exception.md).Try
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_E` | extends [`Effect`](effect.Effect.md) |
-| `_Catch` | extends [`Func`](../modules/effect.md#func) |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_E` | extends [`Effect`](effect.Effect.md) | The output generated by the effect (defaults to `unknown`) |
+| `_Catch` | extends [`Func`](../modules/effect.md#func) | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Try`**
-
-## Table of contents
-
-### Properties
-
-- [output](exception.Try.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/fs.ReadFile.md b/docs/interfaces/fs.ReadFile.md
index f0462c0..81bfbc6 100644
--- a/docs/interfaces/fs.ReadFile.md
+++ b/docs/interfaces/fs.ReadFile.md
@@ -4,34 +4,22 @@
[fs](../modules/fs.md).ReadFile
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Path` | extends `string` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Path` | extends `string` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)<`string`\>
↳ **`ReadFile`**
-
-## Table of contents
-
-### Properties
-
-- [output](fs.ReadFile.md#output)
-
-## Properties
-
-### output
-
-• **output**: `string`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/fs.WriteFile.md b/docs/interfaces/fs.WriteFile.md
index e1a961b..6d88381 100644
--- a/docs/interfaces/fs.WriteFile.md
+++ b/docs/interfaces/fs.WriteFile.md
@@ -4,35 +4,23 @@
[fs](../modules/fs.md).WriteFile
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Path` | extends `string` |
-| `_Content` | extends `string` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Path` | extends `string` | The output generated by the effect (defaults to `unknown`) |
+| `_Content` | extends `string` | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`WriteFile`**
-
-## Table of contents
-
-### Properties
-
-- [output](fs.WriteFile.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/ref.CreateRef.md b/docs/interfaces/ref.CreateRef.md
index 74425d0..873a34b 100644
--- a/docs/interfaces/ref.CreateRef.md
+++ b/docs/interfaces/ref.CreateRef.md
@@ -4,34 +4,22 @@
[ref](../modules/ref.md).CreateRef
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name |
-| :------ |
-| `_Val` |
+| Name | Description |
+| :------ | :------ |
+| `_Val` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)<[`Ref`](../modules/ref.md#ref)\>
↳ **`CreateRef`**
-
-## Table of contents
-
-### Properties
-
-- [output](ref.CreateRef.md#output)
-
-## Properties
-
-### output
-
-• **output**: `string`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/ref.DeleteRef.md b/docs/interfaces/ref.DeleteRef.md
index 0099928..138f294 100644
--- a/docs/interfaces/ref.DeleteRef.md
+++ b/docs/interfaces/ref.DeleteRef.md
@@ -4,34 +4,22 @@
[ref](../modules/ref.md).DeleteRef
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Key` | extends [`Ref`](../modules/ref.md#ref) |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Key` | extends [`Ref`](../modules/ref.md#ref) | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`DeleteRef`**
-
-## Table of contents
-
-### Properties
-
-- [output](ref.DeleteRef.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/ref.GetRef.md b/docs/interfaces/ref.GetRef.md
index 11819c7..5f53eea 100644
--- a/docs/interfaces/ref.GetRef.md
+++ b/docs/interfaces/ref.GetRef.md
@@ -4,34 +4,22 @@
[ref](../modules/ref.md).GetRef
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Key` | extends [`Ref`](../modules/ref.md#ref) |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Key` | extends [`Ref`](../modules/ref.md#ref) | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`GetRef`**
-
-## Table of contents
-
-### Properties
-
-- [output](ref.GetRef.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/ref.SetRef.md b/docs/interfaces/ref.SetRef.md
index f198b95..52d6d59 100644
--- a/docs/interfaces/ref.SetRef.md
+++ b/docs/interfaces/ref.SetRef.md
@@ -4,35 +4,23 @@
[ref](../modules/ref.md).SetRef
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Key` | extends [`Ref`](../modules/ref.md#ref) |
-| `_Val` | `_Val` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Key` | extends [`Ref`](../modules/ref.md#ref) | The output generated by the effect (defaults to `unknown`) |
+| `_Val` | `_Val` | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`SetRef`**
-
-## Table of contents
-
-### Properties
-
-- [output](ref.SetRef.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/stdio.Debug.md b/docs/interfaces/stdio.Debug.md
index 79d59f3..2f127bd 100644
--- a/docs/interfaces/stdio.Debug.md
+++ b/docs/interfaces/stdio.Debug.md
@@ -4,35 +4,23 @@
[stdio](../modules/stdio.md).Debug
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_` | extends `string` |
-| `T` | `T` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_` | extends `string` | The output generated by the effect (defaults to `unknown`) |
+| `T` | `T` | - |
## Hierarchy
- [`Effect`](effect.Effect.md)<`T`\>
↳ **`Debug`**
-
-## Table of contents
-
-### Properties
-
-- [output](stdio.Debug.md#output)
-
-## Properties
-
-### output
-
-• **output**: `T`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/stdio.Print.md b/docs/interfaces/stdio.Print.md
index c4b7e50..0450b4f 100644
--- a/docs/interfaces/stdio.Print.md
+++ b/docs/interfaces/stdio.Print.md
@@ -4,34 +4,22 @@
[stdio](../modules/stdio.md).Print
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_` | extends `any` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_` | extends `any` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Print`**
-
-## Table of contents
-
-### Properties
-
-- [output](stdio.Print.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/stdio.PutString.md b/docs/interfaces/stdio.PutString.md
index 1960d1a..a309bce 100644
--- a/docs/interfaces/stdio.PutString.md
+++ b/docs/interfaces/stdio.PutString.md
@@ -4,34 +4,22 @@
[stdio](../modules/stdio.md).PutString
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_` | extends `string` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_` | extends `string` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`PutString`**
-
-## Table of contents
-
-### Properties
-
-- [output](stdio.PutString.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/stdio.ReadLine.md b/docs/interfaces/stdio.ReadLine.md
index fd2443e..5488026 100644
--- a/docs/interfaces/stdio.ReadLine.md
+++ b/docs/interfaces/stdio.ReadLine.md
@@ -4,28 +4,16 @@
[stdio](../modules/stdio.md).ReadLine
-## Hierarchy
-
-- [`Effect`](effect.Effect.md)<`string`\>
-
- ↳ **`ReadLine`**
-
-## Table of contents
-
-### Properties
+Generic interface for declaring effects
-- [output](stdio.ReadLine.md#output)
+**`Example`**
-## Properties
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
-### output
-
-• **output**: `string`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
+## Hierarchy
-#### Defined in
+- [`Effect`](effect.Effect.md)<`string`\>
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
+ ↳ **`ReadLine`**
diff --git a/docs/interfaces/sys.DefineEffect.md b/docs/interfaces/sys.DefineEffect.md
index 56c3d65..8128335 100644
--- a/docs/interfaces/sys.DefineEffect.md
+++ b/docs/interfaces/sys.DefineEffect.md
@@ -4,35 +4,23 @@
[sys](../modules/sys.md).DefineEffect
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Name` | extends `string` |
-| `_Func` | extends `string` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Name` | extends `string` | The output generated by the effect (defaults to `unknown`) |
+| `_Func` | extends `string` | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`DefineEffect`**
-
-## Table of contents
-
-### Properties
-
-- [output](sys.DefineEffect.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/sys.Exit.md b/docs/interfaces/sys.Exit.md
index ee24029..492a7db 100644
--- a/docs/interfaces/sys.Exit.md
+++ b/docs/interfaces/sys.Exit.md
@@ -4,34 +4,22 @@
[sys](../modules/sys.md).Exit
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_` | extends `number` \| `undefined` = `undefined` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_` | extends `number` \| `undefined` = `undefined` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Exit`**
-
-## Table of contents
-
-### Properties
-
-- [output](sys.Exit.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/sys.GetArgs.md b/docs/interfaces/sys.GetArgs.md
index d373dbe..34a8943 100644
--- a/docs/interfaces/sys.GetArgs.md
+++ b/docs/interfaces/sys.GetArgs.md
@@ -4,28 +4,16 @@
[sys](../modules/sys.md).GetArgs
-## Hierarchy
-
-- [`Effect`](effect.Effect.md)<`string`[]\>
-
- ↳ **`GetArgs`**
-
-## Table of contents
-
-### Properties
+Generic interface for declaring effects
-- [output](sys.GetArgs.md#output)
+**`Example`**
-## Properties
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
-### output
-
-• **output**: `string`[]
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
+## Hierarchy
-#### Defined in
+- [`Effect`](effect.Effect.md)<`string`[]\>
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
+ ↳ **`GetArgs`**
diff --git a/docs/interfaces/sys.GetEnv.md b/docs/interfaces/sys.GetEnv.md
index ab1192b..12b507c 100644
--- a/docs/interfaces/sys.GetEnv.md
+++ b/docs/interfaces/sys.GetEnv.md
@@ -4,34 +4,22 @@
[sys](../modules/sys.md).GetEnv
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Name` | extends `string` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Name` | extends `string` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)<`string`\>
↳ **`GetEnv`**
-
-## Table of contents
-
-### Properties
-
-- [output](sys.GetEnv.md#output)
-
-## Properties
-
-### output
-
-• **output**: `string`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/sys.JsExpr.md b/docs/interfaces/sys.JsExpr.md
index db406bf..f0c04b6 100644
--- a/docs/interfaces/sys.JsExpr.md
+++ b/docs/interfaces/sys.JsExpr.md
@@ -4,34 +4,22 @@
[sys](../modules/sys.md).JsExpr
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Expr` | extends `string` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Expr` | extends `string` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)<`any`\>
↳ **`JsExpr`**
-
-## Table of contents
-
-### Properties
-
-- [output](sys.JsExpr.md#output)
-
-## Properties
-
-### output
-
-• **output**: `any`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/sys.SetEvalEnvironment.md b/docs/interfaces/sys.SetEvalEnvironment.md
index 4784697..e7f76d6 100644
--- a/docs/interfaces/sys.SetEvalEnvironment.md
+++ b/docs/interfaces/sys.SetEvalEnvironment.md
@@ -4,34 +4,22 @@
[sys](../modules/sys.md).SetEvalEnvironment
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_Env` | extends ``"test.node"`` \| ``"node"`` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_Env` | extends ``"test.node"`` \| ``"node"`` | The output generated by the effect (defaults to `unknown`) |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`SetEvalEnvironment`**
-
-## Table of contents
-
-### Properties
-
-- [output](sys.SetEvalEnvironment.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/test.Assert.md b/docs/interfaces/test.Assert.md
index b066763..f03e945 100644
--- a/docs/interfaces/test.Assert.md
+++ b/docs/interfaces/test.Assert.md
@@ -4,34 +4,29 @@
[test](../modules/test.md).Assert
-## Type parameters
-
-| Name | Type |
-| :------ | :------ |
-| `_B` | extends `boolean` |
-
-## Hierarchy
-
-- [`Effect`](effect.Effect.md)
+Assert a boolean expression is true
- ↳ **`Assert`**
-
-## Table of contents
+**`Throws`**
-### Properties
+if false
-- [output](test.Assert.md#output)
+**`Example`**
-## Properties
+Here's an example checking if `SomeValue` is not equal to [1,2,3]
+Uses - [Not](../modules/util.md#not), [Equals](../modules/util.md#equals)
-### output
+```ts
+Assert<Not<Equals<SomeValue, [1, 2, 3]>>>
+```
-• **output**: `unknown`
+## Type parameters
-#### Inherited from
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_B` | extends `boolean` | The boolean value to assert |
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
+## Hierarchy
-#### Defined in
+- [`Effect`](effect.Effect.md)
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
+ ↳ **`Assert`**
diff --git a/docs/interfaces/test.AssertEqualsK.md b/docs/interfaces/test.AssertEqualsK.md
index e6b4d63..b2c2e81 100644
--- a/docs/interfaces/test.AssertEqualsK.md
+++ b/docs/interfaces/test.AssertEqualsK.md
@@ -4,11 +4,27 @@
[test](../modules/test.md).AssertEqualsK
+An implementation of `* -> *` higher-kinded type
+
+**`Example`**
+
+You can define a return property for the function body
+ and use `this['input']` to access the argument
+ Uses - [ApplyK](../modules/util.md#applyk)
+
+```ts
+interface SomeFunc extends Kind1<number, string> {
+ return: `Your number is ${this['input']}`,
+}
+
+type result = ApplyK<SomeFunc, 200>
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `Right` | extends `unknown` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `Right` | extends `unknown` | The input type |
## Hierarchy
@@ -35,7 +51,7 @@
#### Defined in
-[effect.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L6)
+[effect.ts:35](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L35)
___
@@ -49,4 +65,4 @@ ___
#### Defined in
-[test.ts:24](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/test.ts#L24)
+[test.ts:34](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/test.ts#L34)
diff --git a/docs/interfaces/test.Config.md b/docs/interfaces/test.Config.md
deleted file mode 100644
index 5919847..0000000
--- a/docs/interfaces/test.Config.md
+++ /dev/null
@@ -1,5 +0,0 @@
-[ts-types-lang](../README.md) / [Modules](../modules.md) / [test](../modules/test.md) / Config
-
-# Interface: Config
-
-[test](../modules/test.md).Config
diff --git a/docs/interfaces/test.ShowAssertionError.md b/docs/interfaces/test.ShowAssertionError.md
index 49ba54b..057be1e 100644
--- a/docs/interfaces/test.ShowAssertionError.md
+++ b/docs/interfaces/test.ShowAssertionError.md
@@ -4,35 +4,23 @@
[test](../modules/test.md).ShowAssertionError
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_L` | extends `unknown` |
-| `_R` | extends `unknown` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_L` | extends `unknown` | The output generated by the effect (defaults to `unknown`) |
+| `_R` | extends `unknown` | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`ShowAssertionError`**
-
-## Table of contents
-
-### Properties
-
-- [output](test.ShowAssertionError.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/test.Test.md b/docs/interfaces/test.Test.md
index 66e6c93..b503cc0 100644
--- a/docs/interfaces/test.Test.md
+++ b/docs/interfaces/test.Test.md
@@ -4,35 +4,23 @@
[test](../modules/test.md).Test
+Generic interface for declaring effects
+
+**`Example`**
+
+```ts
+interface MyEffect extends Effect<string[]> {}
+```
+
## Type parameters
-| Name | Type |
-| :------ | :------ |
-| `_m` | extends `string` |
-| `_effs` | extends [`Effect`](effect.Effect.md)[] |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `_m` | extends `string` | The output generated by the effect (defaults to `unknown`) |
+| `_effs` | extends [`Effect`](effect.Effect.md)[] | - |
## Hierarchy
- [`Effect`](effect.Effect.md)
↳ **`Test`**
-
-## Table of contents
-
-### Properties
-
-- [output](test.Test.md#output)
-
-## Properties
-
-### output
-
-• **output**: `unknown`
-
-#### Inherited from
-
-[Effect](effect.Effect.md).[output](effect.Effect.md#output)
-
-#### Defined in
-
-[effect.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L2)
diff --git a/docs/interfaces/util.ConstK.md b/docs/interfaces/util.ConstK.md
index d75c33a..71db6c3 100644
--- a/docs/interfaces/util.ConstK.md
+++ b/docs/interfaces/util.ConstK.md
@@ -4,11 +4,27 @@
[util](../modules/util.md).ConstK
+An implementation of `* -> *` higher-kinded type
+
+**`Example`**
+
+You can define a return property for the function body
+ and use `this['input']` to access the argument
+ Uses - [ApplyK](../modules/util.md#applyk)
+
+```ts
+interface SomeFunc extends Kind1<number, string> {
+ return: `Your number is ${this['input']}`,
+}
+
+type result = ApplyK<SomeFunc, 200>
+```
+
## Type parameters
-| Name |
-| :------ |
-| `Val` |
+| Name | Description |
+| :------ | :------ |
+| `Val` | The input type |
## Hierarchy
@@ -35,7 +51,7 @@
#### Defined in
-[effect.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L6)
+[effect.ts:35](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L35)
___
@@ -49,4 +65,4 @@ ___
#### Defined in
-[util.ts:13](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L13)
+[util.ts:13](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L13)
diff --git a/docs/interfaces/util.IdK.md b/docs/interfaces/util.IdK.md
index c46bd22..35bcab6 100644
--- a/docs/interfaces/util.IdK.md
+++ b/docs/interfaces/util.IdK.md
@@ -4,6 +4,22 @@
[util](../modules/util.md).IdK
+An implementation of `* -> *` higher-kinded type
+
+**`Example`**
+
+You can define a return property for the function body
+ and use `this['input']` to access the argument
+ Uses - [ApplyK](../modules/util.md#applyk)
+
+```ts
+interface SomeFunc extends Kind1<number, string> {
+ return: `Your number is ${this['input']}`,
+}
+
+type result = ApplyK<SomeFunc, 200>
+```
+
## Hierarchy
- [`Kind1`](effect.Kind1.md)
@@ -29,7 +45,7 @@
#### Defined in
-[effect.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L6)
+[effect.ts:35](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L35)
___
@@ -43,4 +59,4 @@ ___
#### Defined in
-[util.ts:9](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L9)
+[util.ts:9](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L9)
diff --git a/docs/modules/effect.md b/docs/modules/effect.md
index d9146e1..621dede 100644
--- a/docs/modules/effect.md
+++ b/docs/modules/effect.md
@@ -26,13 +26,27 @@
Ƭ **Func**<`Inp`, `Out`\>: [`Kind1`](../interfaces/effect.Kind1.md)<`Inp`, `Out`\> \| <_T\>() => `Out`
+Generic function definition as a union of a kind and anonymous function
+
+**`Example`**
+
+In addition to defining a kind (see - [Kind1](../interfaces/effect.Kind1.md)),
+ you can also in some places, use inline lambda functions
+
+```ts
+type main = Bind<
+ ReadFile<"./file.txt">,
+ <contents extends string>() => Print<contents>
+>
+```
+
#### Type parameters
-| Name | Type |
-| :------ | :------ |
-| `Inp` | `unknown` |
-| `Out` | `unknown` |
+| Name | Type | Description |
+| :------ | :------ | :------ |
+| `Inp` | `unknown` | The input type |
+| `Out` | `unknown` | The output type |
#### Defined in
-[effect.ts:10](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/effect.ts#L10)
+[effect.ts:56](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L56)
diff --git a/docs/modules/nat.md b/docs/modules/nat.md
index 610ffe7..40bddf7 100644
--- a/docs/modules/nat.md
+++ b/docs/modules/nat.md
@@ -36,7 +36,7 @@
#### Defined in
-[nat.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L6)
+[nat.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L6)
___
@@ -54,7 +54,7 @@ ___
#### Defined in
-[nat.ts:14](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L14)
+[nat.ts:14](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L14)
___
@@ -64,7 +64,7 @@ ___
#### Defined in
-[nat.ts:1](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L1)
+[nat.ts:1](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L1)
___
@@ -80,7 +80,7 @@ ___
#### Defined in
-[nat.ts:4](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L4)
+[nat.ts:4](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L4)
___
@@ -102,7 +102,7 @@ ___
#### Defined in
-[nat.ts:3](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L3)
+[nat.ts:3](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L3)
___
@@ -119,7 +119,7 @@ ___
#### Defined in
-[nat.ts:10](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L10)
+[nat.ts:10](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L10)
___
@@ -135,7 +135,7 @@ ___
#### Defined in
-[nat.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L2)
+[nat.ts:2](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L2)
___
@@ -145,7 +145,7 @@ ___
#### Defined in
-[nat.ts:20](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L20)
+[nat.ts:20](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L20)
___
@@ -155,7 +155,7 @@ ___
#### Defined in
-[nat.ts:21](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L21)
+[nat.ts:21](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L21)
___
@@ -165,7 +165,7 @@ ___
#### Defined in
-[nat.ts:22](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L22)
+[nat.ts:22](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L22)
___
@@ -175,7 +175,7 @@ ___
#### Defined in
-[nat.ts:23](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L23)
+[nat.ts:23](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L23)
___
@@ -185,7 +185,7 @@ ___
#### Defined in
-[nat.ts:24](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L24)
+[nat.ts:24](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L24)
___
@@ -195,7 +195,7 @@ ___
#### Defined in
-[nat.ts:25](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L25)
+[nat.ts:25](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L25)
___
@@ -205,4 +205,4 @@ ___
#### Defined in
-[nat.ts:26](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/nat.ts#L26)
+[nat.ts:26](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/nat.ts#L26)
diff --git a/docs/modules/ref.md b/docs/modules/ref.md
index dea0952..d282eaa 100644
--- a/docs/modules/ref.md
+++ b/docs/modules/ref.md
@@ -23,4 +23,4 @@
#### Defined in
-[ref.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/ref.ts#L6)
+[ref.ts:6](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/ref.ts#L6)
diff --git a/docs/modules/stdio.md b/docs/modules/stdio.md
index a92a239..ba6eb16 100644
--- a/docs/modules/stdio.md
+++ b/docs/modules/stdio.md
@@ -30,4 +30,4 @@
#### Defined in
-[stdio.ts:11](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/stdio.ts#L11)
+[stdio.ts:11](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/stdio.ts#L11)
diff --git a/docs/modules/test.md b/docs/modules/test.md
index f3a2682..dc0ec99 100644
--- a/docs/modules/test.md
+++ b/docs/modules/test.md
@@ -8,7 +8,6 @@
- [Assert](../interfaces/test.Assert.md)
- [AssertEqualsK](../interfaces/test.AssertEqualsK.md)
-- [Config](../interfaces/test.Config.md)
- [ShowAssertionError](../interfaces/test.ShowAssertionError.md)
- [Test](../interfaces/test.Test.md)
@@ -31,4 +30,4 @@
#### Defined in
-[test.ts:18](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/test.ts#L18)
+[test.ts:28](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/test.ts#L28)
diff --git a/docs/modules/util.md b/docs/modules/util.md
index d89e23e..753e94b 100644
--- a/docs/modules/util.md
+++ b/docs/modules/util.md
@@ -32,7 +32,7 @@
#### Defined in
-[util.ts:23](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L23)
+[util.ts:23](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L23)
___
@@ -49,7 +49,7 @@ ___
#### Defined in
-[util.ts:5](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L5)
+[util.ts:5](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L5)
___
@@ -66,7 +66,7 @@ ___
#### Defined in
-[util.ts:29](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L29)
+[util.ts:29](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L29)
___
@@ -90,7 +90,7 @@ ___
#### Defined in
-[util.ts:7](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L7)
+[util.ts:7](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L7)
___
@@ -106,7 +106,7 @@ ___
#### Defined in
-[util.ts:3](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L3)
+[util.ts:3](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L3)
___
@@ -122,4 +122,4 @@ ___
#### Defined in
-[util.ts:35](https://github.com/phenax/ts-types-runtime-environment/blob/6c7b4f3/stdlib/util.ts#L35)
+[util.ts:35](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/util.ts#L35)
diff --git a/stdlib/effect.ts b/stdlib/effect.ts
index 9b19197..4a994c4 100644
--- a/stdlib/effect.ts
+++ b/stdlib/effect.ts
@@ -1,12 +1,58 @@
+/**
+ * Generic interface for declaring effects
+ * @typeParam T - The output generated by the effect (defaults to `unknown`)
+ *
+ * @example
+ * ```ts
+ * interface MyEffect extends Effect<string[]> {}
+ * ```
+ */
export interface Effect<T = unknown> {
+ /** @hidden */
output: T
}
+/**
+ * An implementation of `* -> *` higher-kinded type
+ *
+ * @typeParam Inp - The input type
+ * @typeParam Out - The output type
+ *
+ * @example
+ * You can define a return property for the function body
+ * and use `this['input']` to access the argument
+ * Uses - {@link util.ApplyK}
+ *
+ * ```ts
+ * interface SomeFunc extends Kind1<number, string> {
+ * return: `Your number is ${this['input']}`,
+ * }
+ *
+ * type result = ApplyK<SomeFunc, 200>
+ * ```
+ */
export interface Kind1<Inp = unknown, Out = unknown> {
input: Inp
return: Out
}
+/**
+ * Generic function definition as a union of a kind and anonymous function
+ *
+ * @typeParam Inp - The input type
+ * @typeParam Out - The output type
+ *
+ * @example
+ * In addition to defining a kind (see - {@link Kind1}),
+ * you can also in some places, use inline lambda functions
+ *
+ * ```ts
+ * type main = Bind<
+ * ReadFile<"./file.txt">,
+ * <contents extends string>() => Print<contents>
+ * >
+ * ```
+ */
export type Func<Inp = unknown, Out = unknown> =
| Kind1<Inp, Out>
| (<_T extends Inp>() => Out)
diff --git a/stdlib/test.ts b/stdlib/test.ts
index fd1045b..a3b1d80 100644
--- a/stdlib/test.ts
+++ b/stdlib/test.ts
@@ -2,11 +2,21 @@ import { Do, Effect, Kind1 } from './effect'
import { Throw, Try } from './exception'
import { Equals } from './util'
-export interface Config {
- // compileTimeTestFailures: false
- // stopAtFailure: true // TODO: stopAtFailure
-}
-
+/**
+ * Assert a boolean expression is true
+ *
+ * @typeParam _B - The boolean value to assert
+ *
+ * @throws {"assertion error"} if false
+ *
+ * @example
+ * Here's an example checking if `SomeValue` is not equal to [1,2,3]
+ * Uses - {@link util.Not}, {@link util.Equals}
+ *
+ * ```ts
+ * Assert<Not<Equals<SomeValue, [1, 2, 3]>>>
+ * ```
+ */
export interface Assert<_B extends boolean> extends Effect {}
export interface Test<_m extends string, _effs extends Effect[]>