UNPKG

cs2schema

Version:

A TypeScript SDK for Counter-Strike 2 schema data with ID/name resolution utilities

129 lines (76 loc) 3.33 kB
# CS2 Schema SDK A TypeScript SDK for Counter-Strike 2 schema data with ID/name resolution utilities. ## Installation ``` pnpm add cs2-schema-sdk ``` ## Usage ```ts import { CS2SchemaSDK } from "cs2-schema-sdk"; const sdk = new CS2SchemaSDK(); // Example: Search for an item const results = sdk.searchItems("ak-47"); ``` ## API ### Constructor - `new CS2SchemaSDK(schemaPath?: string)` - Loads the schema from the given path or defaults to `schema.json` in the package root. ### Methods - `clearCache()` - Clears the internal search cache. - `searchItems(query: string, options?: SearchOptions): ResolveResult[]` - Search for items by name or partial name. Options: `caseSensitive`, `category`, `exactMatch`. - `resolveIdToName(id: string, category: ItemCategory): string | null` - Get the market hash name for a given item ID and category. - `resolveNameToId(name: string, category: ItemCategory, options?: SearchOptions): string | null` - Get the item ID for a given name and category. Options: `caseSensitive`, `exactMatch`. - `getItemById(id: string, category: ItemCategory): ResolveResult | null` - Get the item object for a given ID and category. - `getItemByName(name: string, category: ItemCategory, options?: SearchOptions): ResolveResult | null` - Get the item object for a given name and category. - `searchSkins(query: string, options?: Omit<SearchOptions, 'category'>): WeaponSkinResolveResult[]` - Search for weapon skins by name or partial name. - `getCollections(): Collection[]` - Get all collections. - `getRarities(): Rarity[]` - Get all rarities. - `getCollectionByKey(key: string): Collection | null` - Get a collection by its key. - `getRarityByKey(key: string): Rarity | null` - Get a rarity by its key. - `getAllItemsInCategory(category: ItemCategory): ResolveResult[]` - Get all items in a given category. - `getAllCharmNames(): string[]` - Get all charm names from the keychains category. - `generateAllWeaponMarketHashNames(options?: { includeSouvenir?: boolean; includeStatTrak?: boolean; specificCollections?: string[] }): GeneratedMarketHashName[]` - Generate all possible weapon market hash names with wear states. Options: `includeSouvenir`, `includeStatTrak`, `specificCollections`. - `generateWeaponMarketHashNamesByCollection(collectionKey: string, options?: { includeSouvenir?: boolean; includeStatTrak?: boolean }): GeneratedMarketHashName[]` - Generate weapon market hash names for a specific collection. - `getCategoryStats(): Record<ItemCategory, number>` - Get the number of items in each category. - `isInitialized(): boolean` - Check if the SDK is initialized and schema loaded. - `getSchema(): Schema` - Get the full processed schema object. ## Types See `src/types.ts` for all type definitions used in the SDK. ### GeneratedMarketHashName ```typescript interface GeneratedMarketHashName { baseName: string; wearState: string; fullName: string; minFloat: number; maxFloat: number; collection?: string; isSouvenir?: boolean; } ``` ### WeaponWearState ```typescript interface WeaponWearState { name: string; minFloat: number; maxFloat: number; } ```