@pilotlab/lux-attributes
Version:
A luxurious user experience framework, developed by your friends at Pilot.
34 lines (27 loc) • 1.03 kB
text/typescript
import is from '@pilotlab/lux-is';
import { DataType } from './attributeEnums';
import Attributes from './attributes';
import AttributeBase from './attributeBase';
import IAttributeFactory from './interfaces/iAttributeFactory';
import AttributeFactory from './attributeFactory';
import AttributeRoot from './attributeRoot'
export class Attribute
extends AttributeBase<any, Attribute, Attributes, AttributeRoot> {
constructor(
key:string,
value?:any,
dataType?:DataType,
label?:string,
) {
super(Attribute.create, key, value, dataType, label, false, true);
}
/*====================================================================*
START: Static
*====================================================================*/
static get create():IAttributeFactory {
if (is.empty(this._factory)) this._factory = new AttributeFactory();
return this._factory;
}
private static _factory:IAttributeFactory;
} // End class
export default Attribute;