UNPKG

@bitzonegaming/roleplay-engine-sdk

Version:
130 lines (129 loc) 2.25 kB
import { MetricScopeDefinition } from './metric-scope-definition'; import { MetricValueType } from './metric-value-type'; import { MetricMainKey } from './metric-main-key'; /** * @export * @interface Metric */ export type Metric = { /** * * @type {string} * @memberof Metric */ id: string; /** * * @type {string} * @memberof Metric */ categoryReferenceId: string; /** * * @type {MetricMainKey} * @memberof Metric */ key: MetricMainKey; /** * * @type {string} * @memberof Metric */ subKey?: string; /** * * @type {MetricScopeDefinition} * @memberof Metric */ scope?: MetricScopeDefinition; /** * * @type {string} * @memberof Metric */ name?: string; /** * * @type {string} * @memberof Metric */ description?: string; } & ({ /** * * @type {MetricValueType.Number} * @memberof Metric */ valueType: MetricValueType.Number; /** * * @type {number} * @memberof Metric */ value: number; } | { /** * * @type {MetricValueType.Date} * @memberof Metric */ valueType: MetricValueType.Date; /** * * @type {number} * @memberof Metric */ value: number; } | { /** * * @type {MetricValueType.String} * @memberof Metric */ valueType: MetricValueType.String; /** * * @type {string} * @memberof Metric */ value: string; } | { /** * * @type {MetricValueType.Boolean} * @memberof Metric */ valueType: MetricValueType.Boolean; /** * * @type {boolean} * @memberof Metric */ value: boolean; } | { /** * * @type {MetricValueType.List} * @memberof Metric */ valueType: MetricValueType.List; /** * * @type {object[]} * @memberof Metric */ value: object[]; } | { /** * * @type {MetricValueType.Set} * @memberof Metric */ valueType: MetricValueType.Set; /** * * @type {Map<string, object>} * @memberof Metric */ value: Map<string, object>; });