Skip to content

Commit

Permalink
Modify kotlin and swift generation script to support ws
Browse files Browse the repository at this point in the history
  • Loading branch information
BillCarsonFr committed May 29, 2024
1 parent 529e369 commit 39eeb1c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
14 changes: 8 additions & 6 deletions stub-generator/matrix_analytics_stub_generator/kotlin.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import re
from .schema import Schema, is_mobile_screen_event, first_letter_up, first_letter_down, split_text

def compute_kotlin(schema: Schema) -> str:
Expand Down Expand Up @@ -77,7 +78,7 @@ def compute_kotlin(schema: Schema) -> str:
isFirstEnum = True
for enum in schema.enums:
result += "\n"
result += f" enum class {enum.name} " + "{\n"
result += f" enum class {enum.name}(val rawValue: String) " + "{\n"
enum.values.sort()
for value in enum.values:
if value.description:
Expand All @@ -86,13 +87,14 @@ def compute_kotlin(schema: Schema) -> str:
result += f" /**\n"
result += f"{split_text(' * ', value.description)}\n"
result += f" */\n"
result += f" {value.name},\n"
validIdentifier = re.sub('[^a-zA-Z0-9_]', '', value.name)
result += f" {validIdentifier}(\"{value.name}\"),\n"
isFirstEnum = False
result += " }\n"

if is_screen:
result += "\n"
result += " override fun getName() = screenName.name\n"
result += " override fun getName() = screenName.rawValue\n"
elif schema.event_name:
result += "\n"
result += f' override fun getName() = "{schema.event_name}"\n'
Expand All @@ -114,12 +116,12 @@ def compute_kotlin(schema: Schema) -> str:
continue
if member.required:
if member.enum:
result += f' put("{validName}", {member.name}.name)\n'
result += f' put("{validName}", {member.name}.rawValue)\n'
else:
result += f' put("{validName}", {member.name})\n'
else:
if member.enum:
result += ' %s?.let { put("%s", it.name) }\n' % (
result += ' %s?.let { put("%s", it.rawValue) }\n' % (
validName,
member.name,
)
Expand Down
4 changes: 3 additions & 1 deletion stub-generator/matrix_analytics_stub_generator/swift.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import re
from .schema import Schema, Member, is_mobile_screen_event


Expand Down Expand Up @@ -123,7 +124,8 @@ def compute_swift(schema: Schema) -> str:
for value in enum.values:
if value.description:
result += f" /// {value.description}\n"
result += f" case {value.name}\n"
validIdentifier = re.sub('[^a-zA-Z0-9_]', '', value.name)
result += f" case {validIdentifier} = \"{value.name}\"\n"
result += " }\n"

# Properties dictionary
Expand Down

0 comments on commit 39eeb1c

Please sign in to comment.