@@ -87,23 +87,25 @@ main = runMocha do
8787 }
8888 tearDown name version db
8989
90−
9190 it "open + onUpgradeNeed" do
9291 let name = "db-upgrade-needed"
9392 version = 1
94− callback var db _ = do
95− _ <- launchAff $ modifyVar (const $ IDBDatabase.name db) var
93+ callback (Tuple varName varVersion) db _ { oldVersion } = do
94+ _ <- launchAff $ modifyVar (const $ IDBDatabase.name db) varName
95+ _ <- launchAff $ modifyVar (const $ oldVersion) varVersion
9696 pure unit
97− var <- makeVar' "-"
98− db <- IDBFactory.open name Nothing
99− { onUpgradeNeeded : Just (callback var)
97+ varName <- makeVar' "-"
98+ varVersion <- makeVar' (-1)
99+ db <- IDBFactory.open name Nothing
100+ { onUpgradeNeeded : Just (callback (Tuple varName varVersion))
100101 , onBlocked : Nothing
101102 }
102− name <- peekVar var
103− name `shouldEqual` name
103+ name' <- peekVar varName
104+ version' <- peekVar varVersion
105+ name' `shouldEqual` name
106+ version' `shouldEqual` 0
104107 tearDown name version db
105108
106−
107109 it "open + onBlocked" do
108110 let name = "db-blocked"
109111 version = 14
@@ -124,8 +126,8 @@ main = runMocha do
124126 { onUpgradeNeeded : Nothing
125127 , onBlocked : Just (callback var)
126128 }
127− name <- peekVar var
128− name `shouldEqual` name
129+ name' <- peekVar var
130+ name' `shouldEqual` name
129131 tearDown name version db02
130132
131133 describe "IDBKeyRange" do
@@ -289,7 +291,7 @@ main = runMocha do
289291 pure unit
290292
291293 setup storeParams = do
292− let onUpgradeNeeded var db _ = launchAff' do
294+ let onUpgradeNeeded var db _ _ = launchAff' do
293295 store <- IDBDatabase.createObjectStore db "store" storeParams
294296 _ <- putVar var { db, store }
295297 pure unit
@@ -327,7 +329,7 @@ main = runMocha do
327329 tearDown db
328330
329331 it "deleteObjectStore" do
330− let onUpgradeNeeded var db _ = launchAff' do
332+ let onUpgradeNeeded var db _ _ = launchAff' do
331333 _ <- IDBDatabase.deleteObjectStore db "store"
332334 putVar var true
333335
@@ -350,7 +352,7 @@ main = runMocha do
350352 pure unit
351353
352354 setup { storeParams, onUpgradeNeeded } = do
353− let onUpgradeNeeded' var db _ = launchAff' do
355+ let onUpgradeNeeded' var db _ _ = launchAff' do
354356 store <- IDBDatabase.createObjectStore db "store" storeParams
355357 liftEff $ maybe (pure unit) id (onUpgradeNeeded <*> pure db <*> pure store)
356358 putVar var { db, store }
@@ -506,7 +508,7 @@ main = runMocha do
506508 , onUpgradeNeeded :: Maybe (Database -> Transaction -> Index -> Eff (idb :: IDB, avar :: AVAR, exception :: EXCEPTION | e') Unit)
507509 } -> Aff (idb :: IDB, avar :: AVAR | e) { db :: Database, index :: Index, store :: ObjectStore }
508510 setup { storeParams, indexParams, values, keyPath, onUpgradeNeeded } = do
509− let onUpgradeNeeded' var db tx = launchAff' do
511+ let onUpgradeNeeded' var db tx _ = launchAff' do
510512 store <- IDBDatabase.createObjectStore db "store" storeParams
511513 _ <- traverse (uncurry (IDBObjectStore.add store)) values
512514 index <- IDBObjectStore.createIndex store "index" keyPath indexParams
@@ -844,7 +846,7 @@ main = runMocha do
844846 , onUpgradeNeeded :: Maybe (Database -> Transaction -> Index -> Eff (idb :: IDB, avar :: AVAR, exception :: EXCEPTION | e') Unit)
845847 } -> Aff (idb :: IDB, avar :: AVAR | e) { db :: Database, index :: Index, store :: ObjectStore }
846848 setup { storeParams, indexParams, values, keyPath, onUpgradeNeeded } = do
847− let onUpgradeNeeded' var db tx = launchAff' do
849+ let onUpgradeNeeded' var db tx _ = launchAff' do
848850 store <- IDBDatabase.createObjectStore db "store" storeParams
849851 _ <- traverse (uncurry (IDBObjectStore.add store)) values
850852 index <- IDBObjectStore.createIndex store "index" keyPath indexParams