Skip to content

Commit 0e4eb6c

Browse files
committed
_
1 parent 5963ddd commit 0e4eb6c

File tree

8 files changed

+200
-279
lines changed

8 files changed

+200
-279
lines changed

examples/basic_example/pubspec.lock

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,10 @@ packages:
124124
globe_runtime:
125125
dependency: "direct main"
126126
description:
127-
name: globe_runtime
128-
sha256: c538800ceabfacc1e7ab51d733cb58a5f269649cbc5c022f78531d64867fef40
129-
url: "https://pub.dev"
130-
source: hosted
131-
version: "1.0.7"
127+
path: "../../packages/globe_runtime"
128+
relative: true
129+
source: path
130+
version: "1.0.8"
132131
http:
133132
dependency: transitive
134133
description:

examples/mjml/bin/main.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import 'dart:io';
2-
import 'package:globe_runtime/globe_runtime.dart';
32
import 'package:mjml_bridge/mjml_bridge.dart';
43

5-
const mjml = r'''
4+
const mjmlSource = r'''
65
<mjml>
76
<mj-body background-color="#F4F4F4">
87
<mj-section background-color="#ffffff" background-repeat="repeat" padding-bottom="0px" padding-top="30px" padding="20px 0" text-align="center">
@@ -86,7 +85,8 @@ const mjml = r'''
8685
''';
8786

