function defineElement(name, options) {
	return function (classDescriptor) {
		classDescriptor.finisher = function finisher(classConstructor) {
			customElements.define(name, classConstructor, options);
		};
		return classDescriptor;
	};
}
/**
 * Class decorator to define a custom element
 *
 * @exports
 * @param {*} name tag name of the custom element
 * @param {*} [options] options parameter that is passed to the define function
 * @returns {Function} the actual decorator
 */
Class decorator to define a custom element
@exports
@param {*} name tag name of the custom element
@param {*} [options] options parameter that is passed to the define function
@returns {Function} the actual decorator
Class decorator to define a custom element @exports @param { * } name tag name of the custom element @param { * } [ options ] options parameter that is passed to the define function @returns { Function } the actual decorator
function defineElement(name, options) {
	return function (classDescriptor) {
		classDescriptor.finisher = function finisher(classConstructor) {
			customElements.define(name, classConstructor, options);
		};
		return classDescriptor;
	};
}
function defineElement ( name , options ) { return function ( classDescriptor ) { classDescriptor . finisher = function finisher ( classConstructor ) { customElements . define ( name , classConstructor , options ) ; } ; return classDescriptor ; } ; }
Class decorator to define a custom element
 @exports
 @param {*} name tag name of the custom element
 @param {*} [options] options parameter that is passed to the define function
 @returns {Function} the actual decorator
Class decorator to define a custom element @exports @param { * } name tag name of the custom element @param { * } [ options ] options parameter that is passed to the define function @returns { Function } the actual decorator