Skip to content

Commit 0e7a249

Browse files
committed
context merge
1 parent 171da9e commit 0e7a249

File tree

2 files changed

+10
-22
lines changed

2 files changed

+10
-22
lines changed

catalog/app/components/Assistant/Model/Context.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ const aggregateContext = (contexts: Partial<ContextShape>[]) =>
3737
ROOT_CONTEXT,
3838
)
3939

40+
export const merge = (...contexts: Partial<ContextShape>[]) => aggregateContext(contexts)
41+
4042
export const useAggregatedContext = ContextAggregator.makeCombinator(aggregateContext)
4143

4244
export const usePushContext = (context: Partial<ContextShape>) =>

catalog/app/containers/Bucket/PackageTree/AssistantContext.tsx

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ type RevisionData = NonNullable<
1515
>['revision']
1616

1717
function useMetadataContext(bucket: string, name: string, revision: RevisionData) {
18-
return React.useMemo(() => {
18+
const messages = React.useMemo(() => {
1919
if (!revision) return []
2020

2121
const { userMeta, __typename: ignore, ...systemMeta } = revision
@@ -44,6 +44,7 @@ function useMetadataContext(bucket: string, name: string, revision: RevisionData
4444

4545
return msgs
4646
}, [bucket, name, revision])
47+
return { messages }
4748
}
4849

4950
interface PackageContextProps {
@@ -54,25 +55,10 @@ interface PackageContextProps {
5455
}
5556

5657
export const PackageContext = Assistant.Context.LazyContext<PackageContextProps>(
57-
({ bucket, name, path, revision }) => {
58-
const dirCtx = ContextFiles.usePackageDirContextFiles(
59-
bucket,
60-
name,
61-
S3Paths.getPrefix(path),
62-
)
63-
const rootCtx = ContextFiles.usePackageRootContextFiles(bucket, name)
64-
const metadataMsg = useMetadataContext(bucket, name, revision)
65-
66-
const messages = React.useMemo(
67-
() => [...metadataMsg, ...rootCtx.messages, ...dirCtx.messages],
68-
[metadataMsg, rootCtx.messages, dirCtx.messages],
69-
)
70-
71-
const markers = {
72-
...rootCtx.markers,
73-
...dirCtx.markers,
74-
}
75-
76-
return { markers, messages }
77-
},
58+
({ bucket, name, path, revision }) =>
59+
Assistant.Context.merge(
60+
useMetadataContext(bucket, name, revision),
61+
ContextFiles.usePackageRootContextFiles(bucket, name),
62+
ContextFiles.usePackageDirContextFiles(bucket, name, S3Paths.getPrefix(path)),
63+
),
7864
)

0 commit comments

Comments
 (0)