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