JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 93531
  • Score
    100M100P100Q181835F
  • License

Parse code context in a single line of javascript, for functions, variable declarations, methods, prototype properties, prototype methods etc.

Package Exports

  • parse-code-context

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (parse-code-context) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

parse-code-context NPM version

Parse code context in a single line of javascript, for functions, variable declarations, methods, prototype properties, prototype methods etc.

Install with npm

npm i parse-code-context --save

Usage

var parse = require('parse-code-context');

Examples

function statement

parse("function app(a, b, c) {\n\n}");

Results in:

{ type: 'function statement',
  name: 'app',
  params: [ 'a', 'b', 'c' ],
  string: 'app()',
  original: 'function app() {\n\n}' }

function expression

parse("var app = function(a, b, c) {\n\n}");

Results in:

{ type: 'function expression',
  name: 'app',
  params: [ 'a', 'b', 'c' ],
  string: 'app()',
  original: 'var app = function() {\n\n}' }

module.exports function expression

parse("module.exports = function foo(a, b, c) {\n\n}");

Results in:

{ type: 'function expression',
  receiver: 'module.exports',
  name: 'foo',
  params: [ 'a', 'b', 'c' ],
  string: 'module.exports()',
  original: 'module.exports = function foo(a, b, c) {\n\n}' }

module.exports method

parse("module.exports = function() {\n\n}");

Results in:

{ type: 'method',
  receiver: 'module.exports',
  name: '',
  params: [],
  string: 'module.exports.() {\n\n}()',
  original: 'module.exports = function() {\n\n}' }

prototype method

parse("Template.prototype.get = function() {}");

Results in:

{ type: 'prototype method',
  class: 'Template',
  name: 'get',
  params: [],
  string: 'Template.prototype.get()',
  original: 'Template.prototype.get = function() {}' }

prototype property

parse("Template.prototype.enabled = true;\nasdf");

Results in:

{ type: 'prototype property',
  class: 'Template',
  name: 'enabled',
  value: 'true',
  string: 'Template.prototype.enabled',
  original: 'Template.prototype.enabled = true;\nasdf' }

method

parse("option.get = function() {}");

Results in:

{ type: 'method',
  receiver: 'option',
  name: 'get',
  params: [],
  string: 'option.get()',
  original: 'option.get = function() {}' }

property

parse("option.name = \"delims\";\nasdf");

Results in:

{ type: 'property',
  receiver: 'option',
  name: 'name',
  value: '"delims"',
  string: 'option.name',
  original: 'option.name = "delims";\nasdf' }

declaration

parse("var name = \"delims\";\nasdf");

Results in:

{ type: 'declaration',
  name: 'name',
  value: '"delims"',
  string: 'name',
  original: 'var name = "delims";\nasdf' }

function statement params

parse("function app(a, b) {\n\n}");

Results in:

{ type: 'function statement',
  name: 'app',
  params: [ 'a', 'b' ],
  string: 'app()',
  original: 'function app(a, b) {\n\n}' }

function expression params

parse("var app = function(foo, bar) {\n\n}");

Results in:

{ type: 'function expression',
  name: 'app',
  params: [ 'foo', 'bar' ],
  string: 'app()',
  original: 'var app = function(foo, bar) {\n\n}' }

function expression params

parse("var app=function(foo,bar) {\n\n}");

Results in:

{ type: 'function expression',
  name: 'app',
  params: [ 'foo', 'bar' ],
  string: 'app()',
  original: 'var app=function(foo,bar) {\n\n}' }

prototype method params

parse("Template.prototype.get = function(key, value, options) {}");

Results in:

{ type: 'prototype method',
  class: 'Template',
  name: 'get',
  params: [ 'key', 'value', 'options' ],
  string: 'Template.prototype.get()',
  original: 'Template.prototype.get = function(key, value, options) {}' }

Run tests

Install dev dependencies:

npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Jon Schlinkert

License

Copyright (c) 2015 Jon Schlinkert
Released under the MIT license


This file was generated by verb on February 13, 2015.