Commit
This commit is contained in:
commit
d1c8cae2c1
1417 changed files with 326736 additions and 0 deletions
55
node_modules/bson/src/symbol.ts
generated
vendored
Normal file
55
node_modules/bson/src/symbol.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
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)})`;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue