Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 49x 194x 194x 1710x 1568x 420x 8x 118x 5x 2x 5x 5x | import { createEntityHooks } from './entityHooks'
import { contracts } from './contracts'
import type { EntityPath } from './contracts'
import type {
EntityHooks,
ListResult,
DetailResult,
MutationHandle,
SubscriptionHandle,
QueryParams,
ListQueryOptions,
} from '../interfaces'
export const hooksByPath: Record<EntityPath, EntityHooks<any, any, any, any>> = {
I repositories: createEntityHooks(contracts.repositories),
'bot-accounts': createEntityHooks(contracts['bot-accounts']),
projects: createEntityHooks(contracts.projects),
runs: createEntityHooks(contracts.runs),
pipelines: createEntityHooks(contracts.pipelines),
}
export function resolveContract<P extends EntityPath>(
path: P,
): (typeof contracts)[P] {
return contracts[path]
}
export function resolveIdOf(
path: EntityPath,
): ((row: Record<string, unknown>) => string) | null {
const contract = contracts[path]
if (!contract) return null
return (row) => contract.idOf(row as never) as string
}
export function useEntityList(
path: EntityPath,
params: QueryParams = {},
options?: ListQueryOptions,
): ListResult<any> {
return hooksByPath[path].useEntityList(params, options)
}
export function useEntityDetail(
path: EntityPath,
id: string,
): DetailResult<any> {
return hooksByPath[path].useEntityDetail(id)
}
export function useMutation(
path: EntityPath,
): MutationHandle<any, any, any> {
return hooksByPath[path].useMutation()
}
export function useSubscription(
path: EntityPath,
params: QueryParams = {},
): SubscriptionHandle {
return hooksByPath[path].useSubscription(params)
}
|