Skip to content

Commit 917e30c

Browse files
authored
Merge pull request rescript-lang#2817 from BuckleScript/add_changes_update_docs
update changes
2 parents 104b4e3 + 0174ff2 commit 917e30c

File tree

238 files changed

+3862
-2131
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

238 files changed

+3862
-2131
lines changed

Changes.md

+25
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
# 3.1.0
2+
3+
Features:
4+
5+
- #2809, #2806 Sync up with latest reason
6+
- #2805, allow `x |. Some `
7+
- #2797, #2771 `-bs-g`
8+
- #2793 more bindings to Js.Console
9+
- #2621 add Belt.Result module
10+
- #2760 add Belt.Array.unzip
11+
12+
Perf:
13+
14+
- #2808 better code gen for if then else
15+
- #2804 make HashSet.String size smaller
16+
17+
Fixes:
18+
19+
- #2812, compatibility with Node 10
20+
- #2789, fix Weak.length
21+
- #2790, fix Belt.Set performance issue
22+
- #2786, fix polymorphic compare on nullables
23+
- #2781, improve location info on bs.deriving abstract
24+
- #2776, lift the function limitation on bs.deriving abstract
25+
- #2752, fix binding Buffer.toString
126
# 3.0.0
227

328
Features:

docs/api/Belt.Array.html

+15
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<body>
1313
<nav class="module-index"><ul><li><a href="Belt.html">Belt</a></li>
1414
<li><a href="Belt_Array.html">Belt_Array</a></li>
15+
<li><a href="Belt_Debug.html">Belt_Debug</a></li>
1516
<li><a href="Belt_HashMap.html">Belt_HashMap</a></li>
1617
<li><a href="Belt_HashMapInt.html">Belt_HashMapInt</a></li>
1718
<li><a href="Belt_HashMapString.html">Belt_HashMapString</a></li>
@@ -34,6 +35,7 @@
3435
<li><a href="Belt_MutableStack.html">Belt_MutableStack</a></li>
3536
<li><a href="Belt_Option.html">Belt_Option</a></li>
3637
<li><a href="Belt_Range.html">Belt_Range</a></li>
38+
<li><a href="Belt_Result.html">Belt_Result</a></li>
3739
<li><a href="Belt_Set.html">Belt_Set</a></li>
3840
<li><a href="Belt_SetDict.html">Belt_SetDict</a></li>
3941
<li><a href="Belt_SetInt.html">Belt_SetInt</a></li>
@@ -401,6 +403,19 @@ <h1>Module <a href="type_Belt.Array.html">Belt.Array</a></h1>
401403
</div>
402404

403405

406+
<pre><span id="VALunzip"><span class="keyword">val</span> unzip</span> : <code class="type">('a * 'b) array -> 'a array * 'b array</code></pre><div class="info ">
407+
<div class="not-examples">
408+
<code class="code">unzip a</code> takes an array of pairs and creates a pair of arrays. The first array contains all the first items of the pairs; the second array contains all the second items.<br>
409+
410+
</div>
411+
<div class="examples">
412+
<pre class="example"> <pre class="codepre"><code class="code"> unzip [|(1,2) ; (3,4)|] = ([|1;3|], [|2;4|]);;
413+
unzip [|(1,2) ; (3,4) ; (5,6) ; (7,8)|] = ([|1;3;5;7|], [|2;4;6;8|]);;
414+
</code></pre> </pre>
415+
</div>
416+
</div>
417+
418+
404419
<pre><span id="VALconcat"><span class="keyword">val</span> concat</span> : <code class="type">'a array -> 'a array -> 'a array</code></pre><div class="info ">
405420
<div class="not-examples">
406421
<code class="code">concat xs ys</code><br>

docs/api/Belt.Debug.html

