@@ -1,31 +1,28 @@
1+Elm.Native.Char = {};
2+Elm.Native.Char.make = function(elm) {
3+ elm.Native = elm.Native || {};
4+ if (elm.Native.Char) return elm.Native.Char;
15
2−Elm.Native.Char = function(elm) {
3− 'use strict';
4−
5− elm.Native = elm.Native || {};
6− if (elm.Native.Char) return elm.Native.Char;
7−
8− function isBetween(lo,hi) { return function(chr) {
9− var c = chr.charCodeAt(0);
10− return lo <= c && c <= hi;
11− };
12− }
13− var isDigit = isBetween('0'.charCodeAt(0),'9'.charCodeAt(0));
14− var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
15− var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
16−
17− return elm.Native.Char = {
18− fromCode : function(c) { return String.fromCharCode(c); },
19− toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
20− toUpper : function(c) { return c.toUpperCase(); },
21− toLower : function(c) { return c.toLowerCase(); },
22− toLocaleUpper : function(c) { return c.toLocaleUpperCase(); },
23− toLocaleLower : function(c) { return c.toLocaleLowerCase(); },
24− isLower : isBetween('a'.charCodeAt(0),'z'.charCodeAt(0)),
25− isUpper : isBetween('A'.charCodeAt(0),'Z'.charCodeAt(0)),
26− isDigit : isDigit,
27− isOctDigit : isBetween('0'.charCodeAt(0),'7'.charCodeAt(0)),
28− isHexDigit : function(c) { return isDigit(c) || chk1(c) || chk2(c); }
29− };
6+ function isBetween(lo,hi) { return function(chr) {
7+ var c = chr.charCodeAt(0);
8+ return lo <= c && c <= hi;
9+ };
10+ }
11+ var isDigit = isBetween('0'.charCodeAt(0),'9'.charCodeAt(0));
12+ var chk1 = isBetween('a'.charCodeAt(0),'f'.charCodeAt(0));
13+ var chk2 = isBetween('A'.charCodeAt(0),'F'.charCodeAt(0));
3014
15+ return elm.Native.Char = {
16+ fromCode : function(c) { return String.fromCharCode(c); },
17+ toCode : function(c) { return c.toUpperCase().charCodeAt(0); },
18+ toUpper : function(c) { return c.toUpperCase(); },
19+ toLower : function(c) { return c.toLowerCase(); },
20+ toLocaleUpper : function(c) { return c.toLocaleUpperCase(); },
21+ toLocaleLower : function(c) { return c.toLocaleLowerCase(); },
22+ isLower : isBetween('a'.charCodeAt(0),'z'.charCodeAt(0)),
23+ isUpper : isBetween('A'.charCodeAt(0),'Z'.charCodeAt(0)),
24+ isDigit : isDigit,
25+ isOctDigit : isBetween('0'.charCodeAt(0),'7'.charCodeAt(0)),
26+ isHexDigit : function(c) { return isDigit(c) || chk1(c) || chk2(c); }
27+ };
3128};