@elite-dangerous-almanac/core 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PROVENANCE/ships/SOURCES.md +23 -0
- package/README.md +3 -2
- package/THIRD_PARTY_NOTICES.md +24 -2
- package/dist/astro/body-orbit.d.ts +174 -0
- package/dist/astro/body-orbit.js +1 -0
- package/dist/astro/body-orbit.js.map +1 -0
- package/dist/astro/body-physics.d.ts +228 -0
- package/dist/astro/body-physics.js +1 -0
- package/dist/astro/body-physics.js.map +1 -0
- package/dist/astro/body-rings.d.ts +223 -0
- package/dist/astro/body-rings.js +1 -0
- package/dist/astro/body-rings.js.map +1 -0
- package/dist/astro/codex-region-lookup.js +1 -1
- package/dist/astro/codex-region-lookup.js.map +1 -1
- package/dist/astro/index.d.ts +38 -1
- package/dist/astro/index.js +1 -1
- package/dist/astro/nebulae.d.ts +4 -4
- package/dist/astro/procedural-system.js +1 -1
- package/dist/astro/star-physics.d.ts +255 -0
- package/dist/astro/star-physics.js +1 -0
- package/dist/astro/star-physics.js.map +1 -0
- package/dist/body-scan-CEUYjCfH.d.ts +416 -0
- package/dist/chunk-37JIMWLK.js +1 -0
- package/dist/chunk-37JIMWLK.js.map +1 -0
- package/dist/{chunk-PA5EITW5.js → chunk-3LZXB2MC.js} +1 -1
- package/dist/{chunk-PA5EITW5.js.map → chunk-3LZXB2MC.js.map} +1 -1
- package/dist/chunk-3RTUSDQF.js +1 -0
- package/dist/chunk-3RTUSDQF.js.map +1 -0
- package/dist/chunk-4CBMQULR.js +1 -0
- package/dist/{chunk-4ZGUSHTP.js.map → chunk-4CBMQULR.js.map} +1 -1
- package/dist/{chunk-GZYPQIO2.js → chunk-4OTQBHQL.js} +1 -1
- package/dist/chunk-4OTQBHQL.js.map +1 -0
- package/dist/{chunk-QTAMQ6ME.js → chunk-5VWACBTN.js} +1 -1
- package/dist/chunk-65FZECUX.js +1 -0
- package/dist/chunk-65FZECUX.js.map +1 -0
- package/dist/chunk-6BFQIYGZ.js +1 -0
- package/dist/chunk-6BFQIYGZ.js.map +1 -0
- package/dist/chunk-6HA2YIKW.js +1 -0
- package/dist/chunk-6HA2YIKW.js.map +1 -0
- package/dist/{chunk-7EE5VIHR.js → chunk-6HMIF2RJ.js} +1 -1
- package/dist/chunk-6WTUY6ZX.js +1 -0
- package/dist/{chunk-V3AEUBHV.js.map → chunk-6WTUY6ZX.js.map} +1 -1
- package/dist/chunk-77TT4K53.js +1 -0
- package/dist/{chunk-MRTTQYT5.js → chunk-7EWZGDWY.js} +1 -1
- package/dist/{chunk-TBZJIQ5P.js → chunk-7TVFV3VO.js} +1 -1
- package/dist/chunk-7TVFV3VO.js.map +1 -0
- package/dist/chunk-7ZERP4TB.js +1 -0
- package/dist/{chunk-QY3L5BKN.js.map → chunk-7ZERP4TB.js.map} +1 -1
- package/dist/{chunk-Y6KJJMIM.js → chunk-A4QKXXZD.js} +1 -1
- package/dist/{chunk-Q5XOGATC.js → chunk-AIEC3LBT.js} +1 -1
- package/dist/chunk-B5VTFOK4.js +1 -0
- package/dist/chunk-B5VTFOK4.js.map +1 -0
- package/dist/chunk-DAQ3PJ4R.js +1 -0
- package/dist/chunk-DAQ3PJ4R.js.map +1 -0
- package/dist/{chunk-JGOAQLYW.js → chunk-F44QX47A.js} +1 -1
- package/dist/{chunk-EVJ32UF3.js → chunk-FA5JVXVG.js} +1 -1
- package/dist/{chunk-EVJ32UF3.js.map → chunk-FA5JVXVG.js.map} +1 -1
- package/dist/chunk-GBTCWNO6.js +1 -0
- package/dist/chunk-GBTCWNO6.js.map +1 -0
- package/dist/chunk-GGQMIQPC.js +1 -0
- package/dist/chunk-GGQMIQPC.js.map +1 -0
- package/dist/{chunk-EYGVDJ2I.js → chunk-GMTAFUAG.js} +1 -1
- package/dist/{chunk-Z43DN4PY.js → chunk-GTEHRZPN.js} +1 -1
- package/dist/{chunk-Z43DN4PY.js.map → chunk-GTEHRZPN.js.map} +1 -1
- package/dist/{chunk-HKXXFIRI.js → chunk-ITKZKREP.js} +1 -1
- package/dist/{chunk-OYR5HUQZ.js → chunk-IWFQ4ZKF.js} +1 -1
- package/dist/{chunk-ZCEAPJDH.js → chunk-J7BM5NGK.js} +1 -1
- package/dist/chunk-JMAXSXXQ.js +1 -0
- package/dist/chunk-JMAXSXXQ.js.map +1 -0
- package/dist/chunk-JO52LYO3.js +1 -0
- package/dist/chunk-M2TCZKRT.js +1 -0
- package/dist/chunk-M2TCZKRT.js.map +1 -0
- package/dist/chunk-M4FZRDAH.js +1 -0
- package/dist/chunk-M4FZRDAH.js.map +1 -0
- package/dist/chunk-NEXDA73Y.js +1 -0
- package/dist/chunk-NEXDA73Y.js.map +1 -0
- package/dist/chunk-OJC6AUL7.js +1 -0
- package/dist/chunk-OJC6AUL7.js.map +1 -0
- package/dist/chunk-P2MUFVJC.js +1 -0
- package/dist/chunk-P2MUFVJC.js.map +1 -0
- package/dist/{chunk-FYVPZBXN.js → chunk-Q5ALV3DI.js} +1 -1
- package/dist/{chunk-SQS7672E.js → chunk-Q6YDPREF.js} +1 -1
- package/dist/chunk-SS6XK336.js +1 -0
- package/dist/chunk-SS6XK336.js.map +1 -0
- package/dist/{chunk-OVUHQEH5.js → chunk-T4MKUKYS.js} +1 -1
- package/dist/{chunk-OVUHQEH5.js.map → chunk-T4MKUKYS.js.map} +1 -1
- package/dist/chunk-TMXKC6JL.js +1 -0
- package/dist/chunk-TMXKC6JL.js.map +1 -0
- package/dist/{chunk-XUHAPOM6.js → chunk-VEEBJFJ7.js} +1 -1
- package/dist/{chunk-L747RVPO.js → chunk-VQJXRPYI.js} +1 -1
- package/dist/{chunk-L747RVPO.js.map → chunk-VQJXRPYI.js.map} +1 -1
- package/dist/chunk-VTMCSCXV.js +1 -0
- package/dist/chunk-VTMCSCXV.js.map +1 -0
- package/dist/chunk-XQJERZUS.js +1 -0
- package/dist/chunk-XQJERZUS.js.map +1 -0
- package/dist/chunk-ZZ376WHL.js +1 -0
- package/dist/chunk-ZZ376WHL.js.map +1 -0
- package/dist/commodities/commodities-all.js +1 -1
- package/dist/commodities/commodities-rare.js +1 -1
- package/dist/commodities/commodities-standard.js +1 -1
- package/dist/commodities/commodities.d.ts +1 -1
- package/dist/commodities/commodities.js +1 -1
- package/dist/commodities/index.js +1 -1
- package/dist/equipment/index.js +1 -1
- package/dist/equipment/upgrade-costs.js +1 -1
- package/dist/equipment/upgrade-costs.js.map +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/materials/index.js +1 -1
- package/dist/materials/materials-all.js +1 -1
- package/dist/materials/materials-encoded.js +1 -1
- package/dist/materials/materials-manufactured.js +1 -1
- package/dist/materials/materials-raw.js +1 -1
- package/dist/materials/materials.d.ts +1 -1
- package/dist/materials/materials.js +1 -1
- package/dist/materials/micro-resources-all.js +1 -1
- package/dist/materials/micro-resources.d.ts +1 -1
- package/dist/materials/micro-resources.js +1 -1
- package/dist/ships/armour.js +1 -1
- package/dist/ships/build-metrics.d.ts +21 -232
- package/dist/ships/build-metrics.js +1 -1
- package/dist/ships/distributor.d.ts +1 -1
- package/dist/ships/distributor.js +1 -1
- package/dist/ships/heat.d.ts +1 -1
- package/dist/ships/heat.js +1 -1
- package/dist/ships/index.d.ts +3 -3
- package/dist/ships/index.js +1 -1
- package/dist/ships/jump-range.js +1 -1
- package/dist/ships/loadout-calculations.d.ts +2 -2
- package/dist/ships/loadout-validation.d.ts +111 -5
- package/dist/ships/loadout-validation.js +1 -1
- package/dist/ships/mobility-capacitor.d.ts +1 -1
- package/dist/ships/mobility-capacitor.js +1 -1
- package/dist/ships/mobility.js +1 -1
- package/dist/ships/modules-all.js +1 -1
- package/dist/ships/modules-core.js +1 -1
- package/dist/ships/modules-internal.js +1 -1
- package/dist/ships/modules.d.ts +21 -1
- package/dist/ships/modules.js +1 -1
- package/dist/ships/power.js +1 -1
- package/dist/ships/pre-engineered-stats.d.ts +17 -10
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/resistances.js +1 -1
- package/dist/ships/shield-capacitor.d.ts +1 -1
- package/dist/ships/shield-capacitor.js +1 -1
- package/dist/ships/shield-recovery.js +1 -1
- package/dist/ships/shields.d.ts +1 -1
- package/dist/ships/shields.js +1 -1
- package/dist/ships/ship-loadout.d.ts +140 -18
- package/dist/ships/ship-loadout.js +1 -1
- package/dist/ships/slef.d.ts +4 -1
- package/dist/ships/slef.js +1 -1
- package/dist/ships/weapons-capacitor.js +1 -1
- package/dist/ships/weapons.js +1 -1
- package/package.json +18 -3
- package/dist/chunk-4KJ7CR74.js +0 -1
- package/dist/chunk-4KJ7CR74.js.map +0 -1
- package/dist/chunk-4ZGUSHTP.js +0 -1
- package/dist/chunk-6L56LWTT.js +0 -1
- package/dist/chunk-6L56LWTT.js.map +0 -1
- package/dist/chunk-6O4NRRSB.js +0 -1
- package/dist/chunk-6O4NRRSB.js.map +0 -1
- package/dist/chunk-7TQ2X6Q3.js +0 -1
- package/dist/chunk-7TQ2X6Q3.js.map +0 -1
- package/dist/chunk-B4ZSTOM4.js +0 -1
- package/dist/chunk-B4ZSTOM4.js.map +0 -1
- package/dist/chunk-D6YEHR5S.js +0 -1
- package/dist/chunk-D6YEHR5S.js.map +0 -1
- package/dist/chunk-EVW4Z4CB.js +0 -1
- package/dist/chunk-EVW4Z4CB.js.map +0 -1
- package/dist/chunk-GVNTKCVF.js +0 -1
- package/dist/chunk-GVNTKCVF.js.map +0 -1
- package/dist/chunk-GZYPQIO2.js.map +0 -1
- package/dist/chunk-JQG4C67D.js +0 -1
- package/dist/chunk-OYFMHDYT.js +0 -1
- package/dist/chunk-OYFMHDYT.js.map +0 -1
- package/dist/chunk-PY5L6WC5.js +0 -1
- package/dist/chunk-PY5L6WC5.js.map +0 -1
- package/dist/chunk-Q2L75GSI.js +0 -1
- package/dist/chunk-Q2L75GSI.js.map +0 -1
- package/dist/chunk-QJ7GB6FF.js +0 -1
- package/dist/chunk-QJ7GB6FF.js.map +0 -1
- package/dist/chunk-QY3L5BKN.js +0 -1
- package/dist/chunk-RRYBSAPX.js +0 -1
- package/dist/chunk-RRYBSAPX.js.map +0 -1
- package/dist/chunk-TBZJIQ5P.js.map +0 -1
- package/dist/chunk-V3AEUBHV.js +0 -1
- package/dist/chunk-V4C6FIE2.js +0 -1
- package/dist/chunk-VYDQHPY2.js +0 -1
- package/dist/chunk-VYDQHPY2.js.map +0 -1
- package/dist/chunk-YXPZ7QQB.js +0 -1
- package/dist/chunk-YXPZ7QQB.js.map +0 -1
- /package/dist/{chunk-QTAMQ6ME.js.map → chunk-5VWACBTN.js.map} +0 -0
- /package/dist/{chunk-7EE5VIHR.js.map → chunk-6HMIF2RJ.js.map} +0 -0
- /package/dist/{chunk-JQG4C67D.js.map → chunk-77TT4K53.js.map} +0 -0
- /package/dist/{chunk-MRTTQYT5.js.map → chunk-7EWZGDWY.js.map} +0 -0
- /package/dist/{chunk-Y6KJJMIM.js.map → chunk-A4QKXXZD.js.map} +0 -0
- /package/dist/{chunk-Q5XOGATC.js.map → chunk-AIEC3LBT.js.map} +0 -0
- /package/dist/{chunk-JGOAQLYW.js.map → chunk-F44QX47A.js.map} +0 -0
- /package/dist/{chunk-EYGVDJ2I.js.map → chunk-GMTAFUAG.js.map} +0 -0
- /package/dist/{chunk-HKXXFIRI.js.map → chunk-ITKZKREP.js.map} +0 -0
- /package/dist/{chunk-OYR5HUQZ.js.map → chunk-IWFQ4ZKF.js.map} +0 -0
- /package/dist/{chunk-ZCEAPJDH.js.map → chunk-J7BM5NGK.js.map} +0 -0
- /package/dist/{chunk-V4C6FIE2.js.map → chunk-JO52LYO3.js.map} +0 -0
- /package/dist/{chunk-FYVPZBXN.js.map → chunk-Q5ALV3DI.js.map} +0 -0
- /package/dist/{chunk-SQS7672E.js.map → chunk-Q6YDPREF.js.map} +0 -0
- /package/dist/{chunk-XUHAPOM6.js.map → chunk-VEEBJFJ7.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{normalizeKey}from"./chunk-BKWLI44T.js";import{truncate}from"./chunk-PKWVG2JY.js";var SYNTHETIC_HEADER=Object.freeze({appName:"",appVersion:""});var isRecord=value=>typeof value==="object"&&value!==null&&!Array.isArray(value);var isOptionalString=value=>value===void 0||typeof value==="string";var isOptionalFiniteNumber=value=>value===void 0||typeof value==="number"&&Number.isFinite(value);var isOptionalNumberInRange=(value,minimum,maximum=Number.POSITIVE_INFINITY)=>value===void 0||typeof value==="number"&&Number.isFinite(value)&&value>=minimum&&value<=maximum;var isOptionalIntegerInRange=(value,minimum,maximum)=>{if(value===void 0)return true;return typeof value==="number"&&Number.isInteger(value)&&value>=minimum&&value<=maximum};var CONSTRAINT_MESSAGES={objectRequired:"must be an object",stringRequired:"must be a string",booleanRequired:"must be a boolean",arrayRequired:"must be an array",finiteNumberRequired:"must be a finite number",nonNegativeNumberRequired:"must be a non-negative number",priorityRange:"must be an integer from 0 to 4",engineeringLevelRange:"must be an integer from 1 to 5",unitInterval:"must be a number from 0 to 1",binaryInteger:"must be 0 or 1",versionRequired:"must be a string or finite number",loadoutEventRequired:'must be "Loadout"',validLoadoutRequired:"is not a valid Loadout event"};var invalid=(code,path,constraint)=>({code:code,path:path,constraint:constraint,reason:CONSTRAINT_MESSAGES[constraint]});function diagnoseEngineering(value,path){if(!isRecord(value))return invalid("invalidEngineering",path,"objectRequired");if(typeof value.BlueprintName!=="string")return invalid("invalidEngineering",`${path}.BlueprintName`,"stringRequired");if(!isOptionalIntegerInRange(value.Level,1,5)||value.Level===void 0)return invalid("invalidEngineering",`${path}.Level`,"engineeringLevelRange");if(!isOptionalNumberInRange(value.Quality,0,1)||value.Quality===void 0)return invalid("invalidEngineering",`${path}.Quality`,"unitInterval");if(!isOptionalString(value.ExperimentalEffect))return invalid("invalidEngineering",`${path}.ExperimentalEffect`,"stringRequired");if(!isOptionalString(value.ExperimentalEffect_Localised))return invalid("invalidEngineering",`${path}.ExperimentalEffect_Localised`,"stringRequired");if(value.Modifiers!==void 0){if(!Array.isArray(value.Modifiers))return invalid("invalidEngineering",`${path}.Modifiers`,"arrayRequired");for(let index=0;index<value.Modifiers.length;index+=1){const modifier=value.Modifiers[index];const modifierPath=`${path}.Modifiers[${index}]`;if(!isRecord(modifier))return invalid("invalidEngineering",modifierPath,"objectRequired");if(typeof modifier.Label!=="string")return invalid("invalidEngineering",`${modifierPath}.Label`,"stringRequired");if(!isOptionalFiniteNumber(modifier.Value))return invalid("invalidEngineering",`${modifierPath}.Value`,"finiteNumberRequired");if(!isOptionalFiniteNumber(modifier.OriginalValue))return invalid("invalidEngineering",`${modifierPath}.OriginalValue`,"finiteNumberRequired");if(!isOptionalString(modifier.ValueStr))return invalid("invalidEngineering",`${modifierPath}.ValueStr`,"stringRequired");if(!isOptionalIntegerInRange(modifier.LessIsGood,0,1))return invalid("invalidEngineering",`${modifierPath}.LessIsGood`,"binaryInteger")}}return null}function diagnoseModule(value,path){if(!isRecord(value))return invalid("invalidModule",path,"objectRequired");if(typeof value.Slot!=="string")return invalid("invalidModule",`${path}.Slot`,"stringRequired");if(typeof value.Item!=="string")return invalid("invalidModule",`${path}.Item`,"stringRequired");if(value.On!==void 0&&typeof value.On!=="boolean")return invalid("invalidModule",`${path}.On`,"booleanRequired");if(!isOptionalIntegerInRange(value.Priority,0,4))return invalid("invalidModule",`${path}.Priority`,"priorityRange");if(!isOptionalNumberInRange(value.Health,0,1))return invalid("invalidModule",`${path}.Health`,"unitInterval");if(!isOptionalNumberInRange(value.Value,0))return invalid("invalidModule",`${path}.Value`,"nonNegativeNumberRequired");if(value.Engineering!==void 0)return diagnoseEngineering(value.Engineering,`${path}.Engineering`);return null}function diagnoseHeader(value,path){if(!isRecord(value))return invalid("invalidHeader",path,"objectRequired");if(typeof value.appName!=="string")return invalid("invalidHeader",`${path}.appName`,"stringRequired");if(typeof value.appVersion!=="string"&&!(typeof value.appVersion==="number"&&Number.isFinite(value.appVersion)))return invalid("invalidHeader",`${path}.appVersion`,"versionRequired");if(!isOptionalString(value.appURL))return invalid("invalidHeader",`${path}.appURL`,"stringRequired");if(value.appCustomProperties!==void 0&&!isRecord(value.appCustomProperties))return invalid("invalidHeader",`${path}.appCustomProperties`,"objectRequired");return null}function diagnoseLoadout(value,path){if(!isRecord(value))return invalid("invalidLoadout",path,"objectRequired");if(typeof value.Ship!=="string")return invalid("invalidLoadout",`${path}.Ship`,"stringRequired");if(!Array.isArray(value.Modules))return invalid("invalidLoadout",`${path}.Modules`,"arrayRequired");if(value.event!==void 0&&value.event!=="Loadout")return invalid("invalidLoadout",`${path}.event`,"loadoutEventRequired");for(const field of["ShipName","ShipIdent"]){if(!isOptionalString(value[field]))return invalid("invalidLoadout",`${path}.${field}`,"stringRequired")}for(const field of["HullValue","ModulesValue","UnladenMass","CargoCapacity","MaxJumpRange","Rebuy"]){if(!isOptionalNumberInRange(value[field],0))return invalid("invalidLoadout",`${path}.${field}`,"nonNegativeNumberRequired")}if(value.FuelCapacity!==void 0){if(!isRecord(value.FuelCapacity))return invalid("invalidLoadout",`${path}.FuelCapacity`,"objectRequired");for(const field of["Main","Reserve"]){if(!isOptionalNumberInRange(value.FuelCapacity[field],0)||value.FuelCapacity[field]===void 0)return invalid("invalidLoadout",`${path}.FuelCapacity.${field}`,"nonNegativeNumberRequired")}}for(let index=0;index<value.Modules.length;index+=1){const moduleDiagnostic=diagnoseModule(value.Modules[index],`${path}.Modules[${index}]`);if(moduleDiagnostic!==null)return moduleDiagnostic}return null}function isSlefHeader(value){return diagnoseHeader(value,"header")===null}function isLoadout(value){return diagnoseLoadout(value,"loadout")===null}function duplicateSlot(loadout){const seen=/* @__PURE__ */new Set;for(let moduleIndex=0;moduleIndex<loadout.Modules.length;moduleIndex+=1){const module=loadout.Modules[moduleIndex];const slot=module.Slot.toLowerCase();if(seen.has(slot))return{slot:module.Slot,moduleIndex:moduleIndex};seen.add(slot)}return null}function inspectSlef(input){const root=typeof input==="string"?JSON.parse(input):input;const rawEntries=Array.isArray(root)?root:[root];const entries=[];const diagnostics=[];rawEntries.forEach((raw,index)=>{const entryPath=`entries[${index}]`;let header=null;let loadout=null;if(isLoadout(raw)){header=SYNTHETIC_HEADER;loadout=raw}else if(isRecord(raw)&&isLoadout(raw.data)){if(isSlefHeader(raw.header)){header=raw.header;loadout=raw.data}}if(header===null||loadout===null){const envelope=isRecord(raw)&&("header"in raw||"data"in raw);const detail=envelope?diagnoseHeader(isRecord(raw)?raw.header:null,`${entryPath}.header`)??diagnoseLoadout(isRecord(raw)?raw.data:null,`${entryPath}.data`):diagnoseLoadout(raw,entryPath);diagnostics.push({index:index,code:detail?.code??"invalidLoadout",path:detail?.path??entryPath,constraint:detail?.constraint??"validLoadoutRequired",message:`${detail?.path??entryPath} ${detail?.reason??"is not a valid Loadout event"}`,params:{path:detail?.path??entryPath,constraint:detail?.constraint??"validLoadoutRequired"}});return}const duplicate=duplicateSlot(loadout);if(duplicate!==null){diagnostics.push({index:index,code:"duplicateSlot",path:`${entryPath}${isLoadout(raw)?"":".data"}.Modules[${duplicate.moduleIndex}].Slot`,constraint:"uniqueSlot",message:`Entry ${index} contains duplicate slot "${truncate(duplicate.slot)}"`,params:{index:index,slot:duplicate.slot}});return}entries.push({header:header,data:loadout})});return Object.freeze({entries:Object.freeze(entries),diagnostics:Object.freeze(diagnostics.map(diagnostic=>Object.freeze({...diagnostic,...diagnostic.params?{params:Object.freeze({...diagnostic.params})}:{}})))})}function parseSlef(input){const inspected=inspectSlef(input);if(inspected.diagnostics.length>0){throw new TypeError(`parseSlef: ${inspected.diagnostics[0].message}`)}if(inspected.entries.length===0){throw new TypeError("parseSlef: input holds no entries")}return[...inspected.entries]}function toSlef(data,header){if(!isSlefHeader(header)){throw new TypeError("toSlef: header needs a string `appName` and an `appVersion`")}const events=Array.isArray(data)?data:[data];if(events.length===0){throw new TypeError("toSlef: needs at least one Loadout")}return events.map((event,index)=>{if(!isLoadout(event)){throw new TypeError(`toSlef: entry ${index} is not a valid Loadout (needs a \`Ship\` and \`Modules\`)`)}const duplicate=duplicateSlot(event);if(duplicate!==null){throw new TypeError(`toSlef: entry ${index} contains duplicate slot "${truncate(duplicate.slot)}"`)}return{header:header,data:event}})}function stringifySlef(slef,options={}){return JSON.stringify(slef,null,options.indent??0)}function getLoadoutModifier(module,label){const wanted=normalizeKey(label,"getLoadoutModifier: label");const mod=module.Engineering?.Modifiers?.find(m=>m.Label.toLowerCase()===wanted);return typeof mod?.Value==="number"?mod.Value:null}export{getLoadoutModifier,inspectSlef,parseSlef,stringifySlef,toSlef};//# sourceMappingURL=chunk-
|
|
1
|
+
import{normalizeKey}from"./chunk-BKWLI44T.js";import{truncate}from"./chunk-PKWVG2JY.js";var SYNTHETIC_HEADER=Object.freeze({appName:"",appVersion:""});var isRecord=value=>typeof value==="object"&&value!==null&&!Array.isArray(value);var isOptionalString=value=>value===void 0||typeof value==="string";var isOptionalFiniteNumber=value=>value===void 0||typeof value==="number"&&Number.isFinite(value);var isOptionalNumberInRange=(value,minimum,maximum=Number.POSITIVE_INFINITY)=>value===void 0||typeof value==="number"&&Number.isFinite(value)&&value>=minimum&&value<=maximum;var isOptionalIntegerInRange=(value,minimum,maximum)=>{if(value===void 0)return true;return typeof value==="number"&&Number.isInteger(value)&&value>=minimum&&value<=maximum};var CONSTRAINT_MESSAGES={objectRequired:"must be an object",stringRequired:"must be a string",booleanRequired:"must be a boolean",arrayRequired:"must be an array",finiteNumberRequired:"must be a finite number",nonNegativeNumberRequired:"must be a non-negative number",priorityRange:"must be an integer from 0 to 4",engineeringLevelRange:"must be an integer from 1 to 5",unitInterval:"must be a number from 0 to 1",binaryInteger:"must be 0 or 1",versionRequired:"must be a string or finite number",loadoutEventRequired:'must be "Loadout"',validLoadoutRequired:"is not a valid Loadout event"};var invalid=(code,path,constraint)=>({code:code,path:path,constraint:constraint,reason:CONSTRAINT_MESSAGES[constraint]});function diagnoseEngineering(value,path){if(!isRecord(value))return invalid("invalidEngineering",path,"objectRequired");if(typeof value.BlueprintName!=="string")return invalid("invalidEngineering",`${path}.BlueprintName`,"stringRequired");if(!isOptionalIntegerInRange(value.Level,1,5)||value.Level===void 0)return invalid("invalidEngineering",`${path}.Level`,"engineeringLevelRange");if(!isOptionalNumberInRange(value.Quality,0,1)||value.Quality===void 0)return invalid("invalidEngineering",`${path}.Quality`,"unitInterval");if(!isOptionalString(value.ExperimentalEffect))return invalid("invalidEngineering",`${path}.ExperimentalEffect`,"stringRequired");if(!isOptionalString(value.ExperimentalEffect_Localised))return invalid("invalidEngineering",`${path}.ExperimentalEffect_Localised`,"stringRequired");if(value.Modifiers!==void 0){if(!Array.isArray(value.Modifiers))return invalid("invalidEngineering",`${path}.Modifiers`,"arrayRequired");for(let index=0;index<value.Modifiers.length;index+=1){const modifier=value.Modifiers[index];const modifierPath=`${path}.Modifiers[${index}]`;if(!isRecord(modifier))return invalid("invalidEngineering",modifierPath,"objectRequired");if(typeof modifier.Label!=="string")return invalid("invalidEngineering",`${modifierPath}.Label`,"stringRequired");if(!isOptionalFiniteNumber(modifier.Value))return invalid("invalidEngineering",`${modifierPath}.Value`,"finiteNumberRequired");if(!isOptionalFiniteNumber(modifier.OriginalValue))return invalid("invalidEngineering",`${modifierPath}.OriginalValue`,"finiteNumberRequired");if(!isOptionalString(modifier.ValueStr))return invalid("invalidEngineering",`${modifierPath}.ValueStr`,"stringRequired");if(!isOptionalIntegerInRange(modifier.LessIsGood,0,1))return invalid("invalidEngineering",`${modifierPath}.LessIsGood`,"binaryInteger")}}return null}function diagnoseModule(value,path){if(!isRecord(value))return invalid("invalidModule",path,"objectRequired");if(typeof value.Slot!=="string")return invalid("invalidModule",`${path}.Slot`,"stringRequired");if(typeof value.Item!=="string")return invalid("invalidModule",`${path}.Item`,"stringRequired");if(value.On!==void 0&&typeof value.On!=="boolean")return invalid("invalidModule",`${path}.On`,"booleanRequired");if(!isOptionalIntegerInRange(value.Priority,0,4))return invalid("invalidModule",`${path}.Priority`,"priorityRange");if(!isOptionalNumberInRange(value.Health,0,1))return invalid("invalidModule",`${path}.Health`,"unitInterval");if(!isOptionalNumberInRange(value.Value,0))return invalid("invalidModule",`${path}.Value`,"nonNegativeNumberRequired");if(value.Engineering!==void 0)return diagnoseEngineering(value.Engineering,`${path}.Engineering`);return null}function diagnoseHeader(value,path){if(!isRecord(value))return invalid("invalidHeader",path,"objectRequired");if(typeof value.appName!=="string")return invalid("invalidHeader",`${path}.appName`,"stringRequired");if(typeof value.appVersion!=="string"&&!(typeof value.appVersion==="number"&&Number.isFinite(value.appVersion)))return invalid("invalidHeader",`${path}.appVersion`,"versionRequired");if(!isOptionalString(value.appURL))return invalid("invalidHeader",`${path}.appURL`,"stringRequired");if(value.appCustomProperties!==void 0&&!isRecord(value.appCustomProperties))return invalid("invalidHeader",`${path}.appCustomProperties`,"objectRequired");return null}function diagnoseLoadout(value,path){if(!isRecord(value))return invalid("invalidLoadout",path,"objectRequired");if(typeof value.Ship!=="string")return invalid("invalidLoadout",`${path}.Ship`,"stringRequired");if(!Array.isArray(value.Modules))return invalid("invalidLoadout",`${path}.Modules`,"arrayRequired");if(value.event!==void 0&&value.event!=="Loadout")return invalid("invalidLoadout",`${path}.event`,"loadoutEventRequired");for(const field of["ShipName","ShipIdent"]){if(!isOptionalString(value[field]))return invalid("invalidLoadout",`${path}.${field}`,"stringRequired")}for(const field of["HullValue","ModulesValue","UnladenMass","CargoCapacity","MaxJumpRange","Rebuy"]){if(!isOptionalNumberInRange(value[field],0))return invalid("invalidLoadout",`${path}.${field}`,"nonNegativeNumberRequired")}if(value.FuelCapacity!==void 0){if(!isRecord(value.FuelCapacity))return invalid("invalidLoadout",`${path}.FuelCapacity`,"objectRequired");for(const field of["Main","Reserve"]){if(!isOptionalNumberInRange(value.FuelCapacity[field],0)||value.FuelCapacity[field]===void 0)return invalid("invalidLoadout",`${path}.FuelCapacity.${field}`,"nonNegativeNumberRequired")}}for(let index=0;index<value.Modules.length;index+=1){const moduleDiagnostic=diagnoseModule(value.Modules[index],`${path}.Modules[${index}]`);if(moduleDiagnostic!==null)return moduleDiagnostic}return null}function isSlefHeader(value){return diagnoseHeader(value,"header")===null}function isLoadout(value){return diagnoseLoadout(value,"loadout")===null}function duplicateSlot(loadout){const seen=/* @__PURE__ */new Set;for(let moduleIndex=0;moduleIndex<loadout.Modules.length;moduleIndex+=1){const module=loadout.Modules[moduleIndex];const slot=module.Slot.toLowerCase();if(seen.has(slot))return{slot:module.Slot,moduleIndex:moduleIndex};seen.add(slot)}return null}function inspectSlef(input){const root=typeof input==="string"?JSON.parse(input):input;const rawEntries=Array.isArray(root)?root:[root];const entries=[];const diagnostics=[];rawEntries.forEach((raw,index)=>{const entryPath=`entries[${index}]`;let header=null;let loadout=null;if(isLoadout(raw)){header=SYNTHETIC_HEADER;loadout=raw}else if(isRecord(raw)&&isLoadout(raw.data)){if(isSlefHeader(raw.header)){header=raw.header;loadout=raw.data}}if(header===null||loadout===null){const envelope=isRecord(raw)&&("header"in raw||"data"in raw);const detail=envelope?diagnoseHeader(isRecord(raw)?raw.header:null,`${entryPath}.header`)??diagnoseLoadout(isRecord(raw)?raw.data:null,`${entryPath}.data`):diagnoseLoadout(raw,entryPath);diagnostics.push({index:index,code:detail?.code??"invalidLoadout",path:detail?.path??entryPath,constraint:detail?.constraint??"validLoadoutRequired",message:`${detail?.path??entryPath} ${detail?.reason??"is not a valid Loadout event"}`,params:{path:detail?.path??entryPath,constraint:detail?.constraint??"validLoadoutRequired"}});return}const duplicate=duplicateSlot(loadout);if(duplicate!==null){diagnostics.push({index:index,code:"duplicateSlot",path:`${entryPath}${isLoadout(raw)?"":".data"}.Modules[${duplicate.moduleIndex}].Slot`,constraint:"uniqueSlot",message:`Entry ${index} contains duplicate slot "${truncate(duplicate.slot)}"`,params:{index:index,slot:duplicate.slot}});return}entries.push({header:header,data:loadout})});return Object.freeze({entries:Object.freeze(entries),diagnostics:Object.freeze(diagnostics.map(diagnostic=>Object.freeze({...diagnostic,...diagnostic.params?{params:Object.freeze({...diagnostic.params})}:{}})))})}function parseSlef(input){const inspected=inspectSlef(input);if(inspected.diagnostics.length>0){throw new TypeError(`parseSlef: ${inspected.diagnostics[0].message}`)}if(inspected.entries.length===0){throw new TypeError("parseSlef: input holds no entries")}return[...inspected.entries]}function toSlef(data,header){if(!isSlefHeader(header)){throw new TypeError("toSlef: header needs a string `appName` and an `appVersion`")}const events=Array.isArray(data)?data:[data];if(events.length===0){throw new TypeError("toSlef: needs at least one Loadout")}return events.map((event,index)=>{if(!isLoadout(event)){throw new TypeError(`toSlef: entry ${index} is not a valid Loadout (needs a \`Ship\` and \`Modules\`)`)}const duplicate=duplicateSlot(event);if(duplicate!==null){throw new TypeError(`toSlef: entry ${index} contains duplicate slot "${truncate(duplicate.slot)}"`)}return{header:header,data:event}})}function stringifySlef(slef,options={}){return JSON.stringify(slef,null,options.indent??0)}function getLoadoutModifier(module,label){const wanted=normalizeKey(label,"getLoadoutModifier: label");const mod=module.Engineering?.Modifiers?.find(m=>m.Label.toLowerCase()===wanted);return typeof mod?.Value==="number"?mod.Value:null}export{getLoadoutModifier,inspectSlef,parseSlef,stringifySlef,toSlef};//# sourceMappingURL=chunk-T4MKUKYS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ships/slef.ts"],"names":["normalizeKey","truncate","SYNTHETIC_HEADER","Object","freeze","appName","appVersion","isRecord","value","Array","isArray","isOptionalString","isOptionalFiniteNumber","Number","isFinite","isOptionalNumberInRange","minimum","maximum","POSITIVE_INFINITY","isOptionalIntegerInRange","isInteger","CONSTRAINT_MESSAGES","objectRequired","stringRequired","booleanRequired","arrayRequired","finiteNumberRequired","nonNegativeNumberRequired","priorityRange","engineeringLevelRange","unitInterval","binaryInteger","versionRequired","loadoutEventRequired","validLoadoutRequired","invalid","code","path","constraint","reason","diagnoseEngineering","BlueprintName","Level","Quality","ExperimentalEffect","ExperimentalEffect_Localised","Modifiers","index","length","modifier","modifierPath","Label","Value","OriginalValue","ValueStr","LessIsGood","diagnoseModule","Slot","Item","On","Priority","Health","Engineering","diagnoseHeader","appURL","appCustomProperties","diagnoseLoadout","Ship","Modules","event","field","FuelCapacity","moduleDiagnostic","isSlefHeader","isLoadout","duplicateSlot","loadout","seen","Set","moduleIndex","module","slot","toLowerCase","has","add","inspectSlef","input","root","JSON","parse","rawEntries","entries","diagnostics","forEach","raw","entryPath","header","data","envelope","detail","push","message","params","duplicate","map","diagnostic","parseSlef","inspected","TypeError","toSlef","events","stringifySlef","slef","options","stringify","indent","getLoadoutModifier","label","wanted","mod","find","m"],"mappings":"O,
|
|
1
|
+
{"version":3,"sources":["../src/ships/slef.ts"],"names":["normalizeKey","truncate","SYNTHETIC_HEADER","Object","freeze","appName","appVersion","isRecord","value","Array","isArray","isOptionalString","isOptionalFiniteNumber","Number","isFinite","isOptionalNumberInRange","minimum","maximum","POSITIVE_INFINITY","isOptionalIntegerInRange","isInteger","CONSTRAINT_MESSAGES","objectRequired","stringRequired","booleanRequired","arrayRequired","finiteNumberRequired","nonNegativeNumberRequired","priorityRange","engineeringLevelRange","unitInterval","binaryInteger","versionRequired","loadoutEventRequired","validLoadoutRequired","invalid","code","path","constraint","reason","diagnoseEngineering","BlueprintName","Level","Quality","ExperimentalEffect","ExperimentalEffect_Localised","Modifiers","index","length","modifier","modifierPath","Label","Value","OriginalValue","ValueStr","LessIsGood","diagnoseModule","Slot","Item","On","Priority","Health","Engineering","diagnoseHeader","appURL","appCustomProperties","diagnoseLoadout","Ship","Modules","event","field","FuelCapacity","moduleDiagnostic","isSlefHeader","isLoadout","duplicateSlot","loadout","seen","Set","moduleIndex","module","slot","toLowerCase","has","add","inspectSlef","input","root","JSON","parse","rawEntries","entries","diagnostics","forEach","raw","entryPath","header","data","envelope","detail","push","message","params","duplicate","map","diagnostic","parseSlef","inspected","TypeError","toSlef","events","stringifySlef","slef","options","stringify","indent","getLoadoutModifier","label","wanted","mod","find","m"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{positiveQuantity,sphereVolume}from"./chunk-P2MUFVJC.js";import{requireObject}from"./chunk-PKWVG2JY.js";var GRAVITATIONAL_CONSTANT=66743e-15;var KG_PER_EARTH_MASS=5972e21;var KG_PER_SOLAR_MASS=1.989e30;var RIGID_ROCHE_COEFFICIENT=1.26;var FLUID_ROCHE_COEFFICIENT=2.456;function bodyMass(body){requireObject(body,"bodyMass: body");return massOf(body)}function massOf(body){const earthMasses=positiveQuantity(body.MassEM);if(earthMasses!==null)return earthMasses*KG_PER_EARTH_MASS;const solarMasses=positiveQuantity(body.StellarMass);return solarMasses!==null?solarMasses*KG_PER_SOLAR_MASS:null}function bulkDensity(body){requireObject(body,"bulkDensity: body");return densityOf(body)}function densityOf(body){const massKg=massOf(body);const radiusM=positiveQuantity(body.Radius);if(massKg===null||radiusM===null)return null;return massKg/sphereVolume(radiusM)}function rocheLimitsForDensity(primary,satelliteDensityKgM3){requireObject(primary,"rocheLimitsForDensity: primary");if(!Number.isFinite(satelliteDensityKgM3)||satelliteDensityKgM3<=0){throw new RangeError("rocheLimitsForDensity: satelliteDensityKgM3 must be a finite positive number")}const primaryRadiusM=positiveQuantity(primary.Radius);const primaryDensity=densityOf(primary);if(primaryRadiusM===null||primaryDensity===null)return null;const densityRatio=Math.cbrt(primaryDensity/satelliteDensityKgM3);return{rigid:RIGID_ROCHE_COEFFICIENT*primaryRadiusM*densityRatio,fluid:FLUID_ROCHE_COEFFICIENT*primaryRadiusM*densityRatio}}function rocheLimits(satellite,primary){requireObject(satellite,"rocheLimits: satellite");requireObject(primary,"rocheLimits: primary");const satelliteDensity=densityOf(satellite);if(satelliteDensity===null)return null;return rocheLimitsForDensity(primary,satelliteDensity)}function hillRadius(body,primary){requireObject(body,"hillRadius: body");requireObject(primary,"hillRadius: primary");const semiMajorAxisM=positiveQuantity(body.SemiMajorAxis);const bodyMassKg=massOf(body);const primaryMassKg=massOf(primary);if(semiMajorAxisM===null||bodyMassKg===null||primaryMassKg===null)return null;return semiMajorAxisM*Math.cbrt(bodyMassKg/(3*primaryMassKg))}function primaryAngularDiameter(body,primary){requireObject(body,"primaryAngularDiameter: body");requireObject(primary,"primaryAngularDiameter: primary");const distanceM=positiveQuantity(body.SemiMajorAxis);const primaryRadiusM=positiveQuantity(primary.Radius);if(distanceM===null||primaryRadiusM===null)return null;return 2*Math.atan(primaryRadiusM/distanceM)*(180/Math.PI)}export{GRAVITATIONAL_CONSTANT,KG_PER_EARTH_MASS,KG_PER_SOLAR_MASS,bodyMass,bulkDensity,hillRadius,primaryAngularDiameter,rocheLimits,rocheLimitsForDensity};//# sourceMappingURL=chunk-TMXKC6JL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/astro/body-physics.ts"],"names":["positiveQuantity","sphereVolume","requireObject","GRAVITATIONAL_CONSTANT","KG_PER_EARTH_MASS","KG_PER_SOLAR_MASS","RIGID_ROCHE_COEFFICIENT","FLUID_ROCHE_COEFFICIENT","bodyMass","body","massOf","earthMasses","MassEM","solarMasses","StellarMass","bulkDensity","densityOf","massKg","radiusM","Radius","rocheLimitsForDensity","primary","satelliteDensityKgM3","Number","isFinite","RangeError","primaryRadiusM","primaryDensity","densityRatio","Math","cbrt","rigid","fluid","rocheLimits","satellite","satelliteDensity","hillRadius","semiMajorAxisM","SemiMajorAxis","bodyMassKg","primaryMassKg","primaryAngularDiameter","distanceM","atan","PI"],"mappings":"O,uGA2CO,IAAMG,uBAAyB,UAM/B,IAAMC,kBAAoB,QAM1B,IAAMC,kBAAoB,SA0BjC,IAAMC,wBAA0B,KAEhC,IAAMC,wBAA0B,MAoBzB,SAASC,SAASC,MACrBP,cAAcO,KAAM,kBACpB,OAAOC,OAAOD,KAClB,CAGA,SAASC,OAAOD,MACZ,MAAME,YAAcX,iBAAiBS,KAAKG,QAC1C,GAAID,cAAgB,KAAM,OAAOA,YAAcP,kBAC/C,MAAMS,YAAcb,iBAAiBS,KAAKK,aAC1C,OAAOD,cAAgB,KAAOA,YAAcR,kBAAoB,IACpE,CAkBO,SAASU,YAAYN,MACxBP,cAAcO,KAAM,qBACpB,OAAOO,UAAUP,KACrB,CAGA,SAASO,UAAUP,MACf,MAAMQ,OAASP,OAAOD,MACtB,MAAMS,QAAUlB,iBAAiBS,KAAKU,QACtC,GAAIF,SAAW,MAAQC,UAAY,KAAM,OAAO,KAChD,OAAOD,OAAShB,aAAaiB,QACjC,CA+BO,SAASE,sBACZC,QACAC,sBAEApB,cAAcmB,QAAS,kCACvB,IAAKE,OAAOC,SAASF,uBAAyBA,sBAAwB,EAAG,CACrE,MAAM,IAAIG,WACN,+EAER,CACA,MAAMC,eAAiB1B,iBAAiBqB,QAAQF,QAChD,MAAMQ,eAAiBX,UAAUK,SACjC,GAAIK,iBAAmB,MAAQC,iBAAmB,KAAM,OAAO,KAE/D,MAAMC,aAAeC,KAAKC,KAAKH,eAAiBL,sBAChD,MAAO,CACHS,MAAOzB,wBAA0BoB,eAAiBE,aAClDI,MAAOzB,wBAA0BmB,eAAiBE,aAE1D,CA8BO,SAASK,YACZC,UACAb,SAEAnB,cAAcgC,UAAW,0BACzBhC,cAAcmB,QAAS,wBACvB,MAAMc,iBAAmBnB,UAAUkB,WACnC,GAAIC,mBAAqB,KAAM,OAAO,KACtC,OAAOf,sBAAsBC,QAASc,iBAC1C,CA4BO,SAASC,WAAW3B,KAAsBY,SAC7CnB,cAAcO,KAAM,oBACpBP,cAAcmB,QAAS,uBACvB,MAAMgB,eAAiBrC,iBAAiBS,KAAK6B,eAC7C,MAAMC,WAAa7B,OAAOD,MAC1B,MAAM+B,cAAgB9B,OAAOW,SAC7B,GAAIgB,iBAAmB,MAAQE,aAAe,MAAQC,gBAAkB,KAAM,OAAO,KACrF,OAAOH,eAAiBR,KAAKC,KAAKS,YAAc,EAAIC,eACxD,CA8BO,SAASC,uBACZhC,KACAY,SAEAnB,cAAcO,KAAM,gCACpBP,cAAcmB,QAAS,mCACvB,MAAMqB,UAAY1C,iBAAiBS,KAAK6B,eACxC,MAAMZ,eAAiB1B,iBAAiBqB,QAAQF,QAChD,GAAIuB,YAAc,MAAQhB,iBAAmB,KAAM,OAAO,KAC1D,OAAO,EAAIG,KAAKc,KAAKjB,eAAiBgB,YAAc,IAAMb,KAAKe,GACnE,QAAAzC,uBAAAC,kBAAAC,kBAAAG,SAAAO,YAAAqB,WAAAK,uBAAAR,YAAAb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{resolveMobilityCurves}from"./chunk-
|
|
1
|
+
import{resolveMobilityCurves}from"./chunk-6WTUY6ZX.js";import{requirePips}from"./chunk-65FZECUX.js";function mobilityCapacitorMetrics(input){const scope="mobilityCapacitorMetrics";const enginesPips=input.enginesPips??4;requirePips(scope,"enginesPips",enginesPips);const curves=resolveMobilityCurves(scope,input);if(!curves)return null;const pipMultiplier=enginesPips/4;const atPips=(maximum,minimum)=>minimum+(maximum-minimum)*pipMultiplier;return Object.freeze({enginesPips:enginesPips,speed:atPips(input.maximumSpeed,input.minimumSpeed)*curves.massCurveMultiplier,pitch:atPips(input.pitch,input.minPitch)*curves.rotationMassCurveMultiplier,roll:atPips(input.roll,input.minRoll)*curves.rotationMassCurveMultiplier,yaw:atPips(input.yaw,input.minYaw)*curves.rotationMassCurveMultiplier})}export{mobilityCapacitorMetrics};//# sourceMappingURL=chunk-VEEBJFJ7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function buildCommodityCatalogue(records,rare){return Object.freeze(records.map(record=>Object.freeze({symbol:record.symbol,name:record.name,category:record.category,rare:rare})))}export{buildCommodityCatalogue};//# sourceMappingURL=chunk-
|
|
1
|
+
function buildCommodityCatalogue(records,rare){return Object.freeze(records.map(record=>Object.freeze({symbol:record.symbol,name:record.name,category:record.category,rare:rare})))}export{buildCommodityCatalogue};//# sourceMappingURL=chunk-VQJXRPYI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commodities/internal/commodity-catalogue.ts"],"names":["buildCommodityCatalogue","records","rare","Object","freeze","map","record","symbol","name","category"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/commodities/internal/commodity-catalogue.ts"],"names":["buildCommodityCatalogue","records","rare","Object","freeze","map","record","symbol","name","category"],"mappings":"AAQO,SAASA,wBACZC,QACAC,MAKA,OAAOC,OAAOC,OACVH,QAAQI,IAAKC,QACTH,OAAOC,OAAO,CACVG,OAAQD,OAAOC,OACfC,KAAMF,OAAOE,KACbC,SAAUH,OAAOG,SACjBP,aAIhB,QAAAF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{requireFiniteNonNegative}from"./chunk-65FZECUX.js";var MAX_TOTAL_RANGE_JUMPS=1e5;function requirePositive(scope,name,value){if(!Number.isFinite(value)||value<=0){throw new RangeError(`${scope}: fsd.${name} must be a finite positive number`)}}function validateFsd(scope,fsd){requirePositive(scope,"optMass",fsd.optMass);requireFiniteNonNegative(scope,"fsd.maxFuel",fsd.maxFuel);requirePositive(scope,"fuelMul",fsd.fuelMul);requirePositive(scope,"fuelPower",fsd.fuelPower);if(fsd.jumpBoost!==void 0){requireFiniteNonNegative(scope,"fsd.jumpBoost",fsd.jumpBoost)}}function frameShiftDriveMassFactorUnchecked(mass,fuel,fsd){return fsd.optMass/(mass+fuel)}function singleJumpRangeUnchecked(mass,fuel,fsd,scope){const burn=Math.min(fuel,fsd.maxFuel);if(burn<=0||mass+fuel<=0)return 0;const base=Math.pow(burn/fsd.fuelMul,1/fsd.fuelPower)*frameShiftDriveMassFactorUnchecked(mass,fuel,fsd);const range=base+(fsd.jumpBoost??0);if(!Number.isFinite(range)){throw new RangeError(`${scope}: parameters produce a non-finite range`)}return range}function frameShiftDriveMassFactor(mass,fuel,fsd){const scope="frameShiftDriveMassFactor";requireFiniteNonNegative(scope,"mass",mass);requireFiniteNonNegative(scope,"fuel",fuel);requirePositive(scope,"optMass",fsd.optMass);if(mass+fuel<=0){throw new RangeError(`${scope}: mass plus fuel must be positive`)}return frameShiftDriveMassFactorUnchecked(mass,fuel,fsd)}function singleJumpRange(mass,fuel,fsd){const scope="singleJumpRange";requireFiniteNonNegative(scope,"mass",mass);requireFiniteNonNegative(scope,"fuel",fuel);validateFsd(scope,fsd);return singleJumpRangeUnchecked(mass,fuel,fsd,scope)}function fuelPerJump(distance,mass,fuel,fsd){const scope="fuelPerJump";requireFiniteNonNegative(scope,"distance",distance);requireFiniteNonNegative(scope,"mass",mass);requireFiniteNonNegative(scope,"fuel",fuel);validateFsd(scope,fsd);if(distance<=0)return 0;const burn=Math.min(fuel,fsd.maxFuel);const maxDistance=singleJumpRangeUnchecked(mass,fuel,fsd,scope);if(maxDistance<=0)return 0;const cost=Math.pow(distance/maxDistance,fsd.fuelPower)*burn;return Math.min(cost,burn)}function totalRange(mass,fuel,fsd){const scope="totalRange";requireFiniteNonNegative(scope,"mass",mass);requireFiniteNonNegative(scope,"fuel",fuel);validateFsd(scope,fsd);if(fsd.maxFuel<=0)return Object.freeze({range:0,jumps:0});const jumps=fuel>0?Math.max(1,Math.ceil(fuel/fsd.maxFuel)):0;if(!Number.isFinite(jumps)||jumps>MAX_TOTAL_RANGE_JUMPS){throw new RangeError(`${scope}: fuel and fsd.maxFuel require more than ${MAX_TOTAL_RANGE_JUMPS} jumps`)}let range=0;let remaining=fuel;for(let i=0;i<jumps;i++){range+=singleJumpRangeUnchecked(mass,remaining,fsd,scope);if(!Number.isFinite(range)){throw new RangeError(`${scope}: parameters produce a non-finite total range`)}remaining=Math.max(0,remaining-fsd.maxFuel)}return Object.freeze({range:range,jumps:jumps})}export{frameShiftDriveMassFactor,fuelPerJump,singleJumpRange,totalRange};//# sourceMappingURL=chunk-VTMCSCXV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ships/jump-range.ts"],"names":["requireFiniteNonNegative","MAX_TOTAL_RANGE_JUMPS","requirePositive","scope","name","value","Number","isFinite","RangeError","validateFsd","fsd","optMass","maxFuel","fuelMul","fuelPower","jumpBoost","frameShiftDriveMassFactorUnchecked","mass","fuel","singleJumpRangeUnchecked","burn","Math","min","base","pow","range","frameShiftDriveMassFactor","singleJumpRange","fuelPerJump","distance","maxDistance","cost","totalRange","Object","freeze","jumps","max","ceil","remaining","i"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{capacitorRechargeAtPips}from"./chunk-JOTAOI5T.js";import{systemsResistance,mapDamageTypes,effectiveHitPoints}from"./chunk-F44QX47A.js";import{requirePips,requireFiniteNonNegative}from"./chunk-65FZECUX.js";var DAMAGE_TYPES=["kinetic","thermal","explosive","caustic"];function shieldCapacitorMetrics(input){const scope="shieldCapacitorMetrics";const systemsPips=input.systemsPips??4;requirePips(scope,"systemsPips",systemsPips);for(const field of["strength","systemsCapacity","systemsRecharge"]){requireFiniteNonNegative(scope,field,input[field])}const resistances=input.resistances;if(typeof resistances!=="object"||resistances===null){throw new TypeError(`${scope}: resistances must carry the four damage types`)}for(const type of DAMAGE_TYPES){if(!Number.isFinite(input.resistances[type])){throw new RangeError(`${scope}: resistances.${type} must be a finite number`)}}const sysResistance=systemsResistance(systemsPips);const effectiveResistances=Object.freeze(mapDamageTypes(type=>1-(1-input.resistances[type])*(1-sysResistance)));return Object.freeze({systemsPips:systemsPips,capacity:input.systemsCapacity,rechargeRate:capacitorRechargeAtPips(input.systemsRecharge,systemsPips),systemsResistance:sysResistance,effectiveResistances:effectiveResistances,effectiveHitPoints:Object.freeze(effectiveHitPoints(input.strength,effectiveResistances))})}export{shieldCapacitorMetrics};//# sourceMappingURL=chunk-XQJERZUS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ships/shield-capacitor.ts"],"names":["capacitorRechargeAtPips","systemsResistance","mapDamageTypes","effectiveHitPoints","requirePips","requireFiniteNonNegative","DAMAGE_TYPES","shieldCapacitorMetrics","input","scope","systemsPips","field","resistances","TypeError","type","Number","isFinite","RangeError","sysResistance","effectiveResistances","Object","freeze","capacity","systemsCapacity","rechargeRate","systemsRecharge","strength"],"mappings":"O,6MAwGA,IAAMM,aAAsC,CAAC,UAAW,UAAW,YAAa,WAuCzE,SAASC,uBAAuBC,OACnC,MAAMC,MAAQ,yBACd,MAAMC,YAAcF,MAAME,aAAe,EAGzCN,YAAYK,MAAO,cAAeC,aAClC,IAAA,MAAWC,QAAS,CAAC,WAAY,kBAAmB,mBAA6B,CAC7EN,yBAAyBI,MAAOE,MAAOH,MAAMG,OACjD,CACA,MAAMC,YAAuBJ,MAAMI,YACnC,UAAWA,cAAgB,UAAYA,cAAgB,KAAM,CACzD,MAAM,IAAIC,UAAU,GAAGJ,sDAC3B,CACA,IAAA,MAAWK,QAAQR,aAAc,CAC7B,IAAKS,OAAOC,SAASR,MAAMI,YAAYE,OAAQ,CAC3C,MAAM,IAAIG,WAAW,GAAGR,sBAAsBK,+BAClD,CACJ,CAEA,MAAMI,cAAgBjB,kBAAkBS,aAExC,MAAMS,qBAA0CC,OAAOC,OACnDnB,eAAgBY,MAAS,GAAK,EAAIN,MAAMI,YAAYE,QAAU,EAAII,iBAEtE,OAAOE,OAAOC,OAAO,CACjBX,wBACAY,SAAUd,MAAMe,gBAChBC,aAAcxB,wBAAwBQ,MAAMiB,gBAAiBf,aAC7DT,kBAAmBiB,cACnBC,0CACAhB,mBAAoBiB,OAAOC,OAAOlB,mBAAmBK,MAAMkB,SAAUP,wBAE7E,QAAAZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{positiveQuantity,finiteQuantity}from"./chunk-P2MUFVJC.js";import{requireObject}from"./chunk-PKWVG2JY.js";var MAX_RESONANCE_TERM=5;var RESONANCE_TOLERANCE=.01;function orbitExtents(body){requireObject(body,"orbitExtents: body");const semiMajorAxis=positiveQuantity(body.SemiMajorAxis);if(semiMajorAxis===null)return null;const eccentricity=finiteQuantity(body.Eccentricity)??0;return{semiMajorAxis:semiMajorAxis,periapsis:semiMajorAxis*(1-eccentricity),apoapsis:semiMajorAxis*(1+eccentricity),eccentricity:eccentricity}}function classifyEccentricity(eccentricity){if(!Number.isFinite(eccentricity)||eccentricity<0){throw new RangeError("classifyEccentricity: eccentricity must be a finite non-negative number")}if(eccentricity===0)return"circular";if(eccentricity<.4)return"nearly-circular";if(eccentricity<.8)return"eccentric";return"highly-eccentric"}function spinOrbitResonance(body){requireObject(body,"spinOrbitResonance: body");const rotationPeriod=finiteQuantity(body.RotationPeriod);const orbitalPeriod=finiteQuantity(body.OrbitalPeriod);if(rotationPeriod===null||orbitalPeriod===null)return null;if(rotationPeriod===0||orbitalPeriod===0)return null;const rotationsPerOrbit=Math.abs(orbitalPeriod)/Math.abs(rotationPeriod);for(let orbits=1;orbits<=MAX_RESONANCE_TERM;orbits++){for(let rotations=1;rotations<=MAX_RESONANCE_TERM;rotations++){const candidate=rotations/orbits;if(Math.abs(candidate-rotationsPerOrbit)/candidate<=RESONANCE_TOLERANCE){return{rotations:rotations,orbits:orbits}}}}return null}function equatorialVelocity(body){requireObject(body,"equatorialVelocity: body");const radiusM=positiveQuantity(body.Radius);const rotationPeriod=finiteQuantity(body.RotationPeriod);if(radiusM===null||rotationPeriod===null||rotationPeriod===0)return null;return 2*Math.PI*radiusM/Math.abs(rotationPeriod)}export{classifyEccentricity,equatorialVelocity,orbitExtents,spinOrbitResonance};//# sourceMappingURL=chunk-ZZ376WHL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/astro/body-orbit.ts"],"names":["positiveQuantity","finiteQuantity","requireObject","MAX_RESONANCE_TERM","RESONANCE_TOLERANCE","orbitExtents","body","semiMajorAxis","SemiMajorAxis","eccentricity","Eccentricity","periapsis","apoapsis","classifyEccentricity","Number","isFinite","RangeError","spinOrbitResonance","rotationPeriod","RotationPeriod","orbitalPeriod","OrbitalPeriod","rotationsPerOrbit","Math","abs","orbits","rotations","candidate","equatorialVelocity","radiusM","Radius","PI"],"mappings":"O,yGAoEA,IAAMG,mBAAqB,EAE3B,IAAMC,oBAAsB,IA6BrB,SAASC,aAAaC,MACzBJ,cAAcI,KAAM,sBACpB,MAAMC,cAAgBP,iBAAiBM,KAAKE,eAC5C,GAAID,gBAAkB,KAAM,OAAO,KACnC,MAAME,aAAeR,eAAeK,KAAKI,eAAiB,EAC1D,MAAO,CACHH,4BACAI,UAAWJ,eAAiB,EAAIE,cAChCG,SAAUL,eAAiB,EAAIE,cAC/BA,0BAER,CAoBO,SAASI,qBAAqBJ,cACjC,IAAKK,OAAOC,SAASN,eAAiBA,aAAe,EAAG,CACpD,MAAM,IAAIO,WACN,0EAER,CACA,GAAIP,eAAiB,EAAG,MAAO,WAC/B,GAAIA,aAAe,GAAK,MAAO,kBAC/B,GAAIA,aAAe,GAAK,MAAO,YAC/B,MAAO,kBACX,CAkCO,SAASQ,mBAAmBX,MAC/BJ,cAAcI,KAAM,4BACpB,MAAMY,eAAiBjB,eAAeK,KAAKa,gBAC3C,MAAMC,cAAgBnB,eAAeK,KAAKe,eAC1C,GAAIH,iBAAmB,MAAQE,gBAAkB,KAAM,OAAO,KAC9D,GAAIF,iBAAmB,GAAKE,gBAAkB,EAAG,OAAO,KAExD,MAAME,kBAAoBC,KAAKC,IAAIJ,eAAiBG,KAAKC,IAAIN,gBAC7D,IAAA,IAASO,OAAS,EAAGA,QAAUtB,mBAAoBsB,SAAU,CACzD,IAAA,IAASC,UAAY,EAAGA,WAAavB,mBAAoBuB,YAAa,CAClE,MAAMC,UAAYD,UAAYD,OAC9B,GAAIF,KAAKC,IAAIG,UAAYL,mBAAqBK,WAAavB,oBAAqB,CAC5E,MAAO,CAAEsB,oBAAWD,cACxB,CACJ,CACJ,CACA,OAAO,IACX,CA8BO,SAASG,mBAAmBtB,MAC/BJ,cAAcI,KAAM,4BACpB,MAAMuB,QAAU7B,iBAAiBM,KAAKwB,QACtC,MAAMZ,eAAiBjB,eAAeK,KAAKa,gBAC3C,GAAIU,UAAY,MAAQX,iBAAmB,MAAQA,iBAAmB,EAAG,OAAO,KAChF,OAAQ,EAAIK,KAAKQ,GAAKF,QAAWN,KAAKC,IAAIN,eAC9C,QAAAL,qBAAAe,mBAAAvB,aAAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ALL_COMMODITIES}from"../chunk-
|
|
1
|
+
export{ALL_COMMODITIES}from"../chunk-77TT4K53.js"; //# sourceMappingURL=commodities-all.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{RARE_COMMODITIES}from"../chunk-
|
|
1
|
+
export{RARE_COMMODITIES}from"../chunk-GMTAFUAG.js"; //# sourceMappingURL=commodities-rare.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{COMMODITIES}from"../chunk-
|
|
1
|
+
export{COMMODITIES}from"../chunk-6HMIF2RJ.js"; //# sourceMappingURL=commodities-standard.js.map
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* | `./commodities-all` | `ALL_COMMODITIES` | 399 (the default) |
|
|
26
26
|
*
|
|
27
27
|
* It narrows *results*, not bundle size: importing a lookup pulls both catalogues,
|
|
28
|
-
* since that is what it falls back to —
|
|
28
|
+
* since that is what it falls back to — ~30 KiB minified for all 399. Every record
|
|
29
29
|
* carries a {@link Commodity.rare} flag, so a subset is one `.filter()` away.
|
|
30
30
|
*
|
|
31
31
|
* **Only `ALL_COMMODITIES` itself is indexed.** A by-key lookup answers from an O(1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{commoditiesInCategory,getCommodityByName,getCommodityBySymbol}from"../chunk-
|
|
1
|
+
export{commoditiesInCategory,getCommodityByName,getCommodityBySymbol}from"../chunk-J7BM5NGK.js"; //# sourceMappingURL=commodities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{commoditiesInCategory,getCommodityByName,getCommodityBySymbol}from"../chunk-
|
|
1
|
+
export{commoditiesInCategory,getCommodityByName,getCommodityBySymbol}from"../chunk-J7BM5NGK.js";export{ALL_COMMODITIES}from"../chunk-77TT4K53.js";export{RARE_COMMODITIES}from"../chunk-GMTAFUAG.js";export{COMMODITIES}from"../chunk-6HMIF2RJ.js"; //# sourceMappingURL=index.js.map
|
package/dist/equipment/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{resolvePersonalModificationForWeapon}from"../chunk-A6OINYNP.js";export{PERSONAL_MODIFICATIONS,getPersonalModification}from"../chunk-MGRDB2BZ.js";export{
|
|
1
|
+
export{resolvePersonalModificationForWeapon}from"../chunk-A6OINYNP.js";export{PERSONAL_MODIFICATIONS,getPersonalModification}from"../chunk-MGRDB2BZ.js";export{SUITS,getSuitByFamily,getSuitByName,getSuitBySymbol,getSuitGrade}from"../chunk-B7EYTZRK.js";export{PERSONAL_WEAPONS,getPersonalWeaponByName,getPersonalWeaponBySymbol,getPersonalWeaponGrade}from"../chunk-6GJHUWMO.js"; export{sumPersonalEngineeringIngredients}from"../chunk-C5HG4GJI.js"; //# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{getSuitByFamily}from"../chunk-B7EYTZRK.js";import{getPersonalWeaponBySymbol}from"../chunk-6GJHUWMO.js"; import{sumPersonalEngineeringIngredients}from"../chunk-C5HG4GJI.js"; import{deepFreeze}from"../chunk-DURKO7JU.js";var upgrade_costs_default={suits:{utilitysuit:{2:[{symbol:"suitschematic",count:1},{symbol:"healthmonitor",count:1},{symbol:"manufacturinginstructions",count:1},{symbol:"carbonfibreplating",count:2},{symbol:"graphene",count:2}],3:[{symbol:"suitschematic",count:2},{symbol:"healthmonitor",count:2},{symbol:"manufacturinginstructions",count:2},{symbol:"carbonfibreplating",count:5},{symbol:"graphene",count:5}],4:[{symbol:"suitschematic",count:4},{symbol:"healthmonitor",count:4},{symbol:"manufacturinginstructions",count:4},{symbol:"carbonfibreplating",count:9},{symbol:"graphene",count:9}],5:[{symbol:"suitschematic",count:5},{symbol:"healthmonitor",count:5},{symbol:"manufacturinginstructions",count:5},{symbol:"carbonfibreplating",count:12},{symbol:"graphene",count:12}]},tacticalsuit:{2:[{symbol:"suitschematic",count:1},{symbol:"healthmonitor",count:1},{symbol:"manufacturinginstructions",count:1},{symbol:"titaniumplating",count:2},{symbol:"graphene",count:2}],3:[{symbol:"suitschematic",count:2},{symbol:"healthmonitor",count:2},{symbol:"manufacturinginstructions",count:2},{symbol:"titaniumplating",count:5},{symbol:"graphene",count:5}],4:[{symbol:"suitschematic",count:4},{symbol:"healthmonitor",count:4},{symbol:"manufacturinginstructions",count:4},{symbol:"titaniumplating",count:9},{symbol:"graphene",count:9}],5:[{symbol:"suitschematic",count:5},{symbol:"healthmonitor",count:5},{symbol:"manufacturinginstructions",count:5},{symbol:"titaniumplating",count:12},{symbol:"graphene",count:12}]},explorationsuit:{2:[{symbol:"suitschematic",count:1},{symbol:"healthmonitor",count:1},{symbol:"manufacturinginstructions",count:1},{symbol:"aerogel",count:2},{symbol:"graphene",count:2}],3:[{symbol:"suitschematic",count:2},{symbol:"healthmonitor",count:2},{symbol:"manufacturinginstructions",count:2},{symbol:"aerogel",count:5},{symbol:"graphene",count:5}],4:[{symbol:"suitschematic",count:4},{symbol:"healthmonitor",count:4},{symbol:"manufacturinginstructions",count:4},{symbol:"aerogel",count:9},{symbol:"graphene",count:9}],5:[{symbol:"suitschematic",count:5},{symbol:"healthmonitor",count:5},{symbol:"manufacturinginstructions",count:5},{symbol:"aerogel",count:12},{symbol:"graphene",count:12}]}},weaponGroups:{takada:{2:[{symbol:"weaponschematic",count:1},{symbol:"ionisedgas",count:1},{symbol:"manufacturinginstructions",count:1},{symbol:"microelectrode",count:2},{symbol:"opticalfibre",count:2}],3:[{symbol:"weaponschematic",count:2},{symbol:"ionisedgas",count:2},{symbol:"manufacturinginstructions",count:2},{symbol:"microelectrode",count:5},{symbol:"opticalfibre",count:5}],4:[{symbol:"weaponschematic",count:4},{symbol:"ionisedgas",count:4},{symbol:"manufacturinginstructions",count:4},{symbol:"microelectrode",count:9},{symbol:"opticalfibre",count:9}],5:[{symbol:"weaponschematic",count:5},{symbol:"ionisedgas",count:5},{symbol:"manufacturinginstructions",count:5},{symbol:"microelectrode",count:12},{symbol:"opticalfibre",count:12}]},manticore:{2:[{symbol:"weaponschematic",count:1},{symbol:"ionisedgas",count:1},{symbol:"manufacturinginstructions",count:1},{symbol:"microelectrode",count:2},{symbol:"chemicalsuperbase",count:2}],3:[{symbol:"weaponschematic",count:2},{symbol:"ionisedgas",count:2},{symbol:"manufacturinginstructions",count:2},{symbol:"microelectrode",count:5},{symbol:"chemicalsuperbase",count:5}],4:[{symbol:"weaponschematic",count:4},{symbol:"ionisedgas",count:4},{symbol:"manufacturinginstructions",count:4},{symbol:"microelectrode",count:9},{symbol:"chemicalsuperbase",count:9}],5:[{symbol:"weaponschematic",count:5},{symbol:"ionisedgas",count:5},{symbol:"manufacturinginstructions",count:5},{symbol:"microelectrode",count:12},{symbol:"chemicalsuperbase",count:12}]},karma:{2:[{symbol:"weaponschematic",count:1},{symbol:"compressionliquefiedgas",count:1},{symbol:"manufacturinginstructions",count:1},{symbol:"weaponcomponent",count:2},{symbol:"tungstencarbide",count:2}],3:[{symbol:"weaponschematic",count:2},{symbol:"compressionliquefiedgas",count:2},{symbol:"manufacturinginstructions",count:2},{symbol:"weaponcomponent",count:5},{symbol:"tungstencarbide",count:5}],4:[{symbol:"weaponschematic",count:4},{symbol:"compressionliquefiedgas",count:4},{symbol:"manufacturinginstructions",count:4},{symbol:"weaponcomponent",count:9},{symbol:"tungstencarbide",count:9}],5:[{symbol:"weaponschematic",count:5},{symbol:"compressionliquefiedgas",count:5},{symbol:"manufacturinginstructions",count:5},{symbol:"weaponcomponent",count:12},{symbol:"tungstencarbide",count:12}]}}};var PERSONAL_UPGRADE_COSTS=deepFreeze(upgrade_costs_default);function getSuitUpgradeStepCost(family,targetGrade){assertTargetGrade(targetGrade,"getSuitUpgradeStepCost");const costs=getSuitUpgradeCosts(family);return costs?.[String(targetGrade)]??null}function getSuitUpgradeCost(family,targetGrade,currentGrade=1){assertGrade(targetGrade,"getSuitUpgradeCost: targetGrade");assertGrade(currentGrade,"getSuitUpgradeCost: currentGrade");const costs=getSuitUpgradeCosts(family);if(!costs)return null;return totalCosts(costs,targetGrade,currentGrade)}function getPersonalWeaponUpgradeStepCost(symbol,targetGrade){assertTargetGrade(targetGrade,"getPersonalWeaponUpgradeStepCost");const weapon=getPersonalWeaponBySymbol(symbol);if(!weapon)return null;return PERSONAL_UPGRADE_COSTS.weaponGroups[weapon.upgradeGroup][String(targetGrade)]??null}function getPersonalWeaponUpgradeCost(symbol,targetGrade,currentGrade=1){assertGrade(targetGrade,"getPersonalWeaponUpgradeCost: targetGrade");assertGrade(currentGrade,"getPersonalWeaponUpgradeCost: currentGrade");const weapon=getPersonalWeaponBySymbol(symbol);if(!weapon)return null;return totalCosts(PERSONAL_UPGRADE_COSTS.weaponGroups[weapon.upgradeGroup],targetGrade,currentGrade)}function totalCosts(costs,targetGrade,currentGrade){const steps=[];for(let grade=currentGrade+1;grade<=targetGrade;grade++){steps.push(costs[String(grade)])}return sumPersonalEngineeringIngredients(...steps)}function getSuitUpgradeCosts(family){const suit=getSuitByFamily(family);if(!suit||!Object.hasOwn(PERSONAL_UPGRADE_COSTS.suits,suit.family))return null;return PERSONAL_UPGRADE_COSTS.suits[suit.family]}function assertTargetGrade(grade,functionName){if(!Number.isInteger(grade)||grade<2||grade>5){throw new RangeError(`${functionName}: targetGrade must be an integer in [2, 5]`)}}function assertGrade(grade,label){if(!Number.isInteger(grade)||grade<1||grade>5){throw new RangeError(`${label} must be an integer in [1, 5]`)}}export{PERSONAL_UPGRADE_COSTS,getPersonalWeaponUpgradeCost,getPersonalWeaponUpgradeStepCost,getSuitUpgradeCost,getSuitUpgradeStepCost};//# sourceMappingURL=upgrade-costs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/equipment/upgrade-costs.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../src/equipment/upgrade-costs.ts"],"names":["getSuitByFamily","getPersonalWeaponBySymbol","sumPersonalEngineeringIngredients","deepFreeze","upgrade_costs_default","suits","symbol","weaponGroups","PERSONAL_UPGRADE_COSTS","getSuitUpgradeStepCost","family","targetGrade","assertTargetGrade","costs","getSuitUpgradeCosts","String","getSuitUpgradeCost","currentGrade","assertGrade","totalCosts","getPersonalWeaponUpgradeStepCost","weapon","upgradeGroup","getPersonalWeaponUpgradeCost","steps","grade","push","suit","Object","hasOwn","functionName","Number","isInteger","RangeError","label"],"mappings":"O,ssJA4EO,IAAMQ,uBAA+CL,WACxDC,uBAmBG,SAASK,uBACZC,OACAC,aAEAC,kBAAkBD,YAAa,0BAC/B,MAAME,MAAQC,oBAAoBJ,QAClC,OAAOG,QAAQE,OAAOJ,eAAoD,IAC9E,CAoBO,SAASK,mBACZN,OACAC,YACAM,aAAe,GAEfC,YAAYP,YAAa,mCACzBO,YAAYD,aAAc,oCAC1B,MAAMJ,MAAQC,oBAAoBJ,QAClC,IAAKG,MAAO,OAAO,KACnB,OAAOM,WAAWN,MAAOF,YAAaM,aAC1C,CAkBO,SAASG,iCACZd,OACAK,aAEAC,kBAAkBD,YAAa,oCAC/B,MAAMU,OAASpB,0BAA0BK,QACzC,IAAKe,OAAQ,OAAO,KACpB,OACIb,uBAAuBD,aAAac,OAAOC,cAAcP,OAAOJ,eAAwB,IAEhG,CAqBO,SAASY,6BACZjB,OACAK,YACAM,aAAe,GAEfC,YAAYP,YAAa,6CACzBO,YAAYD,aAAc,8CAC1B,MAAMI,OAASpB,0BAA0BK,QACzC,IAAKe,OAAQ,OAAO,KACpB,OAAOF,WACHX,uBAAuBD,aAAac,OAAOC,cAC3CX,YACAM,aAER,CAEA,SAASE,WACLN,MACAF,YACAM,cAEA,MAAMO,MAAsD,GAC5D,IAAA,IAASC,MAAQR,aAAe,EAAGQ,OAASd,YAAac,QAAS,CAC9DD,MAAME,KAAKb,MAAME,OAAOU,QAC5B,CACA,OAAOvB,qCAAqCsB,MAChD,CAEA,SAASV,oBAAoBJ,QACzB,MAAMiB,KAAO3B,gBAAgBU,QAC7B,IAAKiB,OAASC,OAAOC,OAAOrB,uBAAuBH,MAAOsB,KAAKjB,QAAS,OAAO,KAC/E,OAAOF,uBAAuBH,MAAMsB,KAAKjB,OAC7C,CAEA,SAASE,kBAAkBa,MAAeK,cACtC,IAAKC,OAAOC,UAAUP,QAAUA,MAAQ,GAAKA,MAAQ,EAAG,CACpD,MAAM,IAAIQ,WAAW,GAAGH,yDAC5B,CACJ,CAEA,SAASZ,YAAYO,MAAeS,OAChC,IAAKH,OAAOC,UAAUP,QAAUA,MAAQ,GAAKA,MAAQ,EAAG,CACpD,MAAM,IAAIQ,WAAW,GAAGC,qCAC5B,CACJ,QAAA1B,uBAAAe,6BAAAH,iCAAAJ,mBAAAP"}
|
package/dist/i18n/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{getShipManufacturer,getShipName}from"../chunk-KJFUNIIY.js";export{getLoadoutSlotName,getSlotRestrictionLabel}from"../chunk-ZRG35JSH.js"; export{getExperimentalEffectDescription}from"../chunk-FF2X4K5P.js";export{getExperimentalEffectName}from"../chunk-DSMLYA2M.js";export{getMaterialName}from"../chunk-TW7LUBHD.js";export{getMicroResourceName}from"../chunk-GRSNX36B.js";export{getOutfittingFamilyName}from"../chunk-SD6GNFDX.js";export{getModuleName}from"../chunk-LZYHBFJC.js";export{getPreEngineeredVariantName}from"../chunk-T62GO4AA.js";export{getBlueprintName}from"../chunk-DBDCOHI4.js";export{getCalculationIssueMessage,getLoadoutEditErrorMessage,getLoadoutIssueMessage,getSlefDiagnosticMessage}from"../chunk-6G6TYW2D.js";export{getEngineeringGroupName}from"../chunk-5ZVYRX6Z.js"; //# sourceMappingURL=index.js.map
|
package/dist/materials/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-
|
|
1
|
+
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7EWZGDWY.js";export{ALL_MICRO_RESOURCES}from"../chunk-DAQ3PJ4R.js";export{COMPONENT_MICRO_RESOURCES}from"../chunk-HTB52N6S.js";export{CONSUMABLE_MICRO_RESOURCES}from"../chunk-K7L7SMIR.js";export{DATA_MICRO_RESOURCES}from"../chunk-GVLDFJEY.js";export{ITEM_MICRO_RESOURCES}from"../chunk-WHWFKHV3.js"; export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-IWFQ4ZKF.js";export{ALL_MATERIALS}from"../chunk-JO52LYO3.js";export{ENCODED_MATERIALS}from"../chunk-AIEC3LBT.js";export{MANUFACTURED_MATERIALS}from"../chunk-ITKZKREP.js";export{RAW_MATERIALS}from"../chunk-Q6YDPREF.js"; //# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ALL_MATERIALS}from"../chunk-
|
|
1
|
+
export{ALL_MATERIALS}from"../chunk-JO52LYO3.js"; //# sourceMappingURL=materials-all.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ENCODED_MATERIALS}from"../chunk-
|
|
1
|
+
export{ENCODED_MATERIALS}from"../chunk-AIEC3LBT.js"; //# sourceMappingURL=materials-encoded.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{MANUFACTURED_MATERIALS}from"../chunk-
|
|
1
|
+
export{MANUFACTURED_MATERIALS}from"../chunk-ITKZKREP.js"; //# sourceMappingURL=materials-manufactured.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{RAW_MATERIALS}from"../chunk-
|
|
1
|
+
export{RAW_MATERIALS}from"../chunk-Q6YDPREF.js"; //# sourceMappingURL=materials-raw.js.map
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* | `./materials-all` | `ALL_MATERIALS` | 146 (the default) |
|
|
29
29
|
*
|
|
30
30
|
* It narrows *results*, not bundle size: importing a lookup pulls all three
|
|
31
|
-
* catalogues, since that is what it falls back to — 17
|
|
31
|
+
* catalogues, since that is what it falls back to — ~17 KiB minified for all 146.
|
|
32
32
|
* {@link materialsInCategory} reaches the same subsets from a plain string.
|
|
33
33
|
*
|
|
34
34
|
* **Only `ALL_MATERIALS` itself is indexed.** A by-key lookup answers from an O(1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-
|
|
1
|
+
export{MaterialGrade,MaterialLine,getMaterialByElementSymbol,getMaterialByName,getMaterialBySymbol,materialsByGrade,materialsInCategory,materialsInLine}from"../chunk-IWFQ4ZKF.js"; //# sourceMappingURL=materials.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ALL_MICRO_RESOURCES}from"../chunk-
|
|
1
|
+
export{ALL_MICRO_RESOURCES}from"../chunk-DAQ3PJ4R.js"; //# sourceMappingURL=micro-resources-all.js.map
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* | `./micro-resources-all` | `ALL_MICRO_RESOURCES` | 226 (the default) |
|
|
28
28
|
*
|
|
29
29
|
* It narrows *results*, not bundle size: importing a lookup pulls all four
|
|
30
|
-
* catalogues, since that is what it falls back to — 13
|
|
30
|
+
* catalogues, since that is what it falls back to — ~13 KiB minified for all 226.
|
|
31
31
|
* {@link microResourcesInCategory} reaches the same subsets from a plain string.
|
|
32
32
|
*
|
|
33
33
|
* **Only `ALL_MICRO_RESOURCES` itself is indexed.** A by-key lookup answers from an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-
|
|
1
|
+
export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7EWZGDWY.js"; //# sourceMappingURL=micro-resources.js.map
|
package/dist/ships/armour.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{armourMetrics}from"../chunk-
|
|
1
|
+
export{armourMetrics}from"../chunk-Q5ALV3DI.js"; //# sourceMappingURL=armour.js.map
|