@@ -0,0 +1,85 @@
1+Elm.Native.String = {};
2+Elm.Native.String.make = function(elm) {
3+ elm.Native = elm.Native || {};
4+ elm.Native.String = elm.Native.String || {};
5+ if (elm.Native.String.values) return elm.Native.String.values;
6+ if ('values' in Elm.Native.String)
7+ return elm.Native.String.values = Elm.Native.String.values;
9+ function isEmpty(str) {
10+ return str.length === 0;
12+ function map(f,str) {
15+ function filter(pred,str) {
16+ return str.filter(pred);
18+ function reverse(str) {
19+ return str.reverse();
22+ function repeat(n, chr) {
25+ if (n & 1) result += chr;
30+ function center(n,chr,str) {
31+ var half = n - str.length / 2;
32+ return repeat(Math.ceil(half),chr) + str + repeat(half|0,chr);
34+ function justifyLeft(n,chr,str) {
35+ return str + repeat(n - str.length, chr);
37+ function justifyRight(n,chr,str) {
38+ return repeat(n - str.length, chr) + str;
41+ function strip(str) {
44+ function stripLeft(str) {
45+ return str.trimLeft();
47+ function stripRight(str) {
48+ return str.trimRight();
51+ function words(str) {
52+ return str.split(/\s+/g);
54+ function unwords(str) {
55+ return str.join(' ');
57+ function lines(str) {
58+ return str.split(/\r\n|\r|\n/g);
60+ function unlines(str) {
61+ return str.join('\n');
72+ justifyLeft: F3(justifyLeft),
73+ justifyRight: F3(justifyRight),
76+ stripLeft: stripLeft,
77+ stripRight: stripRight,