essupernext

1.0.1 • Public • Published

essupernext

Build Status Coverage Downloads https://npmjs.com/package/essupernext Month

ES2018 a.k.a. "ESSuper-Next". Dot-syntax and keyword conversion.

ES2018 First Look - it changes everything

Handy DIY compiler for dot syntax to get your code ready for ES2018.

Usage

npm install -g essupernext
essupernext index.js

Example output

(GitHub, stupidly, doesn't support proper highlighting for ES2018, so this will look off. Still tonnes more readable though!)

joi . require.'joi'.
commentsDb . require.'connection-mongo'..'comments'.
ObjectId . require.'connection-mongo'..ObjectId
remit . require.'connection-remit'.
log . require.'connection-logger'.
validate . require.'service-helpers'..remit. log..validate
 
m.exports . .. .. .
  remit.res.'comments.create'. .
    validate.joi.object...keys..
      user: joi.string...trim...regex./^.0-9a-fA-F..24.$/..required...
      content: joi.string...trim...regex./^.0-9a-fA-F..24.$/..
      task: joi.string...trim...regex./^.0-9a-fA-F..24.$/..
      comment: joi.string...trim...required..
    ...xor.'content'. 'task'...
 
    createComment
  ..
.
 
createComment .args. done. .
  l doc . .
    user: ObjectId.args.parsed.user..
    comment: args.parsed.comment
  .
 
  if .args.parsed.content. .
    doc.content . ObjectId.args.parsed.content.
  . else .
    doc.task . ObjectId.args.parsed.task.
  .
 
  commentsDb
    .collection.'comments'.
    .insertOne.doc. .err. result. .. .
      if .err. .
        log.error.new E.err..
 
        r done.err.
      .
 
      if .result.insertedCount. .
        remit.emit.'comments.created'. result.ops.0..
      .
 
      r done.null. result.ops.0..
    ..
.

Package Sidebar

Install

npm i essupernext

Weekly Downloads

3

Version

1.0.1

License

MIT

Last publish

Collaborators

  • jpwilliams