+115
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
<!doctype html>
2+
<html>
3+
<head>
4+
<link rel="stylesheet" href="../api_static/tomorrow-night.css">
5+
<link rel="stylesheet" href="../api_static/style.css" type="text/css">
6+
<script src="../api_static//highlight.pack.js"></script>
7+
<script src="../api_static//script.js"></script>
8+
<script>hljs.initHighlightingOnLoad();</script>
9+
<meta charset="utf8">
10+
<link rel="previous" href="Belt.Result.html">
11+
<title> Belt.Debug </title></head>
12+
<body>
13+
<nav class="module-index"><ul><li><a href="Belt.html">Belt</a></li>
14+
<li><a href="Belt_Array.html">Belt_Array</a></li>
15+
<li><a href="Belt_Debug.html">Belt_Debug</a></li>
16+
<li><a href="Belt_HashMap.html">Belt_HashMap</a></li>
17+
<li><a href="Belt_HashMapInt.html">Belt_HashMapInt</a></li>
18+
<li><a href="Belt_HashMapString.html">Belt_HashMapString</a></li>
19+
<li><a href="Belt_HashSet.html">Belt_HashSet</a></li>
20+
<li><a href="Belt_HashSetInt.html">Belt_HashSetInt</a></li>
21+
<li><a href="Belt_HashSetString.html">Belt_HashSetString</a></li>
22+
<li><a href="Belt_Id.html">Belt_Id</a></li>
23+
<li><a href="Belt_List.html">Belt_List</a></li>
24+
<li><a href="Belt_Map.html">Belt_Map</a></li>
25+
<li><a href="Belt_MapDict.html">Belt_MapDict</a></li>
26+
<li><a href="Belt_MapInt.html">Belt_MapInt</a></li>
27+
<li><a href="Belt_MapString.html">Belt_MapString</a></li>
28+
<li><a href="Belt_MutableMap.html">Belt_MutableMap</a></li>
29+
<li><a href="Belt_MutableMapInt.html">Belt_MutableMapInt</a></li>
30+
<li><a href="Belt_MutableMapString.html">Belt_MutableMapString</a></li>
31+
<li><a href="Belt_MutableQueue.html">Belt_MutableQueue</a></li>
32+
<li><a href="Belt_MutableSet.html">Belt_MutableSet</a></li>
33+
<li><a href="Belt_MutableSetInt.html">Belt_MutableSetInt</a></li>
34+
<li><a href="Belt_MutableSetString.html">Belt_MutableSetString</a></li>
35+
<li><a href="Belt_MutableStack.html">Belt_MutableStack</a></li>
36+
<li><a href="Belt_Option.html">Belt_Option</a></li>
37+
<li><a href="Belt_Range.html">Belt_Range</a></li>
38+
<li><a href="Belt_Result.html">Belt_Result</a></li>
39+
<li><a href="Belt_Set.html">Belt_Set</a></li>
40+
<li><a href="Belt_SetDict.html">Belt_SetDict</a></li>
41+
<li><a href="Belt_SetInt.html">Belt_SetInt</a></li>
42+
<li><a href="Belt_SetString.html">Belt_SetString</a></li>
43+
<li><a href="Belt_SortArray.html">Belt_SortArray</a></li>
44+
<li><a href="Belt_SortArrayInt.html">Belt_SortArrayInt</a></li>
45+
<li><a href="Belt_SortArrayString.html">Belt_SortArrayString</a></li>
46+
<li><a href="Belt_internalAVLset.html">Belt_internalAVLset</a></li>
47+
<li><a href="Belt_internalAVLtree.html">Belt_internalAVLtree</a></li>
48+
<li><a href="Belt_internalBuckets.html">Belt_internalBuckets</a></li>
49+
<li><a href="Belt_internalBucketsType.html">Belt_internalBucketsType</a></li>
50+
<li><a href="Belt_internalMapInt.html">Belt_internalMapInt</a></li>
51+
<li><a href="Belt_internalMapString.html">Belt_internalMapString</a></li>
52+
<li><a href="Belt_internalMutableAVLMap.html">Belt_internalMutableAVLMap</a></li>
53+
<li><a href="Belt_internalSetBuckets.html">Belt_internalSetBuckets</a></li>
54+
<li><a href="Belt_internalSetInt.html">Belt_internalSetInt</a></li>
55+
<li><a href="Belt_internalSetString.html">Belt_internalSetString</a></li>
56+
<li><a href="Dom.html">Dom</a></li>
57+
<li><a href="Dom_storage.html">Dom_storage</a></li>
58+
<li><a href="Js.html">Js</a></li>
59+
<li><a href="Js_array.html">Js_array</a></li>
60+
<li><a href="Js_boolean.html">Js_boolean</a></li>
61+
<li><a href="Js_cast.html">Js_cast</a></li>
62+
<li><a href="Js_console.html">Js_console</a></li>
63+
<li><a href="Js_date.html">Js_date</a></li>
64+
<li><a href="Js_dict.html">Js_dict</a></li>
65+
<li><a href="Js_exn.html">Js_exn</a></li>
66+
<li><a href="Js_float.html">Js_float</a></li>
67+
<li><a href="Js_global.html">Js_global</a></li>
68+
<li><a href="Js_int.html">Js_int</a></li>
69+
<li><a href="Js_int64.html">Js_int64</a></li>
70+
<li><a href="Js_internal.html">Js_internal</a></li>
71+
<li><a href="Js_json.html">Js_json</a></li>
72+
<li><a href="Js_list.html">Js_list</a></li>
73+
<li><a href="Js_mapperRt.html">Js_mapperRt</a></li>
74+
<li><a href="Js_math.html">Js_math</a></li>
75+
<li><a href="Js_nativeint.html">Js_nativeint</a></li>
76+
<li><a href="Js_null.html">Js_null</a></li>
77+
<li><a href="Js_null_undefined.html">Js_null_undefined</a></li>
78+
<li><a href="Js_obj.html">Js_obj</a></li>
79+
<li><a href="Js_option.html">Js_option</a></li>
80+
<li><a href="Js_primitive.html">Js_primitive</a></li>
81+
<li><a href="Js_promise.html">Js_promise</a></li>
82+
<li><a href="Js_re.html">Js_re</a></li>
83+
<li><a href="Js_result.html">Js_result</a></li>
84+
<li><a href="Js_string.html">Js_string</a></li>
85+
<li><a href="Js_typed_array.html">Js_typed_array</a></li>
86+
<li><a href="Js_types.html">Js_types</a></li>
87+
<li><a href="Js_undefined.html">Js_undefined</a></li>
88+
<li><a href="Js_unsafe.html">Js_unsafe</a></li>
89+
<li><a href="Js_vector.html">Js_vector</a></li>
90+
<li><a href="Node.html">Node</a></li>
91+
<li><a href="Node_buffer.html">Node_buffer</a></li>
92+
<li><a href="Node_child_process.html">Node_child_process</a></li>
93+
<li><a href="Node_fs.html">Node_fs</a></li>
94+
<li><a href="Node_module.html">Node_module</a></li>
95+
<li><a href="Node_path.html">Node_path</a></li>
96+
<li><a href="Node_process.html">Node_process</a></li></ul></nav>
97+
<div class="navbar"><a class="pre" href="Belt.Result.html" title="Belt.Result">Previous</a>
98+
&nbsp;<a class="up" href="Belt.html" title="Belt">Up</a>
99+
&nbsp;</div>
100+
<h1>Module <a href="type_Belt.Debug.html">Belt.Debug</a></h1>
101+
102+
<pre><span class="keyword">module</span> Debug: <code class="type"><a href="Belt_Debug.html">Belt_Debug</a></code></pre><div class="info module top">
103+
<div class="not-examples">
104+
<a href="Belt.Debug.html"><code class="code">Belt.Debug</code></a>
105+
<p>
106+
107+
Utilities for set up debugging<br>
108+
109+
</div>
110+
111+
</div>
112+
113+
<hr width="100%">
114+
115+
<pre><span id="VALsetupChromeDebugger"><span class="keyword">val</span> setupChromeDebugger</span> : <code class="type">unit -> unit</code></pre></body></html>

