Skip to content

Commit c0cb9bf

Browse files
committed
async trait, fix transform
1 parent 0ab8406 commit c0cb9bf

10 files changed

+190
-115
lines changed

Cargo.lock

+12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ path = "tests/spec_test.rs"
1414
harness = false
1515

1616
[dependencies]
17+
async-trait = "0.1.88"
1718
deno_semver = "0.7.0"
1819
serde = { version = "1.0.149", features = ["derive"] }
1920
serde_json = "1.0.85"

src/lib.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -484,11 +484,11 @@ impl Lockfile {
484484

485485
pub async fn new(
486486
opts: NewLockfileOptions<'_>,
487-
provider: &impl NpmPackageInfoProvider,
487+
provider: &dyn NpmPackageInfoProvider,
488488
) -> Result<Lockfile, Box<LockfileError>> {
489489
async fn load_content(
490490
content: &str,
491-
provider: &impl NpmPackageInfoProvider,
491+
provider: &dyn NpmPackageInfoProvider,
492492
) -> Result<LockfileContent, LockfileErrorReason> {
493493
let value: serde_json::Map<String, serde_json::Value> =
494494
serde_json::from_str(content)
@@ -1022,11 +1022,13 @@ mod tests {
10221022

10231023
impl std::error::Error for PackageNotFound {}
10241024

1025+
#[async_trait::async_trait(?Send)]
10251026
impl NpmPackageInfoProvider for TestNpmPackageInfoProvider {
10261027
async fn get_npm_package_info(
10271028
&self,
10281029
packages: &[PackageNv],
1029-
) -> Result<Vec<Lockfile5NpmInfo>, Box<dyn std::error::Error>> {
1030+
) -> Result<Vec<Lockfile5NpmInfo>, Box<dyn std::error::Error + Send + Sync>>
1031+
{
10301032
let mut infos = Vec::with_capacity(packages.len());
10311033
for package in packages {
10321034
if let Some(info) = self.cache.get(package) {

0 commit comments

Comments
 (0)