Skip to content

Commit c5ecba0

Browse files
mridangclaude
andcommitted
feat: add Swift, Dart, and Elixir API client generators
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 188c939 commit c5ecba0

503 files changed

Lines changed: 40570 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/io/github/mridang/codegen/generators/dart/BetterDartCodegen.java

Lines changed: 615 additions & 0 deletions
Large diffs are not rendered by default.

src/main/java/io/github/mridang/codegen/generators/elixir/BetterElixirCodegen.java

Lines changed: 608 additions & 0 deletions
Large diffs are not rendered by default.

src/main/java/io/github/mridang/codegen/generators/swift/BetterSwiftCodegen.java

Lines changed: 603 additions & 0 deletions
Large diffs are not rendered by default.

src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@ io.github.mridang.codegen.generators.csharp.BetterCSharpCodegen
77
io.github.mridang.codegen.generators.go.BetterGoCodegen
88
io.github.mridang.codegen.generators.kotlin.BetterKotlinCodegen
99
io.github.mridang.codegen.generators.rust.BetterRustCodegen
10+
io.github.mridang.codegen.generators.swift.BetterSwiftCodegen
11+
io.github.mridang.codegen.generators.dart.BetterDartCodegen
12+
io.github.mridang.codegen.generators.elixir.BetterElixirCodegen
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Dart reserved words and keywords
2+
# Source: https://dart.dev/language/keywords
3+
abstract
4+
as
5+
assert
6+
async
7+
await
8+
base
9+
break
10+
case
11+
catch
12+
class
13+
const
14+
continue
15+
covariant
16+
default
17+
deferred
18+
do
19+
dynamic
20+
else
21+
enum
22+
export
23+
extends
24+
extension
25+
external
26+
factory
27+
false
28+
final
29+
finally
30+
for
31+
Function
32+
get
33+
hide
34+
if
35+
implements
36+
import
37+
in
38+
interface
39+
is
40+
late
41+
library
42+
mixin
43+
new
44+
null
45+
of
46+
on
47+
operator
48+
part
49+
required
50+
rethrow
51+
return
52+
sealed
53+
set
54+
show
55+
static
56+
super
57+
switch
58+
sync
59+
this
60+
throw
61+
true
62+
try
63+
type
64+
typedef
65+
var
66+
void
67+
when
68+
while
69+
with
70+
yield
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Elixir reserved words and keywords
2+
# Source: https://hexdocs.pm/elixir/syntax-reference.html
3+
after
4+
alias
5+
and
6+
case
7+
catch
8+
cond
9+
def
10+
defdelegate
11+
defexception
12+
defguard
13+
defguardp
14+
defimpl
15+
defmacro
16+
defmacrop
17+
defmodule
18+
defoverridable
19+
defp
20+
defprotocol
21+
defstruct
22+
do
23+
else
24+
end
25+
false
26+
fn
27+
for
28+
if
29+
import
30+
in
31+
nil
32+
not
33+
or
34+
quote
35+
raise
36+
receive
37+
require
38+
rescue
39+
self
40+
super
41+
then
42+
throw
43+
true
44+
try
45+
unless
46+
unquote
47+
unquote_splicing
48+
use
49+
when
50+
with
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Swift reserved words and keywords
2+
# Source: https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/
3+
Any
4+
Protocol
5+
Self
6+
Type
7+
actor
8+
any
9+
as
10+
associatedtype
11+
async
12+
await
13+
borrowing
14+
break
15+
case
16+
catch
17+
class
18+
consume
19+
consuming
20+
continue
21+
convenience
22+
default
23+
defer
24+
deinit
25+
didSet
26+
discard
27+
distributed
28+
do
29+
dynamic
30+
each
31+
else
32+
enum
33+
extension
34+
fallthrough
35+
false
36+
fileprivate
37+
final
38+
for
39+
func
40+
get
41+
guard
42+
if
43+
import
44+
in
45+
indirect
46+
infix
47+
init
48+
inout
49+
internal
50+
is
51+
isolated
52+
lazy
53+
left
54+
let
55+
macro
56+
mutating
57+
nil
58+
nonisolated
59+
nonmutating
60+
nonsending
61+
none
62+
open
63+
operator
64+
optional
65+
override
66+
package
67+
postfix
68+
precedencegroup
69+
preconcurrency
70+
prefix
71+
private
72+
protocol
73+
public
74+
read
75+
repeat
76+
required
77+
rethrows
78+
return
79+
retroactive
80+
right
81+
safe
82+
self
83+
sending
84+
set
85+
some
86+
static
87+
struct
88+
subscript
89+
super
90+
switch
91+
then
92+
throw
93+
throws
94+
true
95+
try
96+
typealias
97+
unchecked
98+
unowned
99+
unsafe
100+
var
101+
weak
102+
where
103+
while
104+
willSet
105+
yield
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
include: package:lints/recommended.yaml
2+
3+
analyzer:
4+
errors:
5+
todo: ignore
6+
language:
7+
strict-casts: true
8+
strict-inference: true
9+
strict-raw-types: true
10+
11+
linter:
12+
rules:
13+
- always_declare_return_types
14+
- annotate_overrides
15+
- avoid_empty_else
16+
- avoid_print
17+
- avoid_relative_lib_imports
18+
- avoid_returning_null_for_future
19+
- avoid_types_as_parameter_names
20+
- avoid_unused_constructor_parameters
21+
- camel_case_types
22+
- cancel_subscriptions
23+
- constant_identifier_names
24+
- curly_braces_in_flow_control_structures
25+
- directives_ordering
26+
- empty_catches
27+
- empty_constructor_bodies
28+
- library_names
29+
- library_prefixes
30+
- no_duplicate_case_values
31+
- null_closures
32+
- prefer_const_constructors
33+
- prefer_const_declarations
34+
- prefer_final_fields
35+
- prefer_final_locals
36+
- prefer_is_empty
37+
- prefer_is_not_empty
38+
- prefer_single_quotes
39+
- sort_child_properties_last
40+
- type_init_formals
41+
- unnecessary_const
42+
- unnecessary_new
43+
- unnecessary_null_in_if_null_operators
44+
- unnecessary_this
45+
- unrelated_type_equality_checks
46+
- use_rethrow_when_possible

0 commit comments

Comments
 (0)