SDK TypeScript
@sc-db/sdk — client typé généré depuis l'OpenAPI (voir l'API). Une méthode par endpoint, types exportés pour chaque payload, basé sur openapi-fetch.
Installation
npm i @sc-db/sdkcopier
Utilisation
import { createScdb } from "@sc-db/sdk";
const scdb = createScdb({ baseUrl: "https://api.sc-db.fr" });
// catalogue d'items filtré
const page = await scdb.items({ category: "fps_weapon", size: 3 });
// un vaisseau + son loadout
const ship = await scdb.ship(guid);
// recherche dans la localization
const hits = await scdb.localization({ q: "Crusader", limit: 20 });copierToutes les méthodes sont async et lèvent ScdbError en cas d'erreur API. scdb.raw donne accès au client openapi-fetch sous-jacent.
Méthodes
Meta
| scdb.stats() | Stats | Compteurs records / refs / types. |
| scdb.meta() | Meta | Version SC du build + counts par table. |
| scdb.types() | TypeCount[] | Types de records et leur volume. |
Records (raw + graphe)
| scdb.records(query) | RecordPage | Liste filtrée (type/file/name/is_main, paginée). |
| scdb.record(guid) | Record | Record complet + body JSON décodé. |
| scdb.refs(guid) | Edge[] | Références sortantes (ce record pointe vers…). |
| scdb.refsIn(guid) | Edge[] | Références entrantes (… pointe vers ce record). |
Ships
| scdb.ships(query) | ShipPage | Catalogue vaisseaux. |
| scdb.ship(guid) | ShipDetail | Détail + loadout par défaut. |
Items
| scdb.items(query) | ItemPage | Filtre type/size/subType/manufacturer/category/name. |
| scdb.itemFacets(query) | ItemFacets | Tailles / sous-types / fabricants distincts d'une catégorie. |
| scdb.item(className) | ItemDetail | Détail + stats + blueprint fabriquant. |
| scdb.compareItems(query) | ItemCompareRow[] | Stats comparables d'un type (table de comparaison). |
Missions & Contrats
| scdb.missions(query) | MissionPage | Missions (templates). |
| scdb.mission(guid) | MissionDetail | Détail mission. |
| scdb.contracts(query) | ContractPage | Contrats procéduraux réels. |
| scdb.contractTypes() | TypeCount[] | Types de contrats + volumes. |
| scdb.contractFactions() | TypeCount[] | Factions + volumes. |
| scdb.contract(guid) | ContractDetail | Détail + chaîne + ladder réputation + blueprints. |
Blueprints
| scdb.blueprints(query) | BlueprintPage | Recettes de craft. |
| scdb.blueprintCategories() | TypeCount[] | Catégories + volumes. |
| scdb.blueprint(guid) | BlueprintDetail | Ingrédients + missions qui le donnent. |
Starmap & Lieux
| scdb.starmap(query) | StarmapPage | Objets stellaires (filtre system/classification/parent). |
| scdb.starmapSystems() | TypeCount[] | Systèmes + volumes. |
| scdb.starmapObject(className) | StarmapDetail | Détail + enfants. |
| scdb.locations(query) | LocationPage | Lieux in-world (socpaks) : filtre body/system/type. |
| scdb.locationTypes(query) | TypeCount[] | Types de lieux + volumes. |
Localization
| scdb.localization(query) | LocalizationPage | Recherche dans le global.ini (key/value/q, ou prefix). |
| scdb.localizationKey(key) | LocalizationEntry | Résout une clé (@ optionnel, insensible à la casse). |