@quenty/roblox-api-dump 8.11.3 → 8.11.4

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [8.11.4](https://github.com/Quenty/NevermoreEngine/compare/@quenty/roblox-api-dump@8.11.3...@quenty/roblox-api-dump@8.11.4) (2025-04-10)
7
+
8
+ **Note:** Version bump only for package @quenty/roblox-api-dump
9
+
10
+
11
+
12
+
13
+
6
14
  ## [8.11.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/roblox-api-dump@8.11.1...@quenty/roblox-api-dump@8.11.3) (2025-04-07)
7
15
 
8
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/roblox-api-dump",
3
- "version": "8.11.3",
3
+ "version": "8.11.4",
4
4
  "description": "Utility functions for grabbing the Roblox API from the web",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -26,14 +26,14 @@
26
26
  "Quenty"
27
27
  ],
28
28
  "dependencies": {
29
- "@quenty/baseobject": "^10.8.2",
30
- "@quenty/httppromise": "^10.10.3",
31
- "@quenty/loader": "^10.8.2",
32
- "@quenty/promise": "^10.10.3",
33
- "@quenty/table": "^3.7.3"
29
+ "@quenty/baseobject": "^10.8.3",
30
+ "@quenty/httppromise": "^10.10.4",
31
+ "@quenty/loader": "^10.8.3",
32
+ "@quenty/promise": "^10.10.4",
33
+ "@quenty/table": "^3.7.4"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "64def70499ec067077ee39f279936b620b217847"
38
+ "gitHead": "b06c070ae91d5dab7bd8de6e290ad2caabb15d8f"
39
39
  }
@@ -1,3 +1,4 @@
1
+ --!strict
1
2
  --[=[
2
3
  Represents a specific Roblox class.
3
4
  @class RobloxApiClass
@@ -12,6 +13,16 @@ local RobloxApiClass = {}
12
13
  RobloxApiClass.ClassName = "RobloxApiClass"
13
14
  RobloxApiClass.__index = RobloxApiClass
14
15
 
16
+ export type RobloxApiClass = typeof(setmetatable(
17
+ {} :: {
18
+ _robloxApiDump: any,
19
+ _data: any,
20
+ _allSuperClassesPromise: Promise.Promise<any>?,
21
+ _tagCache: { [string]: boolean }?,
22
+ },
23
+ {} :: typeof({ __index = RobloxApiClass })
24
+ ))
25
+
15
26
  --[=[
16
27
  Constructs a new RobloxApiClass. See [RobloxApiDump.PromiseClass] to actually construct
17
28
  this class.
@@ -19,8 +30,8 @@ RobloxApiClass.__index = RobloxApiClass
19
30
  @param data table
20
31
  @return RobloxApiClass
21
32
  ]=]
22
- function RobloxApiClass.new(robloxApiDump, data)
23
- local self = setmetatable({}, RobloxApiClass)
33
+ function RobloxApiClass.new(robloxApiDump, data): RobloxApiClass
34
+ local self: RobloxApiClass = setmetatable({} :: any, RobloxApiClass)
24
35
 
25
36
  --[[
26
37
  {
@@ -47,7 +58,7 @@ end
47
58
  Retrieves the raw class data
48
59
  @return table
49
60
  ]=]
50
- function RobloxApiClass:GetRawData()
61
+ function RobloxApiClass.GetRawData(self: RobloxApiClass): unknown
51
62
  return self._data
52
63
  end
53
64
 
@@ -55,7 +66,7 @@ end
55
66
  Gets the class name.
56
67
  @return string
57
68
  ]=]
58
- function RobloxApiClass:GetClassName()
69
+ function RobloxApiClass.GetClassName(self: RobloxApiClass): string
59
70
  assert(type(self._data.Name) == "string", "Bad Name")
60
71
  return self._data.Name
61
72
  end
@@ -64,7 +75,7 @@ end
64
75
  Gets the class category.
65
76
  @return string?
66
77
  ]=]
67
- function RobloxApiClass:GetMemberCategory()
78
+ function RobloxApiClass.GetMemberCategory(self: RobloxApiClass): string?
68
79
  return self._data.MemoryCategory -- might be nil, stuff like "Data" or ""
69
80
  end
70
81
 
@@ -72,7 +83,7 @@ end
72
83
  Retrieves the super class, or rejects.
73
84
  @return Promise<RobloxApiClass>
