Oh this closure issue is really annoying ! Is there any way it can be fixed ?
Shall I raise an issue ? Aaron On Mon, 28 Jan 2019 at 20:26, Aaron Gray <aaronngray.li...@gmail.com> wrote: > 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. > -- 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/CANkmNDdYMzaMcw6wsOq9gynYCR-m48hRxcZ6iEDe7nS13H4c4g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.