import { ISharedFunction , FunctionBodyType } from '@/application/Parser/Script/Compiler/Function/ISharedFunction' ; import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection' ; import { SharedFunctionStub } from './SharedFunctionStub' ; export class SharedFunctionCollectionStub implements ISharedFunctionCollection { private readonly functions = new Map < string , ISharedFunction > ( ) ; public withFunction ( ... funcs ) { for ( const func of funcs ) { this . functions . set ( func . name , func ) ; } return this ; } public getFunctionByName ( name ) { if ( this . functions . has ( name ) ) { return this . functions . get ( name ) ; } return new SharedFunctionStub ( FunctionBodyType . Code ) . withName ( name ) . withCode ( 'code by SharedFunctionCollectionStub' ) . withRevertCode ( 'revert-code by SharedFunctionCollectionStub' ) ; } }