async CallBitcodeMethod({
    libraryId,
    objectId,
    versionHash,
    writeToken,
    method,
    queryParams={},
    body={},
    headers={},
    constant=true,
    format="json"
  }) {
    if(versionHash) { objectId = this.utils.DecodeVersionHash(versionHash).objectId; }

    let path = UrlJoin("q", writeToken || versionHash || objectId, "call", method);

    if(libraryId) {
      path = UrlJoin("qlibs", libraryId, path);
    }

    let authHeader = headers.authorization || headers.Authorization;
    if(!authHeader) {
      headers.Authorization = (
        await this.authClient.AuthorizationHeader({
          libraryId,
          objectId,
          update: !constant
        })
      ).Authorization;
    }

    return ResponseToFormat(
      format,
      await this.HttpClient.Request({
        body,
        headers,
        method: constant ? "GET" : "POST",
        path,
        queryParams,
        failover: false
      })
    );
  }
/**
   * Call the specified bitcode method on the specified object
   *
   * @methodGroup URL Generation
   * @namedParams
   * @param {string=} libraryId - ID of the library
   * @param {string=} objectId - ID of the object
   * @param {string=} versionHash - Hash of the object version - if not specified, latest version will be used
   * @param {string=} writeToken - Write token of an object draft - if calling bitcode of a draft object
   * @param {string} method - Bitcode method to call
   * @param {Object=} queryParams - Query parameters to include in the request
   * @param {Object=} body - Request body to include, if calling a non-constant method
   * @param {Object=} headers - Request headers to include
   * @param {boolean=} constant=true - If specified, a GET request authenticated with an AccessRequest will be made.
   * Otherwise, a POST with an UpdateRequest will be performed
   * @param {string=} format=json - The format of the response
   *
   * @returns {Promise<format>} - The response from the call in the specified format
   */


@returns {Promise} - The response from the call in the specified format
@returns { Promise } - The response from the call in the specified format
async CallBitcodeMethod({
    libraryId,
    objectId,
    versionHash,
    writeToken,
    method,
    queryParams={},
    body={},
    headers={},
    constant=true,
    format="json"
  }) {
    if(versionHash) { objectId = this.utils.DecodeVersionHash(versionHash).objectId; }
    let path = UrlJoin("q", writeToken || versionHash || objectId, "call", method);
    if(libraryId) {
      path = UrlJoin("qlibs", libraryId, path);
    }
    let authHeader = headers.authorization || headers.Authorization;
    if(!authHeader) {
      headers.Authorization = (
        await this.authClient.AuthorizationHeader({
          libraryId,
          objectId,
          update: !constant
        })
      ).Authorization;
    }
    return ResponseToFormat(
      format,
      await this.HttpClient.Request({
        body,
        headers,
        method: constant ? "GET" : "POST",
        path,
        queryParams,
        failover: false
      })
    );
  }
async CallBitcodeMethod ( { libraryId , objectId , versionHash , writeToken , method , queryParams = { } , body = { } , headers = { } , constant = true , format = "json" } ) { if ( versionHash ) { objectId = this . utils . DecodeVersionHash ( versionHash ) . objectId ; } let path = UrlJoin ( "q" , writeToken || versionHash || objectId , "call" , method ) ; if ( libraryId ) { path = UrlJoin ( "qlibs" , libraryId , path ) ; } let authHeader = headers . authorization || headers . Authorization ; if ( ! authHeader ) { headers . Authorization = ( await this . authClient . AuthorizationHeader ( { libraryId , objectId , update : ! constant } ) ) . Authorization ; } return ResponseToFormat ( format , await this . HttpClient . Request ( { body , headers , method : constant ? "GET" : "POST" , path , queryParams , failover : false } ) ) ; }
Call the specified bitcode method on the specified object
 @methodGroup URL Generation
 @namedParams
 @param {string=} libraryId - ID of the library
 @param {string=} objectId - ID of the object
 @param {string=} versionHash - Hash of the object version - if not specified, latest version will be used
 @param {string=} writeToken - Write token of an object draft - if calling bitcode of a draft object
 @param {string} method - Bitcode method to call
 @param {Object=} queryParams - Query parameters to include in the request
 @param {Object=} body - Request body to include, if calling a non-constant method
 @param {Object=} headers - Request headers to include
 @param {boolean=} constant=true - If specified, a GET request authenticated with an AccessRequest will be made.
Call the specified bitcode method on the specified object @methodGroup URL Generation @namedParams @param { string = } libraryId - ID of the library @param { string = } objectId - ID of the object @param { string = } versionHash - Hash of the object version - if not specified latest version will be used @param { string = } writeToken - Write token of an object draft - if calling bitcode of a draft object @param { string } method - Bitcode method to call @param { Object = } queryParams - Query parameters to include in the request @param { Object = } body - Request body to include if calling a non - constant method @param { Object = } headers - Request headers to include @param { boolean = } constant = true - If specified a GET request authenticated with an AccessRequest will be made .