Skip to content

Commit deb63af

Browse files
committed
migrations for Js_string2
1 parent cbb9407 commit deb63af

9 files changed

+625
-9
lines changed

runtime/Js_string2.res

Lines changed: 210 additions & 8 deletions
Large diffs are not rendered by default.

runtime/Stdlib_Array.res

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ external unsafe_get: (array<'a>, int) => 'a = "%array_unsafe_get"
1313
@val
1414
external fromArrayLikeWithMap: (arrayLike<'a>, 'a => 'b) => array<'b> = "Array.from"
1515

16+
@val external fromString: string => array<string> = "Array.from"
17+
1618
@send external fillAll: (array<'a>, 'a) => unit = "fill"
1719

1820
@send external fillToEnd: (array<'a>, 'a, ~start: int) => unit = "fill"

runtime/Stdlib_Array.resi

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,17 @@ external fromIterator: Stdlib_Iterator.t<'a> => array<'a> = "Array.from"
3131
@val
3232
external fromArrayLikeWithMap: (arrayLike<'a>, 'a => 'b) => array<'b> = "Array.from"
3333

34+
/**
35+
`fromString(str)` creates an array of each character as a separate string from the provided `str`.
36+
37+
## Examples
38+
39+
```rescript
40+
Array.fromString("abcde") == ["a", "b", "c", "d", "e"]
41+
```
42+
*/
43+
@val external fromString: string => array<string> = "Array.from"
44+
3445
/**
3546
`make(~length, init)` creates an array of length `length` initialized with the value of `init`.
3647

runtime/Stdlib_String.resi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,7 @@ String.trimStart(" Hello world! ") == "Hello world! "
10701070
external trimStart: string => string = "trimStart"
10711071

10721072
/**
1073-
`trinEnd(str)` returns a string that is `str` with whitespace stripped from the
1073+
`trimEnd(str)` returns a string that is `str` with whitespace stripped from the
10741074
end of a string. Internal whitespace is not removed.
10751075
See [`String.trimEnd`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimEnd) on MDN.
10761076
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
let normalizeByForm1 = "abcde"->String.normalizeByForm("a")
2+
let normalizeByForm2 = String.normalizeByForm("abcde", "a")
3+
4+
let unsafeReplaceBy01 = "abcde"->String.replaceRegExpBy0Unsafe(/d/, (_, _, _) => "f")
5+
let unsafeReplaceBy02 = String.replaceRegExpBy0Unsafe("abcde", /d/, (_, _, _) => "f")
6+
7+
let unsafeReplaceBy11 = "abcde"->String.replaceRegExpBy1Unsafe(/d/, (_, _, _, _) => "f")
8+
let unsafeReplaceBy12 = String.replaceRegExpBy1Unsafe("abcde", /d/, (_, _, _, _) => "f")
9+
10+
let unsafeReplaceBy21 = "abcde"->String.replaceRegExpBy2Unsafe(/d/, (_, _, _, _, _) => "f")
11+
let unsafeReplaceBy22 = String.replaceRegExpBy2Unsafe("abcde", /d/, (_, _, _, _, _) => "f")
12+
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
let make1 = 1->String.make
2+
let make2 = String.make(1)
3+
4+
let fromCharCode1 = 65->String.fromCharCode
5+
let fromCharCode2 = String.fromCharCode(65)
6+
7+
let fromCharCodeMany1 = [65, 66, 67]->String.fromCharCodeMany
8+
let fromCharCodeMany2 = String.fromCharCodeMany([65, 66, 67])
9+
10+
let fromCodePoint1 = 65->String.fromCodePoint
11+
let fromCodePoint2 = String.fromCodePoint(65)
12+
13+
let fromCodePointMany1 = [65, 66, 67]->String.fromCodePointMany
14+
let fromCodePointMany2 = String.fromCodePointMany([65, 66, 67])
15+
16+
let length1 = "abcde"->String.length
17+
let length2 = String.length("abcde")
18+
19+
let get1 = "abcde"->String.getUnsafe(2)
20+
let get2 = String.getUnsafe("abcde", 2)
21+
22+
let charAt1 = "abcde"->String.charAt(2)
23+
let charAt2 = String.charAt("abcde", 2)
24+
25+
let charCodeAt1 = "abcde"->String.charCodeAt(2)
26+
let charCodeAt2 = String.charCodeAt("abcde", 2)
27+
28+
let codePointAt1 = "abcde"->String.codePointAt(2)
29+
let codePointAt2 = String.codePointAt("abcde", 2)
30+
31+
let concat1 = "abcde"->String.concat("fghij")
32+
let concat2 = String.concat("abcde", "fghij")
33+
34+
let concatMany1 = "abcde"->String.concatMany(["fghij", "klmno"])
35+
let concatMany2 = String.concatMany("abcde", ["fghij", "klmno"])
36+
37+
let endsWith1 = "abcde"->String.endsWith("de")
38+
let endsWith2 = String.endsWith("abcde", "de")
39+
40+
let endsWithFrom1 = "abcde"->String.endsWithFrom("d", 2)
41+
let endsWithFrom2 = String.endsWithFrom("abcde", "d", 2)
42+
43+
let includes1 = "abcde"->String.includes("de")
44+
let includes2 = String.includes("abcde", "de")
45+
46+
let includesFrom1 = "abcde"->String.includesFrom("d", 2)
47+
let includesFrom2 = String.includesFrom("abcde", "d", 2)
48+
49+
let indexOf1 = "abcde"->String.indexOf("de")
50+
let indexOf2 = String.indexOf("abcde", "de")
51+
52+
let indexOfFrom1 = "abcde"->String.indexOfFrom("d", 2)
53+
let indexOfFrom2 = String.indexOfFrom("abcde", "d", 2)
54+
55+
let lastIndexOf1 = "abcde"->String.lastIndexOf("de")
56+
let lastIndexOf2 = String.lastIndexOf("abcde", "de")
57+
58+
let lastIndexOfFrom1 = "abcde"->String.lastIndexOfFrom("d", 2)
59+
let lastIndexOfFrom2 = String.lastIndexOfFrom("abcde", "d", 2)
60+
61+
let localeCompare1 = "abcde"->String.localeCompare("fghij")
62+
let localeCompare2 = String.localeCompare("abcde", "fghij")
63+
64+
let match1 = "abcde"->String.match(/d/)
65+
let match2 = String.match("abcde", /d/)
66+
67+
let normalize1 = "abcde"->String.normalize
68+
let normalize2 = String.normalize("abcde")
69+
70+
let repeat1 = "abcde"->String.repeat(2)
71+
let repeat2 = String.repeat("abcde", 2)
72+
73+
let replace1 = "abcde"->String.replace("d", "f")
74+
let replace2 = String.replace("abcde", "d", "f")
75+
76+
let replaceByRe1 = "abcde"->String.replaceRegExp(/d/, "f")
77+
let replaceByRe2 = String.replaceRegExp("abcde", /d/, "f")
78+
79+
let search1 = "abcde"->String.search(/d/)
80+
let search2 = String.search("abcde", /d/)
81+
82+
let slice1 = "abcde"->String.slice(~start=1, ~end=3)
83+
let slice2 = String.slice("abcde", ~start=1, ~end=3)
84+
85+
let sliceToEnd1 = "abcde"->String.sliceToEnd(~start=1)
86+
let sliceToEnd2 = String.sliceToEnd("abcde", ~start=1)
87+
88+
let split1 = "abcde"->String.split("d")
89+
let split2 = String.split("abcde", "d")
90+
91+
let splitAtMost1 = "abcde"->String.splitAtMost("d", ~limit=2)
92+
let splitAtMost2 = String.splitAtMost("abcde", "d", ~limit=2)
93+
94+
let splitByRe1 = "abcde"->String.splitByRegExp(/d/)
95+
let splitByRe2 = String.splitByRegExp("abcde", /d/)
96+
97+
let splitByReAtMost1 = "abcde"->String.splitByRegExpAtMost(/d/, ~limit=2)
98+
let splitByReAtMost2 = String.splitByRegExpAtMost("abcde", /d/, ~limit=2)
99+
100+
let startsWith1 = "abcde"->String.startsWith("ab")
101+
let startsWith2 = String.startsWith("abcde", "ab")
102+
103+
let startsWithFrom1 = "abcde"->String.startsWithFrom("b", 1)
104+
let startsWithFrom2 = String.startsWithFrom("abcde", "b", 1)
105+
106+
let substring1 = "abcde"->String.substring(~start=1, ~end=3)
107+
let substring2 = String.substring("abcde", ~start=1, ~end=3)
108+
109+
let substringToEnd1 = "abcde"->String.substringToEnd(~start=1)
110+
let substringToEnd2 = String.substringToEnd("abcde", ~start=1)
111+
112+
let toLowerCase1 = "abcde"->String.toLowerCase
113+
let toLowerCase2 = String.toLowerCase("abcde")
114+
115+
let toLocaleLowerCase1 = "abcde"->String.toLocaleLowerCase
116+
let toLocaleLowerCase2 = String.toLocaleLowerCase("abcde")
117+
118+
let toUpperCase1 = "abcde"->String.toUpperCase
119+
let toUpperCase2 = String.toUpperCase("abcde")
120+
121+
let toLocaleUpperCase1 = "abcde"->String.toLocaleUpperCase
122+
let toLocaleUpperCase2 = String.toLocaleUpperCase("abcde")
123+
124+
let trim1 = "abcde"->String.trim
125+
let trim2 = String.trim("abcde")
126+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
let normalizeByForm1 = "abcde"->Js.String2.normalizeByForm("a")
2+
let normalizeByForm2 = Js.String2.normalizeByForm("abcde", "a")
3+
4+
let unsafeReplaceBy01 = "abcde"->Js.String2.unsafeReplaceBy0(/d/, (_, _, _) => "f")
5+
let unsafeReplaceBy02 = Js.String2.unsafeReplaceBy0("abcde", /d/, (_, _, _) => "f")
6+
7+
let unsafeReplaceBy11 = "abcde"->Js.String2.unsafeReplaceBy1(/d/, (_, _, _, _) => "f")
8+
let unsafeReplaceBy12 = Js.String2.unsafeReplaceBy1("abcde", /d/, (_, _, _, _) => "f")
9+
10+
let unsafeReplaceBy21 = "abcde"->Js.String2.unsafeReplaceBy2(/d/, (_, _, _, _, _) => "f")
11+
let unsafeReplaceBy22 = Js.String2.unsafeReplaceBy2("abcde", /d/, (_, _, _, _, _) => "f")
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
let make1 = 1->Js.String2.make
2+
let make2 = Js.String2.make(1)
3+
4+
let fromCharCode1 = 65->Js.String2.fromCharCode
5+
let fromCharCode2 = Js.String2.fromCharCode(65)
6+
7+
let fromCharCodeMany1 = [65, 66, 67]->Js.String2.fromCharCodeMany
8+
let fromCharCodeMany2 = Js.String2.fromCharCodeMany([65, 66, 67])
9+
10+
let fromCodePoint1 = 65->Js.String2.fromCodePoint
11+
let fromCodePoint2 = Js.String2.fromCodePoint(65)
12+
13+
let fromCodePointMany1 = [65, 66, 67]->Js.String2.fromCodePointMany
14+
let fromCodePointMany2 = Js.String2.fromCodePointMany([65, 66, 67])
15+
16+
let length1 = "abcde"->Js.String2.length
17+
let length2 = Js.String2.length("abcde")
18+
19+
let get1 = "abcde"->Js.String2.get(2)
20+
let get2 = Js.String2.get("abcde", 2)
21+
22+
let charAt1 = "abcde"->Js.String2.charAt(2)
23+
let charAt2 = Js.String2.charAt("abcde", 2)
24+
25+
let charCodeAt1 = "abcde"->Js.String2.charCodeAt(2)
26+
let charCodeAt2 = Js.String2.charCodeAt("abcde", 2)
27+
28+
let codePointAt1 = "abcde"->Js.String2.codePointAt(2)
29+
let codePointAt2 = Js.String2.codePointAt("abcde", 2)
30+
31+
let concat1 = "abcde"->Js.String2.concat("fghij")
32+
let concat2 = Js.String2.concat("abcde", "fghij")
33+
34+
let concatMany1 = "abcde"->Js.String2.concatMany(["fghij", "klmno"])
35+
let concatMany2 = Js.String2.concatMany("abcde", ["fghij", "klmno"])
36+
37+
let endsWith1 = "abcde"->Js.String2.endsWith("de")
38+
let endsWith2 = Js.String2.endsWith("abcde", "de")
39+
40+
let endsWithFrom1 = "abcde"->Js.String2.endsWithFrom("d", 2)
41+
let endsWithFrom2 = Js.String2.endsWithFrom("abcde", "d", 2)
42+
43+
let includes1 = "abcde"->Js.String2.includes("de")
44+
let includes2 = Js.String2.includes("abcde", "de")
45+
46+
let includesFrom1 = "abcde"->Js.String2.includesFrom("d", 2)
47+
let includesFrom2 = Js.String2.includesFrom("abcde", "d", 2)
48+
49+
let indexOf1 = "abcde"->Js.String2.indexOf("de")
50+
let indexOf2 = Js.String2.indexOf("abcde", "de")
51+
52+
let indexOfFrom1 = "abcde"->Js.String2.indexOfFrom("d", 2)
53+
let indexOfFrom2 = Js.String2.indexOfFrom("abcde", "d", 2)
54+
55+
let lastIndexOf1 = "abcde"->Js.String2.lastIndexOf("de")
56+
let lastIndexOf2 = Js.String2.lastIndexOf("abcde", "de")
57+
58+
let lastIndexOfFrom1 = "abcde"->Js.String2.lastIndexOfFrom("d", 2)
59+
let lastIndexOfFrom2 = Js.String2.lastIndexOfFrom("abcde", "d", 2)
60+
61+
let localeCompare1 = "abcde"->Js.String2.localeCompare("fghij")
62+
let localeCompare2 = Js.String2.localeCompare("abcde", "fghij")
63+
64+
let match1 = "abcde"->Js.String2.match_(/d/)
65+
let match2 = Js.String2.match_("abcde", /d/)
66+
67+
let normalize1 = "abcde"->Js.String2.normalize
68+
let normalize2 = Js.String2.normalize("abcde")
69+
70+
let repeat1 = "abcde"->Js.String2.repeat(2)
71+
let repeat2 = Js.String2.repeat("abcde", 2)
72+
73+
let replace1 = "abcde"->Js.String2.replace("d", "f")
74+
let replace2 = Js.String2.replace("abcde", "d", "f")
75+
76+
let replaceByRe1 = "abcde"->Js.String2.replaceByRe(/d/, "f")
77+
let replaceByRe2 = Js.String2.replaceByRe("abcde", /d/, "f")
78+
79+
let search1 = "abcde"->Js.String2.search(/d/)
80+
let search2 = Js.String2.search("abcde", /d/)
81+
82+
let slice1 = "abcde"->Js.String2.slice(~from=1, ~to_=3)
83+
let slice2 = Js.String2.slice("abcde", ~from=1, ~to_=3)
84+
85+
let sliceToEnd1 = "abcde"->Js.String2.sliceToEnd(~from=1)
86+
let sliceToEnd2 = Js.String2.sliceToEnd("abcde", ~from=1)
87+
88+
let split1 = "abcde"->Js.String2.split("d")
89+
let split2 = Js.String2.split("abcde", "d")
90+
91+
let splitAtMost1 = "abcde"->Js.String2.splitAtMost("d", ~limit=2)
92+
let splitAtMost2 = Js.String2.splitAtMost("abcde", "d", ~limit=2)
93+
94+
let splitByRe1 = "abcde"->Js.String2.splitByRe(/d/)
95+
let splitByRe2 = Js.String2.splitByRe("abcde", /d/)
96+
97+
let splitByReAtMost1 = "abcde"->Js.String2.splitByReAtMost(/d/, ~limit=2)
98+
let splitByReAtMost2 = Js.String2.splitByReAtMost("abcde", /d/, ~limit=2)
99+
100+
let startsWith1 = "abcde"->Js.String2.startsWith("ab")
101+
let startsWith2 = Js.String2.startsWith("abcde", "ab")
102+
103+
let startsWithFrom1 = "abcde"->Js.String2.startsWithFrom("b", 1)
104+
let startsWithFrom2 = Js.String2.startsWithFrom("abcde", "b", 1)
105+
106+
let substring1 = "abcde"->Js.String2.substring(~from=1, ~to_=3)
107+
let substring2 = Js.String2.substring("abcde", ~from=1, ~to_=3)
108+
109+
let substringToEnd1 = "abcde"->Js.String2.substringToEnd(~from=1)
110+
let substringToEnd2 = Js.String2.substringToEnd("abcde", ~from=1)
111+
112+
let toLowerCase1 = "abcde"->Js.String2.toLowerCase
113+
let toLowerCase2 = Js.String2.toLowerCase("abcde")
114+
115+
let toLocaleLowerCase1 = "abcde"->Js.String2.toLocaleLowerCase
116+
let toLocaleLowerCase2 = Js.String2.toLocaleLowerCase("abcde")
117+
118+
let toUpperCase1 = "abcde"->Js.String2.toUpperCase
119+
let toUpperCase2 = Js.String2.toUpperCase("abcde")
120+
121+
let toLocaleUpperCase1 = "abcde"->Js.String2.toLocaleUpperCase
122+
let toLocaleUpperCase2 = Js.String2.toLocaleUpperCase("abcde")
123+
124+
let trim1 = "abcde"->Js.String2.trim
125+
let trim2 = Js.String2.trim("abcde")

0 commit comments

Comments
 (0)