Skip to content

Commit

Permalink
fix: Fix ModelRefPath.
Browse files Browse the repository at this point in the history
  • Loading branch information
mathrunet committed Jul 29, 2023
1 parent 4b3fb4d commit 8b57a2c
Showing 1 changed file with 48 additions and 38 deletions.
86 changes: 48 additions & 38 deletions packages/masamune_builder/lib/model/model_class.dart
Original file line number Diff line number Diff line change
Expand Up @@ -45,33 +45,38 @@ List<Spec> modelClass(
..requiredParameters.addAll([
Parameter(
(p) => p
..name = "path"
..name = "uid"
..type = const Reference("String"),
)
])
..optionalParameters.addAll([
Parameter(
(p) => p
..name = "adapter"
..type = const Reference("ModelAdapter?"),
),
...path.parameters.map((param) {
return Parameter(
(p) => p
..name = param.camelCase
..named = true
..required = true
..type = const Reference("String"),
);
}),
])
..initializers.addAll([
const Code("super(path, adapter)"),
...path.parameters.map((param) {
return Code("_${param.camelCase} = ${param.camelCase}");
}),
const Code("super(uid)"),
]),
),
])
..fields.addAll([
Field(
(f) => f
..name = "_path"
..static = true
..modifier = FieldModifier.constant
..type = const Reference("String")
..assignment = Code(
"\"${path.path.replaceAllMapped(_pathRegExp, (m) => "\$_${m.group(1)?.toCamelCase() ?? ""}")}\"",
),
),
...path.parameters.map((param) {
return Field(
(f) => f
..name = "_${param.camelCase}"
..modifier = FieldModifier.final$
..type = const Reference("String"),
);
}),
])
..methods.addAll(
[
Expand All @@ -83,8 +88,8 @@ List<Spec> modelClass(
])
..returns = const Reference("DocumentModelQuery")
..type = MethodType.getter
..body = const Code(
"return DocumentModelQuery( \"\$_path/\${path.trimQuery().trimString(\"/\")}\", adapter: adapter, );",
..body = Code(
"return DocumentModelQuery( \"${path.path.replaceAllMapped(_pathRegExp, (m) => "\$_${m.group(1)?.toCamelCase() ?? ""}")}/\${path.trimQuery().trimString(\"/\")}\", adapter: adapter, );",
),
)
],
Expand Down Expand Up @@ -208,33 +213,38 @@ List<Spec> modelClass(
..requiredParameters.addAll([
Parameter(
(p) => p
..name = "path"
..name = "uid"
..type = const Reference("String"),
)
])
..optionalParameters.addAll([
Parameter(
(p) => p
..name = "adapter"
..type = const Reference("ModelAdapter?"),
),
...mirror.parameters.map((param) {
return Parameter(
(p) => p
..name = param.camelCase
..named = true
..required = true
..type = const Reference("String"),
);
}),
])
..initializers.addAll([
const Code("super(path, adapter)"),
...mirror.parameters.map((param) {
return Code("_${param.camelCase} = ${param.camelCase}");
}),
const Code("super(uid)"),
]),
),
])
..fields.addAll([
Field(
(f) => f
..name = "_path"
..static = true
..modifier = FieldModifier.constant
..type = const Reference("String")
..assignment = Code(
"\"${mirror.path.replaceAllMapped(_pathRegExp, (m) => "\$_${m.group(1)?.toCamelCase() ?? ""}")}\"",
),
),
...mirror.parameters.map((param) {
return Field(
(f) => f
..name = "_${param.camelCase}"
..modifier = FieldModifier.final$
..type = const Reference("String"),
);
}),
])
..methods.addAll(
[
Expand All @@ -246,8 +256,8 @@ List<Spec> modelClass(
])
..returns = const Reference("DocumentModelQuery")
..type = MethodType.getter
..body = const Code(
"return DocumentModelQuery( \"\$_path/\${path.trimQuery().trimString(\"/\")}\", adapter: adapter, );",
..body = Code(
"return DocumentModelQuery( \"${mirror.path.replaceAllMapped(_pathRegExp, (m) => "\$_${m.group(1)?.toCamelCase() ?? ""}")}/\${path.trimQuery().trimString(\"/\")}\", adapter: adapter, );",
),
)
],
Expand Down

0 comments on commit 8b57a2c

Please sign in to comment.