mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 16:54:41 +08:00
* Still WIP * WIP * ArrayEntity parsing fixed * Fix format text entity * Tests for various entity classes and update entity class implementations * More tests and fixed * More entities fixed * Simple entities serialization fixed * Entities tests fixed * Remove serialization bits * Fix Function reference * CustomProperties creating fixed * WIP * Better typing for grammars * Decoding code fixes * Fixing still * Several fixes * rename toString to serialize * Several fixes * More fixes * Moving more stuff out of Utility * Several fixes * Fixing Linear color entity print * Serialization fixes * Fix serialization * Method to compute grammar * Renaming fix * Fix array grammar and equality check * Fix inlined keys * Fix type * Several serialization fixes * Fix undefined dereference * Several fixes * More fixes and cleanup * Fix keys quoting mechanism * Fix natural number assignment * Fix Int64 toString() * Fix quoted keys for inlined arrays * Fix PG pins * Fix several test cases * Types fixes * New pin default value empty * Fix non existing DefaultValue for variadic nodes * Smaller fixes for crashes * Fix link color when attached to knot * Linking test and more reliability operations for adding pins * Improve issue 18 test * More tests and fixes * Fix enum pin entity * Remove failing test
50 lines
2.4 KiB
JavaScript
Executable File
50 lines
2.4 KiB
JavaScript
Executable File
import Parsernostrum from "parsernostrum"
|
|
import AlternativesEntity from "../entity/AlternativesEntity.js"
|
|
import ArrayEntity from "../entity/ArrayEntity.js"
|
|
import BooleanEntity from "../entity/BooleanEntity.js"
|
|
import FormatTextEntity from "../entity/FormatTextEntity.js"
|
|
import GuidEntity from "../entity/GuidEntity.js"
|
|
import IEntity from "../entity/IEntity.js"
|
|
import InvariantTextEntity from "../entity/InvariantTextEntity.js"
|
|
import LinearColorEntity from "../entity/LinearColorEntity.js"
|
|
import LocalizedTextEntity from "../entity/LocalizedTextEntity.js"
|
|
import NullEntity from "../entity/NullEntity.js"
|
|
import NumberEntity from "../entity/NumberEntity.js"
|
|
import ObjectReferenceEntity from "../entity/ObjectReferenceEntity.js"
|
|
import PinReferenceEntity from "../entity/PinReferenceEntity.js"
|
|
import RotatorEntity from "../entity/RotatorEntity.js"
|
|
import StringEntity from "../entity/StringEntity.js"
|
|
import SymbolEntity from "../entity/SymbolEntity.js"
|
|
import UnknownKeysEntity from "../entity/UnknownKeysEntity.js"
|
|
import Vector2DEntity from "../entity/Vector2DEntity.js"
|
|
import Vector4DEntity from "../entity/Vector4DEntity.js"
|
|
import VectorEntity from "../entity/VectorEntity.js"
|
|
|
|
export default function initializeSerializerFactory() {
|
|
IEntity.unknownEntityGrammar =
|
|
Parsernostrum.alt(
|
|
// Remember to keep the order, otherwise parsing might fail
|
|
BooleanEntity.grammar,
|
|
GuidEntity.grammar,
|
|
Parsernostrum.str("None").map(() => ObjectReferenceEntity.createNoneInstance()),
|
|
NullEntity.grammar,
|
|
NumberEntity.grammar,
|
|
ObjectReferenceEntity.fullReferenceGrammar,
|
|
StringEntity.grammar,
|
|
LocalizedTextEntity.grammar,
|
|
InvariantTextEntity.grammar,
|
|
FormatTextEntity.grammar,
|
|
PinReferenceEntity.grammar,
|
|
Vector4DEntity.grammar,
|
|
VectorEntity.grammar,
|
|
Vector2DEntity.grammar,
|
|
RotatorEntity.grammar,
|
|
LinearColorEntity.grammar,
|
|
UnknownKeysEntity.grammar,
|
|
SymbolEntity.grammar,
|
|
ArrayEntity.of(PinReferenceEntity).grammar,
|
|
ArrayEntity.of(AlternativesEntity.accepting(NumberEntity, StringEntity, SymbolEntity)).grammar,
|
|
Parsernostrum.lazy(() => ArrayEntity.createGrammar(IEntity.unknownEntityGrammar)),
|
|
)
|
|
}
|