Skip to content

Objets ​

values et lookup sont typés d'après les champs déclarés de l'objet — lookup infère l'union des types de champs.

keys ​

keys(value: object): string[]

Noms des propriétés (fusionnés entre les éléments pour un tableau d'objets).

typeflow
headerNames: keys(req.headers)

values ​

values(value: object): unknown[]

Valeurs des propriétés, typées comme l'union des types de champs de l'objet.

typeflow
headerValues: values(req.headers)

lookup ​

lookup(value: object, key: string): unknown

Valeur de la clé donnée (appliquée à chaque élément pour un tableau d'objets).

typeflow
host: lookup(req.headers, "host")

merge ​

merge(objects: object[]): object

Fusionne un tableau d'objets de gauche à droite.

typeflow
settings: merge([defaults, user.overrides])

spread ​

spread(value: object): object[]

Éclate un objet en un tableau d'objets à une seule propriété.

typeflow
entries: spread(req.headers)

type ​

type(value: unknown): string

"string" | "number" | "boolean" | "null" | "array" | "object" | "undefined".

typeflow
kind: type(req.headers)

Playground ​

Mapping✔Playground ↗
JSON d'entrée
Sortie
{
  "headerNames": [
    "host",
    "accept"
  ],
  "host": "example.dev",
  "merged": {
    "a": 1,
    "b": 2
  },
  "kind": "object"
}
type inféré{ headerNames: string[]; host?: string; merged: any; kind: string; }

Publié sous licence MIT.