@pilotlab/lux-attributes
Version:
A luxurious user experience framework, developed by your friends at Pilot.
31 lines (24 loc) • 1.05 kB
text/typescript
import is from '@pilotlab/lux-is';
import { DataType } from './attributeEnums';
import Attribute from './attribute';
import Attributes from './attributes';
import AttributeBase from './attributeBase';
import AttributesBase from './attributesBase';
import IAttributeFactory from './interfaces/iAttributeFactory';
import AttributeFactory from './attributeFactory';
export class AttributeRoot
extends AttributeBase<Attributes, Attribute, Attributes, AttributeRoot> {
constructor(
data?:(AttributeBase<any, any, any, any> | AttributesBase<any, any> | Object | string),
isInitialize:boolean = true
) {
super(null, null, null, null, null, null, false);
if (isInitialize) this.initialize(Attribute.create, 'root', data, DataType.COLLECTION, null, true);
}
static get create():IAttributeFactory {
if (is.empty(this._factory)) this._factory = new AttributeFactory();
return this._factory;
}
private static _factory:IAttributeFactory;
} // End class
export default AttributeRoot;