Skip to content

Commit f8989a6

Browse files
authored
Generators.{now,width} (#324)
1 parent abf2594 commit f8989a6

File tree

6 files changed

+18
-20
lines changed

6 files changed

+18
-20
lines changed

src/client/main.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import {Runtime} from "observablehq:runtime";
22
import {registerDatabase, registerFile} from "observablehq:stdlib";
3-
import {DatabaseClient, FileAttachment, Generators, Mutable, now, width} from "observablehq:stdlib";
3+
import {DatabaseClient, FileAttachment, Generators, Mutable} from "observablehq:stdlib";
44
import {inspect, inspectError} from "./inspect.js";
55
import * as recommendedLibraries from "./stdlib/recommendedLibraries.js";
66
import * as sampleDatasets from "./stdlib/sampleDatasets.js";
77

88
const library = {
9-
now,
10-
width,
9+
now: () => Generators.now(),
10+
width: () => Generators.width(document.querySelector("main")),
1111
DatabaseClient: () => DatabaseClient,
1212
FileAttachment: () => FileAttachment,
1313
Generators: () => Generators,

src/client/stdlib.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,3 @@ export {DatabaseClient, registerDatabase} from "./stdlib/databaseClient.js";
22
export {FileAttachment, registerFile} from "./stdlib/fileAttachment.js";
33
export * as Generators from "./stdlib/generators/index.js";
44
export {Mutable} from "./stdlib/mutable.js";
5-
export {now} from "./stdlib/now.js";
6-
export {width} from "./stdlib/width.js";
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
export {input} from "./input.js";
2+
export {now} from "./now.js";
23
export {observe} from "./observe.js";
34
export {queue} from "./queue.js";
5+
export {width} from "./width.js";
File renamed without changes.

src/client/stdlib/generators/width.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {observe} from "./observe.js";
2+
3+
export function width(target: Element, options?: ResizeObserverOptions) {
4+
return observe((notify: (width: number) => void) => {
5+
let width: number;
6+
const observer = new ResizeObserver(([entry]) => {
7+
const w = entry.contentRect.width;
8+
if (w !== width) notify((width = w));
9+
});
10+
observer.observe(target, options);
11+
return () => observer.disconnect();
12+
});
13+
}

src/client/stdlib/width.ts

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

0 commit comments

Comments
 (0)