This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch nodejs-layer
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/nodejs-layer by this push:
new b6128461d polish API
b6128461d is described below
commit b6128461db4b5a477ffdf87c8b2402ce724ce272
Author: Xuanwo <[email protected]>
AuthorDate: Mon Nov 13 19:00:48 2023 +0800
polish API
Signed-off-by: Xuanwo <[email protected]>
---
bindings/nodejs/generated.js | 4 ++--
bindings/nodejs/index.d.ts | 2 +-
bindings/nodejs/index.js | 4 ++--
bindings/nodejs/src/lib.rs | 26 ++++++--------------------
bindings/nodejs/tests/suites/index.mjs | 3 ++-
5 files changed, 13 insertions(+), 26 deletions(-)
diff --git a/bindings/nodejs/generated.js b/bindings/nodejs/generated.js
index 81487de7e..8607c1838 100644
--- a/bindings/nodejs/generated.js
+++ b/bindings/nodejs/generated.js
@@ -271,11 +271,11 @@ if (!nativeBinding) {
throw new Error(`Failed to load native binding`)
}
-const { Operator, Entry, Metadata, Lister, BlockingLister, RetryLayerBuilder }
= nativeBinding
+const { Operator, Entry, Metadata, Lister, BlockingLister, RetryLayer } =
nativeBinding
module.exports.Operator = Operator
module.exports.Entry = Entry
module.exports.Metadata = Metadata
module.exports.Lister = Lister
module.exports.BlockingLister = BlockingLister
-module.exports.RetryLayerBuilder = RetryLayerBuilder
+module.exports.RetryLayer = RetryLayer
diff --git a/bindings/nodejs/index.d.ts b/bindings/nodejs/index.d.ts
index 2173869aa..7562ee511 100644
--- a/bindings/nodejs/index.d.ts
+++ b/bindings/nodejs/index.d.ts
@@ -444,7 +444,7 @@ export class BlockingLister {
next(): Entry | null
}
/** TODO: fill me */
-export class RetryLayerBuilder {
+export class RetryLayer {
constructor()
set jitter(v: boolean)
build(): ExternalObject<Layer>
diff --git a/bindings/nodejs/index.js b/bindings/nodejs/index.js
index 9cabf7303..22b6c48f7 100644
--- a/bindings/nodejs/index.js
+++ b/bindings/nodejs/index.js
@@ -20,11 +20,11 @@
/// <reference types="node" />
require('dotenv').config()
-const { Operator, RetryLayerBuilder } = require('./generated.js')
+const { Operator, RetryLayer } = require('./generated.js')
module.exports.Operator = Operator
module.exports.layers = {
- RetryLayerBuilder,
+ RetryLayer,
}
diff --git a/bindings/nodejs/src/lib.rs b/bindings/nodejs/src/lib.rs
index d29a1bb31..c9a992ac7 100644
--- a/bindings/nodejs/src/lib.rs
+++ b/bindings/nodejs/src/lib.rs
@@ -704,35 +704,23 @@ impl Operator {
}
}
-/// A layer that will retry the request if it fails.
-/// It will retry with exponential backoff.
-///
-/// ## Parameters
-///
-/// - `jitter`<bool>: Whether to add jitter to the backoff.
-/// - `max_times`<number>: The maximum number of times to retry.
-/// - `factor`<number>: The exponential factor to use.
-/// - `max_delay`<number>: The maximum delay between retries. The unit is
microsecond.
-/// - `min_delay`<number>: The minimum delay between retries. The unit is
microsecond.
-struct RetryLayer(opendal::layers::RetryLayer);
-
-impl NodeLayer for RetryLayer {
+impl NodeLayer for opendal::layers::RetryLayer {
fn layer(&self, op: opendal::Operator) -> opendal::Operator {
- op.layer(self.0.clone())
+ op.layer(self.clone())
}
}
/// TODO: fill me
#[napi]
-pub struct RetryLayerBuilder {
+pub struct RetryLayer {
jitter: bool,
}
#[napi]
-impl RetryLayerBuilder {
+impl RetryLayer {
#[napi(constructor)]
pub fn new() -> Self {
- RetryLayerBuilder { jitter: false }
+ RetryLayer { jitter: false }
}
// #[napi(factory)]
@@ -752,9 +740,7 @@ impl RetryLayerBuilder {
l = l.with_jitter();
}
- External::new(Layer {
- inner: Box::new(RetryLayer(l)),
- })
+ External::new(Layer { inner: Box::new(l) })
}
}
diff --git a/bindings/nodejs/tests/suites/index.mjs
b/bindings/nodejs/tests/suites/index.mjs
index 05282e4c2..425e5c861 100644
--- a/bindings/nodejs/tests/suites/index.mjs
+++ b/bindings/nodejs/tests/suites/index.mjs
@@ -23,6 +23,7 @@ import { checkRandomRootEnabled, generateRandomRoot,
loadConfigFromEnv } from '.
import { run as AsyncIOTestRun } from './async.suite.mjs'
import { run as SyncIOTestRun } from './sync.suite.mjs'
+import {RetryLayer} from "../../generated.js";
export function runner(testName, scheme) {
if (!scheme) {
@@ -38,7 +39,7 @@ export function runner(testName, scheme) {
let operator = scheme ? new Operator(scheme, config) : null
- let retryLayer = new layers.RetryLayerBuilder().build()
+ let retryLayer = new layers.RetryLayer().build()
operator = operator.layer(retryLayer)