docs/api/Belt.HashMap.html

+33-32
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
<link rel="stylesheet" href="../api_static/style.css" type="text/css">
66
<script src="../api_static//highlight.pack.js"></script>
77
<script src="../api_static//script.js"></script>
8-
<script>hljs.initHighlightingOnLoad();</script>
8+
<script>hljs.initHighlightingOnLoad();</script>
99
<meta charset="utf8">
1010
<link rel="previous" href="Belt.HashSet.html"><link rel="next" href="Belt.Option.html">
11-
<title> Belt.HashMap </title></head>
11+
<title> Belt.HashMap </title></head>
1212
<body>
1313
<nav class="module-index"><ul><li><a href="Belt.html">Belt</a></li>
1414
<li><a href="Belt_Array.html">Belt_Array</a></li>
15+
<li><a href="Belt_Debug.html">Belt_Debug</a></li>
1516
<li><a href="Belt_HashMap.html">Belt_HashMap</a></li>
1617
<li><a href="Belt_HashMapInt.html">Belt_HashMapInt</a></li>
1718
<li><a href="Belt_HashMapString.html">Belt_HashMapString</a></li>
@@ -34,6 +35,7 @@
3435
<li><a href="Belt_MutableStack.html">Belt_MutableStack</a></li>
3536
<li><a href="Belt_Option.html">Belt_Option</a></li>
3637
<li><a href="Belt_Range.html">Belt_Range</a></li>
38+
<li><a href="Belt_Result.html">Belt_Result</a></li>
3739
<li><a href="Belt_Set.html">Belt_Set</a></li>
3840
<li><a href="Belt_SetDict.html">Belt_SetDict</a></li>
3941
<li><a href="Belt_SetInt.html">Belt_SetInt</a></li>
@@ -108,38 +110,38 @@ <h1>Module <a href="type_Belt.HashMap.html">Belt.HashMap</a></h1>
108110

