{"_id":"@emmetio/field-parser","_rev":"368540","name":"@emmetio/field-parser","description":"Parses snippet fields (aka tab-stops) like `${1:foo}` in given string","dist-tags":{"latest":"0.3.1"},"maintainers":[{"name":"emmetio-user","email":"info@emmet.io"},{"name":"serge.che","email":"serge.che@gmail.com"}],"time":{"modified":"2021-07-19T07:36:49.000Z","created":"2016-11-29T22:58:05.423Z","0.3.1":"2018-03-26T20:51:33.946Z","0.3.0":"2017-03-22T23:53:23.867Z","0.2.0":"2017-01-23T10:22:05.502Z","0.1.1":"2016-12-16T12:59:07.195Z","0.1.0":"2016-11-29T22:58:05.423Z"},"users":{},"author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/emmetio/field-parser.git"},"versions":{"0.3.1":{"name":"@emmetio/field-parser","version":"0.3.1","description":"Parses snippet fields (aka tab-stops) like `${1:foo}` in given string","main":"dist/field-parser.cjs.js","module":"dist/field-parser.es.js","scripts":{"test":"mocha","build":"rollup -c","pretest":"npm run build","prepublish":"npm run test && npm run build"},"repository":{"type":"git","url":"git+https://github.com/emmetio/field-parser.git"},"keywords":["emmet","field","tabstop"],"author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/emmetio/field-parser/issues"},"homepage":"https://github.com/emmetio/field-parser#readme","devDependencies":{"mocha":"^5.0.5","rollup":"^0.57.1"},"dependencies":{"@emmetio/stream-reader":"^2.2.0","@emmetio/stream-reader-utils":"^0.1.0"},"gitHead":"fdc784a0216f7ee68955782197e0d7c680df9323","_id":"@emmetio/field-parser@0.3.1","_npmVersion":"5.7.1","_nodeVersion":"9.3.0","_npmUser":{"name":"emmetio","email":"info@emmet.io"},"dist":{"shasum":"00ff922b2ccc23929d825ad83a9e4fbd094fc0f9","size":6449,"noattachment":false,"key":"/@emmetio/field-parser/-/@emmetio/field-parser-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@emmetio/field-parser/download/@emmetio/field-parser-0.3.1.tgz"},"maintainers":[{"name":"emmetio-user","email":"info@emmet.io"},{"name":"serge.che","email":"serge.che@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/field-parser_0.3.1_1522097493885_0.12543049434784215"},"_hasShrinkwrap":false,"publish_time":1522097493946,"_cnpm_publish_time":1522097493946},"0.3.0":{"name":"@emmetio/field-parser","version":"0.3.0","description":"Parses snippet fields (aka tab-stops) like `${1:foo}` in given string","main":"dist/field-parser.cjs.js","module":"dist/field-parser.es.js","scripts":{"test":"mocha","build":"rollup -c","prepublish":"npm run test && npm run build"},"repository":{"type":"git","url":"git+https://github.com/emmetio/field-parser.git"},"keywords":["emmet","field","tabstop"],"author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/emmetio/field-parser/issues"},"homepage":"https://github.com/emmetio/field-parser#readme","devDependencies":{"babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-register":"^6.18.0","mocha":"^3.1.2","rollup":"^0.41.1"},"dependencies":{"@emmetio/stream-reader":"^2.0.0","@emmetio/stream-reader-utils":"^0.1.0"},"gitHead":"ef896756670a1b616eb0a354911ff4251958bf82","_id":"@emmetio/field-parser@0.3.0","_shasum":"7a7cf51c399aea7bae455e0fcf3eb328f8c0c215","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.3","_npmUser":{"name":"emmetio","email":"info@emmet.io"},"dist":{"shasum":"7a7cf51c399aea7bae455e0fcf3eb328f8c0c215","size":4668,"noattachment":false,"key":"/@emmetio/field-parser/-/@emmetio/field-parser-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@emmetio/field-parser/download/@emmetio/field-parser-0.3.0.tgz"},"maintainers":[{"name":"emmetio-user","email":"info@emmet.io"},{"name":"serge.che","email":"serge.che@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/field-parser-0.3.0.tgz_1490226801989_0.3568848024588078"},"directories":{},"publish_time":1490226803867,"_cnpm_publish_time":1490226803867,"_hasShrinkwrap":false},"0.2.0":{"name":"@emmetio/field-parser","version":"0.2.0","description":"Parses snippet fields (aka tab-stops) like `${1:foo}` in given string","main":"dist/field-parser.cjs.js","module":"dist/field-parser.es.js","scripts":{"test":"mocha","build":"rollup -c","prepublish":"npm run test && npm run build"},"repository":{"type":"git","url":"git+https://github.com/emmetio/field-parser.git"},"keywords":["emmet","field","tabstop"],"author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/emmetio/field-parser/issues"},"homepage":"https://github.com/emmetio/field-parser#readme","devDependencies":{"babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-register":"^6.18.0","mocha":"^3.1.2","rollup":"^0.41.1"},"dependencies":{"@emmetio/stream-reader":"^1.0.0"},"gitHead":"823230fffe8d4cf8553c96411ad202e48cd52a36","_id":"@emmetio/field-parser@0.2.0","_shasum":"4d698da4f212d665765eac868b6ba247f0e52e58","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"emmetio","email":"info@emmet.io"},"dist":{"shasum":"4d698da4f212d665765eac868b6ba247f0e52e58","size":4809,"noattachment":false,"key":"/@emmetio/field-parser/-/@emmetio/field-parser-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@emmetio/field-parser/download/@emmetio/field-parser-0.2.0.tgz"},"maintainers":[{"name":"emmetio-user","email":"info@emmet.io"},{"name":"serge.che","email":"serge.che@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/field-parser-0.2.0.tgz_1485166924688_0.23899101675488055"},"directories":{},"publish_time":1485166925502,"_cnpm_publish_time":1485166925502,"_hasShrinkwrap":false},"0.1.1":{"name":"@emmetio/field-parser","version":"0.1.1","description":"Parses snippet fields (aka tab-stops) like `${1:foo}` in given string","main":"dist/field-parser.cjs.js","jsnext:main":"dist/field-parser.es.js","scripts":{"test":"mocha","build":"npm run build:cjs && npm run build:es","build:cjs":"rollup -o dist/field-parser.cjs.js -f cjs ./index.js","build:es":"rollup -o dist/field-parser.es.js -f es ./index.js","prepublish":"npm run test && npm run build","watch":"rollup -w -o dist/field-parser.cjs.js -f cjs ./index.js"},"repository":{"type":"git","url":"git+https://github.com/emmetio/field-parser.git"},"keywords":["emmet","field","tabstop"],"author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/emmetio/field-parser/issues"},"homepage":"https://github.com/emmetio/field-parser#readme","devDependencies":{"babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-register":"^6.18.0","mocha":"^3.1.2","rollup":"^0.36.3","rollup-watch":"^2.5.0"},"gitHead":"5eb2829bf5f237cf308e08901998b2fd11906fda","_id":"@emmetio/field-parser@0.1.1","_shasum":"b3ada20e0a4a6a119408f8449e6ba7ab9f2cd37b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"emmetio","email":"info@emmet.io"},"dist":{"shasum":"b3ada20e0a4a6a119408f8449e6ba7ab9f2cd37b","size":4381,"noattachment":false,"key":"/@emmetio/field-parser/-/@emmetio/field-parser-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@emmetio/field-parser/download/@emmetio/field-parser-0.1.1.tgz"},"maintainers":[{"name":"emmetio-user","email":"info@emmet.io"},{"name":"serge.che","email":"serge.che@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/field-parser-0.1.1.tgz_1481893146578_0.23178153578191996"},"directories":{},"publish_time":1481893147195,"_cnpm_publish_time":1481893147195,"_hasShrinkwrap":false},"0.1.0":{"name":"@emmetio/field-parser","version":"0.1.0","description":"Parses snippet fields (aka tab-stops) like `${1:foo}` in given string","main":"dist/field-parser.cjs.js","jsnext:main":"dist/field-parser.es.js","scripts":{"test":"mocha","build":"npm run build:cjs && npm run build:es","build:cjs":"rollup -o dist/field-parser.cjs.js -f cjs ./index.js","build:es":"rollup -o dist/field-parser.es.js -f es ./index.js","prepublish":"npm run test && npm run build","watch":"rollup -w -o dist/field-parser.cjs.js -f cjs ./index.js"},"repository":{"type":"git","url":"git+https://github.com/emmetio/field-parser.git"},"keywords":["emmet","field","tabstop"],"author":{"name":"Sergey Chikuyonok","email":"serge.che@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/emmetio/field-parser/issues"},"homepage":"https://github.com/emmetio/field-parser#readme","devDependencies":{"babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-register":"^6.18.0","mocha":"^3.1.2","rollup":"^0.36.3","rollup-watch":"^2.5.0"},"gitHead":"263b09884cef72b4172cbad027d5a962e8797d7c","_id":"@emmetio/field-parser@0.1.0","_shasum":"4663524a2a192549c543da7661f54ebc2d493c3a","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.1","_npmUser":{"name":"emmetio","email":"info@emmet.io"},"dist":{"shasum":"4663524a2a192549c543da7661f54ebc2d493c3a","size":4266,"noattachment":false,"key":"/@emmetio/field-parser/-/@emmetio/field-parser-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@emmetio/field-parser/download/@emmetio/field-parser-0.1.0.tgz"},"maintainers":[{"name":"emmetio-user","email":"info@emmet.io"},{"name":"serge.che","email":"serge.che@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/field-parser-0.1.0.tgz_1480460284817_0.8508486645296216"},"directories":{},"publish_time":1480460285423,"_cnpm_publish_time":1480460285423,"_hasShrinkwrap":false}},"readme":"# Fields (tab-stops) parser\n\nParses snippet fields (aka *tab-stops*) like `${1:foo}` in given string and produces a model that contains clean string without fields and list of fields locations.\n\n## Usage example\n\n```js\nimport parse from '@emmetio/field-parser';\n\nconst fieldModel = parse('foo $0 ${1:bar} ${2}${1}');\n\nconsole.log(fieldModel.string);\n// outputs \"foo  bar \"\n\n// `.fields` is array of `{index, location, length}` fields\nconsole.log(fieldModel.fields);\n// outputs:\n// {index: 0, location: 4, length: 0}\n// {index: 1, location: 5, length: 3}\n// {index: 2, location: 9, length: 0}\n// {index: 1, location: 9, length: 0}\n```\n\nYou can also mark string with fields:\n\n```js\nimport { mark } from '@emmetio/field-parser';\n\nconst marked = mark('foo bar', [\n    {index: 1, location: 0, length: 3},\n    {index: 5, location: 4, length: 3},\n]);\n\nconsole.log(marked); // ${1:foo} ${5:bar}\n```\n\n...or parse string and then use built-it `mark` method:\n\n```js\nimport parse from '@emmetio/field-parser';\n\nconst fieldModel = parse('foo $0 ${1:bar} ${2}${1}');\nfieldModel.forEach(field => field.index += 100);\n\nconsole.log(fieldModel.mark()); // foo $100 ${101:bar} ${102}${101}\n```\n","_attachments":{},"homepage":"https://github.com/emmetio/field-parser#readme","bugs":{"url":"https://github.com/emmetio/field-parser/issues"},"license":"MIT"}