Files
bitburner-src/markdown/bitburner.ns.flags.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

2.3 KiB

Home > bitburner > NS > flags

NS.flags() method

Parse command line flags.

Signature:

flags(schema: [string, string | number | boolean | string[]][]): { [key: string]: ScriptArg | string[] };

Parameters

Parameter

Type

Description

schema

[string, string | number | boolean | string[]][]

Returns:

{ [key: string]: ScriptArg | string[] }

Remarks

RAM cost: 0 GB

Allows Unix-like flag parsing.

We support 2 forms:

  • Short form: the flag contains only 1 character, e.g. -v.

  • Long form: the flag contains more than 1 character, e.g. --version.

Example

export async function main(ns) {
  const data = ns.flags([
    ['delay', 0], // a default number means this flag is a number
    ['server', 'foodnstuff'], //  a default string means this flag is a string
    ['exclude', []], // a default array means this flag is a default array of string
    ['help', false], // a default boolean means this flag is a boolean
    ['v', false], // short form
  ]);
  ns.tprint(data);
}

// [home /]> run example.js
// {"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000
// {"_":[],"delay":3000,"server":"foodnstuff","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000 --server harakiri-sushi
// {"_":[],"delay":3000,"server":"harakiri-sushi","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000 --server harakiri-sushi hello world
// {"_":["hello","world"],"delay":3000,"server":"harakiri-sushi","exclude":[],"help":false,"v":false}
// [home /]> run example.js --delay 3000 --server harakiri-sushi hello world --exclude a --exclude b
// {"_":["hello","world"],"delay":3000,"server":"harakiri-sushi","exclude":["a","b"],"help":false,"v":false}
// [home /]> run example.js --help
// {"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":true,"v":false}
// [home /]> run example.js -v
// {"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":false,"v":true}