コンテンツにスキップ
これは実験的な機能です。

Range

説明

インポート

import { Range } from "@tai-kun/surrealdb/decodeonly-datatypes";
import { Range } from "@tai-kun/surrealdb/encodable-datatypes";
import { Range } from "@tai-kun/surrealdb/standard-datatypes";

.constructor()

新しい Range オブジェクトを作成します。

new Range(
source: [
begin: BoundIncluded | BoundExcluded | null,
end: BoundIncluded | BoundExcluded | null,
],
);

引数

source

範囲の最小値と最大値のペアです。無制限の場合は null です。

返値

new を通じて呼び出された場合、Range はそのインスタンスを返します。

.begin インスタンス プロパティー >=decode-only

範囲の最小値です。下限が無い場合は null です。

.begin: BoundIncluded | BoundExcluded | null;

.end インスタンス プロパティー >=decode-only

範囲の最大値です。上限が無い場合は null です。

.end: BoundIncluded | BoundExcluded | null;

.toString() インスタンス メソッド >=encodable

Range オブジェクトを SurrealQL で利用可能な文字列に変換します。

.toJSON().toSurql() はこのメソッドと同じ結果を返します。

.toString(): string;

引数

なし。

返値

範囲の文字列表現を返します。

import {
Range,
BoundIncluded,
BoundExcluded,
} from "@tai-kun/surrealdb/encodable-datatypes";
const range = new Range([new BoundIncluded(1), new BoundIncluded(3)]);
console.log(range.toString());
// -> 1..=3
const range = new Range([new BoundExcluded(1), new BoundExcluded(3)]);
console.log(range.toString());
// -> 1>..3
const range = new Range([new BoundIncluded(1), new BoundExcluded(3)]);
console.log(range.toString());
// -> 1..3
const range = new Range([new BoundIncluded(1), null]);
console.log(range.toString());
// -> 1..
const range = new Range([null, new BoundExcluded(3)]);
console.log(range.toString());
// -> ..3
const range = new Range([new BoundExcluded(1), new BoundIncluded(3)]);
console.log(range.toString());
// -> 1>..=3
const range = new Range([new BoundExcluded(1), null]);
console.log(range.toString());
// -> 1>..
const range = new Range([null, new BoundIncluded(3)]);
console.log(range.toString());
// -> ..=3
const range = new Range([null, null]);
console.log(range.toString());
// -> ..

発展

Range オブジェクトの汎用的な判定

プリセットに依存せずに値が Range オブジェクトかを判定するには isRange 関数を使うことを推奨します。この関数は instanceof を使用しないため、検証する値のプリセットが不明な場合に役立ちます。

import { isRange } from "@tai-kun/surrealdb";