Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "Convert"

Index

Type aliases

Type aliases

Convert

Convert: function

Used to verify JSON returned with the fetcher

example
import { Json, isIJsonObject } from '@ef-carbon/fetch';
import { fetcher, Convert } from '@ef-carbon/fetcher';

interface IData {
  name: string;
}

function isIData(json: Json): json is IData {
  return isIJsonObject(json) && typeof json.name === 'string';
}

function getName(json: Json): string {
  if (!isIData(json)) {
    throw TypeError(`Invalid JSON payload: ${JSON.stringify(json)}`);
  }

  return json.name;
}

const convert: Convert<string> = getName;

// expected payload `{ "name": "Rick Sanchez" }`
const response = await fetcher('http://endpoint.com/data.json');

const name = response.json(convert);  // conversion
console.log(name);

Type declaration

    • (json: Json): T
    • Parameters

      • json: Json

      Returns T