aboutsummaryrefslogtreecommitdiff
path: root/docs/interfaces/effect.Kind1.md
blob: 0c8600f62c53efebbef8f943ac50650c66519b27 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[ts-types-lang](../README.md) / [Modules](../modules.md) / [effect](../modules/effect.md) / Kind1

# Interface: Kind1<Inp, Out\>

[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 | Description |
| :------ | :------ | :------ |
| `Inp` | `unknown` | The input type |
| `Out` | `unknown` | The output type |

## Hierarchy

- **`Kind1`**

  ↳ [`AssertEqualsK`](test.AssertEqualsK.md)

  ↳ [`IdK`](util.IdK.md)

  ↳ [`ConstK`](util.ConstK.md)

## Table of contents

### Properties

- [input](effect.Kind1.md#input)
- [return](effect.Kind1.md#return)

## Properties

### input**input**: `Inp`

#### Defined in

[effect.ts:35](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L35)

___

### return**return**: `Out`

#### Defined in

[effect.ts:36](https://github.com/phenax/ts-types-runtime-environment/blob/78e384c/stdlib/effect.ts#L36)