@tf2-automatic/tf2-format 11.0.0 → 11.0.2

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tf2-automatic/tf2-format",
3
- "version": "11.0.0",
3
+ "version": "11.0.2",
4
4
  "dependencies": {
5
5
  "tslib": "^2.7.0",
6
6
  "protobufjs": "^7.4.0",
@@ -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
- export type RequiredItemAttributes = RequiredKeys<'defindex' | 'quality', Item>;
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'>;
@@ -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<keyof PossibleInventoryItem>;
53
- type Items = PossibleInventoryItem | InventoryItem | Item;
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>): void;
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 {};
@@ -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
- for (const key of exports.ITEM_KEYS) {
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] = exports.DEFAULT_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":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../libs/tf2-format/src/lib/utils/utils.ts"],"names":[],"mappings":"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"}