Skip to content

Mutex

类型互斥。

基本用法

传入两个类型,返回合并后的类型。

ts
import type { Mutex } from '@renzp/utils';

export type RemoveOptions = Mutex<
  {
    index: number
  },
  {
    start?: number
    end?: number
  }
>
const remove = <T>(list: Array<T>, options: RemoveOptions) => {
  console.log(list, options);
};

remove([1, 2, 3], { index: 1 }); // pass
remove([1, 2, 3], { start: 1, end: 2 }); // pass
remove([1, 2, 3], { index: 1, start: 1, end: 2 }); // ts error