O Scratch não fornece definições de tipo para suas bibliotecas, então escrevemos a nossa.
Este repositório contém apenas tipos de tempo de execução e editor de scratch de baunilha (LLK). Para os tipos adicionais nos tempos de execução do Turbowarp, consulte @Turbowarp/Types-TW.
Uma versão possivelmente mais legível por humanos das definições do TypeScript pode ser encontrada em: https://turbowarp.github.io/types/
| Módulo | Status |
|---|---|
| Scratch-VM | ✅ |
| riscos | ✅ |
| Scratch-SVG Renderizador | ✅ |
| Fontas de arranhões | ✅ |
| Scratch-Audio | ✅ |
| armazenamento de arranhões | ✅ |
| PARArador de arranhões | ✅ |
| Blocks de arranhões | ? |
| Redux de arranhão-gui | ✅ |
| Redux de pintura de arranhão | ✅ |
| Redux Scratch-WWW |
Primeiro, instale os tipos:
npm install @turbowarp/types
Em seguida, você deve usar tsconfig.json para configurar o TypeScript para saber como encontrar os tipos.
{
"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
}
}Então, em seu JavaScript ou TypeScript:
import VM from 'scratch-vm' ;
const vm = new VM ( ) ;
vm . loadProject ( /* read a project somehow */ new ArrayBuffer ( 100 ) )
. then ( ( ) => {
vm . start ( ) ;
vm . greenFlag ( ) ;
} ) ;Ou se você ainda usar exigir ():
const VM = require ( 'scratch-vm' ) ;
const vm = new VM ( ) ;
vm . loadProject ( /* read a project somehow */ new ArrayBuffer ( 100 ) )
. then ( ( ) => {
vm . start ( ) ;
vm . greenFlag ( ) ;
} ) ; Existem alguns testes na pasta de tests . Esses arquivos nunca são executados, mas o código será verificado.
As definições de tipo e o código de teste são licenciadas sob a licença Apache 2.0.
As bibliotecas que estão sendo documentadas podem estar sob licenças diferentes.