Skip to content

Commit

Permalink
feat: better typesafety
Browse files Browse the repository at this point in the history
  • Loading branch information
amandesai01 committed Jul 8, 2024
1 parent 8bc99d2 commit 0e8fc75
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
5 changes: 3 additions & 2 deletions src/runtime/composables/useOramaInstance.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { useNuxtApp } from "nuxt/app";
import { DEFAULT_KEY } from "../constants";
import type { NuxtOramaProvider } from "../interfaces";
import type { AnyOrama } from "@orama/orama";

export default function useOramaInstance(id?: string) {
export default function useOramaInstance<T extends AnyOrama>(id?: string) {
const key = id || DEFAULT_KEY;
const nuxtApp = useNuxtApp();

Expand All @@ -18,5 +19,5 @@ export default function useOramaInstance(id?: string) {
}
}

return oramaInstance;
return oramaInstance as T;
}
8 changes: 4 additions & 4 deletions src/runtime/composables/useOramaSearch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import { wrapPromiseToRef } from "../utils";
import { ref, type Ref } from "#imports";
import useOramaInstance from "./useOramaInstance";

export default function useOramaSearch(id?: string) {
const oramaInstance = useOramaInstance(id);
export default function useOramaSearch<T extends AnyOrama>(id?: string) {
const oramaInstance = useOramaInstance<T>(id);

const searchResults: Ref<Results<any> | null> = ref(null);
const searchPending: Ref<boolean> = ref(false);
Expand All @@ -35,14 +35,14 @@ export default function useOramaSearch(id?: string) {
};

const insertMultipleWrapped = (
docs: PartialSchemaDeep<any>[],
docs: PartialSchemaDeep<TypedDocument<T>>[],
batchSize?: number,
language?: string,
skipHooks?: boolean,
timeout?: number
) => {
return wrapPromiseToRef(
insertMultipleOrama(
insertMultipleOrama<T>(
oramaInstance,
docs,
batchSize,
Expand Down

0 comments on commit 0e8fc75

Please sign in to comment.