Add LVM().registerLib(env, name, lib) to register a table of native functions to an environment.

Sat, 20 Nov 2010 12:11:34 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 20 Nov 2010 12:11:34 +0000
changeset 96
e4324d9a824c
parent 95
c461e20b609a
child 97
80cc68dd8222

Add LVM().registerLib(env, name, lib) to register a table of native functions to an environment.

lvm.js file | annotate | diff | comparison | revisions
--- 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]));
 	}
 };
 

mercurial