Files
bitburner-src/markdown/bitburner.codingcontract.getcontract.md
Michael Taylor dcd2f33f7c CODEBASE: Update api-documentor and api-extractor (#2320)
* Update api-documentor and api-extractor. #1566 follow-up.

I have verified that the HTML/markdown table generation bug in
[#4878](https://github.com/microsoft/rushstack/issues/4878) in rushstack
for api-documentor has been fixed as per rushstack#5256. The testcase
[repro](https://github.com/catloversg/api-documenter-bug-pr-4578) now
produces the correct expected output.

I have confirmed that the generated output in bitburner from
`npm run doc` now generated HTML tables, and correctly inserts
a blank line between the </table> and the follow line (e.g. Returns).

Stylisticly it could use some whitespace, but it is correctly rendered.

This commit is only the updated packages, not the updated generated
documentation. I assume that is automatically generated by the GitHub
workflow.

* Follow up to 5f732a6f35, include `npm run doc` changed docs.

* Add missing license info

* Fix React warning

---------

Co-authored-by: CatLover <152669316+catloversg@users.noreply.github.com>
2025-09-26 14:52:39 -07:00

1.5 KiB

Home > bitburner > CodingContract > getContract

CodingContract.getContract() method

Get various data about a specific contract.

Signature:

getContract(filename: string, host?: string): CodingContractObject;

Parameters

Parameter

Type

Description

filename

string

Filename of the contract.

host

string

(Optional) Hostname/IP of the server containing the contract. Optional. Default to the current server if not provided.

Returns:

CodingContractObject

An object containing various data about the contract specified.

Remarks

RAM cost: 15 GB

The returned object includes the type, data, description as well as methods for getting the number of tries remaining and submitting your answer. Depending on the type of the contract, the data is typed differently. Using type-narrowing, you can get the correct type of the data:

Example

const contract = ns.codingcontract.getContract(fileName, hostName);
if (contract.type === ns.enums.CodingContractName.FindLargestPrimeFactor) {
  const data = contract.data;
  // ^? data: number
}