OSDN Git Service

update the send transaction page to v3
[bytom/Byone.git] / src / utils / utils.js
index 2d183e3..78b276b 100644 (file)
@@ -22,3 +22,27 @@ export const camelize = (object) => {
   }
 };
 
+export const snakeize = (object) => {
+  for(let key in object) {
+    let value = object[key]
+    let newKey = key
+
+    // Skip all-caps keys
+    if (/^[A-Z]+$/.test(key)) {
+      continue
+    }
+
+    if (/[A-Z]/.test(key)) {
+      newKey = key.replace(/([A-Z])/g, v => `_${v.toLowerCase()}`)
+      delete object[key]
+    }
+
+    if (typeof value == 'object' ) {
+      value = snakeize(value)
+    }
+
+    object[newKey] = value
+  }
+
+  return object
+}