Skip to content

Commit dd6c06d

Browse files
committed
Simplify optional tokens to improve maintainability
Don't list all possible alterations manually. #1467 (comment)
1 parent 9d8758a commit dd6c06d

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

baselines/dom.generated.d.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -27666,8 +27666,8 @@ declare function addEventListener(type: string, listener: EventListenerOrEventLi
2766627666
declare function removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2766727667
declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2766827668
type AlgorithmIdentifier = Algorithm | string;
27669-
type AutoFill = AutoFillBase | AutoFillField | `${AutoFillSection} ${AutoFillField}` | `${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillSection} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillField} ${AutoFillCredentialField}`;
27670-
type AutoFillField = AutoFillNormalField | AutoFillContactField | `${AutoFillContactKind} ${AutoFillContactField}`;
27669+
type AutoFill = AutoFillBase | `${OptionalPrefixToken<AutoFillSection>}${OptionalPrefixToken<AutoFillAddressKind>}${AutoFillField}${OptionalPostfixToken<AutoFillCredentialField>}`;
27670+
type AutoFillField = AutoFillNormalField | `${OptionalPrefixToken<AutoFillContactKind>}${AutoFillContactField}`;
2767127671
type AutoFillSection = `section-${string}`;
2767227672
type BigInteger = Uint8Array;
2767327673
type BinaryData = ArrayBuffer | ArrayBufferView;
@@ -27719,6 +27719,8 @@ type NamedCurve = string;
2771927719
type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
2772027720
type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;
2772127721
type OnErrorEventHandler = OnErrorEventHandlerNonNull | null;
27722+
type OptionalPostfixToken<T extends string> = ` ${T}` | "";
27723+
type OptionalPrefixToken<T extends string> = `${T} ` | "";
2772227724
type PerformanceEntryList = PerformanceEntry[];
2772327725
type ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;
2772427726
type ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;

inputfiles/addedTypes.jsonc

+20-2
Original file line numberDiff line numberDiff line change
@@ -1464,20 +1464,38 @@
14641464
"name": "EventListenerOrEventListenerObject",
14651465
"overrideType": "EventListener | EventListenerObject"
14661466
},
1467+
{
1468+
"name": "OptionalPrefixToken",
1469+
"typeParameters": [
1470+
{
1471+
"name": "T extends string"
1472+
}
1473+
],
1474+
"overrideType": "`${T} ` | \"\""
1475+
},
1476+
{
1477+
"name": "OptionalPostfixToken",
1478+
"typeParameters": [
1479+
{
1480+
"name": "T extends string"
1481+
}
1482+
],
1483+
"overrideType": "` ${T}` | \"\""
1484+
},
14671485
{
14681486
"name": "AutoFillSection",
14691487
"overrideType": "`section-${string}`"
14701488
},
14711489
{
14721490
"name": "AutoFillField",
1473-
"overrideType": "AutoFillNormalField | AutoFillContactField | `${AutoFillContactKind} ${AutoFillContactField}`"
1491+
"overrideType": "AutoFillNormalField | `${OptionalPrefixToken<AutoFillContactKind>}${AutoFillContactField}`"
14741492
},
14751493
{
14761494
// See the full list of possible autofill values for the `autocomplete` attribute:
14771495
// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#determine-a-field's-category
14781496
// Full spec at https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill.
14791497
"name": "AutoFill",
1480-
"overrideType": "AutoFillBase | AutoFillField | `${AutoFillSection} ${AutoFillField}` | `${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillSection} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillField} ${AutoFillCredentialField}`"
1498+
"overrideType": "AutoFillBase | `${OptionalPrefixToken<AutoFillSection>}${OptionalPrefixToken<AutoFillAddressKind>}${AutoFillField}${OptionalPostfixToken<AutoFillCredentialField>}`"
14811499
}
14821500
]
14831501
}

inputfiles/knownTypes.json

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
"Keyframe",
3939
"MutationRecordType",
4040
"NamedCurve",
41+
"OptionalPrefixToken",
42+
"OptionalPostfixToken",
4143
"Pbkdf2Params",
4244
"PropertyIndexedKeyframes",
4345
"RsaHashedImportParams",

0 commit comments

Comments
 (0)