9.2
Racket
js-maker Use Cases🔗ℹ
Hans Dijkema <hans@dijkewijk.nl>
The demos in "demo/js-usecases.rkt" use only the public
js macro and the compact js-maker 3 form set. They are intentionally
small: their purpose is to show the supported surface language, not to recreate
the larger runtime-helper branch.
2 Unique values🔗ℹ
| (js |
| (define (uniqueValues xs) |
| (return (send Array from (new Set xs))))) |
3 Indexed access🔗ℹ
| (js |
| (define (arrayAt xs i) |
| (return (js-ref xs i)))) |
4 Named let loop🔗ℹ
| (js |
| (define (sumTo n) |
| (let loop ([i 0] [acc 0]) |
| (if (> i n) |
| (return acc) |
| (loop (+ i 1) (+ acc i)))))) |
| (js |
| (define (setHtml id html) |
| (let ([el (send document getElementById id)]) |
| (set! (js-dot el innerHTML) html) |
| (return (js-dot el innerHTML))))) |