컨텐츠로 건너뛰기

기타 도구

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 객체의 키가 안전한지 검증하는 함수입니다. 함수는 keymap의 두 인수를 받습니다. key는 키 값이고, map은 검증하고 있는 Map 객체입니다. 이 함수가 false를 반환하면 CborUnsafeMapKeyError가 발생합니다. 기본적으로는 "__proto__" 또는 "constructor"를 안전하지 않은 키로 판단합니다. 이 옵션을 지정하면 기본 검증이 완전히 덮어쓰인다는 점에 유의하십시오. 기본 검증에 고유한 검증을 추가하려면 "__proto__" 또는 "constructor"도 안전하지 않은 키로 판단해야 합니다.
isSafeObjectKey?: (key: unknown, obj: { readonly [p: string]: unknown }) => boolean
이 옵션은 일반 객체의 키가 안전한지 검증하는 함수입니다. 함수는 keyobj의 두 인수를 받습니다. 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";

구문

writeBigIntbigintWriter에 쓰는 헬퍼 함수입니다.

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";

구문

writeByteStringUint8ArrayWriter에 쓰는 헬퍼 함수입니다.

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";

구문

writeNullablenull 또는 undefinedWriter에 쓰는 헬퍼 함수입니다.

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 데이터 항목의 페이로드입니다.

반환값

없음.