diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-a11y-keys-behavior/.bower.json b/fixtures/packages/iron-icon/source/bower_components/iron-a11y-keys-behavior/.bower.json index 52662d44e..ce0fd6f68 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-a11y-keys-behavior/.bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/iron-a11y-keys-behavior/.bower.json @@ -51,14 +51,14 @@ "resolutions": { "webcomponentsjs": "^1.0.0" }, - "homepage": "https://github.com/PolymerElements/iron-a11y-keys-behavior", + "homepage": "https://github.com/polymerelements/iron-a11y-keys-behavior", "_release": "2.0.1", "_resolution": { "type": "version", "tag": "v2.0.1", "commit": "a3f03fc3fb5a0d8e93eaa33c2b6c02c16098b402" }, - "_source": "https://github.com/PolymerElements/iron-a11y-keys-behavior.git", + "_source": "https://github.com/polymerelements/iron-a11y-keys-behavior.git", "_target": "1 - 2", - "_originalSource": "PolymerElements/iron-a11y-keys-behavior" + "_originalSource": "polymerelements/iron-a11y-keys-behavior" } \ No newline at end of file diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/.bower.json b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/.bower.json index 9d682e908..bf95ac9b3 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/.bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/.bower.json @@ -1,6 +1,6 @@ { "name": "iron-ajax", - "version": "2.0.6", + "version": "2.0.8", "description": "Makes it easy to make ajax calls and parse the response", "private": true, "authors": [ @@ -53,11 +53,11 @@ "resolutions": { "webcomponentsjs": "^1.0.0" }, - "_release": "2.0.6", + "_release": "2.0.8", "_resolution": { "type": "version", - "tag": "v2.0.6", - "commit": "db9535a8e40795b464679469f5b3dd71b9163def" + "tag": "v2.0.8", + "commit": "fd9fd3b7f6f4dca92358085ee0f9b4f783394410" }, "_source": "https://github.com/PolymerElements/iron-ajax.git", "_target": "1 - 2", diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/bower.json b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/bower.json index 30aa30830..de7f4f6e8 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/bower.json @@ -1,6 +1,6 @@ { "name": "iron-ajax", - "version": "2.0.6", + "version": "2.0.8", "description": "Makes it easy to make ajax calls and parse the response", "private": true, "authors": [ diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-ajax.html b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-ajax.html index 1a9dddf67..caa6a1f2f 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-ajax.html +++ b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-ajax.html @@ -235,6 +235,15 @@ readOnly: true }, + /** + * The `progress` property of this element's `lastRequest`. + */ + lastProgress: { + type: Object, + notify: true, + readOnly: true + }, + /** * True while lastRequest is in flight. */ @@ -348,6 +357,10 @@ 'body, sync, handleAs, jsonPrefix, withCredentials, timeout, auto)' ], + created: function() { + this._boundOnProgressChanged = this._onProgressChanged.bind(this); + }, + /** * The query string that should be appended to the `url`, serialized from * the current value of `params`. @@ -422,6 +435,10 @@ return headers; }, + _onProgressChanged: function(event) { + this._setLastProgress(event.detail.value); + }, + /** * Request options suitable for generating an `iron-request` instance based * on the current state of the `iron-ajax` instance's properties. @@ -481,8 +498,16 @@ return request; } - request.send(requestOptions); + if (this.lastRequest) { + this.lastRequest.removeEventListener('iron-request-progress-changed', + this._boundOnProgressChanged); + } + + request.addEventListener('iron-request-progress-changed', + this._boundOnProgressChanged); + request.send(requestOptions); + this._setLastProgress(null); this._setLastRequest(request); this._setLoading(true); diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-request.html b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-request.html index da9768483..a3612af48 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-request.html +++ b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/iron-request.html @@ -215,7 +215,10 @@ loaded: progress.loaded, total: progress.total }); - }.bind(this)); + + // Webcomponents v1 spec does not fire *-changed events when not connected + this.fire('iron-request-progress-changed', { value: this.progress }); + }.bind(this)) xhr.addEventListener('error', function(error) { this._setErrored(true); @@ -364,6 +367,7 @@ try { return JSON.parse(xhr.responseText); } catch (_) { + console.warn('Failed to parse JSON sent from ' + xhr.responseUrl); return null; } } @@ -385,6 +389,7 @@ try { return JSON.parse(xhr.responseText.substring(prefixLen)); } catch (_) { + console.warn('Failed to parse JSON sent from ' + xhr.responseUrl); return null; } } diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/test/iron-ajax.html b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/test/iron-ajax.html index eae017183..57746e1f4 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-ajax/test/iron-ajax.html +++ b/fixtures/packages/iron-icon/source/bower_components/iron-ajax/test/iron-ajax.html @@ -961,6 +961,55 @@ ajax.generateRequest(); }); }); + + suite('Progress Tests', function() { + var ajax; + + setup(function() { + server.restore(); + }); + + test('lastProgress is same as lastRequest', function(done) { + ajax = fixture('TrivialGet'); + + var lastProgressUpdated = false; + + expect(ajax.lastProgress).to.be.eql(undefined); + + ajax.generateRequest(); + + expect(ajax.lastProgress).to.be.eql(null); + + var onLastProgressChanged = function() { + expect(ajax.lastProgress.total).to.not.be.undefined; + expect(ajax.lastProgress).to.be.equal(ajax.lastRequest.progress); + lastProgressUpdated = true; + }; + + ajax.lastRequest.completes.then(function() { + // should have something from last request + expect(ajax.lastProgress).to.be.ok; + ajax.removeEventListener('last-progress-changed', + onLastProgressChanged); + ajax.generateRequest(); + + // should reset + expect(ajax.lastProgress).to.be.eql(null); + + if (lastProgressUpdated) { + done(); + } else { + done('lastProgress was never updated'); + } + }).catch(function(err) { + done(err); + }); + + server.respond(); + + ajax.addEventListener('last-progress-changed', onLastProgressChanged); + }); + }); }); diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-location/.bower.json b/fixtures/packages/iron-icon/source/bower_components/iron-location/.bower.json index 5e9e4543c..0d1e33350 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-location/.bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/iron-location/.bower.json @@ -1,6 +1,6 @@ { "name": "iron-location", - "version": "2.0.2", + "version": "2.0.3", "description": "Bidirectional data binding into the page's URL.", "private": true, "authors": [ @@ -59,11 +59,11 @@ "resolutions": { "webcomponentsjs": "^1.0.0" }, - "_release": "2.0.2", + "_release": "2.0.3", "_resolution": { "type": "version", - "tag": "v2.0.2", - "commit": "10493907e6ba30b2bd9d21c0f91209d08416b4e8" + "tag": "v2.0.3", + "commit": "1a0c6f979e3ae2f3040daab87c6005dca94d78c5" }, "_source": "https://github.com/PolymerElements/iron-location.git", "_target": "1 - 2", diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-location/README.md b/fixtures/packages/iron-icon/source/bower_components/iron-location/README.md index a28a75768..ec532cf17 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-location/README.md +++ b/fixtures/packages/iron-icon/source/bower_components/iron-location/README.md @@ -13,6 +13,7 @@ thing! https://github.com/PolymerLabs/tedium/issues --> [](https://travis-ci.org/PolymerElements/iron-location) +[](https://www.webcomponents.org/element/PolymerElements/iron-location) _[Demo and API docs](https://elements.polymer-project.org/elements/iron-location)_ diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-location/bower.json b/fixtures/packages/iron-icon/source/bower_components/iron-location/bower.json index de50bed00..cff300ddc 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-location/bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/iron-location/bower.json @@ -1,6 +1,6 @@ { "name": "iron-location", - "version": "2.0.2", + "version": "2.0.3", "description": "Bidirectional data binding into the page's URL.", "private": true, "authors": [ diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-location/iron-location.html b/fixtures/packages/iron-icon/source/bower_components/iron-location/iron-location.html index a17c70960..d5fa2efb1 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-location/iron-location.html +++ b/fixtures/packages/iron-icon/source/bower_components/iron-location/iron-location.html @@ -348,6 +348,11 @@ window.top !== window) { return null; } + + // If the link is a download, don't intercept. + if (anchor.download) { + return null; + } var href = anchor.href; diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-meta/.bower.json b/fixtures/packages/iron-icon/source/bower_components/iron-meta/.bower.json index 2c55cdb04..7443ebf0e 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-meta/.bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/iron-meta/.bower.json @@ -1,6 +1,6 @@ { "name": "iron-meta", - "version": "2.0.3", + "version": "2.0.4", "keywords": [ "web-components", "polymer" @@ -46,11 +46,11 @@ "webcomponentsjs": "^1.0.0" }, "homepage": "https://github.com/PolymerElements/iron-meta", - "_release": "2.0.3", + "_release": "2.0.4", "_resolution": { "type": "version", - "tag": "v2.0.3", - "commit": "a7025e67f7cc60de42162e713a0f0589d3c56a20" + "tag": "v2.0.4", + "commit": "88d89fbcb45a8ae87986df686ed3f8659aa11b37" }, "_source": "https://github.com/PolymerElements/iron-meta.git", "_target": "1 - 2", diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-meta/bower.json b/fixtures/packages/iron-icon/source/bower_components/iron-meta/bower.json index be4d12877..0b99dc793 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-meta/bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/iron-meta/bower.json @@ -1,6 +1,6 @@ { "name": "iron-meta", - "version": "2.0.3", + "version": "2.0.4", "keywords": [ "web-components", "polymer" diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-meta/iron-meta.html b/fixtures/packages/iron-icon/source/bower_components/iron-meta/iron-meta.html index 412325c5a..4118c0f21 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-meta/iron-meta.html +++ b/fixtures/packages/iron-icon/source/bower_components/iron-meta/iron-meta.html @@ -57,12 +57,16 @@ /** * @constructor - * @param {{type: (string|null), key: (string|null), value: *}} options + * @param {{ + * type: (string|null|undefined), + * key: (string|null|undefined), + * value: *, + * }=} options */ function IronMeta(options) { this.type = (options && options.type) || 'default'; this.key = options && options.key; - if ('value' in options) { + if (options && 'value' in options) { this.value = options.value; } } diff --git a/fixtures/packages/iron-icon/source/bower_components/iron-meta/test/basic.html b/fixtures/packages/iron-icon/source/bower_components/iron-meta/test/basic.html index 9d857efb6..10de5916a 100644 --- a/fixtures/packages/iron-icon/source/bower_components/iron-meta/test/basic.html +++ b/fixtures/packages/iron-icon/source/bower_components/iron-meta/test/basic.html @@ -41,6 +41,12 @@ assert.equal(document.querySelector('iron-meta').list.length, 1); }); + test('constructor with no arguments', function() { + expect(function() { + new Polymer.IronMeta(); + }).to.not.throw(); + }); + }); diff --git a/fixtures/packages/iron-icon/source/bower_components/marked/.bower.json b/fixtures/packages/iron-icon/source/bower_components/marked/.bower.json index fe9dff3cc..741afc492 100644 --- a/fixtures/packages/iron-icon/source/bower_components/marked/.bower.json +++ b/fixtures/packages/iron-icon/source/bower_components/marked/.bower.json @@ -20,12 +20,12 @@ "test", "tests" ], - "version": "0.3.9", - "_release": "0.3.9", + "version": "0.3.12", + "_release": "0.3.12", "_resolution": { "type": "version", - "tag": "0.3.9", - "commit": "3a4f7a5dae661f0844cb7b07e8667b5666ffc83e" + "tag": "v0.3.12", + "commit": "1dc772bb94815a1e9364c8a143cc303002aefe4f" }, "_source": "https://github.com/chjj/marked.git", "_target": "~0.3.9", diff --git a/fixtures/packages/iron-icon/source/bower_components/marked/README.md b/fixtures/packages/iron-icon/source/bower_components/marked/README.md index 39ef13b99..8cfec5cc3 100644 --- a/fixtures/packages/iron-icon/source/bower_components/marked/README.md +++ b/fixtures/packages/iron-icon/source/bower_components/marked/README.md @@ -3,7 +3,7 @@ > A full-featured markdown parser and compiler, written in JavaScript. Built > for speed. -[][badge] +[][badge] ## Install @@ -11,6 +11,12 @@ npm install marked --save ``` +or if you want to use the `marked` CLI tool (not necessary when using npm run-scripts): + +``` bash +npm install -g marked +``` + ## Usage Minimal usage: @@ -167,7 +173,7 @@ renderer.heading = function (text, level) { escapedText + '">' + text + ''; -}, +}; console.log(marked('# heading+', { renderer: renderer })); ``` @@ -213,6 +219,7 @@ This code will output the following HTML: - del(*string* text) - link(*string* href, *string* title, *string* text) - image(*string* href, *string* title, *string* text) +- text(*string* text) ### gfm @@ -308,30 +315,26 @@ cannot pass more than a few tests. It was very difficult to get marked as compliant as it is. It could have cut corners in several areas for the sake of performance, but did not in order to be exactly what you expect in terms of a markdown rendering. In fact, this is why marked could be considered at a -disadvantage in the benchmarks above. +disadvantage in the benchmarks. Along with implementing every markdown feature, marked also implements [GFM features][gfmf]. ## Benchmarks -node v0.8.x +node v8.9.4 ``` bash -$ node test --bench -marked completed in 3411ms. -marked (gfm) completed in 3727ms. -marked (pedantic) completed in 3201ms. -robotskirt completed in 808ms. -showdown (reuse converter) completed in 11954ms. -showdown (new converter) completed in 17774ms. -markdown-js completed in 17191ms. +$ npm run bench +marked completed in 3408ms. +marked (gfm) completed in 3465ms. +marked (pedantic) completed in 3032ms. +showdown (reuse converter) completed in 21444ms. +showdown (new converter) completed in 23058ms. +markdown-it completed in 3364ms. +markdown.js completed in 12090ms. ``` -__Marked is now faster than Discount, which is written in C.__ - -For those feeling skeptical: These benchmarks run the entire markdown test suite 1000 times. The test suite tests every feature. It doesn't cater to specific aspects. - ### Pro level You also have direct access to the lexer and parser if you so desire. @@ -366,23 +369,23 @@ suite. If you're adding a new feature, be sure to add your own test. The marked test suite is set up slightly strangely: `test/new` is for all tests that are not part of the original markdown.pl test suite (this is where your test should go if you make one). `test/original` is only for the original -markdown.pl tests. `test/tests` houses both types of tests after they have been -combined and moved/generated by running `node test --fix` or `marked --test ---fix`. +markdown.pl tests. -In other words, if you have a test to add, add it to `test/new/` and then -regenerate the tests with `node test --fix`. Commit the result. If your test +In other words, if you have a test to add, add it to `test/new/`. If your test uses a certain feature, for example, maybe it assumes GFM is *not* enabled, you -can add `.nogfm` to the filename. So, `my-test.text` becomes -`my-test.nogfm.text`. You can do this with any marked option. Say you want -line breaks and smartypants enabled, your filename should be: -`my-test.breaks.smartypants.text`. +can add [front-matter](https://www.npmjs.com/package/front-matter) to the top of +your `.md` file + +``` yml +--- +gfm: false +--- +``` To run the tests: ``` bash -cd marked/ -node test +npm run test ``` ### Contribution and License Agreement @@ -393,7 +396,7 @@ all code is your original work. `` ## License -Copyright (c) 2011-2014, Christopher Jeffrey. (MIT License) +Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License) See LICENSE for more info. diff --git a/fixtures/packages/iron-icon/source/bower_components/marked/lib/marked.js b/fixtures/packages/iron-icon/source/bower_components/marked/lib/marked.js index d231cf02e..1e3778900 100644 --- a/fixtures/packages/iron-icon/source/bower_components/marked/lib/marked.js +++ b/fixtures/packages/iron-icon/source/bower_components/marked/lib/marked.js @@ -5,6 +5,7 @@ */ ;(function() { +'use strict'; /** * Block-Level Grammar @@ -39,6 +40,10 @@ block.list = replace(block.list) ('def', '\\n+(?=' + block.def.source + ')') (); +block.blockquote = replace(block.blockquote) + ('def', block.def) + (); + block._tag = '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' @@ -445,9 +450,9 @@ Lexer.prototype.token = function(src, top, bq) { var inline = { escape: /^\\([\\`*{}\[\]()#+\-.!_>])/, - autolink: /^<([^ >]+(@|:\/)[^ >]+)>/, + autolink: /^<([^ <>]+(@|:\/)[^ <>]+)>/, url: noop, - tag: /^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/, + tag: /^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^<'">])*?>/, link: /^!?\[(inside)\]\(href\)/, reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/, @@ -459,7 +464,7 @@ var inline = { text: /^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/; inline.link = replace(inline.link) @@ -871,10 +876,10 @@ Renderer.prototype.link = function(href, title, text) { .replace(/[^\w:]/g, '') .toLowerCase(); } catch (e) { - return ''; + return text; } if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { - return ''; + return text; } } if (this.options.baseUrl && !originIndependentUrl.test(href)) { @@ -1137,15 +1142,15 @@ function resolveUrl(base, href) { base = baseUrls[' ' + base]; if (href.slice(0, 2) === '//') { - return base.replace(/:[^]*/, ':') + href; + return base.replace(/:[\s\S]*/, ':') + href; } else if (href.charAt(0) === '/') { - return base.replace(/(:\/*[^/]*)[^]*/, '$1') + href; + return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href; } else { return base + href; } } -baseUrls = {}; -originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; +var baseUrls = {}; +var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; function noop() {} noop.exec = noop; @@ -1248,7 +1253,7 @@ function marked(src, opt, callback) { } catch (e) { e.message += '\nPlease report this to https://github.com/chjj/marked.'; if ((opt || marked.defaults).silent) { - return '
An error occured:
' + return 'An error occurred:
' + escape(e.message + '', true) + ''; } diff --git a/fixtures/packages/iron-icon/source/bower_components/marked/marked.min.js b/fixtures/packages/iron-icon/source/bower_components/marked/marked.min.js index e0c8dd0fd..a97240a82 100644 --- a/fixtures/packages/iron-icon/source/bower_components/marked/marked.min.js +++ b/fixtures/packages/iron-icon/source/bower_components/marked/marked.min.js @@ -3,4 +3,4 @@ * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) * https://github.com/chjj/marked */ -(function(){function e(e){this.tokens=[],this.tokens.links={},this.options=e||p.defaults,this.rules=u.normal,this.options.gfm&&(this.options.tables?this.rules=u.tables:this.rules=u.gfm)}function t(e,t){if(this.options=t||p.defaults,this.links=e,this.rules=c.normal,this.renderer=this.options.renderer||new n,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=c.breaks:this.rules=c.gfm:this.options.pedantic&&(this.rules=c.pedantic)}function n(e){this.options=e||{}}function r(e){this.tokens=[],this.token=null,this.options=e||p.defaults,this.options.renderer=this.options.renderer||new n,this.renderer=this.options.renderer,this.renderer.options=this.options}function s(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function i(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function l(e,t){return e=e.source,t=t||"",function n(r,s){return r?(s=s.source||s,s=s.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,s),n):new RegExp(e,t)}}function o(e,t){return baseUrls[" "+e]||(/^[^:]+:\/*[^\/]*$/.test(e)?baseUrls[" "+e]=e+"/":baseUrls[" "+e]=e.replace(/[^\/]*$/,"")),e=baseUrls[" "+e],"//"===t.slice(0,2)?e.replace(/:[^]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^\/]*)[^]*/,"$1")+t:e+t}function h(){}function a(e){for(var t,n,r=1;rAn error occured: "+s(c.message+"",!0)+"";throw c}}var u={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:h,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:h,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:h,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};u.bullet=/(?:[*+-]|\d+\.)/,u.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,u.item=l(u.item,"gm")(/bull/g,u.bullet)(),u.list=l(u.list)(/bull/g,u.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+u.def.source+")")(),u._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",u.html=l(u.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,u._tag)(),u.paragraph=l(u.paragraph)("hr",u.hr)("heading",u.heading)("lheading",u.lheading)("blockquote",u.blockquote)("tag","<"+u._tag)("def",u.def)(),u.normal=a({},u),u.gfm=a({},u.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),u.gfm.paragraph=l(u.paragraph)("(?!","(?!"+u.gfm.fences.source.replace("\\1","\\2")+"|"+u.list.source.replace("\\1","\\3")+"|")(),u.tables=a({},u.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),e.rules=u,e.lex=function(t,n){var r=new e(n);return r.lex(t)},e.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},e.prototype.token=function(e,t,n){for(var r,s,i,l,o,h,a,p,c,e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=this.rules.nptable.exec(e))){for(e=e.substring(i[0].length),h={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},p=0;p ?/gm,""),this.token(i,t,!0),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),l=i[2],this.tokens.push({type:"list_start",ordered:l.length>1}),i=i[0].match(this.rules.item),r=!1,c=i.length,p=0;p 1&&o.length>1||(e=i.slice(p+1).join("\n")+e,p=c-1)),s=r||/\n\n(?!\s*$)/.test(h),p!==c-1&&(r="\n"===h.charAt(h.length-1),s||(s=r)),this.tokens.push({type:s?"loose_item_start":"list_item_start"}),this.token(h,!1,n),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(e))e=e.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=this.rules.def.exec(e)))e=e.substring(i[0].length),this.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=this.rules.table.exec(e))){for(e=e.substring(i[0].length),h={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},p=0;p ])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:h,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)([\s\S]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:h,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,c.link=l(c.link)("inside",c._inside)("href",c._href)(),c.reflink=l(c.reflink)("inside",c._inside)(),c.normal=a({},c),c.pedantic=a({},c.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),c.gfm=a({},c.normal,{escape:l(c.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:l(c.text)("]|","~]|")("|","|https?://|")()}),c.breaks=a({},c.gfm,{br:l(c.br)("{2,}","*")(),text:l(c.gfm.text)("{2,}","*")()}),t.rules=c,t.output=function(e,n,r){var s=new t(n,r);return s.output(e)},t.prototype.output=function(e){for(var t,n,r,i,l="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),l+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=s(":"===i[1].charAt(6)?this.mangle(i[1].substring(7)):this.mangle(i[1])),r=this.mangle("mailto:")+n):(n=s(i[1]),r=n),l+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),l+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):s(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,l+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=this.links[t.toLowerCase()],!t||!t.href){l+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,l+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),l+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),l+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),l+=this.renderer.codespan(s(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),l+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),l+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),l+=this.renderer.text(s(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=s(i[1]),r=n,l+=this.renderer.link(r,null,n);return l},t.prototype.outputLink=function(e,t){var n=s(t.href),r=t.title?s(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,s(e[1]))},t.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},t.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s .5&&(t="x"+t.toString(16)),n+=""+t+";";return n},n.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?' \n":"'+(n?e:s(e,!0))+"\n
"},n.prototype.blockquote=function(e){return""+(n?e:s(e,!0))+"\n
\n"+e+"\n"},n.prototype.html=function(e){return e},n.prototype.heading=function(e,t,n){return"'+e+" \n"},n.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},n.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+""+n+">\n"},n.prototype.listitem=function(e){return""+e+" \n"},n.prototype.paragraph=function(e){return""+e+"
\n"},n.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
\n"},n.prototype.tablerow=function(e){return"\n"+e+" \n"},n.prototype.tablecell=function(e,t){var n=t.header?"th":"td",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+e+""+n+">\n"},n.prototype.strong=function(e){return""+e+""},n.prototype.em=function(e){return""+e+""},n.prototype.codespan=function(e){return""+e+"
"},n.prototype.br=function(){return this.options.xhtml?"
":"
"},n.prototype.del=function(e){return""+e+""},n.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(i(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(s){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return""}this.options.baseUrl&&!originIndependentUrl.test(e)&&(e=o(this.options.baseUrl,e));var l='"+n+""},n.prototype.image=function(e,t,n){this.options.baseUrl&&!originIndependentUrl.test(e)&&(e=o(this.options.baseUrl,e));var r='":">"},n.prototype.text=function(e){return e},r.parse=function(e,t,n){var s=new r(t,n);return s.parse(e)},r.prototype.parse=function(e){this.inline=new t(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var n="";this.next();)n+=this.tok();return n},r.prototype.next=function(){return this.token=this.tokens.pop()},r.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},r.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},r.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s,i="",l="";for(n="",e=0;e
/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function l(e,t){return e=e.source,t=t||"",function n(r,s){return r?(s=s.source||s,s=s.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,s),n):new RegExp(e,t)}}function o(e,t){return g[" "+e]||(/^[^:]+:\/*[^\/]*$/.test(e)?g[" "+e]=e+"/":g[" "+e]=e.replace(/[^\/]*$/,"")),e=g[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^\/]*)[\s\S]*/,"$1")+t:e+t}function h(){}function a(e){for(var t,n,r=1;r An error occurred: "+s(c.message+"",!0)+"";throw c}}var u={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:h,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:h,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:h,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};u.bullet=/(?:[*+-]|\d+\.)/,u.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,u.item=l(u.item,"gm")(/bull/g,u.bullet)(),u.list=l(u.list)(/bull/g,u.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+u.def.source+")")(),u.blockquote=l(u.blockquote)("def",u.def)(),u._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",u.html=l(u.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,u._tag)(),u.paragraph=l(u.paragraph)("hr",u.hr)("heading",u.heading)("lheading",u.lheading)("blockquote",u.blockquote)("tag","<"+u._tag)("def",u.def)(),u.normal=a({},u),u.gfm=a({},u.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),u.gfm.paragraph=l(u.paragraph)("(?!","(?!"+u.gfm.fences.source.replace("\\1","\\2")+"|"+u.list.source.replace("\\1","\\3")+"|")(),u.tables=a({},u.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),e.rules=u,e.lex=function(t,n){var r=new e(n);return r.lex(t)},e.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},e.prototype.token=function(e,t,n){for(var r,s,i,l,o,h,a,p,c,e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=this.rules.nptable.exec(e))){for(e=e.substring(i[0].length),h={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},p=0;p ?/gm,""),this.token(i,t,!0),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),l=i[2],this.tokens.push({type:"list_start",ordered:l.length>1}),i=i[0].match(this.rules.item),r=!1,c=i.length,p=0;p 1&&o.length>1||(e=i.slice(p+1).join("\n")+e,p=c-1)),s=r||/\n\n(?!\s*$)/.test(h),p!==c-1&&(r="\n"===h.charAt(h.length-1),s||(s=r)),this.tokens.push({type:s?"loose_item_start":"list_item_start"}),this.token(h,!1,n),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(e))e=e.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(!n&&t&&(i=this.rules.def.exec(e)))e=e.substring(i[0].length),this.tokens.links[i[1].toLowerCase()]={href:i[2],title:i[3]};else if(t&&(i=this.rules.table.exec(e))){for(e=e.substring(i[0].length),h={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},p=0;p ])/,autolink:/^<([^ <>]+(@|:\/)[^ <>]+)>/,url:h,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^<'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)([\s\S]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:h,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,c.link=l(c.link)("inside",c._inside)("href",c._href)(),c.reflink=l(c.reflink)("inside",c._inside)(),c.normal=a({},c),c.pedantic=a({},c.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),c.gfm=a({},c.normal,{escape:l(c.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:l(c.text)("]|","~]|")("|","|https?://|")()}),c.breaks=a({},c.gfm,{br:l(c.br)("{2,}","*")(),text:l(c.gfm.text)("{2,}","*")()}),t.rules=c,t.output=function(e,n,r){var s=new t(n,r);return s.output(e)},t.prototype.output=function(e){for(var t,n,r,i,l="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),l+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(n=s(":"===i[1].charAt(6)?this.mangle(i[1].substring(7)):this.mangle(i[1])),r=this.mangle("mailto:")+n):(n=s(i[1]),r=n),l+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),l+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):s(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,l+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),t=this.links[t.toLowerCase()],!t||!t.href){l+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,l+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),l+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),l+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),l+=this.renderer.codespan(s(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),l+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),l+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),l+=this.renderer.text(s(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),n=s(i[1]),r=n,l+=this.renderer.link(r,null,n);return l},t.prototype.outputLink=function(e,t){var n=s(t.href),r=t.title?s(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,s(e[1]))},t.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},t.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s .5&&(t="x"+t.toString(16)),n+=""+t+";";return n},n.prototype.code=function(e,t,n){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(n=!0,e=r)}return t?' \n":"'+(n?e:s(e,!0))+"\n
"},n.prototype.blockquote=function(e){return""+(n?e:s(e,!0))+"\n
\n"+e+"\n"},n.prototype.html=function(e){return e},n.prototype.heading=function(e,t,n){return"'+e+" \n"},n.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},n.prototype.list=function(e,t){var n=t?"ol":"ul";return"<"+n+">\n"+e+""+n+">\n"},n.prototype.listitem=function(e){return""+e+" \n"},n.prototype.paragraph=function(e){return""+e+"
\n"},n.prototype.table=function(e,t){return"\n\n"+e+"\n\n"+t+"\n
\n"},n.prototype.tablerow=function(e){return"\n"+e+" \n"},n.prototype.tablecell=function(e,t){var n=t.header?"th":"td",r=t.align?"<"+n+' style="text-align:'+t.align+'">':"<"+n+">";return r+e+""+n+">\n"},n.prototype.strong=function(e){return""+e+""},n.prototype.em=function(e){return""+e+""},n.prototype.codespan=function(e){return""+e+"
"},n.prototype.br=function(){return this.options.xhtml?"
":"
"},n.prototype.del=function(e){return""+e+""},n.prototype.link=function(e,t,n){if(this.options.sanitize){try{var r=decodeURIComponent(i(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(s){return n}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return n}this.options.baseUrl&&!f.test(e)&&(e=o(this.options.baseUrl,e));var l='"+n+""},n.prototype.image=function(e,t,n){this.options.baseUrl&&!f.test(e)&&(e=o(this.options.baseUrl,e));var r='":">"},n.prototype.text=function(e){return e},r.parse=function(e,t,n){var s=new r(t,n);return s.parse(e)},r.prototype.parse=function(e){this.inline=new t(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var n="";this.next();)n+=this.tok();return n},r.prototype.next=function(){return this.token=this.tokens.pop()},r.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},r.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},r.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s,i="",l="";for(n="",e=0;e
', value)` * should be used. * - * @param {HTMLElement} el Element for which to return the item. + * @param {!HTMLElement} el Element for which to return the item. * @return {*} Item associated with the element. */ itemForElement(el) { @@ -687,8 +687,8 @@ * If `sort` is provided, the index will reflect the sorted order (rather * than the original array order). * - * @param {HTMLElement} el Element for which to return the index. - * @return {*} Row index associated with the element (note this may + * @param {!HTMLElement} el Element for which to return the index. + * @return {?number} Row index associated with the element (note this may * not correspond to the array index if a user `sort` is applied). */ indexForElement(el) { @@ -709,7 +709,7 @@ * model.set('item.checked', true); * } * - * @param {HTMLElement} el Element for which to return a template model. + * @param {!HTMLElement} el Element for which to return a template model. * @return {TemplateInstanceBase} Model representing the binding scope for * the element. */ diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/class.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/class.html index fb8e89564..afe838cc5 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/class.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/class.html @@ -33,9 +33,10 @@ * to ensure that any legacy behaviors can rely on legacy Polymer API on * the underlying element. * - * @param {!(Object|Array)} behaviors Behavior object or array of behaviors. - * @param {!HTMLElement|function(new:HTMLElement)} klass Element class. - * @return {function(new:HTMLElement)} Returns a new Element class extended by the + * @template T + * @param {!Object|!Array} behaviors Behavior object or array of behaviors. + * @param {function(new:T)} klass Element class. + * @return {function(new:T)} Returns a new Element class extended by the * passed in `behaviors` and also by `Polymer.LegacyElementMixin`. * @memberof Polymer * @suppress {invalidCasts, checkTypes} diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/legacy-element-mixin.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/legacy-element-mixin.html index 665b70c06..545bd7330 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/legacy-element-mixin.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/legacy-element-mixin.html @@ -316,9 +316,9 @@ * properties. To ensure only `ownProperties` are copied from source * to target and that accessor implementations are copied, use `extend`. * - * @param {Object} target Target object to copy properties to. - * @param {Object} source Source object to copy properties from. - * @return {Object} Target object that was passed as first argument. + * @param {!Object} target Target object to copy properties to. + * @param {!Object} source Source object to copy properties from. + * @return {!Object} Target object that was passed as first argument. */ mixin(target, source) { for (let i in source) { @@ -352,12 +352,12 @@ * returns a document fragment containing the imported content. * * @param {HTMLTemplateElement} template HTML template element to instance. - * @return {DocumentFragment} Document fragment containing the imported + * @return {!DocumentFragment} Document fragment containing the imported * template content. */ instanceTemplate(template) { let content = this.constructor._contentForTemplate(template); - let dom = /** @type {DocumentFragment} */ + let dom = /** @type {!DocumentFragment} */ (document.importNode(content, true)); return dom; } @@ -377,7 +377,7 @@ * `bubbles` (boolean, defaults to `true`), * `cancelable` (boolean, defaults to false), and * `node` on which to fire the event (HTMLElement, defaults to `this`). - * @return {Event} The new event that was fired. + * @return {!Event} The new event that was fired. */ fire(type, detail, options) { options = options || {}; @@ -631,7 +631,7 @@ /** * Checks whether an element is in this element's local DOM tree. * - * @param {Element=} node The element to be checked. + * @param {!Element} node The element to be checked. * @return {boolean} true if node is in this element's local DOM tree. */ isLocalDescendant(node) { @@ -679,7 +679,7 @@ * context) when the wait time elapses. * @param {number} wait Optional wait time in milliseconds (ms) after the * last signal that must elapse before invoking `callback` - * @return {Object} Returns a debouncer object on which exists the + * @return {!Object} Returns a debouncer object on which exists the * following methods: `isActive()` returns true if the debouncer is * active; `cancel()` cancels the debouncer if it is active; * `flush()` immediately invokes the debounced callback if the debouncer @@ -768,9 +768,9 @@ * Convenience method for creating an element and configuring it. * * @param {string} tag HTML element tag to create. - * @param {Object} props Object of properties to configure on the + * @param {Object=} props Object of properties to configure on the * instance. - * @return {Element} Newly created and configured element. + * @return {!Element} Newly created and configured element. */ create(tag, props) { let elt = document.createElement(tag); @@ -795,9 +795,9 @@ * element will contain the imported document contents. * * @param {string} href URL to document to load. - * @param {!Function=} onload Callback to notify when an import successfully + * @param {?function(!Event):void=} onload Callback to notify when an import successfully * loaded. - * @param {!Function=} onerror Callback to notify when an import + * @param {?function(!ErrorEvent):void=} onerror Callback to notify when an import * unsuccessfully loaded. * @param {boolean=} optAsync True if the import should be loaded `async`. * Defaults to `false`. @@ -937,7 +937,7 @@ */ _logger(level, args) { // accept ['foo', 'bar'] and [['foo', 'bar']] - if (Array.isArray(args) && args.length === 1) { + if (Array.isArray(args) && args.length === 1 && Array.isArray(args[0])) { args = args[0]; } switch(level) { diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/polymer.dom.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/polymer.dom.html index bdd2da94b..fd3157966 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/polymer.dom.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/polymer.dom.html @@ -55,9 +55,9 @@ * Returns an instance of `Polymer.FlattenedNodesObserver` that * listens for node changes on this element. * - * @param {Function} callback Called when direct or distributed children + * @param {function(!Element, { target: !Element, addedNodes: !Array, removedNodes: !Array }):void} callback Called when direct or distributed children * of this element changes - * @return {Polymer.FlattenedNodesObserver} Observer instance + * @return {!Polymer.FlattenedNodesObserver} Observer instance */ observeNodes(callback) { return new Polymer.FlattenedNodesObserver(this.node, callback); @@ -66,7 +66,7 @@ /** * Disconnects an observer previously created via `observeNodes` * - * @param {Polymer.FlattenedNodesObserver} observerHandle Observer instance + * @param {!Polymer.FlattenedNodesObserver} observerHandle Observer instance * to disconnect. * @return {void} */ @@ -119,7 +119,7 @@ * For slot elements, returns the nodes assigned to the slot; otherwise * an empty array. It is equivalent to ` .addignedNodes({flatten:true})`. * - * @return {Array } Array of assigned nodes + * @return {!Array} Array of assigned nodes */ getDistributedNodes() { return (this.node.localName === 'slot') ? @@ -130,7 +130,7 @@ /** * Returns an array of all slots this element was distributed to. * - * @return {Array } Description + * @return {!Array} Description */ getDestinationInsertionPoints() { let ip$ = []; @@ -145,7 +145,7 @@ /** * Calls `importNode` on the `ownerDocument` for this node. * - * @param {Node} node Node to import + * @param {!Node} node Node to import * @param {boolean} deep True if the node should be cloned deeply during * import * @return {Node} Clone of given node imported to this owner document @@ -169,7 +169,7 @@ * on the given selector. * * @param {string} selector Selector to filter nodes against - * @return {Array } List of flattened child elements + * @return {!Array} List of flattened child elements */ queryDistributedElements(selector) { let c$ = this.getEffectiveChildNodes(); @@ -265,7 +265,7 @@ /** * Returns the first node on the `composedPath` of this event. * - * @return {Node} The node this event was dispatched to + * @return {!EventTarget} The node this event was dispatched to */ get rootTarget() { return this.event.composedPath()[0]; @@ -274,7 +274,7 @@ /** * Returns the local (re-targeted) target for this event. * - * @return {Node} The local (re-targeted) target for this event. + * @return {!EventTarget} The local (re-targeted) target for this event. */ get localTarget() { return this.event.target; @@ -282,6 +282,7 @@ /** * Returns the `composedPath` for this event. + * @return {!Array } The nodes this event propagated through */ get path() { return this.event.composedPath(); @@ -290,6 +291,64 @@ Polymer.DomApi = DomApi; + /** + * @function + * @param {boolean=} deep + * @return {!Node} + */ + Polymer.DomApi.prototype.cloneNode; + /** + * @function + * @param {!Node} node + * @return {!Node} + */ + Polymer.DomApi.prototype.appendChild; + /** + * @function + * @param {!Node} newChild + * @param {Node} refChild + * @return {!Node} + */ + Polymer.DomApi.prototype.insertBefore; + /** + * @function + * @param {!Node} node + * @return {!Node} + */ + Polymer.DomApi.prototype.removeChild; + /** + * @function + * @param {!Node} oldChild + * @param {!Node} newChild + * @return {!Node} + */ + Polymer.DomApi.prototype.replaceChild; + /** + * @function + * @param {string} name + * @param {string} value + * @return {void} + */ + Polymer.DomApi.prototype.setAttribute; + /** + * @function + * @param {string} name + * @return {void} + */ + Polymer.DomApi.prototype.removeAttribute; + /** + * @function + * @param {string} selector + * @return {?Element} + */ + Polymer.DomApi.prototype.querySelector; + /** + * @function + * @param {string} selector + * @return {!NodeList} + */ + Polymer.DomApi.prototype.querySelectorAll; + /** * Legacy DOM and Event manipulation API wrapper factory used to abstract * differences between native Shadow DOM and "Shady DOM" when polyfilling on @@ -303,8 +362,8 @@ * @summary Legacy DOM and Event manipulation API wrapper factory used to * abstract differences between native Shadow DOM and "Shady DOM." * @memberof Polymer - * @param {!Node|Event} obj Node or event to operate on - * @return {DomApi|EventApi} Wrapper providing either node API or event API + * @param {(Node|Event)=} obj Node or event to operate on + * @return {!DomApi|!EventApi} Wrapper providing either node API or event API */ Polymer.dom = function(obj) { obj = obj || document; diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/templatizer-behavior.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/templatizer-behavior.html index 2721f8795..05ad62d0d 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/templatizer-behavior.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/legacy/templatizer-behavior.html @@ -96,7 +96,7 @@ * template to prepare an element for stamping the template, followed * by `stamp` to create new instances of the template. * - * @param {HTMLTemplateElement} template Template to prepare + * @param {!HTMLTemplateElement} template Template to prepare * @param {boolean=} mutableData When `true`, the generated class will skip * strict dirty-checking for objects and arrays (always consider them to * be "dirty"). Defaults to false. diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/gesture-event-listeners.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/gesture-event-listeners.html index 105e2fade..9ad4f12c8 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/gesture-event-listeners.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/gesture-event-listeners.html @@ -50,7 +50,7 @@ * * @param {!Node} node Node to add event listener to * @param {string} eventName Name of event - * @param {Function} handler Listener function to add + * @param {function(!Event):void} handler Listener function to add * @return {void} */ _addEventListenerToNode(node, eventName, handler) { @@ -64,7 +64,7 @@ * * @param {!Node} node Node to remove event listener from * @param {string} eventName Name of event - * @param {Function} handler Listener function to remove + * @param {function(!Event):void} handler Listener function to remove * @return {void} */ _removeEventListenerFromNode(node, eventName, handler) { diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-changed.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-changed.html index 5a1ae7c86..baf7383d3 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-changed.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-changed.html @@ -52,7 +52,8 @@ /** * Creates property accessors for the given property names. - * @param {Object} props Object whose keys are names of accessors. + * @param {!Object} props Object whose keys are names of accessors. + * @return {void} * @protected */ static createProperties(props) { diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-mixin.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-mixin.html index ec069f26e..114ea1427 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-mixin.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/properties-mixin.html @@ -119,6 +119,7 @@ * are also finalized. This includes ensuring property * accessors exist on the element prototype. This method calls * `_finalizeClass` to finalize each constructor in the prototype chain. + * @return {void} */ static finalize() { if (!this.hasOwnProperty(JSCompiler_renameProperty('__finalized', this))) { diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/property-effects.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/property-effects.html index 8b2fc689a..3e7cb521c 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/property-effects.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/property-effects.html @@ -1412,7 +1412,7 @@ * * Users may override this method to provide alternate approaches. * - * @param {Node} node The node to set a property on + * @param {!Node} node The node to set a property on * @param {string} prop The property to set * @param {*} value The value to set * @return {void} @@ -2294,9 +2294,9 @@ * templates are stored in a linked list on the instance so that * templates can be efficiently stamped and unstamped. * - * @param {HTMLTemplateElement} template Template containing binding + * @param {!HTMLTemplateElement} template Template containing binding * bindings - * @return {Object} Template metadata object + * @return {!TemplateInfo} Template metadata object * @protected */ static bindTemplate(template) { @@ -2316,7 +2316,7 @@ * create and link an instance of the template metadata associated with a * particular stamping. * - * @param {HTMLTemplateElement} template Template containing binding + * @param {!HTMLTemplateElement} template Template containing binding * bindings * @param {boolean=} instanceBinding When false (default), performs * "prototypical" binding of the template and overwrites any previously diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/template-stamp.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/template-stamp.html index fd01f406b..c6fbe9472 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/template-stamp.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/mixins/template-stamp.html @@ -462,7 +462,7 @@ * * @param {!Node} node Node to add event listener to * @param {string} eventName Name of event - * @param {Function} handler Listener function to add + * @param {function(!Event):void} handler Listener function to add * @return {void} */ _addEventListenerToNode(node, eventName, handler) { @@ -474,7 +474,7 @@ * * @param {Node} node Node to remove event listener from * @param {string} eventName Name of event - * @param {Function} handler Listener function to remove + * @param {function(!Event):void} handler Listener function to remove * @return {void} */ _removeEventListenerFromNode(node, eventName, handler) { diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/async.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/async.html index 2505df3ec..4ddd961c6 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/async.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/async.html @@ -78,7 +78,6 @@ /** * Enqueues a function called in the next task. * - * @function * @memberof Polymer.Async.timeOut * @param {!Function} fn Callback to run * @param {number=} delay Delay in milliseconds @@ -90,7 +89,6 @@ /** * Cancels a previously enqueued `timeOut` callback. * - * @function * @memberof Polymer.Async.timeOut * @param {number} handle Handle returned from `run` of callback to cancel * @return {void} @@ -111,9 +109,8 @@ /** * Enqueues a function called at `requestAnimationFrame` timing. * - * @function * @memberof Polymer.Async.animationFrame - * @param {function(number)} fn Callback to run + * @param {function(number):void} fn Callback to run * @return {number} Handle used for canceling task */ run(fn) { @@ -122,7 +119,6 @@ /** * Cancels a previously enqueued `animationFrame` callback. * - * @function * @memberof Polymer.Async.animationFrame * @param {number} handle Handle returned from `run` of callback to cancel * @return {void} diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/flattened-nodes-observer.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/flattened-nodes-observer.html index f49b54474..2273b1604 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/flattened-nodes-observer.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/flattened-nodes-observer.html @@ -98,7 +98,7 @@ /** * @param {Element} target Node on which to listen for changes. - * @param {Function} callback Function called when there are additions + * @param {?function(!Element, { target: !Element, addedNodes: !Array, removedNodes: !Array }):void} callback Function called when there are additions * or removals from the target's list of flattened nodes. */ constructor(target, callback) { diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/gestures.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/gestures.html index 3fbba8a5f..738940f40 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/gestures.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/gestures.html @@ -316,8 +316,9 @@ _findOriginalTarget: function(ev) { // shadowdom if (ev.composedPath) { - const target = /** @type {EventTarget} */(ev.composedPath()[0]); - return target; + const targets = /** @type {!Array} */(ev.composedPath()); + // It shouldn't be, but sometimes targets is empty (window on Safari). + return targets.length > 0 ? targets[0] : ev.target; } // shadydom return ev.target; @@ -429,7 +430,7 @@ * @memberof Polymer.Gestures * @param {!Node} node Node to add listener on * @param {string} evType Gesture type: `down`, `up`, `track`, or `tap` - * @param {!Function} handler Event listener function to call + * @param {!function(!Event):void} handler Event listener function to call * @return {boolean} Returns true if a gesture event listener was added. * @this {Gestures} */ @@ -447,7 +448,7 @@ * @memberof Polymer.Gestures * @param {!Node} node Node to remove listener from * @param {string} evType Gesture type: `down`, `up`, `track`, or `tap` - * @param {!Function} handler Event listener function previously passed to + * @param {!function(!Event):void} handler Event listener function previously passed to * `addListener`. * @return {boolean} Returns true if a gesture event listener was removed. * @this {Gestures} @@ -466,7 +467,7 @@ * @private * @param {!HTMLElement} node Node on which to add the event. * @param {string} evType Event type to add. - * @param {function(Event?)} handler Event handler function. + * @param {function(!Event)} handler Event handler function. * @return {void} * @this {Gestures} */ diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/import-href.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/import-href.html index 89402ffb5..80d354bc7 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/import-href.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/import-href.html @@ -36,9 +36,9 @@ * * @memberof Polymer * @param {string} href URL to document to load. - * @param {!Function=} onload Callback to notify when an import successfully + * @param {?function(!Event):void=} onload Callback to notify when an import successfully * loaded. - * @param {!Function=} onerror Callback to notify when an import + * @param {?function(!ErrorEvent):void=} onerror Callback to notify when an import * unsuccessfully loaded. * @param {boolean=} optAsync True if the import should be loaded `async`. * Defaults to `false`. diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/render-status.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/render-status.html index 6405f9397..151f74ebc 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/render-status.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/render-status.html @@ -85,8 +85,8 @@ * * @memberof Polymer.RenderStatus * @param {*} context Context object the callback function will be bound to - * @param {function()} callback Callback function - * @param {Array} args An array of arguments to call the callback function with + * @param {function(...*):void} callback Callback function + * @param {!Array=} args An array of arguments to call the callback function with * @return {void} */ beforeNextRender: function(context, callback, args) { @@ -107,8 +107,8 @@ * * @memberof Polymer.RenderStatus * @param {*} context Context object the callback function will be bound to - * @param {function()} callback Callback function - * @param {Array} args An array of arguments to call the callback function with + * @param {function(...*):void} callback Callback function + * @param {!Array=} args An array of arguments to call the callback function with * @return {void} */ afterNextRender: function(context, callback, args) { diff --git a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/style-gather.html b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/style-gather.html index c462a004d..a2bb6feda 100644 --- a/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/style-gather.html +++ b/fixtures/packages/iron-icon/source/bower_components/polymer/lib/utils/style-gather.html @@ -55,7 +55,7 @@ * @memberof Polymer.StyleGather * @param {string} moduleIds List of dom-module id's within which to * search for css. - * @return {Array} Array of contained