Refactored the traverseSchema API to return JsValue instead of JsObject