@rofishy/dailyrewards 1.0.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/.luaurc +7 -0
- package/.vscode/settings.json +20 -0
- package/README.md +23 -0
- package/aftman.toml +9 -0
- package/default.project.json +14 -0
- package/deploy.nevermore.json +10 -0
- package/package.json +42 -0
- package/pnpm-workspace.yaml +10 -0
- package/selene.toml +7 -0
- package/sourcemap.json +1 -0
- package/src/Server/DailyRewardsAdapter.lua +39 -0
- package/src/Server/DailyRewardsService.lua +131 -0
- package/src/Server/DailyRewardsService.spec.lua +174 -0
- package/src/jest.config.lua +3 -0
- package/src/node_modules.project.json +7 -0
- package/stylua.toml +5 -0
- package/test/default.project.json +25 -0
- package/test/scripts/Server/ServerMain.server.lua +13 -0
package/.luaurc
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files.exclude": {
|
|
3
|
+
"*.sublime-workspace": true,
|
|
4
|
+
"**/node_modules/**": true,
|
|
5
|
+
"roblox.toml": true
|
|
6
|
+
},
|
|
7
|
+
"luau-lsp.ignoreGlobs": ["**/node_modules/**"],
|
|
8
|
+
|
|
9
|
+
"[lua]": {
|
|
10
|
+
"editor.defaultFormatter": "JohnnyMorganz.stylua",
|
|
11
|
+
"editor.formatOnSave": true,
|
|
12
|
+
"editor.formatOnSaveMode": "file"
|
|
13
|
+
},
|
|
14
|
+
"[luau]": {
|
|
15
|
+
"editor.defaultFormatter": "JohnnyMorganz.stylua",
|
|
16
|
+
"editor.formatOnSave": true,
|
|
17
|
+
"editor.formatOnSaveMode": "file"
|
|
18
|
+
},
|
|
19
|
+
"cSpell.words": []
|
|
20
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
## Dailyrewards
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
<a href="http://quenty.github.io/NevermoreEngine/">
|
|
5
|
+
<img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/docs.yml/badge.svg" alt="Documentation status" />
|
|
6
|
+
</a>
|
|
7
|
+
<a href="https://discord.gg/mhtGUS8">
|
|
8
|
+
<img src="https://img.shields.io/discord/385151591524597761?color=5865F2&label=discord&logo=discord&logoColor=white" alt="Discord" />
|
|
9
|
+
</a>
|
|
10
|
+
<a href="https://github.com/Quenty/NevermoreEngine/actions">
|
|
11
|
+
<img src="https://github.com/Quenty/NevermoreEngine/actions/workflows/build.yml/badge.svg" alt="Build and release status" />
|
|
12
|
+
</a>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
System to handle daily rewards in-game
|
|
16
|
+
|
|
17
|
+
<div align="center"><a href="https://quenty.github.io/NevermoreEngine/api/DailyrewardsUtils">View docs →</a></div>
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
npm install @quenty/dailyrewards --save
|
|
23
|
+
```
|
package/aftman.toml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# This file lists tools managed by Aftman, a cross-platform toolchain manager.
|
|
2
|
+
# For more information, see https://github.com/LPGhatguy/aftman
|
|
3
|
+
[tools]
|
|
4
|
+
luau-lsp = "Quenty/luau-lsp@1.58.0-quenty.1"
|
|
5
|
+
lune = "lune-org/lune@0.10.4"
|
|
6
|
+
moonwave-extractor = "UpliftGames/moonwave@1.3.0"
|
|
7
|
+
rojo = "quenty/rojo@7.7.0-rc.1-quenty.4"
|
|
8
|
+
selene = "Kampfkarren/selene@0.29.0"
|
|
9
|
+
stylua = "johnnymorganz/stylua@2.1.0"
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rofishy/dailyrewards",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "System to handle daily rewards in-game",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"Roblox",
|
|
7
|
+
"Nevermore",
|
|
8
|
+
"Lua",
|
|
9
|
+
"dailyrewards"
|
|
10
|
+
],
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/Quenty/NevermoreEngine/issues"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/Quenty/NevermoreEngine.git",
|
|
17
|
+
"directory": "src/dailyrewards/"
|
|
18
|
+
},
|
|
19
|
+
"funding": {
|
|
20
|
+
"type": "patreon",
|
|
21
|
+
"url": "https://www.patreon.com/quenty"
|
|
22
|
+
},
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"scripts": {
|
|
25
|
+
"preinstall": "npx only-allow pnpm"
|
|
26
|
+
},
|
|
27
|
+
"contributors": [
|
|
28
|
+
"Quenty",
|
|
29
|
+
"RoFishy"
|
|
30
|
+
],
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@quenty/loader": "10.11.0",
|
|
33
|
+
"@quenty/maid": "^3.9.0",
|
|
34
|
+
"@quenty/nevermore-test-runner": "1.4.0",
|
|
35
|
+
"@quenty/promise": "^10.18.1",
|
|
36
|
+
"@quenty/servicebag": "^11.18.1",
|
|
37
|
+
"@quentystudios/jest-lua": "3.10.0-quenty.2"
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
}
|
|
42
|
+
}
|
package/selene.toml
ADDED
package/sourcemap.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"dailyrewards","className":"Folder","filePaths":["default.project.json"],"children":[{"name":"Client","className":"Folder"},{"name":"Server","className":"Folder","children":[{"name":"DailyRewardsAdapter","className":"ModuleScript","filePaths":["src/Server/DailyRewardsAdapter.lua"]},{"name":"DailyRewardsService","className":"ModuleScript","filePaths":["src/Server/DailyRewardsService.lua"]},{"name":"DailyRewardsService.spec","className":"ModuleScript","filePaths":["src/Server/DailyRewardsService.spec.lua"]}]},{"name":"Shared","className":"Folder"},{"name":"jest.config","className":"ModuleScript","filePaths":["src/jest.config.lua"]},{"name":"node_modules","className":"Folder","filePaths":["src/node_modules.project.json"],"children":[{"name":"@quenty","className":"Folder","children":[{"name":"loader","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/init.lua","node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/default.project.json"],"children":[{"name":"Dependencies","className":"Folder","children":[{"name":"DependencyUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Dependencies/DependencyUtils.lua"]},{"name":"PackageTracker","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Dependencies/PackageTracker.lua"]},{"name":"PackageTrackerProvider","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Dependencies/PackageTrackerProvider.lua"]}]},{"name":"GlobalPackageTracker.global","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/GlobalPackageTracker.global.lua"]},{"name":"LoaderLink","className":"Folder","children":[{"name":"LoaderLink","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/LoaderLink/LoaderLink.lua"]},{"name":"LoaderLinkCreator","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/LoaderLink/LoaderLinkCreator.lua"]},{"name":"LoaderLinkUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/LoaderLink/LoaderLinkUtils.lua"]}]},{"name":"LoaderUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/LoaderUtils.lua"]},{"name":"Maid","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Maid.lua"]},{"name":"Replication","className":"Folder","children":[{"name":"ReplicationType","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Replication/ReplicationType.lua"]},{"name":"ReplicationTypeUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Replication/ReplicationTypeUtils.lua"]},{"name":"Replicator","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Replication/Replicator.lua"]},{"name":"ReplicatorReferences","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Replication/ReplicatorReferences.lua"]}]},{"name":"Utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+loader@10.11.0/node_modules/@quenty/loader/src/Utils.lua"]}]},{"name":"maid","className":"Folder","filePaths":["node_modules/.pnpm/@quenty+maid@3.9.0/node_modules/@quenty/maid/default.project.json"],"children":[{"name":"Shared","className":"Folder","children":[{"name":"Maid","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+maid@3.9.0/node_modules/@quenty/maid/src/Shared/Maid.lua"]},{"name":"Maid.story","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+maid@3.9.0/node_modules/@quenty/maid/src/Shared/Maid.story.lua"]},{"name":"MaidTaskUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+maid@3.9.0/node_modules/@quenty/maid/src/Shared/MaidTaskUtils.lua"]},{"name":"MaidTaskUtils.spec","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+maid@3.9.0/node_modules/@quenty/maid/src/Shared/MaidTaskUtils.spec.lua"]}]},{"name":"jest.config","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+maid@3.9.0/node_modules/@quenty/maid/src/jest.config.lua"]}]},{"name":"nevermore-test-runner","className":"Folder","filePaths":["node_modules/.pnpm/@quenty+nevermore-test-runner@1.4.0/node_modules/@quenty/nevermore-test-runner/default.project.json"],"children":[{"name":"Server","className":"Folder","children":[{"name":"NevermoreTestRunnerUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+nevermore-test-runner@1.4.0/node_modules/@quenty/nevermore-test-runner/src/Server/NevermoreTestRunnerUtils.lua"]}]}]},{"name":"promise","className":"Folder","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/default.project.json"],"children":[{"name":"Shared","className":"Folder","children":[{"name":"Promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/Promise.lua"]},{"name":"PromiseRetryUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/PromiseRetryUtils.lua"]},{"name":"PromiseUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/PromiseUtils.lua"]},{"name":"Utility","className":"Folder","children":[{"name":"PendingPromiseTracker","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/Utility/PendingPromiseTracker.lua"]},{"name":"PromiseInstanceUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/Utility/PromiseInstanceUtils.lua"]},{"name":"promiseChild","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/Utility/promiseChild.lua"]},{"name":"promisePropertyValue","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/Utility/promisePropertyValue.lua"]},{"name":"promiseWait","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+promise@10.18.1/node_modules/@quenty/promise/src/Shared/Utility/promiseWait.lua"]}]}]}]},{"name":"servicebag","className":"Folder","filePaths":["node_modules/.pnpm/@quenty+servicebag@11.18.1/node_modules/@quenty/servicebag/default.project.json"],"children":[{"name":"Shared","className":"Folder","children":[{"name":"ServiceBag","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+servicebag@11.18.1/node_modules/@quenty/servicebag/src/Shared/ServiceBag.lua"]},{"name":"ServiceInitLogger","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quenty+servicebag@11.18.1/node_modules/@quenty/servicebag/src/Shared/ServiceInitLogger.lua"]}]}]}]},{"name":"@quentystudios","className":"Folder","children":[{"name":"Jest","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/default.project.json"],"children":[{"name":"Jest","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/Jest.lua"]},{"name":"JestGlobals","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/JestGlobals.lua"]},{"name":"_Index","className":"Folder","children":[{"name":"jsdotlua_boolean@1.2.7","className":"Folder","children":[{"name":"boolean","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_boolean@1.2.7/boolean/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_boolean@1.2.7/boolean/default.project.json"],"children":[{"name":"toJSBoolean","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_boolean@1.2.7/boolean/src/toJSBoolean.lua"]}]},{"name":"number","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_boolean@1.2.7/number.lua"]}]},{"name":"jsdotlua_chalk@0.2.1","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_chalk@0.2.1/chalk/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_chalk@0.2.1/chalk/default.project.json"],"children":[{"name":"__tests__","className":"Folder","children":[{"name":"chalk.spec","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_chalk@0.2.1/chalk/src/__tests__/chalk.spec.lua"]}]}]}]},{"name":"jsdotlua_collections@1.2.7","className":"Folder","children":[{"name":"collections","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/default.project.json"],"children":[{"name":"Array","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/init.lua"],"children":[{"name":"concat","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/concat.lua"]},{"name":"every","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/every.lua"]},{"name":"filter","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/filter.lua"]},{"name":"find","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/find.lua"]},{"name":"findIndex","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/findIndex.lua"]},{"name":"flat","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/flat.lua"]},{"name":"flatMap","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/flatMap.lua"]},{"name":"forEach","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/forEach.lua"]},{"name":"from","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/from/init.lua"],"children":[{"name":"fromArray","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/from/fromArray.lua"]},{"name":"fromMap","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/from/fromMap.lua"]},{"name":"fromSet","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/from/fromSet.lua"]},{"name":"fromString","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/from/fromString.lua"]}]},{"name":"includes","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/includes.lua"]},{"name":"indexOf","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/indexOf.lua"]},{"name":"isArray","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/isArray.lua"]},{"name":"join","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/join.lua"]},{"name":"map","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/map.lua"]},{"name":"reduce","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/reduce.lua"]},{"name":"reverse","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/reverse.lua"]},{"name":"shift","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/shift.lua"]},{"name":"slice","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/slice.lua"]},{"name":"some","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/some.lua"]},{"name":"sort","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/sort.lua"]},{"name":"splice","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/splice.lua"]},{"name":"unshift","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Array/unshift.lua"]}]},{"name":"Map","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Map/init.lua"],"children":[{"name":"Map","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Map/Map.lua"]},{"name":"coerceToMap","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Map/coerceToMap.lua"]},{"name":"coerceToTable","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Map/coerceToTable.lua"]}]},{"name":"Object","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/init.lua"],"children":[{"name":"None","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/None.lua"]},{"name":"assign","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/assign.lua"]},{"name":"entries","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/entries.lua"]},{"name":"freeze","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/freeze.lua"]},{"name":"is","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/is.lua"]},{"name":"isFrozen","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/isFrozen.lua"]},{"name":"keys","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/keys.lua"]},{"name":"preventExtensions","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/preventExtensions.lua"]},{"name":"seal","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/seal.lua"]},{"name":"values","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Object/values.lua"]}]},{"name":"Set","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/Set/init.lua"]},{"name":"WeakMap","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/WeakMap.lua"]},{"name":"inspect","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/collections/src/inspect.lua"]}]},{"name":"es7-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/es7-types.lua"]},{"name":"instance-of","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_collections@1.2.7/instance-of.lua"]}]},{"name":"jsdotlua_console@1.2.7","className":"Folder","children":[{"name":"collections","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_console@1.2.7/collections.lua"]},{"name":"console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_console@1.2.7/console/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_console@1.2.7/console/default.project.json"],"children":[{"name":"makeConsoleImpl","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_console@1.2.7/console/src/makeConsoleImpl.lua"]}]}]},{"name":"jsdotlua_diff-sequences@3.10.0","className":"Folder","children":[{"name":"diff-sequences","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_diff-sequences@3.10.0/diff-sequences/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_diff-sequences@3.10.0/diff-sequences/default.project.json"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_diff-sequences@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_emittery@3.10.0","className":"Folder","children":[{"name":"emittery","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_emittery@3.10.0/emittery/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_emittery@3.10.0/emittery/default.project.json"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_emittery@3.10.0/luau-polyfill.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_emittery@3.10.0/promise.lua"]}]},{"name":"jsdotlua_es7-types@1.2.7","className":"Folder","children":[{"name":"es7-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_es7-types@1.2.7/es7-types/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_es7-types@1.2.7/es7-types/default.project.json"]}]},{"name":"jsdotlua_expect@3.10.0","className":"Folder","children":[{"name":"expect","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/default.project.json"],"children":[{"name":"asymmetricMatchers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/asymmetricMatchers.lua"]},{"name":"extractExpectedAssertionsErrors","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/extractExpectedAssertionsErrors.lua"]},{"name":"jasmineUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/jasmineUtils.lua"]},{"name":"jestMatchersObject","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/jestMatchersObject.lua"]},{"name":"jestMatchersObject_extracted","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/jestMatchersObject_extracted.lua"]},{"name":"matchers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/matchers.lua"]},{"name":"print","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/print.lua"]},{"name":"spyMatchers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/spyMatchers.lua"]},{"name":"toThrowMatchers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/toThrowMatchers.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/types.lua"]},{"name":"utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/expect/src/utils.lua"]}]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/jest-get-type.lua"]},{"name":"jest-matcher-utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/jest-matcher-utils.lua"]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/jest-message-util.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-snapshot","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/jest-snapshot.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/jest-util.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/luau-regexp.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_expect@3.10.0/promise.lua"]}]},{"name":"jsdotlua_instance-of@1.2.7","className":"Folder","children":[{"name":"instance-of","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_instance-of@1.2.7/instance-of/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_instance-of@1.2.7/instance-of/default.project.json"],"children":[{"name":"instanceof","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_instance-of@1.2.7/instance-of/src/instanceof.lua"]}]}]},{"name":"jsdotlua_jest-circus@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/chalk.lua"]},{"name":"expect","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/expect.lua"]},{"name":"jest-circus","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/default.project.json"],"children":[{"name":"circus","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/init.lua"],"children":[{"name":"__mocks__","className":"Folder","children":[{"name":"Module","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/__mocks__/Module/init.lua"]},{"name":"testEventHandler","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/__mocks__/testEventHandler.lua"]},{"name":"testUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/__mocks__/testUtils.lua"]}]},{"name":"combined","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/combined.lua"]},{"name":"eventHandler","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/eventHandler.lua"]},{"name":"formatNodeAssertErrors","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/formatNodeAssertErrors.lua"]},{"name":"globalErrorHandlers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/globalErrorHandlers.lua"]},{"name":"legacy-code-todo-rewrite","className":"Folder","children":[{"name":"jestAdapter","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/legacy-code-todo-rewrite/jestAdapter.lua"]},{"name":"jestAdapterInit","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/legacy-code-todo-rewrite/jestAdapterInit.lua"]},{"name":"jestExpect","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/legacy-code-todo-rewrite/jestExpect.lua"]},{"name":"temporarySnapshotData","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/legacy-code-todo-rewrite/temporarySnapshotData.lua"]}]},{"name":"run","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/run.lua"]},{"name":"state","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/state.lua"]},{"name":"state_","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/state_.lua"]},{"name":"testCaseReportHandler","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/testCaseReportHandler.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/types.lua"]},{"name":"utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/circus/utils.lua"]}]},{"name":"runner","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-circus/src/runner.lua"]}]},{"name":"jest-each","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-each.lua"]},{"name":"jest-environment","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-environment.lua"]},{"name":"jest-matcher-utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-matcher-utils.lua"]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-message-util.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-runtime","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-runtime.lua"]},{"name":"jest-snapshot","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-snapshot.lua"]},{"name":"jest-test-result","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-test-result.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/jest-util.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/luau-regexp.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/pretty-format.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/promise.lua"]},{"name":"throat","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-circus@3.10.0/throat.lua"]}]},{"name":"jsdotlua_jest-config@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/chalk.lua"]},{"name":"jest-config","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/default.project.json"],"children":[{"name":"Defaults","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/Defaults.lua"]},{"name":"ReporterValidationErrors","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/ReporterValidationErrors.lua"]},{"name":"color","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/color.lua"]},{"name":"constants","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/constants.lua"]},{"name":"getMaxWorkers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/getMaxWorkers.lua"]},{"name":"normalize","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/normalize.lua"]},{"name":"parseShardPair","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/parseShardPair.lua"]},{"name":"readConfigFileAndSetRootDir","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/readConfigFileAndSetRootDir.lua"]},{"name":"resolveConfigPath","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/resolveConfigPath.lua"]},{"name":"setFromArgv","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/setFromArgv.lua"]},{"name":"utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/utils.lua"]},{"name":"validatePattern","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-config/src/validatePattern.lua"]}]},{"name":"jest-each","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-each.lua"]},{"name":"jest-environment-roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-environment-roblox.lua"]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-get-type.lua"]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-message-util.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-util.lua"]},{"name":"jest-validate","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/jest-validate.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/luau-regexp.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-config@3.10.0/promise.lua"]}]},{"name":"jsdotlua_jest-console@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/chalk.lua"]},{"name":"jest-console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/default.project.json"],"children":[{"name":"BufferedConsole","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/BufferedConsole.lua"]},{"name":"Console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/Console.lua"]},{"name":"CustomConsole","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/CustomConsole.lua"]},{"name":"NullConsole","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/NullConsole.lua"]},{"name":"getConsoleOutput","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/getConsoleOutput.lua"]},{"name":"helpers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/helpers.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-console/src/types.lua"]}]},{"name":"jest-each","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-each.lua"]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-message-util.lua"]},{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-mock.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/jest-util.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-console@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-core@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/chalk.lua"]},{"name":"emittery","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/emittery.lua"]},{"name":"jest-config","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-config.lua"]},{"name":"jest-console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-console.lua"]},{"name":"jest-core","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/default.project.json"],"children":[{"name":"ReporterDispatcher","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/ReporterDispatcher.lua"]},{"name":"SearchSource","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/SearchSource.lua"]},{"name":"TestScheduler","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/TestScheduler.lua"]},{"name":"TestWatcher","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/TestWatcher.lua"]},{"name":"cli","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/cli/init.lua"]},{"name":"collectHandles","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/collectHandles.lua"]},{"name":"getChangedFilesPromise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getChangedFilesPromise.lua"]},{"name":"getConfigsOfProjectsToRun","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getConfigsOfProjectsToRun.lua"]},{"name":"getNoTestFound","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getNoTestFound.lua"]},{"name":"getNoTestFoundPassWithNoTests","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getNoTestFoundPassWithNoTests.lua"]},{"name":"getNoTestFoundVerbose","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getNoTestFoundVerbose.lua"]},{"name":"getNoTestsFoundMessage","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getNoTestsFoundMessage.lua"]},{"name":"getProjectDisplayName","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getProjectDisplayName.lua"]},{"name":"getProjectNamesMissingWarning","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getProjectNamesMissingWarning.lua"]},{"name":"getSelectProjectsMessage","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/getSelectProjectsMessage.lua"]},{"name":"jsHelpers","className":"Folder","children":[{"name":"stripAnsi","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/jsHelpers/stripAnsi.lua"]}]},{"name":"lib","className":"Folder","children":[{"name":"createContext","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/lib/createContext.lua"]},{"name":"logDebugMessages","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/lib/logDebugMessages.lua"]}]},{"name":"pluralize","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/pluralize.lua"]},{"name":"runJest","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/runJest.lua"]},{"name":"testSchedulerHelper","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/testSchedulerHelper.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-core/src/types.lua"]}]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-message-util.lua"]},{"name":"jest-reporters","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-reporters.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-runner","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-runner.lua"]},{"name":"jest-runtime","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-runtime.lua"]},{"name":"jest-snapshot","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-snapshot.lua"]},{"name":"jest-test-result","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-test-result.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/jest-util.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/luau-regexp.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/pretty-format.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-core@3.10.0/promise.lua"]}]},{"name":"jsdotlua_jest-diff@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/chalk.lua"]},{"name":"diff-sequences","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/diff-sequences.lua"]},{"name":"jest-diff","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/default.project.json"],"children":[{"name":"CleanupSemantic","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/CleanupSemantic.lua"]},{"name":"Constants","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/Constants.lua"]},{"name":"DiffLines","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/DiffLines.lua"]},{"name":"DiffStrings","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/DiffStrings.lua"]},{"name":"GetAlignedDiffs","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/GetAlignedDiffs.lua"]},{"name":"JoinAlignedDiffs","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/JoinAlignedDiffs.lua"]},{"name":"NormalizeDiffOptions","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/NormalizeDiffOptions.lua"]},{"name":"PrettyFormat","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/PrettyFormat.lua"]},{"name":"PrintDiffs","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/PrintDiffs.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-diff/src/types.lua"]}]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-get-type.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/luau-polyfill.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-diff@3.10.0/pretty-format.lua"]}]},{"name":"jsdotlua_jest-each@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/chalk.lua"]},{"name":"jest-each","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/default.project.json"],"children":[{"name":"bind","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/bind.lua"]},{"name":"nilPlaceholder","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/nilPlaceholder.lua"]},{"name":"table","className":"Folder","children":[{"name":"array","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/table/array.lua"]},{"name":"format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/table/format.lua"]},{"name":"interpolation","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/table/interpolation.lua"]},{"name":"template","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/table/template.lua"]}]},{"name":"validation","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-each/src/validation.lua"]}]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-get-type.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/jest-util.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/luau-regexp.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-each@3.10.0/pretty-format.lua"]}]},{"name":"jsdotlua_jest-environment-roblox@3.10.0","className":"Folder","children":[{"name":"jest-environment-roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/jest-environment-roblox/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/jest-environment-roblox/default.project.json"]},{"name":"jest-environment","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/jest-environment.lua"]},{"name":"jest-fake-timers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/jest-fake-timers.lua"]},{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/jest-mock.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/luau-polyfill.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment-roblox@3.10.0/promise.lua"]}]},{"name":"jsdotlua_jest-environment@3.10.0","className":"Folder","children":[{"name":"jest-environment","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment@3.10.0/jest-environment/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment@3.10.0/jest-environment/default.project.json"]},{"name":"jest-fake-timers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment@3.10.0/jest-fake-timers.lua"]},{"name":"jest-mock-genv","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment@3.10.0/jest-mock-genv.lua"]},{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment@3.10.0/jest-mock.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-environment@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-fake-timers@3.10.0","className":"Folder","children":[{"name":"jest-fake-timers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-fake-timers@3.10.0/jest-fake-timers/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-fake-timers@3.10.0/jest-fake-timers/default.project.json"]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-fake-timers@3.10.0/jest-get-type.lua"]},{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-fake-timers@3.10.0/jest-mock.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-fake-timers@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-get-type@3.10.0","className":"Folder","children":[{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-get-type@3.10.0/jest-get-type/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-get-type@3.10.0/jest-get-type/default.project.json"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-get-type@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-get-type@3.10.0/luau-regexp.lua"]}]},{"name":"jsdotlua_jest-globals@3.10.0","className":"Folder","children":[{"name":"expect","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-globals@3.10.0/expect.lua"]},{"name":"jest-environment","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-globals@3.10.0/jest-environment.lua"]},{"name":"jest-globals","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-globals@3.10.0/jest-globals/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-globals@3.10.0/jest-globals/default.project.json"],"children":[{"name":"index","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-globals@3.10.0/jest-globals/src/index.lua"]}]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-globals@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-globals@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-matcher-utils@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/chalk.lua"]},{"name":"jest-diff","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/jest-diff.lua"]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/jest-get-type.lua"]},{"name":"jest-matcher-utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/jest-matcher-utils/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/jest-matcher-utils/default.project.json"],"children":[{"name":"Replaceable","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/jest-matcher-utils/src/Replaceable.lua"]},{"name":"deepCyclicCopyReplaceable","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/jest-matcher-utils/src/deepCyclicCopyReplaceable.lua"]}]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/luau-regexp.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-matcher-utils@3.10.0/pretty-format.lua"]}]},{"name":"jsdotlua_jest-message-util@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/chalk.lua"]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/jest-message-util/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/jest-message-util/default.project.json"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/luau-regexp.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-message-util@3.10.0/pretty-format.lua"]}]},{"name":"jsdotlua_jest-mock-genv@3.10.0","className":"Folder","children":[{"name":"jest-mock-genv","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock-genv@3.10.0/jest-mock-genv/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock-genv@3.10.0/jest-mock-genv/default.project.json"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock-genv@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-mock@3.10.0","className":"Folder","children":[{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock@3.10.0/jest-mock/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock@3.10.0/jest-mock/default.project.json"]},{"name":"jest-mock-genv","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock@3.10.0/jest-mock-genv.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-mock@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-reporters@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/chalk.lua"]},{"name":"jest-console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-console.lua"]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-message-util.lua"]},{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-mock.lua"]},{"name":"jest-reporters","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/default.project.json"],"children":[{"name":"BaseReporter","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/BaseReporter.lua"]},{"name":"DefaultReporter","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/DefaultReporter.lua"]},{"name":"Status","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/Status.lua"]},{"name":"SummaryReporter","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/SummaryReporter.lua"]},{"name":"VerboseReporter","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/VerboseReporter.lua"]},{"name":"getResultHeader","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/getResultHeader.lua"]},{"name":"getSnapshotStatus","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/getSnapshotStatus.lua"]},{"name":"getSnapshotSummary","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/getSnapshotSummary.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/types.lua"]},{"name":"utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-reporters/src/utils.lua"]}]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-test-result","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-test-result.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/jest-util.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/luau-polyfill.lua"]},{"name":"path","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-reporters@3.10.0/path.lua"]}]},{"name":"jsdotlua_jest-roblox-shared@3.10.0","className":"Folder","children":[{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-get-type.lua"]},{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-mock.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/default.project.json"],"children":[{"name":"RobloxApiDump","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/RobloxApiDump.lua"]},{"name":"RobloxInstance","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/RobloxInstance.lua"]},{"name":"Writeable","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/Writeable.lua"]},{"name":"cleanLoadStringStack","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/cleanLoadStringStack.lua"]},{"name":"dedent","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/dedent.lua"]},{"name":"ensureDirectoryExists","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/ensureDirectoryExists.lua"]},{"name":"escapePatternCharacters","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/escapePatternCharacters.lua"]},{"name":"expect","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/expect.lua"]},{"name":"getDataModelService","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/getDataModelService.lua"]},{"name":"getParent","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/getParent.lua"]},{"name":"getRelativePath","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/getRelativePath.lua"]},{"name":"nodeUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/nodeUtils.lua"]},{"name":"normalizePromiseError","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/normalizePromiseError.lua"]},{"name":"pruneDeps","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/pruneDeps.lua"]},{"name":"redactStackTrace","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/jest-roblox-shared/src/redactStackTrace.lua"]}]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-roblox-shared@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-runner@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/chalk.lua"]},{"name":"emittery","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/emittery.lua"]},{"name":"jest-circus","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-circus.lua"]},{"name":"jest-console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-console.lua"]},{"name":"jest-environment","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-environment.lua"]},{"name":"jest-message-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-message-util.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-runner","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-runner/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-runner/default.project.json"],"children":[{"name":"runTest","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-runner/src/runTest.lua"]},{"name":"testWorker","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-runner/src/testWorker.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-runner/src/types.lua"]}]},{"name":"jest-runtime","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-runtime.lua"]},{"name":"jest-test-result","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-test-result.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/jest-util.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/luau-polyfill.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/pretty-format.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/promise.lua"]},{"name":"throat","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runner@3.10.0/throat.lua"]}]},{"name":"jsdotlua_jest-runtime@3.10.0","className":"Folder","children":[{"name":"emittery","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/emittery.lua"]},{"name":"expect","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/expect.lua"]},{"name":"jest-fake-timers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-fake-timers.lua"]},{"name":"jest-mock-genv","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-mock-genv.lua"]},{"name":"jest-mock","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-mock.lua"]},{"name":"jest-runtime","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-runtime/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-runtime/default.project.json"],"children":[{"name":"__mocks__","className":"Folder","children":[{"name":"createRuntime","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-runtime/src/__mocks__/createRuntime.lua"]}]},{"name":"_types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-runtime/src/_types.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-runtime/src/types.lua"]}]},{"name":"jest-snapshot","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-snapshot.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/luau-polyfill.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-runtime@3.10.0/promise.lua"]}]},{"name":"jsdotlua_jest-snapshot@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/chalk.lua"]},{"name":"jest-diff","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-diff.lua"]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-get-type.lua"]},{"name":"jest-matcher-utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-matcher-utils.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-snapshot","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/default.project.json"],"children":[{"name":"PrettyFormat","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/PrettyFormat.lua"]},{"name":"SnapshotResolver","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/SnapshotResolver.lua"]},{"name":"State","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/State.lua"]},{"name":"colors","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/colors.lua"]},{"name":"dedentLines","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/dedentLines.lua"]},{"name":"mockSerializer","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/mockSerializer.lua"]},{"name":"plugins","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/plugins.lua"]},{"name":"printSnapshot","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/printSnapshot.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/types.lua"]},{"name":"utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-snapshot/src/utils.lua"]}]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/luau-polyfill.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/pretty-format.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-snapshot@3.10.0/promise.lua"]}]},{"name":"jsdotlua_jest-test-result@3.10.0","className":"Folder","children":[{"name":"jest-test-result","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-test-result@3.10.0/jest-test-result/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-test-result@3.10.0/jest-test-result/default.project.json"],"children":[{"name":"formatTestResults","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-test-result@3.10.0/jest-test-result/src/formatTestResults.lua"]},{"name":"helpers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-test-result@3.10.0/jest-test-result/src/helpers.lua"]},{"name":"types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-test-result@3.10.0/jest-test-result/src/types.lua"]}]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-test-result@3.10.0/jest-types.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-test-result@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest-types@3.10.0","className":"Folder","children":[{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/jest-types/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/jest-types/default.project.json"],"children":[{"name":"Circus","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/jest-types/src/Circus.lua"]},{"name":"Config","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/jest-types/src/Config.lua"]},{"name":"Global","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/jest-types/src/Global.lua"]},{"name":"TestResult","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/jest-types/src/TestResult.lua"]},{"name":"Transform","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/jest-types/src/Transform.lua"]}]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-types@3.10.0/luau-regexp.lua"]}]},{"name":"jsdotlua_jest-util@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/chalk.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-roblox-shared.lua"]},{"name":"jest-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-types.lua"]},{"name":"jest-util","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/default.project.json"],"children":[{"name":"ErrorWithStack","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/ErrorWithStack.lua"]},{"name":"clearLine","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/clearLine.lua"]},{"name":"convertDescriptorToString","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/convertDescriptorToString.lua"]},{"name":"createDirectory","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/createDirectory.lua"]},{"name":"createProcessObject","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/createProcessObject.lua"]},{"name":"deepCyclicCopy","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/deepCyclicCopy.lua"]},{"name":"formatTime","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/formatTime.lua"]},{"name":"getFileSystemService","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/getFileSystemService.lua"]},{"name":"globsToMatcher","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/globsToMatcher.lua"]},{"name":"installCommonGlobals","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/installCommonGlobals.lua"]},{"name":"interopRequireDefault","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/interopRequireDefault.lua"]},{"name":"isInteractive","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/isInteractive.lua"]},{"name":"isPromise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/isPromise.lua"]},{"name":"pluralize","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/pluralize.lua"]},{"name":"preRunMessage","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/preRunMessage.lua"]},{"name":"replacePathSepForGlob","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/replacePathSepForGlob.lua"]},{"name":"requireOrImportModule","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/requireOrImportModule.lua"]},{"name":"setGlobal","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/setGlobal.lua"]},{"name":"specialChars","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/specialChars.lua"]},{"name":"testPathPatternToRegExp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/testPathPatternToRegExp.lua"]},{"name":"tryRealpath","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/jest-util/src/tryRealpath.lua"]}]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/luau-regexp.lua"]},{"name":"picomatch","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/picomatch.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-util@3.10.0/promise.lua"]}]},{"name":"jsdotlua_jest-validate@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-validate@3.10.0/chalk.lua"]},{"name":"jest-validate","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-validate@3.10.0/jest-validate/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-validate@3.10.0/jest-validate/default.project.json"],"children":[{"name":"utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-validate@3.10.0/jest-validate/src/utils.lua"]}]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest-validate@3.10.0/luau-polyfill.lua"]}]},{"name":"jsdotlua_jest@3.10.0","className":"Folder","children":[{"name":"jest","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest@3.10.0/jest/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest@3.10.0/jest/default.project.json"]},{"name":"jest-core","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_jest@3.10.0/jest-core.lua"]}]},{"name":"jsdotlua_luau-polyfill@1.2.7","className":"Folder","children":[{"name":"boolean","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/boolean.lua"]},{"name":"collections","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/collections.lua"]},{"name":"console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/console.lua"]},{"name":"es7-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/es7-types.lua"]},{"name":"instance-of","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/instance-of.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/default.project.json"],"children":[{"name":"AssertionError","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/AssertionError/init.lua"],"children":[{"name":"AssertionError.global","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/AssertionError/AssertionError.global.lua"]}]},{"name":"Error","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/Error/init.lua"],"children":[{"name":"Error.global","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/Error/Error.global.lua"]}]},{"name":"Promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/Promise.lua"]},{"name":"encodeURIComponent","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/encodeURIComponent.lua"]},{"name":"extends","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/luau-polyfill/src/extends.lua"]}]},{"name":"math","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/math.lua"]},{"name":"number","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/number.lua"]},{"name":"string","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/string.lua"]},{"name":"symbol-luau","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/symbol-luau.lua"]},{"name":"timers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-polyfill@1.2.7/timers.lua"]}]},{"name":"jsdotlua_luau-regexp@0.2.1","className":"Folder","children":[{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-regexp@0.2.1/luau-regexp/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-regexp@0.2.1/luau-regexp/default.project.json"],"children":[{"name":"RegEx","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-regexp@0.2.1/luau-regexp/src/RegEx/init.lua"]},{"name":"Regexp.global","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_luau-regexp@0.2.1/luau-regexp/src/Regexp.global.lua"]}]}]},{"name":"jsdotlua_math@1.2.7","className":"Folder","children":[{"name":"math","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_math@1.2.7/math/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_math@1.2.7/math/default.project.json"],"children":[{"name":"clz32","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_math@1.2.7/math/src/clz32.lua"]}]}]},{"name":"jsdotlua_number@1.2.7","className":"Folder","children":[{"name":"number","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/default.project.json"],"children":[{"name":"MAX_SAFE_INTEGER","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/MAX_SAFE_INTEGER.lua"]},{"name":"MIN_SAFE_INTEGER","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/MIN_SAFE_INTEGER.lua"]},{"name":"isFinite","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/isFinite.lua"]},{"name":"isInteger","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/isInteger.lua"]},{"name":"isNaN","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/isNaN.lua"]},{"name":"isSafeInteger","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/isSafeInteger.lua"]},{"name":"toExponential","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_number@1.2.7/number/src/toExponential.lua"]}]}]},{"name":"jsdotlua_path@3.10.0","className":"Folder","children":[{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_path@3.10.0/luau-polyfill.lua"]},{"name":"path","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_path@3.10.0/path/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_path@3.10.0/path/default.project.json"],"children":[{"name":"path","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_path@3.10.0/path/src/path.lua"]}]}]},{"name":"jsdotlua_picomatch@0.4.0","className":"Folder","children":[{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/luau-regexp.lua"]},{"name":"picomatch","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/default.project.json"],"children":[{"name":"constants","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/src/constants.lua"]},{"name":"parse","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/src/parse.lua"]},{"name":"picomatch","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/src/picomatch.lua"]},{"name":"scan","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/src/scan.lua"]},{"name":"stringUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/src/stringUtils.lua"]},{"name":"utils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/picomatch/src/utils.lua"]}]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_picomatch@0.4.0/promise.lua"]}]},{"name":"jsdotlua_pretty-format@3.10.0","className":"Folder","children":[{"name":"chalk","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/chalk.lua"]},{"name":"jest-get-type","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/jest-get-type.lua"]},{"name":"jest-roblox-shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/jest-roblox-shared.lua"]},{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/luau-polyfill.lua"]},{"name":"luau-regexp","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/luau-regexp.lua"]},{"name":"pretty-format","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/default.project.json"],"children":[{"name":"Collections","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/Collections.lua"]},{"name":"Types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/Types.lua"]},{"name":"plugins","className":"Folder","children":[{"name":"AsymmetricMatcher","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/AsymmetricMatcher.lua"]},{"name":"ConvertAnsi","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/ConvertAnsi.lua"]},{"name":"ReactElement","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/ReactElement.lua"]},{"name":"ReactTestComponent","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/ReactTestComponent.lua"]},{"name":"RedactStackTraces","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/RedactStackTraces.lua"]},{"name":"RobloxInstance","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/RobloxInstance.lua"]},{"name":"lib","className":"Folder","children":[{"name":"escapeHTML","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/lib/escapeHTML.lua"]},{"name":"markup","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/pretty-format/src/plugins/lib/markup.lua"]}]}]}]},{"name":"react-is","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_pretty-format@3.10.0/react-is.lua"]}]},{"name":"jsdotlua_promise@3.5.2","className":"Folder","children":[{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_promise@3.5.2/promise/lib/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_promise@3.5.2/promise/default.project.json"],"children":[{"name":"init.spec","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_promise@3.5.2/promise/lib/init.spec.lua"]}]}]},{"name":"jsdotlua_react-is@17.2.1","className":"Folder","children":[{"name":"react-is","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_react-is@17.2.1/react-is/src/init.luau","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_react-is@17.2.1/react-is/default.project.json"]},{"name":"shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_react-is@17.2.1/shared.lua"]}]},{"name":"jsdotlua_shared@17.2.1","className":"Folder","children":[{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/luau-polyfill.lua"]},{"name":"shared","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/init.luau","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/default.project.json"],"children":[{"name":"ConsolePatchingDev.roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ConsolePatchingDev.roblox.luau"]},{"name":"ErrorHandling.roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ErrorHandling.roblox.luau"]},{"name":"ExecutionEnvironment","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ExecutionEnvironment.luau"]},{"name":"PropMarkers","className":"Folder","children":[{"name":"Change","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/PropMarkers/Change.luau"]},{"name":"Event","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/PropMarkers/Event.luau"]},{"name":"Tag","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/PropMarkers/Tag.luau"]}]},{"name":"ReactComponentStackFrame","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactComponentStackFrame.luau"]},{"name":"ReactElementType","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactElementType.luau"]},{"name":"ReactErrorUtils","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactErrorUtils.luau"]},{"name":"ReactFeatureFlags","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactFeatureFlags.luau"]},{"name":"ReactFiberHostConfig","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactFiberHostConfig/init.luau"],"children":[{"name":"WithNoHydration","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactFiberHostConfig/WithNoHydration.luau"]},{"name":"WithNoPersistence","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactFiberHostConfig/WithNoPersistence.luau"]},{"name":"WithNoTestSelectors","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactFiberHostConfig/WithNoTestSelectors.luau"]}]},{"name":"ReactInstanceMap","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactInstanceMap.luau"]},{"name":"ReactSharedInternals","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactSharedInternals/init.luau"],"children":[{"name":"IsSomeRendererActing","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactSharedInternals/IsSomeRendererActing.luau"]},{"name":"ReactCurrentBatchConfig","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactSharedInternals/ReactCurrentBatchConfig.luau"]},{"name":"ReactCurrentDispatcher","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactSharedInternals/ReactCurrentDispatcher.luau"]},{"name":"ReactCurrentOwner","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactSharedInternals/ReactCurrentOwner.luau"]},{"name":"ReactDebugCurrentFrame","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactSharedInternals/ReactDebugCurrentFrame.luau"]}]},{"name":"ReactSymbols","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactSymbols.luau"]},{"name":"ReactTypes","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactTypes.luau"]},{"name":"ReactVersion","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/ReactVersion.luau"]},{"name":"Symbol.roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/Symbol.roblox.luau"]},{"name":"Type.roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/Type.roblox.luau"]},{"name":"UninitializedState.roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/UninitializedState.roblox.luau"]},{"name":"checkPropTypes","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/checkPropTypes.luau"]},{"name":"console","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/console.luau"]},{"name":"consoleWithStackDev","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/consoleWithStackDev.luau"]},{"name":"enqueueTask.roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/enqueueTask.roblox.luau"]},{"name":"flowtypes.roblox","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/flowtypes.roblox.luau"]},{"name":"formatProdErrorMessage","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/formatProdErrorMessage.luau"]},{"name":"getComponentName","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/getComponentName.luau"]},{"name":"invariant","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/invariant.luau"]},{"name":"invokeGuardedCallbackImpl","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/invokeGuardedCallbackImpl.luau"]},{"name":"isValidElementType","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/isValidElementType.luau"]},{"name":"objectIs","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/objectIs.luau"]},{"name":"shallowEqual","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_shared@17.2.1/shared/src/shallowEqual.luau"]}]}]},{"name":"jsdotlua_string@1.2.7","className":"Folder","children":[{"name":"es7-types","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/es7-types.lua"]},{"name":"number","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/number.lua"]},{"name":"string","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/default.project.json"],"children":[{"name":"charCodeAt","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/charCodeAt.lua"]},{"name":"endsWith","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/endsWith.lua"]},{"name":"findOr","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/findOr.lua"]},{"name":"includes","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/includes.lua"]},{"name":"indexOf","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/indexOf.lua"]},{"name":"lastIndexOf","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/lastIndexOf.lua"]},{"name":"slice","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/slice.lua"]},{"name":"split","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/split.lua"]},{"name":"startsWith","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/startsWith.lua"]},{"name":"substr","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/substr.lua"]},{"name":"trim","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/trim.lua"]},{"name":"trimEnd","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/trimEnd.lua"]},{"name":"trimStart","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_string@1.2.7/string/src/trimStart.lua"]}]}]},{"name":"jsdotlua_symbol-luau@1.0.1","className":"Folder","children":[{"name":"symbol-luau","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_symbol-luau@1.0.1/symbol-luau/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_symbol-luau@1.0.1/symbol-luau/default.project.json"],"children":[{"name":"Registry.global","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_symbol-luau@1.0.1/symbol-luau/src/Registry.global.lua"]},{"name":"Symbol","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_symbol-luau@1.0.1/symbol-luau/src/Symbol.lua"]}]}]},{"name":"jsdotlua_throat@3.10.0","className":"Folder","children":[{"name":"luau-polyfill","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_throat@3.10.0/luau-polyfill.lua"]},{"name":"promise","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_throat@3.10.0/promise.lua"]},{"name":"throat","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_throat@3.10.0/throat/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_throat@3.10.0/throat/default.project.json"]}]},{"name":"jsdotlua_timers@1.2.7","className":"Folder","children":[{"name":"collections","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_timers@1.2.7/collections.lua"]},{"name":"timers","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_timers@1.2.7/timers/src/init.lua","node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_timers@1.2.7/timers/default.project.json"],"children":[{"name":"makeIntervalImpl","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_timers@1.2.7/timers/src/makeIntervalImpl.lua"]},{"name":"makeTimerImpl","className":"ModuleScript","filePaths":["node_modules/.pnpm/@quentystudios+jest-lua@3.10.0-quenty.2/node_modules/@quentystudios/jest-lua/DevPackages/_Index/jsdotlua_timers@1.2.7/timers/src/makeTimerImpl.lua"]}]}]}]}]}]}]}]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
--[=[
|
|
2
|
+
@class DailyRewardsAdapter
|
|
3
|
+
]=]
|
|
4
|
+
|
|
5
|
+
local _require = require(script.Parent.loader).load(script)
|
|
6
|
+
|
|
7
|
+
local DailyRewardsAdapter = {}
|
|
8
|
+
DailyRewardsAdapter.ClassName = "DailyRewardsAdapter"
|
|
9
|
+
DailyRewardsAdapter.__index = DailyRewardsAdapter
|
|
10
|
+
|
|
11
|
+
export type ClaimData = {
|
|
12
|
+
LastClaimTime: number,
|
|
13
|
+
CurrentDayIndex: number,
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type DailyRewardsAdapter = typeof(setmetatable({}, DailyRewardsAdapter)) & {
|
|
17
|
+
GetClaimData: (self: DailyRewardsAdapter, Player: Player) -> ClaimData,
|
|
18
|
+
SetClaimData: (self: DailyRewardsAdapter, Player: Player, Data: ClaimData) -> (),
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function DailyRewardsAdapter.new(): DailyRewardsAdapter
|
|
22
|
+
local self = setmetatable({}, DailyRewardsAdapter)
|
|
23
|
+
|
|
24
|
+
return self :: DailyRewardsAdapter
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
function DailyRewardsAdapter.GetClaimData(_self: DailyRewardsAdapter, _Player: Player): ClaimData
|
|
28
|
+
warn("Configure GetClaimData function within DailyRewardsAdapter")
|
|
29
|
+
return {
|
|
30
|
+
LastClaimTime = -1,
|
|
31
|
+
CurrentDayIndex = 0,
|
|
32
|
+
}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
function DailyRewardsAdapter.SetClaimData(_self: DailyRewardsAdapter, _Player: Player, _Data: ClaimData): ()
|
|
36
|
+
warn("Configure SetClaimData function within DailyRewardsAdapter")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
return DailyRewardsAdapter
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
--!strict
|
|
2
|
+
local Players = game:GetService("Players")
|
|
3
|
+
|
|
4
|
+
--[=[
|
|
5
|
+
System to handle daily rewards in-game
|
|
6
|
+
|
|
7
|
+
@server
|
|
8
|
+
@class DailyRewardsService
|
|
9
|
+
]=]
|
|
10
|
+
|
|
11
|
+
local require = require(script.Parent.loader).load(script)
|
|
12
|
+
|
|
13
|
+
local DailyRewardsAdapter = require("DailyRewardsAdapter")
|
|
14
|
+
local Maid = require("Maid")
|
|
15
|
+
local Promise = require("Promise")
|
|
16
|
+
local ServiceBag = require("ServiceBag")
|
|
17
|
+
|
|
18
|
+
local DailyRewardsService = {}
|
|
19
|
+
DailyRewardsService.ServiceName = "DailyRewardsService"
|
|
20
|
+
|
|
21
|
+
export type DailyRewardsService = typeof(setmetatable(
|
|
22
|
+
{} :: {
|
|
23
|
+
_serviceBag: ServiceBag.ServiceBag,
|
|
24
|
+
_maid: Maid.Maid,
|
|
25
|
+
_adapter: DailyRewardsAdapter.DailyRewardsAdapter,
|
|
26
|
+
_rewardCallbacks: { [number]: (Player) -> () },
|
|
27
|
+
_config: DailyRewardsConfig,
|
|
28
|
+
_promiseStarted: Promise.Promise<()>,
|
|
29
|
+
},
|
|
30
|
+
{} :: typeof({ __index = DailyRewardsService })
|
|
31
|
+
))
|
|
32
|
+
|
|
33
|
+
export type DailyRewardsConfig = {
|
|
34
|
+
ClaimCooldownSeconds: number,
|
|
35
|
+
StreakResetSeconds: number,
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
--[=[
|
|
39
|
+
Initializes the DailyRewardsService. Should be done via [ServiceBag.Init].
|
|
40
|
+
@param serviceBag ServiceBag
|
|
41
|
+
]=]
|
|
42
|
+
function DailyRewardsService.Init(self: DailyRewardsService, serviceBag: ServiceBag.ServiceBag)
|
|
43
|
+
assert(not (self :: any)._serviceBag, "Already initialized")
|
|
44
|
+
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
45
|
+
self._maid = Maid.new()
|
|
46
|
+
|
|
47
|
+
-- External
|
|
48
|
+
|
|
49
|
+
-- State
|
|
50
|
+
self._promiseStarted = Promise.new()
|
|
51
|
+
self._adapter = DailyRewardsAdapter.new()
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
--[=[
|
|
55
|
+
Initializes the daily rewards service for players. Should be done via [ServiceBag.Start].
|
|
56
|
+
]=]
|
|
57
|
+
function DailyRewardsService.Start(self: DailyRewardsService)
|
|
58
|
+
self._promiseStarted:Resolve()
|
|
59
|
+
|
|
60
|
+
assert(self._config, "DailyRewardsService was not configured")
|
|
61
|
+
assert(self._rewardCallbacks, "DailyRewardsService reward callbacks were not configured")
|
|
62
|
+
|
|
63
|
+
self._maid:Add(Players.PlayerAdded:Connect(function(Player)
|
|
64
|
+
if self:CanClaim(Player) then
|
|
65
|
+
local ClaimData = self:GetState(Player)
|
|
66
|
+
|
|
67
|
+
local NextIndex = (ClaimData.CurrentDayIndex :: number) + 1
|
|
68
|
+
if not self._rewardCallbacks[NextIndex] then
|
|
69
|
+
self:Reset(Player)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
if os.time() - ClaimData.LastClaimTime >= self._config.StreakResetSeconds then
|
|
73
|
+
self:Reset(Player)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end))
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
function DailyRewardsService.Configure(
|
|
80
|
+
self: DailyRewardsService,
|
|
81
|
+
Config: DailyRewardsConfig,
|
|
82
|
+
RewardCallbacks: { [number]: (Player) -> () }
|
|
83
|
+
)
|
|
84
|
+
assert(self._promiseStarted, "Not initialized")
|
|
85
|
+
assert(self._promiseStarted:IsPending(), "Already started, cannot configure")
|
|
86
|
+
|
|
87
|
+
self._rewardCallbacks = RewardCallbacks
|
|
88
|
+
self._config = Config
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
function DailyRewardsService.CanClaim(self: DailyRewardsService, Player: Player)
|
|
92
|
+
local ClaimData = self:GetState(Player)
|
|
93
|
+
|
|
94
|
+
return os.time() - ClaimData.LastClaimTime >= self._config.ClaimCooldownSeconds
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
function DailyRewardsService.GetClaimSeconds(self: DailyRewardsService, Player: Player)
|
|
98
|
+
local ClaimData = self:GetState(Player)
|
|
99
|
+
return math.max(0, (ClaimData.LastClaimTime + self._config.ClaimCooldownSeconds) - os.time())
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
function DailyRewardsService.GetState(self: DailyRewardsService, Player: Player)
|
|
103
|
+
return self._adapter:GetClaimData(Player)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
function DailyRewardsService.Claim(self: DailyRewardsService, Player: Player)
|
|
107
|
+
local ClaimData = self:GetState(Player)
|
|
108
|
+
|
|
109
|
+
local NextIndex = ClaimData.CurrentDayIndex + 1
|
|
110
|
+
local Callback = self._rewardCallbacks[NextIndex]
|
|
111
|
+
|
|
112
|
+
if not Callback then
|
|
113
|
+
self:Reset(Player)
|
|
114
|
+
else
|
|
115
|
+
Callback(Player)
|
|
116
|
+
self._adapter:SetClaimData(Player, {
|
|
117
|
+
CurrentDayIndex = NextIndex,
|
|
118
|
+
LastClaimTime = os.time(),
|
|
119
|
+
})
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
function DailyRewardsService.Reset(self: DailyRewardsService, Player: Player)
|
|
124
|
+
self._adapter:SetClaimData(Player, { CurrentDayIndex = 0, LastClaimTime = -1 })
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
function DailyRewardsService.Destroy(self: DailyRewardsService)
|
|
128
|
+
self._maid:DoCleaning()
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
return DailyRewardsService
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
--!nonstrict
|
|
2
|
+
--[[
|
|
3
|
+
@class DailyRewardsService.spec
|
|
4
|
+
]]
|
|
5
|
+
|
|
6
|
+
local require = require(script.Parent.loader).load(script)
|
|
7
|
+
|
|
8
|
+
local DailyRewardsService = require("DailyRewardsService")
|
|
9
|
+
local Jest = require("Jest")
|
|
10
|
+
|
|
11
|
+
local describe = Jest.Globals.describe
|
|
12
|
+
local expect = Jest.Globals.expect
|
|
13
|
+
local it = Jest.Globals.it
|
|
14
|
+
|
|
15
|
+
local DEFAULT_CONFIG = {
|
|
16
|
+
ClaimCooldownSeconds = 86400, -- 24 hours
|
|
17
|
+
StreakResetSeconds = 172800, -- 48 hours
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
local function makeMockAdapter(initialData)
|
|
21
|
+
local adapter = {}
|
|
22
|
+
local store = {}
|
|
23
|
+
|
|
24
|
+
function adapter:GetClaimData(player)
|
|
25
|
+
if store[player] then
|
|
26
|
+
return store[player]
|
|
27
|
+
end
|
|
28
|
+
return initialData
|
|
29
|
+
and {
|
|
30
|
+
LastClaimTime = initialData.LastClaimTime,
|
|
31
|
+
CurrentDayIndex = initialData.CurrentDayIndex,
|
|
32
|
+
}
|
|
33
|
+
or { LastClaimTime = -1, CurrentDayIndex = 0 }
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
function adapter:SetClaimData(player, data)
|
|
37
|
+
store[player] = data
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
return adapter
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
-- Creates a fully initialised service with a mock adapter injected before Start.
|
|
44
|
+
local function makeService(adapter, config, callbacks)
|
|
45
|
+
local service = setmetatable({}, { __index = DailyRewardsService })
|
|
46
|
+
DailyRewardsService.Init(service, {})
|
|
47
|
+
service._adapter = adapter
|
|
48
|
+
DailyRewardsService.Configure(service, config or DEFAULT_CONFIG, callbacks or { [1] = function() end })
|
|
49
|
+
DailyRewardsService.Start(service)
|
|
50
|
+
return service
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
describe("DailyRewardsService", function()
|
|
54
|
+
describe("CanClaim", function()
|
|
55
|
+
it("should return true for a player who has never claimed", function()
|
|
56
|
+
local service = makeService(makeMockAdapter())
|
|
57
|
+
local mockPlayer = {}
|
|
58
|
+
-- LastClaimTime = -1 means os.time() - (-1) is always >= any reasonable cooldown
|
|
59
|
+
expect(service:CanClaim(mockPlayer)).toBe(true)
|
|
60
|
+
end)
|
|
61
|
+
|
|
62
|
+
it("should return false when the cooldown has not elapsed", function()
|
|
63
|
+
local service = makeService(
|
|
64
|
+
makeMockAdapter({ LastClaimTime = os.time(), CurrentDayIndex = 1 }),
|
|
65
|
+
DEFAULT_CONFIG,
|
|
66
|
+
{ [1] = function() end, [2] = function() end }
|
|
67
|
+
)
|
|
68
|
+
local mockPlayer = {}
|
|
69
|
+
expect(service:CanClaim(mockPlayer)).toBe(false)
|
|
70
|
+
end)
|
|
71
|
+
|
|
72
|
+
it("should return true once the cooldown has elapsed", function()
|
|
73
|
+
local pastTime = os.time() - DEFAULT_CONFIG.ClaimCooldownSeconds - 1
|
|
74
|
+
local service = makeService(
|
|
75
|
+
makeMockAdapter({ LastClaimTime = pastTime, CurrentDayIndex = 1 }),
|
|
76
|
+
DEFAULT_CONFIG,
|
|
77
|
+
{ [1] = function() end, [2] = function() end }
|
|
78
|
+
)
|
|
79
|
+
local mockPlayer = {}
|
|
80
|
+
expect(service:CanClaim(mockPlayer)).toBe(true)
|
|
81
|
+
end)
|
|
82
|
+
end)
|
|
83
|
+
|
|
84
|
+
describe("GetClaimSeconds", function()
|
|
85
|
+
it("should return 0 when the player can claim", function()
|
|
86
|
+
local service = makeService(makeMockAdapter())
|
|
87
|
+
local mockPlayer = {}
|
|
88
|
+
expect(service:GetClaimSeconds(mockPlayer)).toBe(0)
|
|
89
|
+
end)
|
|
90
|
+
|
|
91
|
+
it("should return a positive number when the cooldown is still active", function()
|
|
92
|
+
local service = makeService(
|
|
93
|
+
makeMockAdapter({ LastClaimTime = os.time(), CurrentDayIndex = 1 }),
|
|
94
|
+
DEFAULT_CONFIG,
|
|
95
|
+
{ [1] = function() end, [2] = function() end }
|
|
96
|
+
)
|
|
97
|
+
local mockPlayer = {}
|
|
98
|
+
local seconds = service:GetClaimSeconds(mockPlayer)
|
|
99
|
+
expect(seconds).toBeGreaterThan(0)
|
|
100
|
+
expect(seconds).toBeLessThanOrEqualTo(DEFAULT_CONFIG.ClaimCooldownSeconds)
|
|
101
|
+
end)
|
|
102
|
+
end)
|
|
103
|
+
|
|
104
|
+
describe("Claim", function()
|
|
105
|
+
it("should call the day's reward callback and advance the index", function()
|
|
106
|
+
local rewardCalled = false
|
|
107
|
+
local callbacks = {
|
|
108
|
+
[1] = function()
|
|
109
|
+
rewardCalled = true
|
|
110
|
+
end,
|
|
111
|
+
[2] = function() end,
|
|
112
|
+
}
|
|
113
|
+
local adapter = makeMockAdapter()
|
|
114
|
+
local service = makeService(adapter, DEFAULT_CONFIG, callbacks)
|
|
115
|
+
local mockPlayer = {}
|
|
116
|
+
|
|
117
|
+
service:Claim(mockPlayer)
|
|
118
|
+
|
|
119
|
+
expect(rewardCalled).toBe(true)
|
|
120
|
+
expect(adapter:GetClaimData(mockPlayer).CurrentDayIndex).toBe(1)
|
|
121
|
+
end)
|
|
122
|
+
|
|
123
|
+
it("should update LastClaimTime to approximately now after a successful claim", function()
|
|
124
|
+
local callbacks = {
|
|
125
|
+
[1] = function() end,
|
|
126
|
+
[2] = function() end,
|
|
127
|
+
}
|
|
128
|
+
local adapter = makeMockAdapter()
|
|
129
|
+
local service = makeService(adapter, DEFAULT_CONFIG, callbacks)
|
|
130
|
+
local mockPlayer = {}
|
|
131
|
+
local before = os.time()
|
|
132
|
+
|
|
133
|
+
service:Claim(mockPlayer)
|
|
134
|
+
|
|
135
|
+
expect(adapter:GetClaimData(mockPlayer).LastClaimTime).toBeGreaterThanOrEqualTo(before)
|
|
136
|
+
end)
|
|
137
|
+
|
|
138
|
+
it("should reset when there is no callback for the next day index", function()
|
|
139
|
+
-- Player is on day 1, but no callback exists for day 2
|
|
140
|
+
local adapter = makeMockAdapter({ LastClaimTime = -1, CurrentDayIndex = 1 })
|
|
141
|
+
local service = makeService(adapter, DEFAULT_CONFIG, { [1] = function() end })
|
|
142
|
+
local mockPlayer = {}
|
|
143
|
+
|
|
144
|
+
service:Claim(mockPlayer)
|
|
145
|
+
|
|
146
|
+
local data = adapter:GetClaimData(mockPlayer)
|
|
147
|
+
expect(data.CurrentDayIndex).toBe(0)
|
|
148
|
+
expect(data.LastClaimTime).toBe(-1)
|
|
149
|
+
end)
|
|
150
|
+
end)
|
|
151
|
+
|
|
152
|
+
describe("Reset", function()
|
|
153
|
+
it("should set CurrentDayIndex to 0 and LastClaimTime to -1", function()
|
|
154
|
+
local adapter = makeMockAdapter({ LastClaimTime = os.time(), CurrentDayIndex = 5 })
|
|
155
|
+
local service = makeService(adapter, DEFAULT_CONFIG, { [1] = function() end })
|
|
156
|
+
local mockPlayer = {}
|
|
157
|
+
|
|
158
|
+
service:Reset(mockPlayer)
|
|
159
|
+
|
|
160
|
+
local data = adapter:GetClaimData(mockPlayer)
|
|
161
|
+
expect(data.CurrentDayIndex).toBe(0)
|
|
162
|
+
expect(data.LastClaimTime).toBe(-1)
|
|
163
|
+
end)
|
|
164
|
+
end)
|
|
165
|
+
|
|
166
|
+
describe("Configure", function()
|
|
167
|
+
it("should error when called after Start", function()
|
|
168
|
+
local service = makeService(makeMockAdapter(), DEFAULT_CONFIG, { [1] = function() end })
|
|
169
|
+
expect(function()
|
|
170
|
+
service:Configure(DEFAULT_CONFIG, { [1] = function() end })
|
|
171
|
+
end).toThrow()
|
|
172
|
+
end)
|
|
173
|
+
end)
|
|
174
|
+
end)
|
package/stylua.toml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "DailyrewardsTest",
|
|
3
|
+
"globIgnorePaths": [
|
|
4
|
+
"**/.package-lock.json",
|
|
5
|
+
"**/.pnpm",
|
|
6
|
+
"**/.pnpm-workspace-state-v1.json",
|
|
7
|
+
"**/.modules.yaml",
|
|
8
|
+
"**/.ignored",
|
|
9
|
+
"**/.ignored_*"
|
|
10
|
+
],
|
|
11
|
+
"tree": {
|
|
12
|
+
"$className": "DataModel",
|
|
13
|
+
"ServerScriptService": {
|
|
14
|
+
"$properties": {
|
|
15
|
+
"LoadStringEnabled": true
|
|
16
|
+
},
|
|
17
|
+
"dailyrewards": {
|
|
18
|
+
"$path": ".."
|
|
19
|
+
},
|
|
20
|
+
"Script": {
|
|
21
|
+
"$path": "scripts/Server"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
--[[
|
|
2
|
+
@class ServerMain
|
|
3
|
+
]]
|
|
4
|
+
local ServerScriptService = game:GetService("ServerScriptService")
|
|
5
|
+
|
|
6
|
+
local root = ServerScriptService.dailyrewards
|
|
7
|
+
local loader = root:FindFirstChild("LoaderUtils", true).Parent
|
|
8
|
+
local require = require(loader).bootstrapGame(root)
|
|
9
|
+
|
|
10
|
+
local NevermoreTestRunnerUtils = require("NevermoreTestRunnerUtils")
|
|
11
|
+
if NevermoreTestRunnerUtils.runTestsIfNeededAsync(root) then
|
|
12
|
+
return
|
|
13
|
+
end
|