Add states parser
This commit is contained in:
parent
35ef968ed1
commit
f5ff4e06bc
17 changed files with 454 additions and 60 deletions
19
states-templates/Codecs.scala.ftl
Normal file
19
states-templates/Codecs.scala.ftl
Normal file
|
@ -0,0 +1,19 @@
|
|||
// Copyright 2025 "Johan Maasing" <johan@zoom.nu>
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
package ${config.package}
|
||||
|
||||
object Codecs:
|
||||
<#list typeDefinitions as type>
|
||||
given Codec[${type.name?cap_first}] = deriveCodec
|
||||
</#list>
|
23
states-templates/Types.scala.ftl
Normal file
23
states-templates/Types.scala.ftl
Normal file
|
@ -0,0 +1,23 @@
|
|||
// Copyright 2025 "Johan Maasing" <johan@zoom.nu>
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
package ${config.package}
|
||||
|
||||
object StateAndMessageTypes:
|
||||
<#list typeDefinitions?sort as type>
|
||||
case class ${type.name?cap_first}(
|
||||
<#list type.fields as field>
|
||||
${field.name} : ${field.type},
|
||||
</#list>
|
||||
)
|
||||
</#list>
|
29
states-templates/nodes.md.ftl
Normal file
29
states-templates/nodes.md.ftl
Normal file
|
@ -0,0 +1,29 @@
|
|||
```
|
||||
Copyright 2025 "Johan Maasing" <johan@zoom.nu>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
```
|
||||
|
||||
# The nodes
|
||||
|
||||
```mermaid
|
||||
---
|
||||
title: ${config.title}
|
||||
---
|
||||
stateDiagram-v2
|
||||
<#list states as state>
|
||||
<#list state.transitions as transition>
|
||||
${state.name} --> ${transition.toState} : ${transition.message}
|
||||
</#list>
|
||||
</#list>
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue