Skip to content

Commit 47496c7

Browse files
committed
Use raf for loops instead asap
1 parent 6c9c36a commit 47496c7

5 files changed

Lines changed: 27 additions & 60 deletions

File tree

flow-typed/npm/asap_vx.x.x.js

Lines changed: 0 additions & 53 deletions
This file was deleted.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@
3838
},
3939
"homepage": "https://github.com/cssinjs/styled-jss#readme",
4040
"dependencies": {
41-
"asap": "^2.0.5",
4241
"is-react-prop": "^0.0.3",
4342
"jss": "^7.1.0",
44-
"jss-preset-default": "^2.0.0"
43+
"jss-preset-default": "^2.0.0",
44+
"raf": "^3.3.0"
4545
},
4646
"peerDependencies": {
4747
"react": "^15.5.4",

src/tests/sheetsObserver.spec.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,16 @@ it('should reattach updated sheet by observe call', () => {
3131
expect(sheetMock.attach).toHaveBeenCalled()
3232
expect(sheetMock.link).toHaveBeenCalled()
3333
})
34+
35+
it('should reattach updated sheet by listner', () => {
36+
const {sheetMock} = Mocks
37+
sheetsObserver.listen()
38+
39+
const sheetId = sheetsObserver.add(sheetMock)
40+
sheetsObserver.update(sheetId)
41+
42+
setImmediate(() => {
43+
expect(sheetMock.attach).toHaveBeenCalled()
44+
expect(sheetMock.link).toHaveBeenCalled()
45+
})
46+
})

src/utils/sheetsObserver.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import asap from 'asap'
1+
import raf from 'raf'
22

33
import type {
44
JssDynamicSheet
@@ -17,8 +17,9 @@ export const observe = () => {
1717
}
1818

1919
export default {
20-
listen() {
21-
asap(observe)
20+
listen: function listen() {
21+
observe()
22+
raf(listen)
2223
},
2324
add(sheet: JssDynamicSheet) {
2425
dynamicSheets.push(sheet)

yarn.lock

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ arrify@^1.0.0, arrify@^1.0.1:
152152
version "1.0.1"
153153
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
154154

155-
asap@^2.0.5, asap@~2.0.3:
155+
asap@~2.0.3:
156156
version "2.0.5"
157157
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
158158

@@ -3187,7 +3187,7 @@ path-type@^1.0.0:
31873187
pify "^2.0.0"
31883188
pinkie-promise "^2.0.0"
31893189

3190-
performance-now@^0.2.0:
3190+
performance-now@^0.2.0, performance-now@~0.2.0:
31913191
version "0.2.0"
31923192
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
31933193

@@ -3296,6 +3296,12 @@ qs@~6.4.0:
32963296
version "6.4.0"
32973297
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
32983298

3299+
raf@^3.3.0:
3300+
version "3.3.0"
3301+
resolved "https://registry.yarnpkg.com/raf/-/raf-3.3.0.tgz#93845eeffc773f8129039f677f80a36044eee2c3"
3302+
dependencies:
3303+
performance-now "~0.2.0"
3304+
32993305
randomatic@^1.1.3:
33003306
version "1.1.6"
33013307
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"

0 commit comments

Comments
 (0)