Scratch gibt keine Typdefinitionen für ihre Bibliotheken, daher haben wir unsere eigenen geschrieben.
Dieses Repository enthält nur Typen für die Kratzerlaufzeit und den Editor Vanille (LLK). Für die zusätzlichen Typen in den Turbowarp-Laufzeiten siehe @Turbowarp/Type-TW.
Eine möglicherweise menschlich lesbare Version der Typscript-Definitionen finden Sie unter: https://turbowarp.github.io/types/
| Modul | Status |
|---|---|
| Scratch-VM | ✅ |
| Kratzer | ✅ |
| Scratch-SVG-Renderer | ✅ |
| Kratzer-Render-Schreibarten | ✅ |
| Kratzer-Audio | ✅ |
| Kratzer | ✅ |
| Kratzer-Parser | ✅ |
| Kratzblocks | ? |
| Scratch-Gui Redux | ✅ |
| Kratzer-Paint Redux | ✅ |
| Scratch-www Redux |
Installieren Sie zunächst die Typen:
npm install @turbowarp/types
Als nächstes müssen Sie tsconfig.json verwenden, um TypeScript zu konfigurieren, um zu wissen, wie Sie die Typen finden.
{
"compilerOptions" : {
// If you use require() or "module": "CommonJS", remove these lines.
// If you use "module": "ES6", synthetic default imports are required.
"module" : "ES6" ,
"allowSyntheticDefaultImports" : true ,
// Tell TypeScript where to find the types for Scratch libraries.
"paths" : {
"scratch-vm" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-render" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-svg-renderer" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-render-fonts" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-storage" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-audio" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-parser" : [ "./node_modules/@turbowarp/types/index.d.ts" ] ,
"scratch-blocks" : [ "./node_modules/@turbowarp/types/index.d.ts" ]
} ,
// Recommended strictness settings. Change as you please.
"strictNullChecks" : true ,
"noImplicitAny" : true ,
"noImplicitThis" : true
}
}Dann in Ihrem JavaScript oder TypeScript:
import VM from 'scratch-vm' ;
const vm = new VM ( ) ;
vm . loadProject ( /* read a project somehow */ new ArrayBuffer ( 100 ) )
. then ( ( ) => {
vm . start ( ) ;
vm . greenFlag ( ) ;
} ) ;Oder wenn Sie noch benötigt werden ():
const VM = require ( 'scratch-vm' ) ;
const vm = new VM ( ) ;
vm . loadProject ( /* read a project somehow */ new ArrayBuffer ( 100 ) )
. then ( ( ) => {
vm . start ( ) ;
vm . greenFlag ( ) ;
} ) ; Es gibt einige Tests im Ordner tests . Diese Dateien werden nie ausgeführt, aber der Code wird überprüft.
Typdefinitionen und Testcode werden unter der Apache 2.0 -Lizenz lizenziert.
Die dokumentierten Bibliotheken können unter verschiedenen Lizenzen stehen.