azul-steam-inventory-loader 3.2.0 → 3.2.1

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/azul.js CHANGED
File without changes
File without changes
File without changes
package/dist/CEconItem.js CHANGED
File without changes
File without changes
File without changes
package/dist/getAgent.js CHANGED
File without changes
@@ -1,6 +1,6 @@
1
- import steamID from 'steamid';
1
+ import { ItemDescription, ItemDetails, Tag } from './CEconItem';
2
2
  import { CookieJar } from 'tough-cookie';
3
- import { Tag, ItemDescription, ItemDetails } from './CEconItem';
3
+ import steamID from 'steamid';
4
4
  export interface AzulInventoryResponse {
5
5
  success: boolean;
6
6
  inventory: ItemDetails[];
@@ -1 +1 @@
1
- {"version":3,"file":"getInventory.d.ts","sourceRoot":"","sources":["../src/getInventory.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAkB,EAChB,GAAG,EAAa,eAAe,EAAE,WAAW,EAC7C,MAAM,aAAa,CAAC;AA0BrB,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,MAAM,SAAU,GAAG,EAAE,YAAY,MAAM,KAAG,GAAG,GAAG,IAG5D,CAAC;AAGF,eAAO,MAAM,gBAAgB,iCAAkC,eAAe,GAAG,WAAW,KAAG,MAA8F,CAAC;AAE9L,eAAO,MAAM,WAAW,iBAAkB,eAAe,GAAG,WAAW,KAAG,MAA4E,CAAC;AAEvJ,eAAO,MAAM,UAAU,SAAU,GAAG,EAAE,KAAG,SAAS,GAAE,KAAK,GAAG,QAAQ,GAAG,MAatE,CAAC;AAOF,iBAAe,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,qBAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuP1P;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"getInventory.d.ts","sourceRoot":"","sources":["../src/getInventory.ts"],"names":[],"mappings":"AAGA,OAAkB,EAEhB,eAAe,EACf,WAAW,EACX,GAAG,EACJ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,OAAO,OAAO,MAAM,SAAS,CAAC;AAyB9B,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,MAAM,SAAU,GAAG,EAAE,YAAY,MAAM,KAAG,GAAG,GAAG,IAG5D,CAAC;AAGF,eAAO,MAAM,gBAAgB,iCAAkC,eAAe,GAAG,WAAW,KAAG,MAA8F,CAAC;AAE9L,eAAO,MAAM,WAAW,iBAAkB,eAAe,GAAG,WAAW,KAAG,MAA4E,CAAC;AAEvJ,eAAO,MAAM,UAAU,SAAU,GAAG,EAAE,KAAG,SAAS,GAAE,KAAK,GAAG,QAAQ,GAAG,MAatE,CAAC;AAOF,iBAAe,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,qBAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuP1P;AAED,eAAe,YAAY,CAAC"}
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.isCardType = exports.getImageURL = exports.getLargeImageURL = exports.getTag = void 0;
7
- const moment_1 = require("moment");
8
- const events_1 = __importDefault(require("events"));
9
- const got_1 = __importDefault(require("got"));
10
7
  const CEconItem_1 = __importDefault(require("./CEconItem"));
8
+ const events_1 = __importDefault(require("events"));
9
+ const moment_1 = require("moment");
11
10
  const getAgent_1 = __importDefault(require("./getAgent"));
11
+ const got_1 = __importDefault(require("got"));
12
12
  const getTag = (tags, category) => {
13
13
  if (!tags)
14
14
  return null;
@@ -234,4 +234,4 @@ async function getInventory(SteamID64, appID, contextID, tradableOnly = true, St
234
234
  });
235
235
  }
236
236
  exports.default = getInventory;
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0SW52ZW50b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dldEludmVudG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxtQ0FBa0M7QUFFbEMsb0RBQWtDO0FBRWxDLDhDQUFzQjtBQUN0Qiw0REFFcUI7QUFDckIsMERBQWtDO0FBK0IzQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQVcsRUFBRSxRQUFnQixFQUFjLEVBQUU7SUFDbEUsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQUhXLFFBQUEsTUFBTSxVQUdqQjtBQUdLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQWlDLEVBQVUsRUFBRSxDQUFDLHVEQUF1RCxjQUFjLElBQUksUUFBUSxHQUFHLENBQUM7QUFBakwsUUFBQSxnQkFBZ0Isb0JBQWlLO0FBRXZMLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQWlDLEVBQVUsRUFBRSxDQUFDLHVEQUF1RCxRQUFRLEdBQUcsQ0FBQztBQUExSSxRQUFBLFdBQVcsZUFBK0g7QUFFaEosTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFXLEVBQXdDLEVBQUU7SUFDOUUsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUV4QixJQUFJO1FBQ0YsSUFBSSxJQUFBLGNBQU0sRUFBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsYUFBYSxLQUFLLGNBQWMsRUFBRTtZQUNoRSxJQUFJLElBQUEsY0FBTSxFQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxhQUFhLEtBQUssY0FBYztnQkFBRSxPQUFPLFFBQVEsQ0FBQztZQUNsRixJ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
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0SW52ZW50b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dldEludmVudG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSw0REFLcUI7QUFHckIsb0RBQWtDO0FBQ2xDLG1DQUFrQztBQUNsQywwREFBa0M7QUFDbEMsOENBQXNCO0FBZ0NmLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBVyxFQUFFLFFBQWdCLEVBQWMsRUFBRTtJQUNsRSxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUM7QUFDL0QsQ0FBQyxDQUFDO0FBSFcsUUFBQSxNQUFNLFVBR2pCO0FBR0ssTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBaUMsRUFBVSxFQUFFLENBQUMsdURBQXVELGNBQWMsSUFBSSxRQUFRLEdBQUcsQ0FBQztBQUFqTCxRQUFBLGdCQUFnQixvQkFBaUs7QUFFdkwsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBaUMsRUFBVSxFQUFFLENBQUMsdURBQXVELFFBQVEsR0FBRyxDQUFDO0FBQTFJLFFBQUEsV0FBVyxlQUErSDtBQUVoSixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVcsRUFBd0MsRUFBRTtJQUM5RSxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXhCLElBQUk7UUFDRixJQUFJLElBQUEsY0FBTSxFQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxhQUFhLEtBQUssY0FBYyxFQUFFO1lBQ2hFLElBQUksSUFBQSxjQUFNLEVBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFLGFBQWEsS0FBSyxjQUFjO2dCQUFFLE9BQU8sUUFBUSxDQUFDO1lBQ2xGLElB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
package/dist/index.d.ts CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAkB,EACuB,qBAAqB,EAC7D,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,MAAM;IAEnB,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;;;;;;;;AAcD,wBAEE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAkB,EAChB,qBAAqB,EAKtB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,MAAM;IAEnB,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;;;;;;;;AAcD,wBAEE"}
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -33,4 +37,4 @@ const Loader = (SteamID64, appID, contextID, LoaderConfig) => {
33
37
  exports.default = {
34
38
  Loader, getTag: getInventory_1.getTag, getImageURL: getInventory_1.getImageURL, getLargeImageURL: getInventory_1.getLargeImageURL, isCardType: getInventory_1.isCardType,
35
39
  };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0RBRXdCO0FBV3hCLE1BQU0sTUFBTSxHQUFHLENBQUMsU0FBaUIsRUFBRSxLQUFzQixFQUFFLFNBQTBCLEVBQUUsWUFBb0IsRUFBa0MsRUFBRTtJQUM3SSxNQUFNLFFBQVEsR0FBRztRQUNmLGtCQUFrQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsSUFBSSxTQUFTO1FBQ2pFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxJQUFJLElBQUk7UUFDaEQsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLElBQUksU0FBUztRQUM3QyxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsSUFBSSxLQUFLO1FBQ3pDLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxJQUFJLE9BQU87S0FDcEQsQ0FBQztJQUVGLE9BQU8sSUFBQSxzQkFBUyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDakssQ0FBQyxDQUFDO0FBRUYsa0JBQWU7SUFDYixNQUFNLEVBQUUsTUFBTSxFQUFOLHFCQUFNLEVBQUUsV0FBVyxFQUFYLDBCQUFXLEVBQUUsZ0JBQWdCLEVBQWhCLCtCQUFnQixFQUFFLFVBQVUsRUFBVix5QkFBVTtDQUMxRCxDQUFDIn0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtEQU13QjtBQVd4QixNQUFNLE1BQU0sR0FBRyxDQUFDLFNBQWlCLEVBQUUsS0FBc0IsRUFBRSxTQUEwQixFQUFFLFlBQW9CLEVBQWtDLEVBQUU7SUFDN0ksTUFBTSxRQUFRLEdBQUc7UUFDZixrQkFBa0IsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLElBQUksU0FBUztRQUNqRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksSUFBSSxJQUFJO1FBQ2hELFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxJQUFJLFNBQVM7UUFDN0MsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLElBQUksS0FBSztRQUN6QyxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksSUFBSSxPQUFPO0tBQ3BELENBQUM7SUFFRixPQUFPLElBQUEsc0JBQVMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2pLLENBQUMsQ0FBQztBQUVGLGtCQUFlO0lBQ2IsTUFBTSxFQUFFLE1BQU0sRUFBTixxQkFBTSxFQUFFLFdBQVcsRUFBWCwwQkFBVyxFQUFFLGdCQUFnQixFQUFoQiwrQkFBZ0IsRUFBRSxVQUFVLEVBQVYseUJBQVU7Q0FDMUQsQ0FBQyJ9
package/index.d.ts CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azul-steam-inventory-loader",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
4
4
  "description": "Steam Inventory Loader By Azul, faster than node-steamcommunity on average, bult-in error retry, and memory friendly when using --expose-gc",
5
5
  "main": "azul.js",
6
6
  "types": "index.d.ts",
@@ -12,14 +12,17 @@
12
12
  ],
13
13
  "scripts": {
14
14
  "build": "tsc",
15
- "prebuild": "rimraf ./dist",
16
- "prepublish": "npm run build"
15
+ "prebuild": "rimraf ./dist"
17
16
  },
18
17
  "author": "https://justazul.com",
19
18
  "repository": {
20
19
  "type": "git",
21
20
  "url": "https://github.com/JustAzul/steam-inventory-loader.git"
22
21
  },
22
+ "bugs": {
23
+ "url": "https://github.com/JustAzul/steam-inventory-loader/issues"
24
+ },
25
+ "homepage": "https://github.com/JustAzul/steam-inventory-loader",
23
26
  "license": "ISC",
24
27
  "dependencies": {
25
28
  "agentkeepalive": "^4.2.0",
@@ -31,6 +34,7 @@
31
34
  },
32
35
  "devDependencies": {
33
36
  "@types/got": "^9.6.12",
37
+ "@types/moment": "^2.13.0",
34
38
  "@types/steamid": "^1.1.0",
35
39
  "@types/tough-cookie": "^4.0.1",
36
40
  "@typescript-eslint/eslint-plugin": "^4.33.0",
package/test/AzulRaw.js CHANGED
File without changes
package/test/Config.js CHANGED
File without changes
package/test/Memory.js CHANGED
File without changes
File without changes
package/.eslint.js DELETED
@@ -1,14 +0,0 @@
1
- module.exports = {
2
- parser: "@typescript-eslint/parser", // Specifies the ESLint parser
3
- parserOptions: {
4
- ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features
5
- sourceType: "module" // Allows for the use of imports
6
- },
7
- extends: [
8
- "plugin:@typescript-eslint/recommended" // Uses the recommended rules from the @typescript-eslint/eslint-plugin
9
- ],
10
- rules: {
11
- // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs
12
- // e.g. "@typescript-eslint/explicit-function-return-type": "off",
13
- }
14
- };
package/.eslintignore DELETED
@@ -1,4 +0,0 @@
1
- /*.js
2
- node_modules
3
- dist
4
- test
package/.eslintrc.json DELETED
@@ -1,40 +0,0 @@
1
- {
2
- "env": {
3
- "es2021": true,
4
- "node": true
5
- },
6
- "extends": [
7
- "airbnb-base",
8
- "plugin:@typescript-eslint/recommended"
9
- ],
10
- "globals": {
11
- "Atomics": "readonly",
12
- "SharedArrayBuffer": "readonly"
13
- },
14
- "parser": "@typescript-eslint/parser",
15
- "parserOptions": {
16
- "ecmaVersion": 12,
17
- "sourceType": "module"
18
- },
19
- "plugins": [
20
- "@typescript-eslint"
21
- ],
22
- "rules": {
23
- "import/extensions": [
24
- "error",
25
- "ignorePackages",
26
- {
27
- "ts": "never"
28
- }
29
- ],
30
- "max-len":"off",
31
- "linebreak-style": "off"
32
- },
33
- "settings": {
34
- "import/resolver": {
35
- "typescript": {
36
-
37
- }
38
- }
39
- }
40
- }
@@ -1,29 +0,0 @@
1
- {
2
- // Use IntelliSense to learn about possible attributes.
3
- // Hover to view descriptions of existing attributes.
4
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
- "version": "0.2.0",
6
- "configurations": [
7
- {
8
- "type": "node",
9
- "request": "launch",
10
- "name": "Test Azul Loader",
11
- "program": "${workspaceFolder}//test//AzulRaw.js",
12
- "skipFiles": [
13
- "<node_internals>/**"
14
- ],
15
- "env": {"NODE_ENV": "production"},
16
- "runtimeArgs": ["--expose-gc"]
17
- },{
18
- "type": "node",
19
- "request": "launch",
20
- "name": "Test Default Loader",
21
- "program": "${workspaceFolder}//test//SteamCommunity.js",
22
- "skipFiles": [
23
- "<node_internals>/**"
24
- ],
25
- "env": {"NODE_ENV": "production"},
26
- "runtimeArgs": ["--expose-gc"]
27
- },
28
- ]
29
- }
package/src/CEconItem.ts DELETED
@@ -1,262 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable max-len */
3
- export interface ItemAsset {
4
- amount: string,
5
- appid: number,
6
- assetid: string,
7
- classid: string,
8
- contextid: string,
9
- instanceid: string,
10
- // pos?: number,
11
-
12
- // eslint-disable-next-line camelcase
13
- is_currency?: any,
14
- currency?: any,
15
- currencyid?: any,
16
- }
17
-
18
- export interface Tag {
19
- // eslint-disable-next-line camelcase
20
- internal_name: string,
21
- name: string,
22
- category: string,
23
- color: string,
24
- // eslint-disable-next-line camelcase
25
- category_name: string
26
- }
27
-
28
- export interface rawTag {
29
- category: string,
30
- // eslint-disable-next-line camelcase
31
- internal_name: string,
32
- // eslint-disable-next-line camelcase
33
- localized_category_name?: string,
34
- // eslint-disable-next-line camelcase
35
- localized_tag_name: string,
36
- // eslint-disable-next-line camelcase
37
- category_name: string,
38
- color?: string,
39
- name?: string
40
- }
41
-
42
- export interface InnerItemDescription {
43
- value: string
44
- }
45
-
46
- export interface ItemActions {
47
- link: string,
48
- name: string
49
- }
50
-
51
- export interface ItemDescription {
52
- actions: ItemActions[],
53
- appid: number,
54
- // eslint-disable-next-line camelcase
55
- background_color: string,
56
- classid: string,
57
- commodity: number,
58
- currency: number,
59
- descriptions: InnerItemDescription[],
60
- // eslint-disable-next-line camelcase
61
- owner_descriptions?: InnerItemDescription[],
62
- // eslint-disable-next-line camelcase
63
- icon_url: string,
64
- // eslint-disable-next-line camelcase
65
- icon_url_large: string,
66
- instanceid: string,
67
- // eslint-disable-next-line camelcase
68
- market_fee_app: number,
69
- // eslint-disable-next-line camelcase
70
- market_hash_name: string,
71
- // eslint-disable-next-line camelcase
72
- market_marketable_restriction: number,
73
- // eslint-disable-next-line camelcase
74
- market_name: string,
75
- // eslint-disable-next-line camelcase
76
- market_tradable_restriction: number,
77
- marketable: number,
78
- name: string,
79
- tags: rawTag[],
80
- tradable: number,
81
- owner?: any,
82
- type: string,
83
- // eslint-disable-next-line camelcase
84
- item_expiration?: string,
85
- [ListingKey: string]: any
86
- }
87
-
88
- export interface ItemDetails {
89
- id: string
90
-
91
- // eslint-disable-next-line camelcase
92
- is_currency: boolean,
93
- instanceid: string,
94
- amount: number,
95
- contextid: string
96
-
97
- appid: number,
98
- assetid: string,
99
- classid: string,
100
- // pos: number,
101
-
102
- tradable: boolean,
103
- marketable: boolean,
104
- commodity: boolean,
105
-
106
- fraudwarnings: [],
107
- descriptions: InnerItemDescription[],
108
- // eslint-disable-next-line camelcase
109
- owner_descriptions?: InnerItemDescription[],
110
-
111
- // eslint-disable-next-line camelcase
112
- market_hash_name: string,
113
- // eslint-disable-next-line camelcase
114
- market_tradable_restriction: number,
115
- // eslint-disable-next-line camelcase
116
- market_marketable_restriction: number
117
- // eslint-disable-next-line camelcase
118
- market_fee_app?: number,
119
-
120
- // eslint-disable-next-line camelcase
121
- cache_expiration?: string
122
- // eslint-disable-next-line camelcase
123
- item_expiration?: string
124
-
125
- tags?: Tag[],
126
- actions:ItemActions[],
127
-
128
- // eslint-disable-next-line camelcase
129
- owner_actions?: ItemActions[],
130
-
131
- // descs
132
-
133
- // eslint-disable-next-line camelcase
134
- background_color: string,
135
- currency: number,
136
- // eslint-disable-next-line camelcase
137
- icon_url: string,
138
- // eslint-disable-next-line camelcase
139
- icon_url_large: string,
140
-
141
- // eslint-disable-next-line camelcase
142
- market_name: string,
143
- name: string,
144
- type: string,
145
- owner?: any,
146
-
147
- }
148
-
149
- async function ParseTags(tags: rawTag[]): Promise<Tag[]> {
150
- const ParsedTags:Tag[] = [];
151
-
152
- {
153
- const Iterate = ():Promise<void> => new Promise((resolve) => {
154
- const Execute = (i = 0) => {
155
- if (i === tags.length) {
156
- resolve();
157
- return;
158
- }
159
-
160
- const tag = tags[i];
161
-
162
- const o: Tag = {
163
- internal_name: tag.internal_name,
164
- name: tag?.localized_tag_name || tag.name || '',
165
- category: tag?.category,
166
- color: tag.color || '',
167
- category_name: tag?.localized_category_name || tag.category_name,
168
- };
169
-
170
- ParsedTags.push(o);
171
- setImmediate(Execute.bind(null, i + 1));
172
- };
173
-
174
- Execute();
175
- });
176
-
177
- await Iterate();
178
- }
179
-
180
- return ParsedTags;
181
- }
182
-
183
- async function ItemParser(item: ItemAsset, description: ItemDescription, contextID: string): Promise<ItemDetails> {
184
- // eslint-disable-next-line camelcase
185
- const is_currency = !!(item.is_currency || item.currency) || typeof item.currencyid !== 'undefined';
186
- // eslint-disable-next-line camelcase
187
- const id = is_currency ? item.currencyid : item.assetid;
188
-
189
- if (description) {
190
- // Is this a listing of descriptions?
191
- const ListingKey = `${item.classid}_${item.instanceid}`;
192
- // eslint-disable-next-line no-param-reassign
193
- if (Object.prototype.hasOwnProperty.call(description, ListingKey)) description = description[ListingKey];
194
- }
195
-
196
- const Details: ItemDetails = {
197
- is_currency,
198
- id,
199
- appid: item.appid,
200
- // pos: item.pos,
201
- classid: item.classid,
202
- assetid: item.assetid,
203
- instanceid: item.instanceid || '0',
204
- amount: parseInt(item.amount, 10),
205
- contextid: item.contextid || contextID,
206
-
207
- tradable: !!description?.tradable,
208
- marketable: !!description?.marketable,
209
- commodity: !!description?.commodity,
210
-
211
- owner_descriptions: description?.owner_descriptions || undefined,
212
- item_expiration: description?.item_expiration || undefined,
213
-
214
- fraudwarnings: description?.fraudwarnings || [],
215
- descriptions: description?.descriptions || [],
216
-
217
- market_tradable_restriction: description?.market_tradable_restriction ? parseInt(description.market_tradable_restriction.toString(), 10) : 0,
218
- market_marketable_restriction: description?.market_marketable_restriction ? parseInt(description.market_marketable_restriction.toString(), 10) : 0,
219
- market_hash_name: description?.market_hash_name,
220
-
221
- actions: description?.actions || [],
222
- background_color: description.background_color,
223
- currency: description.currency,
224
- icon_url: description.icon_url,
225
- icon_url_large: description.icon_url_large,
226
- market_name: description.market_name,
227
- name: description.name,
228
- type: description.type,
229
-
230
- // eslint-disable-next-line eqeqeq
231
- owner: (description.owner && JSON.stringify(description.owner) == '{}') ? undefined : description.owner,
232
-
233
- };
234
-
235
- if (description?.tags) Details.tags = await ParseTags(description.tags);
236
-
237
- // Restore market_fee_app, if applicable
238
- // eslint-disable-next-line eqeqeq
239
- if (Details.appid == 753 && Details.contextid == '6' && Details.market_hash_name) {
240
- // eslint-disable-next-line no-underscore-dangle
241
- const _match = Details.market_hash_name.match(/^(\d+)-/);
242
- if (_match) Details.market_fee_app = parseInt(_match[1], 10);
243
- }
244
-
245
- // If we have item_expiration, also set cache_expiration to the same value
246
- if (Details.item_expiration) Details.cache_expiration = Details.item_expiration;
247
- // eslint-disable-next-line eqeqeq
248
- else if (Details.appid == 730 && Details.contextid == '2' && Details.owner_descriptions) {
249
- const Desc = Details.owner_descriptions.find((d) => d.value && d.value.indexOf('Tradable After ') === 0);
250
- if (Desc) {
251
- const date = new Date(Desc.value.substring(15).replace(/[,()]/g, ''));
252
- if (date) Details.cache_expiration = date.toISOString();
253
- }
254
- }
255
-
256
- // eslint-disable-next-line no-param-reassign
257
- if (item.currency) item.currency = null;
258
-
259
- return Details;
260
- }
261
-
262
- export default ItemParser;
package/src/getAgent.ts DELETED
@@ -1,18 +0,0 @@
1
- import { HttpsAgent } from 'agentkeepalive';
2
- import { HttpsProxyAgent } from 'hpagent';
3
-
4
- const DefaultAgent = new HttpsAgent();
5
-
6
- function getAgent(proxyAddress: string): HttpsProxyAgent | HttpsAgent {
7
- if (proxyAddress !== 'false') {
8
- const ProxyAgent = new HttpsProxyAgent({
9
- proxy: proxyAddress,
10
- });
11
-
12
- return ProxyAgent;
13
- }
14
-
15
- return DefaultAgent;
16
- }
17
-
18
- export default getAgent;
@@ -1,322 +0,0 @@
1
- /* eslint-disable import/no-extraneous-dependencies */
2
- /* eslint-disable no-console */
3
-
4
- import { duration } from 'moment';
5
- import steamID from 'steamid';
6
- import EventEmitter from 'events';
7
- import { CookieJar } from 'tough-cookie';
8
- import got from 'got';
9
- import CEconItem, {
10
- Tag, ItemAsset, ItemDescription, ItemDetails,
11
- } from './CEconItem';
12
- import getAgent from './getAgent';
13
-
14
- interface SteamBodyResponse {
15
- error?: string,
16
- Error?: string,
17
- assets: ItemAsset[],
18
- descriptions: ItemDescription[],
19
- // eslint-disable-next-line camelcase
20
- more_items?: number,
21
- // eslint-disable-next-line camelcase
22
- last_assetid: string,
23
- // eslint-disable-next-line camelcase
24
- total_inventory_count: number,
25
- success: number,
26
- rwgrsn: number
27
- }
28
-
29
- interface DescriptionCacheType {
30
- [Key: string]: ItemDescription
31
- }
32
-
33
- interface ErrorWithEResult extends Error {
34
- eresult?: number | string
35
- }
36
-
37
- export interface AzulInventoryResponse {
38
- success: boolean,
39
- inventory: ItemDetails[],
40
- count: number
41
- }
42
-
43
- export const getTag = (tags: Tag[], category: string): Tag | null => {
44
- if (!tags) return null;
45
- return tags.find((tag) => tag.category === category) || null;
46
- };
47
-
48
- // eslint-disable-next-line camelcase
49
- export const getLargeImageURL = ({ icon_url_large, icon_url }: ItemDescription | ItemDetails): string => `https://steamcommunity-a.akamaihd.net/economy/image/${icon_url_large || icon_url}/`;
50
- // eslint-disable-next-line camelcase
51
- export const getImageURL = ({ icon_url }: ItemDescription | ItemDetails): string => `https://steamcommunity-a.akamaihd.net/economy/image/${icon_url}/`;
52
-
53
- export const isCardType = (tags: Tag[]): undefined |false | 'Normal' | 'Foil' => {
54
- if (!tags) return false;
55
-
56
- try {
57
- if (getTag(tags, 'item_class')?.internal_name === 'item_class_2') {
58
- if (getTag(tags, 'cardborder')?.internal_name === 'cardborder_0') return 'Normal';
59
- if (getTag(tags, 'cardborder')?.internal_name === 'cardborder_1') return 'Foil';
60
- }
61
- } catch {
62
- return false;
63
- }
64
-
65
- return false;
66
- };
67
-
68
- function getDescriptionKey(description: ItemDescription | ItemAsset): string {
69
- return `${description.classid}_${(description.instanceid || '0')}_${description.appid}`;
70
- }
71
-
72
- // eslint-disable-next-line max-len, camelcase, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
73
- async function getInventory(SteamID64: string | steamID, appID: string | number, contextID: string | number, tradableOnly = true, SteamCommunity_Jar: CookieJar, Language: string, useProxy: boolean, proxyAddress: string): Promise<AzulInventoryResponse> {
74
- // eslint-disable-next-line no-param-reassign
75
- if (typeof SteamID64 !== 'string') SteamID64 = SteamID64.getSteamID64();
76
-
77
- const headers = {
78
- Referer: `https://steamcommunity.com/profiles/${SteamID64}/inventory`,
79
- Host: 'steamcommunity.com',
80
- };
81
-
82
- let DescriptionsCache: DescriptionCacheType = {};
83
-
84
- const inventory: ItemDetails[] = [];
85
-
86
- let GcPages = 0;
87
- const Event = new EventEmitter();
88
-
89
- const GetDescription = (Key: string): ItemDescription | undefined => DescriptionsCache[Key] || undefined;
90
-
91
- const RemoveListeners = () => {
92
- Event.removeAllListeners('FetchDone');
93
- Event.removeAllListeners('data');
94
- Event.removeAllListeners('done');
95
- Event.removeAllListeners('error');
96
- };
97
-
98
- async function Fetch(StartAssetID: string | undefined, Retries: number): Promise<void> {
99
- const searchParams = {
100
- l: Language,
101
- count: 5000,
102
- start_assetid: StartAssetID,
103
- };
104
-
105
- const GotOptions = {
106
- url: `https://steamcommunity.com/inventory/${SteamID64}/${appID}/${contextID}`,
107
- headers,
108
- searchParams,
109
- cookieJar: SteamCommunity_Jar,
110
- throwHttpErrors: false,
111
- timeout: duration(25, 'seconds').asMilliseconds(),
112
- agent: {
113
- https: getAgent(useProxy ? proxyAddress : 'false'),
114
- },
115
- };
116
-
117
- // eslint-disable-next-line prefer-const
118
- let { statusCode, body } = await got(GotOptions);
119
-
120
- // eslint-disable-next-line eqeqeq
121
- if (statusCode === 403 && body == 'null') {
122
- Event.emit('error', new Error('This profile is private.'));
123
- return;
124
- }
125
-
126
- if (statusCode === 429) {
127
- Event.emit('error', new Error('rate limited'));
128
- return;
129
- }
130
-
131
- const FetchRetry = () => setTimeout(() => Fetch(StartAssetID, (Retries + 1)), duration(1, 'second').asMilliseconds());
132
-
133
- let data: SteamBodyResponse;
134
-
135
- try {
136
- data = JSON.parse(body);
137
- } catch {
138
- if (Retries < 3) {
139
- FetchRetry();
140
- return;
141
- }
142
-
143
- Event.emit('error', new Error('Malformed response'));
144
- return;
145
- }
146
-
147
- if (statusCode !== 200) {
148
- if (body && !!data?.error) {
149
- let newError: ErrorWithEResult = new Error(data.error);
150
- const match = data.error.match(/^(.+) \((\d+)\)$/);
151
-
152
- if (match) {
153
- newError = new Error(match[1]);
154
- // eslint-disable-next-line prefer-destructuring
155
- newError.eresult = match[2];
156
- }
157
-
158
- Event.emit('error', newError);
159
- return;
160
- }
161
-
162
- if (Retries < 3) {
163
- FetchRetry();
164
- return;
165
- }
166
-
167
- Event.emit('error', new Error('Bad statusCode'));
168
- return;
169
- }
170
-
171
- if (!!data?.success && data?.total_inventory_count === 0) {
172
- const o = {
173
- success: !!data.success,
174
- inventory: [],
175
- count: data.total_inventory_count ?? 0,
176
- };
177
-
178
- Event.emit('done', o);
179
- return;
180
- }
181
-
182
- if (!data || !data?.success || !data?.assets || !data?.descriptions) {
183
- if (Retries < 3) {
184
- FetchRetry();
185
- return;
186
- }
187
-
188
- if (data) {
189
- Event.emit('error', new Error(data?.error || data?.Error || 'Malformed response'));
190
- return;
191
- }
192
-
193
- Event.emit('error', new Error('Malformed response'));
194
- return;
195
- }
196
-
197
- Event.emit('data', data.descriptions, data.assets);
198
-
199
- if (data.more_items) {
200
- const { LastAssetID } = { LastAssetID: data.last_assetid };
201
-
202
- // @ts-expect-error we are not using this var anymore.
203
- process.nextTick(() => { data = null; });
204
-
205
- if (global.gc) {
206
- GcPages += 1;
207
- if (GcPages > 3) {
208
- global.gc();
209
- GcPages = 0;
210
- }
211
- }
212
-
213
- Fetch(LastAssetID, 0);
214
- } else Event.emit('FetchDone');
215
- }
216
-
217
- Fetch(undefined, 0);
218
-
219
- return new Promise((resolve, reject) => {
220
- let TotalPages = 0;
221
- let PagesDone = 0;
222
-
223
- Event.on('data', async (Descriptions: ItemDescription[], Assets: ItemAsset[]) => {
224
- TotalPages += 1;
225
-
226
- {
227
- const Iterate = ():Promise<void> => new Promise((Resolve) => {
228
- const Execute = (i = 0) => {
229
- if (i === Descriptions.length) {
230
- Resolve();
231
- return;
232
- }
233
-
234
- const Description = Descriptions[i];
235
- const Key = getDescriptionKey(Description);
236
- if (!Object.prototype.hasOwnProperty.call(DescriptionsCache, Key)) DescriptionsCache[Key] = Description;
237
-
238
- setImmediate(Execute.bind(null, i + 1));
239
- };
240
-
241
- Execute();
242
- });
243
-
244
- await Iterate();
245
- }
246
-
247
- {
248
- const Iterate = ():Promise<void> => new Promise((Resolve) => {
249
- const Execute = async (i = 0) => {
250
- if (i === Assets.length) {
251
- Resolve();
252
- return;
253
- }
254
-
255
- const Asset: ItemAsset = Assets[i];
256
-
257
- if (!Asset.currencyid) {
258
- const Key = getDescriptionKey(Asset);
259
- const Description = GetDescription(Key);
260
-
261
- if (!tradableOnly || (Description && Description.tradable)) {
262
- // @ts-expect-error Description will never be undefined.
263
- const Item = await CEconItem(Asset, Description, contextID.toString());
264
- inventory.push(Item);
265
- }
266
- }
267
-
268
- setImmediate(Execute.bind(null, i + 1));
269
- };
270
-
271
- Execute();
272
- });
273
-
274
- await Iterate();
275
- }
276
-
277
- PagesDone += 1;
278
- });
279
-
280
- Event.once('FetchDone', async () => {
281
- {
282
- const Check = ():Promise<void> => new Promise((SetJobDone) => {
283
- const Execute = () => {
284
- if (TotalPages === PagesDone) SetJobDone();
285
- else setTimeout(Execute, 100);
286
- };
287
-
288
- Execute();
289
- });
290
-
291
- await Check();
292
- }
293
-
294
- const o = {
295
- success: true,
296
- inventory,
297
- count: inventory.length,
298
- };
299
-
300
- Event.emit('done', o);
301
- });
302
-
303
- Event.once('done', async (Result) => {
304
- resolve(Result);
305
-
306
- RemoveListeners();
307
-
308
- process.nextTick(() => {
309
- // @ts-expect-error cleaning unused cache
310
- DescriptionsCache = null;
311
- if (global.gc) global.gc();
312
- });
313
- });
314
-
315
- Event.once('error', (error) => {
316
- RemoveListeners();
317
- reject(error);
318
- });
319
- });
320
- }
321
-
322
- export default getInventory;
package/src/index.ts DELETED
@@ -1,28 +0,0 @@
1
- import RawLoader, {
2
- getTag, getImageURL, getLargeImageURL, AzulInventoryResponse, isCardType,
3
- } from './getInventory';
4
-
5
- export interface Config {
6
- // eslint-disable-next-line camelcase, @typescript-eslint/no-explicit-any
7
- SteamCommunity_Jar?: any,
8
- tradableOnly?: boolean,
9
- Language?: string
10
- useProxy?: boolean
11
- proxyAddress?: string
12
- }
13
-
14
- const Loader = (SteamID64: string, appID: string | number, contextID: string | number, LoaderConfig: Config): Promise<AzulInventoryResponse> => {
15
- const Defaults = {
16
- SteamCommunity_Jar: LoaderConfig?.SteamCommunity_Jar || undefined,
17
- tradableOnly: LoaderConfig?.tradableOnly ?? true,
18
- Language: LoaderConfig?.Language ?? 'english',
19
- useProxy: LoaderConfig?.useProxy ?? false,
20
- proxyAddress: LoaderConfig?.proxyAddress ?? 'false',
21
- };
22
-
23
- return RawLoader(SteamID64, appID, contextID, Defaults.tradableOnly, Defaults.SteamCommunity_Jar, Defaults.Language, Defaults.useProxy, Defaults.proxyAddress);
24
- };
25
-
26
- export default {
27
- Loader, getTag, getImageURL, getLargeImageURL, isCardType,
28
- };
package/tsconfig.json DELETED
@@ -1,73 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- /* Visit https://aka.ms/tsconfig.json to read more about this file */
4
-
5
- /* Basic Options */
6
- // "incremental": true, /* Enable incremental compilation */
7
- "target": "ES2021", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
8
- "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
9
- // "lib": ["es2020"], /* Specify library files to be included in the compilation. */
10
- // "allowJs": true, /* Allow javascript files to be compiled. */
11
- // "checkJs": true, /* Report errors in .js files. */
12
- // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
13
- "declaration": true, /* Generates corresponding '.d.ts' file. */
14
- "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
15
- // "sourceMap": true, /* Generates corresponding '.map' file. */
16
- // "outFile": "./", /* Concatenate and emit output to single file. */
17
- "outDir": "./dist", /* Redirect output structure to the directory. */
18
- "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
19
- // "composite": true, /* Enable project compilation */
20
- // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
21
- "removeComments": true, /* Do not emit comments to output. */
22
- // "noEmit": true, /* Do not emit outputs. */
23
- // "importHelpers": true, /* Import emit helpers from 'tslib'. */
24
- // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
25
- // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
26
-
27
- /* Strict Type-Checking Options */
28
- "strict": true, /* Enable all strict type-checking options. */
29
- "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
30
- // "strictNullChecks": true, /* Enable strict null checks. */
31
- // "strictFunctionTypes": true, /* Enable strict checking of function types. */
32
- // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
33
- // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
34
- // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
35
- // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
36
-
37
- /* Additional Checks */
38
- // "noUnusedLocals": true, /* Report errors on unused locals. */
39
- // "noUnusedParameters": true, /* Report errors on unused parameters. */
40
- // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
41
- // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
42
- // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
43
-
44
- /* Module Resolution Options */
45
- "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
46
- // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
47
- /* "paths": {
48
- "@Sql": ["./sql/*"]
49
- }, */ /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
50
- // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
51
- // "typeRoots": [], /* List of folders to include type definitions from. */
52
- // "types": [], /* Type declaration files to be included in compilation. */
53
- "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
54
- "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
55
- // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
56
- // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
57
-
58
- /* Source Map Options */
59
- // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
60
- // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
61
- "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
62
- // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
63
-
64
- /* Experimental Options */
65
- // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
66
- // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
67
-
68
- /* Advanced Options */
69
- "skipLibCheck": true, /* Skip type checking of declaration files. */
70
- "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
71
- },
72
- "exclude": ["dist", "azul.js", "test"]
73
- }