Skip to content

Commit 1e73c2f

Browse files
authored
PartialDeep: Fix JSDoc examples (#1127)
1 parent 2ab5dec commit 1e73c2f

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

source/partial-deep.d.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export type PartialDeepOptions = {
3232
3333
declare const partialSettings: PartialDeep<Settings, {recurseIntoArrays: true; allowUndefinedInNonTupleArrays: true}>;
3434
35-
partialSettings.languages = [undefined]; // Ok
35+
partialSettings.languages = [undefined]; // OK
3636
```
3737
*/
3838
readonly allowUndefinedInNonTupleArrays?: boolean;
@@ -54,19 +54,19 @@ Use-cases:
5454
```
5555
import type {PartialDeep} from 'type-fest';
5656
57-
const settings: Settings = {
57+
let settings = {
5858
textEditor: {
5959
fontSize: 14,
6060
fontColor: '#000000',
61-
fontWeight: 400
61+
fontWeight: 400,
6262
},
6363
autocomplete: false,
64-
autosave: true
64+
autosave: true,
6565
};
6666
67-
const applySavedSettings = (savedSettings: PartialDeep<Settings>) => {
68-
return {...settings, ...savedSettings};
69-
}
67+
const applySavedSettings = (savedSettings: PartialDeep<typeof settings>) => (
68+
{...settings, ...savedSettings, textEditor: {...settings.textEditor, ...savedSettings.textEditor}}
69+
);
7070
7171
settings = applySavedSettings({textEditor: {fontWeight: 500}});
7272
```
@@ -76,13 +76,15 @@ By default, this does not affect elements in array and tuple types. You can chan
7676
```
7777
import type {PartialDeep} from 'type-fest';
7878
79-
type Settings = {
80-
languages: string[];
81-
}
79+
type Shape = {
80+
dimensions: [number, number];
81+
};
8282
83-
const partialSettings: PartialDeep<Settings, {recurseIntoArrays: true}> = {
84-
languages: [undefined]
83+
const partialShape: PartialDeep<Shape, {recurseIntoArrays: true}> = {
84+
dimensions: [], // OK
8585
};
86+
87+
partialShape.dimensions = [15]; // OK
8688
```
8789
8890
@see {@link PartialDeepOptions}

0 commit comments

Comments
 (0)