UNPKG

@polymer/polymer

Version:

The Polymer library makes it easy to create your own web components. Give your element some markup and properties, and then use it on a site. Polymer provides features like dynamic templates and data binding to reduce the amount of boilerplate you need to

64 lines (61 loc) 1.87 kB
<!-- @license Copyright (c) 2017 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 --> <link rel="import" href="boot.html"> <script> (function() { 'use strict'; /** * Provides basic tracking of element definitions (registrations) and * instance counts. * * @namespace * @summary Provides basic tracking of element definitions (registrations) and * instance counts. */ Polymer.telemetry = { /** * Total number of Polymer element instances created. * @type {number} */ instanceCount: 0, /** * Array of Polymer element classes that have been finalized. * @type {Array<Polymer.Element>} */ registrations: [], /** * @param {!PolymerElementConstructor} prototype Element prototype to log * @this {this} * @private */ _regLog: function(prototype) { console.log('[' + prototype.is + ']: registered'); }, /** * Registers a class prototype for telemetry purposes. * @param {HTMLElement} prototype Element prototype to register * @this {this} * @protected */ register: function(prototype) { this.registrations.push(prototype); Polymer.log && this._regLog(prototype); }, /** * Logs all elements registered with an `is` to the console. * @public * @this {this} */ dumpRegistrations: function() { this.registrations.forEach(this._regLog); } }; })(); </script>