{"_id":"snapdragon-token","_rev":"22845","name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","dist-tags":{"latest":"4.0.0"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"time":{"modified":"2021-06-03T10:01:54.000Z","created":"2017-11-09T07:09:58.113Z","4.0.0":"2018-04-26T10:44:37.589Z","3.0.1":"2017-12-24T23:19:26.375Z","3.0.0":"2017-12-14T00:06:33.306Z","2.1.0":"2017-12-03T18:52:48.137Z","2.0.0":"2017-12-01T02:14:56.421Z","1.0.2":"2017-11-11T04:49:49.039Z","1.0.1":"2017-11-09T07:13:50.929Z","1.0.0":"2017-11-09T07:09:58.113Z"},"users":{},"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/here-be/snapdragon-token.git"},"versions":{"4.0.0":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"4.0.0","homepage":"https://github.com/here-be/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/here-be/snapdragon-token.git"},"bugs":{"url":"https://github.com/here-be/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=6"},"scripts":{"test":"mocha","cover":"nyc mocha"},"devDependencies":{"gulp-format-md":"^1.0.0","mocha":"^3.5.3","nyc":"^11.7.1"},"keywords":["ast","capture","compile","compiler","convert","lex","lexer","parse","parser","render","snapdragon","token","tokenize","transform"],"verb":{"toc":false,"layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-tokenizer","snapdragon-util"]},"lint":{"reflinks":true},"reflinks":["snapdragon-location","snapdragon-position"]},"gitHead":"dbb6a209b8f1afc9117f888b59d05c4d2632d520","_id":"snapdragon-token@4.0.0","_npmVersion":"6.0.0","_nodeVersion":"9.9.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"4cac515f5b9ea2881eae4a1ba1c0807e7dca5218","size":4165,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-4.0.0.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token_4.0.0_1524739477472_0.42940037104217677"},"_hasShrinkwrap":false,"publish_time":1524739477589,"_cnpm_publish_time":1524739477589},"3.0.1":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"3.0.1","homepage":"https://github.com/here-be/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/here-be/snapdragon-token.git"},"bugs":{"url":"https://github.com/here-be/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=6"},"scripts":{"test":"mocha","cover":"nyc mocha"},"dependencies":{"kind-of":"^6.0.1"},"devDependencies":{"mocha":"^3.4.2","gulp-format-md":"^1.0.0","nyc":"^11.3.0"},"keywords":["ast","capture","compile","compiler","convert","lex","lexer","parse","parser","render","snapdragon","token","tokenize","transform"],"verb":{"toc":false,"layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-util"]},"lint":{"reflinks":true}},"gitHead":"3463acd7a5c4785ffed295fceaff5fb8a3fb2cb5","_id":"snapdragon-token@3.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.1.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"74b5000ed22aacfa4f2d259a471767a580527f4c","size":3845,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-3.0.1.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token-3.0.1.tgz_1514157565484_0.38366844062693417"},"directories":{},"publish_time":1514157566375,"_hasShrinkwrap":false,"_cnpm_publish_time":1514157566375},"3.0.0":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"3.0.0","homepage":"https://github.com/here-be-snapdragons/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/here-be-snapdragons/snapdragon-token.git"},"bugs":{"url":"https://github.com/here-be-snapdragons/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=6"},"scripts":{"test":"mocha","cover":"nyc mocha"},"dependencies":{"kind-of":"^6.0.1"},"devDependencies":{"mocha":"^3.4.2","gulp-format-md":"^1.0.0","nyc":"^11.3.0"},"keywords":["ast","capture","compile","compiler","convert","lex","lexer","parse","parser","render","snapdragon","token","tokenize","transform"],"verb":{"toc":false,"layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-util"]},"lint":{"reflinks":true}},"gitHead":"031ac7631457530d70be6290f7f9d6c71314aff1","_id":"snapdragon-token@3.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.1.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"2474a602efa5b33da7ecb75f7e9986e188f46525","size":3837,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-3.0.0.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token-3.0.0.tgz_1513209992398_0.8855429687537253"},"directories":{},"publish_time":1513209993306,"_hasShrinkwrap":false,"_cnpm_publish_time":1513209993306},"2.1.0":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"2.1.0","homepage":"https://github.com/here-be-snapdragons/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/here-be-snapdragons/snapdragon-token.git"},"bugs":{"url":"https://github.com/here-be-snapdragons/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=4"},"scripts":{"test":"mocha","cover":"nyc mocha"},"dependencies":{"kind-of":"^6.0.1"},"devDependencies":{"mocha":"^3.4.2","gulp-format-md":"^1.0.0","nyc":"^11.3.0"},"keywords":["ast","capture","compile","compiler","convert","lex","lexer","parse","parser","render","snapdragon","token","tokenize","transform"],"verb":{"toc":false,"layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-util"]},"lint":{"reflinks":true}},"gitHead":"b865c01358d657a824c294df3cf031a4f7fb13ac","_id":"snapdragon-token@2.1.0","_npmVersion":"5.5.1","_nodeVersion":"9.1.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"0c3c0ef328cf9f052012d3a7949ddebc39ba25c4","size":3736,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-2.1.0.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token-2.1.0.tgz_1512327167225_0.4211573526263237"},"directories":{},"publish_time":1512327168137,"_cnpm_publish_time":1512327168137,"_hasShrinkwrap":false},"2.0.0":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"2.0.0","homepage":"https://github.com/here-be-snapdragons/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/here-be-snapdragons/snapdragon-token.git"},"bugs":{"url":"https://github.com/here-be-snapdragons/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=4"},"scripts":{"test":"mocha","cover":"nyc mocha"},"dependencies":{"define-property":"^2.0.0","kind-of":"^6.0.1"},"devDependencies":{"mocha":"^3.4.2","gulp-format-md":"^1.0.0","nyc":"^11.3.0"},"keywords":["ast","capture","compile","compiler","convert","lex","lexer","parse","parser","render","snapdragon","token","tokenize","transform"],"verb":{"toc":false,"layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-util"]},"lint":{"reflinks":true}},"gitHead":"3d50111428044559ce64db8e4c3a6362cdff273c","_id":"snapdragon-token@2.0.0","_npmVersion":"5.5.1","_nodeVersion":"9.1.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"7d42fdfda6f12759563d0ed071aa134722d3c061","size":3690,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-2.0.0.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token-2.0.0.tgz_1512094495471_0.7145382107701153"},"directories":{},"publish_time":1512094496421,"_hasShrinkwrap":false,"_cnpm_publish_time":1512094496421},"1.0.2":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"1.0.2","homepage":"https://github.com/jonschlinkert/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/snapdragon-token.git"},"bugs":{"url":"https://github.com/jonschlinkert/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=4"},"scripts":{"test":"mocha","cover":"nyc mocha"},"dependencies":{"define-property":"^1.0.0","kind-of":"^6.0.0"},"devDependencies":{"gulp-format-md":"^1.0.0","mocha":"^3.4.2","nyc":"^11.3.0"},"keywords":["compile","compiler","convert","parse","parser","render","lexer","lex","tokenize","capture","snapdragon","token","transform"],"verb":{"toc":"collapsible","layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-util"]},"lint":{"reflinks":true}},"gitHead":"5494ea2a9f3beb71dd9d46635562ab45dbb78b01","_id":"snapdragon-token@1.0.2","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"8763448cf8076565d98fdd83dba53fb4e18d1120","size":4555,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-1.0.2.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token-1.0.2.tgz_1510375788007_0.3858404962811619"},"directories":{},"publish_time":1510375789039,"_cnpm_publish_time":1510375789039,"_hasShrinkwrap":false},"1.0.1":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"1.0.1","homepage":"https://github.com/jonschlinkert/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/snapdragon-token.git"},"bugs":{"url":"https://github.com/jonschlinkert/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=4"},"scripts":{"test":"mocha","cover":"nyc mocha"},"dependencies":{"define-property":"^1.0.0","kind-of":"^6.0.0"},"devDependencies":{"gulp-format-md":"^1.0.0","mocha":"^3.4.2","nyc":"^11.3.0"},"keywords":["compile","compiler","convert","parse","parser","render","lexer","lex","tokenize","capture","snapdragon","token","transform"],"verb":{"toc":"collapsible","layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-util"]},"lint":{"reflinks":true}},"gitHead":"4668826e0f4dd5d79482e3cdba23e5e023c777c9","_id":"snapdragon-token@1.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"a04d8c2a64c7793f52ef69d295abd4d764b167c8","size":4518,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-1.0.1.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token-1.0.1.tgz_1510211630005_0.018136520171537995"},"directories":{},"publish_time":1510211630929,"_hasShrinkwrap":false,"_cnpm_publish_time":1510211630929},"1.0.0":{"name":"snapdragon-token","description":"Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.","version":"1.0.0","homepage":"https://github.com/jonschlinkert/snapdragon-token","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/snapdragon-token.git"},"bugs":{"url":"https://github.com/jonschlinkert/snapdragon-token/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=4"},"scripts":{"test":"mocha","cover":"nyc mocha"},"dependencies":{"define-property":"^1.0.0","kind-of":"^6.0.0"},"devDependencies":{"gulp-format-md":"^1.0.0","mocha":"^3.4.2","nyc":"^11.3.0"},"keywords":["compile","compiler","convert","parse","parser","render","lexer","lex","tokenize","capture","snapdragon","token","transform"],"verb":{"toc":"collapsible","layout":"default","tasks":["readme"],"plugins":["gulp-format-md"],"related":{"list":["snapdragon","snapdragon-node","snapdragon-util"]},"lint":{"reflinks":true}},"gitHead":"47a5ec4a3016c3ecdd87a74ad839c6dc22824598","_id":"snapdragon-token@1.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"shasum":"7efa56334f67534faff8509cec72afe84081c32b","size":4521,"noattachment":false,"key":"/snapdragon-token/-/snapdragon-token-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snapdragon-token/download/snapdragon-token-1.0.0.tgz"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snapdragon-token-1.0.0.tgz_1510211397014_0.5932382973842323"},"directories":{},"publish_time":1510211398113,"_hasShrinkwrap":false,"_cnpm_publish_time":1510211398113}},"readme":"# snapdragon-token [![NPM version](https://img.shields.io/npm/v/snapdragon-token.svg?style=flat)](https://www.npmjs.com/package/snapdragon-token) [![NPM monthly downloads](https://img.shields.io/npm/dm/snapdragon-token.svg?style=flat)](https://npmjs.org/package/snapdragon-token) [![NPM total downloads](https://img.shields.io/npm/dt/snapdragon-token.svg?style=flat)](https://npmjs.org/package/snapdragon-token) [![Linux Build Status](https://img.shields.io/travis/here-be/snapdragon-token.svg?style=flat&label=Travis)](https://travis-ci.org/here-be/snapdragon-token)\n\n> Create a snapdragon token. Used by the snapdragon lexer, but can also be used by plugins.\n\nPlease consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install --save snapdragon-token\n```\n\n## Usage\n\n```js\nconst Token = require('snapdragon-token');\n```\n\n## API\n\n### [Token](index.js#L18)\n\nCreate a new `Token` with the given `value` and `type`.\n\n**Params**\n\n* `type` **{String|Object}**: The token type to use when `value` is a string.\n* `value` **{String}**: Value to set\n* `returns` **{Object}**: Token instance\n\n**Example**\n\n```js\nconst token = new Token('*', 'Star');\nconst token = new Token({type: 'star', value: '*'});\nconsole.log(token) //=> Token { type: 'star', value: '*' }\n```\n\n## Release history\n\nSee [the changelog](CHANGELOG.md).\n\n## Token objects\n\nLexer tokens are represented as `Token` objects that implement the following interface:\n\n```js\ninterface Token {\n  type: string;\n  value: string;\n  match: array | undefined;\n}\n```\n\n### Token properties\n\n* `type` **{string}** - A string representing the token variant type. This property is necessary for classifying one or more characters so that parsers or compilers can determine what to do with the token.\n* `value` **{string}** - The substring (or [lexeme](#lexeme)) that was captured for the token.\n* `match` **{array|undefined}** - If a regular expression was used to capture a substring, the `RegExp.exec()` or `String.match()` arguments array can be stored on the token.\n\n**Source location**\n\nAdd the source location (start, end, index and range) information to tokens using either of the following plugins (depending on preference for property naming conventions):\n\n* [snapdragon-position](https://github.com/here-be/snapdragon-position)\n* [snapdragon-location](https://github.com/here-be/snapdragon-location)\n\n## About\n\n<details>\n<summary><strong>Contributing</strong></summary>\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\nPlease read the [contributing guide](.github/contributing.md) for advice on opening issues, pull requests, and coding standards.\n\n</details>\n\n<details>\n<summary><strong>Running Tests</strong></summary>\n\nRunning and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:\n\n```sh\n$ npm install && npm test\n```\n\n</details>\n\n<details>\n<summary><strong>Building docs</strong></summary>\n\n_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_\n\nTo generate the readme, run the following command:\n\n```sh\n$ npm install -g verbose/verb#dev verb-generate-readme && verb\n```\n\n</details>\n\n### Related projects\n\nYou might also be interested in these projects:\n\n* [snapdragon-node](https://www.npmjs.com/package/snapdragon-node): Snapdragon utility for creating a new AST node in custom code, such as plugins. | [homepage](https://github.com/jonschlinkert/snapdragon-node \"Snapdragon utility for creating a new AST node in custom code, such as plugins.\")\n* [snapdragon-util](https://www.npmjs.com/package/snapdragon-util): Utilities for the snapdragon parser/compiler. | [homepage](https://github.com/here-be/snapdragon-util \"Utilities for the snapdragon parser/compiler.\")\n* [snapdragon](https://www.npmjs.com/package/snapdragon): Easy-to-use plugin system for creating powerful, fast and versatile parsers and compilers, with built-in source-map… [more](https://github.com/here-be/snapdragon) | [homepage](https://github.com/here-be/snapdragon \"Easy-to-use plugin system for creating powerful, fast and versatile parsers and compilers, with built-in source-map support.\")\n\n### Author\n\n**Jon Schlinkert**\n\n* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)\n* [GitHub Profile](https://github.com/jonschlinkert)\n* [Twitter Profile](https://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT License](LICENSE).\n\n***\n\n_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on April 26, 2018._","_attachments":{},"homepage":"https://github.com/here-be/snapdragon-token","bugs":{"url":"https://github.com/here-be/snapdragon-token/issues"},"license":"MIT"}