OSDN Git Service

Add StringUtils.jsh
authorNagao Takeyuki <nagaotakeyuki@gmail.com>
Sun, 13 Sep 2009 05:49:08 +0000 (14:49 +0900)
committerNagao Takeyuki <nagaotakeyuki@gmail.com>
Sun, 13 Sep 2009 05:49:08 +0000 (14:49 +0900)
Signed-off-by: Nagao Takeyuki <nagaotakeyuki@gmail.com>
src/js/include/jdisp/StringUtils.jsh [new file with mode: 0644]
src/js/include/jdisp/package.jsh

diff --git a/src/js/include/jdisp/StringUtils.jsh b/src/js/include/jdisp/StringUtils.jsh
new file mode 100644 (file)
index 0000000..b4bf0ef
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef _JDISP_STRINGUTILS_JSH\r
+#define _JDISP_STRINGUTILS_JSH\r
+\r
+OOP_CLASS(StringUtils) = function() {};\r
+\r
+OOP_METHOD(StringUtils, formatTuple) = function ()\r
+{\r
+  var i;\r
+  var lp = new jdisp.text.ListPrinter('(', ',', ')');\r
+  // Note that arguments is a local variable and that it is not an array.\r
+  for (i=0; i<arguments.length; i++)\r
+    lp.append(arguments[i]);\r
+  return lp.toString();\r
+};\r
+\r
+\r
+OOP_METHOD(StringUtils, formatPoint) = function (point)\r
+{\r
+  if (IS_NON_NULL_OBJECT(point)) {\r
+    return this.formatTuple(point.x, point.y);\r
+  } else {\r
+    return "(invalid-point)";\r
+  }\r
+};\r
+\r
+OOP_METHOD(StringUtils, formatDimension) = function (size)\r
+{\r
+  if (IS_NON_NULL_OBJECT(size)) {\r
+    return this.formatTuple(size.width, size.height);\r
+  } else {\r
+    return "(invalid-dimension)";\r
+  }\r
+};\r
+\r
+OOP_METHOD(StringUtils, camelize) = function (str)\r
+{\r
+  var out = str;\r
+  if (/-/.exec(str)) {\r
+    var ns = str.split('-');\r
+    out = '';\r
+    for (i=0; i<ns.length; i++) {\r
+      if (/^([a-zA-Z])(.*)$/.exec(ns[i])) {\r
+        out += RegExp.$1.toUpperCase() + RegExp.$2;\r
+      }\r
+    }\r
+  }\r
+  return out;\r
+}\r
+\r
+#endif /* _JDISP_STRINGUTILS_JSH */\r
index beac585..5043d56 100644 (file)
@@ -8,6 +8,7 @@ OOP_DECLARE_NAMESPACE1(jdisp)
 #include "Global.jsh"
 #include "DomUtils.jsh"
 #include "Browser.jsh"
+#include "StringUtils.jsh"
  
 OOP_NAMESPACE.global = new OOP_NAMESPACE.Global();
 OOP_NAMESPACE.domUtils = new OOP_NAMESPACE.DomUtils();