Skip to content

Commit f23e04a

Browse files
committed
refactor: establish Observers folder feature
1 parent 1fbdace commit f23e04a

7 files changed

Lines changed: 13 additions & 20 deletions

rescript.json

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
"WebAPI.Media": ["WebAPI.HTML", "Media"],
2020
"WebAPI.WebAudio": ["WebAPI.Media", "WebAPI.Messaging", "WebAudio"],
2121
"WebAPI.SVG": ["WebAPI.DOMNodes", "WebAPI.Geometry", "SVG"],
22+
"WebAPI.Observers": [
23+
"WebAPI.DOMNodes",
24+
"WebAPI.Geometry",
25+
"Observers"
26+
],
2227
"WebAPI.File": ["WebAPI.Event", "File"],
2328
"WebAPI.URL": ["WebAPI.DOM", "URL"],
2429
"WebAPI.Fetch": ["WebAPI.Event", "WebAPI.File", "WebAPI.URL", "Fetch"],
@@ -361,12 +366,14 @@
361366
]
362367
},
363368
{
364-
"dir": "src/IntersectionObserver",
369+
"dir": "src/observers",
365370
"subdirs": true,
366-
"feature": "WebAPI.IntersectionObserver",
371+
"feature": "Observers",
367372
"public": [
368373
"IntersectionObserver",
369-
"IntersectionObserverRoot"
374+
"IntersectionObserverRoot",
375+
"MutationObserver",
376+
"ResizeObserver"
370377
]
371378
},
372379
{
@@ -402,14 +409,6 @@
402409
"VideoPlaybackQuality"
403410
]
404411
},
405-
{
406-
"dir": "src/MutationObserver",
407-
"subdirs": true,
408-
"feature": "WebAPI.MutationObserver",
409-
"public": [
410-
"MutationObserver"
411-
]
412-
},
413412
{
414413
"dir": "src/performance",
415414
"subdirs": true,
@@ -428,14 +427,6 @@
428427
"Permissions"
429428
]
430429
},
431-
{
432-
"dir": "src/ResizeObserver",
433-
"subdirs": true,
434-
"feature": "WebAPI.ResizeObserver",
435-
"public": [
436-
"ResizeObserver"
437-
]
438-
},
439430
{
440431
"dir": "src/ServiceWorker",
441432
"subdirs": true,
File renamed without changes.

src/IntersectionObserver/IntersectionObserverRoot.res renamed to src/observers/IntersectionObserverRoot.res

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ type decoded =
1010
| Document(DOM.document)
1111
| Null
1212

13+
let isDocument = (_: 't): bool => %raw(`param instanceof Document`)
14+
1315
let decode = (t: IntersectionObserverTypes.root): decoded => {
1416
if Element.isInstanceOf(t) {
1517
Element(t->toElement)
16-
} else if Document.isInstanceOf(t) {
18+
} else if isDocument(t) {
1719
Document(t->toDocument)
1820
} else {
1921
Null
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)