@bitzonegaming/roleplay-engine-sdk
Version:
Roleplay Engine SDK
130 lines (129 loc) • 2.25 kB
TypeScript
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>;
});