Skip to content

Commit 4e6ed1d

Browse files
committed
🐛 Interfaceの型チェックのクラスと関数を正確化
1 parent 6a3fcae commit 4e6ed1d

File tree

6 files changed

+20
-7
lines changed

6 files changed

+20
-7
lines changed

dist/JavaLibraryScript.js

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/JavaLibraryScript.js.map

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/JavaLibraryScript.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/JavaLibraryScript.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/base/Interface.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class Interface extends JavaLibraryScriptCore {
3838

3939
// 戻り値型を動的に取得
4040
const ret = def.returns;
41-
const expectedReturn = TypeChecker.checkClass(ret) ? ret : ret(args);
41+
const expectedReturn = TypeChecker.checkFunction(ret) ? ret(args) : ret;
4242

4343
const validate = (val) => {
4444
if (!TypeChecker.matchType(val, expectedReturn)) {

src/libs/TypeChecker.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ class TypeChecker extends JavaLibraryScriptCore {
106106
return String(value); // それ以外の型はそのまま文字列に変換
107107
}
108108

109+
static checkFunction(fn) {
110+
if (typeof fn !== "function") return false;
111+
if (this.checkClass(fn)) return false;
112+
return true;
113+
}
114+
109115
static checkClass(fn) {
110116
if (typeof fn !== "function") return false;
111117
if (this._CLASS_REG.test(fn.toString())) return true;

0 commit comments

Comments
 (0)