On Mon, 28 Jan 2019 at 20:19, Forrest Norvell <othiy...@gmail.com> wrote:
> You’re going to need to write a custom serializer similar to util.inspect > to get this. Be forewarned, though, there’s a reason functions aren’t > displayed as their source by default: calling .toString() on a function > doesn’t include the closure environment for the function, so any lexically > defined values that are in scope when the function was defined won’t be > available later: > > function mildCurry (a) { > return (b) => a + b; > } > > const oneOff = { add2: mildCurry(2) } > // > oneOff.add2.toString() > // '(b) => a + b' > > If you’re careful about how you define functions on objects (and also > figure out whether you want to include prototype methods as part of this > serialization) you can probably stay out of trouble, but this isn’t as > generally useful as you might hope. > Hopefully I am not worried about closures though I will have to check my usecase's code out as its a third party library. I have found Function.toString() works for functions so will just write a serialized as you suggest. Many thanks, Aaron > On Mon, Jan 28, 2019 at 12:05 PM Aaron Gray <aaronngray.li...@gmail.com> > wrote: > >> Hi, >> >> I need to print out objects with embedded functions ideally both to the >> command line and as files. >> >> const test = { >> name: "test", >> get: function() { return "test"; } >> }; >> >> I need to print out a structure like the above with the function >> definition to the console and also as a text file. >> >> Regards, >> Aaron >> >> >> -- >> Aaron Gray >> >> Independent Open Source Software Engineer, Computer Language Researcher, >> Information Theorist, and amateur computer scientist. >> >> -- >> Job board: http://jobs.nodejs.org/ >> New group rules: >> https://gist.github.com/othiym23/9886289#file-moderation-policy-md >> Old group rules: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> --- >> You received this message because you are subscribed to the Google Groups >> "nodejs" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to nodejs+unsubscr...@googlegroups.com. >> To post to this group, send email to nodejs@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/nodejs/CANkmNDecj0Mac9mXyh0-hpDdubMxZvT2Rdmp-4DK-KiOAZ-E-w%40mail.gmail.com >> <https://groups.google.com/d/msgid/nodejs/CANkmNDecj0Mac9mXyh0-hpDdubMxZvT2Rdmp-4DK-KiOAZ-E-w%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- > Job board: http://jobs.nodejs.org/ > New group rules: > https://gist.github.com/othiym23/9886289#file-moderation-policy-md > Old group rules: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to nodejs+unsubscr...@googlegroups.com. > To post to this group, send email to nodejs@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/nodejs/CAHG3qKooLfAwJf-98fFQwWP8xLg_szZTcFm6giasLcStBG8OaQ%40mail.gmail.com > <https://groups.google.com/d/msgid/nodejs/CAHG3qKooLfAwJf-98fFQwWP8xLg_szZTcFm6giasLcStBG8OaQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- Aaron Gray Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist. -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. To post to this group, send email to nodejs@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/CANkmNDdf1hzWg1gEaUzonSWHBCnJerPd%3D-9RiAgugigTUDShnw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.