From d1cca3c09a4fa6d5410f446b9287ad4255b690a0 Mon Sep 17 00:00:00 2001 From: Maribeth Bottorff Date: Fri, 2 Feb 2024 10:52:36 -0800 Subject: [PATCH] fix: manually add typings for generator classes (#7824) * fix: manually add typings for generator classes * fix: use real generated type for class --- scripts/gulpfiles/package_tasks.js | 1 - tests/typescript/src/generators.ts | 31 ++++++++++++++++++++++++++++++ typings/dart.d.ts | 2 ++ typings/javascript.d.ts | 2 ++ typings/lua.d.ts | 2 ++ typings/php.d.ts | 2 ++ typings/python.d.ts | 2 ++ 7 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tests/typescript/src/generators.ts diff --git a/scripts/gulpfiles/package_tasks.js b/scripts/gulpfiles/package_tasks.js index 38a5b5f9a..46d91ec5f 100644 --- a/scripts/gulpfiles/package_tasks.js +++ b/scripts/gulpfiles/package_tasks.js @@ -348,7 +348,6 @@ function packageDTS() { return gulp.src(handwrittenSrcs, {base: 'typings'}) .pipe(gulp.src(`${TYPINGS_BUILD_DIR}/**/*.d.ts`, {ignore: [ `${TYPINGS_BUILD_DIR}/blocks/**/*`, - `${TYPINGS_BUILD_DIR}/generators/**/*`, ]})) .pipe(gulp.replace('AnyDuringMigration', 'any')) .pipe(gulp.dest(RELEASE_DIR)); diff --git a/tests/typescript/src/generators.ts b/tests/typescript/src/generators.ts new file mode 100644 index 000000000..a87d70ee3 --- /dev/null +++ b/tests/typescript/src/generators.ts @@ -0,0 +1,31 @@ +/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import * as Blockly from 'blockly-test/core'; +import {JavascriptGenerator} from 'blockly-test/javascript'; +import {PhpGenerator, phpGenerator, Order} from 'blockly-test/php'; +import {LuaGenerator} from 'blockly-test/lua'; +import {PythonGenerator} from 'blockly-test/python'; +import {DartGenerator} from 'blockly-test/dart'; + +JavascriptGenerator; +PhpGenerator; +LuaGenerator; +PythonGenerator; +DartGenerator; + +class TestGenerator extends PhpGenerator {} + +const testGenerator = new TestGenerator(); + +testGenerator.forBlock['test_block'] = function ( + _block: Blockly.Block, + _generator: TestGenerator, +) { + return ['a fake code string', Order.ADDITION]; +}; + +phpGenerator.quote_(); diff --git a/typings/dart.d.ts b/typings/dart.d.ts index 4dda479a4..bf89e4f06 100644 --- a/typings/dart.d.ts +++ b/typings/dart.d.ts @@ -26,3 +26,5 @@ export enum Order { } export declare const dartGenerator: any; + +export {DartGenerator} from './generators/dart'; diff --git a/typings/javascript.d.ts b/typings/javascript.d.ts index b507a9be4..ed1106bbc 100644 --- a/typings/javascript.d.ts +++ b/typings/javascript.d.ts @@ -43,3 +43,5 @@ export enum Order { } export declare const javascriptGenerator: any; + +export {JavascriptGenerator} from './generators/javascript'; diff --git a/typings/lua.d.ts b/typings/lua.d.ts index 693fb0ba2..752e8521a 100644 --- a/typings/lua.d.ts +++ b/typings/lua.d.ts @@ -20,3 +20,5 @@ export enum Order { } export declare const luaGenerator: any; + +export {LuaGenerator} from './generators/lua'; diff --git a/typings/php.d.ts b/typings/php.d.ts index 29a223613..deaf9b899 100644 --- a/typings/php.d.ts +++ b/typings/php.d.ts @@ -45,3 +45,5 @@ export enum Order { } export declare const phpGenerator: any; + +export {PhpGenerator} from './generators/php'; diff --git a/typings/python.d.ts b/typings/python.d.ts index 6d6449e37..c0a2c284b 100644 --- a/typings/python.d.ts +++ b/typings/python.d.ts @@ -29,3 +29,5 @@ export enum Order { } export declare const pythonGenerator: any; + +export {PythonGenerator} from './generators/python';