Skip to content

Commit

Permalink
feat: generic response type
Browse files Browse the repository at this point in the history
  • Loading branch information
BastinJafari committed Sep 15, 2021
1 parent 1ad9a83 commit f893222
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
7 changes: 4 additions & 3 deletions packages/jinajs/src/jinaClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ import {

const defaultJinaVersion = "2"

export class JinaClient {
export class JinaClient<IResponse> {

private baseURL: string;
private jinaVersion: string;
private client: AxiosInstance;
private serializeRequest: RequestSerializer
private serializeResponse: ResponseSerializer
private serializeResponse: ResponseSerializer<IResponse>

constructor(baseURL: BaseURL, customSerializeRequest?: RequestSerializer, customSerializeResponse?: ResponseSerializer ) {
constructor(baseURL: BaseURL, customSerializeRequest?: RequestSerializer, customSerializeResponse?: ResponseSerializer<IResponse> ) {
this.serializeRequest = customSerializeRequest || serializeRequest
this.serializeResponse = customSerializeResponse || serializeResponse
this.baseURL = baseURL;
Expand Down
2 changes: 1 addition & 1 deletion packages/jinajs/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ export type SimpleResponse = {
export type BaseURL = `http://${string}` | `https://${string}`;

export type RequestSerializer = (documents: RawDocumentData[], version: string) => AnyObject
export type ResponseSerializer = (response: AnyObject, version: string) => SimpleResponse
export type ResponseSerializer<IResponse> = (response: IResponse, version: string) => SimpleResponse
11 changes: 5 additions & 6 deletions packages/showcases/src/pages/NoSSR/pdf.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@ import CrossIcon from '../../images/cross.svg'
import Image from "next/image";
import Modal from 'react-modal';
import PdfViewer from "../../components/common/PdfViewer";
import {response} from "../../mockedData/pdf";
import { components } from "../../types/pdf/schema"

const PDF_API_URL = "http://34.107.117.194:80"

type CustomResult = any
type CustomResults = any
type IResponse = components["schemas"]["MatchData"]


const customReqSerializer = async (documents: RawDocumentData[], version: string) => {
Expand All @@ -42,13 +43,12 @@ const customReqSerializer = async (documents: RawDocumentData[], version: string
}
}

const customResSerializer = (response: AnyObject, version: string) => {
const customResSerializer = (response: IResponse, version: string) => {

const docs = response.data
const queries: SimpleQueries = [];
const results: CustomResults[] = [];

docs.forEach((doc: any) => {
docs?.forEach((doc: any) => {
queries.push({
data: doc.pdf,
mimeType: "application/pdf"
Expand Down Expand Up @@ -156,8 +156,7 @@ export default function PDF() {
const [viewedPDF, setViewedPDF] = useState("")
const [viewedPDFName, setViewedPDFName] = useState("")
const [searchedDocumentName, setSearchedDocumentName] = useState("")

const jinaClient = new JinaClient(PDF_API_URL, customReqSerializer, customResSerializer)
const jinaClient = new JinaClient<IResponse>(PDF_API_URL, customReqSerializer, customResSerializer)

async function getSimiliarResults(url: string) {
const {results} = await jinaClient.search(url)
Expand Down

0 comments on commit f893222

Please sign in to comment.