Would it be possible to add a setting to override TyeScript index key?
The following JSON schema
{
"type": "object",
"title": "test",
"properties": {
"gid": {
"type": "string"
}
},
"patternProperties": {
"^x-.*$": {
"type": "number"
}
}
}
Returns a type that makes the named property unusable
export interface Test {
gid?: string;
/**
* This interface was referenced by `Test`'s JSON-Schema definition
* via the `patternProperty` "^x-.*$".
*/
[k: string]: number;
}
As gid will now be expected by TypeScript to be both a string and a number, even though my actual schema requires those properties to be prefixed with x- and they wouldn't conflict
I can work around this by setting tsType: unknown on the patterned property - at least TS will allow me to set gid to a string then.
If I could to something like tsKey: "[K in `x_${string}`]" I could work around this without the project having to attempt to infer a proper TS template. It would also offer a workaround for #518
Would it be possible to add a setting to override TyeScript index key?
The following JSON schema
{ "type": "object", "title": "test", "properties": { "gid": { "type": "string" } }, "patternProperties": { "^x-.*$": { "type": "number" } } }Returns a type that makes the named property unusable
As
gidwill now be expected by TypeScript to be both a string and a number, even though my actual schema requires those properties to be prefixed withx-and they wouldn't conflictI can work around this by setting
tsType: unknownon the patterned property - at least TS will allow me to setgidto a string then.If I could to something like
tsKey: "[K in `x_${string}`]"I could work around this without the project having to attempt to infer a proper TS template. It would also offer a workaround for #518