8887
void main() async {
89-
final result = await render(mjml);
88+
final mjml = await MjmlBridge.init();
89+
final result = await mjml.render(mjmlSource);
9090

9191
final server = await HttpServer.bind(InternetAddress.loopbackIPv4, 8080);
9292
server.listen((request) {
@@ -96,7 +96,7 @@ void main() async {
9696
..close();
9797
});
9898

99-
if (Platform.isWindows) {
99+
if (Platform.isWindows) {
100100
await Process.run('cmd', ['/c', 'start', 'http://localhost:8080']);
101101
} else if (Platform.isMacOS) {
102102
await Process.run('open', ['http://localhost:8080']);

examples/mjml/lib/mjml_bridge.dart

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,41 @@
11
import 'dart:async';
2-
import 'dart:convert';
32

43
import 'package:globe_runtime/globe_runtime.dart';
54
import 'package:mjml_bridge/mjml_bridge_source.dart';
65

7-
const module = InlinedModule(name: 'mjml_bridge', sourceCode: packageSource);
6+
const _module = InlinedModule(name: 'mjml_bridge', sourceCode: packageSource);
87

9-
Future<MJMLResult> render(String mjml, {MJMLOptions? options}) async {
10-
final completer = Completer<MJMLResult>();
11-
12-
await module.register();
8+
final class MjmlBridge {
9+
MjmlBridge._();
1310

14-
module.callFunction(
15-
'render',
16-
args: [
17-
mjml.toFFIType,
18-
(options?.toJson() ?? {}).toFFIType,
19-
],
20-
onData: (data) {
21-
if (data.hasError()) {
22-
completer.completeError(data.error);
23-
} else {
24-
final json = data.data.unpack();
25-
completer.complete(MJMLResult.fromJson(json));
26-
}
27-
return true;
28-
},
29-
);
30-
return completer.future;
11+
static Future<MjmlBridge> init() async {
12+
await _module.register();
13+
return MjmlBridge._();
14+
}
15+
16+
Future<MJMLResult> render(String mjml, {MJMLOptions? options}) async {
17+
final completer = Completer<MJMLResult>();
18+
19+
await _module.register();
20+
21+
_module.callFunction(
22+
'render',
23+
args: [
24+
mjml.toFFIType,
25+
(options?.toJson() ?? {}).toFFIType,
26+
],
27+
onData: (data) {
28+
if (data.hasError()) {
29+
completer.completeError(data.error);
30+
} else {
31+
final json = data.data.unpack();
32+
completer.complete(MJMLResult.fromJson(json));
33+
}
34+
return true;
35+
},
36+
);
37+
return completer.future;
38+
}
3139
}
3240

3341
class MJMLOptions {

examples/mjml/pubspec.lock

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# Generated by pub
2+
# See https://dart.dev/tools/pub/glossary#lockfile
3+
packages:
4+
async:
5+
dependency: transitive
6+
description:
7+
name: async
8+
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
9+
url: "https://pub.dev"
10+
source: hosted
11+
version: "2.13.0"
12+
collection:
13+
dependency: transitive
14+
description:
15+
name: collection
16+
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
17+
url: "https://pub.dev"
18+
source: hosted
19+
version: "1.19.1"
20+
ffi:
21+
dependency: transitive
22+
description:
23+
name: ffi
24+
sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418"
25+
url: "https://pub.dev"
26+
source: hosted
27+
version: "2.1.4"
28+
fixnum:
29+
dependency: transitive
30+
description:
31+
name: fixnum
32+
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
33+
url: "https://pub.dev"
34+
source: hosted
35+
version: "1.1.1"
36+
globe_runtime:
37+
dependency: "direct main"
38+
description:
39+
path: "../../packages/globe_runtime"
40+
relative: true
41+
source: path
42+
version: "1.0.8"
43+
http:
44+
dependency: transitive
45+
description:
46+
name: http
47+
sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
48+
url: "https://pub.dev"
49+
source: hosted
50+
version: "1.6.0"
51+
http_parser:
52+
dependency: transitive
53+
description:
54+
name: http_parser
55+
sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
56+
url: "https://pub.dev"
57+
source: hosted
58+
version: "4.1.2"
59+
meta:
60+
dependency: transitive
61+
description:
62+
name: meta
63+
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
64+
url: "https://pub.dev"
65+
source: hosted
66+
version: "1.17.0"
67+
msgpack_dart:
68+
dependency: transitive
69+
description:
70+
name: msgpack_dart
71+
sha256: c2d235ed01f364719b5296aecf43ac330f0d7bc865fa134d0d7910a40454dffb
72+
url: "https://pub.dev"
73+
source: hosted
74+
version: "1.0.1"
75+
path:
76+
dependency: transitive
77+
description:
78+
name: path
79+
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
80+
url: "https://pub.dev"
81+
source: hosted
82+
version: "1.9.1"
83+
protobuf:
84+
dependency: transitive
85+
description:
86+
name: protobuf
87+
sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d"
88+
url: "https://pub.dev"
89+
source: hosted
90+
version: "3.1.0"
91+
source_span:
92+
dependency: transitive
93+
description:
94+
name: source_span
95+
sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
96+
url: "https://pub.dev"
97+
source: hosted
98+
version: "1.10.1"
99+
string_scanner:
100+
dependency: transitive
101+
description:
102+
name: string_scanner
103+
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
104+
url: "https://pub.dev"
105+
source: hosted
106+
version: "1.4.1"
107+
term_glyph:
108+
dependency: transitive
109+
description:
110+
name: term_glyph
111+
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
112+
url: "https://pub.dev"
113+
source: hosted
114+
version: "1.2.2"
115+
typed_data:
116+
dependency: transitive
117+
description:
118+
name: typed_data
119+
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
120+
url: "https://pub.dev"
121+
source: hosted
122+
version: "1.4.0"
123+
web:
124+
dependency: transitive
125+
description:
126+
name: web
127+
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
128+
url: "https://pub.dev"
129+
source: hosted
130+
version: "1.1.1"
131+
sdks:
132+
dart: ">=3.7.0 <4.0.0"

examples/pretty_node/pubspec.lock

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,10 @@ packages:
124124
globe_runtime:
125125
dependency: "direct main"
126126
description:
127-
name: globe_runtime
128-
sha256: c538800ceabfacc1e7ab51d733cb58a5f269649cbc5c022f78531d64867fef40
129-
url: "https://pub.dev"
130-
source: hosted
131-
version: "1.0.7"
127+
path: "../../packages/globe_runtime"
128+
relative: true
129+
source: path
130+
version: "1.0.8"
132131
http:
133132
dependency: transitive
134133
description:

melos.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ name: workspace
22

33
packages:
44
- packages/**
5+
- examples/**
56

67
scripts:
78
generate:protobuf:
@@ -15,4 +16,4 @@ scripts:
1516
--ts_proto_out=src/ \
1617
--proto_path=protos \
1718
protos/*.proto
18-
description: Generate Dart and TypeScript Protobuf files
19+
description: Generate Dart and TypeScript Protobuf files

pnpm-workspace.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
packages:
2-
- 'examples/*'
3-
- 'packages/globe_runtime_ts'
2+
- "examples/*"
3+
- "packages/globe_runtime_ts"
44

55
catalog:
66
tsup: 8.0.2
77
typescript: 5.8.3
88
fs: 0.0.1-security
9-
path: 0.12.7
9+
path: 0.12.7

0 commit comments

Comments
 (0)