その他のツール
write
インポート
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
の 2 つの引数を受け取ります。key
はキーの値で、map
検証しているMap
オブジェクトです。この関数がfalse
を返すとCborUnsafeMapKeyError
が投げられます。デフォルトでは"__proto__"
または"constructor"
を安全ではないキーと判定します。このオプションを指定すると、デフォルトの検証が完全に上書きされることに注意してください。デフォルトの検証に独自の検証を加える場合は、"__proto__"
または"constructor"
も安全ではないキーと判定するべきです。 isSafeObjectKey?: (key: unknown, obj: { readonly [p: string]: unknown }) => boolean
- このオプションは、プレーンオブジェクトのキーが安全であるか検証する関数です。関数は
key
とobj
の 2 つの引数を受け取ります。key
はキーの値で、obj
検証しているプレーンオブジェクトです。この関数がfalse
を返すとCborUnsafeMapKeyError
が投げられます。デフォルトでは"__proto__"
または"constructor"
を安全ではないキーと判定します。このオプションを指定すると、デフォルトの検証が完全に上書きされることに注意してください。デフォルトの検証に独自の検証を加える場合は、"__proto__"
または"constructor"
も安全ではないキーと判定するべきです。
返値
なし。
writeNumber
インポート
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 { 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 { writeByteString } from "@tai-kun/surrealdb/cbor";
構文
writeByteString
は Uint8Array
を Writer
で書き込むヘルパー関数です。
writeByteString(writer: Writer, value: Uint8Array): void;
引数
writer
値を Uint8Array
へ書き込むための Writer
です。
value
Uint8Array
です。
返値
なし。
writeUtf8String
インポート
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 { 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 { writeBoolean } from "@tai-kun/surrealdb/cbor";
構文
writeBoolean
は真偽値を Writer
で書き込むヘルパー関数です。
writeBoolean(writer: Writer, value: boolean): void;
引数
writer
値を Uint8Array
へ書き込むための Writer
です。
value
真偽値です。
返値
なし。
writeNullable
インポート
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 { 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 { writePayload } from "@tai-kun/surrealdb/cbor";
構文
writePayload
は CBOR のデータアイテムのペイロードを Writer
で書き込むヘルパー関数です。
writePayload(writer: Writer, value: Uint8Array): void;
引数
writer
値を Uint8Array
へ書き込むための Writer
です。
value
CBOR のデータアイテムのペイロードです。
返値
なし。