<S extends object, const K extends keyof S>(key: K): (self: S) => S[K]
<S extends object, const K extends keyof S>(self: S, key: K): S[K]Retrieves the value at key from a struct.
When to use
Use to extract a single property from a struct in a pipeline.
Details
The return type is narrowed to S[K].
Example (Extracting a property in a pipeline)
import { pipe, Struct } from "effect"
const name = pipe({ name: "Alice", age: 30 }, Struct.get("name"))
console.log(name) // "Alice"Source effect/Struct.ts:1354 lines
export const const get: {
<S extends object, const K extends keyof S>(
key: K
): (self: S) => S[K]
<S extends object, const K extends keyof S>(
self: S,
key: K
): S[K]
}
Retrieves the value at key from a struct.
When to use
Use to extract a single property from a struct in a pipeline.
Details
The return type is narrowed to S[K].
Example (Extracting a property in a pipeline)
import { pipe, Struct } from "effect"
const name = pipe({ name: "Alice", age: 30 }, Struct.get("name"))
console.log(name) // "Alice"
get: {
<function (type parameter) S in <S extends object, const K extends keyof S>(key: K): (self: S) => S[K]S extends object, const function (type parameter) K in <S extends object, const K extends keyof S>(key: K): (self: S) => S[K]K extends keyof function (type parameter) S in <S extends object, const K extends keyof S>(key: K): (self: S) => S[K]S>(key: const K extends keyof Skey: function (type parameter) K in <S extends object, const K extends keyof S>(key: K): (self: S) => S[K]K): (self: S extends objectself: function (type parameter) S in <S extends object, const K extends keyof S>(key: K): (self: S) => S[K]S) => function (type parameter) S in <S extends object, const K extends keyof S>(key: K): (self: S) => S[K]S[function (type parameter) K in <S extends object, const K extends keyof S>(key: K): (self: S) => S[K]K]
<function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S extends object, const function (type parameter) K in <S extends object, const K extends keyof S>(self: S, key: K): S[K]K extends keyof function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S>(self: S extends objectself: function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S, key: const K extends keyof Skey: function (type parameter) K in <S extends object, const K extends keyof S>(self: S, key: K): S[K]K): function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S[function (type parameter) K in <S extends object, const K extends keyof S>(self: S, key: K): S[K]K]
} = import dualdual(2, <function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S extends object, const function (type parameter) K in <S extends object, const K extends keyof S>(self: S, key: K): S[K]K extends keyof function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S>(self: S extends objectself: function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S, key: const K extends keyof Skey: function (type parameter) K in <S extends object, const K extends keyof S>(self: S, key: K): S[K]K): function (type parameter) S in <S extends object, const K extends keyof S>(self: S, key: K): S[K]S[function (type parameter) K in <S extends object, const K extends keyof S>(self: S, key: K): S[K]K] => self: S extends objectself[key: const K extends keyof Skey])