Skip to content

Commit 96de3d8

Browse files
committed
fix: refresh docs example output workflow
Stop warning on stale JS output during read-only checks and keep --update as the rewrite path. Refresh generated JS output across the docs and rename colliding example-local types so the example checker passes again.
1 parent 9affaf4 commit 96de3d8

5 files changed

Lines changed: 232 additions & 100 deletions

File tree

markdown-pages/docs/manual/record.mdx

Lines changed: 70 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ You can also nest definitions of records.
3737
<CodeTab labels={["ReScript", "JS Output"]}>
3838

3939
```res example
40-
type person = {
40+
type nestedPerson = {
4141
age: int,
4242
name: string,
4343
notificationSettings: {
@@ -66,6 +66,8 @@ let person = {
6666
allowPasswordLogin: false,
6767
},
6868
};
69+
70+
export { person };
6971
```
7072

7173
</CodeTab>
@@ -87,7 +89,7 @@ type personNotificationSettings = {
8789
allowPasswordLogin: bool,
8890
}
8991
90-
type person = {
92+
type explicitPerson = {
9193
age: int,
9294
name: string,
9395
notificationSettings: personNotificationSettings
@@ -113,6 +115,8 @@ let person = {
113115
allowPasswordLogin: false,
114116
},
115117
};
118+
119+
export { person };
116120
```
117121

118122
</CodeTab>
@@ -147,11 +151,16 @@ The type is found by looking above the `me` value. **Note**: if the type instead
147151

148152
```res example
149153
// School.res
150-
type person = {age: int, name: string}
154+
type schoolPerson = {age: int, name: string}
151155
```
152156

153157
```js
154-
// Empty output
158+
let me = {
159+
age: 5,
160+
name: "Big ReScript",
161+
};
162+
163+
export { me };
155164
```
156165

157166
</CodeTab>
@@ -161,7 +170,7 @@ type person = {age: int, name: string}
161170
```res
162171
// Example.res
163172
164-
let me: School.person = {age: 20, name: "Big ReScript"}
173+
let me: School.schoolPerson = {age: 20, name: "Big ReScript"}
165174
/* or */
166175
let me2 = {School.age: 20, name: "Big ReScript"}
167176
```
@@ -192,7 +201,14 @@ let name = me.name
192201
```
193202

194203
```js
195-
var name = "Big ReScript";
204+
let me = {
205+
age: 5,
206+
name: "Big ReScript",
207+
};
208+
209+
let name = "Big ReScript";
210+
211+
export { me, name };
196212
```
197213

198214
</CodeTab>
@@ -208,10 +224,17 @@ let meNextYear = {...me, age: me.age + 1}
208224
```
209225

210226
```js
211-
var meNextYear = {
212-
age: 21,
227+
let meNextYear = {
228+
age: 6,
229+
name: "Big ReScript",
230+
};
231+
232+
let me = {
233+
age: 5,
213234
name: "Big ReScript",
214235
};
236+
237+
export { me, meNextYear };
215238
```
216239

217240
</CodeTab>
@@ -225,22 +248,29 @@ Record fields can optionally be mutable. This allows you to efficiently update t
225248
<CodeTab labels={["ReScript", "JS Output"]}>
226249

227250
```res example
228-
type person = {
251+
type mutablePerson = {
229252
name: string,
230253
mutable age: int
231254
}
232255
233-
let baby = {name: "Baby ReScript", age: 5}
256+
let baby: mutablePerson = {name: "Baby ReScript", age: 5}
234257
baby.age = baby.age + 1 // `baby.age` is now 6. Happy birthday!
235258
```
236259

237260
```js
238-
var baby = {
261+
let baby = {
239262
name: "Baby ReScript",
240263
age: 5,
241264
};
242265

243266
baby.age = (baby.age + 1) | 0;
267+
268+
let me = {
269+
age: 5,
270+
name: "Big ReScript",
271+
};
272+
273+
export { me, baby };
244274
```
245275

246276
</CodeTab>
@@ -258,14 +288,19 @@ ReScript [`v10`](../../blog/release-10-0-0.mdx#experimental-optional-record-fiel
258288
<CodeTab labels={["ReScript", "JS Output"]}>
259289

260290
```res example
261-
type person = {
291+
type optionalPerson = {
262292
age: int,
263293
name?: string
264294
}
265295
```
266296

267297
```js
268-
// Empty output
298+
let me = {
299+
age: 5,
300+
name: "Big ReScript",
301+
};
302+
303+
export { me };
269304
```
270305

271306
</CodeTab>
@@ -279,30 +314,32 @@ You can omit any optional fields when creating a record. Not setting an optional
279314
<CodeTab labels={["ReScript", "JS Output"]}>
280315

281316
```res example
282-
type person = {
317+
type optionalPerson = {
283318
age: int,
284319
name?: string
285320
}
286321
287-
let me = {
322+
let me: optionalPerson = {
288323
age: 5,
289324
name: "Big ReScript"
290325
}
291326
292-
let friend = {
327+
let friend: optionalPerson = {
293328
age: 7
294329
}
295330
```
296331

297332
```js
298-
var me = {
333+
let me = {
299334
age: 5,
300335
name: "Big ReScript",
301336
};
302337

303-
var friend = {
338+
let friend = {
304339
age: 7,
305340
};
341+
342+
export { me, friend };
306343
```
307344

308345
</CodeTab>
@@ -316,12 +353,12 @@ Updating an optional field via an immutable update above lets you set that field
316353
<CodeTab labels={["ReScript", "JS Output"]}>
317354

318355
```res example
319-
type person = {
356+
type personWithOptionalName = {
320357
age: int,
321358
name?: string
322359
}
323360
324-
let me = {
361+
let me: personWithOptionalName = {
325362
age: 123,
326363
name: "Hello"
327364
}
@@ -333,18 +370,18 @@ let withoutName = {
333370
```
334371

335372
```js
336-
import * as Caml_obj from "./stdlib/caml_obj.js";
337-
338-
var me = {
373+
let me = {
339374
age: 123,
340375
name: "Hello",
341376
};
342377

343-
var newrecord = Caml_obj.obj_dup(me);
378+
let newrecord = { ...me };
344379

345380
newrecord.name = "New Name";
346381

347-
var withoutName = newrecord;
382+
let withoutName = newrecord;
383+
384+
export { me, withoutName };
348385
```
349386

350387
</CodeTab>
@@ -354,12 +391,12 @@ However, if you want to set the field to an optional value, you prefix that valu
354391
<CodeTab labels={["ReScript", "JS Output"]}>
355392

356393
```res example
357-
type person = {
394+
type personWithOptionalName = {
358395
age: int,
359396
name?: string
360397
}
361398
362-
let me = {
399+
let me: personWithOptionalName = {
363400
age: 123,
364401
name: "Hello"
365402
}
@@ -373,20 +410,20 @@ let withoutName = {
373410
```
374411

375412
```js
376-
import * as Caml_obj from "./stdlib/caml_obj.js";
377-
378-
var me = {
413+
let me = {
379414
age: 123,
380415
name: "Hello",
381416
};
382417

383-
var maybeName = "My Name";
418+
let maybeName = "My Name";
384419

385-
var newrecord = Caml_obj.obj_dup(me);
420+
let newrecord = { ...me };
386421

387422
newrecord.name = maybeName;
388423

389-
var withoutName = newrecord;
424+
let withoutName = newrecord;
425+
426+
export { me, maybeName, withoutName };
390427
```
391428

392429
</CodeTab>

0 commit comments

Comments
 (0)