* Types for InternalFunction and ExternalFunction have been modified to actually typecheck ns functions against docs.
* Internal functions are required to use unknown for any params on the inner function.
* Return types for internal function inner-function must match the respective external function.
* Added new typecheck assertion function for asserting dynamic object types, to allow unknownifying params that were previously hardcoded objec structures.
* Because type assertion for parameter types and return types is enforced by InternalAPI, removed all duplicate type declarations on NetscriptFunction params and returns.
Remove some trailing whitespaces in `src/ScriptEditor/NetscriptDefinitions.d.ts` because `npm run format` complains about them. The trailing whitespaces were introduced in one of my earlier patches. Sorry about this :-(
The comment of each example is so long that, in the generated documentation for `ns.exec()` shown at
https://github.com/danielyxie/bitburner/blob/dev/markdown/bitburner.ns.exec.md
you must use the horizontal scrollbar to read the whole comment. Even if you maximize the browser window, you must still use the horizontal scrollbar to read the whole comment. Tested on Brave, Chrome, Firefox, and Opera. Fix this by limiting each line of comment to at most 90 characters.
Some typographical fixes in the documentation of `ns.exec()`. Link to the function `ns.run()`. Currently, the line `* * @example` causes API Extractor to output an asterisk (i.e. `*`) between the two code examples. The function `ns.exec()` calls the function `runScriptFromScript()` from `src/NetscriptWorker.ts`, which uses the floor function to round down the number of threads.
* RamCostGenerator will have an error if ramcosts are defined for nonexistent functions, in addition to error if not all functions have ram costs defined
* Removed a few random blank comment lines in NetscriptDefinitions.d.ts
* RamCalculation.test.ts checks exact expected static and dynamic ram usage from (almost) every function, based on defined RamCosts in RamCostGenerator.
Reverted ToastVariant back to an enum internally. Still exposed to player as just possible strings.
Changed all 1-line documentation comments to actually be 1-line. Moved some because they were not providing documentation for the thing they were trying to.
Fixes#4184. The hard-coded stock symbol `"FISG"` should be `"FSIG"`. The updated examples do not use a hard-coded stock symbol. The documentation is updated to explain under which circumstances a player can run the function `stock.getPrice()`.
Some typographical fixes for the documentation of `stock.getPrice()`. The line for RAM cost should be separated by a blank line from the sentence about the definition of a stock's price. Otherwise `npm run doc` would cram those information together onto one line.
Some typographical fixes. In the generated documentation for `tprintf()`, the documentation for the parameter `values` is missing because `@param msg` should be `@param values`.
Fix some typographical errors in the CodingContract, Hacknet, and Singularity APIs. I have yet to look over other APIs, but I don't want to make the patch any larger than it currently is.