# HG changeset patch # User Matthew Wild # Date 1290255094 0 # Node ID e4324d9a824cba882288bfac472686accd36f5e8 # Parent c461e20b609a99600c32fd62ceaaadcad7d0306c Add LVM().registerLib(env, name, lib) to register a table of native functions to an environment. diff -r c461e20b609a -r e4324d9a824c lvm.js --- a/lvm.js Sat Nov 20 12:10:53 2010 +0000 +++ b/lvm.js Sat Nov 20 12:11:34 2010 +0000 @@ -605,6 +605,20 @@ throw "Unhandled opcode: "+INS_OPCODE(instruction); } } + }, + registerLib: function (env, name, lib) + { + var t; + if(name) + { + t = this.LValue({}); // Create env[name] and put fns in there + env.setIndex(this.LValue(name), t); + } + else + t = env; // Import directly into env + + for(var k in lib) + t.setIndex(this.LValue(k), this.LValue(lib[k])); } };