UNPKG

@pilotlab/data

Version:

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

39 lines (28 loc) 1.22 kB
import { NodeType } from '@pilotlab/nodes'; import { IPromise } from "@pilotlab/result"; import { DataType} from '../attributeEnums'; import Attribute from '../attribute'; import AttributeBase from '../attributeBase'; import Attributes from '../attributes'; import AttributeRoot from '../attributeRoot'; import IAttributes from '../interfaces/iAttributes' export class AttributeCollection extends AttributeBase<Attributes, AttributeCollection, Attributes, AttributeRoot> { constructor( data?:(IAttributes | Object | string | Array<any>), label?:string, key?:string, isRoot:boolean = false, isInitialize:boolean = true ) { super(Attribute.create, null, DataType.COLLECTION, label, key, NodeType.COLLECTION, false); this._isRoot = isRoot; if (isInitialize) this.initialize(data); } initialize(data?:(IAttributes | Object | string | Array<any>)):IPromise<any> { return super.initialize(data, DataType.COLLECTION, this._isRoot ? NodeType.ROOT : NodeType.COLLECTION); } private _isRoot:boolean; // get attributes():Attributes { return <Attributes>this.p_value; } } // End class export default AttributeCollection;