TypeScript / JavaScript

Split sentences

const segmenter = new Intl.Segmenter("en", { granularity: "sentence" });

console.log(
  Array.from(
    segmenter.segment(`I'm like 🫣. But you are, too! 🫵`),
    (s) => s.segment
  )
);

Conditional Types

type ExtractIdType<T> = T extends { id: string | number } ? T["id"] : never;

interface NumericId {
  id: number;
}

interface StringId {
  id: string;
}

interface BooleanId {
  id: boolean;
}

type NumericIdType = ExtractIdType<NumericId>; // type NumericIdType = number
type StringIdType = ExtractIdType<StringId>; // type StringIdType = string
type BooleanIdType = ExtractIdType<BooleanId>; // type BooleanIdType = never

NonNullable

Extract<T, U> and Exclude<T, U>

Parameters and ReturnType

ConstructorParameters and InstanceType

Last updated