happy-dom
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
54 lines (50 loc) • 1.44 kB
text/typescript
import SVGGeometryElement from '../svg-geometry-element/SVGGeometryElement.js';
import * as PropertySymbol from '../../PropertySymbol.js';
import SVGPointList from '../../svg/SVGPointList.js';
/**
* SVG Polyline Element.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/SVGPolylineElement
*/
export default class SVGPolylineElement extends SVGGeometryElement {
// Internal properties
public [PropertySymbol.animatedPoints]: SVGPointList | null = null;
public [PropertySymbol.points]: SVGPointList | null = null;
/**
* Returns animated points.
*
* @returns Animated points.
*/
public get animatedPoints(): SVGPointList {
if (!this[PropertySymbol.animatedPoints]) {
this[PropertySymbol.animatedPoints] = new SVGPointList(
PropertySymbol.illegalConstructor,
this[PropertySymbol.window],
{
readOnly: true,
getAttribute: () => this.getAttribute('points'),
setAttribute: () => {}
}
);
}
return this[PropertySymbol.animatedPoints];
}
/**
* Returns points.
*
* @returns Points.
*/
public get points(): SVGPointList {
if (!this[PropertySymbol.points]) {
this[PropertySymbol.points] = new SVGPointList(
PropertySymbol.illegalConstructor,
this[PropertySymbol.window],
{
getAttribute: () => this.getAttribute('points'),
setAttribute: (value) => this.setAttribute('points', value)
}
);
}
return this[PropertySymbol.points];
}
}