From bba042839ef2a2fafe455a2057eae705e9b65f23 Mon Sep 17 00:00:00 2001 From: Peter Trost Date: Mon, 4 Mar 2024 08:34:04 +0100 Subject: [PATCH 1/3] ref: Restructure project for single import --- example/main.dart | 4 +--- lib/src/_connect_api.dart | 3 ++- lib/src/_connect_html.dart | 3 ++- lib/src/_connect_io.dart | 3 ++- lib/{ => src}/parser.dart | 2 +- lib/{ => src}/sock_js/sock_js_parser.dart | 6 +++--- lib/{ => src}/sock_js/sock_js_utils.dart | 0 lib/{ => src}/stomp.dart | 6 +++--- lib/{ => src}/stomp_config.dart | 4 ++-- lib/{ => src}/stomp_exception.dart | 0 lib/{ => src}/stomp_frame.dart | 0 lib/{ => src}/stomp_handler.dart | 19 ++++++++++--------- lib/{ => src}/stomp_parser.dart | 6 +++--- lib/stomp_dart_client.dart | 9 +++++++++ test/sock_js_parser_test.dart | 3 +-- test/sock_js_utils_test.dart | 2 +- test/stomp_config_test.dart | 2 +- test/stomp_handler_test.dart | 5 +---- test/stomp_parser_test.dart | 3 +-- test/stomp_test.dart | 12 ++++-------- 20 files changed, 47 insertions(+), 45 deletions(-) rename lib/{ => src}/parser.dart (71%) rename lib/{ => src}/sock_js/sock_js_parser.dart (92%) rename lib/{ => src}/sock_js/sock_js_utils.dart (100%) rename lib/{ => src}/stomp.dart (94%) rename lib/{ => src}/stomp_config.dart (98%) rename lib/{ => src}/stomp_exception.dart (100%) rename lib/{ => src}/stomp_frame.dart (100%) rename lib/{ => src}/stomp_handler.dart (94%) rename lib/{ => src}/stomp_parser.dart (98%) create mode 100644 lib/stomp_dart_client.dart diff --git a/example/main.dart b/example/main.dart index 032be2c..a3b1b5e 100644 --- a/example/main.dart +++ b/example/main.dart @@ -1,9 +1,7 @@ import 'dart:async'; import 'dart:convert'; -import 'package:stomp_dart_client/stomp.dart'; -import 'package:stomp_dart_client/stomp_config.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; +import 'package:stomp_dart_client/stomp_dart_client.dart'; void onConnect(StompFrame frame) { stompClient.subscribe( diff --git a/lib/src/_connect_api.dart b/lib/src/_connect_api.dart index 4d2dd5c..8af73eb 100644 --- a/lib/src/_connect_api.dart +++ b/lib/src/_connect_api.dart @@ -1,8 +1,9 @@ import 'dart:async'; -import 'package:stomp_dart_client/stomp_config.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; +import 'stomp_config.dart'; + Future connect(StompConfig config) { throw UnsupportedError('No implementation of the connect api provided'); } diff --git a/lib/src/_connect_html.dart b/lib/src/_connect_html.dart index 96f0bb3..41f3316 100644 --- a/lib/src/_connect_html.dart +++ b/lib/src/_connect_html.dart @@ -1,10 +1,11 @@ import 'dart:async'; import 'dart:html'; -import 'package:stomp_dart_client/stomp_config.dart'; import 'package:web_socket_channel/html.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; +import 'stomp_config.dart'; + Future connect(StompConfig config) { final completer = Completer(); final webSocket = WebSocket(config.connectUrl) diff --git a/lib/src/_connect_io.dart b/lib/src/_connect_io.dart index 991c492..719610d 100644 --- a/lib/src/_connect_io.dart +++ b/lib/src/_connect_io.dart @@ -1,10 +1,11 @@ import 'dart:async'; import 'dart:io'; -import 'package:stomp_dart_client/stomp_config.dart'; import 'package:web_socket_channel/io.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; +import 'stomp_config.dart'; + Future connect(StompConfig config) async { try { var webSocket = WebSocket.connect( diff --git a/lib/parser.dart b/lib/src/parser.dart similarity index 71% rename from lib/parser.dart rename to lib/src/parser.dart index 809a821..51dbd6c 100644 --- a/lib/parser.dart +++ b/lib/src/parser.dart @@ -1,4 +1,4 @@ -import 'package:stomp_dart_client/stomp_frame.dart'; +import 'stomp_frame.dart'; abstract class Parser { late bool escapeHeaders; diff --git a/lib/sock_js/sock_js_parser.dart b/lib/src/sock_js/sock_js_parser.dart similarity index 92% rename from lib/sock_js/sock_js_parser.dart rename to lib/src/sock_js/sock_js_parser.dart index 2bfe903..d3b4530 100644 --- a/lib/sock_js/sock_js_parser.dart +++ b/lib/src/sock_js/sock_js_parser.dart @@ -1,9 +1,9 @@ import 'dart:convert'; import 'dart:typed_data'; -import 'package:stomp_dart_client/parser.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; -import 'package:stomp_dart_client/stomp_parser.dart'; +import '../parser.dart'; +import '../stomp_frame.dart'; +import '../stomp_parser.dart'; class SockJSParser implements Parser { SockJSParser({ diff --git a/lib/sock_js/sock_js_utils.dart b/lib/src/sock_js/sock_js_utils.dart similarity index 100% rename from lib/sock_js/sock_js_utils.dart rename to lib/src/sock_js/sock_js_utils.dart diff --git a/lib/stomp.dart b/lib/src/stomp.dart similarity index 94% rename from lib/stomp.dart rename to lib/src/stomp.dart index 9c013b6..8bdb9c3 100644 --- a/lib/stomp.dart +++ b/lib/src/stomp.dart @@ -1,9 +1,9 @@ import 'dart:async'; import 'dart:typed_data'; -import 'package:stomp_dart_client/stomp_config.dart'; -import 'package:stomp_dart_client/stomp_exception.dart'; -import 'package:stomp_dart_client/stomp_handler.dart'; +import 'stomp_config.dart'; +import 'stomp_exception.dart'; +import 'stomp_handler.dart'; class StompClient { StompClient({required this.config}); diff --git a/lib/stomp_config.dart b/lib/src/stomp_config.dart similarity index 98% rename from lib/stomp_config.dart rename to lib/src/stomp_config.dart index 3ad0755..c6f64bd 100644 --- a/lib/stomp_config.dart +++ b/lib/src/stomp_config.dart @@ -1,7 +1,7 @@ import 'dart:async'; -import 'package:stomp_dart_client/sock_js/sock_js_utils.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; +import 'sock_js/sock_js_utils.dart'; +import 'stomp_frame.dart'; typedef StompFrameCallback = void Function(StompFrame); typedef StompBeforeConnectCallback = Future Function(); diff --git a/lib/stomp_exception.dart b/lib/src/stomp_exception.dart similarity index 100% rename from lib/stomp_exception.dart rename to lib/src/stomp_exception.dart diff --git a/lib/stomp_frame.dart b/lib/src/stomp_frame.dart similarity index 100% rename from lib/stomp_frame.dart rename to lib/src/stomp_frame.dart diff --git a/lib/stomp_handler.dart b/lib/src/stomp_handler.dart similarity index 94% rename from lib/stomp_handler.dart rename to lib/src/stomp_handler.dart index a821080..2acaead 100644 --- a/lib/stomp_handler.dart +++ b/lib/src/stomp_handler.dart @@ -2,17 +2,18 @@ import 'dart:async'; import 'dart:math'; import 'dart:typed_data'; -import 'package:stomp_dart_client/parser.dart'; -import 'package:stomp_dart_client/sock_js/sock_js_parser.dart'; -import 'package:stomp_dart_client/stomp_config.dart'; -import 'package:stomp_dart_client/stomp_exception.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; -import 'package:stomp_dart_client/stomp_parser.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; -import 'src/_connect_api.dart' - if (dart.library.html) 'src/_connect_html.dart' - if (dart.library.io) 'src/_connect_io.dart' as platform; +import 'parser.dart'; +import 'sock_js/sock_js_parser.dart'; +import 'stomp_config.dart'; +import 'stomp_exception.dart'; +import 'stomp_frame.dart'; +import 'stomp_parser.dart'; + +import '_connect_api.dart' + if (dart.library.html) '_connect_html.dart' + if (dart.library.io) '_connect_io.dart' as platform; typedef StompUnsubscribe = void Function({ Map? unsubscribeHeaders, diff --git a/lib/stomp_parser.dart b/lib/src/stomp_parser.dart similarity index 98% rename from lib/stomp_parser.dart rename to lib/src/stomp_parser.dart index 68231d0..0d84213 100644 --- a/lib/stomp_parser.dart +++ b/lib/src/stomp_parser.dart @@ -3,9 +3,9 @@ import 'dart:convert'; import 'dart:typed_data'; -import 'package:stomp_dart_client/parser.dart'; -import 'package:stomp_dart_client/stomp_config.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; +import 'stomp_config.dart'; +import 'stomp_frame.dart'; +import 'parser.dart'; typedef _ParseByteFunction = void Function(int); diff --git a/lib/stomp_dart_client.dart b/lib/stomp_dart_client.dart new file mode 100644 index 0000000..3bf9d80 --- /dev/null +++ b/lib/stomp_dart_client.dart @@ -0,0 +1,9 @@ +export 'src/parser.dart'; +export 'src/stomp_config.dart'; +export 'src/stomp_exception.dart'; +export 'src/stomp_frame.dart'; +export 'src/stomp_handler.dart'; +export 'src/stomp_parser.dart'; +export 'src/stomp.dart'; +export 'src/sock_js/sock_js_parser.dart'; +export 'src/sock_js/sock_js_utils.dart'; diff --git a/test/sock_js_parser_test.dart b/test/sock_js_parser_test.dart index 59a4e30..1625abc 100644 --- a/test/sock_js_parser_test.dart +++ b/test/sock_js_parser_test.dart @@ -1,7 +1,6 @@ import 'dart:convert'; -import 'package:stomp_dart_client/sock_js/sock_js_parser.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; +import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/sock_js_utils_test.dart b/test/sock_js_utils_test.dart index b29a096..90c6438 100644 --- a/test/sock_js_utils_test.dart +++ b/test/sock_js_utils_test.dart @@ -1,4 +1,4 @@ -import 'package:stomp_dart_client/sock_js/sock_js_utils.dart'; +import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/stomp_config_test.dart b/test/stomp_config_test.dart index 47e44de..aa19c22 100644 --- a/test/stomp_config_test.dart +++ b/test/stomp_config_test.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:test/test.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; -import 'package:stomp_dart_client/stomp_config.dart'; +import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:stomp_dart_client/src/_connect_api.dart' if (dart.library.html) '../lib/src/_connect_html.dart' if (dart.library.io) '../lib/src/_connect_io.dart' as platform; diff --git a/test/stomp_handler_test.dart b/test/stomp_handler_test.dart index 1a17a29..352156d 100644 --- a/test/stomp_handler_test.dart +++ b/test/stomp_handler_test.dart @@ -1,9 +1,6 @@ import 'dart:async'; -import 'package:stomp_dart_client/stomp_config.dart'; -import 'package:stomp_dart_client/stomp_exception.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; -import 'package:stomp_dart_client/stomp_handler.dart'; +import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:stream_channel/stream_channel.dart'; import 'package:test/test.dart'; diff --git a/test/stomp_parser_test.dart b/test/stomp_parser_test.dart index a1d96e3..1c1f333 100644 --- a/test/stomp_parser_test.dart +++ b/test/stomp_parser_test.dart @@ -1,8 +1,7 @@ import 'dart:convert'; import 'dart:typed_data'; -import 'package:stomp_dart_client/stomp_frame.dart'; -import 'package:stomp_dart_client/stomp_parser.dart'; +import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/stomp_test.dart b/test/stomp_test.dart index 029e307..c6f24dd 100644 --- a/test/stomp_test.dart +++ b/test/stomp_test.dart @@ -1,10 +1,6 @@ import 'dart:async'; -import 'package:stomp_dart_client/stomp.dart'; -import 'package:stomp_dart_client/stomp_config.dart'; -import 'package:stomp_dart_client/stomp_exception.dart'; -import 'package:stomp_dart_client/stomp_frame.dart'; -import 'package:stomp_dart_client/stomp_handler.dart'; +import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:stream_channel/stream_channel.dart'; import 'package:test/test.dart'; @@ -23,7 +19,7 @@ void main() { import 'package:web_socket_channel/io.dart'; import 'package:stomp_dart_client/stomp_parser.dart'; import 'package:stream_channel/stream_channel.dart'; - + Future hybridMain(StreamChannel channel) async { final server = await HttpServer.bind("localhost", 0); server.transform(WebSocketTransformer()).listen((webSocket) { @@ -40,7 +36,7 @@ void main() { "MESSAGE\nsubscription:${frame.headers['id']}\nmessage-id:123\ndestination:/foo\n\nThis is the message body\x00"); } else if (frame.headers['destination'] == '/bar') { webSocketChannel.sink.add(utf8.encode( - "MESSAGE\nsubscription:${frame.headers['id']}\nmessage-id:123\ndestination:/bar\n\nThis is the message body\x00")); + "MESSAGE\nsubscription:${frame.headers['id']}\nmessage-id:123\ndestination:/bar\n\nThis is the message body\x00")); } } else if (frame.command == 'UNSUBSCRIBE' || frame.command == 'SEND') { @@ -96,7 +92,7 @@ void main() { import 'package:web_socket_channel/io.dart'; import 'package:stomp_dart_client/stomp_parser.dart'; import 'package:stream_channel/stream_channel.dart'; - + Future hybridMain(StreamChannel channel) async { final server = await HttpServer.bind("localhost", 0); server.transform(WebSocketTransformer()).listen((webSocket) { From b7c5a3559e3115ba083d8f9bc8776dc07a1224ea Mon Sep 17 00:00:00 2001 From: Peter Trost Date: Thu, 7 Mar 2024 07:08:02 +0100 Subject: [PATCH 2/3] fix: Import error --- lib/src/{_connect_api.dart => connect_api.dart} | 0 lib/src/{_connect_html.dart => connect_html.dart} | 0 lib/src/{_connect_io.dart => connect_io.dart} | 0 lib/src/stomp_handler.dart | 6 +++--- test/stomp_config_test.dart | 7 ++++--- 5 files changed, 7 insertions(+), 6 deletions(-) rename lib/src/{_connect_api.dart => connect_api.dart} (100%) rename lib/src/{_connect_html.dart => connect_html.dart} (100%) rename lib/src/{_connect_io.dart => connect_io.dart} (100%) diff --git a/lib/src/_connect_api.dart b/lib/src/connect_api.dart similarity index 100% rename from lib/src/_connect_api.dart rename to lib/src/connect_api.dart diff --git a/lib/src/_connect_html.dart b/lib/src/connect_html.dart similarity index 100% rename from lib/src/_connect_html.dart rename to lib/src/connect_html.dart diff --git a/lib/src/_connect_io.dart b/lib/src/connect_io.dart similarity index 100% rename from lib/src/_connect_io.dart rename to lib/src/connect_io.dart diff --git a/lib/src/stomp_handler.dart b/lib/src/stomp_handler.dart index 2acaead..8d39f3d 100644 --- a/lib/src/stomp_handler.dart +++ b/lib/src/stomp_handler.dart @@ -11,9 +11,9 @@ import 'stomp_exception.dart'; import 'stomp_frame.dart'; import 'stomp_parser.dart'; -import '_connect_api.dart' - if (dart.library.html) '_connect_html.dart' - if (dart.library.io) '_connect_io.dart' as platform; +import 'connect_api.dart' + if (dart.library.html) 'connect_html.dart' + if (dart.library.io) 'connect_io.dart' as platform; typedef StompUnsubscribe = void Function({ Map? unsubscribeHeaders, diff --git a/test/stomp_config_test.dart b/test/stomp_config_test.dart index aa19c22..7a2b8a7 100644 --- a/test/stomp_config_test.dart +++ b/test/stomp_config_test.dart @@ -4,9 +4,10 @@ import 'package:test/test.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; import 'package:stomp_dart_client/stomp_dart_client.dart'; -import 'package:stomp_dart_client/src/_connect_api.dart' - if (dart.library.html) '../lib/src/_connect_html.dart' - if (dart.library.io) '../lib/src/_connect_io.dart' as platform; +import 'package:stomp_dart_client/src/connect_api.dart' + if (dart.library.html) 'package:stomp_dart_client/src/connect_html.dart' + if (dart.library.io) 'package:stomp_dart_client/src/connect_io.dart' + as platform; void main() { group('StompConfig', () { From 33c8a6d270bbbfad52434d5edd79c3a51956d793 Mon Sep 17 00:00:00 2001 From: Peter Trost Date: Fri, 8 Mar 2024 18:29:08 +0100 Subject: [PATCH 3/3] fix: Also adjust hybrid code --- test/stomp_handler_test.dart | 2 +- test/stomp_test.dart | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/stomp_handler_test.dart b/test/stomp_handler_test.dart index 352156d..94e40bf 100644 --- a/test/stomp_handler_test.dart +++ b/test/stomp_handler_test.dart @@ -19,7 +19,7 @@ void main() { import 'dart:async'; import 'dart:convert'; import 'package:web_socket_channel/io.dart'; - import 'package:stomp_dart_client/stomp_parser.dart'; + import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:stream_channel/stream_channel.dart'; Future hybridMain(StreamChannel channel) async { diff --git a/test/stomp_test.dart b/test/stomp_test.dart index c6f24dd..00afd8e 100644 --- a/test/stomp_test.dart +++ b/test/stomp_test.dart @@ -17,7 +17,7 @@ void main() { import 'dart:async'; import 'dart:convert'; import 'package:web_socket_channel/io.dart'; - import 'package:stomp_dart_client/stomp_parser.dart'; + import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:stream_channel/stream_channel.dart'; Future hybridMain(StreamChannel channel) async { @@ -90,7 +90,7 @@ void main() { import 'dart:async'; import 'dart:convert'; import 'package:web_socket_channel/io.dart'; - import 'package:stomp_dart_client/stomp_parser.dart'; + import 'package:stomp_dart_client/stomp_dart_client.dart'; import 'package:stream_channel/stream_channel.dart'; Future hybridMain(StreamChannel channel) async {