@piltoverarchive/riftbound-deck-codes 1.0.0 → 1.2.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 +45 -3
- package/README.md +36 -12
- package/dist/deckCode.d.ts +5 -3
- package/dist/deckCode.d.ts.map +1 -1
- package/dist/deckCode.js +133 -17
- package/dist/deckCode.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/mappings.d.ts.map +1 -1
- package/dist/mappings.js +2 -0
- package/dist/mappings.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,46 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.2.0] - 2026-03-04
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Rune Card Support (Version 4)**: Card codes with `R` prefix (e.g., `SFD-R02`, `UNL-R05a`) are now parsed, encoded, and decoded correctly. Rune numbers are 2-digit (`R01`–`R06`).
|
|
13
|
+
- **UNL Set**: Added `UNL` (id `4`) to the set map.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Deck codes now encode as Version 4 by default
|
|
18
|
+
- `parseCardCode()` regex updated to accept `R`-prefixed card numbers
|
|
19
|
+
- Binary format uses a flag byte (`0x00` normal, `0x01` rune) before each card number varint
|
|
20
|
+
|
|
21
|
+
### Compatibility
|
|
22
|
+
|
|
23
|
+
- ✅ Can decode Version 1, 2, and 3 codes (no rune cards in those versions)
|
|
24
|
+
- ❌ Version 4 codes require updated library (older libraries will reject v4 codes)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## [1.1.0] - 2026-01-10
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- **Chosen Champion Support (Version 3)**: New optional `chosenChampion` parameter for `getCodeFromDeck()` and returned in `getDeckFromCode()`. The champion is a label referencing a card in the main deck.
|
|
33
|
+
- **Alternative Signed Card Suffix**: Support `*` as an alternative to `s` for signed cards (e.g., `OGN-007*` is equivalent to `OGN-007s`)
|
|
34
|
+
- **Decode Options**: New `signedSuffix` option in `getDeckFromCode()` to control whether signed cards decode with `s` or `*` suffix
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- Deck codes now encode as Version 3 by default
|
|
39
|
+
- `DeckWithSideboard` type now includes optional `chosenChampion?: string` field
|
|
40
|
+
|
|
41
|
+
### Compatibility
|
|
42
|
+
|
|
43
|
+
- ✅ Can decode Version 1 and 2 codes (returns `chosenChampion: undefined`)
|
|
44
|
+
- ❌ Version 3 codes require updated library (older libraries will reject v3 codes)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
8
48
|
## [1.0.0] - 2025
|
|
9
49
|
|
|
10
50
|
### Added
|
|
@@ -38,9 +78,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
38
78
|
|
|
39
79
|
## Version History Summary
|
|
40
80
|
|
|
41
|
-
| Version | Date
|
|
42
|
-
| ------- |
|
|
43
|
-
| 1.
|
|
81
|
+
| Version | Date | Key Changes |
|
|
82
|
+
| ------- | ---------- | -------------------------------------------------------- |
|
|
83
|
+
| 1.2.0 | 2026-03-04 | Rune card support (R## format), UNL set |
|
|
84
|
+
| 1.1.0 | 2026-01-10 | Chosen champion support, alternative signed card suffix |
|
|
85
|
+
| 1.0.0 | 2025 | Initial release with Version 1 and Version 2 support |
|
|
44
86
|
|
|
45
87
|
---
|
|
46
88
|
|
package/README.md
CHANGED
|
@@ -36,7 +36,8 @@ All encodings begin with 4 bits for format and 4 bits for version.
|
|
|
36
36
|
| Format | Version | Date | About |
|
|
37
37
|
| ------ | ------- | ----------------- | ------------------------------------------------------------------------- |
|
|
38
38
|
| 1 | 1 | April 1, 2025 | Initial release. Supports main deck encoding. |
|
|
39
|
-
| 1 | 2 | November 20, 2025 | Adds sideboard support.
|
|
39
|
+
| 1 | 2 | November 20, 2025 | Adds sideboard support. |
|
|
40
|
+
| 1 | 3 | January 10, 2026 | Adds chosen champion support. All new codes encode as V3. |
|
|
40
41
|
|
|
41
42
|
The list of cards are then encoded according to the following scheme:
|
|
42
43
|
|
|
@@ -81,9 +82,11 @@ Variants are mapped as follows:
|
|
|
81
82
|
| ------- | ------------------ | ------------ | --------------- |
|
|
82
83
|
| 1 | 0 | (none) | Base variant |
|
|
83
84
|
| 1 | 1 | a | Alternate art A |
|
|
84
|
-
| 1 | 2 | s
|
|
85
|
+
| 1 | 2 | s or \* | Signed |
|
|
85
86
|
| 2 | 3 | b | Alternate art B |
|
|
86
87
|
|
|
88
|
+
> **Note:** Both `s` and `*` are valid suffixes for signed cards (e.g., `OGN-007s` and `OGN-007*` are equivalent). When decoding, `s` is used by default. See [Decoding Options](#decoding-options) for customization.
|
|
89
|
+
|
|
87
90
|
## Installation
|
|
88
91
|
|
|
89
92
|
```bash
|
|
@@ -138,16 +141,17 @@ const sideboard: Deck = [
|
|
|
138
141
|
{ cardCode: "OGN-114", count: 1 },
|
|
139
142
|
];
|
|
140
143
|
|
|
141
|
-
// Encode with sideboard
|
|
142
|
-
const deckCode = getCodeFromDeck(mainDeck, sideboard);
|
|
144
|
+
// Encode with sideboard and chosen champion
|
|
145
|
+
const deckCode = getCodeFromDeck(mainDeck, sideboard, "OGN-103");
|
|
143
146
|
console.log(deckCode);
|
|
144
|
-
// Output: CIAAAAAAAAAQCAAAA4AACAIAABMQAAILAAAAICIMDMOVOX3AM5UHIAIDAAACO6XYAEAQKAAABX3QDGACUABKIAQAAEBQAAAWDBOQCAQAABMHE
|
|
145
147
|
|
|
146
|
-
// Encode without
|
|
147
|
-
const
|
|
148
|
+
// Encode without chosen champion
|
|
149
|
+
const deckCodeNoChampion = getCodeFromDeck(mainDeck, sideboard);
|
|
150
|
+
console.log(deckCodeNoChampion);
|
|
151
|
+
|
|
152
|
+
// Encode without sideboard (pass empty array for sideboard)
|
|
153
|
+
const deckCodeNoSideboard = getCodeFromDeck(mainDeck, [], "OGN-103");
|
|
148
154
|
console.log(deckCodeNoSideboard);
|
|
149
|
-
// Output: CIAAAAAAAAAQCAAAA4AACAIAABMQAAILAAAAICIMDMOVOX3AM5UHIAIDAAACO6XYAEAQKAAABX3QDGACUABKIAQAAAAA
|
|
150
|
-
// Note: ~5 character overhead for empty sideboard encoding
|
|
151
155
|
```
|
|
152
156
|
|
|
153
157
|
### Decoding a Deck
|
|
@@ -166,14 +170,34 @@ console.log("Main Deck:", decoded.mainDeck);
|
|
|
166
170
|
|
|
167
171
|
console.log("Sideboard:", decoded.sideboard);
|
|
168
172
|
// 8 cards: 2x OGN-022, 2x OGN-024, 2x OGN-093, 1x OGN-088, 1x OGN-114
|
|
173
|
+
|
|
174
|
+
console.log("Chosen Champion:", decoded.chosenChampion);
|
|
175
|
+
// The chosen champion card code (e.g., "OGN-103") or undefined if not set
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Decoding Options
|
|
179
|
+
|
|
180
|
+
You can customize how signed cards are decoded by passing an options object:
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
import { getDeckFromCode } from "@piltoverarchive/riftbound-deck-codes";
|
|
184
|
+
import type { DecodeOptions } from "@piltoverarchive/riftbound-deck-codes";
|
|
185
|
+
|
|
186
|
+
const code = "YOUR_DECK_CODE";
|
|
187
|
+
|
|
188
|
+
// Default: signed cards use 's' suffix (e.g., OGN-007s)
|
|
189
|
+
const defaultDecode = getDeckFromCode(code);
|
|
190
|
+
|
|
191
|
+
// Use '*' suffix for signed cards (e.g., OGN-007*)
|
|
192
|
+
const starDecode = getDeckFromCode(code, { signedSuffix: "*" });
|
|
169
193
|
```
|
|
170
194
|
|
|
171
195
|
### Important Notes
|
|
172
196
|
|
|
173
197
|
- **No Game Rule Validation**: This library only encodes/decodes deck data. It does not validate Riftbound game rules (card limits, sideboard size, etc.). Validation should be done in your application.
|
|
174
198
|
- **Card Counts**: Main deck supports counts 1-12 (for runes and standard cards). Sideboard only supports counts 1-3 (optimized for regular cards only).
|
|
175
|
-
- **Always Version
|
|
176
|
-
- **Backward Compatibility**: Can decode Version 1 codes
|
|
199
|
+
- **Always Version 3**: All new deck codes encode as Version 3. The chosen champion section adds 1 byte (no champion) or 4-5 bytes (with champion).
|
|
200
|
+
- **Backward Compatibility**: Can decode Version 1/2 codes which return `chosenChampion: undefined`.
|
|
177
201
|
|
|
178
202
|
## Implementations
|
|
179
203
|
|
|
@@ -183,7 +207,7 @@ The TypeScript implementation in this repository is the reference implementation
|
|
|
183
207
|
|
|
184
208
|
| Name | Language | Version\* | Maintainer |
|
|
185
209
|
| ------------------ | ---------- | --------- | --------------- |
|
|
186
|
-
| RiftboundDeckCodes | TypeScript |
|
|
210
|
+
| RiftboundDeckCodes | TypeScript | 3 | PiltoverArchive |
|
|
187
211
|
|
|
188
212
|
\*Version refers to the MAX_KNOWN_VERSION supported by the implementation.
|
|
189
213
|
|
package/dist/deckCode.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import type { Deck, DeckWithSideboard } from "./types";
|
|
1
|
+
import type { Deck, DeckWithSideboard, DecodeOptions } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Encodes a Riftbound deck into a shareable deck code
|
|
4
4
|
* @param mainDeck - The main deck cards
|
|
5
5
|
* @param sideboard - Optional sideboard cards (defaults to empty array)
|
|
6
|
+
* @param chosenChampion - Optional chosen champion card code (e.g., "OGN-007")
|
|
6
7
|
* @returns Base32-encoded deck code string
|
|
7
8
|
* @throws Error if deck format is invalid
|
|
8
9
|
*/
|
|
9
|
-
export declare function getCodeFromDeck(mainDeck: Deck, sideboard?: Deck): string;
|
|
10
|
+
export declare function getCodeFromDeck(mainDeck: Deck, sideboard?: Deck, chosenChampion?: string): string;
|
|
10
11
|
/**
|
|
11
12
|
* Decodes a Riftbound deck code into deck and sideboard
|
|
12
13
|
* @param code - Base32-encoded deck code string
|
|
14
|
+
* @param options - Optional decode options
|
|
13
15
|
* @returns Object containing mainDeck and sideboard arrays
|
|
14
16
|
* @throws Error if code is invalid or unsupported
|
|
15
17
|
*/
|
|
16
|
-
export declare function getDeckFromCode(code: string): DeckWithSideboard;
|
|
18
|
+
export declare function getDeckFromCode(code: string, options?: DecodeOptions): DeckWithSideboard;
|
|
17
19
|
//# sourceMappingURL=deckCode.d.ts.map
|
package/dist/deckCode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deckCode.d.ts","sourceRoot":"","sources":["../src/deckCode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"deckCode.d.ts","sourceRoot":"","sources":["../src/deckCode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAGJ,iBAAiB,EACjB,aAAa,EACd,MAAM,SAAS,CAAC;AA6QjB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,IAAI,EACd,SAAS,GAAE,IAAS,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAuDR;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GACtB,iBAAiB,CAuFnB"}
|
package/dist/deckCode.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.getDeckFromCode = getDeckFromCode;
|
|
|
8
8
|
const mappings_1 = require("./mappings");
|
|
9
9
|
const VarintTranslator_1 = __importDefault(require("./VarintTranslator"));
|
|
10
10
|
const FORMAT = 1;
|
|
11
|
-
const VERSION =
|
|
11
|
+
const VERSION = 4;
|
|
12
12
|
const BASE32_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
|
|
13
13
|
/**
|
|
14
14
|
* Encodes a byte array to base32 string
|
|
@@ -68,7 +68,7 @@ function parseCardCode(cardCode) {
|
|
|
68
68
|
if (!set || !rest) {
|
|
69
69
|
throw new Error(`Invalid card code format: ${cardCode}. Missing set or card number.`);
|
|
70
70
|
}
|
|
71
|
-
const match = rest.match(/^(
|
|
71
|
+
const match = rest.match(/^(R?\d+)([a-z*]?)$/);
|
|
72
72
|
if (!match) {
|
|
73
73
|
throw new Error(`Invalid card code format: ${cardCode}. Expected format: SET-NUMBERvariant`);
|
|
74
74
|
}
|
|
@@ -121,7 +121,7 @@ function groupBySetAndVariant(cards) {
|
|
|
121
121
|
* @param deck - The deck to encode
|
|
122
122
|
* @param maxCount - Maximum count to process (12 for main deck, 3 for sideboard)
|
|
123
123
|
*/
|
|
124
|
-
function encodeDeckSection(deck, maxCount = 12) {
|
|
124
|
+
function encodeDeckSection(deck, maxCount = 12, version = 4) {
|
|
125
125
|
const bytes = [];
|
|
126
126
|
// Process counts from maxCount down to 1
|
|
127
127
|
for (let count = maxCount; count >= 1; count--) {
|
|
@@ -136,7 +136,19 @@ function encodeDeckSection(deck, maxCount = 12) {
|
|
|
136
136
|
bytes.push(group.variant);
|
|
137
137
|
// Write card numbers
|
|
138
138
|
for (const cardNumber of group.cardNumbers) {
|
|
139
|
-
|
|
139
|
+
if (version >= 4) {
|
|
140
|
+
if (cardNumber.startsWith("R")) {
|
|
141
|
+
bytes.push(0x01); // Rune flag
|
|
142
|
+
bytes.push(...VarintTranslator_1.default.GetVarint(parseInt(cardNumber.slice(1))));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
bytes.push(0x00); // Normal card flag
|
|
146
|
+
bytes.push(...VarintTranslator_1.default.GetVarint(parseInt(cardNumber)));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
bytes.push(...VarintTranslator_1.default.GetVarint(parseInt(cardNumber)));
|
|
151
|
+
}
|
|
140
152
|
}
|
|
141
153
|
}
|
|
142
154
|
}
|
|
@@ -146,8 +158,9 @@ function encodeDeckSection(deck, maxCount = 12) {
|
|
|
146
158
|
* Decodes a deck section from bytes
|
|
147
159
|
* @param translator - The varint translator
|
|
148
160
|
* @param maxCount - Maximum count to process (12 for main deck, 3 for sideboard)
|
|
161
|
+
* @param signedSuffix - The suffix to use for signed cards ('s' or '*')
|
|
149
162
|
*/
|
|
150
|
-
function decodeDeckSection(translator, maxCount = 12) {
|
|
163
|
+
function decodeDeckSection(translator, maxCount = 12, signedSuffix = "s", version = 4) {
|
|
151
164
|
const deck = [];
|
|
152
165
|
// Process counts from maxCount down to 1
|
|
153
166
|
for (let count = maxCount; count >= 1; count--) {
|
|
@@ -158,14 +171,36 @@ function decodeDeckSection(translator, maxCount = 12) {
|
|
|
158
171
|
const variant = translator.get(1);
|
|
159
172
|
translator.sliceAndSet(2);
|
|
160
173
|
const setCode = Object.entries(mappings_1.SET_MAP).find(([_, value]) => value === set)?.[0];
|
|
161
|
-
|
|
174
|
+
// For signed cards (variant 2), use the signedSuffix option
|
|
175
|
+
let variantCode;
|
|
176
|
+
if (variant === 2) {
|
|
177
|
+
variantCode = signedSuffix;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
variantCode = Object.entries(mappings_1.VARIANT_MAP).find(([_, value]) => value === variant)?.[0];
|
|
181
|
+
}
|
|
162
182
|
if (!setCode) {
|
|
163
183
|
throw new Error(`Unknown set code: ${set}`);
|
|
164
184
|
}
|
|
165
185
|
for (let j = 0; j < numCards; j++) {
|
|
166
|
-
|
|
186
|
+
let cardNumberStr;
|
|
187
|
+
if (version >= 4) {
|
|
188
|
+
const isRune = translator.get(0);
|
|
189
|
+
translator.sliceAndSet(1);
|
|
190
|
+
const num = translator.PopVarint();
|
|
191
|
+
if (isRune === 0x01) {
|
|
192
|
+
cardNumberStr = `R${num.toString().padStart(2, "0")}`;
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
cardNumberStr = num.toString().padStart(3, "0");
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
const num = translator.PopVarint();
|
|
200
|
+
cardNumberStr = num.toString().padStart(3, "0");
|
|
201
|
+
}
|
|
167
202
|
deck.push({
|
|
168
|
-
cardCode: `${setCode}-${
|
|
203
|
+
cardCode: `${setCode}-${cardNumberStr}${variantCode || ""}`,
|
|
169
204
|
count,
|
|
170
205
|
});
|
|
171
206
|
}
|
|
@@ -177,27 +212,67 @@ function decodeDeckSection(translator, maxCount = 12) {
|
|
|
177
212
|
* Encodes a Riftbound deck into a shareable deck code
|
|
178
213
|
* @param mainDeck - The main deck cards
|
|
179
214
|
* @param sideboard - Optional sideboard cards (defaults to empty array)
|
|
215
|
+
* @param chosenChampion - Optional chosen champion card code (e.g., "OGN-007")
|
|
180
216
|
* @returns Base32-encoded deck code string
|
|
181
217
|
* @throws Error if deck format is invalid
|
|
182
218
|
*/
|
|
183
|
-
function getCodeFromDeck(mainDeck, sideboard = []) {
|
|
219
|
+
function getCodeFromDeck(mainDeck, sideboard = [], chosenChampion) {
|
|
220
|
+
// Determine if any card has an R-prefix number
|
|
221
|
+
const hasRuneCode = (code) => {
|
|
222
|
+
const { number } = parseCardCode(code);
|
|
223
|
+
return number.startsWith("R");
|
|
224
|
+
};
|
|
225
|
+
const needsV4 = mainDeck.some((c) => hasRuneCode(c.cardCode)) ||
|
|
226
|
+
sideboard.some((c) => hasRuneCode(c.cardCode)) ||
|
|
227
|
+
(chosenChampion !== undefined && hasRuneCode(chosenChampion));
|
|
228
|
+
const version = needsV4 ? 4 : 3;
|
|
184
229
|
const bytes = [];
|
|
185
|
-
// Write format and version
|
|
186
|
-
bytes.push((FORMAT << 4) |
|
|
230
|
+
// Write format and version
|
|
231
|
+
bytes.push((FORMAT << 4) | version);
|
|
187
232
|
// Encode main deck (counts 1-12)
|
|
188
|
-
bytes.push(...encodeDeckSection(mainDeck, 12));
|
|
233
|
+
bytes.push(...encodeDeckSection(mainDeck, 12, version));
|
|
189
234
|
// Encode sideboard (counts 1-3 only, since sideboards can't have runes/battlefields)
|
|
190
|
-
|
|
191
|
-
|
|
235
|
+
bytes.push(...encodeDeckSection(sideboard, 3, version));
|
|
236
|
+
// Encode chosen champion (version 3+)
|
|
237
|
+
if (chosenChampion) {
|
|
238
|
+
const { set, number, variant } = parseCardCode(chosenChampion);
|
|
239
|
+
const setValue = mappings_1.SET_MAP[set];
|
|
240
|
+
if (setValue === undefined) {
|
|
241
|
+
throw new Error(`Unknown set in chosen champion: ${set}. Valid sets: ${Object.keys(mappings_1.SET_MAP).join(", ")}`);
|
|
242
|
+
}
|
|
243
|
+
const variantValue = mappings_1.VARIANT_MAP[variant];
|
|
244
|
+
if (variantValue === undefined) {
|
|
245
|
+
throw new Error(`Unknown variant in chosen champion: '${variant}'. Valid variants: ${Object.keys(mappings_1.VARIANT_MAP).join(", ")}`);
|
|
246
|
+
}
|
|
247
|
+
bytes.push(0x01); // Champion present flag
|
|
248
|
+
bytes.push(setValue);
|
|
249
|
+
bytes.push(variantValue);
|
|
250
|
+
if (version >= 4 && number.startsWith("R")) {
|
|
251
|
+
bytes.push(0x01); // Rune flag
|
|
252
|
+
bytes.push(...VarintTranslator_1.default.GetVarint(parseInt(number.slice(1))));
|
|
253
|
+
}
|
|
254
|
+
else if (version >= 4) {
|
|
255
|
+
bytes.push(0x00); // Normal card flag
|
|
256
|
+
bytes.push(...VarintTranslator_1.default.GetVarint(parseInt(number)));
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
bytes.push(...VarintTranslator_1.default.GetVarint(parseInt(number)));
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
bytes.push(0x00); // No champion flag
|
|
264
|
+
}
|
|
192
265
|
return base32Encode(new Uint8Array(bytes));
|
|
193
266
|
}
|
|
194
267
|
/**
|
|
195
268
|
* Decodes a Riftbound deck code into deck and sideboard
|
|
196
269
|
* @param code - Base32-encoded deck code string
|
|
270
|
+
* @param options - Optional decode options
|
|
197
271
|
* @returns Object containing mainDeck and sideboard arrays
|
|
198
272
|
* @throws Error if code is invalid or unsupported
|
|
199
273
|
*/
|
|
200
|
-
function getDeckFromCode(code) {
|
|
274
|
+
function getDeckFromCode(code, options) {
|
|
275
|
+
const signedSuffix = options?.signedSuffix ?? "s";
|
|
201
276
|
const bytes = base32Decode(code);
|
|
202
277
|
const translator = new VarintTranslator_1.default(bytes);
|
|
203
278
|
// Read format and version
|
|
@@ -212,16 +287,57 @@ function getDeckFromCode(code) {
|
|
|
212
287
|
throw new Error(`Unsupported version: ${version}. Maximum supported version: ${VERSION}`);
|
|
213
288
|
}
|
|
214
289
|
// Decode main deck (counts 1-12)
|
|
215
|
-
const mainDeck = decodeDeckSection(translator, 12);
|
|
290
|
+
const mainDeck = decodeDeckSection(translator, 12, signedSuffix, version);
|
|
216
291
|
// Decode sideboard (counts 1-3 only)
|
|
217
292
|
// Version 1 codes don't have sideboard section, version 2+ do
|
|
218
293
|
let sideboard = [];
|
|
219
294
|
if (version >= 2) {
|
|
220
|
-
sideboard = decodeDeckSection(translator, 3);
|
|
295
|
+
sideboard = decodeDeckSection(translator, 3, signedSuffix, version);
|
|
296
|
+
}
|
|
297
|
+
// Decode chosen champion (version 3+ only)
|
|
298
|
+
let chosenChampion;
|
|
299
|
+
if (version >= 3) {
|
|
300
|
+
const hasChampion = translator.get(0);
|
|
301
|
+
translator.sliceAndSet(1);
|
|
302
|
+
if (hasChampion === 0x01) {
|
|
303
|
+
const set = translator.get(0);
|
|
304
|
+
const variant = translator.get(1);
|
|
305
|
+
translator.sliceAndSet(2);
|
|
306
|
+
let cardNumberStr;
|
|
307
|
+
if (version >= 4) {
|
|
308
|
+
const isRune = translator.get(0);
|
|
309
|
+
translator.sliceAndSet(1);
|
|
310
|
+
const num = translator.PopVarint();
|
|
311
|
+
if (isRune === 0x01) {
|
|
312
|
+
cardNumberStr = `R${num.toString().padStart(2, "0")}`;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
cardNumberStr = num.toString().padStart(3, "0");
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
const num = translator.PopVarint();
|
|
320
|
+
cardNumberStr = num.toString().padStart(3, "0");
|
|
321
|
+
}
|
|
322
|
+
const setCode = Object.entries(mappings_1.SET_MAP).find(([_, value]) => value === set)?.[0];
|
|
323
|
+
if (!setCode) {
|
|
324
|
+
throw new Error(`Unknown set code in champion: ${set}`);
|
|
325
|
+
}
|
|
326
|
+
// For signed cards (variant 2), use the signedSuffix option
|
|
327
|
+
let variantCode;
|
|
328
|
+
if (variant === 2) {
|
|
329
|
+
variantCode = signedSuffix;
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
variantCode = Object.entries(mappings_1.VARIANT_MAP).find(([_, value]) => value === variant)?.[0];
|
|
333
|
+
}
|
|
334
|
+
chosenChampion = `${setCode}-${cardNumberStr}${variantCode || ""}`;
|
|
335
|
+
}
|
|
221
336
|
}
|
|
222
337
|
return {
|
|
223
338
|
mainDeck,
|
|
224
339
|
sideboard,
|
|
340
|
+
chosenChampion,
|
|
225
341
|
};
|
|
226
342
|
}
|
|
227
343
|
//# sourceMappingURL=deckCode.js.map
|
package/dist/deckCode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deckCode.js","sourceRoot":"","sources":["../src/deckCode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deckCode.js","sourceRoot":"","sources":["../src/deckCode.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { getCodeFromDeck, getDeckFromCode } from "./deckCode";
|
|
2
2
|
export { SET_MAP, VARIANT_MAP } from "./mappings";
|
|
3
|
-
export type { Card, Deck, DeckWithSideboard, SetVariantGroup, CountGroup } from "./types";
|
|
3
|
+
export type { Card, Deck, DeckWithSideboard, SetVariantGroup, CountGroup, DecodeOptions } from "./types";
|
|
4
4
|
export { default as VarintTranslator } from "./VarintTranslator";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/mappings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../src/mappings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../src/mappings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM9C,CAAC"}
|
package/dist/mappings.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.SET_MAP = {
|
|
|
10
10
|
OGS: 1,
|
|
11
11
|
ARC: 2,
|
|
12
12
|
SFD: 3,
|
|
13
|
+
UNL: 4,
|
|
13
14
|
};
|
|
14
15
|
/**
|
|
15
16
|
* Mapping of variant codes to their numeric identifiers
|
|
@@ -20,6 +21,7 @@ exports.VARIANT_MAP = {
|
|
|
20
21
|
"": 0, // Base variant (no suffix)
|
|
21
22
|
a: 1,
|
|
22
23
|
s: 2,
|
|
24
|
+
"*": 2, // Alternative signed notation
|
|
23
25
|
b: 3,
|
|
24
26
|
};
|
|
25
27
|
//# sourceMappingURL=mappings.js.map
|
package/dist/mappings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappings.js","sourceRoot":"","sources":["../src/mappings.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,OAAO,GAA2B;IAC7C,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACP,CAAC;AAEF;;;;GAIG;AACU,QAAA,WAAW,GAA2B;IACjD,EAAE,EAAE,CAAC,EAAE,2BAA2B;IAClC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"mappings.js","sourceRoot":"","sources":["../src/mappings.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,OAAO,GAA2B;IAC7C,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACP,CAAC;AAEF;;;;GAIG;AACU,QAAA,WAAW,GAA2B;IACjD,EAAE,EAAE,CAAC,EAAE,2BAA2B;IAClC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,CAAC,EAAE,8BAA8B;IACtC,CAAC,EAAE,CAAC;CACL,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type Deck = Card[];
|
|
|
6
6
|
export interface DeckWithSideboard {
|
|
7
7
|
mainDeck: Deck;
|
|
8
8
|
sideboard: Deck;
|
|
9
|
+
chosenChampion?: string;
|
|
9
10
|
}
|
|
10
11
|
export interface SetVariantGroup {
|
|
11
12
|
set: number;
|
|
@@ -15,4 +16,7 @@ export interface SetVariantGroup {
|
|
|
15
16
|
export interface CountGroup {
|
|
16
17
|
setVariantGroups: SetVariantGroup[];
|
|
17
18
|
}
|
|
19
|
+
export interface DecodeOptions {
|
|
20
|
+
signedSuffix?: "s" | "*";
|
|
21
|
+
}
|
|
18
22
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IAC1B,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACzB"}
|