111111 @param key string
112112 @param value any
113113]=]
114- function DataStoreStage .Store (self : DataStoreStage , key : string , value : any )
115- assert (type (key ) == " string" , " Bad key" )
114+ function DataStoreStage .Store (
115+ self : DataStoreStage ,
116+ key : DataStoreStageKey ,
117+ value : any | DataStoreDeleteToken.DataStoreDeleteToken
118+ ): ()
119+ assert (type (key ) == " string" or type (key ) == " number" , " Bad key" )
116120
117121 if value == nil then
118122 value = DataStoreDeleteToken
133137 end)
134138 ```
135139
136- @param key string | number
140+ @param key DataStoreStageKey
137141 @param defaultValue T?
138142 @return Promise<T>
139143]=]
166170 @param defaultValue any
167171 @return Promise<any>
168172]=]
169- function DataStoreStage .LoadAll (self : DataStoreStage , defaultValue )
173+ function DataStoreStage .LoadAll < T > (self : DataStoreStage , defaultValue : T ? ): Promise . Promise < T ? >
170174 return self :PromiseViewUpToDate ():Then (function ()
171175 if self ._viewSnapshot == nil then
172176 return defaultValue
@@ -187,10 +191,10 @@ end
187191 saveslot:Store("Money", 0)
188192 ```
189193
190- @param key string | number
194+ @param key DataStoreStageKey
191195 @return DataStoreStage
192196]=]
193- function DataStoreStage .GetSubStore (self : DataStoreStage , key : DataStoreStageKey )
197+ function DataStoreStage .GetSubStore (self : DataStoreStage , key : DataStoreStageKey ): DataStoreStage
194198 assert (type (key ) == " string" or type (key ) == " number" , " Bad key" )
195199
196200 if self ._stores [key ] then
@@ -243,18 +247,18 @@ end
243247--[=[
244248 Explicitely deletes data at the key
245249
246- @param key string | number
250+ @param key DataStoreStageKey
247251]=]
248- function DataStoreStage .Delete (self : DataStoreStage , key : string )
249- assert (type (key ) == " string" , " Bad key" )
252+ function DataStoreStage .Delete (self : DataStoreStage , key : DataStoreStageKey ): ( )
253+ assert (type (key ) == " string" or type ( key ) == " number " , " Bad key" )
250254
251255 self :_storeAtKey (key , DataStoreDeleteToken )
252256end
253257
254258--[=[
255259 Queues up a wipe of all values. This will completely set the data to nil.
256260]=]
257- function DataStoreStage .Wipe (self : DataStoreStage )
261+ function DataStoreStage .Wipe (self : DataStoreStage ): ()
258262 self :Overwrite (DataStoreDeleteToken )
259263end
260264
@@ -263,12 +267,16 @@ end
263267
264268 If no key is passed than it will observe the whole view snapshot
265269
266- @param key string | number ?
270+ @param key DataStoreStageKey ?
267271 @param defaultValue T?
268272 @return Observable<T>
269273]=]
270- function DataStoreStage .Observe (self : DataStoreStage , key , defaultValue )
271- assert (type (key ) == " string" or type (key ) == " number" or key == nil , " Bad key" )
274+ function DataStoreStage .Observe <T >(
275+ self : DataStoreStage ,
276+ key : DataStoreStageKey ? ,
277+ defaultValue : T ?
278+ ): Observable .Observable <T>
279+ assert (type (key ) == " string" or type (key ) == " number" , " Bad key" )
272280
273281 if key == nil then
274282 return Observable .new (function (sub )
@@ -293,7 +301,7 @@ function DataStoreStage.Observe(self: DataStoreStage, key, defaultValue)
293301 end )
294302
295303 return maid
296- end )
304+ end ) :: any
297305 end
298306
299307 return Observable .new (function (sub )
@@ -315,16 +323,16 @@ function DataStoreStage.Observe(self: DataStoreStage, key, defaultValue)
315323 end )
316324
317325 return maid
318- end )
326+ end ) :: any
319327end
320328
321329--[=[
322330 Adds a callback to be called before save. This may return a promise.
323331
324332 @param callback function -- May return a promise
325- @return function -- Call to remove
333+ @return () -> () -- Call to remove
326334]=]
327- function DataStoreStage .AddSavingCallback (self : DataStoreStage , callback : DataStoreCallback ? )
335+ function DataStoreStage .AddSavingCallback (self : DataStoreStage , callback : DataStoreCallback ? ): () -> ()
328336 assert (type (callback ) == " function" , " Bad callback" )
329337
330338 table.insert (self ._savingCallbacks , callback )
340348 Removes a saving callback from the data store stage
341349 @param callback function
342350]=]
343- function DataStoreStage .RemoveSavingCallback (self : DataStoreStage , callback : DataStoreCallback ? )
351+ function DataStoreStage .RemoveSavingCallback (self : DataStoreStage , callback : DataStoreCallback ? ): ()
344352 assert (type (callback ) == " function" , " Bad callback" )
345353
346354 local index = table .find (self ._savingCallbacks , callback )
434442
435443 @param parentWriter DataStoreWriter
436444]=]
437- function DataStoreStage .MarkDataAsSaved (self : DataStoreStage , parentWriter : DataStoreWriter.DataStoreWriter )
445+ function DataStoreStage .MarkDataAsSaved (self : DataStoreStage , parentWriter : DataStoreWriter.DataStoreWriter ): ()
438446 -- Update all children first
439447 for key , subwriter in pairs (parentWriter :GetSubWritersMap ()) do
440448 local store = self ._stores [key ]
504512
505513 @return Promise
506514]=]
507- function DataStoreStage .PromiseViewUpToDate (self : DataStoreStage )
515+ function DataStoreStage .PromiseViewUpToDate (self : DataStoreStage ): Promise . Promise < () >
508516 if not self ._loadParent then
509517 error (" [DataStoreStage.Load] - Failed to load, no loadParent!" )
510518 end
525533
526534 @param data any
527535]=]
528- function DataStoreStage .Overwrite (self : DataStoreStage , data )
536+ function DataStoreStage .Overwrite (self : DataStoreStage , data : any | DataStoreDeleteToken.DataStoreDeleteToken ): ( )
529537 -- Ensure that we at least start loading (and thus the autosave loop) for write
530538 self :PromiseViewUpToDate ()
531539
578586
579587 @param data any
580588]=]
581- function DataStoreStage .OverwriteMerge (self : DataStoreStage , data )
589+ function DataStoreStage .OverwriteMerge (self : DataStoreStage , data : any ): ( )
582590 -- Ensure that we at least start loading (and thus the autosave loop) for write
583591 self :PromiseViewUpToDate ()
584592
775783function DataStoreStage ._updateStoresAndComputeBaseDataSnapshotValueFromDiffSnapshot (
776784 self : DataStoreStage ,
777785 key : DataStoreStageKey ,
778- value
786+ value : any | DataStoreDeleteToken.DataStoreDeleteToken
779787)
780788 assert (type (key ) == " string" or type (key ) == " number" , " Bad key" )
781789
0 commit comments