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 {