Skip to content

Commit 715881c

Browse files
committed
Split into modules
1 parent c838e60 commit 715881c

File tree

29 files changed

+157
-43
lines changed

29 files changed

+157
-43
lines changed

Cargo.toml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,24 @@ readme = "README.md"
1111
default = ["all"]
1212
all = ["timers", "url", "console", "sqlite"]
1313

14-
timers = ["tokio/time"]
15-
url = []
16-
console = []
17-
sqlite = ["sqlx"]
14+
timers = ["rquickjs-extra-timers"]
15+
url = ["rquickjs-extra-url"]
16+
console = ["rquickjs-extra-console"]
17+
sqlite = ["rquickjs-extra-sqlite"]
1818

1919
[dependencies]
20+
rquickjs-extra-console = { path = "modules/console", optional = true }
21+
rquickjs-extra-sqlite = { path = "modules/sqlite", optional = true }
22+
rquickjs-extra-timers = { path = "modules/timers", optional = true }
23+
rquickjs-extra-url = { path = "modules/url", optional = true }
24+
25+
[workspace]
26+
resolver = "2"
27+
members = ["modules/*", "libs/*"]
28+
29+
[workspace.dependencies]
2030
either = "1"
31+
futures = { version = "0.3" }
2132
log = { version = "0.4" }
2233
rquickjs = { version = "0.6", features = [
2334
"array-buffer",
@@ -28,9 +39,5 @@ rquickjs = { version = "0.6", features = [
2839
sqlx = { version = "0.8.2", default-features = false, features = [
2940
"sqlite",
3041
"runtime-tokio",
31-
], optional = true }
42+
] }
3243
tokio = { version = "1" }
33-
34-
[dev-dependencies]
35-
futures = { version = "0.3" }
36-
tokio = { version = "1", features = ["full"] }

libs/test/Cargo.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[package]
2+
name = "rquickjs-extra-test"
3+
description = "Test library for RQuickJS"
4+
version = "0.0.1"
5+
edition = "2021"
6+
license = "Apache-2.0"
7+
repository = "https://github.com/rquickjs/rquickjs-extra"
8+
readme = "README.md"
9+
10+
[dependencies]
11+
futures = { workspace = true }
12+
rquickjs = { workspace = true }
13+
tokio = { workspace = true, features = ["full"] }
File renamed without changes.

libs/utils/Cargo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[package]
2+
name = "rquickjs-extra-utils"
3+
description = "Utils library for RQuickJS"
4+
version = "0.0.1"
5+
edition = "2021"
6+
license = "Apache-2.0"
7+
repository = "https://github.com/rquickjs/rquickjs-extra"
8+
readme = "README.md"
9+
10+
[dependencies]
11+
rquickjs = { workspace = true }
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ impl<'js> CString<'js> {
4242
self.len
4343
}
4444

45+
pub fn is_empty(&self) -> bool {
46+
self.len == 0
47+
}
48+
4549
pub fn as_str(&self) -> Result<&str> {
4650
let bytes = unsafe { slice::from_raw_parts(self.ptr as *const u8, self.len) };
4751
str::from_utf8(bytes)
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use rquickjs::{Result, TypedArray, Value};
22

3-
use crate::utils::result::ResultExt;
3+
use crate::result::ResultExt;
44

55
#[derive(Debug)]
66
pub struct CVec<'js> {
@@ -29,6 +29,10 @@ impl<'js> CVec<'js> {
2929
self.len
3030
}
3131

32+
pub fn is_empty(&self) -> bool {
33+
self.len == 0
34+
}
35+
3236
pub fn as_slice(&self) -> &[u8] {
3337
unsafe { std::slice::from_raw_parts(self.ptr, self.len) }
3438
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
pub mod ffi;
12
pub mod module;
23
pub mod result;

0 commit comments

Comments
 (0)