Currently the generated types for TypeScript look like:
export interface MyEventProperties {
email: string
[property: string]: any;
}
This means that if a property doesn't exist, or is removed, in Protocols, then it will not be a compile error. I think some users (including myself) would prefer to know about excess/removed properties if possible.
I believe that this could be changed by making the JSON Schema include additionalProperties: false on most definitions. It seems the default for QuickType is to generate [property: string]: any; if it is not set to false.
I tried to use a "Common JSON Schema" set to:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"context": {},
"traits": {},
"properties": {
"type": "object",
"additionalProperties": false
}
}
}
It did not work though.
Currently the generated types for TypeScript look like:
This means that if a property doesn't exist, or is removed, in Protocols, then it will not be a compile error. I think some users (including myself) would prefer to know about excess/removed properties if possible.
I believe that this could be changed by making the JSON Schema include
additionalProperties: falseon most definitions. It seems the default for QuickType is to generate[property: string]: any;if it is not set tofalse.I tried to use a "Common JSON Schema" set to:
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "context": {}, "traits": {}, "properties": { "type": "object", "additionalProperties": false } } }It did not work though.