You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
505 B
Racket
26 lines
505 B
Racket
#lang br
|
|
|
|
;; nodejs Buffer object = Racket byte string
|
|
|
|
(define Buffer
|
|
(class object%
|
|
(super-new)
|
|
|
|
(init-field [bstr #""])
|
|
|
|
(define/public (isBuffer x)
|
|
(is-a? x Buffer))
|
|
|
|
(define/public (length)
|
|
(bytes-length bstr))))
|
|
|
|
(define isBuffer (generic Buffer isBuffer))
|
|
|
|
|
|
(module+ test
|
|
(require rackunit)
|
|
(define good-buffer (make-object Buffer #"foo"))
|
|
(check-true (send-generic good-buffer isBuffer good-buffer))
|
|
(check-false (send-generic (new Buffer) isBuffer "foo")))
|
|
|