@@ -87,23 +87,25 @@ main = runMocha do
88 tearDown name version db
88 tearDown name version db
91 it "open + onUpgradeNeed" do
90 it "open + onUpgradeNeed" do
92 let name = "db-upgrade-needed"
91 let name = "db-upgrade-needed"
93 version = 1
92 version = 1
94− callback var db _ = do
93+ callback (Tuple varName varVersion) db _ { oldVersion } = do
95− _ <- launchAff $ modifyVar (const $ IDBDatabase.name db) var
94+ _ <- launchAff $ modifyVar (const $ IDBDatabase.name db) varName
95+ _ <- launchAff $ modifyVar (const $ oldVersion) varVersion
97− var <- makeVar' "-"
97+ varName <- makeVar' "-"
98+ varVersion <- makeVar' (-1)
98− db <- IDBFactory.open name Nothing
99+ db <- IDBFactory.open name Nothing
99− { onUpgradeNeeded : Just (callback var)
100+ { onUpgradeNeeded : Just (callback (Tuple varName varVersion))
100 , onBlocked : Nothing
101 , onBlocked : Nothing
102− name <- peekVar var
103+ name' <- peekVar varName
104+ version' <- peekVar varVersion
103− name `shouldEqual` name
105+ name' `shouldEqual` name
106+ version' `shouldEqual` 0
104 tearDown name version db
107 tearDown name version db
107 it "open + onBlocked" do
109 it "open + onBlocked" do
108 let name = "db-blocked"
110 let name = "db-blocked"
109 version = 14
111 version = 14
@@ -124,8 +126,8 @@ main = runMocha do
124 { onUpgradeNeeded : Nothing
126 { onUpgradeNeeded : Nothing
125 , onBlocked : Just (callback var)
127 , onBlocked : Just (callback var)
127− name <- peekVar var
129+ name' <- peekVar var
128− name `shouldEqual` name
130+ name' `shouldEqual` name
129 tearDown name version db02
131 tearDown name version db02
131 describe "IDBKeyRange" do
133 describe "IDBKeyRange" do
@@ -289,7 +291,7 @@ main = runMocha do
289 pure unit
291 pure unit
291 setup storeParams = do
293 setup storeParams = do
292− let onUpgradeNeeded var db _ = launchAff' do
294+ let onUpgradeNeeded var db _ _ = launchAff' do
293 store <- IDBDatabase.createObjectStore db "store" storeParams
295 store <- IDBDatabase.createObjectStore db "store" storeParams
294 _ <- putVar var { db, store }
296 _ <- putVar var { db, store }
295 pure unit
297 pure unit
@@ -327,7 +329,7 @@ main = runMocha do
327 tearDown db
329 tearDown db
329 it "deleteObjectStore" do
331 it "deleteObjectStore" do
330− let onUpgradeNeeded var db _ = launchAff' do
332+ let onUpgradeNeeded var db _ _ = launchAff' do
331 _ <- IDBDatabase.deleteObjectStore db "store"
333 _ <- IDBDatabase.deleteObjectStore db "store"
332 putVar var true
334 putVar var true
@@ -350,7 +352,7 @@ main = runMocha do
350 pure unit
352 pure unit
352 setup { storeParams, onUpgradeNeeded } = do
354 setup { storeParams, onUpgradeNeeded } = do
353− let onUpgradeNeeded' var db _ = launchAff' do
355+ let onUpgradeNeeded' var db _ _ = launchAff' do
354 store <- IDBDatabase.createObjectStore db "store" storeParams
356 store <- IDBDatabase.createObjectStore db "store" storeParams
355 liftEff $ maybe (pure unit) id (onUpgradeNeeded <*> pure db <*> pure store)
357 liftEff $ maybe (pure unit) id (onUpgradeNeeded <*> pure db <*> pure store)
356 putVar var { db, store }
358 putVar var { db, store }
@@ -506,7 +508,7 @@ main = runMocha do
506 , onUpgradeNeeded :: Maybe (Database -> Transaction -> Index -> Eff (idb :: IDB, avar :: AVAR, exception :: EXCEPTION | e') Unit)
508 , onUpgradeNeeded :: Maybe (Database -> Transaction -> Index -> Eff (idb :: IDB, avar :: AVAR, exception :: EXCEPTION | e') Unit)
507 } -> Aff (idb :: IDB, avar :: AVAR | e) { db :: Database, index :: Index, store :: ObjectStore }
509 } -> Aff (idb :: IDB, avar :: AVAR | e) { db :: Database, index :: Index, store :: ObjectStore }
508 setup { storeParams, indexParams, values, keyPath, onUpgradeNeeded } = do
510 setup { storeParams, indexParams, values, keyPath, onUpgradeNeeded } = do
509− let onUpgradeNeeded' var db tx = launchAff' do
511+ let onUpgradeNeeded' var db tx _ = launchAff' do
510 store <- IDBDatabase.createObjectStore db "store" storeParams
512 store <- IDBDatabase.createObjectStore db "store" storeParams
511 _ <- traverse (uncurry (IDBObjectStore.add store)) values
513 _ <- traverse (uncurry (IDBObjectStore.add store)) values
512 index <- IDBObjectStore.createIndex store "index" keyPath indexParams
514 index <- IDBObjectStore.createIndex store "index" keyPath indexParams
@@ -844,7 +846,7 @@ main = runMocha do
844 , onUpgradeNeeded :: Maybe (Database -> Transaction -> Index -> Eff (idb :: IDB, avar :: AVAR, exception :: EXCEPTION | e') Unit)
846 , onUpgradeNeeded :: Maybe (Database -> Transaction -> Index -> Eff (idb :: IDB, avar :: AVAR, exception :: EXCEPTION | e') Unit)
845 } -> Aff (idb :: IDB, avar :: AVAR | e) { db :: Database, index :: Index, store :: ObjectStore }
847 } -> Aff (idb :: IDB, avar :: AVAR | e) { db :: Database, index :: Index, store :: ObjectStore }
846 setup { storeParams, indexParams, values, keyPath, onUpgradeNeeded } = do
848 setup { storeParams, indexParams, values, keyPath, onUpgradeNeeded } = do
847− let onUpgradeNeeded' var db tx = launchAff' do
849+ let onUpgradeNeeded' var db tx _ = launchAff' do
848 store <- IDBDatabase.createObjectStore db "store" storeParams
850 store <- IDBDatabase.createObjectStore db "store" storeParams
849 _ <- traverse (uncurry (IDBObjectStore.add store)) values
851 _ <- traverse (uncurry (IDBObjectStore.add store)) values
850 index <- IDBObjectStore.createIndex store "index" keyPath indexParams
852 index <- IDBObjectStore.createIndex store "index" keyPath indexParams