DEV Community

Can Mingir for Nucleoid

Posted on

Storing Classes and Objects

Class

First thing first, classes require to be registered before used in Nucleoid:

class Order { constructor(item, qty) { this.item = item; this.qty = qty; } } nucleoid.register(Order); 
Enter fullscreen mode Exit fullscreen mode

Objects

The same thing for objects, once initiated and assigned to the var variable as well as it stored.

app.post("/orders", () => { var order = new Order("ITEM-123", 3); return order; }); 
Enter fullscreen mode Exit fullscreen mode

and it can retrieve by its var variable as mentioned earlier.

app.get("/orders", () => { return order; }); 
Enter fullscreen mode Exit fullscreen mode
{ "id": "order0", "item": "ITEM-123", "qty": 1 } 
Enter fullscreen mode Exit fullscreen mode

if object initiated without assigning var variable, the runtime automatically assign var variable along with id

app.post("/test", () => new Order("ITEM-123", 3)); 
Enter fullscreen mode Exit fullscreen mode
{ "id": "order0", "item": "ITEM-123", "qty": 1 } 
Enter fullscreen mode Exit fullscreen mode

💡 id of object is always the same to its global var so that either can be used to retrieve the object like
Order["order0"] and order0.

if object assigned to either let or const, the runtime will create var variable the same as its id

app.post("/orders", () => { const order = new Order("ITEM-123", 3); return order; }); 
Enter fullscreen mode Exit fullscreen mode
{ "id": "order1", "item": "ITEM-123", "qty": 1 } 
Enter fullscreen mode Exit fullscreen mode

Now, it can use its id as var in order to retrieve the object

app.get("/test", () => order1); 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)