Relaxed enum value

This commit is contained in:
barsdeveloper
2023-04-26 22:56:46 +02:00
parent 53c28e7049
commit d97f1f39d7
8 changed files with 91 additions and 25 deletions

View File

@@ -1,5 +1,6 @@
import ByteEntity from "../entity/ByteEntity.js"
import Configuration from "../Configuration.js"
import EnumDisplayValueEntity from "../entity/EnumDisplayValueEntity.js"
import EnumEntity from "../entity/EnumEntity.js"
import FormatTextEntity from "../entity/FormatTextEntity.js"
import FunctionReferenceEntity from "../entity/FunctionReferenceEntity.js"
@@ -184,6 +185,9 @@ export default class Grammar {
case ByteEntity:
result = this.byteEntity
break
case EnumDisplayValueEntity:
result = this.enumDisplayValueEntity
break
case EnumEntity:
result = this.enumEntity
break
@@ -375,6 +379,10 @@ export default class Grammar {
static byteEntity = P.lazy(() => this.byteNumber.map(v => new ByteEntity(v)))
static enumDisplayValueEntity = P.lazy(() =>
P.regex(this.Regex.InsideString).map(v => new EnumDisplayValueEntity(v))
)
static enumEntity = P.lazy(() => this.symbol.map(v => new EnumEntity(v)))
static formatTextEntity = P.lazy(() =>

View File

@@ -1,5 +1,6 @@
import ByteEntity from "../entity/ByteEntity.js"
import CustomSerializer from "./CustomSerializer.js"
import EnumDisplayValueEntity from "../entity/EnumDisplayValueEntity.js"
import EnumEntity from "../entity/EnumEntity.js"
import FormatTextEntity from "../entity/FormatTextEntity.js"
import FunctionReferenceEntity from "../entity/FunctionReferenceEntity.js"
@@ -87,6 +88,11 @@ export default function initializeSerializerFactory() {
new ToStringSerializer(ByteEntity)
)
SerializerFactory.registerSerializer(
EnumDisplayValueEntity,
new ToStringSerializer(EnumDisplayValueEntity)
)
SerializerFactory.registerSerializer(
EnumEntity,
new ToStringSerializer(EnumEntity)