Spaces:
Runtime error
Runtime error
| import { BSONValue } from './bson_value'; | |
| import { type InspectFn, defaultInspect } from './parser/utils'; | |
| /** @public */ | |
| export interface BSONSymbolExtended { | |
| $symbol: string; | |
| } | |
| /** | |
| * A class representation of the BSON Symbol type. | |
| * @public | |
| * @category BSONType | |
| */ | |
| export class BSONSymbol extends BSONValue { | |
| get _bsontype(): 'BSONSymbol' { | |
| return 'BSONSymbol'; | |
| } | |
| value!: string; | |
| /** | |
| * @param value - the string representing the symbol. | |
| */ | |
| constructor(value: string) { | |
| super(); | |
| this.value = value; | |
| } | |
| /** Access the wrapped string value. */ | |
| valueOf(): string { | |
| return this.value; | |
| } | |
| toString(): string { | |
| return this.value; | |
| } | |
| toJSON(): string { | |
| return this.value; | |
| } | |
| /** @internal */ | |
| toExtendedJSON(): BSONSymbolExtended { | |
| return { $symbol: this.value }; | |
| } | |
| /** @internal */ | |
| static fromExtendedJSON(doc: BSONSymbolExtended): BSONSymbol { | |
| return new BSONSymbol(doc.$symbol); | |
| } | |
| inspect(depth?: number, options?: unknown, inspect?: InspectFn): string { | |
| inspect ??= defaultInspect; | |
| return `new BSONSymbol(${inspect(this.value, options)})`; | |
| } | |
| } | |