Skip to content

Commit b3466ed

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

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
@@ -27926,8 +27926,8 @@ declare function addEventListener(type: string, listener: EventListenerOrEventLi
2792627926
declare function removeEventListener<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2792727927
declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2792827928
type AlgorithmIdentifier = Algorithm | string;
27929-
type AutoFill = AutoFillBase | AutoFillField | `${AutoFillSection} ${AutoFillField}` | `${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillSection} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillField} ${AutoFillCredentialField}`;
27930-
type AutoFillField = AutoFillNormalField | AutoFillContactField | `${AutoFillContactKind} ${AutoFillContactField}`;
27929+
type AutoFill = AutoFillBase | `${OptionalPrefixToken<AutoFillSection>}${OptionalPrefixToken<AutoFillAddressKind>}${AutoFillField}${OptionalPostfixToken<AutoFillCredentialField>}`;
27930+
type AutoFillField = AutoFillNormalField | `${OptionalPrefixToken<AutoFillContactKind>}${AutoFillContactField}`;
2793127931
type AutoFillSection = `section-${string}`;
2793227932
type BigInteger = Uint8Array;
2793327933
type BinaryData = ArrayBuffer | ArrayBufferView;
@@ -27979,6 +27979,8 @@ type NamedCurve = string;
2797927979
type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext;
2798027980
type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;
2798127981
type OnErrorEventHandler = OnErrorEventHandlerNonNull | null;
27982+
type OptionalPostfixToken<T extends string> = ` ${T}` | "";
27983+
type OptionalPrefixToken<T extends string> = `${T} ` | "";
2798227984
type PerformanceEntryList = PerformanceEntry[];
2798327985
type ReadableStreamController<T> = ReadableStreamDefaultController<T> | ReadableByteStreamController;
2798427986
type ReadableStreamReadResult<T> = ReadableStreamReadValueResult<T> | ReadableStreamReadDoneResult<T>;

inputfiles/addedTypes.jsonc

+20-2
Original file line numberDiff line numberDiff line change
@@ -1512,20 +1512,38 @@
15121512
"name": "EventListenerOrEventListenerObject",
15131513
"overrideType": "EventListener | EventListenerObject"
15141514
},
1515+
{
1516+
"name": "OptionalPrefixToken",
1517+
"typeParameters": [
1518+
{
1519+
"name": "T extends string"
1520+
}
1521+
],
1522+
"overrideType": "`${T} ` | \"\""
1523+
},
1524+
{
1525+
"name": "OptionalPostfixToken",
1526+
"typeParameters": [
1527+
{
1528+
"name": "T extends string"
1529+
}
1530+
],
1531+
"overrideType": "` ${T}` | \"\""
1532+
},
15151533
{
15161534
"name": "AutoFillSection",
15171535
"overrideType": "`section-${string}`"
15181536
},
15191537
{
15201538
"name": "AutoFillField",
1521-
"overrideType": "AutoFillNormalField | AutoFillContactField | `${AutoFillContactKind} ${AutoFillContactField}`"
1539+
"overrideType": "AutoFillNormalField | `${OptionalPrefixToken<AutoFillContactKind>}${AutoFillContactField}`"
15221540
},
15231541
{
15241542
// See the full list of possible autofill values for the `autocomplete` attribute:
15251543
// https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#determine-a-field's-category
15261544
// Full spec at https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill.
15271545
"name": "AutoFill",
1528-
"overrideType": "AutoFillBase | AutoFillField | `${AutoFillSection} ${AutoFillField}` | `${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField}` | `${AutoFillSection} ${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillAddressKind} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillSection} ${AutoFillField} ${AutoFillCredentialField}` | `${AutoFillField} ${AutoFillCredentialField}`"
1546+
"overrideType": "AutoFillBase | `${OptionalPrefixToken<AutoFillSection>}${OptionalPrefixToken<AutoFillAddressKind>}${AutoFillField}${OptionalPostfixToken<AutoFillCredentialField>}`"
15291547
}
15301548
]
15311549
}

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)