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)
 

Reply via email to