Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 02 2020 06:16
    @ljharb banned @frank-dspeed
  • Apr 27 2018 01:23
    @MylesBorins banned @fjeddy
  • Feb 24 2016 08:26
    @rvagg banned @jonathanenbe
zillerium
@zillerium
cars are just an example, I am not actually working with cars, but I did see a lot of car models in OO systems
Jordan Harband
@ljharb
sure, but most of those are bad examples that only really exist in university :-)
zillerium
@zillerium
to summarise, I can instantiate the class and set variables via the constructor but I cannot have just variables in the class which are modified by functions (eg setters and getters)?
Jordan Harband
@ljharb
you can have properties, but not variables
variables can only exist in a scope, and a class body isn't one
zillerium
@zillerium
About cars, there were commercial examples.
ekranoplan
@ekranoplan:matrix.org
[m]

to summarise, I can instantiate the class and set variables via the constructor but I cannot have just variables in the class which are modified by functions (eg setters and getters)?

I think this would accomplish what you're trying to do:

class Car {
  #fuel = 0;
  #make;

  constructor(make) {
    this.#make = make;
  }

  get make() { return this.#make; }

  addFuel(quantity) {
    this.#fuel += quantity;
  }
}

In this case, #fuel is a private "variable" that can be modified within functions (e.g. the addFuel method). Technically #make is also a variable but I have easily written it in such a way that you cannot modify the make after the car has been constructed (since a Corolla will always be a Toyota) - there is only a getter for the make and no setter, and the #make field is private so it's not exposed to clients.

Zerounodue
@Zerounodue
@zillerium if you come from java you might like Typescript :) have a look https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-oop.html
zillerium
@zillerium
Is there a way to use async/await when a nodejs api server starts up (toload some vars from a file, eg json). I get an error when I tried and just place that at the start of the program because it says I cannot use await outside of an async function. My aim is only to load some variables once only (the json objects are very large and cannot be just coded into the source code and also they could change.
Stephen James
@sjames1958gm
Top level await is available in node 14
Jordan Harband
@ljharb
only in native ESM.
(which should generally be avoided)
1 reply
Salathiel Genèse
@SalathielGenese
@zillerium , i usually do
( async () => {
  // conf
  // start
})().catch( logger.error );
Jordan Harband
@ljharb
native ones should be
and because the tooling and ecosystem is just not ready yet
authoring ES modules is fine, but then you can use babel to transpile.
flyingCodeMonkeys
@flyingCodeMonkeys
Hi guys is anyone familiar with cheerio? i am trying to get the titles of webpages not sure how to select it though
Micule
@Micule
Hello everybody
Meir Shamay
@may215

Hi, I create a npm package that contains several utils for my project, one of the util is a patch to another npm package. Now, I don't know how to export and import the patch in order to use inside one of my projects. This is the example of the patch. file name: patch.ts inside my custom_npm_package

declare module 'node/module/to/patch' {
  interface Manager {
    saveOne<Entity>(entities: Entity, options?: SaveOptions): Promise<Entity>
  }
}

Manager.prototype.saveOne = function <Entity>(
  entity: Entity,
  options?: SaveOptions,
): Promise<Entity> {
  console.log('do things')

  return this.save(entity, options)
}

When this patch is inside the project I want to use it, it's working, I can call to saveOne method.

Kasir Barati
@kasir-barati

is there anyone who was deploy a node.js web application on heroku successfully?

I tried multiple times (with heroku CLI and connect to GitHub), I also removed the buildpack and add it again but no difference. Heroku seems could not deploy it successfully. would you like to help me?

This is the GitHub Repo: https://github.com/nodejsdeveloperskh/passport-lookup
and this is the Heroku log:

timestamp app[api]: Build started by user X
timestamp app[api]: Release v3 created by user X
timestamp app[api]: Deploy ecba21a1 by user X
timestamp app[api]: Scaled to web@1:Free by user X
timestamp app[api]: Build succeeded
timestamp heroku[web.1]: Starting process with command `npm start`
timestamp app[web.1]: 
timestamp app[web.1]: > passport-axios@1.0.0 start
timestamp app[web.1]: > node index.js
timestamp app[web.1]: 
timestamp heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
timestamp heroku[web.1]: Stopping process with SIGKILL
timestamp heroku[web.1]: Process exited with status 137
timestamp heroku[web.1]: State changed from starting to crashed
timestamp heroku[web.1]: State changed from crashed to starting
timestamp heroku[web.1]: Starting process with command `npm start`
timestamp app[web.1]: 
timestamp app[web.1]: > passport-axios@1.0.0 start
timestamp app[web.1]: > node index.js
timestamp app[web.1]: 
timestamp heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/" host=passport-llokup.herokuapp.com request_id=da8ab014-3902-4d67-9004-c744059279c2 fwd="116.203.217.173" dyno= connect= service= status=503 bytes= protocol=https

But no response in the browser. whereas it sends me the correct response in the localhost

Lorenzo Sandini
@lsandini
Hello all, this might sound like a strange question, but here it is. Is it possible to trigger the server-side execution of a js script, by sending a HTTP POST request for example from a website or from another node app on a different server ?
Lorenzo Sandini
@lsandini
I'd like to pass a date (in the past or future) to my server using an express "app.post" route, on which a script executes a sequence of async functions resulting in a json file. That json file is served through an app.get route on the same server.
I guess I should write my functions as middleware, but since it is a complex sequence of events, calling functions from Typescript files, I am just too dumb to do it by myself...
Lorenzo Sandini
@lsandini
Executing the script manually with node -r esm myscript.js works fine.
Jordan Harband
@ljharb
yes, of course that's possible
why would it need to be middleware
everything on a node server is JS, so it's all functions
Lorenzo Sandini
@lsandini

Well I understand I can call a function like

var foo = function() {
  // do something
};

app.post('/', function(req, res) {
  console.log(req.body);
  res.send(200);

  foo();
});

... but can I call a whole script ?

Jordan Harband
@ljharb
what is a "script"
everything in node is a file, which is a module
so anything you require is running code
Lorenzo Sandini
@lsandini
Sorry, very new to this. On my server, I started a project in which the npm package "astronomy-bundle" is installed as a module. Then I wrote a "myapp.js" file importing functions from this bundle, and creating the json file that I need. That's where I am stuck. How can I "require" this myapp.js file/module, to be executed as such ? I Understand I can export its various functions using "module.exports", but can I execute the whole file in one step ?
Jordan Harband
@ljharb
node myapp?
Lorenzo Sandini
@lsandini
I appreciate your help, but isn't node myapp a bash command ? How can I trigger it in an express route ? That's where I am baffled...
Jordan Harband
@ljharb
@lsandini yes, it is. inside a node program, you'd require('./myapp') assuming it module.exports = whatever you want to pull in
Lorenzo Sandini
@lsandini
Aah yes I think I got it now. I modified my myapp.js adding the module.exports = ... and also corrected my "require" stuff in app.js. Now the functions I add in my app.post route are called when a POST request is sent to the server :)
Not still there yet, but progressing. I put the work in progress here https://github.com/lsandini/astro but more corrections are needed
"myapp.js" is called "all-mod.js" in my repo
Lakshman
@lakshmankashyap
How can handle big image upload and fetch project with node js optimisation.
Jordan Harband
@ljharb
@lakshmankashyap: i would have answered on irc, but you didn't auth with nickserv.
Lakshman
@lakshmankashyap
let me know how can auth
i start a project so I have no idea that what we use to handle heavy files in nodejs
Jordan Harband
@ljharb
find an npm package
but you can't just dive into any tech, including node - you have to learn it first
Lakshman
@lakshmankashyap
i have 7 year exprience
in nodejs
let me know what package and structure use
Jordan Harband
@ljharb
… i'm not sure how 7 years of experience would translate to those questions being reasonable. someone with a year or two of experience should know how to answer them (search npm for solutions)
Lakshman
@lakshmankashyap
thanks for remind
Lakshman
@lakshmankashyap
If I using pm2 on server so is that need workpool implementation on sever for handle high performance api task?