| Index: bower_components/context-free-parser/context-free-parser.js
|
| diff --git a/bower_components/context-free-parser/context-free-parser.js b/bower_components/context-free-parser/context-free-parser.js
|
| deleted file mode 100644
|
| index bd70d4b01931d2f653986a4e1887410c9453ee37..0000000000000000000000000000000000000000
|
| --- a/bower_components/context-free-parser/context-free-parser.js
|
| +++ /dev/null
|
| @@ -1,130 +0,0 @@
|
| -/*
|
| - * @license
|
| - * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
| - * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
| - * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
| - * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
| - * Code distributed by Google as part of the polymer project is also
|
| - * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
| - */
|
| -
|
| -(function(scope) {
|
| -
|
| - var ContextFreeParser = {
|
| - parse: function(text) {
|
| - var top = {};
|
| - var entities = [];
|
| - var current = top;
|
| - var subCurrent = {};
|
| -
|
| - var scriptDocCommentClause = '\\/\\*\\*([\\s\\S]*?)\\*\\/';
|
| - var htmlDocCommentClause = '<!--([\\s\\S]*?)-->';
|
| -
|
| - // matches text between /** and */ inclusive and <!-- and --> inclusive
|
| - var docCommentRegex = new RegExp(scriptDocCommentClause + '|' + htmlDocCommentClause, 'g');
|
| -
|
| - // acquire all script doc comments
|
| - var docComments = text.match(docCommentRegex) || [];
|
| -
|
| - // each match represents a single block of doc comments
|
| - docComments.forEach(function(m) {
|
| - // unify line ends, remove all comment characters, split into individual lines
|
| - var lines = m.replace(/\r\n/g, '\n').replace(/^\s*\/\*\*|^\s*\*\/|^\s*\* ?|^\s*\<\!-\-|^s*\-\-\>/gm, '').split('\n');
|
| -
|
| - // pragmas (@-rules) must occur on a line by themselves
|
| - var pragmas = [];
|
| - // filter lines whose first non-whitespace character is @ into the pragma list
|
| - // (and out of the `lines` array)
|
| - lines = lines.filter(function(l) {
|
| - var m = l.match(/\s*@([\w-]*) (.*)/);
|
| - if (!m) {
|
| - return true;
|
| - }
|
| - pragmas.push(m);
|
| - });
|
| -
|
| - // collect all other text into a single block
|
| - var code = lines.join('\n');
|
| -
|
| - // process pragmas
|
| - pragmas.forEach(function(m) {
|
| - var pragma = m[1], content = m[2];
|
| - switch (pragma) {
|
| -
|
| - // currently all entities are either @class or @element
|
| - case 'class':
|
| - case 'element':
|
| - current = {
|
| - name: content,
|
| - description: code
|
| - };
|
| - entities.push(current);
|
| - break;
|
| -
|
| - // an entity may have these describable sub-features
|
| - case 'attribute':
|
| - case 'property':
|
| - case 'method':
|
| - case 'event':
|
| - subCurrent = {
|
| - name: content,
|
| - description: code
|
| - };
|
| - var label = pragma == 'property' ? 'properties' : pragma + 's';
|
| - makePragma(current, label, subCurrent);
|
| - break;
|
| -
|
| - // sub-feature pragmas
|
| - case 'default':
|
| - case 'type':
|
| - subCurrent[pragma] = content;
|
| - break;
|
| -
|
| - case 'param':
|
| - var eventParmsRe = /\{(.+)\}\s+(\w+[.\w+]+)\s+(.*)$/;
|
| -
|
| - var params = content.match(eventParmsRe);
|
| - if (params) {
|
| - var subEventObj = {
|
| - type: params[1],
|
| - name: params[2],
|
| - description: params[3]
|
| - };
|
| - makePragma(subCurrent, pragma + 's', subEventObj);
|
| - }
|
| -
|
| - break;
|
| -
|
| - // everything else
|
| - default:
|
| - current[pragma] = content;
|
| - break;
|
| - }
|
| - });
|
| -
|
| - // utility function, yay hoisting
|
| - function makePragma(object, pragma, content) {
|
| - var p$ = object;
|
| - var p = p$[pragma];
|
| - if (!p) {
|
| - p$[pragma] = p = [];
|
| - }
|
| - p.push(content);
|
| - }
|
| -
|
| - });
|
| -
|
| - if (entities.length === 0) {
|
| - entities.push({name: 'Entity', description: '**Undocumented**'});
|
| - }
|
| - return entities;
|
| - }
|
| - };
|
| -
|
| - if (typeof module !== 'undefined' && module.exports) {
|
| - module.exports = ContextFreeParser;
|
| - } else {
|
| - scope.ContextFreeParser = ContextFreeParser;
|
| - }
|
| -
|
| -})(this);
|
|
|