109111
It also has two specialized inner modules
110112
<code class="code">Belt.HashMap.Int</code> and <code class="code">Belt.HashMap.String</code><br>
111-
113+
112114
</div>
113-
115+
114116
</div>
115117

116118
<hr width="100%">
117119

118-
<pre><span class="keyword">module</span> <a href="Belt_HashMap.Int.html">Int</a>: <code class="type"><a href="Belt_HashMapInt.html">Belt_HashMapInt</a></code></pre> <div class="info">
120+
<pre><span class="keyword">module</span> <a href="Belt_HashMap.Int.html">Int</a>: <code class="type"><a href="Belt_HashMapInt.html">Belt_HashMapInt</a></code></pre> <div class="info">
119121
<div class="not-examples">
120122
Specalized when key type is <code class="code">int</code>, more efficient
121123
than the generic type<br>
122-
123-
</div>
124+
124125
</div>
125-
<pre><span class="keyword">module</span> <a href="Belt_HashMap.String.html">String</a>: <code class="type"><a href="Belt_HashMapString.html">Belt_HashMapString</a></code></pre> <div class="info">
126+
</div>
127+
<pre><span class="keyword">module</span> <a href="Belt_HashMap.String.html">String</a>: <code class="type"><a href="Belt_HashMapString.html">Belt_HashMapString</a></code></pre> <div class="info">
126128
<div class="not-examples">
127129
Specalized when key type is <code class="code">string</code>, more efficient
128130
than the generic type<br>
129-
131+
130132
</div>
131133
</div> <div class="type-declaration">
132134
<pre><span id="TYPEt"><span class="keyword">type</span> <code class="type">('key, 'value, 'id)</code> t</span> </pre>
133135
</div>
134136
<div class="info ">
135137
<div class="not-examples">
136138
The type of hash tables from type <code class="code">'key</code> to type <code class="code">'value</code>.<br>
137-
139+
138140
</div>
139-
141+
140142
</div>
141143

142-
144+
143145
<div class="type-declaration">
144146
<pre><span id="TYPEid"><span class="keyword">type</span> <code class="type">('a, 'id)</code> id</span> = <code class="type">('a, 'id) <a href="Belt_Id.html#TYPEhashable">Belt_Id.hashable</a></code> </pre>
145147
</div>
@@ -149,48 +151,48 @@ <h1>Module <a href="type_Belt.HashMap.html">Belt.HashMap</a></h1>
149151
<pre><span id="VALclear"><span class="keyword">val</span> clear</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> unit</code></pre><div class="info ">
150152
<div class="not-examples">
151153
Empty a hash table.<br>
152-
154+
153155
</div>
154-
156+
155157
</div>
156158

157-
159+
158160
<pre><span id="VALisEmpty"><span class="keyword">val</span> isEmpty</span> : <code class="type">('a, 'b, 'c) <a href="Belt_HashMap.html#TYPEt">t</a> -> bool</code></pre>
159161
<pre><span id="VALset"><span class="keyword">val</span> set</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> 'key -> 'value -> unit</code></pre><div class="info ">
160162
<div class="not-examples">
161163
<code class="code">set tbl k v</code> if <code class="code">k</code> does not exist,
162164
add the binding <code class="code">k,v</code>, otherwise, update the old value with the new
163165
<code class="code">v</code><br>
164-
166+
165167
</div>
166-
168+
167169
</div>
168170

169-
171+
170172
<pre><span id="VALcopy"><span class="keyword">val</span> copy</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> ('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a></code></pre>
171173
<pre><span id="VALget"><span class="keyword">val</span> get</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> 'key -> 'value option</code></pre>
172174
<pre><span id="VALhas"><span class="keyword">val</span> has</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> 'key -> bool</code></pre><div class="info ">
173175
<div class="not-examples">
174176
<code class="code">has tbl x</code> checks if <code class="code">x</code> is bound in <code class="code">tbl</code>.<br>
175-
177+
176178
</div>
177-
179+
178180
</div>
179181

180-
182+
181183
<pre><span id="VALremove"><span class="keyword">val</span> remove</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> 'key -> unit</code></pre>
182184
<pre><span id="VALforEachU"><span class="keyword">val</span> forEachU</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> ('key -> 'value -> unit [@bs]) -> unit</code></pre>
183185
<pre><span id="VALforEach"><span class="keyword">val</span> forEach</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> ('key -> 'value -> unit) -> unit</code></pre><div class="info ">
184186
<div class="not-examples">
185187
<code class="code">forEach tbl f</code> applies <code class="code">f</code> to all bindings in table <code class="code">tbl</code>.
186188
<code class="code">f</code> receives the key as first argument, and the associated value
187189
as second argument. Each binding is presented exactly once to <code class="code">f</code>.<br>
188-
190+
189191
</div>
190-
192+
191193
</div>
192194

193-
195+
194196
<pre><span id="VALreduceU"><span class="keyword">val</span> reduceU</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -><br> 'c -> ('c -> 'key -> 'value -> 'c [@bs]) -> 'c</code></pre>
195197
<pre><span id="VALreduce"><span class="keyword">val</span> reduce</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -><br> 'c -> ('c -> 'key -> 'value -> 'c) -> 'c</code></pre><div class="info ">
196198
<div class="not-examples">
@@ -205,29 +207,28 @@ <h1>Module <a href="type_Belt.HashMap.html">Belt.HashMap</a></h1>
205207
However, if the table contains several bindings for the same key,
206208
they are passed to <code class="code">f</code> in reverse order of introduction, that is,
207209
the most recent binding is passed first.<br>
208-
210+
209211
</div>
210-
212+
211213
</div>
212214

213-
215+
214216
<pre><span id="VALkeepMapInPlaceU"><span class="keyword">val</span> keepMapInPlaceU</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -><br> ('key -> 'value -> 'value option [@bs]) -> unit</code></pre>
215217
<pre><span id="VALkeepMapInPlace"><span class="keyword">val</span> keepMapInPlace</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -><br> ('key -> 'value -> 'value option) -> unit</code></pre>
216218
<pre><span id="VALsize"><span class="keyword">val</span> size</span> : <code class="type">('a, 'b, 'c) <a href="Belt_HashMap.html#TYPEt">t</a> -> int</code></pre><div class="info ">
217219
<div class="not-examples">
218220
<code class="code">size tbl</code> returns the number of bindings in <code class="code">tbl</code>.
219221
It takes constant time.<br>
220-
222+
221223
</div>
222-
224+
223225
</div>
224226

225-
227+
226228
<pre><span id="VALtoArray"><span class="keyword">val</span> toArray</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> ('key * 'value) array</code></pre>
227229
<pre><span id="VALkeysToArray"><span class="keyword">val</span> keysToArray</span> : <code class="type">('key, 'a, 'b) <a href="Belt_HashMap.html#TYPEt">t</a> -> 'key array</code></pre>
228230
<pre><span id="VALvaluesToArray"><span class="keyword">val</span> valuesToArray</span> : <code class="type">('a, 'value, 'b) <a href="Belt_HashMap.html#TYPEt">t</a> -> 'value array</code></pre>
229231
<pre><span id="VALfromArray"><span class="keyword">val</span> fromArray</span> : <code class="type">('key * 'value) array -><br> id:('key, 'id) <a href="Belt_HashMap.html#TYPEid">id</a> -> ('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a></code></pre>
230232
<pre><span id="VALmergeMany"><span class="keyword">val</span> mergeMany</span> : <code class="type">('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a> -> ('key * 'value) array -> unit</code></pre>
231233
<pre><span id="VALgetBucketHistogram"><span class="keyword">val</span> getBucketHistogram</span> : <code class="type">('a, 'b, 'c) <a href="Belt_HashMap.html#TYPEt">t</a> -> int array</code></pre>
232-
<pre><span id="VALlogStats"><span class="keyword">val</span> logStats</span> : <code class="type">('a, 'b, 'c) <a href="Belt_HashMap.html#TYPEt">t</a> -> unit</code></pre>
233-
<pre><span id="VALofArray"><span class="keyword">val</span> ofArray</span> : <code class="type">('key * 'value) array -><br> id:('key, 'id) <a href="Belt_HashMap.html#TYPEid">id</a> -> ('key, 'value, 'id) <a href="Belt_HashMap.html#TYPEt">t</a></code></pre></body></html>
234+
<pre><span id="VALlogStats"><span class="keyword">val</span> logStats</span> : <code class="type">('a, 'b, 'c) <a href="Belt_HashMap.html#TYPEt">t</a> -> unit</code></pre></body></html>

0 commit comments

Comments
 (0)