]> git.saurik.com Git - utf16js.git/commitdiff
Simplify utf16.decode API (make points optional).
authorJay Freeman (saurik) <saurik@saurik.com>
Wed, 26 Dec 2012 14:33:36 +0000 (14:33 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Wed, 26 Dec 2012 14:35:05 +0000 (14:35 +0000)
utf16.js

index 89322ec7fc86ea264063ec9761beebb4f75e67cb..e42f42f34c757e64dad1ddf1b1e2874ba6cbe38f 100644 (file)
--- a/utf16.js
+++ b/utf16.js
@@ -2,31 +2,34 @@ if (typeof define !== 'function') { var define = require('amdefine')(module) }
 
 define(function(require) {
 
-var decode = function(array, string) {
+var decode = function(string, points) {
+    if (typeof points === "undefined")
+        points = [];
+
     for (var i = 0, e = string.length; i != e; ++i) {
         var unit = string.charCodeAt(i);
         var part = unit & 0xfc00;
         if (part == 0xdc00)
             return null;
         else if (part != 0xd800)
-            array.push(unit);
+            points.push(unit);
         else if (++i == e)
             return null;
         else {
             var next = string.charCodeAt(i);
             if ((next & 0xfc00) != 0xdc00)
                 return null;
-            array.push(0x10000 | (unit & 0x03ff) << 10 | next & 0x03ff);
+            points.push(0x10000 | (unit & 0x03ff) << 10 | next & 0x03ff);
         }
     }
 
-    return array;
+    return points;
 };
 
-var encode = function(array) {
+var encode = function(points) {
     var units = [];
-    for (var i = 0, e = array.length; i != e; ++i) {
-        var point = array[i];
+    for (var i = 0, e = points.length; i != e; ++i) {
+        var point = points[i];
         if (point < 0x10000)
             units.push(point);
         else {