Remove unused libjs functions.
[ab/samba.git/.git] / source / scripting / libjs / base.js
1 /*
2         base js library functions
3         Copyright Andrew Tridgell 2005
4         released under the GNU GPL version 3 or later
5 */
6
7 if (global["HAVE_BASE_JS"] != undefined) {
8    return;
9 }
10 HAVE_BASE_JS=1
11
12 /* bring the string functions into the global frame */
13 string_init(global);
14
15 /*
16   an essential function!
17 */
18 function printf()
19 {
20         print(vsprintf(arguments));
21 }
22
23 /*
24   substitute strings of the form ${NAME} in str, replacing
25   with substitutions from subobj
26 */
27 function substitute_var(str, subobj)
28 {
29         var list = split("${", str);
30         var i;
31         for (i=1;i<list.length;i++) {
32                 var list2 = split("}", list[i], 1);
33                 if ((list2.length < 2) && (list2[0] + "}" != list[i])) {
34                         return undefined;
35                 }
36                 var key = list2[0];
37                 var val;
38                 if (typeof(subobj[key]) == "undefined") {
39                         val = "${" + key + "}";
40                 } else if (typeof(subobj[key]) == "string") {
41                         val = subobj[key];
42                 } else {
43                         var fn = subobj[key];
44                         val = fn(key);
45                 }
46                 list2[0] = "" + val;
47                 list[i] = join("", list2);
48         }
49         return join("", list);
50 }