Почему это проверка типа? - PullRequest
0 голосов
/ 24 января 2020

Это не имеет смысла для меня:

import axios from 'axios'
import * as TE from 'fp-ts/lib/TaskEither'

export const getIntent = (sessionId: string, input: string) => process.env.INTENT_URL
  ? TE.tryCatch(
      () => axios.post(`${process.env.INTENT_URL}`,{sessionId, input}),
      reason => String(reason))
  : TE.left(Error("No INTENT_URL")
)

Left равно String и / или Error, что, очевидно, не равно. Почему этот тип проверок ???

1 Ответ

3 голосов
/ 25 января 2020

Причина, по которой этот тип проверяется:

export const getIntent = () => process.env.INTENT_URL
  ? true
  : "false"

В вашей функции нет примечания типа возвращаемого значения, поэтому машинописный текст автоматически расширяет тип возвращаемого значения до типа объединения, чтобы охватить возвращаемые значения.

...