Skip to content

Commit 45fbb33

Browse files
committed
@xapi-js/core 에서 XapiRoot를 파싱하여 string으로 돌려주는 헬퍼 함수를 생성하였습니다. return을 union으로 만드는 방식은 명확하지 않기 때문입니다.
1 parent d3873ad commit 45fbb33

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

packages/core/src/handler.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { CdataEvent, CharactersEvent, EndElementEvent, StartElementEvent, StaxXmlParser, StaxXmlWriter, XmlEventType } from "stax-xml";
22
import { Col, ColumnType, NexaVersion, Parameter, RowType, XapiOptions, XapiValueType } from "./types";
3-
import { base64ToUint8Array, dateToString, makeParseEntities, makeWriterEntities, stringToDate, uint8ArrayToBase64 } from "./utils";
3+
import { base64ToUint8Array, dateToString, makeParseEntities, makeWriterEntities, stringToDate, StringWritableStream, uint8ArrayToBase64 } from "./utils";
44
import { Dataset, XapiRoot } from "./xapi-data";
55

66
const defaultOptions: XapiOptions = {
@@ -210,6 +210,12 @@ function convertToString(value: XapiValueType, type: ColumnType): string {
210210
}
211211
}
212212

213+
export async function writeString(root: XapiRoot): Promise<string> {
214+
const stringStream = new StringWritableStream();
215+
await write(stringStream, root);
216+
return stringStream.getResult();
217+
}
218+
213219
export async function write(stream: WritableStream<Uint8Array>, root: XapiRoot): Promise<void> {
214220
const writer = new StaxXmlWriter(stream, {
215221
addEntities: makeWriterEntities(),

pnpm-lock.yaml

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)