summaryrefslogtreecommitdiff
path: root/module/language/ecmascript/base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/language/ecmascript/base.scm')
-rw-r--r--module/language/ecmascript/base.scm5
1 files changed, 4 insertions, 1 deletions
diff --git a/module/language/ecmascript/base.scm b/module/language/ecmascript/base.scm
index b799067df..1463d358b 100644
--- a/module/language/ecmascript/base.scm
+++ b/module/language/ecmascript/base.scm
@@ -24,7 +24,7 @@
#:export (*undefined* *this*
<js-object> *object-prototype*
js-prototype js-props js-prop-attrs js-value js-constructor js-class
- pget prop-attrs prop-has-attr? pput has-property? pdel
+ pget prop-keys prop-attrs prop-has-attr? pput has-property? pdel
object->string object->number object->value/string
object->value/number object->value
@@ -48,6 +48,9 @@
(constructor #:getter js-constructor #:init-value #f #:init-keyword #:constructor)
(class #:getter js-class #:init-value "Object" #:init-keyword #:class))
+(define-method (prop-keys (o <js-object>))
+ (hash-map->list (lambda (k v) k) (js-props o)))
+
(define-method (pget (o <js-object>) (p <string>))
(pget o (string->symbol p)))