74
85
  ]=]
75
- function RobloxApiClass:PromiseSuperClass()
86
+ function RobloxApiClass.PromiseSuperClass(self: RobloxApiClass): Promise.Promise<RobloxApiClass>
76
87
  local superclass = self:GetSuperClassName()
77
88
  if superclass then
78
89
  return self._robloxApiDump:PromiseClass(superclass)
@@ -86,7 +97,7 @@ end
86
97
  @param className string
87
98
  @return Promise<boolean>
88
99
  ]=]
89
- function RobloxApiClass:PromiseIsA(className: string)
100
+ function RobloxApiClass.PromiseIsA(self: RobloxApiClass, className: string): Promise.Promise<boolean>
90
101
  if self:GetClassName() == className then
91
102
  return Promise.resolved(true)
92
103
  end
@@ -101,7 +112,7 @@ end
101
112
  @param className string
102
113
  @return Promise<boolean>
103
114
  ]=]
104
- function RobloxApiClass:PromiseIsDescendantOf(className)
115
+ function RobloxApiClass.PromiseIsDescendantOf(self: RobloxApiClass, className: string)
105
116
  return self:PromiseAllSuperClasses():Then(function(classes)
106
117
  for _, class in classes do
107
118
  if class:GetClassName() == className then
@@ -117,33 +128,34 @@ end
117
128
  Returns a promise that resolves to all super classes.
118
129
  @return Promise<{ RobloxApiClass }>
119
130
  ]=]
120
- function RobloxApiClass:PromiseAllSuperClasses()
131
+ function RobloxApiClass.PromiseAllSuperClasses(self: RobloxApiClass): Promise.Promise<{ RobloxApiClass }>
121
132
  if self._allSuperClassesPromise then
122
133
  return self._allSuperClassesPromise
123
134
  end
124
135
 
125
- local list = {}
136
+ local list: { RobloxApiClass } = {}
126
137
 
127
- local function chain(current)
138
+ local function chain(current: RobloxApiClass): Promise.Promise<{ RobloxApiClass }>
128
139
  return current:PromiseSuperClass():Then(function(superclass)
129
140
  if superclass then
130
141
  table.insert(list, superclass)
131
142
  return chain(superclass)
132
143
  else
133
- return list
144
+ return list :: any
134
145
  end
135
146
  end)
136
147
  end
137
148
 
138
- self._allSuperClassesPromise = chain(self)
139
- return self._allSuperClassesPromise
149
+ local promise = chain(self)
150
+ self._allSuperClassesPromise = promise
151
+ return promise
140
152
  end
141
153
 
142
154
  --[=[
143
155
  Returns the super class name
144
156
  @return string?
145
157
  ]=]
146
- function RobloxApiClass:GetSuperClassName()
158
+ function RobloxApiClass.GetSuperClassName(self: RobloxApiClass)
147
159
  local data = self._data.Superclass
148
160
  if data == RobloxApiDumpConstants.ROOT_CLASS_NAME then
149
161
  return nil
@@ -156,7 +168,7 @@ end
156
168
  Returns whether the class has a super class
157
169
  @return boolean
158
170
  ]=]
159
- function RobloxApiClass:HasSuperClass(): boolean
171
+ function RobloxApiClass.HasSuperClass(self: RobloxApiClass): boolean
160
172
  return self:GetSuperClassName() ~= nil
161
173
  end
162
174
 
@@ -164,7 +176,7 @@ end
164
176
  Retrieves all class members (events, properties, callbacks, functions).
165
177
  @return Promise<{ RobloxApiMember }>
166
178
  ]=]
167
- function RobloxApiClass:PromiseMembers()
179
+ function RobloxApiClass.PromiseMembers(self: RobloxApiClass)
168
180
  return self._robloxApiDump:PromiseMembers(self:GetClassName())
169
181
  end
170
182
 
@@ -172,7 +184,7 @@ end
172
184
  Gets all class properties.
173
185
  @return Promise<{ RobloxApiMember }>
174
186
  ]=]
175
- function RobloxApiClass:PromiseProperties()
187
+ function RobloxApiClass.PromiseProperties(self: RobloxApiClass)
176
188
  return self:PromiseMembers():Then(function(members)
177
189
  local result = {}
178
190
  for _, member in members do
@@ -188,7 +200,7 @@ end
188
200
  Gets all class events.
189
201
  @return Promise<{ RobloxApiMember }>
190
202
  ]=]
