UNPKG

@pilotlab/lux-attributes

Version:

A luxurious user experience framework, developed by your friends at Pilot.

34 lines (27 loc) 1.03 kB
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;