기타 도구
write
import
import { write } from "@tai-kun/surrealdb/cbor";
구문
write
는 CBOR 형식으로 인코딩 가능한 JavaScript 값을 모두 Writer
에 작성하는 헬퍼 함수입니다.
write(writer: Writer, value: unknown, options?: WriteOptions): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
CBOR 형식의 Uint8Array
로 인코딩하기 위한 JavaScript 값입니다. value
에 전달할 수 있는 JavaScript 값은 다음과 같습니다.
- 원시 값
number
bigint
string
boolean
null
undefined
.toCBOR()
메서드를 가진 객체- 배열 또는
Set
- 일반 객체 또는
Map
Uint8Array
Simple
객체- 선택적
replacer
로 대체할 수 있는 값
원시 값이 아니고 toCBOR
속성이 함수인 경우, 우선적으로 해당 함수를 호출합니다.
options
작성 옵션입니다.
replacer?: Replacer | Replacer[]
- 인코더는 기본적으로 대부분의 값을 CBOR로 인코딩하지만, 이에 해당하지 않는 특수한 값을 인코딩 가능한 값으로 대체할 수 있습니다. 이 옵션은 함수 또는 함수 배열을 지정하여 대체 처리를 구현할 수 있습니다. 함수가
Symbol.for("@tai-kun/surrealdb/cbor/continue")
로 얻을 수 있는CONTINUE
심볼을 반환하면 후속 함수가 호출됩니다. 어떤 값도 대체할 수 없는 경우SurrealTypeError
가 발생합니다. isSafeMapKey?: (key: unknown, map: ReadonlyMap<unknown, unknown>) => boolean
- 이 옵션은
Map
객체의 키가 안전한지 검증하는 함수입니다. 함수는key
와map
두 개의 인수를 받습니다.key
는 키 값이고,map
은 검증하고 있는Map
객체입니다. 이 함수가false
를 반환하면CborUnsafeMapKeyError
가 발생합니다. 기본적으로는"__proto__"
또는"constructor"
를 안전하지 않은 키로 판단합니다. 이 옵션을 지정하면 기본 검증이 완전히 덮어쓰인다는 점에 유의하십시오. 기본 검증에 자체 검증을 추가하려면"__proto__"
또는"constructor"
도 안전하지 않은 키로 판단해야 합니다. isSafeObjectKey?: (key: unknown, obj: { readonly [p: string]: unknown }) => boolean
- 이 옵션은 일반 객체의 키가 안전한지 검증하는 함수입니다. 함수는
key
와obj
두 개의 인수를 받습니다.key
는 키 값이고,obj
는 검증하고 있는 일반 객체입니다. 이 함수가false
를 반환하면CborUnsafeMapKeyError
가 발생합니다. 기본적으로는"__proto__"
또는"constructor"
를 안전하지 않은 키로 판단합니다. 이 옵션을 지정하면 기본 검증이 완전히 덮어쓰인다는 점에 유의하십시오. 기본 검증에 자체 검증을 추가하려면"__proto__"
또는"constructor"
도 안전하지 않은 키로 판단해야 합니다.
반환값
없음.
writeNumber
import
import { writeNumber } from "@tai-kun/surrealdb/cbor";
구문
writeNumber
는 숫자를 Writer
에 작성하는 헬퍼 함수입니다.
writeNumber(writer: Writer, value: number): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
숫자입니다. 정수인 경우 -2^53-1부터 2^53-1까지의 값이 유효합니다. JavaScript에서는 .0
을 부동 소수점수로 판단하는 방법이 없으므로, 그 경우 정수 값으로 CBOR로 인코딩됩니다. 예를 들어 -1.0
은 -1
이며 정수입니다.
반환값
없음.
writeBigInt
import
import { writeInteger } from "@tai-kun/surrealdb/cbor";
구문
writeBigInt
는 bigint
를 Writer
에 작성하는 헬퍼 함수입니다.
writeBigInt(writer: Writer, value: bigint): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
bigint
입니다. -2^64부터 2^64-1까지의 값이 유효합니다.
반환값
없음.
writeByteString
import
import { writeByteString } from "@tai-kun/surrealdb/cbor";
구문
writeByteString
는 Uint8Array
를 Writer
에 작성하는 헬퍼 함수입니다.
writeByteString(writer: Writer, value: Uint8Array): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
Uint8Array
입니다.
반환값
없음.
writeUtf8String
import
import { writeUtf8String } from "@tai-kun/surrealdb/cbor";
구문
writeUtf8String
는 UTF-8 형식의 문자열을 Writer
에 작성하는 헬퍼 함수입니다.
writeUtf8String(writer: Writer, value: string): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
UTF-8 형식의 문자열입니다.
반환값
없음.
writeEncodedUtf8String
import
import { writeEncodedUtf8String } from "@tai-kun/surrealdb/cbor";
구문
writeEncodedUtf8String
는 UTF-8로 인코딩된 문자열(Uint8Array
)을 Writer
에 작성하는 헬퍼 함수입니다.
writeEncodedUtf8String(writer: Writer, value: Uint8Array): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
UTF-8로 인코딩된 문자열(Uint8Array
)입니다.
반환값
없음.
writeBoolean
import
import { writeBoolean } from "@tai-kun/surrealdb/cbor";
구문
writeBoolean
는 불리언 값을 Writer
에 작성하는 헬퍼 함수입니다.
writeBoolean(writer: Writer, value: boolean): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
불리언 값입니다.
반환값
없음.
writeNullable
import
import { writeNullable } from "@tai-kun/surrealdb/cbor";
구문
writeNullable
는 null
또는 undefined
를 Writer
에 작성하는 헬퍼 함수입니다.
writeNullable(writer: Writer, value: null | undefined): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
null
또는 undefined
입니다.
반환값
없음.
writeHeader
import
import { writeHeader } from "@tai-kun/surrealdb/cbor";
구문
writeHeader
는 CBOR 데이터 아이템의 헤더를 Writer
에 작성하는 헬퍼 함수입니다.
writeHeader(writer: Writer, mt: MajorType, length: number | bigint): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
mt
CBOR의 메이저 타입입니다. 0부터 7까지의 정수 값이어야 합니다.
length
데이터 자체 또는 데이터의 바이트 길이입니다.
반환값
없음.
writePayload
import
import { writePayload } from "@tai-kun/surrealdb/cbor";
구문
writePayload
는 CBOR 데이터 아이템의 페이로드를 Writer
에 작성하는 헬퍼 함수입니다.
writePayload(writer: Writer, value: Uint8Array): void;
인수
writer
값을 Uint8Array
에 작성하기 위한 Writer
입니다.
value
CBOR 데이터 아이템의 페이로드입니다.
반환값
없음.