From aabbd6a0b595f336e159c42ce728eb9562d75aba Mon Sep 17 00:00:00 2001 From: Axel Bocciarelli Date: Fri, 28 Oct 2022 15:51:20 +0200 Subject: [PATCH 1/2] Fix inference of shape and dtype in `Value` --- packages/app/src/providers/hsds/hsds-api.ts | 3 +-- packages/h5wasm/src/h5wasm-api.ts | 3 +-- packages/shared/src/models-hdf5.ts | 10 ++++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/app/src/providers/hsds/hsds-api.ts b/packages/app/src/providers/hsds/hsds-api.ts index 6c9f01942..fa80c5fcb 100644 --- a/packages/app/src/providers/hsds/hsds-api.ts +++ b/packages/app/src/providers/hsds/hsds-api.ts @@ -8,7 +8,6 @@ import type { ChildEntity, ProvidedEntity, ArrayShape, - DType, Value, } from '@h5web/shared'; import { assertGroup } from '@h5web/shared'; @@ -152,7 +151,7 @@ export class HsdsApi extends DataProviderApi { ); } - public getExportURL>( + public getExportURL>( format: ExportFormat, dataset: D, selection: string | undefined, diff --git a/packages/h5wasm/src/h5wasm-api.ts b/packages/h5wasm/src/h5wasm-api.ts index 4f01bfb1e..cdb5678ac 100644 --- a/packages/h5wasm/src/h5wasm-api.ts +++ b/packages/h5wasm/src/h5wasm-api.ts @@ -12,7 +12,6 @@ import type { Attribute, ChildEntity, Dataset, - DType, Entity, Group, ProvidedEntity, @@ -95,7 +94,7 @@ export class H5WasmApi extends ProviderApi { ); } - public getExportURL>( + public getExportURL>( format: ExportFormat, dataset: D, selection: string | undefined, diff --git a/packages/shared/src/models-hdf5.ts b/packages/shared/src/models-hdf5.ts index 247c195ac..de34544b0 100644 --- a/packages/shared/src/models-hdf5.ts +++ b/packages/shared/src/models-hdf5.ts @@ -175,10 +175,12 @@ export type ArrayValue = | Primitive[] | (T extends NumericType ? TypedArray : never); -export type Value = D['shape'] extends ScalarShape - ? Primitive - : D['shape'] extends ArrayShape - ? ArrayValue +export type Value = D extends Dataset + ? S extends ScalarShape + ? Primitive + : S extends ArrayShape + ? ArrayValue + : never : never; export type AttributeValues = Record; From 36df934ea2d38f4a9d74985491f652a7b89365cf Mon Sep 17 00:00:00 2001 From: Axel Bocciarelli Date: Fri, 28 Oct 2022 15:54:01 +0200 Subject: [PATCH 2/2] Export type of `getExportURL` function --- packages/app/src/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/app/src/index.ts b/packages/app/src/index.ts index de76278c1..78be9c61e 100644 --- a/packages/app/src/index.ts +++ b/packages/app/src/index.ts @@ -1,3 +1,5 @@ +import type { DataProviderApi } from './providers/api'; + export { default as App } from './App'; export { default as MockProvider } from './providers/mock/MockProvider'; @@ -7,6 +9,7 @@ export { default as H5GroveProvider } from './providers/h5grove/H5GroveProvider' export { getFeedbackMailto } from './breadcrumbs/utils'; export type { FeedbackContext } from './breadcrumbs/models'; export type { ExportFormat, ExportURL } from './providers/models'; +export type GetExportURL = NonNullable; // Context export { useDataContext } from './providers/DataProvider';