    import Metric from 'pvbid-sdk/src/domain/Metric.js'

public class | source

# Metric

#### Extends:

eventemitter3~EventEmitter → AdvanceEventEmitter → BidEntity → Metric

Metric Class

## Constructor Summary

Public Constructor
public | constructor(metricData: object, bid: Bid) Creates an instance of Metric. |

## Member Summary

Public Members
public get | actualValue: number |
public set | actualValue: number |
public | bid: Bid Reference to the bid that the metric belongs to. |
public get | config: object |
public get | definitionId: number this get was deprecated. Definition ids will become obsolete in planned data structure upgrade. Gets the metrics's definition id. |
public get | value: number |
public set | value: number |

## Method Summary

Public Methods
public | assess() Assess metric for changes. |
public | bind() Binds the "updated" event for all dependant bid entities. |
public | dependants(): BidEntity[] Gets an array of bid entities that rely on the metric |
public | dependencies(): BidEntity[] Gets an array of bid entities that the metric relies on. |
public | dirty() Flags the metric and corresponding bid as dirty and to be saved. |
public | exportData(): object Exports intermal metric data. |
public | hasNullDependency(): * Determines if the metric has any null dependencies |
public | isDirty(): boolean Determines if metric instance is dirty. |
public | reset() Resets the metric, removing any override value. |

## Inherited Summary

From class AdvanceEventEmitter
public | maxEvents: number Maximum number of events fired for the requester before events stop. |
public | on(eventName: string, requesterId: string, callback: function) |
public | onDelay(eventName: string, ms: number, requesterId: string, callback: function) |
public | removeListenerByRequester(eventName: string, requesterId: string) Removes event listeners by event and requesterId. |

From class BidEntity
public get | id: number Gets the id of the bid entity. |
public get | title: string Gets the bid entity title. |
public set | title: string Sets the bid entity title. |
public get | type: string Gets the bid entity type. |
public abstract | assess(dependency: BidEntity) Assesses bid entity. |
public | dependants(): BidEntity[] Gets an array of depndants that rely on the bid entity. |
public | dependencies(): BidEntity[] Gets all the dependencies that the bid entity relies on. |
public | dirty() Flags the bid entity as dirty and to be saved. |
public | exportData(): object Exports the internal data for the bid entity. |
public | hasNullDependency(field: string): boolean Determines if bid entity relies on a null or undefined dependency value |
public | isDirty(): boolean Determines of bid entity is dirty. |
public | pristine() Marks the bid entity as clean. |

## Public Constructors

### public constructor(metricData: object, bid: Bid) source

Creates an instance of Metric.

#### Override:

BidEntity#constructor

#### Params:

Name | Type | Attribute | Description
metricData | object |  |
bid | Bid |  |

## Public Members

### public get actualValue: number source

### public set actualValue: number source

### public bid: Bid source

Reference to the bid that the metric belongs to.

### public get config: object source

### public get definitionId: number source

this get was deprecated. Definition ids will become obsolete in planned data structure upgrade.

Gets the metrics's definition id.

### public get value: number source

### public set value: number source

## Public Methods

### public assess() source

Assess metric for changes.

#### Override:

BidEntity#assess

#### Emit:

assessing | fires event before assessement.
assessed | fires after assessment is complete.
updated | fires only if there has been a change.

### public bind() source

Binds the "updated" event for all dependant bid entities.

### public dependants(): BidEntity[] source

Gets an array of bid entities that rely on the metric

#### Override:

BidEntity#dependants

#### Return:

BidEntity[]

### public dependencies(): BidEntity[] source

Gets an array of bid entities that the metric relies on.

#### Override:

BidEntity#dependencies

#### Return:

BidEntity[]

### public dirty() source

Flags the metric and corresponding bid as dirty and to be saved.

#### Override:

BidEntity#dirty

### public exportData(): object source

Exports intermal metric data.

#### Override:

BidEntity#exportData

#### Return:

object

### public hasNullDependency(): * source

Determines if the metric has any null dependencies

#### Override:

BidEntity#hasNullDependency

#### Return:

*

### public isDirty(): boolean source

Determines if metric instance is dirty.

#### Override:

BidEntity#isDirty

#### Return:

boolean

### public reset() source

Resets the metric, removing any override value.