Skip to content

Commit fb89feb

Browse files
committed
Remove utf8 encoder
1 parent 3ec99fc commit fb89feb

8 files changed

Lines changed: 22 additions & 16 deletions

File tree

sqlite3/lib/src/implementation/database.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import 'dart:async';
22
import 'dart:collection';
3-
import 'dart:convert';
43
import 'dart:typed_data';
54

65
import 'package:meta/meta.dart';
@@ -125,7 +124,7 @@ base class DatabaseImplementation implements CommonDatabase {
125124
}
126125

127126
Uint8List _validateAndEncodeFunctionName(String functionName) {
128-
final functionNameBytes = utf8.encode(functionName);
127+
final functionNameBytes = utf8Encode(functionName);
129128

130129
if (functionNameBytes.length > 255) {
131130
throw ArgumentError.value(
@@ -349,7 +348,7 @@ base class DatabaseImplementation implements CommonDatabase {
349348
}) {
350349
_ensureOpen();
351350

352-
final bytes = utf8.encode(sql);
351+
final bytes = utf8Encode(sql);
353352
final compiler = database.newCompiler(bytes);
354353

355354
var prepFlags = 0;

sqlite3/lib/src/jsonb.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ final class _JsonbEncodingOperation {
307307
}
308308

309309
void writeInt(int value) {
310-
final encoded = utf8.encode(value.toString());
310+
final encoded = utf8Encode(value.toString());
311311
writeHeader(encoded.length, _ElementType._int);
312312
_buffer.addAll(encoded);
313313
}
@@ -319,7 +319,7 @@ final class _JsonbEncodingOperation {
319319
throw JsonUnsupportedObjectError(value);
320320
}
321321

322-
final encoded = utf8.encode(value.toString());
322+
final encoded = utf8Encode(value.toString());
323323
// RFC 8259 does not support infinity or NaN.
324324
writeHeader(
325325
encoded.length,
@@ -329,7 +329,7 @@ final class _JsonbEncodingOperation {
329329
}
330330

331331
void writeString(String value) {
332-
final encoded = utf8.encode(value);
332+
final encoded = utf8Encode(value);
333333
writeHeader(encoded.length, _ElementType._textraw);
334334
_buffer.addAll(encoded);
335335
}

sqlite3/lib/src/platform/fallback.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,7 @@ String pathToAbsoluteAndNormalize(String source) {
1010
String utf8Decode(Uint8List bytes) {
1111
return utf8.decode(bytes);
1212
}
13+
14+
Uint8List utf8Encode(String str) {
15+
return utf8.encode(str);
16+
}

sqlite3/lib/src/platform/web.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,9 @@ String utf8Decode(Uint8List bytes) {
2525
return _decoder.decode(bytes.toJS);
2626
}
2727

28+
Uint8List utf8Encode(String str) {
29+
return _encoder.encode(str).toDart;
30+
}
31+
2832
final _decoder = TextDecoder();
33+
final _encoder = TextEncoder();

sqlite3/lib/src/wasm/bindings.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import 'dart:collection';
2-
import 'dart:convert';
32
import 'dart:js_interop';
43
import 'dart:typed_data';
54

@@ -9,6 +8,7 @@ import '../constants.dart';
98
import '../functions.dart';
109
import '../implementation/bindings.dart';
1110
import '../implementation/exception.dart';
11+
import '../platform/web.dart';
1212
import 'injected_values.dart';
1313
import 'wasm_interop.dart' as wasm;
1414
import 'sqlite3_wasm.g.dart';
@@ -508,7 +508,7 @@ final class WasmStatement implements RawSqliteStatement {
508508

509509
@override
510510
int sqlite3_bind_text(int index, String value) {
511-
final encoded = utf8.encode(value);
511+
final encoded = utf8Encode(value);
512512
final ptr = bindings.allocateBytes(encoded);
513513

514514
return bindings.sqlite3_bind_text_finalizerFree(
@@ -654,7 +654,7 @@ final class WasmContext implements RawSqliteContext {
654654

655655
@override
656656
void sqlite3_result_error(String message) {
657-
final encoded = utf8.encode(message);
657+
final encoded = utf8Encode(message);
658658
final ptr = bindings.allocateBytes(encoded);
659659

660660
bindings.sqlite3_result_error(context, ptr, encoded.length);
@@ -678,7 +678,7 @@ final class WasmContext implements RawSqliteContext {
678678

679679
@override
680680
void sqlite3_result_text(String text) {
681-
final encoded = utf8.encode(text);
681+
final encoded = utf8Encode(text);
682682
final ptr = bindings.allocateBytes(encoded);
683683

684684
bindings.sqlite3_result_text(

sqlite3/lib/src/wasm/injected_values.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// Dart functions that are injected into the SQLite WebAssembly module. For
22
// details, see sqlite3_wasm_build/bridge.h
33

4-
import 'dart:convert';
54
import 'dart:js_interop';
65

76
import 'package:web/web.dart';
87

98
import '../constants.dart';
109
import '../functions.dart';
1110
import '../implementation/bindings.dart';
11+
import '../platform/web.dart';
1212
import '../vfs.dart';
1313
import 'bindings.dart';
1414
import 'js_interop.dart';
@@ -125,7 +125,7 @@ final class DartBridgeCallbacks {
125125

126126
return _runVfs(() {
127127
final fullPath = vfs.toDartObject.xFullPathName(path);
128-
final encoded = utf8.encode(fullPath);
128+
final encoded = utf8Encode(fullPath);
129129

130130
if (encoded.length > nOut) {
131131
throw VfsException(SqlError.SQLITE_CANTOPEN);

sqlite3/lib/src/wasm/vfs/async_opfs/sync_channel.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'dart:convert';
21
import 'dart:typed_data';
32

43
import '../../../platform/platform.dart';
@@ -126,7 +125,7 @@ class MessageSerializer {
126125
}
127126

128127
void _writeString(int offset, String data) {
129-
final encoded = utf8.encode(data);
128+
final encoded = utf8Encode(data);
130129
dataView.setInt32(offset, encoded.length);
131130
byteView.setAll(offset + 4, encoded);
132131
}

sqlite3/lib/src/wasm/wasm_interop.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'dart:convert';
21
import 'dart:js_interop';
32
import 'dart:js_interop_unsafe';
43
import 'dart:typed_data';
@@ -53,7 +52,7 @@ class WasmBindings {
5352
}
5453

5554
Pointer allocateZeroTerminated(String string) {
56-
return allocateBytes(utf8.encode(string), additionalLength: 1);
55+
return allocateBytes(utf8Encode(string), additionalLength: 1);
5756
}
5857

5958
Pointer malloc(int size) {

0 commit comments

Comments
 (0)