Documentation ¶
Overview ¶
Package trim removes definitions that may be inferred from templates.
A field, struct, or list is removed if it is implied by a constraint, such as from an optional field matching a required field, a list type value, a comprehension or any other implied content. It will modify the files in place.
Limitations ¶
Removal is on a best effort basis. Some caveats:
- Fields in implied content may refer to fields within the struct in which they are included, but are only resolved on a best-effort basis.
- Disjunctions that contain structs in implied content cannot be used to remove fields.
- There is currently no verification step: manual verification is required.
Examples:
light: [string]: { room: string brightnessOff: *0.0 | >=0 & <=100.0 brightnessOn: *100.0 | >=0 & <=100.0 } light: ceiling50: { room: "MasterBedroom" brightnessOff: 0.0 // this line brightnessOn: 100.0 // and this line will be removed }
Results in:
light: [string]: { room: string brightnessOff: *0.0 | >=0 & <=100.0 brightnessOn: *100.0 | >=0 & <=100.0 } light: ceiling50: { room: "MasterBedroom" }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
Click to show internal directories.
Click to hide internal directories.