191
- function RobloxApiClass:PromiseEvents()
203
+ function RobloxApiClass.PromiseEvents(self: RobloxApiClass)
192
204
  return self:PromiseMembers():Then(function(members)
193
205
  local result = {}
194
206
  for _, member in members do
@@ -204,7 +216,7 @@ end
204
216
  Gets all class functions (i.e. methods).
205
217
  @return Promise<{ RobloxApiMember }>
206
218
  ]=]
207
- function RobloxApiClass:PromiseFunctions()
219
+ function RobloxApiClass.PromiseFunctions(self: RobloxApiClass)
208
220
  return self:PromiseMembers():Then(function(members)
209
221
  local result = {}
210
222
  for _, member in members do
@@ -220,7 +232,7 @@ end
220
232
  Retrieves whether the class is a service
221
233
  @return boolean
222
234
  ]=]
223
- function RobloxApiClass:IsService(): boolean
235
+ function RobloxApiClass.IsService(self: RobloxApiClass): boolean
224
236
  return self:HasTag("Service")
225
237
  end
226
238
 
@@ -228,7 +240,7 @@ end
228
240
  Retrieves whether the class is not creatable
229
241
  @return boolean
230
242
  ]=]
231
- function RobloxApiClass:IsNotCreatable(): boolean
243
+ function RobloxApiClass.IsNotCreatable(self: RobloxApiClass): boolean
232
244
  return self:HasTag("NotCreatable")
233
245
  end
234
246
 
@@ -236,7 +248,7 @@ end
236
248
  Retrieves whether the class is not replicated
237
249
  @return boolean
238
250
  ]=]
239
- function RobloxApiClass:IsNotReplicated(): boolean
251
+ function RobloxApiClass.IsNotReplicated(self: RobloxApiClass): boolean
240
252
  return self:HasTag("NotReplicated")
241
253
  end
242
254
 
@@ -245,19 +257,21 @@ end
245
257
  @param tagName string
246
258
  @return boolean
247
259
  ]=]
248
- function RobloxApiClass:HasTag(tagName: string): boolean
260
+ function RobloxApiClass.HasTag(self: RobloxApiClass, tagName: string): boolean
249
261
  if self._tagCache then
250
262
  return self._tagCache[tagName] == true
251
263
  end
252
264
 
253
- self._tagCache = {}
265
+ local cache = {}
266
+ self._tagCache = cache
267
+
254
268
  if type(self._data.Tags) == "table" then
255
269
  for _, tag in self._data.Tags do
256
- self._tagCache[tag] = true
270
+ cache[tag] = true
257
271
  end
258
272
  end
259
273
 
260
- return self._tagCache[tagName] == true
274
+ return cache[tagName] == true
261
275
  end
262
276
 
263
277
  return RobloxApiClass
@@ -17,14 +17,26 @@ local RobloxApiDump = setmetatable({}, BaseObject)
17
17
  RobloxApiDump.ClassName = "RobloxApiDump"
18
18
  RobloxApiDump.__index = RobloxApiDump
19
19
 
20
- export type RobloxApiDump = typeof(setmetatable({}, { __index = RobloxApiDump }))
20
+ export type RobloxApiDump = typeof(setmetatable(
21
+ {} :: {
22
+ _classMemberPromises: { [string]: Promise.Promise<()> },
23
+ _ancestorListPromise: { [string]: Promise.Promise<()> },
24
+ _classPromises: { [string]: Promise.Promise<()> },
25
+ _classMapPromise: Promise.Promise<()>?,
26
+ _dumpPromise: Promise.Promise<()>?,
27
+ _className: string,
28
+ _obj: Instance?,
29
+ _maid: any,
30
+ },
31
+ {} :: typeof({ __index = RobloxApiDump })
32
+ )) & BaseObject.BaseObject
21
33
 
22
34
  --[=[
23
35
  Constructs a new RobloxApiDump which will cache all results for its lifetime.
24
36
  @return RobloxApiDump
25
37
  ]=]
26
38
  function RobloxApiDump.new(): RobloxApiDump
27
- local self = setmetatable(BaseObject.new() :: any, RobloxApiDump)
39
+ local self: RobloxApiDump = setmetatable(BaseObject.new() :: any, RobloxApiDump)
28
40
 
29
41
  self._classMemberPromises = {}
30
42
  self._ancestorListPromise = {}