@tf2-automatic/tf2-format 11.0.0 → 11.1.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/package.json
CHANGED
package/src/lib/types.d.ts
CHANGED
|
@@ -55,7 +55,12 @@ type RequiredKeys<T extends keyof U, U> = {
|
|
|
55
55
|
} & {
|
|
56
56
|
[K in Exclude<keyof U, T>]?: U[K];
|
|
57
57
|
};
|
|
58
|
-
|
|
58
|
+
type OnlyRequiredKeys<T extends keyof U, U> = {
|
|
59
|
+
[K in T]-?: K extends keyof U ? U[K] : never;
|
|
60
|
+
};
|
|
61
|
+
export type RequiredItemKeys = keyof Pick<Item, 'defindex' | 'quality'>;
|
|
62
|
+
export type OnlyRequiredItemAttributes = OnlyRequiredKeys<RequiredItemKeys, Item>;
|
|
63
|
+
export type RequiredItemAttributes = RequiredKeys<RequiredItemKeys, Item>;
|
|
59
64
|
export interface ItemsGameItem {
|
|
60
65
|
name: string;
|
|
61
66
|
capabilities?: Record<string, '0' | '1'>;
|
package/src/lib/utils/utils.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { InventoryItem, Item, PossibleInventoryItem } from '../types';
|
|
1
|
+
import { InventoryItem, Item, PossibleInventoryItem, RequiredItemKeys } from '../types';
|
|
2
|
+
export type Items = Item | InventoryItem | PossibleInventoryItem;
|
|
3
|
+
export type ItemKeys = keyof (Item & InventoryItem & PossibleInventoryItem);
|
|
2
4
|
export declare const DEFAULT_ITEM: {
|
|
3
5
|
readonly assetid: null;
|
|
4
6
|
readonly defindex: -1;
|
|
@@ -49,14 +51,13 @@ export declare const ITEM_FIELD_ID: {
|
|
|
49
51
|
readonly inputs: 21;
|
|
50
52
|
readonly quantity: 22;
|
|
51
53
|
};
|
|
52
|
-
export declare const ITEM_KEYS: ReadonlyArray<
|
|
53
|
-
|
|
54
|
+
export declare const ITEM_KEYS: ReadonlyArray<ItemKeys>;
|
|
55
|
+
export declare const REQUIRED_ITEM_KEYS: ReadonlyArray<RequiredItemKeys>;
|
|
54
56
|
export declare class Utils {
|
|
55
57
|
static getDefault(): PossibleInventoryItem;
|
|
56
58
|
static canonicalize<T extends Items>(item: Partial<T>): void;
|
|
57
|
-
static normalize<T extends Items>(item: Partial<T>):
|
|
59
|
+
static normalize<T extends Items>(item: Partial<T>, keys?: ReadonlyArray<ItemKeys>): asserts item is T;
|
|
58
60
|
static compact<T extends Items>(item: Partial<T>): void;
|
|
59
61
|
static order<T extends Items>(item: Partial<T>): T;
|
|
60
62
|
static hasAttribute<K extends keyof Item>(item: Partial<Item>, attribute: K): item is Partial<Item> & Record<K, NonNullable<Item[K]>>;
|
|
61
63
|
}
|
|
62
|
-
export {};
|
package/src/lib/utils/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Utils = exports.ITEM_KEYS = exports.ITEM_FIELD_ID = exports.DEFAULT_ITEM = void 0;
|
|
3
|
+
exports.Utils = exports.REQUIRED_ITEM_KEYS = exports.ITEM_KEYS = exports.ITEM_FIELD_ID = exports.DEFAULT_ITEM = void 0;
|
|
4
4
|
exports.DEFAULT_ITEM = {
|
|
5
5
|
assetid: null,
|
|
6
6
|
defindex: -1,
|
|
@@ -54,6 +54,10 @@ exports.ITEM_FIELD_ID = {
|
|
|
54
54
|
exports.ITEM_KEYS = Object.entries(exports.ITEM_FIELD_ID)
|
|
55
55
|
.sort(([, a], [, b]) => a - b)
|
|
56
56
|
.map(([key]) => key);
|
|
57
|
+
exports.REQUIRED_ITEM_KEYS = [
|
|
58
|
+
'defindex',
|
|
59
|
+
'quality',
|
|
60
|
+
];
|
|
57
61
|
class Utils {
|
|
58
62
|
static getDefault() {
|
|
59
63
|
return {
|
|
@@ -101,10 +105,11 @@ class Utils {
|
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
}
|
|
104
|
-
static normalize(item) {
|
|
105
|
-
|
|
108
|
+
static normalize(item, keys) {
|
|
109
|
+
const defaultItem = Utils.getDefault();
|
|
110
|
+
for (const key of keys !== null && keys !== void 0 ? keys : exports.ITEM_KEYS) {
|
|
106
111
|
if (item[key] === undefined) {
|
|
107
|
-
item[key] =
|
|
112
|
+
item[key] = defaultItem[key];
|
|
108
113
|
}
|
|
109
114
|
}
|
|
110
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../libs/tf2-format/src/lib/utils/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../libs/tf2-format/src/lib/utils/utils.ts"],"names":[],"mappings":"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"}
|