From 8f8f747628e01358fa896e675a271aa03671c950 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 24 Oct 2016 22:26:47 -0700 Subject: [PATCH] ircd::js: Add additional secondary object constructions. --- include/ircd/js/object.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/include/ircd/js/object.h b/include/ircd/js/object.h index 0db4b2e21..daff7e1dd 100644 --- a/include/ircd/js/object.h +++ b/include/ircd/js/object.h @@ -34,6 +34,8 @@ struct object operator JS::Value() const; // new object + object(const JSClass *const &, const handle &ctor, const JS::HandleValueArray &args); + object(const JSClass *const &, const JS::CallArgs &args); object(const JSClass *const &, const object &proto); object(const JSClass *const &); @@ -131,6 +133,29 @@ object::object(const JSClass *const &clasp, { } +inline +object::object(const JSClass *const &clasp, + const JS::CallArgs &args) +:JS::Rooted +{ + *cx, + JS_NewObjectForConstructor(*cx, clasp, args) +} +{ +} + +inline +object::object(const JSClass *const &clasp, + const object::handle &ctor, + const JS::HandleValueArray &args) +:JS::Rooted +{ + *cx, + JS_New(*cx, ctor, args) +} +{ +} + inline object::operator JS::Value() const