1- /**
2- * https://github.com/francimedia/parse-js-local-storage
3- *
4- * @flow
5- */
6-
71import CoreManager from './CoreManager' ;
82import ParseError from './ParseError' ;
93import ParseObject from './ParseObject' ;
@@ -27,9 +21,9 @@ type QueueObject = {
2721type Queue = Array < QueueObject > ;
2822
2923const QUEUE_KEY = 'Parse/Eventually/Queue' ;
30- let queueCache = [ ] ;
24+ let queueCache : QueueObject [ ] = [ ] ;
3125let dirtyCache = true ;
32- let polling = undefined ;
26+ let polling : ReturnType < typeof setInterval > | undefined = undefined ;
3327
3428/**
3529 * Provides utility functions to queue objects that will be
@@ -50,7 +44,7 @@ const EventuallyQueue = {
5044 * @static
5145 * @see Parse.Object#saveEventually
5246 */
53- save ( object : ParseObject , serverOptions : SaveOptions = { } ) : Promise {
47+ save ( object : ParseObject , serverOptions : SaveOptions = { } ) : Promise < void > {
5448 return this . enqueue ( 'save' , object , serverOptions ) ;
5549 } ,
5650
@@ -65,7 +59,7 @@ const EventuallyQueue = {
6559 * @static
6660 * @see Parse.Object#destroyEventually
6761 */
68- destroy ( object : ParseObject , serverOptions : RequestOptions = { } ) : Promise {
62+ destroy ( object : ParseObject , serverOptions : RequestOptions = { } ) : Promise < void > {
6963 return this . enqueue ( 'destroy' , object , serverOptions ) ;
7064 } ,
7165
@@ -99,7 +93,7 @@ const EventuallyQueue = {
9993 action : string ,
10094 object : ParseObject ,
10195 serverOptions : SaveOptions | RequestOptions
102- ) : Promise {
96+ ) : Promise < void > {
10397 const queueData = await this . getQueue ( ) ;
10498 const queueId = this . generateQueueId ( action , object ) ;
10599
@@ -127,7 +121,7 @@ const EventuallyQueue = {
127121 return this . setQueue ( queueData ) ;
128122 } ,
129123
130- store ( data ) {
124+ store ( data : QueueObject [ ] ) {
131125 return Storage . setItemAsync ( QUEUE_KEY , JSON . stringify ( data ) ) ;
132126 } ,
133127
@@ -140,10 +134,10 @@ const EventuallyQueue = {
140134 *
141135 * @function getQueue
142136 * @name Parse.EventuallyQueue.getQueue
143- * @returns {Promise<Array > }
137+ * @returns {Promise<QueueObject[] > }
144138 * @static
145139 */
146- async getQueue ( ) : Promise < Array > {
140+ async getQueue ( ) : Promise < QueueObject [ ] > {
147141 if ( dirtyCache ) {
148142 queueCache = JSON . parse ( ( await this . load ( ) ) || '[]' ) ;
149143 dirtyCache = false ;
@@ -189,7 +183,7 @@ const EventuallyQueue = {
189183 * @returns {Promise } A promise that is fulfilled when queue is cleared.
190184 * @static
191185 */
192- clear ( ) : Promise {
186+ clear ( ) : Promise < void > {
193187 queueCache = [ ] ;
194188 return this . store ( [ ] ) ;
195189 } ,
@@ -212,10 +206,10 @@ const EventuallyQueue = {
212206 *
213207 * @function length
214208 * @name Parse.EventuallyQueue.length
215- * @returns {number }
209+ * @returns {Promise< number> }
216210 * @static
217211 */
218- async length ( ) : number {
212+ async length ( ) : Promise < number > {
219213 const queueData = await this . getQueue ( ) ;
220214 return queueData . length ;
221215 } ,
@@ -268,7 +262,7 @@ const EventuallyQueue = {
268262 // Queued update was overwritten by other request. Do not save
269263 if (
270264 typeof object . updatedAt !== 'undefined' &&
271- object . updatedAt > new Date ( queueObject . object . createdAt )
265+ object . updatedAt > new Date ( queueObject . object . createdAt as Date )
272266 ) {
273267 return this . remove ( queueObject . queueId ) ;
274268 }
@@ -345,7 +339,7 @@ const EventuallyQueue = {
345339 } ,
346340
347341 _setPolling ( flag : boolean ) {
348- polling = flag ;
342+ polling = flag as any ;
349343 } ,
350344
351345 process : {
0 commit comments