diff --git a/markdown/bitburner.failureresult.md b/markdown/bitburner.failureresult.md new file mode 100644 index 000000000..07149d10e --- /dev/null +++ b/markdown/bitburner.failureresult.md @@ -0,0 +1,12 @@ + + +[Home](./index.md) > [bitburner](./bitburner.md) > [FailureResult](./bitburner.failureresult.md) + +## FailureResult type + + +**Signature:** + +```typescript +type FailureResult = { success: false; message: string }; +``` diff --git a/markdown/bitburner.md b/markdown/bitburner.md index 63a02910b..4fc8fff36 100644 --- a/markdown/bitburner.md +++ b/markdown/bitburner.md @@ -1803,6 +1803,16 @@ Warning: Spoiler ahead. This enum contains names of \*\*all\*\* factions. If you + + + +[FailureResult](./bitburner.failureresult.md) + + + + + + @@ -2029,6 +2039,16 @@ A stand-in for the real React.ReactNode. A [ReactElement](./bitburner.reacteleme Use React.createElement to make the ReactElement type, see [creating an element without jsx](https://react.dev/reference/react/createElement#creating-an-element-without-jsx) from the official React documentation. + + + +[Result](./bitburner.result.md) + + + + + + @@ -2171,6 +2191,16 @@ These special Bladeburner action types are only for Sleeve + + + +[SuccessResult](./bitburner.successresult.md) + + + + + + diff --git a/markdown/bitburner.result.md b/markdown/bitburner.result.md new file mode 100644 index 000000000..bae2fd6d0 --- /dev/null +++ b/markdown/bitburner.result.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [bitburner](./bitburner.md) > [Result](./bitburner.result.md) + +## Result type + + +**Signature:** + +```typescript +type Result = SuccessResult | FailureResult; +``` +**References:** [SuccessResult](./bitburner.successresult.md), [FailureResult](./bitburner.failureresult.md) + diff --git a/markdown/bitburner.successresult.md b/markdown/bitburner.successresult.md new file mode 100644 index 000000000..d8f7018f1 --- /dev/null +++ b/markdown/bitburner.successresult.md @@ -0,0 +1,12 @@ + + +[Home](./index.md) > [bitburner](./bitburner.md) > [SuccessResult](./bitburner.successresult.md) + +## SuccessResult type + + +**Signature:** + +```typescript +type SuccessResult = { success: true; message?: string } & T; +``` diff --git a/src/CodingContract/Contract.ts b/src/CodingContract/Contract.ts index 4fd525dad..a2f384561 100644 --- a/src/CodingContract/Contract.ts +++ b/src/CodingContract/Contract.ts @@ -4,7 +4,7 @@ import { CodingContractTypes } from "./ContractTypes"; import { Generic_fromJSON, Generic_toJSON, IReviverValue, constructorsForReviver } from "../utils/JSONReviver"; import { ContractFilePath, resolveContractFilePath } from "../Paths/ContractFilePath"; import { assertObject } from "../utils/TypeAssertion"; -import { Result } from "../types"; +import type { Result } from "@nsdefs"; import { CodingContractEventEmitter } from "./CodingContractEventEmitter"; // Numeric enum diff --git a/src/Corporation/Actions.ts b/src/Corporation/Actions.ts index 368535b9a..cae2faa34 100644 --- a/src/Corporation/Actions.ts +++ b/src/Corporation/Actions.ts @@ -1,5 +1,5 @@ import { Player } from "@player"; -import { CorpResearchName, CorpSmartSupplyOption } from "@nsdefs"; +import type { CorpResearchName, CorpSmartSupplyOption, Result } from "@nsdefs"; import { MaterialInfo } from "./MaterialInfo"; import { Corporation } from "./Corporation"; @@ -25,7 +25,7 @@ import { canCreateCorporation, convertCreatingCorporationCheckResultToMessage, } from "./helpers"; -import { PositiveInteger, Result } from "../types"; +import type { PositiveInteger } from "../types"; import { Factions } from "../Faction/Factions"; import { throwIfReachable } from "../utils/helpers/throwIfReachable"; import { formatMoney, formatNumber } from "../ui/formatNumber"; diff --git a/src/Corporation/Corporation.ts b/src/Corporation/Corporation.ts index 32c17f086..0cfbc4018 100644 --- a/src/Corporation/Corporation.ts +++ b/src/Corporation/Corporation.ts @@ -1,6 +1,6 @@ import type { PromisePair } from "../Types/Promises"; import { Player } from "@player"; -import { CorpStateName, InvestmentOffer } from "@nsdefs"; +import type { CorpStateName, InvestmentOffer, Result } from "@nsdefs"; import { CorpUnlockName, CorpUpgradeName, LiteratureName } from "@enums"; import { CorporationState } from "./CorporationState"; import { CorpUnlocks } from "./data/CorporationUnlocks"; @@ -17,7 +17,7 @@ import { dialogBoxCreate } from "../ui/React/DialogBox"; import { constructorsForReviver, Generic_toJSON, Generic_fromJSON, IReviverValue } from "../utils/JSONReviver"; import { JSONMap, JSONSet } from "../Types/Jsonable"; import { formatMoney } from "../ui/formatNumber"; -import { isPositiveInteger, type Result } from "../types"; +import { isPositiveInteger } from "../types"; import { createEnumKeyedRecord, getRecordValues } from "../Types/Record"; import { getKeyList } from "../utils/helpers/getKeyList"; import { assertObject } from "../utils/TypeAssertion"; diff --git a/src/CotMG/Helper.tsx b/src/CotMG/Helper.tsx index 25c0aadc7..4a325ca5c 100644 --- a/src/CotMG/Helper.tsx +++ b/src/CotMG/Helper.tsx @@ -5,7 +5,7 @@ import { Reviver } from "../utils/GenericReviver"; import { BaseGift } from "./BaseGift"; import { StaneksGift } from "./StaneksGift"; -import { Result } from "../types"; +import type { Result } from "@nsdefs"; import { isStanekGiftImplemented } from "../utils/ErrorHelper"; export let staneksGift = new StaneksGift(); diff --git a/src/Documentation/pages.ts b/src/Documentation/pages.ts index b14eca0ff..20e4b25f4 100644 --- a/src/Documentation/pages.ts +++ b/src/Documentation/pages.ts @@ -458,6 +458,7 @@ import nsDoc_bitburner_factionworktask_factionworktype_md from "../../markdown/b import nsDoc_bitburner_factionworktask_md from "../../markdown/bitburner.factionworktask.md?raw"; import nsDoc_bitburner_factionworktask_type_md from "../../markdown/bitburner.factionworktask.type.md?raw"; import nsDoc_bitburner_factionworktype_md from "../../markdown/bitburner.factionworktype.md?raw"; +import nsDoc_bitburner_failureresult_md from "../../markdown/bitburner.failureresult.md?raw"; import nsDoc_bitburner_filemetadata_atime_md from "../../markdown/bitburner.filemetadata.atime.md?raw"; import nsDoc_bitburner_filemetadata_btime_md from "../../markdown/bitburner.filemetadata.btime.md?raw"; import nsDoc_bitburner_filemetadata_md from "../../markdown/bitburner.filemetadata.md?raw"; @@ -1151,6 +1152,7 @@ import nsDoc_bitburner_resetinfo_lastnodereset_md from "../../markdown/bitburner import nsDoc_bitburner_resetinfo_md from "../../markdown/bitburner.resetinfo.md?raw"; import nsDoc_bitburner_resetinfo_ownedaugs_md from "../../markdown/bitburner.resetinfo.ownedaugs.md?raw"; import nsDoc_bitburner_resetinfo_ownedsf_md from "../../markdown/bitburner.resetinfo.ownedsf.md?raw"; +import nsDoc_bitburner_result_md from "../../markdown/bitburner.result.md?raw"; import nsDoc_bitburner_runningscript_args_md from "../../markdown/bitburner.runningscript.args.md?raw"; import nsDoc_bitburner_runningscript_dynamicramusage_md from "../../markdown/bitburner.runningscript.dynamicramusage.md?raw"; import nsDoc_bitburner_runningscript_filename_md from "../../markdown/bitburner.runningscript.filename.md?raw"; @@ -1388,6 +1390,7 @@ import nsDoc_bitburner_studytask_classtype_md from "../../markdown/bitburner.stu import nsDoc_bitburner_studytask_location_md from "../../markdown/bitburner.studytask.location.md?raw"; import nsDoc_bitburner_studytask_md from "../../markdown/bitburner.studytask.md?raw"; import nsDoc_bitburner_studytask_type_md from "../../markdown/bitburner.studytask.type.md?raw"; +import nsDoc_bitburner_successresult_md from "../../markdown/bitburner.successresult.md?raw"; import nsDoc_bitburner_tailproperties_fontsize_md from "../../markdown/bitburner.tailproperties.fontsize.md?raw"; import nsDoc_bitburner_tailproperties_height_md from "../../markdown/bitburner.tailproperties.height.md?raw"; import nsDoc_bitburner_tailproperties_md from "../../markdown/bitburner.tailproperties.md?raw"; @@ -1968,6 +1971,7 @@ AllPages["nsDoc/bitburner.factionworktask.factionworktype.md"] = nsDoc_bitburner AllPages["nsDoc/bitburner.factionworktask.md"] = nsDoc_bitburner_factionworktask_md; AllPages["nsDoc/bitburner.factionworktask.type.md"] = nsDoc_bitburner_factionworktask_type_md; AllPages["nsDoc/bitburner.factionworktype.md"] = nsDoc_bitburner_factionworktype_md; +AllPages["nsDoc/bitburner.failureresult.md"] = nsDoc_bitburner_failureresult_md; AllPages["nsDoc/bitburner.filemetadata.atime.md"] = nsDoc_bitburner_filemetadata_atime_md; AllPages["nsDoc/bitburner.filemetadata.btime.md"] = nsDoc_bitburner_filemetadata_btime_md; AllPages["nsDoc/bitburner.filemetadata.md"] = nsDoc_bitburner_filemetadata_md; @@ -2661,6 +2665,7 @@ AllPages["nsDoc/bitburner.resetinfo.lastnodereset.md"] = nsDoc_bitburner_resetin AllPages["nsDoc/bitburner.resetinfo.md"] = nsDoc_bitburner_resetinfo_md; AllPages["nsDoc/bitburner.resetinfo.ownedaugs.md"] = nsDoc_bitburner_resetinfo_ownedaugs_md; AllPages["nsDoc/bitburner.resetinfo.ownedsf.md"] = nsDoc_bitburner_resetinfo_ownedsf_md; +AllPages["nsDoc/bitburner.result.md"] = nsDoc_bitburner_result_md; AllPages["nsDoc/bitburner.runningscript.args.md"] = nsDoc_bitburner_runningscript_args_md; AllPages["nsDoc/bitburner.runningscript.dynamicramusage.md"] = nsDoc_bitburner_runningscript_dynamicramusage_md; AllPages["nsDoc/bitburner.runningscript.filename.md"] = nsDoc_bitburner_runningscript_filename_md; @@ -2898,6 +2903,7 @@ AllPages["nsDoc/bitburner.studytask.classtype.md"] = nsDoc_bitburner_studytask_c AllPages["nsDoc/bitburner.studytask.location.md"] = nsDoc_bitburner_studytask_location_md; AllPages["nsDoc/bitburner.studytask.md"] = nsDoc_bitburner_studytask_md; AllPages["nsDoc/bitburner.studytask.type.md"] = nsDoc_bitburner_studytask_type_md; +AllPages["nsDoc/bitburner.successresult.md"] = nsDoc_bitburner_successresult_md; AllPages["nsDoc/bitburner.tailproperties.fontsize.md"] = nsDoc_bitburner_tailproperties_fontsize_md; AllPages["nsDoc/bitburner.tailproperties.height.md"] = nsDoc_bitburner_tailproperties_height_md; AllPages["nsDoc/bitburner.tailproperties.md"] = nsDoc_bitburner_tailproperties_md; diff --git a/src/Faction/FactionHelpers.tsx b/src/Faction/FactionHelpers.tsx index 1e2266c6f..dde0c49db 100644 --- a/src/Faction/FactionHelpers.tsx +++ b/src/Faction/FactionHelpers.tsx @@ -20,7 +20,7 @@ import { SFC32RNG } from "../Casino/RNG"; import { isFactionWork } from "../Work/FactionWork"; import { getAugCost } from "../Augmentation/AugmentationHelpers"; import { getRecordKeys } from "../Types/Record"; -import type { Result } from "../types"; +import type { Result } from "@nsdefs"; export function inviteToFaction(faction: Faction): void { if (faction.alreadyInvited || faction.isMember) return; diff --git a/src/Hacknet/HacknetHelpers.tsx b/src/Hacknet/HacknetHelpers.tsx index 4f5438d5b..439d03ce8 100644 --- a/src/Hacknet/HacknetHelpers.tsx +++ b/src/Hacknet/HacknetHelpers.tsx @@ -25,7 +25,7 @@ import { Companies } from "../Company/Companies"; import { isMember } from "../utils/EnumHelper"; import { canAccessBitNodeFeature } from "../BitNode/BitNodeUtils"; import { checkServerOwnership, ServerOwnershipType } from "../Server/ServerHelpers"; -import { Result } from "../types"; +import type { Result } from "@nsdefs"; import { exceptionAlert } from "../utils/helpers/exceptionAlert"; import { HashUpgradeEnum } from "./Enums"; diff --git a/src/Hacknet/HashManager.ts b/src/Hacknet/HashManager.ts index 0a0493f40..768ab3c99 100644 --- a/src/Hacknet/HashManager.ts +++ b/src/Hacknet/HashManager.ts @@ -10,7 +10,7 @@ import { HashUpgrades } from "./HashUpgrades"; import { HashUpgrade } from "./HashUpgrade"; import { Generic_fromJSON, Generic_toJSON, IReviverValue, constructorsForReviver } from "../utils/JSONReviver"; -import { Result } from "../types"; +import type { Result } from "@nsdefs"; import { HashUpgradeEnum } from "./Enums"; export class HashManager { diff --git a/src/NetscriptFunctions/Infiltration.ts b/src/NetscriptFunctions/Infiltration.ts index 928dc5699..af4488b1c 100644 --- a/src/NetscriptFunctions/Infiltration.ts +++ b/src/NetscriptFunctions/Infiltration.ts @@ -1,5 +1,5 @@ import type { InternalAPI, NetscriptContext } from "../Netscript/APIWrapper"; -import { Infiltration as NetscriptInfiltation, InfiltrationLocation } from "@nsdefs"; +import type { Infiltration as NetscriptInfiltation, InfiltrationLocation } from "@nsdefs"; import { FactionName, LocationName } from "@enums"; import { Location } from "../Locations/Location"; import { Locations } from "../Locations/Locations"; diff --git a/src/NetscriptWorker.ts b/src/NetscriptWorker.ts index 18ee8c1d1..419f06930 100644 --- a/src/NetscriptWorker.ts +++ b/src/NetscriptWorker.ts @@ -25,7 +25,7 @@ import { roundToTwo } from "./utils/helpers/roundToTwo"; import { parseCommand } from "./Terminal/Parser"; import { Terminal } from "./Terminal"; -import { ScriptArg } from "@nsdefs"; +import type { ScriptArg, Result } from "@nsdefs"; import { CompleteRunOptions, getRunningScriptsByArgs } from "./Netscript/NetscriptHelpers"; import { handleUnknownError } from "./utils/ErrorHandler"; import { isLegacyScript, resolveScriptFilePath, ScriptFilePath } from "./Paths/ScriptFilePath"; @@ -33,7 +33,6 @@ import { Player } from "@player"; import { UIEventEmitter, UIEventType } from "./ui/UIEventEmitter"; import { getErrorMessageWithStackAndCause } from "./utils/ErrorHelper"; import { exceptionAlert } from "./utils/helpers/exceptionAlert"; -import { Result } from "./types"; export const NetscriptPorts = new Map(); diff --git a/src/PersonObjects/Player/PlayerObjectGangMethods.ts b/src/PersonObjects/Player/PlayerObjectGangMethods.ts index 0c02a2981..7cdd00086 100644 --- a/src/PersonObjects/Player/PlayerObjectGangMethods.ts +++ b/src/PersonObjects/Player/PlayerObjectGangMethods.ts @@ -7,7 +7,7 @@ import { Gang } from "../../Gang/Gang"; import { GangConstants } from "../../Gang/data/Constants"; import { isFactionWork } from "../../Work/FactionWork"; import { canAccessBitNodeFeature } from "../../BitNode/BitNodeUtils"; -import { Result } from "../../types"; +import type { Result } from "@nsdefs"; export function canAccessGang(this: PlayerObject): Result { if (this.bitNodeOptions.disableGang) { diff --git a/src/PersonObjects/Player/PlayerObjectGeneralMethods.ts b/src/PersonObjects/Player/PlayerObjectGeneralMethods.ts index 16619a3c0..086664a8d 100644 --- a/src/PersonObjects/Player/PlayerObjectGeneralMethods.ts +++ b/src/PersonObjects/Player/PlayerObjectGeneralMethods.ts @@ -54,7 +54,7 @@ import { canAccessBitNodeFeature } from "../../BitNode/BitNodeUtils"; import { AlertEvents } from "../../ui/React/AlertManager"; import { Augmentations } from "../../Augmentation/Augmentations"; import { PlayerEventType, PlayerEvents } from "./PlayerEvents"; -import { Result } from "../../types"; +import type { Result } from "@nsdefs"; import type { AchievementId } from "../../Achievements/Types"; import { Infiltration } from "../../Infiltration/Infiltration"; diff --git a/src/ScriptEditor/NetscriptDefinitions.d.ts b/src/ScriptEditor/NetscriptDefinitions.d.ts index 2f6b2f811..d0c7aa163 100644 --- a/src/ScriptEditor/NetscriptDefinitions.d.ts +++ b/src/ScriptEditor/NetscriptDefinitions.d.ts @@ -3,6 +3,13 @@ */ type _ValueOf = T[keyof T]; +/** @public */ +type SuccessResult = { success: true; message?: string } & T; +/** @public */ +type FailureResult = { success: false; message: string }; +/** @public */ +type Result = SuccessResult | FailureResult; + /** All netscript definitions */ /** diff --git a/src/Settings/Settings.ts b/src/Settings/Settings.ts index 0ac64ae6c..5bb390bdf 100644 --- a/src/Settings/Settings.ts +++ b/src/Settings/Settings.ts @@ -4,7 +4,7 @@ import { defaultStyles } from "../Themes/Styles"; import { CursorStyle, CursorBlinking, WordWrapOptions, StickyScroll } from "../ScriptEditor/ui/Options"; import { defaultMonacoTheme } from "../ScriptEditor/ui/themes"; import { assertObject } from "../utils/TypeAssertion"; -import { Result } from "../types"; +import type { Result } from "@nsdefs"; import { assertAndSanitizeEditorTheme, assertAndSanitizeKeyBindings, diff --git a/src/types.ts b/src/types.ts index 1d77ca71f..384bbdd8d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -31,10 +31,6 @@ export interface IReturnStatus { msg?: string; } -type SuccessResult = { success: true; message?: string } & T; -type FailureResult = { success: false; message: string }; -export type Result = SuccessResult | FailureResult; - /** Defines the minimum and maximum values for a range. * It is up to the consumer if these values are inclusive or exclusive. * It is up to the implementor to ensure max > min. */