···11+# Changesets
22+33+Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
44+with multi-package repos, or single-package repos to help you version and publish your code. You can
55+find the full documentation for it [in our repository](https://github.com/changesets/changesets)
66+77+We have a quick list of common questions to get you started engaging with this project in
88+[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
···11+# flyff.js
22+33+## 1.3.0
44+55+### Minor Changes
66+77+- 5831f38: Add new housing endpoint
88+99+## 1.2.0
1010+1111+### Minor Changes
1212+1313+- 9f38a5e: - tradegreenchips
1414+1515+ - rainbowraceapply
1616+ - createultimate
1717+ - traderings
1818+ - tradeearrings
1919+ - tradenecklaces
2020+ - dismantle
2121+ - fwcboard
2222+ - fwcteleport
2323+ - fwcranking
2424+ - fwcspectate
2525+ - fwcexchange
2626+ - fwccollect
2727+ - expanddrop
2828+ - allspeed
2929+ - arcaneinsightchance
3030+ - ripostereflexchance
3131+ - tetherRange
3232+ - spreadOnExpireRange
3333+ - probability
3434+ - conditionalBuff
3535+ - ultimateConvertible
3636+ - addMax on the ability schematic. When this value is present, add is the minimum value and addMax is the maximum value in the random range. You can see this in action on weapons such as Lusaka's Crystal Bow.
3737+ - Added new possibleRandomStats array on items which contains the list of possible additional stats, used on Ultimate weapons
3838+ - sunstone
3939+ - rainbowrace
4040+ - story
4141+ - cursed
4242+4343+## 1.1.6
4444+4545+### Patch Changes
4646+4747+- 44332f7: Add missing `hp` property to `MonsterObject` type
4848+4949+## 1.1.5
5050+5151+### Patch Changes
5252+5353+- 2efc91f: Add missing `combo` union type to `SkillObject` interface
5454+5555+## 1.1.4
5656+5757+### Patch Changes
5858+5959+- 8735095: More adjustments to the `Ability` type
6060+6161+## 1.1.3
6262+6363+### Patch Changes
6464+6565+- 5f7f42a: Refactor the `Ability` type to properly match the API response
6666+6767+## 1.1.2
6868+6969+### Patch Changes
7070+7171+- b1bb9fa: Add missing `ability` and `location` types to `ItemObject` interface
7272+7373+## 1.1.1
7474+7575+### Patch Changes
7676+7777+- 784b9f7: Export the actual types and not the classes
7878+7979+## 1.1.0
8080+8181+### Minor Changes
8282+8383+- 4dacdc9: Export types to allow consumers to use in applications
8484+8585+## 1.0.2
8686+8787+### Patch Changes
8888+8989+- 2374a6d: remove throwing error when using the getByListOfIds method for a single resource
9090+9191+## 1.0.1
9292+9393+### Patch Changes
9494+9595+- 82b5af4: Fixes a logic error in the base class
9696+9797+## 1.0.0
9898+9999+### Major Changes
100100+101101+- 1f45ddc: 1.0 Release
102102+103103+```bash
104104+npm install flyff.js
105105+```
106106+107107+```js
108108+import { FlyffClient } from "flyff.js";
109109+110110+const client = new FlyffClient();
111111+```
112112+113113+```js
114114+await client.job.getAllIds();
115115+```
+21
packages/flyff.js/LICENSE
···11+MIT License
22+33+Copyright (c) 2023 Dane Miller
44+55+Permission is hereby granted, free of charge, to any person obtaining a copy
66+of this software and associated documentation files (the "Software"), to deal
77+in the Software without restriction, including without limitation the rights
88+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
99+copies of the Software, and to permit persons to whom the Software is
1010+furnished to do so, subject to the following conditions:
1111+1212+The above copyright notice and this permission notice shall be included in all
1313+copies or substantial portions of the Software.
1414+1515+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1616+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1717+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1818+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2121+SOFTWARE.
+45
packages/flyff.js/README.md
···11+# flyff.js
22+33+flyff.js is an API wrapper written in TypeScript for the [FlyFF Universe API](https://api.flyff.com/)
44+55+# Features
66+77+- Type safe
88+- ESM/CJS compatible
99+- Covers all of the current FlyFF Universe API endpoints
1010+1111+# Getting started
1212+1313+## Install the library with your preferred package manager
1414+1515+```bash
1616+npm install flyff.js
1717+```
1818+1919+```bash
2020+yarn add flyff.js
2121+```
2222+2323+## Instantiate a new client
2424+2525+```js
2626+import { FlyffClient } from "flyff.js";
2727+2828+const client = new FlyffClient();
2929+```
3030+3131+## Make API calls
3232+3333+```js
3434+await client.job.getAllIds();
3535+3636+// [ 764 ,2246, 3545, 5330, ... ]
3737+```
3838+3939+## Documentation
4040+4141+coming soon
4242+4343+## License
4444+4545+[MIT](https://choosealicense.com/licenses/mit/)
···11+import { FlyffClient } from "../src/";
22+import { Job } from "../src/types";
33+44+const client = new FlyffClient();
55+66+client.job.getByListOfIds([Job.ACROBAT, Job.ASSIST]);
77+client.job.getImage("target", "vagrant.png");
+59
packages/flyff.js/src/index.ts
···11+import Version from "./resources/game//version";
22+import Job from "./resources/game/job";
33+import World from "./resources/game/world";
44+import Monster from "./resources/game/monster";
55+import Item from "./resources/game/item";
66+import EquipmentSet from "./resources/game/equipment-set";
77+import Skill from "./resources/game/skill";
88+import PartySkill from "./resources/game/party-skill";
99+import Npc from "./resources/game/npc";
1010+import Quest from "./resources/game/quest";
1111+import PK from "./resources/game/pk";
1212+import UpgradeBonus from "./resources/game/bonus";
1313+import Awake from "./resources/game/awake";
1414+import RaisedPet from "./resources/game/pet";
1515+import Dungeon from "./resources/game/dungeon";
1616+import Housing from "./resources/game/housing";
1717+import HousingPack from "./resources/game/housing-pack";
1818+1919+class FlyffClient {
2020+ public version: Version;
2121+ public job: Job;
2222+ public world: World;
2323+ public monster: Monster;
2424+ public item: Item;
2525+ public equip: EquipmentSet;
2626+ public skill: Skill;
2727+ public party: PartySkill;
2828+ public npc: Npc;
2929+ public quest: Quest;
3030+ public pk: PK;
3131+ public bonus: UpgradeBonus;
3232+ public awake: Awake;
3333+ public pet: RaisedPet;
3434+ public dungeon: Dungeon;
3535+ public housing: Housing;
3636+ public packs: HousingPack;
3737+ constructor() {
3838+ this.version = new Version();
3939+ this.job = new Job();
4040+ this.world = new World();
4141+ this.monster = new Monster();
4242+ this.item = new Item();
4343+ this.equip = new EquipmentSet();
4444+ this.skill = new Skill();
4545+ this.party = new PartySkill();
4646+ this.npc = new Npc();
4747+ this.quest = new Quest();
4848+ this.pk = new PK();
4949+ this.bonus = new UpgradeBonus();
5050+ this.awake = new Awake();
5151+ this.pet = new RaisedPet();
5252+ this.dungeon = new Dungeon();
5353+ this.housing = new Housing();
5454+ this.packs = new HousingPack();
5555+ }
5656+}
5757+5858+export { FlyffClient };
5959+export * from "./types/index";
···11+import { AchievementObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class Achievement extends Base {
55+ /**
66+ * Get all achievement IDs
77+ *
88+ * @example
99+ * ```
1010+ * await client.achievement.getAllIds()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<number>>} An array of achievement IDs
1414+ */
1515+ public getAllIds(): Promise<Array<number>> {
1616+ return this.get("/achievement");
1717+ }
1818+1919+ /**
2020+ * Get achievment by specific ID
2121+ *
2222+ * @example
2323+ * ```
2424+ * await client.achievement.getById(1840)
2525+ * ```
2626+ *
2727+ * @returns {Promise<AchievementObject>} An object representing a specific achievement
2828+ */
2929+ public getById(achievementId: number): Promise<AchievementObject> {
3030+ return this.get(`/achievement/${achievementId}`);
3131+ }
3232+3333+ /**
3434+ * Get a list of achievements by their IDs
3535+ *
3636+ * @example
3737+ * ```
3838+ * await client.achievement.getByListOfIds([58,77,182])
3939+ * ```
4040+ *
4141+ * @returns {Promise<Array<AchievementObject>>} An array of objects for the specific achievement IDs
4242+ */
4343+ public getByListOfIds(
4444+ achievementIds: Array<number>
4545+ ): Promise<Array<AchievementObject>> {
4646+ return this.get(`/achievement/${achievementIds.join(",")}`);
4747+ }
4848+}
+18
packages/flyff.js/src/resources/game/awake.ts
···11+import { AwakeObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class Awake extends Base {
55+ /**
66+ * Get info about the skill awakes
77+ *
88+ * @example
99+ * ```
1010+ * await client.awake.getSkillAwakes()
1111+ * ```
1212+ *
1313+ * @returns {Promise<AwakeObject>} An object containing info about the skill awakes
1414+ */
1515+ public getSkillAwakes(): Promise<AwakeObject> {
1616+ return this.get("/skillawake");
1717+ }
1818+}
+18
packages/flyff.js/src/resources/game/bonus.ts
···11+import { UpgradeBonusObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class UpgradeBonus extends Base {
55+ /**
66+ * Get info about the upgrade bonus levels
77+ *
88+ * @example
99+ * ```
1010+ * await client.bonus.getUpgradeBonuses()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<UpgradeBonusObject>>} An array of upgrade bonus levels
1414+ */
1515+ public getUpgradeBonuses(): Promise<Array<UpgradeBonusObject>> {
1616+ return this.get("/upgradelevelbonus");
1717+ }
1818+}
+18
packages/flyff.js/src/resources/game/dungeon.ts
···11+import { DungeonObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class Dungeon extends Base {
55+ /**
66+ * Get info about all of the available dungeons
77+ *
88+ * @example
99+ * ```
1010+ * await client.dungeon.getAllDungeons()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<DungeonObject>>} An array of objects containing information about each dungeon
1414+ */
1515+ public getAllDungeons(): Promise<Array<DungeonObject>> {
1616+ return this.get("/dungeon");
1717+ }
1818+}
···11+import { EquipSetObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class EquipmentSet extends Base {
55+ /**
66+ * Get all equipment set IDs
77+ *
88+ * @example
99+ * ```
1010+ * await client.equip.getAllIds()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<number>>} An array of equipment set IDs
1414+ */
1515+ public getAllIds(): Promise<Array<number>> {
1616+ return this.get("/equipset");
1717+ }
1818+1919+ /**
2020+ * Get equipment set by a specific ID
2121+ *
2222+ * @example
2323+ * ```
2424+ * await client.equip.getById(5670)
2525+ * ```
2626+ *
2727+ * @returns {Promise<EquipSetObject>} An object representing a specific equipment set
2828+ */
2929+ public getById(equipSetId: number): Promise<EquipSetObject> {
3030+ return this.get(`/equipset/${equipSetId}`);
3131+ }
3232+3333+ /**
3434+ * Get a list of equipment sets by their ID
3535+ *
3636+ * @example
3737+ * ```
3838+ * await client.equip.getByListOfIds([5670,4267,5303])
3939+ * ```
4040+ *
4141+ * @returns {Promise<Array<EquipSetObject>>} An array of objects for the specific equipment set IDs
4242+ */
4343+ public getByListOfIds(
4444+ equipSetIds: Array<number>
4545+ ): Promise<Array<EquipSetObject>> {
4646+ return this.get(`/equipset/${equipSetIds.join(",")}`);
4747+ }
4848+}
···11+import { PartySkillObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class PartySkill extends Base {
55+ /**
66+ * Get all party skill IDs
77+ *
88+ * @example
99+ * ```
1010+ * await client.party.getAllIds()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<number>>} An array of party skill IDs
1414+ */
1515+ public getAllIds(): Promise<Array<number>> {
1616+ return this.get("/partyskill");
1717+ }
1818+1919+ /**
2020+ * Get party skill by specific ID
2121+ *
2222+ * @example
2323+ * ```
2424+ * await client.party.getById(8037)
2525+ * ```
2626+ *
2727+ * @returns {Promise<PartySkillObject>} An object representing a specific party skill
2828+ */
2929+ public getById(skillId: number): Promise<PartySkillObject> {
3030+ return this.get(`/partyskill/${skillId}`);
3131+ }
3232+3333+ /**
3434+ * Get a list of party skills by their ID
3535+ *
3636+ * @example
3737+ * ```
3838+ * await client.skill.getByListOfIds([8037,2475,2651])
3939+ * ```
4040+ *
4141+ * @returns {Promise<Array<PartySkillObject>>} An array of objects for the specific party skill IDs
4242+ */
4343+ public getByListOfIds(
4444+ skillIds: Array<number>
4545+ ): Promise<Array<PartySkillObject>> {
4646+ return this.get(`/partyskill/${skillIds.join(",")}`);
4747+ }
4848+}
+18
packages/flyff.js/src/resources/game/pet.ts
···11+import { RaisedPetObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class RaisedPet extends Base {
55+ /**
66+ * Get info about the pet system
77+ *
88+ * @example
99+ * ```
1010+ * await client.pet.getRaisedPetInfo()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<RaisedPetObject>>} An array of objects containing info about the pet system
1414+ */
1515+ public getRaisedPetInfo(): Promise<Array<RaisedPetObject>> {
1616+ return this.get("/raisedpet");
1717+ }
1818+}
+18
packages/flyff.js/src/resources/game/pk.ts
···11+import { PkObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class PK extends Base {
55+ /**
66+ * Get info about the PK system
77+ *
88+ * @example
99+ * ```
1010+ * await client.pk.getPKInfo()
1111+ * ```
1212+ *
1313+ * @returns {Promise<PkObject>} An object containing info about the PK system
1414+ */
1515+ public getPKInfo(): Promise<PkObject> {
1616+ return this.get("/pk");
1717+ }
1818+}
+46
packages/flyff.js/src/resources/game/quest.ts
···11+import { QuestObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class Quest extends Base {
55+ /**
66+ * Get all quest IDs
77+ *
88+ * @example
99+ * ```
1010+ * await client.quest.getAllIds()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<number>>} An array of quest IDs
1414+ */
1515+ public getAllIds(): Promise<Array<number>> {
1616+ return this.get("/quest");
1717+ }
1818+1919+ /**
2020+ * Get quest by specific ID
2121+ *
2222+ * @example
2323+ * ```
2424+ * await client.quest.getById(1840)
2525+ * ```
2626+ *
2727+ * @returns {Promise<QuestObject>} An object representing a specific quest
2828+ */
2929+ public getById(questId: number): Promise<QuestObject> {
3030+ return this.get(`/quest/${questId}`);
3131+ }
3232+3333+ /**
3434+ * Get a list of quests by their IDs
3535+ *
3636+ * @example
3737+ * ```
3838+ * await client.quest.getByListOfIds([1840,821,5260])
3939+ * ```
4040+ *
4141+ * @returns {Promise<Array<QuestObject>>} An array of objects for the specific npc IDs
4242+ */
4343+ public getByListOfIds(questIds: Array<number>): Promise<Array<QuestObject>> {
4444+ return this.get(`/quest/${questIds.join(",")}`);
4545+ }
4646+}
+60
packages/flyff.js/src/resources/game/skill.ts
···11+import { SkillObject } from "../../types";
22+import { Base } from "../base";
33+44+export default class Skill extends Base {
55+ /**
66+ * Get all skill IDs
77+ *
88+ * @example
99+ * ```
1010+ * await client.skill.getAllIds()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<number>>} An array of skill IDs
1414+ */
1515+ public getAllIds(): Promise<Array<number>> {
1616+ return this.get("/skill");
1717+ }
1818+1919+ /**
2020+ * Get skill by specific ID
2121+ *
2222+ * @example
2323+ * ```
2424+ * await client.skill.getById(6482)
2525+ * ```
2626+ *
2727+ * @returns {Promise<SkillObject>} An object representing a specific skill
2828+ */
2929+ public getById(skillId: number): Promise<SkillObject> {
3030+ return this.get(`/skill/${skillId}`);
3131+ }
3232+3333+ /**
3434+ * Get a list of skills by their ID
3535+ *
3636+ * @example
3737+ * ```
3838+ * await client.skill.getByListOfIds([6482,2030,7395])
3939+ * ```
4040+ *
4141+ * @returns {Promise<Array<SkillObject>>} An array of objects for the specific skill IDs
4242+ */
4343+ public getByListOfIds(skillIds: Array<number>): Promise<Array<SkillObject>> {
4444+ return this.get(`/skill/${skillIds.join(",")}`);
4545+ }
4646+4747+ /**
4848+ * Get the skill icon for a specific skill
4949+ *
5050+ * @example
5151+ * ```
5252+ * await client.skill.getImage("acrbowaimeds.png")
5353+ * ```
5454+ *
5555+ * @returns {Promise<string>} An image of a skill icon
5656+ */
5757+ public getImage(style: "colored" | "old", fileName: string): Promise<string> {
5858+ return this.get(`/image/skill/${style}/${fileName}`);
5959+ }
6060+}
+31
packages/flyff.js/src/resources/game/version.ts
···11+import { Base } from "../base";
22+33+export default class Version extends Base {
44+ /**
55+ * Get the current game version
66+ *
77+ * @example
88+ * ```
99+ * await client.version.getGameVersion()
1010+ * ```
1111+ *
1212+ * @returns {Promise<number>} Game version
1313+ */
1414+ public getGameVersion(): Promise<number> {
1515+ return this.get("/version/data");
1616+ }
1717+1818+ /**
1919+ * Get the current API version
2020+ *
2121+ * @example
2222+ * ```
2323+ * await client.version.getAPIVersion()
2424+ * ```
2525+ *
2626+ * @returns {Promise<string>} API version
2727+ */
2828+ public getAPIVersion(): Promise<string> {
2929+ return this.get("/version/api");
3030+ }
3131+}
+62
packages/flyff.js/src/resources/game/world.ts
···11+import { Base } from "../base";
22+import { WorldObject, WorldOptions } from "../../types";
33+44+export default class World extends Base {
55+ /**
66+ * Get all world IDs
77+ *
88+ * @example
99+ * ```
1010+ * await client.world.getAllIds()
1111+ * ```
1212+ *
1313+ * @returns {Promise<Array<number>>} An array of world IDs
1414+ */
1515+ public getAllIds(): Promise<Array<number>> {
1616+ return this.get("/world");
1717+ }
1818+1919+ /**
2020+ * Get a world by its ID
2121+ *
2222+ * @example
2323+ * ```
2424+ * await client.world.getById(4015)
2525+ * ```
2626+ *
2727+ * @returns {Promise<WorldObject>} An object representing a specific world
2828+ */
2929+ public getById(worldId: number): Promise<WorldObject> {
3030+ return this.get(`/world/${worldId}`);
3131+ }
3232+3333+ /**
3434+ * Get a list of worlds by their ID
3535+ *
3636+ * @example
3737+ * ```
3838+ * await client.world.getByListOfIds([4015,4839,6063])
3939+ * ```
4040+ *
4141+ * @returns {Promise<Array<WorldObject>>} An array of objects for the specific world IDs
4242+ */
4343+ public getByListOfIds(worldIds: Array<number>): Promise<Array<WorldObject>> {
4444+ return this.get(`/world/${worldIds.join(",")}`);
4545+ }
4646+4747+ /**
4848+ * Get a specific tile from a world
4949+ *
5050+ * @example
5151+ * ```
5252+ * await client.world.getTile("messenger", "vagrant.png")
5353+ * ```
5454+ *
5555+ * @returns {Promise<string>} An image of a world tile
5656+ */
5757+ public getTile(options: WorldOptions): Promise<string> {
5858+ return this.get(
5959+ `/image/world/${options.worldFileName}${options.tileX}-${options.tileY}-0.png`
6060+ );
6161+ }
6262+}
···11+{
22+ "compilerOptions": {
33+ /* Visit https://aka.ms/tsconfig to read more about this file */
44+55+ /* Projects */
66+ // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
77+ // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
88+ // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
99+ // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
1010+ // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
1111+ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
1212+1313+ /* Language and Environment */
1414+ "target": "es2016",
1515+ /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
1616+ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
1717+ // "jsx": "preserve", /* Specify what JSX code is generated. */
1818+ // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
1919+ // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
2020+ // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
2121+ // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
2222+ // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
2323+ // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
2424+ // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
2525+ // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
2626+ // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
2727+2828+ /* Modules */
2929+ "module": "commonjs",
3030+ /* Specify what module code is generated. */
3131+ // "rootDir": "./", /* Specify the root folder within your source files. */
3232+ // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
3333+ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
3434+ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
3535+ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
3636+ // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
3737+ // "types": [], /* Specify type package names to be included without being referenced in a source file. */
3838+ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
3939+ // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
4040+ // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
4141+ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
4242+ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
4343+ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
4444+ // "resolveJsonModule": true, /* Enable importing .json files. */
4545+ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
4646+ // "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
4747+4848+ /* JavaScript Support */
4949+ // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
5050+ // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
5151+ // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
5252+5353+ /* Emit */
5454+ // "declaration": true /* Generate .d.ts files from TypeScript and JavaScript files in your project. */,
5555+ // "declarationMap": true, /* Create sourcemaps for d.ts files. */
5656+ // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
5757+ // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
5858+ // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
5959+ // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
6060+ // "outDir": "./", /* Specify an output folder for all emitted files. */
6161+ // "removeComments": true, /* Disable emitting comments. */
6262+ "noEmit": true,
6363+ /* Disable emitting files from a compilation. */
6464+ // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
6565+ // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */
6666+ // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
6767+ // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
6868+ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
6969+ // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
7070+ // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
7171+ // "newLine": "crlf", /* Set the newline character for emitting files. */
7272+ // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
7373+ // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
7474+ // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
7575+ // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
7676+ // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
7777+ // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
7878+7979+ /* Interop Constraints */
8080+ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
8181+ // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
8282+ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
8383+ "esModuleInterop": true,
8484+ /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
8585+ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
8686+ "forceConsistentCasingInFileNames": true,
8787+ /* Ensure that casing is correct in imports. */
8888+8989+ /* Type Checking */
9090+ "strict": true,
9191+ /* Enable all strict type-checking options. */
9292+ // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
9393+ // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
9494+ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
9595+ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
9696+ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
9797+ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
9898+ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
9999+ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
100100+ // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
101101+ // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
102102+ // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
103103+ // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
104104+ // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
105105+ // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
106106+ // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
107107+ // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
108108+ // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
109109+ // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
110110+111111+ /* Completeness */
112112+ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
113113+ "skipLibCheck": true /* Skip type checking all .d.ts files. */
114114+ }
115115+}