- THRIFT-5712 - Added Dart 3 Compatibility
diff --git a/tutorial/dart/client/pubspec.yaml b/tutorial/dart/client/pubspec.yaml
index a8c148d..4ffaa42 100644
--- a/tutorial/dart/client/pubspec.yaml
+++ b/tutorial/dart/client/pubspec.yaml
@@ -22,7 +22,7 @@
homepage: http://thrift.apache.org
environment:
- sdk: ">=1.13.0 <3.0.0"
+ sdk: ">=2.12.0 <4.0.0"
dependencies:
shared:
diff --git a/tutorial/dart/client/web/client.dart b/tutorial/dart/client/web/client.dart
index 4f02d0d..be5cfe6 100644
--- a/tutorial/dart/client/web/client.dart
+++ b/tutorial/dart/client/web/client.dart
@@ -24,7 +24,7 @@
/// Adapted from the AS3 tutorial
void main() {
- new CalculatorUI(querySelector('#output')).start();
+ new CalculatorUI(querySelector('#output') as DivElement ).start();
}
class CalculatorUI {
@@ -32,8 +32,8 @@
CalculatorUI(this.output);
- TTransport _transport;
- Calculator _calculatorClient;
+ late TTransport _transport;
+ late Calculator _calculatorClient;
void start() {
_buildInterface();
@@ -120,12 +120,12 @@
void _onAddClick(MouseEvent e) {
_validate();
- InputElement num1 = querySelector("#add1");
- InputElement num2 = querySelector("#add2");
- SpanElement result = querySelector("#addResult");
+ InputElement num1 = querySelector("#add1") as InputElement;
+ InputElement num2 = querySelector("#add2")as InputElement;
+ SpanElement result = querySelector("#addResult") as SpanElement;
_calculatorClient
- .add(int.parse(num1.value), int.parse(num2.value))
+ .add(int.parse(num1.value ?? "0"), int.parse(num2.value ?? "0"))
.then((int n) {
result.text = "$n";
});
@@ -211,21 +211,21 @@
void _onCalcClick(MouseEvent e) {
_validate();
- InputElement num1 = querySelector("#calc1");
- InputElement num2 = querySelector("#calc2");
- SelectElement op = querySelector("#calcOp");
- SpanElement result = querySelector("#calcResult");
- InputElement logId = querySelector("#logId");
- InputElement comment = querySelector("#comment");
+ InputElement num1 = querySelector("#calc1") as InputElement;
+ InputElement num2 = querySelector("#calc2")as InputElement;
+ SelectElement op = querySelector("#calcOp") as SelectElement;
+ SpanElement result = querySelector("#calcResult") as SpanElement;
+ InputElement logId = querySelector("#logId") as InputElement;
+ InputElement comment = querySelector("#comment") as InputElement;
- int logIdValue = int.parse(logId.value);
+ int logIdValue = int.parse(logId.value ?? "0");
logId.value = (logIdValue + 1).toString();
Work work = new Work();
- work.num1 = int.parse(num1.value);
- work.num2 = int.parse(num2.value);
- work.op = int.parse(op.options[op.selectedIndex].value);
- work.comment = comment.value;
+ work.num1 = int.parse(num1.value!);
+ work.num2 = int.parse(num2.value!);
+ work.op = int.parse(op.options[op.selectedIndex!].value);
+ work.comment = comment.value!;
_calculatorClient.calculate(logIdValue, work).then((int n) {
result.text = "$n";
@@ -266,13 +266,13 @@
void _onGetStructClick(MouseEvent e) {
_validate();
- InputElement structKey = querySelector("#structKey");
- TextAreaElement result = querySelector("#getStructResult");
+ InputElement structKey = querySelector("#structKey") as InputElement;
+ TextAreaElement result = querySelector("#getStructResult") as TextAreaElement;
_calculatorClient
- .getStruct(int.parse(structKey.value))
- .then((SharedStruct s) {
- result.text = "${s.toString()}";
+ .getStruct(int.parse(structKey.value!))
+ .then((SharedStruct? s) {
+ result.text = "${s?.toString()}";
});
}
}