@lgriffin/esi.ts 9.7.0 → 10.0.0
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/CHANGELOG.md +370 -0
- package/README.md +168 -231
- package/dist/EsiClient.d.ts +4 -0
- package/dist/EsiClient.d.ts.map +1 -1
- package/dist/EsiClientBuilder.d.ts.map +1 -1
- package/dist/auth/EsiTokenManager.d.ts +200 -0
- package/dist/auth/EsiTokenManager.d.ts.map +1 -0
- package/dist/auth/EveSsoClient.d.ts +88 -0
- package/dist/auth/EveSsoClient.d.ts.map +1 -0
- package/dist/auth/errors.d.ts +42 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/index.d.ts +14 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/jwt.d.ts +43 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/pkce.d.ts +21 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/storage/FileTokenStorage.d.ts +44 -0
- package/dist/auth/storage/FileTokenStorage.d.ts.map +1 -0
- package/dist/auth/storage/MemoryTokenStorage.d.ts +18 -0
- package/dist/auth/storage/MemoryTokenStorage.d.ts.map +1 -0
- package/dist/auth/types.d.ts +42 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/chunk-3ZI5A37L.mjs +1065 -0
- package/dist/chunk-3ZI5A37L.mjs.map +1 -0
- package/dist/chunk-7A72QFDF.mjs +416 -0
- package/dist/chunk-7A72QFDF.mjs.map +1 -0
- package/dist/chunk-BBSHKVPI.js +71 -0
- package/dist/chunk-BBSHKVPI.js.map +1 -0
- package/dist/chunk-HPSACXX3.js +416 -0
- package/dist/chunk-HPSACXX3.js.map +1 -0
- package/dist/chunk-JIW4BXLP.mjs +17 -0
- package/dist/chunk-JIW4BXLP.mjs.map +1 -0
- package/dist/chunk-MSJHIJXA.js +1065 -0
- package/dist/chunk-MSJHIJXA.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-R7D7M2LQ.mjs +71 -0
- package/dist/chunk-R7D7M2LQ.mjs.map +1 -0
- package/dist/chunk-SAQBXXTM.js +2614 -0
- package/dist/chunk-SAQBXXTM.js.map +1 -0
- package/dist/chunk-VZS32UQ3.mjs +2614 -0
- package/dist/chunk-VZS32UQ3.mjs.map +1 -0
- package/dist/clients/AllianceClient.d.ts.map +1 -1
- package/dist/clients/ContractsClient.d.ts +12 -9
- package/dist/clients/ContractsClient.d.ts.map +1 -1
- package/dist/clients/CorporationProjectsClient.d.ts +22 -12
- package/dist/clients/CorporationProjectsClient.d.ts.map +1 -1
- package/dist/clients/FactionClient.d.ts +4 -4
- package/dist/clients/FactionClient.d.ts.map +1 -1
- package/dist/clients/FreelanceJobsClient.d.ts +3 -3
- package/dist/clients/FreelanceJobsClient.d.ts.map +1 -1
- package/dist/clients/IndustryClient.d.ts +4 -4
- package/dist/clients/IndustryClient.d.ts.map +1 -1
- package/dist/clients/MailClient.d.ts +4 -4
- package/dist/clients/MailClient.d.ts.map +1 -1
- package/dist/clients/MetaClient.d.ts +3 -2
- package/dist/clients/MetaClient.d.ts.map +1 -1
- package/dist/clients/WalletClient.d.ts +4 -4
- package/dist/clients/WalletClient.d.ts.map +1 -1
- package/dist/core/ApiClient.d.ts +4 -0
- package/dist/core/ApiClient.d.ts.map +1 -1
- package/dist/core/ApiRequestHandler.d.ts.map +1 -1
- package/dist/core/BatchRequestHandler.d.ts.map +1 -1
- package/dist/core/RequestDeduplicator.d.ts +2 -0
- package/dist/core/RequestDeduplicator.d.ts.map +1 -1
- package/dist/core/RetryStrategy.d.ts +2 -0
- package/dist/core/RetryStrategy.d.ts.map +1 -1
- package/dist/core/cache/ETagCacheManager.d.ts +4 -0
- package/dist/core/cache/ETagCacheManager.d.ts.map +1 -1
- package/dist/core/circuitBreaker/CircuitBreaker.d.ts +3 -0
- package/dist/core/circuitBreaker/CircuitBreaker.d.ts.map +1 -1
- package/dist/core/configureApiClient.d.ts.map +1 -1
- package/dist/core/constants.d.ts +2 -2
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/endpoints/calendarEndpoints.d.ts +7 -7
- package/dist/core/endpoints/characterEndpoints.d.ts +2 -2
- package/dist/core/endpoints/cloneEndpoints.d.ts +2 -2
- package/dist/core/endpoints/contractEndpoints.d.ts +15 -22
- package/dist/core/endpoints/contractEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/corporationEndpoints.d.ts +19 -22
- package/dist/core/endpoints/corporationEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/corporationProjectEndpoints.d.ts +75 -23
- package/dist/core/endpoints/corporationProjectEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/createClient.d.ts.map +1 -1
- package/dist/core/endpoints/dogmaEndpoints.d.ts +2 -2
- package/dist/core/endpoints/factionEndpoints.d.ts +36 -36
- package/dist/core/endpoints/factionEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/fleetEndpoints.d.ts +1 -1
- package/dist/core/endpoints/freelanceJobsEndpoints.d.ts +131 -122
- package/dist/core/endpoints/freelanceJobsEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/industryEndpoints.d.ts +6 -6
- package/dist/core/endpoints/industryEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/mailEndpoints.d.ts +3 -5
- package/dist/core/endpoints/mailEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/mercenaryEndpoints.d.ts +1 -1
- package/dist/core/endpoints/metaEndpoints.d.ts +5 -1
- package/dist/core/endpoints/metaEndpoints.d.ts.map +1 -1
- package/dist/core/endpoints/piEndpoints.d.ts +2 -2
- package/dist/core/endpoints/statusEndpoints.d.ts +1 -1
- package/dist/core/endpoints/universeEndpoints.d.ts +22 -22
- package/dist/core/endpoints/walletEndpoints.d.ts +2 -3
- package/dist/core/endpoints/walletEndpoints.d.ts.map +1 -1
- package/dist/core/logger/DefaultLogger.d.ts +31 -0
- package/dist/core/logger/DefaultLogger.d.ts.map +1 -0
- package/dist/core/logger/ILogger.d.ts +14 -4
- package/dist/core/logger/ILogger.d.ts.map +1 -1
- package/dist/core/logger/NoopLogger.d.ts +4 -0
- package/dist/core/logger/NoopLogger.d.ts.map +1 -1
- package/dist/core/logger/clientLog.d.ts +11 -0
- package/dist/core/logger/clientLog.d.ts.map +1 -0
- package/dist/core/logger/logger.d.ts +11 -3
- package/dist/core/logger/logger.d.ts.map +1 -1
- package/dist/core/logger/loggerUtil.d.ts +8 -6
- package/dist/core/logger/loggerUtil.d.ts.map +1 -1
- package/dist/core/logger/resolveLogger.d.ts +10 -0
- package/dist/core/logger/resolveLogger.d.ts.map +1 -0
- package/dist/core/pagination/AsyncPaginationIterator.d.ts.map +1 -1
- package/dist/core/pagination/CursorPaginationHandler.d.ts.map +1 -1
- package/dist/core/pagination/PaginationHandler.d.ts.map +1 -1
- package/dist/core/rateLimiter/RateLimiter.d.ts.map +1 -1
- package/dist/core/requestPipeline/cachePolicy.d.ts +14 -0
- package/dist/core/requestPipeline/cachePolicy.d.ts.map +1 -1
- package/dist/core/requestPipeline/fetchExecution.d.ts +1 -1
- package/dist/core/requestPipeline/fetchExecution.d.ts.map +1 -1
- package/dist/core/requestPipeline/headers.d.ts.map +1 -1
- package/dist/core/requestPipeline/index.d.ts +2 -2
- package/dist/core/requestPipeline/index.d.ts.map +1 -1
- package/dist/core/requestPipeline/paginationOrchestration.d.ts.map +1 -1
- package/dist/core/requestPipeline/statusHandling.d.ts +8 -2
- package/dist/core/requestPipeline/statusHandling.d.ts.map +1 -1
- package/dist/core/util/concurrency.d.ts +29 -0
- package/dist/core/util/concurrency.d.ts.map +1 -0
- package/dist/errors.d.ts +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +53 -195
- package/dist/errors.js.map +1 -1
- package/dist/errors.mjs +37 -129
- package/dist/errors.mjs.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1972 -3472
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1606 -2995
- package/dist/index.mjs.map +1 -1
- package/dist/schemas/calendar.d.ts +9 -7
- package/dist/schemas/calendar.d.ts.map +1 -1
- package/dist/schemas/character.d.ts +2 -2
- package/dist/schemas/clones.d.ts +2 -2
- package/dist/schemas/contracts.d.ts +69 -6
- package/dist/schemas/contracts.d.ts.map +1 -1
- package/dist/schemas/corporation-projects.d.ts +96 -9
- package/dist/schemas/corporation-projects.d.ts.map +1 -1
- package/dist/schemas/corporation.d.ts +34 -22
- package/dist/schemas/corporation.d.ts.map +1 -1
- package/dist/schemas/dogma.d.ts +2 -2
- package/dist/schemas/faction-warfare.d.ts +125 -12
- package/dist/schemas/faction-warfare.d.ts.map +1 -1
- package/dist/schemas/fleet.d.ts +1 -1
- package/dist/schemas/freelance-jobs.d.ts +52 -22
- package/dist/schemas/freelance-jobs.d.ts.map +1 -1
- package/dist/schemas/index.js +420 -2479
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/index.mjs +225 -2065
- package/dist/schemas/index.mjs.map +1 -1
- package/dist/schemas/industry.d.ts +33 -0
- package/dist/schemas/industry.d.ts.map +1 -1
- package/dist/schemas/mail.d.ts +24 -5
- package/dist/schemas/mail.d.ts.map +1 -1
- package/dist/schemas/mercenary.d.ts +1 -1
- package/dist/schemas/meta.d.ts +12 -1
- package/dist/schemas/meta.d.ts.map +1 -1
- package/dist/schemas/pi.d.ts +2 -2
- package/dist/schemas/status.d.ts +1 -1
- package/dist/schemas/universe.d.ts +22 -22
- package/dist/schemas/universe.d.ts.map +1 -1
- package/dist/schemas/wallet.d.ts +16 -0
- package/dist/schemas/wallet.d.ts.map +1 -1
- package/dist/sde/SdeDataProvider.d.ts.map +1 -1
- package/dist/sde/index.js +95 -1162
- package/dist/sde/index.js.map +1 -1
- package/dist/sde/index.mjs +73 -1091
- package/dist/sde/index.mjs.map +1 -1
- package/dist/sde/ingestion/SdeExtractor.d.ts.map +1 -1
- package/dist/sde/ingestion/metadata.d.ts +13 -0
- package/dist/sde/ingestion/metadata.d.ts.map +1 -0
- package/dist/sde/memory.js +21 -1095
- package/dist/sde/memory.js.map +1 -1
- package/dist/sde/memory.mjs +13 -1051
- package/dist/sde/memory.mjs.map +1 -1
- package/dist/sde/optionalPeers.d.ts +25 -0
- package/dist/sde/optionalPeers.d.ts.map +1 -0
- package/dist/testing/TestDataFactory.d.ts +28 -1
- package/dist/testing/TestDataFactory.d.ts.map +1 -1
- package/dist/testing/index.js +116 -125
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/index.mjs +110 -82
- package/dist/testing/index.mjs.map +1 -1
- package/dist/types/contracts.d.ts +4 -1
- package/dist/types/contracts.d.ts.map +1 -1
- package/dist/types/corporation-projects.d.ts +5 -1
- package/dist/types/corporation-projects.d.ts.map +1 -1
- package/dist/types/faction-warfare.d.ts +9 -1
- package/dist/types/faction-warfare.d.ts.map +1 -1
- package/dist/types/freelance-jobs.d.ts +2 -1
- package/dist/types/freelance-jobs.d.ts.map +1 -1
- package/dist/types/generated/spec-alignment.check.d.ts +2 -2
- package/dist/types/industry.d.ts +2 -1
- package/dist/types/industry.d.ts.map +1 -1
- package/dist/types/mail.d.ts +2 -1
- package/dist/types/mail.d.ts.map +1 -1
- package/dist/types/meta.d.ts +2 -1
- package/dist/types/meta.d.ts.map +1 -1
- package/dist/types/wallet.d.ts +2 -1
- package/dist/types/wallet.d.ts.map +1 -1
- package/package.json +46 -23
package/dist/sde/index.mjs
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MemorySdeProvider,
|
|
3
|
+
SdeDatabaseError,
|
|
4
|
+
SdeError,
|
|
5
|
+
SdeTestDataFactory,
|
|
6
|
+
SdeValidationError,
|
|
7
|
+
SdeVersionMismatchError,
|
|
8
|
+
isSdeDatabaseError,
|
|
9
|
+
isSdeError,
|
|
10
|
+
isSdeValidationError,
|
|
11
|
+
isSdeVersionMismatch
|
|
12
|
+
} from "../chunk-3ZI5A37L.mjs";
|
|
13
|
+
import {
|
|
14
|
+
__filename
|
|
15
|
+
} from "../chunk-JIW4BXLP.mjs";
|
|
16
|
+
|
|
1
17
|
// src/sde/SdeDataProvider.ts
|
|
2
18
|
import * as fs from "fs";
|
|
3
19
|
import * as path from "path";
|
|
4
|
-
import * as yaml2 from "js-yaml";
|
|
5
20
|
|
|
6
21
|
// src/sde/ingestion/constants.ts
|
|
7
22
|
var SDE_METADATA_FILENAME = "_sde.yaml";
|
|
@@ -740,59 +755,44 @@ var SDE_FILE_REGISTRY = [
|
|
|
740
755
|
}
|
|
741
756
|
];
|
|
742
757
|
|
|
743
|
-
// src/sde/
|
|
744
|
-
import
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
};
|
|
762
|
-
var SdeValidationError = class extends SdeError {
|
|
763
|
-
validationError;
|
|
764
|
-
entityType;
|
|
765
|
-
entityId;
|
|
766
|
-
constructor(entityType, validationError, entityId) {
|
|
767
|
-
const idSuffix = entityId !== void 0 ? ` (id: ${entityId})` : "";
|
|
768
|
-
super(`SDE validation failed for ${entityType}${idSuffix}`);
|
|
769
|
-
this.name = "SdeValidationError";
|
|
770
|
-
this.validationError = validationError;
|
|
771
|
-
this.entityType = entityType;
|
|
772
|
-
this.entityId = entityId;
|
|
773
|
-
}
|
|
774
|
-
};
|
|
775
|
-
var SdeVersionMismatchError = class extends SdeError {
|
|
776
|
-
expected;
|
|
777
|
-
actual;
|
|
778
|
-
constructor(expected, actual) {
|
|
779
|
-
super(`SDE version mismatch: expected ${expected}, got ${actual}`);
|
|
780
|
-
this.name = "SdeVersionMismatchError";
|
|
781
|
-
this.expected = expected;
|
|
782
|
-
this.actual = actual;
|
|
758
|
+
// src/sde/optionalPeers.ts
|
|
759
|
+
import { createRequire } from "module";
|
|
760
|
+
var requireFromPackage = createRequire(__filename);
|
|
761
|
+
function isMissing(err, peer) {
|
|
762
|
+
if (!(err instanceof Error)) return false;
|
|
763
|
+
const code = err.code;
|
|
764
|
+
return (code === "MODULE_NOT_FOUND" || code === "ERR_MODULE_NOT_FOUND") && err.message.includes(`'${peer}'`);
|
|
765
|
+
}
|
|
766
|
+
function requireOptionalPeer(peer, neededFor, load = requireFromPackage) {
|
|
767
|
+
try {
|
|
768
|
+
return load(peer);
|
|
769
|
+
} catch (err) {
|
|
770
|
+
if (isMissing(err, peer)) {
|
|
771
|
+
throw new SdeError(
|
|
772
|
+
`${peer} is required to ${neededFor}. It is an optional peer dependency of @lgriffin/esi.ts; install it with: npm install ${peer}`
|
|
773
|
+
);
|
|
774
|
+
}
|
|
775
|
+
throw err;
|
|
783
776
|
}
|
|
784
|
-
};
|
|
785
|
-
function isSdeError(error) {
|
|
786
|
-
return error instanceof SdeError;
|
|
787
777
|
}
|
|
788
|
-
function
|
|
789
|
-
return
|
|
778
|
+
function loadJsYaml() {
|
|
779
|
+
return requireOptionalPeer("js-yaml", "parse SDE YAML files");
|
|
790
780
|
}
|
|
791
|
-
function
|
|
792
|
-
return
|
|
781
|
+
function loadAdmZip() {
|
|
782
|
+
return requireOptionalPeer("adm-zip", "read SDE ZIP archives");
|
|
793
783
|
}
|
|
794
|
-
|
|
795
|
-
|
|
784
|
+
|
|
785
|
+
// src/sde/ingestion/metadata.ts
|
|
786
|
+
function asText(value) {
|
|
787
|
+
return typeof value === "string" || typeof value === "number" ? String(value) : "";
|
|
788
|
+
}
|
|
789
|
+
function parseSdeMetadata(content) {
|
|
790
|
+
const parsed = loadJsYaml().load(content);
|
|
791
|
+
const block = parsed.sde ?? parsed;
|
|
792
|
+
return {
|
|
793
|
+
buildNumber: asText(block.buildNumber),
|
|
794
|
+
releaseDate: asText(block.releaseDate)
|
|
795
|
+
};
|
|
796
796
|
}
|
|
797
797
|
|
|
798
798
|
// src/sde/ingestion/SdeExtractor.ts
|
|
@@ -804,34 +804,31 @@ function findEntry(zip, filename) {
|
|
|
804
804
|
return entryBasename === basename || entry.entryName === filename || entry.entryName === `sde/${filename}`;
|
|
805
805
|
});
|
|
806
806
|
}
|
|
807
|
+
function openZip(zipPath) {
|
|
808
|
+
const Zip = loadAdmZip();
|
|
809
|
+
return new Zip(zipPath);
|
|
810
|
+
}
|
|
807
811
|
function readEntryAsString(entry) {
|
|
808
812
|
const buffer = entry.getData();
|
|
809
813
|
return buffer.toString("utf-8");
|
|
810
814
|
}
|
|
811
815
|
var SdeExtractor = class {
|
|
812
816
|
readMetadata(zipPath) {
|
|
813
|
-
const zip =
|
|
817
|
+
const zip = openZip(zipPath);
|
|
814
818
|
const entry = findEntry(zip, SDE_METADATA_FILENAME);
|
|
815
819
|
if (!entry) {
|
|
816
820
|
throw new SdeError(
|
|
817
821
|
`Metadata file '${SDE_METADATA_FILENAME}' not found in archive: ${zipPath}`
|
|
818
822
|
);
|
|
819
823
|
}
|
|
820
|
-
|
|
821
|
-
const parsed = yaml.load(content);
|
|
822
|
-
const bn = parsed.buildNumber;
|
|
823
|
-
const rd = parsed.releaseDate;
|
|
824
|
-
return {
|
|
825
|
-
buildNumber: typeof bn === "string" || typeof bn === "number" ? String(bn) : "",
|
|
826
|
-
releaseDate: typeof rd === "string" || typeof rd === "number" ? String(rd) : ""
|
|
827
|
-
};
|
|
824
|
+
return parseSdeMetadata(readEntryAsString(entry));
|
|
828
825
|
}
|
|
829
826
|
parseFile(zipPath, filename) {
|
|
830
|
-
const zip =
|
|
827
|
+
const zip = openZip(zipPath);
|
|
831
828
|
return this.parseFileFromZip(zip, filename);
|
|
832
829
|
}
|
|
833
830
|
parseFiles(zipPath, filenames) {
|
|
834
|
-
const zip =
|
|
831
|
+
const zip = openZip(zipPath);
|
|
835
832
|
const results = [];
|
|
836
833
|
for (const filename of filenames) {
|
|
837
834
|
const entry = findEntry(zip, filename);
|
|
@@ -843,11 +840,11 @@ var SdeExtractor = class {
|
|
|
843
840
|
return results;
|
|
844
841
|
}
|
|
845
842
|
extractAll(zipPath, outputDir) {
|
|
846
|
-
const zip =
|
|
843
|
+
const zip = openZip(zipPath);
|
|
847
844
|
zip.extractAllTo(outputDir, true);
|
|
848
845
|
}
|
|
849
846
|
listFiles(zipPath) {
|
|
850
|
-
const zip =
|
|
847
|
+
const zip = openZip(zipPath);
|
|
851
848
|
return zip.getEntries().filter(
|
|
852
849
|
(entry) => !entry.isDirectory && entry.entryName.endsWith(".yaml")
|
|
853
850
|
).map((entry) => entry.entryName);
|
|
@@ -861,7 +858,7 @@ var SdeExtractor = class {
|
|
|
861
858
|
}
|
|
862
859
|
parseEntryAsFile(entry, filename) {
|
|
863
860
|
const content = readEntryAsString(entry);
|
|
864
|
-
const parsed =
|
|
861
|
+
const parsed = loadJsYaml().load(content);
|
|
865
862
|
const records = new Map(
|
|
866
863
|
Object.entries(parsed).map(([key, value]) => {
|
|
867
864
|
const numKey = Number(key);
|
|
@@ -921,6 +918,13 @@ function transformRecordNative(entityId, raw, spec) {
|
|
|
921
918
|
}
|
|
922
919
|
|
|
923
920
|
// src/sde/SdeDataProvider.ts
|
|
921
|
+
function toVersionInfo(metadata) {
|
|
922
|
+
return {
|
|
923
|
+
version: metadata?.buildNumber || "unknown",
|
|
924
|
+
buildDate: metadata?.releaseDate || "unknown",
|
|
925
|
+
importedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
926
|
+
};
|
|
927
|
+
}
|
|
924
928
|
var SdeDataProvider = class _SdeDataProvider {
|
|
925
929
|
entities = /* @__PURE__ */ new Map();
|
|
926
930
|
fkIndexes = /* @__PURE__ */ new Map();
|
|
@@ -933,30 +937,14 @@ var SdeDataProvider = class _SdeDataProvider {
|
|
|
933
937
|
if (!fs.existsSync(resolvedDir)) {
|
|
934
938
|
throw new SdeError(`SDE directory not found: ${resolvedDir}`);
|
|
935
939
|
}
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
importedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
940
|
-
};
|
|
941
|
-
const metaPath = path.join(resolvedDir, "_sde.yaml");
|
|
942
|
-
if (fs.existsSync(metaPath)) {
|
|
943
|
-
const metaContent = fs.readFileSync(metaPath, "utf-8");
|
|
944
|
-
const parsed = yaml2.load(metaContent);
|
|
945
|
-
const sdeBlock = parsed.sde ?? parsed;
|
|
946
|
-
const bn = sdeBlock.buildNumber;
|
|
947
|
-
const rd = sdeBlock.releaseDate;
|
|
948
|
-
version = {
|
|
949
|
-
version: typeof bn === "string" || typeof bn === "number" ? String(bn) : "unknown",
|
|
950
|
-
buildDate: typeof rd === "string" || typeof rd === "number" ? String(rd) : "unknown",
|
|
951
|
-
importedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
952
|
-
};
|
|
953
|
-
}
|
|
954
|
-
const provider = new _SdeDataProvider(version);
|
|
940
|
+
const metaPath = path.join(resolvedDir, SDE_METADATA_FILENAME);
|
|
941
|
+
const metadata = fs.existsSync(metaPath) ? parseSdeMetadata(fs.readFileSync(metaPath, "utf-8")) : void 0;
|
|
942
|
+
const provider = new _SdeDataProvider(toVersionInfo(metadata));
|
|
955
943
|
for (const spec of SDE_FILE_REGISTRY) {
|
|
956
944
|
const filePath = path.join(resolvedDir, spec.yamlFile);
|
|
957
945
|
if (!fs.existsSync(filePath)) continue;
|
|
958
946
|
const content = fs.readFileSync(filePath, "utf-8");
|
|
959
|
-
const parsed =
|
|
947
|
+
const parsed = loadJsYaml().load(content);
|
|
960
948
|
if (!parsed || typeof parsed !== "object") continue;
|
|
961
949
|
provider.loadRecords(spec, parsed);
|
|
962
950
|
}
|
|
@@ -969,12 +957,7 @@ var SdeDataProvider = class _SdeDataProvider {
|
|
|
969
957
|
}
|
|
970
958
|
const extractor = new SdeExtractor();
|
|
971
959
|
const metadata = extractor.readMetadata(resolvedPath);
|
|
972
|
-
const
|
|
973
|
-
version: metadata.buildNumber || "unknown",
|
|
974
|
-
buildDate: metadata.releaseDate || "unknown",
|
|
975
|
-
importedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
976
|
-
};
|
|
977
|
-
const provider = new _SdeDataProvider(version);
|
|
960
|
+
const provider = new _SdeDataProvider(toVersionInfo(metadata));
|
|
978
961
|
const yamlFiles = SDE_FILE_REGISTRY.map((s) => s.yamlFile);
|
|
979
962
|
const parsedFiles = extractor.parseFiles(resolvedPath, yamlFiles);
|
|
980
963
|
const specMap = new Map(SDE_FILE_REGISTRY.map((s) => [s.yamlFile, s]));
|
|
@@ -1527,1007 +1510,6 @@ var SdeDataProvider = class _SdeDataProvider {
|
|
|
1527
1510
|
this.fkIndexes.clear();
|
|
1528
1511
|
}
|
|
1529
1512
|
};
|
|
1530
|
-
|
|
1531
|
-
// src/sde/MemorySdeProvider.ts
|
|
1532
|
-
var MemorySdeProvider = class {
|
|
1533
|
-
data = /* @__PURE__ */ new Map();
|
|
1534
|
-
versionInfo;
|
|
1535
|
-
constructor(data = {}) {
|
|
1536
|
-
const register = (key, items, idFn) => {
|
|
1537
|
-
this.data.set(
|
|
1538
|
-
key,
|
|
1539
|
-
new Map((items ?? []).map((item) => [idFn(item), item]))
|
|
1540
|
-
);
|
|
1541
|
-
};
|
|
1542
|
-
register("eve_types", data.types, (t) => t.typeId);
|
|
1543
|
-
register("eve_groups", data.groups, (g) => g.groupId);
|
|
1544
|
-
register("eve_categories", data.categories, (c) => c.categoryId);
|
|
1545
|
-
register("eve_regions", data.regions, (r) => r.regionId);
|
|
1546
|
-
register(
|
|
1547
|
-
"eve_constellations",
|
|
1548
|
-
data.constellations,
|
|
1549
|
-
(c) => c.constellationId
|
|
1550
|
-
);
|
|
1551
|
-
register("eve_solar_systems", data.solarSystems, (s) => s.systemId);
|
|
1552
|
-
register("eve_stargates", data.stargates, (s) => s.stargateId);
|
|
1553
|
-
register("eve_stars", data.stars, (s) => s.starId);
|
|
1554
|
-
register("eve_planets", data.planets, (p) => p.planetId);
|
|
1555
|
-
register("eve_moons", data.moons, (m) => m.moonId);
|
|
1556
|
-
register("eve_asteroid_belts", data.asteroidBelts, (a) => a.asteroidBeltId);
|
|
1557
|
-
register("eve_factions", data.factions, (f) => f.factionId);
|
|
1558
|
-
register("eve_races", data.races, (r) => r.raceId);
|
|
1559
|
-
register("eve_bloodlines", data.bloodlines, (b) => b.bloodlineId);
|
|
1560
|
-
register("eve_ancestries", data.ancestries, (a) => a.ancestryId);
|
|
1561
|
-
register(
|
|
1562
|
-
"eve_npc_corporations",
|
|
1563
|
-
data.npcCorporations,
|
|
1564
|
-
(c) => c.corporationId
|
|
1565
|
-
);
|
|
1566
|
-
register("eve_npc_stations", data.npcStations, (s) => s.stationId);
|
|
1567
|
-
register("eve_market_groups", data.marketGroups, (g) => g.marketGroupId);
|
|
1568
|
-
register("eve_meta_groups", data.metaGroups, (g) => g.metaGroupId);
|
|
1569
|
-
register("eve_icons", data.icons, (i) => i.iconId);
|
|
1570
|
-
register("eve_graphics", data.graphics, (g) => g.graphicId);
|
|
1571
|
-
register(
|
|
1572
|
-
"eve_dogma_attributes",
|
|
1573
|
-
data.dogmaAttributes,
|
|
1574
|
-
(a) => a.attributeId
|
|
1575
|
-
);
|
|
1576
|
-
register("eve_dogma_effects", data.dogmaEffects, (e) => e.effectId);
|
|
1577
|
-
register("eve_blueprints", data.blueprints, (b) => b.blueprintTypeId);
|
|
1578
|
-
register(
|
|
1579
|
-
"eve_planet_schematics",
|
|
1580
|
-
data.planetSchematics,
|
|
1581
|
-
(s) => s.planetSchematicId
|
|
1582
|
-
);
|
|
1583
|
-
register("eve_agent_types", data.agentTypes, (a) => a.agentTypeId);
|
|
1584
|
-
register("eve_agents_in_space", data.agentsInSpace, (a) => a.characterId);
|
|
1585
|
-
register("eve_certificates", data.certificates, (c) => c.certificateId);
|
|
1586
|
-
register(
|
|
1587
|
-
"eve_character_attributes",
|
|
1588
|
-
data.characterAttributes,
|
|
1589
|
-
(c) => c.attributeId
|
|
1590
|
-
);
|
|
1591
|
-
register("eve_clone_grades", data.cloneGrades, (c) => c.cloneGradeId);
|
|
1592
|
-
register(
|
|
1593
|
-
"eve_corporation_activities",
|
|
1594
|
-
data.corporationActivities,
|
|
1595
|
-
(c) => c.corporationActivityId
|
|
1596
|
-
);
|
|
1597
|
-
register(
|
|
1598
|
-
"eve_dogma_attribute_categories",
|
|
1599
|
-
data.dogmaAttributeCategories,
|
|
1600
|
-
(d) => d.attributeCategoryId
|
|
1601
|
-
);
|
|
1602
|
-
register("eve_dogma_units", data.dogmaUnits, (d) => d.unitId);
|
|
1603
|
-
register(
|
|
1604
|
-
"eve_industry_activities",
|
|
1605
|
-
data.industryActivities,
|
|
1606
|
-
(i) => i.industryActivityId
|
|
1607
|
-
);
|
|
1608
|
-
register("eve_landmarks", data.landmarks, (l) => l.landmarkId);
|
|
1609
|
-
register(
|
|
1610
|
-
"eve_notification_types",
|
|
1611
|
-
data.notificationTypes,
|
|
1612
|
-
(n) => n.notificationTypeId
|
|
1613
|
-
);
|
|
1614
|
-
register("eve_npc_characters", data.npcCharacters, (n) => n.characterId);
|
|
1615
|
-
register(
|
|
1616
|
-
"eve_npc_corporation_divisions",
|
|
1617
|
-
data.npcCorporationDivisions,
|
|
1618
|
-
(n) => n.npcCorporationDivisionId
|
|
1619
|
-
);
|
|
1620
|
-
register("eve_schools", data.schools, (s) => s.schoolId);
|
|
1621
|
-
register("eve_secondary_suns", data.secondarySuns, (s) => s.secondarySunId);
|
|
1622
|
-
register("eve_skins", data.skins, (s) => s.skinId);
|
|
1623
|
-
register("eve_skin_licenses", data.skinLicenses, (s) => s.licenseTypeId);
|
|
1624
|
-
register(
|
|
1625
|
-
"eve_station_operations",
|
|
1626
|
-
data.stationOperations,
|
|
1627
|
-
(s) => s.stationOperationId
|
|
1628
|
-
);
|
|
1629
|
-
register(
|
|
1630
|
-
"eve_station_services",
|
|
1631
|
-
data.stationServices,
|
|
1632
|
-
(s) => s.stationServiceId
|
|
1633
|
-
);
|
|
1634
|
-
register("eve_type_dogma", data.typeDogma, (t) => t.typeId);
|
|
1635
|
-
register("eve_type_materials", data.typeMaterials, (t) => t.typeId);
|
|
1636
|
-
register("eve_type_bonuses", data.typeBonuses, (t) => t.typeId);
|
|
1637
|
-
register("eve_missions", data.missions, (m) => m.missionId);
|
|
1638
|
-
register("eve_dungeons", data.dungeons, (d) => d.dungeonId);
|
|
1639
|
-
register("eve_epic_arcs", data.epicArcs, (e) => e.epicArcId);
|
|
1640
|
-
this.versionInfo = {
|
|
1641
|
-
version: data.version?.version ?? "1.0.0-test",
|
|
1642
|
-
buildDate: data.version?.buildDate ?? "2024-01-01T00:00:00Z",
|
|
1643
|
-
importedAt: data.version?.importedAt ?? "2024-01-01T00:00:00Z",
|
|
1644
|
-
checksum: data.version?.checksum
|
|
1645
|
-
};
|
|
1646
|
-
}
|
|
1647
|
-
getById(table, id) {
|
|
1648
|
-
return this.data.get(table)?.get(id) ?? null;
|
|
1649
|
-
}
|
|
1650
|
-
getAllFrom(table) {
|
|
1651
|
-
const map = this.data.get(table);
|
|
1652
|
-
return map ? Array.from(map.values()) : [];
|
|
1653
|
-
}
|
|
1654
|
-
filterBy(table, field, value) {
|
|
1655
|
-
return this.getAllFrom(table).filter(
|
|
1656
|
-
(item) => item[field] === value
|
|
1657
|
-
);
|
|
1658
|
-
}
|
|
1659
|
-
searchBy(table, field, query, limit = 25) {
|
|
1660
|
-
const lowerQuery = query.toLowerCase();
|
|
1661
|
-
const results = [];
|
|
1662
|
-
for (const item of this.getAllFrom(table)) {
|
|
1663
|
-
const val = item[field];
|
|
1664
|
-
if (typeof val === "string" && val.toLowerCase().includes(lowerQuery)) {
|
|
1665
|
-
results.push(item);
|
|
1666
|
-
if (results.length >= limit) break;
|
|
1667
|
-
}
|
|
1668
|
-
}
|
|
1669
|
-
return results;
|
|
1670
|
-
}
|
|
1671
|
-
// --- Types, Groups, Categories ---
|
|
1672
|
-
getType(typeId) {
|
|
1673
|
-
return this.getById("eve_types", typeId);
|
|
1674
|
-
}
|
|
1675
|
-
getTypesByGroup(groupId) {
|
|
1676
|
-
return this.filterBy("eve_types", "groupId", groupId);
|
|
1677
|
-
}
|
|
1678
|
-
getGroup(groupId) {
|
|
1679
|
-
return this.getById("eve_groups", groupId);
|
|
1680
|
-
}
|
|
1681
|
-
getGroupsByCategory(categoryId) {
|
|
1682
|
-
return this.filterBy("eve_groups", "categoryId", categoryId);
|
|
1683
|
-
}
|
|
1684
|
-
getCategory(categoryId) {
|
|
1685
|
-
return this.getById("eve_categories", categoryId);
|
|
1686
|
-
}
|
|
1687
|
-
getAllCategories() {
|
|
1688
|
-
return this.getAllFrom("eve_categories");
|
|
1689
|
-
}
|
|
1690
|
-
// --- Regions, Constellations, Solar Systems, Stargates ---
|
|
1691
|
-
getRegion(regionId) {
|
|
1692
|
-
return this.getById("eve_regions", regionId);
|
|
1693
|
-
}
|
|
1694
|
-
getAllRegions() {
|
|
1695
|
-
return this.getAllFrom("eve_regions");
|
|
1696
|
-
}
|
|
1697
|
-
getConstellation(constellationId) {
|
|
1698
|
-
return this.getById("eve_constellations", constellationId);
|
|
1699
|
-
}
|
|
1700
|
-
getConstellationsByRegion(regionId) {
|
|
1701
|
-
return this.filterBy("eve_constellations", "regionId", regionId);
|
|
1702
|
-
}
|
|
1703
|
-
getSolarSystem(systemId) {
|
|
1704
|
-
return this.getById("eve_solar_systems", systemId);
|
|
1705
|
-
}
|
|
1706
|
-
getSolarSystemsByConstellation(constellationId) {
|
|
1707
|
-
return this.filterBy(
|
|
1708
|
-
"eve_solar_systems",
|
|
1709
|
-
"constellationId",
|
|
1710
|
-
constellationId
|
|
1711
|
-
);
|
|
1712
|
-
}
|
|
1713
|
-
getStargate(stargateId) {
|
|
1714
|
-
return this.getById("eve_stargates", stargateId);
|
|
1715
|
-
}
|
|
1716
|
-
getStargatesBySystem(systemId) {
|
|
1717
|
-
return this.filterBy("eve_stargates", "solarSystemId", systemId);
|
|
1718
|
-
}
|
|
1719
|
-
// --- Search ---
|
|
1720
|
-
searchTypesByName(query, limit = 25) {
|
|
1721
|
-
return this.searchBy("eve_types", "name", query, limit);
|
|
1722
|
-
}
|
|
1723
|
-
searchSolarSystemsByName(query, limit = 25) {
|
|
1724
|
-
return this.searchBy("eve_solar_systems", "name", query, limit);
|
|
1725
|
-
}
|
|
1726
|
-
// --- Universe ---
|
|
1727
|
-
getStar(starId) {
|
|
1728
|
-
return this.getById("eve_stars", starId);
|
|
1729
|
-
}
|
|
1730
|
-
getStarBySystem(systemId) {
|
|
1731
|
-
return this.filterBy("eve_stars", "solarSystemId", systemId)[0] ?? null;
|
|
1732
|
-
}
|
|
1733
|
-
getPlanet(planetId) {
|
|
1734
|
-
return this.getById("eve_planets", planetId);
|
|
1735
|
-
}
|
|
1736
|
-
getPlanetsBySystem(systemId) {
|
|
1737
|
-
return this.filterBy("eve_planets", "solarSystemId", systemId);
|
|
1738
|
-
}
|
|
1739
|
-
getMoon(moonId) {
|
|
1740
|
-
return this.getById("eve_moons", moonId);
|
|
1741
|
-
}
|
|
1742
|
-
getMoonsBySystem(systemId) {
|
|
1743
|
-
return this.filterBy("eve_moons", "solarSystemId", systemId);
|
|
1744
|
-
}
|
|
1745
|
-
getAsteroidBelt(asteroidBeltId) {
|
|
1746
|
-
return this.getById("eve_asteroid_belts", asteroidBeltId);
|
|
1747
|
-
}
|
|
1748
|
-
getAsteroidBeltsBySystem(systemId) {
|
|
1749
|
-
return this.filterBy("eve_asteroid_belts", "solarSystemId", systemId);
|
|
1750
|
-
}
|
|
1751
|
-
// --- Character/Lore ---
|
|
1752
|
-
getFaction(factionId) {
|
|
1753
|
-
return this.getById("eve_factions", factionId);
|
|
1754
|
-
}
|
|
1755
|
-
getAllFactions() {
|
|
1756
|
-
return this.getAllFrom("eve_factions");
|
|
1757
|
-
}
|
|
1758
|
-
getRace(raceId) {
|
|
1759
|
-
return this.getById("eve_races", raceId);
|
|
1760
|
-
}
|
|
1761
|
-
getAllRaces() {
|
|
1762
|
-
return this.getAllFrom("eve_races");
|
|
1763
|
-
}
|
|
1764
|
-
getBloodline(bloodlineId) {
|
|
1765
|
-
return this.getById("eve_bloodlines", bloodlineId);
|
|
1766
|
-
}
|
|
1767
|
-
getBloodlinesByRace(raceId) {
|
|
1768
|
-
return this.filterBy("eve_bloodlines", "raceId", raceId);
|
|
1769
|
-
}
|
|
1770
|
-
getAncestry(ancestryId) {
|
|
1771
|
-
return this.getById("eve_ancestries", ancestryId);
|
|
1772
|
-
}
|
|
1773
|
-
getAncestriesByBloodline(bloodlineId) {
|
|
1774
|
-
return this.filterBy("eve_ancestries", "bloodlineId", bloodlineId);
|
|
1775
|
-
}
|
|
1776
|
-
// --- NPC Infrastructure ---
|
|
1777
|
-
getNpcCorporation(corporationId) {
|
|
1778
|
-
return this.getById("eve_npc_corporations", corporationId);
|
|
1779
|
-
}
|
|
1780
|
-
getNpcCorporationsByFaction(factionId) {
|
|
1781
|
-
return this.filterBy("eve_npc_corporations", "factionId", factionId);
|
|
1782
|
-
}
|
|
1783
|
-
getNpcStation(stationId) {
|
|
1784
|
-
return this.getById("eve_npc_stations", stationId);
|
|
1785
|
-
}
|
|
1786
|
-
getNpcStationsBySystem(systemId) {
|
|
1787
|
-
return this.filterBy("eve_npc_stations", "solarSystemId", systemId);
|
|
1788
|
-
}
|
|
1789
|
-
getNpcStationsByOwner(ownerId) {
|
|
1790
|
-
return this.filterBy("eve_npc_stations", "ownerId", ownerId);
|
|
1791
|
-
}
|
|
1792
|
-
// --- Market ---
|
|
1793
|
-
getMarketGroup(marketGroupId) {
|
|
1794
|
-
return this.getById("eve_market_groups", marketGroupId);
|
|
1795
|
-
}
|
|
1796
|
-
getMarketGroupsByParent(parentGroupId) {
|
|
1797
|
-
return this.filterBy("eve_market_groups", "parentGroupId", parentGroupId);
|
|
1798
|
-
}
|
|
1799
|
-
getRootMarketGroups() {
|
|
1800
|
-
return this.getAllFrom("eve_market_groups").filter(
|
|
1801
|
-
(g) => g.parentGroupId === null
|
|
1802
|
-
);
|
|
1803
|
-
}
|
|
1804
|
-
getTypesByMarketGroup(marketGroupId) {
|
|
1805
|
-
return this.filterBy("eve_types", "marketGroupId", marketGroupId);
|
|
1806
|
-
}
|
|
1807
|
-
searchMarketGroupsByName(query, limit = 25) {
|
|
1808
|
-
return this.searchBy("eve_market_groups", "name", query, limit);
|
|
1809
|
-
}
|
|
1810
|
-
// --- Meta/UI ---
|
|
1811
|
-
getMetaGroup(metaGroupId) {
|
|
1812
|
-
return this.getById("eve_meta_groups", metaGroupId);
|
|
1813
|
-
}
|
|
1814
|
-
getAllMetaGroups() {
|
|
1815
|
-
return this.getAllFrom("eve_meta_groups");
|
|
1816
|
-
}
|
|
1817
|
-
getIcon(iconId) {
|
|
1818
|
-
return this.getById("eve_icons", iconId);
|
|
1819
|
-
}
|
|
1820
|
-
getGraphic(graphicId) {
|
|
1821
|
-
return this.getById("eve_graphics", graphicId);
|
|
1822
|
-
}
|
|
1823
|
-
// --- Dogma ---
|
|
1824
|
-
getDogmaAttribute(attributeId) {
|
|
1825
|
-
return this.getById("eve_dogma_attributes", attributeId);
|
|
1826
|
-
}
|
|
1827
|
-
searchDogmaAttributesByName(query, limit = 25) {
|
|
1828
|
-
return this.searchBy("eve_dogma_attributes", "name", query, limit);
|
|
1829
|
-
}
|
|
1830
|
-
getDogmaEffect(effectId) {
|
|
1831
|
-
return this.getById("eve_dogma_effects", effectId);
|
|
1832
|
-
}
|
|
1833
|
-
searchDogmaEffectsByName(query, limit = 25) {
|
|
1834
|
-
return this.searchBy("eve_dogma_effects", "name", query, limit);
|
|
1835
|
-
}
|
|
1836
|
-
getDogmaAttributeCategory(attributeCategoryId) {
|
|
1837
|
-
return this.getById("eve_dogma_attribute_categories", attributeCategoryId);
|
|
1838
|
-
}
|
|
1839
|
-
getAllDogmaAttributeCategories() {
|
|
1840
|
-
return this.getAllFrom("eve_dogma_attribute_categories");
|
|
1841
|
-
}
|
|
1842
|
-
getDogmaUnit(unitId) {
|
|
1843
|
-
return this.getById("eve_dogma_units", unitId);
|
|
1844
|
-
}
|
|
1845
|
-
getAllDogmaUnits() {
|
|
1846
|
-
return this.getAllFrom("eve_dogma_units");
|
|
1847
|
-
}
|
|
1848
|
-
// --- Industry ---
|
|
1849
|
-
getBlueprint(blueprintTypeId) {
|
|
1850
|
-
return this.getById("eve_blueprints", blueprintTypeId);
|
|
1851
|
-
}
|
|
1852
|
-
getPlanetSchematic(planetSchematicId) {
|
|
1853
|
-
return this.getById("eve_planet_schematics", planetSchematicId);
|
|
1854
|
-
}
|
|
1855
|
-
getAllPlanetSchematics() {
|
|
1856
|
-
return this.getAllFrom("eve_planet_schematics");
|
|
1857
|
-
}
|
|
1858
|
-
getIndustryActivity(industryActivityId) {
|
|
1859
|
-
return this.getById("eve_industry_activities", industryActivityId);
|
|
1860
|
-
}
|
|
1861
|
-
getAllIndustryActivities() {
|
|
1862
|
-
return this.getAllFrom("eve_industry_activities");
|
|
1863
|
-
}
|
|
1864
|
-
// --- Agent System ---
|
|
1865
|
-
getAgentType(agentTypeId) {
|
|
1866
|
-
return this.getById("eve_agent_types", agentTypeId);
|
|
1867
|
-
}
|
|
1868
|
-
getAllAgentTypes() {
|
|
1869
|
-
return this.getAllFrom("eve_agent_types");
|
|
1870
|
-
}
|
|
1871
|
-
getAgentInSpace(characterId) {
|
|
1872
|
-
return this.getById("eve_agents_in_space", characterId);
|
|
1873
|
-
}
|
|
1874
|
-
getAgentsInSpaceBySystem(systemId) {
|
|
1875
|
-
return this.filterBy("eve_agents_in_space", "solarSystemId", systemId);
|
|
1876
|
-
}
|
|
1877
|
-
// --- Certificates ---
|
|
1878
|
-
getCertificate(certificateId) {
|
|
1879
|
-
return this.getById("eve_certificates", certificateId);
|
|
1880
|
-
}
|
|
1881
|
-
getAllCertificates() {
|
|
1882
|
-
return this.getAllFrom("eve_certificates");
|
|
1883
|
-
}
|
|
1884
|
-
// --- Character Attributes ---
|
|
1885
|
-
getCharacterAttribute(attributeId) {
|
|
1886
|
-
return this.getById("eve_character_attributes", attributeId);
|
|
1887
|
-
}
|
|
1888
|
-
getAllCharacterAttributes() {
|
|
1889
|
-
return this.getAllFrom("eve_character_attributes");
|
|
1890
|
-
}
|
|
1891
|
-
// --- NPC Characters ---
|
|
1892
|
-
getNpcCharacter(characterId) {
|
|
1893
|
-
return this.getById("eve_npc_characters", characterId);
|
|
1894
|
-
}
|
|
1895
|
-
getNpcCharactersByCorporation(corporationId) {
|
|
1896
|
-
return this.filterBy("eve_npc_characters", "corporationId", corporationId);
|
|
1897
|
-
}
|
|
1898
|
-
searchNpcCharactersByName(query, limit = 25) {
|
|
1899
|
-
return this.searchBy("eve_npc_characters", "name", query, limit);
|
|
1900
|
-
}
|
|
1901
|
-
// --- Clone Grades ---
|
|
1902
|
-
getCloneGrade(cloneGradeId) {
|
|
1903
|
-
return this.getById("eve_clone_grades", cloneGradeId);
|
|
1904
|
-
}
|
|
1905
|
-
getAllCloneGrades() {
|
|
1906
|
-
return this.getAllFrom("eve_clone_grades");
|
|
1907
|
-
}
|
|
1908
|
-
// --- Corporation Reference ---
|
|
1909
|
-
getCorporationActivity(corporationActivityId) {
|
|
1910
|
-
return this.getById("eve_corporation_activities", corporationActivityId);
|
|
1911
|
-
}
|
|
1912
|
-
getAllCorporationActivities() {
|
|
1913
|
-
return this.getAllFrom("eve_corporation_activities");
|
|
1914
|
-
}
|
|
1915
|
-
getNpcCorporationDivision(npcCorporationDivisionId) {
|
|
1916
|
-
return this.getById(
|
|
1917
|
-
"eve_npc_corporation_divisions",
|
|
1918
|
-
npcCorporationDivisionId
|
|
1919
|
-
);
|
|
1920
|
-
}
|
|
1921
|
-
getAllNpcCorporationDivisions() {
|
|
1922
|
-
return this.getAllFrom("eve_npc_corporation_divisions");
|
|
1923
|
-
}
|
|
1924
|
-
// --- Landmarks ---
|
|
1925
|
-
getLandmark(landmarkId) {
|
|
1926
|
-
return this.getById("eve_landmarks", landmarkId);
|
|
1927
|
-
}
|
|
1928
|
-
getAllLandmarks() {
|
|
1929
|
-
return this.getAllFrom("eve_landmarks");
|
|
1930
|
-
}
|
|
1931
|
-
// --- Notifications ---
|
|
1932
|
-
getNotificationType(notificationTypeId) {
|
|
1933
|
-
return this.getById("eve_notification_types", notificationTypeId);
|
|
1934
|
-
}
|
|
1935
|
-
// --- Schools ---
|
|
1936
|
-
getSchool(schoolId) {
|
|
1937
|
-
return this.getById("eve_schools", schoolId);
|
|
1938
|
-
}
|
|
1939
|
-
getAllSchools() {
|
|
1940
|
-
return this.getAllFrom("eve_schools");
|
|
1941
|
-
}
|
|
1942
|
-
// --- Secondary Suns ---
|
|
1943
|
-
getSecondarySun(secondarySunId) {
|
|
1944
|
-
return this.getById("eve_secondary_suns", secondarySunId);
|
|
1945
|
-
}
|
|
1946
|
-
getSecondarySunsBySystem(systemId) {
|
|
1947
|
-
return this.filterBy("eve_secondary_suns", "solarSystemId", systemId);
|
|
1948
|
-
}
|
|
1949
|
-
// --- Skins ---
|
|
1950
|
-
getSkin(skinId) {
|
|
1951
|
-
return this.getById("eve_skins", skinId);
|
|
1952
|
-
}
|
|
1953
|
-
getSkinLicense(licenseTypeId) {
|
|
1954
|
-
return this.getById("eve_skin_licenses", licenseTypeId);
|
|
1955
|
-
}
|
|
1956
|
-
getSkinLicensesBySkin(skinId) {
|
|
1957
|
-
return this.filterBy("eve_skin_licenses", "skinId", skinId);
|
|
1958
|
-
}
|
|
1959
|
-
// --- Station Operations & Services ---
|
|
1960
|
-
getStationOperation(stationOperationId) {
|
|
1961
|
-
return this.getById("eve_station_operations", stationOperationId);
|
|
1962
|
-
}
|
|
1963
|
-
getAllStationOperations() {
|
|
1964
|
-
return this.getAllFrom("eve_station_operations");
|
|
1965
|
-
}
|
|
1966
|
-
getStationService(stationServiceId) {
|
|
1967
|
-
return this.getById("eve_station_services", stationServiceId);
|
|
1968
|
-
}
|
|
1969
|
-
getAllStationServices() {
|
|
1970
|
-
return this.getAllFrom("eve_station_services");
|
|
1971
|
-
}
|
|
1972
|
-
// --- Type Extensions ---
|
|
1973
|
-
getTypeDogma(typeId) {
|
|
1974
|
-
return this.getById("eve_type_dogma", typeId);
|
|
1975
|
-
}
|
|
1976
|
-
getTypeMaterial(typeId) {
|
|
1977
|
-
return this.getById("eve_type_materials", typeId);
|
|
1978
|
-
}
|
|
1979
|
-
getTypeBonus(typeId) {
|
|
1980
|
-
return this.getById("eve_type_bonuses", typeId);
|
|
1981
|
-
}
|
|
1982
|
-
// --- Missions & Content ---
|
|
1983
|
-
getMission(missionId) {
|
|
1984
|
-
return this.getById("eve_missions", missionId);
|
|
1985
|
-
}
|
|
1986
|
-
getDungeon(dungeonId) {
|
|
1987
|
-
return this.getById("eve_dungeons", dungeonId);
|
|
1988
|
-
}
|
|
1989
|
-
getEpicArc(epicArcId) {
|
|
1990
|
-
return this.getById("eve_epic_arcs", epicArcId);
|
|
1991
|
-
}
|
|
1992
|
-
getAllEpicArcs() {
|
|
1993
|
-
return this.getAllFrom("eve_epic_arcs");
|
|
1994
|
-
}
|
|
1995
|
-
// --- Generic accessor ---
|
|
1996
|
-
getEntity(tableName, id) {
|
|
1997
|
-
return this.getById(tableName, id);
|
|
1998
|
-
}
|
|
1999
|
-
getAllEntities(tableName) {
|
|
2000
|
-
return this.getAllFrom(tableName);
|
|
2001
|
-
}
|
|
2002
|
-
// --- Version & Lifecycle ---
|
|
2003
|
-
getVersion() {
|
|
2004
|
-
return { ...this.versionInfo };
|
|
2005
|
-
}
|
|
2006
|
-
close() {
|
|
2007
|
-
this.data.clear();
|
|
2008
|
-
}
|
|
2009
|
-
};
|
|
2010
|
-
|
|
2011
|
-
// src/sde/SdeTestDataFactory.ts
|
|
2012
|
-
var SdeTestDataFactory = class {
|
|
2013
|
-
static createEveType(overrides = {}) {
|
|
2014
|
-
return {
|
|
2015
|
-
typeId: 34,
|
|
2016
|
-
groupId: 18,
|
|
2017
|
-
mass: 1,
|
|
2018
|
-
name: "Tritanium",
|
|
2019
|
-
portionSize: 1,
|
|
2020
|
-
published: true,
|
|
2021
|
-
packagedVolume: null,
|
|
2022
|
-
volume: 0.01,
|
|
2023
|
-
radius: null,
|
|
2024
|
-
description: "The most common mineral in the known universe.",
|
|
2025
|
-
graphicId: 20,
|
|
2026
|
-
soundId: null,
|
|
2027
|
-
iconId: null,
|
|
2028
|
-
raceId: null,
|
|
2029
|
-
basePrice: 4,
|
|
2030
|
-
marketGroupId: 1857,
|
|
2031
|
-
capacity: null,
|
|
2032
|
-
isRepackable: null,
|
|
2033
|
-
...overrides
|
|
2034
|
-
};
|
|
2035
|
-
}
|
|
2036
|
-
static createEveGroup(overrides = {}) {
|
|
2037
|
-
return {
|
|
2038
|
-
groupId: 18,
|
|
2039
|
-
anchorable: false,
|
|
2040
|
-
anchored: false,
|
|
2041
|
-
categoryId: 4,
|
|
2042
|
-
fittableNonSingleton: false,
|
|
2043
|
-
name: "Mineral",
|
|
2044
|
-
published: true,
|
|
2045
|
-
useBasePrice: true,
|
|
2046
|
-
iconId: null,
|
|
2047
|
-
...overrides
|
|
2048
|
-
};
|
|
2049
|
-
}
|
|
2050
|
-
static createEveCategory(overrides = {}) {
|
|
2051
|
-
return {
|
|
2052
|
-
categoryId: 4,
|
|
2053
|
-
name: "Material",
|
|
2054
|
-
published: true,
|
|
2055
|
-
iconId: null,
|
|
2056
|
-
...overrides
|
|
2057
|
-
};
|
|
2058
|
-
}
|
|
2059
|
-
static createRegion(overrides = {}) {
|
|
2060
|
-
return {
|
|
2061
|
-
regionId: 10000002,
|
|
2062
|
-
constellationIDs: [20000020],
|
|
2063
|
-
description: "The Forge is the industrial heart of the Caldari State.",
|
|
2064
|
-
factionId: 500001,
|
|
2065
|
-
name: "The Forge",
|
|
2066
|
-
nebulaId: 10,
|
|
2067
|
-
position: { x: -96e15, y: 6e16, z: -11e16 },
|
|
2068
|
-
wormholeClassId: 0,
|
|
2069
|
-
...overrides
|
|
2070
|
-
};
|
|
2071
|
-
}
|
|
2072
|
-
static createConstellation(overrides = {}) {
|
|
2073
|
-
return {
|
|
2074
|
-
constellationId: 20000020,
|
|
2075
|
-
factionId: 500001,
|
|
2076
|
-
name: "Kimotoro",
|
|
2077
|
-
position: { x: -97e15, y: 61e15, z: -115e15 },
|
|
2078
|
-
regionId: 10000002,
|
|
2079
|
-
solarSystemIDs: [30000142, 30000144],
|
|
2080
|
-
wormholeClassId: 0,
|
|
2081
|
-
...overrides
|
|
2082
|
-
};
|
|
2083
|
-
}
|
|
2084
|
-
static createSolarSystem(overrides = {}) {
|
|
2085
|
-
return {
|
|
2086
|
-
systemId: 30000142,
|
|
2087
|
-
border: false,
|
|
2088
|
-
constellationId: 20000020,
|
|
2089
|
-
hub: true,
|
|
2090
|
-
international: false,
|
|
2091
|
-
luminosity: 0.02142,
|
|
2092
|
-
name: "Jita",
|
|
2093
|
-
planetIDs: [40009077],
|
|
2094
|
-
position: { x: -129e15, y: 607e14, z: -112e15 },
|
|
2095
|
-
position2D: { x: -129e15, y: -112e15 },
|
|
2096
|
-
radius: 467e10,
|
|
2097
|
-
regionId: 10000002,
|
|
2098
|
-
regional: false,
|
|
2099
|
-
securityClass: "B",
|
|
2100
|
-
securityStatus: 0.9459991455078125,
|
|
2101
|
-
starId: 40009082,
|
|
2102
|
-
stargateIDs: [50001248],
|
|
2103
|
-
corridor: null,
|
|
2104
|
-
fringe: null,
|
|
2105
|
-
wormholeClassId: null,
|
|
2106
|
-
visualEffect: null,
|
|
2107
|
-
...overrides
|
|
2108
|
-
};
|
|
2109
|
-
}
|
|
2110
|
-
static createStargate(overrides = {}) {
|
|
2111
|
-
return {
|
|
2112
|
-
stargateId: 50001248,
|
|
2113
|
-
destination: { solarSystemId: 30000144, stargateId: 50001249 },
|
|
2114
|
-
position: { x: 15e11, y: 32e10, z: -87e10 },
|
|
2115
|
-
solarSystemId: 30000142,
|
|
2116
|
-
typeId: 16,
|
|
2117
|
-
...overrides
|
|
2118
|
-
};
|
|
2119
|
-
}
|
|
2120
|
-
static createStar(overrides = {}) {
|
|
2121
|
-
return {
|
|
2122
|
-
starId: 40009082,
|
|
2123
|
-
radius: 3466e5,
|
|
2124
|
-
solarSystemId: 30000142,
|
|
2125
|
-
statistics: {
|
|
2126
|
-
age: 76e9,
|
|
2127
|
-
life: 1e11,
|
|
2128
|
-
luminosity: 0.02142,
|
|
2129
|
-
locked: false,
|
|
2130
|
-
spectralClass: "K7 V",
|
|
2131
|
-
temperature: 4e3
|
|
2132
|
-
},
|
|
2133
|
-
typeId: 3796,
|
|
2134
|
-
...overrides
|
|
2135
|
-
};
|
|
2136
|
-
}
|
|
2137
|
-
static createPlanet(overrides = {}) {
|
|
2138
|
-
return {
|
|
2139
|
-
planetId: 40009077,
|
|
2140
|
-
asteroidBeltIDs: [40009079],
|
|
2141
|
-
attributes: {},
|
|
2142
|
-
celestialIndex: 1,
|
|
2143
|
-
moonIDs: [40009078],
|
|
2144
|
-
orbitId: 40009082,
|
|
2145
|
-
position: { x: 12e12, y: 1e11, z: -35e11 },
|
|
2146
|
-
radius: 233e4,
|
|
2147
|
-
solarSystemId: 30000142,
|
|
2148
|
-
statistics: {},
|
|
2149
|
-
typeId: 2015,
|
|
2150
|
-
npcStationIDs: null,
|
|
2151
|
-
...overrides
|
|
2152
|
-
};
|
|
2153
|
-
}
|
|
2154
|
-
static createMoon(overrides = {}) {
|
|
2155
|
-
return {
|
|
2156
|
-
moonId: 40009078,
|
|
2157
|
-
attributes: {},
|
|
2158
|
-
celestialIndex: 1,
|
|
2159
|
-
orbitId: 40009077,
|
|
2160
|
-
orbitIndex: 1,
|
|
2161
|
-
position: { x: 121e11, y: 101e9, z: -351e10 },
|
|
2162
|
-
radius: 24e4,
|
|
2163
|
-
solarSystemId: 30000142,
|
|
2164
|
-
statistics: {},
|
|
2165
|
-
typeId: 14,
|
|
2166
|
-
npcStationIDs: null,
|
|
2167
|
-
...overrides
|
|
2168
|
-
};
|
|
2169
|
-
}
|
|
2170
|
-
static createAsteroidBelt(overrides = {}) {
|
|
2171
|
-
return {
|
|
2172
|
-
asteroidBeltId: 40009079,
|
|
2173
|
-
celestialIndex: 1,
|
|
2174
|
-
orbitId: 40009077,
|
|
2175
|
-
orbitIndex: 1,
|
|
2176
|
-
position: { x: 119e11, y: 99e9, z: -349e10 },
|
|
2177
|
-
radius: 5e4,
|
|
2178
|
-
solarSystemId: 30000142,
|
|
2179
|
-
statistics: {},
|
|
2180
|
-
typeId: 15,
|
|
2181
|
-
...overrides
|
|
2182
|
-
};
|
|
2183
|
-
}
|
|
2184
|
-
static createFaction(overrides = {}) {
|
|
2185
|
-
return {
|
|
2186
|
-
factionId: 500001,
|
|
2187
|
-
corporationId: 1000035,
|
|
2188
|
-
description: "The Caldari State is a corporate dictatorship.",
|
|
2189
|
-
flatLogo: "res:/ui/texture/corps/caldari.png",
|
|
2190
|
-
flatLogoWithName: "res:/ui/texture/corps/caldari_name.png",
|
|
2191
|
-
iconId: 1439,
|
|
2192
|
-
memberRaces: [1],
|
|
2193
|
-
militiaCorporationId: 1000180,
|
|
2194
|
-
name: "Caldari State",
|
|
2195
|
-
shortDescription: "Caldari",
|
|
2196
|
-
sizeFactor: 5,
|
|
2197
|
-
solarSystemId: 30000142,
|
|
2198
|
-
uniqueName: true,
|
|
2199
|
-
...overrides
|
|
2200
|
-
};
|
|
2201
|
-
}
|
|
2202
|
-
static createRace(overrides = {}) {
|
|
2203
|
-
return {
|
|
2204
|
-
raceId: 1,
|
|
2205
|
-
description: "The Caldari State is a corporate dictatorship.",
|
|
2206
|
-
iconId: 1439,
|
|
2207
|
-
name: "Caldari",
|
|
2208
|
-
shipTypeId: 601,
|
|
2209
|
-
skills: {},
|
|
2210
|
-
...overrides
|
|
2211
|
-
};
|
|
2212
|
-
}
|
|
2213
|
-
static createBloodline(overrides = {}) {
|
|
2214
|
-
return {
|
|
2215
|
-
bloodlineId: 1,
|
|
2216
|
-
charisma: 3,
|
|
2217
|
-
corporationId: 1000006,
|
|
2218
|
-
description: "The Deteis are regarded as the face of the Caldari State.",
|
|
2219
|
-
iconId: 1383,
|
|
2220
|
-
intelligence: 7,
|
|
2221
|
-
memory: 7,
|
|
2222
|
-
name: "Deteis",
|
|
2223
|
-
perception: 5,
|
|
2224
|
-
raceId: 1,
|
|
2225
|
-
willpower: 5,
|
|
2226
|
-
...overrides
|
|
2227
|
-
};
|
|
2228
|
-
}
|
|
2229
|
-
static createAncestry(overrides = {}) {
|
|
2230
|
-
return {
|
|
2231
|
-
ancestryId: 1,
|
|
2232
|
-
bloodlineId: 1,
|
|
2233
|
-
charisma: 0,
|
|
2234
|
-
description: "Born and raised in a capsule.",
|
|
2235
|
-
iconId: 1664,
|
|
2236
|
-
intelligence: 0,
|
|
2237
|
-
memory: 0,
|
|
2238
|
-
name: "Tube Child",
|
|
2239
|
-
perception: 0,
|
|
2240
|
-
shortDescription: "Raised in a capsule.",
|
|
2241
|
-
willpower: 2,
|
|
2242
|
-
...overrides
|
|
2243
|
-
};
|
|
2244
|
-
}
|
|
2245
|
-
static createNpcCorporation(overrides = {}) {
|
|
2246
|
-
return {
|
|
2247
|
-
corporationId: 1000035,
|
|
2248
|
-
ceoId: 3004451,
|
|
2249
|
-
deleted: false,
|
|
2250
|
-
description: "The Caldari Navy is the armed forces of the Caldari State.",
|
|
2251
|
-
extent: "G",
|
|
2252
|
-
hasPlayerPersonnelManager: false,
|
|
2253
|
-
initialPrice: 0,
|
|
2254
|
-
memberLimit: 0,
|
|
2255
|
-
minSecurity: 0,
|
|
2256
|
-
minimumJoinStanding: 0,
|
|
2257
|
-
name: "Caldari Navy",
|
|
2258
|
-
sendCharTerminationMessage: true,
|
|
2259
|
-
shares: 1e5,
|
|
2260
|
-
size: "H",
|
|
2261
|
-
stationId: 60003760,
|
|
2262
|
-
taxRate: 0,
|
|
2263
|
-
tickerName: "CN",
|
|
2264
|
-
uniqueName: true,
|
|
2265
|
-
allowedMemberRaces: null,
|
|
2266
|
-
corporationTrades: null,
|
|
2267
|
-
divisions: null,
|
|
2268
|
-
enemyId: null,
|
|
2269
|
-
factionId: 500001,
|
|
2270
|
-
friendId: null,
|
|
2271
|
-
iconId: 1439,
|
|
2272
|
-
investors: null,
|
|
2273
|
-
lpOfferTables: null,
|
|
2274
|
-
mainActivityId: null,
|
|
2275
|
-
raceId: 1,
|
|
2276
|
-
sizeFactor: null,
|
|
2277
|
-
solarSystemId: 30000142,
|
|
2278
|
-
secondaryActivityId: null,
|
|
2279
|
-
...overrides
|
|
2280
|
-
};
|
|
2281
|
-
}
|
|
2282
|
-
static createNpcStation(overrides = {}) {
|
|
2283
|
-
return {
|
|
2284
|
-
stationId: 60003760,
|
|
2285
|
-
celestialIndex: 4,
|
|
2286
|
-
operationId: 1,
|
|
2287
|
-
orbitId: 40009081,
|
|
2288
|
-
orbitIndex: 4,
|
|
2289
|
-
ownerId: 1000035,
|
|
2290
|
-
position: { x: 158e12, y: 963e10, z: 106e12 },
|
|
2291
|
-
reprocessingEfficiency: 0.5,
|
|
2292
|
-
reprocessingHangarFlag: 4,
|
|
2293
|
-
reprocessingStationsTake: 0.05,
|
|
2294
|
-
solarSystemId: 30000142,
|
|
2295
|
-
typeId: 1529,
|
|
2296
|
-
useOperationName: true,
|
|
2297
|
-
...overrides
|
|
2298
|
-
};
|
|
2299
|
-
}
|
|
2300
|
-
static createMarketGroup(overrides = {}) {
|
|
2301
|
-
return {
|
|
2302
|
-
marketGroupId: 1857,
|
|
2303
|
-
description: "Refined minerals used in manufacturing.",
|
|
2304
|
-
hasTypes: true,
|
|
2305
|
-
iconId: 22,
|
|
2306
|
-
name: "Minerals",
|
|
2307
|
-
parentGroupId: 1031,
|
|
2308
|
-
...overrides
|
|
2309
|
-
};
|
|
2310
|
-
}
|
|
2311
|
-
static createMetaGroup(overrides = {}) {
|
|
2312
|
-
return {
|
|
2313
|
-
metaGroupId: 1,
|
|
2314
|
-
color: { r: 255, g: 255, b: 255, a: 255 },
|
|
2315
|
-
name: "Tech I",
|
|
2316
|
-
iconId: null,
|
|
2317
|
-
iconSuffix: null,
|
|
2318
|
-
description: null,
|
|
2319
|
-
...overrides
|
|
2320
|
-
};
|
|
2321
|
-
}
|
|
2322
|
-
static createIcon(overrides = {}) {
|
|
2323
|
-
return {
|
|
2324
|
-
iconId: 22,
|
|
2325
|
-
iconFile: "res:/UI/Texture/Icons/22_32_2.png",
|
|
2326
|
-
...overrides
|
|
2327
|
-
};
|
|
2328
|
-
}
|
|
2329
|
-
static createGraphic(overrides = {}) {
|
|
2330
|
-
return {
|
|
2331
|
-
graphicId: 20,
|
|
2332
|
-
graphicFile: "res:/dx9/model/worldobject/asteroid/oreveld001.red",
|
|
2333
|
-
iconFolder: null,
|
|
2334
|
-
sofFactionName: null,
|
|
2335
|
-
sofHullName: null,
|
|
2336
|
-
sofRaceName: null,
|
|
2337
|
-
...overrides
|
|
2338
|
-
};
|
|
2339
|
-
}
|
|
2340
|
-
static createDogmaAttribute(overrides = {}) {
|
|
2341
|
-
return {
|
|
2342
|
-
attributeId: 9,
|
|
2343
|
-
attributeCategoryId: 1,
|
|
2344
|
-
dataType: 2,
|
|
2345
|
-
defaultValue: 0,
|
|
2346
|
-
description: "Hit points for a ship.",
|
|
2347
|
-
displayWhenZero: false,
|
|
2348
|
-
highIsGood: true,
|
|
2349
|
-
name: "hp",
|
|
2350
|
-
published: true,
|
|
2351
|
-
stackable: false,
|
|
2352
|
-
displayName: null,
|
|
2353
|
-
iconId: null,
|
|
2354
|
-
tooltipDescription: null,
|
|
2355
|
-
tooltipTitle: null,
|
|
2356
|
-
unitId: 1,
|
|
2357
|
-
chargeRechargeTimeId: null,
|
|
2358
|
-
maxAttributeId: null,
|
|
2359
|
-
minAttributeId: null,
|
|
2360
|
-
...overrides
|
|
2361
|
-
};
|
|
2362
|
-
}
|
|
2363
|
-
static createDogmaEffect(overrides = {}) {
|
|
2364
|
-
return {
|
|
2365
|
-
effectId: 11,
|
|
2366
|
-
disallowAutoRepeat: false,
|
|
2367
|
-
dischargeAttributeId: 0,
|
|
2368
|
-
durationAttributeId: 0,
|
|
2369
|
-
effectCategoryId: 0,
|
|
2370
|
-
electronicChance: false,
|
|
2371
|
-
guid: "effects.LowSlotModifier",
|
|
2372
|
-
isAssistance: false,
|
|
2373
|
-
isOffensive: false,
|
|
2374
|
-
isWarpSafe: true,
|
|
2375
|
-
name: "lowSlotModifier",
|
|
2376
|
-
propulsionChance: false,
|
|
2377
|
-
published: true,
|
|
2378
|
-
rangeChance: false,
|
|
2379
|
-
distribution: null,
|
|
2380
|
-
falloffAttributeId: null,
|
|
2381
|
-
rangeAttributeId: null,
|
|
2382
|
-
trackingSpeedAttributeId: null,
|
|
2383
|
-
description: null,
|
|
2384
|
-
displayName: null,
|
|
2385
|
-
iconId: null,
|
|
2386
|
-
modifierInfo: null,
|
|
2387
|
-
...overrides
|
|
2388
|
-
};
|
|
2389
|
-
}
|
|
2390
|
-
static createBlueprint(overrides = {}) {
|
|
2391
|
-
return {
|
|
2392
|
-
activities: {
|
|
2393
|
-
manufacturing: {
|
|
2394
|
-
time: 6e3,
|
|
2395
|
-
materials: [
|
|
2396
|
-
{ typeId: 34, quantity: 100 },
|
|
2397
|
-
{ typeId: 35, quantity: 50 }
|
|
2398
|
-
],
|
|
2399
|
-
products: [{ typeId: 587, quantity: 1 }]
|
|
2400
|
-
}
|
|
2401
|
-
},
|
|
2402
|
-
blueprintTypeId: 787,
|
|
2403
|
-
maxProductionLimit: 10,
|
|
2404
|
-
...overrides
|
|
2405
|
-
};
|
|
2406
|
-
}
|
|
2407
|
-
static createPlanetSchematic(overrides = {}) {
|
|
2408
|
-
return {
|
|
2409
|
-
planetSchematicId: 65,
|
|
2410
|
-
cycleTime: 1800,
|
|
2411
|
-
name: "Bacteria",
|
|
2412
|
-
pins: [],
|
|
2413
|
-
types: [],
|
|
2414
|
-
...overrides
|
|
2415
|
-
};
|
|
2416
|
-
}
|
|
2417
|
-
static createVersionInfo(overrides = {}) {
|
|
2418
|
-
return {
|
|
2419
|
-
version: "2024-01-15.1",
|
|
2420
|
-
buildDate: "2024-01-15T00:00:00Z",
|
|
2421
|
-
importedAt: "2024-01-16T12:00:00Z",
|
|
2422
|
-
checksum: "abc123def456",
|
|
2423
|
-
...overrides
|
|
2424
|
-
};
|
|
2425
|
-
}
|
|
2426
|
-
static createHierarchicalTestData() {
|
|
2427
|
-
const category = this.createEveCategory();
|
|
2428
|
-
const group = this.createEveGroup({ categoryId: category.categoryId });
|
|
2429
|
-
const type1 = this.createEveType({
|
|
2430
|
-
typeId: 34,
|
|
2431
|
-
name: "Tritanium",
|
|
2432
|
-
groupId: group.groupId
|
|
2433
|
-
});
|
|
2434
|
-
const type2 = this.createEveType({
|
|
2435
|
-
typeId: 35,
|
|
2436
|
-
name: "Pyerite",
|
|
2437
|
-
groupId: group.groupId
|
|
2438
|
-
});
|
|
2439
|
-
const type3 = this.createEveType({
|
|
2440
|
-
typeId: 36,
|
|
2441
|
-
name: "Mexallon",
|
|
2442
|
-
groupId: group.groupId
|
|
2443
|
-
});
|
|
2444
|
-
const region = this.createRegion();
|
|
2445
|
-
const constellation = this.createConstellation({
|
|
2446
|
-
regionId: region.regionId
|
|
2447
|
-
});
|
|
2448
|
-
const system1 = this.createSolarSystem({
|
|
2449
|
-
systemId: 30000142,
|
|
2450
|
-
name: "Jita",
|
|
2451
|
-
constellationId: constellation.constellationId,
|
|
2452
|
-
regionId: region.regionId
|
|
2453
|
-
});
|
|
2454
|
-
const system2 = this.createSolarSystem({
|
|
2455
|
-
systemId: 30000144,
|
|
2456
|
-
name: "Perimeter",
|
|
2457
|
-
constellationId: constellation.constellationId,
|
|
2458
|
-
regionId: region.regionId,
|
|
2459
|
-
securityStatus: 0.9
|
|
2460
|
-
});
|
|
2461
|
-
const stargate = this.createStargate({
|
|
2462
|
-
solarSystemId: system1.systemId,
|
|
2463
|
-
destination: { solarSystemId: system2.systemId, stargateId: 50001249 }
|
|
2464
|
-
});
|
|
2465
|
-
const star = this.createStar({ solarSystemId: system1.systemId });
|
|
2466
|
-
const planet = this.createPlanet({ solarSystemId: system1.systemId });
|
|
2467
|
-
const moon = this.createMoon({ solarSystemId: system1.systemId });
|
|
2468
|
-
const asteroidBelt = this.createAsteroidBelt({
|
|
2469
|
-
solarSystemId: system1.systemId
|
|
2470
|
-
});
|
|
2471
|
-
const race = this.createRace();
|
|
2472
|
-
const faction = this.createFaction({ memberRaces: [race.raceId] });
|
|
2473
|
-
const bloodline = this.createBloodline({ raceId: race.raceId });
|
|
2474
|
-
const ancestry = this.createAncestry({
|
|
2475
|
-
bloodlineId: bloodline.bloodlineId
|
|
2476
|
-
});
|
|
2477
|
-
const npcCorp = this.createNpcCorporation({
|
|
2478
|
-
factionId: faction.factionId,
|
|
2479
|
-
raceId: race.raceId
|
|
2480
|
-
});
|
|
2481
|
-
const npcStation = this.createNpcStation({
|
|
2482
|
-
solarSystemId: system1.systemId,
|
|
2483
|
-
ownerId: npcCorp.corporationId
|
|
2484
|
-
});
|
|
2485
|
-
const rootMarketGroup = this.createMarketGroup({
|
|
2486
|
-
marketGroupId: 1031,
|
|
2487
|
-
name: "Manufacture & Research",
|
|
2488
|
-
parentGroupId: null,
|
|
2489
|
-
hasTypes: false
|
|
2490
|
-
});
|
|
2491
|
-
const marketGroup = this.createMarketGroup({
|
|
2492
|
-
parentGroupId: rootMarketGroup.marketGroupId
|
|
2493
|
-
});
|
|
2494
|
-
const metaGroup = this.createMetaGroup();
|
|
2495
|
-
const icon = this.createIcon();
|
|
2496
|
-
const graphic = this.createGraphic();
|
|
2497
|
-
const dogmaAttribute = this.createDogmaAttribute();
|
|
2498
|
-
const dogmaEffect = this.createDogmaEffect();
|
|
2499
|
-
const blueprint = this.createBlueprint();
|
|
2500
|
-
const planetSchematic = this.createPlanetSchematic();
|
|
2501
|
-
return {
|
|
2502
|
-
categories: [category],
|
|
2503
|
-
groups: [group],
|
|
2504
|
-
types: [type1, type2, type3],
|
|
2505
|
-
regions: [region],
|
|
2506
|
-
constellations: [constellation],
|
|
2507
|
-
solarSystems: [system1, system2],
|
|
2508
|
-
stargates: [stargate],
|
|
2509
|
-
stars: [star],
|
|
2510
|
-
planets: [planet],
|
|
2511
|
-
moons: [moon],
|
|
2512
|
-
asteroidBelts: [asteroidBelt],
|
|
2513
|
-
factions: [faction],
|
|
2514
|
-
races: [race],
|
|
2515
|
-
bloodlines: [bloodline],
|
|
2516
|
-
ancestries: [ancestry],
|
|
2517
|
-
npcCorporations: [npcCorp],
|
|
2518
|
-
npcStations: [npcStation],
|
|
2519
|
-
marketGroups: [rootMarketGroup, marketGroup],
|
|
2520
|
-
metaGroups: [metaGroup],
|
|
2521
|
-
icons: [icon],
|
|
2522
|
-
graphics: [graphic],
|
|
2523
|
-
dogmaAttributes: [dogmaAttribute],
|
|
2524
|
-
dogmaEffects: [dogmaEffect],
|
|
2525
|
-
blueprints: [blueprint],
|
|
2526
|
-
planetSchematics: [planetSchematic],
|
|
2527
|
-
version: this.createVersionInfo()
|
|
2528
|
-
};
|
|
2529
|
-
}
|
|
2530
|
-
};
|
|
2531
1513
|
export {
|
|
2532
1514
|
MemorySdeProvider,
|
|
2533
1515
|
SdeDataProvider,
|