UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

26 lines (25 loc) 629 B
/** * Makes fields for a type optional. * For example: * * type FooBarBaz = { * foo: string * bar: string * baz: string * } * * To make only the 'baz' property optional * type OptionalBaz = Optional<FooBarBaz, 'baz'> * Would result in : * OptionalBaz === { * foo: string * bar: string * baz?: string // this is now optional * } * * To make multiple properties optional, use a String Literal union: * type OptionalBarBaz = Optional<FooBarBaz, 'bar' | 'baz'> * * @see https://stackoverflow.com/a/54178819 */ export declare type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;