Gitako/src/global.d.ts
2021-01-31 23:56:36 +08:00

34 lines
675 B
TypeScript

type MetaData = {
userName: string
repoName: string
branchName: string
defaultBranchName?: string
repoUrl?: string
userUrl?: string
type?: 'tree' | 'blob' | 'pull' | string
}
type TreeNode = {
name: string
contents?: TreeNode[]
path: string
type: 'tree' | 'blob' | 'commit'
url?: string
sha?: string
accessDenied?: boolean
}
type IO<T> = {
value: T
onChange(value: T): void
}
type Override<Original, Incoming> = Omit<Original, keyof Incoming> & Incoming
type MakeOptional<Original, keys extends keyof Original> = Override<
Original,
Partial<Pick<Original, keys>>
>
type VoidFN<T> = (payload: T) => void
type Async<T> = T | Promise<T>