A few of us are trying to create a JavaScript library to quickly run JSON queries on a RESTful API.
What I'd like to do is group a set of methods relative to their purpose.
For example;
Through the API I am able to get user attributes. Instead of having all of these methods under the main object, I'd like to group them within the API class object.
i.e. Transform this:
myAPI.getUserById()
To This:
myAPI.User.getByID()
myAPI.User.getByName()
We'll use the code below as a simple example. How might I have my User methods nested within a User Object within myAPI Class??
class myAPI {
constructor(url) {
this.url = url;
//Code to connect to instance...
}
getUserById(userId){
// function
}
}
Solved
class myAPI {
constructor(url) {
this.url = url;
this.UserAPI = new UserClass(this);
//Code to connect to instance...
}
getUserById(userId){
// function
}
}
class UserClass {
constructor(parent){
this.myAPI = parent;
}
}
A few of us are trying to create a JavaScript library to quickly run JSON queries on a RESTful API.
What I'd like to do is group a set of methods relative to their purpose.
For example;
Through the API I am able to get user attributes. Instead of having all of these methods under the main object, I'd like to group them within the API class object.
i.e. Transform this:
myAPI.getUserById()
To This:
myAPI.User.getByID()
myAPI.User.getByName()
We'll use the code below as a simple example. How might I have my User methods nested within a User Object within myAPI Class??
class myAPI {
constructor(url) {
this.url = url;
//Code to connect to instance...
}
getUserById(userId){
// function
}
}
Solved
class myAPI {
constructor(url) {
this.url = url;
this.UserAPI = new UserClass(this);
//Code to connect to instance...
}
getUserById(userId){
// function
}
}
class UserClass {
constructor(parent){
this.myAPI = parent;
}
}
Share
Improve this question
edited Apr 19, 2016 at 19:55
elias91
asked Mar 17, 2016 at 15:39
elias91elias91
836 bronze badges
1
- Possible duplicate of Organize prototype javascript while preserving object reference and inheritance - no, there's no good way to do this using only one class. – Bergi Commented Mar 17, 2016 at 16:43
1 Answer
Reset to default 11You could use position:
class UserAPI {
constructor(url) {
this.url = url;
}
getById() {
}
}
class API {
constructor(url) {
this.url = url;
this.User = new UserAPI(url);
}
}
var myAPI = new API();
myAPI.User.getById();
This way, you can separate all kind of groups into classes. You can even discriminate different implementations of API's based on the user's requirements.