From 4348b641b08e94b1443172a76d7a566cdb38415c Mon Sep 17 00:00:00 2001 From: wenjiarui Date: Sat, 28 Jan 2023 18:05:01 +0800 Subject: [PATCH] =?UTF-8?q?importENTITY=E9=94=99=E8=AF=AF=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E6=94=B9=E4=B8=BAbuffer=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/AspectDict.d.ts | 2 +- lib/port.d.ts | 2 +- lib/port.js | 2 +- src/AspectDict.ts | 2 +- src/port.ts | 6 ++++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/AspectDict.d.ts b/lib/AspectDict.d.ts index 97dad42..3c8b377 100644 --- a/lib/AspectDict.d.ts +++ b/lib/AspectDict.d.ts @@ -42,7 +42,7 @@ export declare type CommonAspectDict Promise; - importEntity: (params: FormData, context: Cxt) => Promise; + importEntity: (params: FormData, context: Cxt) => Promise; exportEntity: (params: { entity: T; id: string; diff --git a/lib/port.d.ts b/lib/port.d.ts index 916e572..a2b0651 100644 --- a/lib/port.d.ts +++ b/lib/port.d.ts @@ -4,7 +4,7 @@ import { Importation, Exportation } from 'oak-domain/lib/types/Port'; import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore'; export declare function registerPorts(importations: Importation[], exportations: Exportation[]): void; export declare function clearPorts(): void; -export declare function importEntity>(params: FormData, context: Cxt): Promise; +export declare function importEntity>(params: FormData, context: Cxt): Promise; export declare function exportEntity>(params: { entity: T; id: string; diff --git a/lib/port.js b/lib/port.js index 33f3855..f2ea42e 100644 --- a/lib/port.js +++ b/lib/port.js @@ -66,7 +66,7 @@ async function importEntity(params, context) { for (const sheetData of errorSheets) { xlsx_1.utils.book_append_sheet(errorWorkbook, sheetData.worksheet, sheetData.sheetName); } - return await (0, xlsx_1.write)(errorWorkbook, { type: 'file' }); + return await (0, xlsx_1.write)(errorWorkbook, { type: 'buffer' }); } // throw new Error('not implement yet'); } diff --git a/src/AspectDict.ts b/src/AspectDict.ts index 40aebf3..fcae5ee 100644 --- a/src/AspectDict.ts +++ b/src/AspectDict.ts @@ -61,7 +61,7 @@ export type CommonAspectDict Promise; - importEntity: (params: FormData, context: Cxt) => Promise; + importEntity: (params: FormData, context: Cxt) => Promise; exportEntity: (params: { entity: T; id: string; diff --git a/src/port.ts b/src/port.ts index 0e1dad3..f60948f 100644 --- a/src/port.ts +++ b/src/port.ts @@ -4,6 +4,7 @@ import { Importation, Exportation } from 'oak-domain/lib/types/Port'; import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore'; import { read, utils, write } from 'xlsx'; import { buffer } from 'stream/consumers'; +import { Duplex } from 'stream'; const Importations: Record = {}; const Exportations: Record = {}; @@ -46,7 +47,7 @@ function getExportation(id: string) { export async function importEntity< ED extends EntityDict, Cxt extends AsyncContext ->(params: FormData, context: Cxt): Promise { +>(params: FormData, context: Cxt): Promise { const entity = params.get('entity') as keyof ED; const file = params.get('file') as File; const id = params.get('id') as string; @@ -57,6 +58,7 @@ export async function importEntity< const workbook = read(arrayBuffer); const { SheetNames, Sheets } = workbook; const errorSheets = []; + for (const sheetName of SheetNames) { const sheet = Sheets[sheetName]; const dataList = utils.sheet_to_json( @@ -77,7 +79,7 @@ export async function importEntity< for (const sheetData of errorSheets) { utils.book_append_sheet(errorWorkbook, sheetData.worksheet, sheetData.sheetName); } - return await write(errorWorkbook, { type: 'file' }); + return await write(errorWorkbook, { type: 'buffer' }); } // throw new Error('not implement yet'); }