Zeile 63: |
Zeile 63: |
| Eine Möglichkeit ist typescript-json-validator: | | Eine Möglichkeit ist typescript-json-validator: |
| npm install --save-dev typescript-json-validator | | npm install --save-dev typescript-json-validator |
| + | |
| + | |
| + | In <code>src/types/types.ts</code> werden die zu validierenden Typen exportiert. |
| | | |
| In der package.json wird unter "scripts" folgender Eintrag hinzugefügt: | | In der package.json wird unter "scripts" folgender Eintrag hinzugefügt: |
− | "build:validators": "typescript-json-validator --defaultProps=false --useNamedExport --collection src/types/types.ts && sed -i -e \"s/= require('ajv')/from 'ajv'/\" -e s/\\\"format\\\":\\\"fast\\\",// -e s/\\\"nullable\\\":true,// -e s/\\\"uniqueItems\\\":true,// -e s/\\\"unicode\\\":true,// src/types/types.validator.ts", | + | "build:validators": "typescript-json-validator --defaultProps=false --useNamedExport --collection src/types/types.ts && sed -i -e \"s/export {/export type {/\" -e s/\\\"format\\\":\\\"fast\\\",// -e s/\\\"nullable\\\":true,// -e s/\\\"uniqueItems\\\":true,// -e s/\\\"unicode\\\":true,// src/types/types.validator.ts", |
| + | |
| + | Der <code>sed</code>-Befehl sollte folgende Fehler vermeiden: |
| + | |
| + | * "Das Argument vom Typ \"{ allErrors: true; coerceTypes: false; format: string; nullable: boolean; unicode: true; uniqueItems: boolean; useDefaults: false; }\" kann dem Parameter vom Typ \"Options\" nicht zugewiesen werden.\n Das Objektliteral kann nur bekannte Eigenschaften angeben, und \"\"format\"\" ist im Typ \"Options\" nicht vorhanden.", |
| + | * Das erneute Exportieren eines Typs erfordert bei Festlegung des Flags \"--isolatedModules\" die Verwendung von \"export type\".", |
| + | |
| | | |
| | | |