Plasma Engine  2.0
Loading...
Searching...
No Matches
Transpiler.h
1#pragma once
2
3#include <TypeScriptPlugin/TypeScriptPluginDLL.h>
4
5#include <Core/Scripting/DuktapeContext.h>
6#include <Foundation/Basics.h>
7#include <Foundation/Threading/TaskSystem.h>
8
9class PL_TYPESCRIPTPLUGIN_DLL plTypeScriptTranspiler
10{
11public:
14
15 void SetOutputFolder(const char* szFolder);
16 void StartLoadTranspiler();
17 void FinishLoadTranspiler();
18 plResult TranspileString(const char* szString, plStringBuilder& out_sResult);
19 plResult TranspileFile(const char* szFile, plUInt64 uiSkipIfFileHash, plStringBuilder& out_sResult, plUInt64& out_uiFileHash);
20 plResult TranspileFileAndStoreJS(const char* szFile, plStringBuilder& out_sResult);
21 void SetModifyTsBeforeTranspilationCallback(plDelegate<void(plStringBuilder&)> callback);
22
23private:
24 plDelegate<void(plStringBuilder&)> m_ModifyTsBeforeTranspilationCB;
25 plString m_sOutputFolder;
26 plTaskGroupID m_LoadTaskGroup;
27 plDuktapeContext m_Transpiler;
28};
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
Given out by plTaskSystem::CreateTaskGroup to identify a task group.
Definition TaskSystemDeclarations.h:103
Definition Transpiler.h:10
A generic delegate class which supports static functions and member functions.
Definition Delegate.h:76
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54