Skip to content

Commit 785caac

Browse files
authored
Merge pull request #90 from multinet-app/alt-text
Add generateAltText function
2 parents 0fe3da5 + 897f576 commit 785caac

2 files changed

Lines changed: 23 additions & 0 deletions

File tree

src/axios.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export interface MultinetAxiosInstance extends AxiosInstance {
7373
updateSession(workspace: string, sessionId: number, type: 'network' | 'table', state: object): AxiosPromise<any>;
7474
renameSession(workspace: string, sessionId: number, type: 'network' | 'table', name: string): AxiosPromise<any>;
7575
getSession(workspace: string, sessionId: number, type: 'network' | 'table'): AxiosPromise<any>;
76+
generateAltText(verbosity: string, level: number, explain: string, data: object, title?: string): AxiosPromise<any>;
7677
}
7778

7879
export function multinetAxiosInstance(config: AxiosRequestConfig): MultinetAxiosInstance {
@@ -268,5 +269,23 @@ export function multinetAxiosInstance(config: AxiosRequestConfig): MultinetAxios
268269
return this.get(`workspaces/${workspace}/sessions/${type}/${sessionId}/`);
269270
};
270271

272+
Proto.generateAltText = function(verbosity: string, level: number, explain: string, data: object, title?: string): AxiosPromise<any> {
273+
const jsonString = JSON.stringify(data);
274+
const blob = new Blob([jsonString], { type: 'application/json' });
275+
const file = new File([blob], 'data.json');
276+
277+
const formData = new FormData();
278+
279+
formData.append('verbosity', verbosity);
280+
formData.append('level', level.toString());
281+
formData.append('explain', explain);
282+
formData.append('data', file);
283+
if (title) {
284+
formData.append('title', title);
285+
}
286+
287+
return this.post(`alttxt/`, formData);
288+
};
289+
271290
return axiosInstance as MultinetAxiosInstance;
272291
}

src/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,10 @@ class MultinetAPI {
284284
public async getSession(workspace: string, sessionId: number, type: 'network' | 'table'): Promise<any> {
285285
return (await this.axios.getSession(workspace, sessionId, type)).data;
286286
}
287+
288+
public async generateAltText(verbosity: string, level: number, explain: string, data: object, title?: string): Promise<any> {
289+
return (await this.axios.generateAltText(verbosity, level, explain, data, title)).data;
290+
}
287291
}
288292

289293
export function multinetApi(baseURL: string): MultinetAPI {

0 commit comments

Comments
 (0)