Skip to content
This repository has been archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
chore: type asserts
Browse files Browse the repository at this point in the history
  • Loading branch information
likui628 committed Nov 1, 2023
1 parent 6abb682 commit 6637e5a
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions packages/layouts/bridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ export interface ContextOptions {
getChildrenMenus: (parentPath: string) => Promise<any>
getAllParentPath: (menu, path) => string[]
siteSetting: Record<string, string>
Logo: LogoComponent
Logo?: LogoComponent
}

export let context: Partial<ContextOptions> = {
const defaultOptions: Partial<ContextOptions> = {
useAppConfig,
useRootSetting,
useAppStore: () => undefined,
Expand All @@ -71,7 +71,17 @@ export let context: Partial<ContextOptions> = {
siteSetting: {},
}

//TODO 需要区分哪些是必填的,其余的为选填
export const initLayout = (params: Partial<ContextOptions>) => {
context = { ...context, ...params }
export let context: ContextOptions

export const initLayout = (options: Partial<ContextOptions>) => {
context = { ...defaultOptions, ...options } as ContextOptions
assertOptions(context)
}

function assertOptions(
options: ContextOptions,
): asserts options is ContextOptions {
if (!options.useRootSetting) {
throw new Error('Missing required property: useRootSetting')
}
}

0 comments on commit 6637e5a

Please sign in to comment.