Hacker News new | ask | show | jobs
by dash2 907 days ago

    get.account.with.id = 'acc_fa0k5kkw35fik9pu';

    get.account.with = {
      lastName: 'Elaine',
      email: 'elaine@kojima-productions.com'
    };
I can't decide whether this is genius simplicity, or a terrible leaky-abstraction hack. Interesting.
2 comments

There's this and a few other magical things in the client that give me pause, in particular:

    const [post, comments] = await query(({ get }) => {
      get.post.with.slug = 'new-pricing';
      get.comments;
    });

there is simply no way to make that type safe without wrapping or forking TypeScript, and consumers really don't want that. Why make that tradeoff? Especially when it's so easy to accomplish with a more normal syntax:

    const [post, comments] = await query(({ get }) => [
      get('post').with({slug: 'new-pricing'}),
      get('comments')
    ]);
I'm no fan of LISPs but this is taking paren-phobia to a new level.