elm/core-js/String.js

84 lines
2.1 KiB
JavaScript
Raw Normal View History

/*
var String = function() {
function append(s1) { return function(s2) {
return s1.concat(s2);
};
}
function map(f) { return function(s) {
for (var i = s.length; i--; ) { s[i] = f(s[i]); }
};
}
function intercalate(sep) { return function(ss) {
return Value.listToArray(ss).join(sep);
};
}
function intersperse(sep) { return function(s) {
return s.split("").join(sep);
};
}
function foldl(f) { return function(b) { return function(s) {
var acc = b;
for (var i = 0, len = s.length; i < len; ++i) { acc = f(s[i])(acc); }
return acc;
};
};
}
function foldr(f) { return function(b) { return function(s) {
var acc = b;
for (var i = s.length; i--; ) { acc = f(s[i])(acc); }
return acc;
};
};
}
function concatMap(f) { return function(s) {
var a = s.split("");
for (var i = a.length; i--; ) { a[i] = f(a[i]); }
return a.join("");
};
}
function forall(pred) { return function(s) {
for (var i = s.length; i--; ) { if (!pred(s[i])) {return false}; }
return true;
};
}
function exists(pred) { return function(s) {
for (var i = s.length; i--; ) { if (pred(s[i])) {return true}; }
return false;
};
}
return {cons : append,
snoc : append,
head : function(s) { return s[0]; },
last : function(s) { return s[s.length-1]; },
tail : function(s) { return s.slice(1); },
length : function(s) { return s.length; },
map : map,
intercalate : intercalate,
intersperse : intersperse,
reverse : function(s) { return s.split("").reverse().join(""); },
toLower : function(s) { return s.toLowerCase(); },
toUpper : function(s) { return s.toUpperCase(); },
foldl : foldl,
foldr : foldr,
concat : function(ss) { return Value.listToArray(ss).join(""); },
concatMap : concatMap,
forall : forall,
exists : exists,
//filter : filter,
//take:,
//drop:,
toText : Value.toText,
properEscape : Value.properEscape
};
}();
*/
var String = {toText:Value.toText, properEscape:Value.properEscape};