Repository URL to install this package:
|
Version:
1.3.1 ▾
|
/**
* @version https://jira.skava.net/confluence/display/SKC/SE-508+-++PIM+Versioning
*
* @performance https://jira.skava.net/confluence/display/PLATA/Performance+Analytics
*
* @version platformA
* https://jira.skava.net/confluence/display/PLATA/Product+requirements
*
* @version platform
* @api https://jira.skava.net/confluence/display/SKC/Network+Topology
* @see https://jira.skava.net/confluence/display/SKC/Skava+Commerce+Microservices+Architecture+Diagram
* @see https://jira.skava.net/confluence/display/SKC/DB+Schema+-+All+Microservices?preview=/19471340/19471441/PIM.pdf
* @extends https://jira.skava.net/confluence/display/SKC/DB+Schema+-+All+Microservices
*/
type Float = number
type NavType = 'identifier'
/**
* @alias bundleConfigFlag
*/
type onOff = 0 | 1 | number | true | false
interface Value<Value = true | false | any> {
value: Value
}
interface LabelValue<Label, Value = true | false> {
label: Label
value: Value
}
/**
* @description I cannot believe this is a thing, wow
*/
interface TypeValue<Type, Value> {
type: Type
value: Value
}
interface NameValue<Name, Value> {
name: Name
value: Value
}
// LabelValueType?
// extends LabelValue
interface MetaTypeLabelValue<Type, Label, Value = true | false> {
type: Type
label: Label
value: Value
}
/**
* @see 1product.unification
*/
interface CommonStructure {
// actual value
type: String,
label: String,
// values: [],
value: AnyStructure | AnyStructure[],
// only be in development
// can also only go into meta
// @alias description
annotation: '',
}
interface MetaStructure extends CommonStructure {
// could have any type of value if we standardized this too
[key: string]: any
}
interface AnyStructure extends CommonStructure {
meta: MetaStructure,
}
type NumberOrString = Number | String
type BooleanOrString = Boolean | String
type Identifier = string
/**
* @abstract
* @see .gql
*/
// interface Value {
// value: String
// }
// interface LabelValueType {
// label: String
// value: String
// type: String
// }
// interface TypeValue {
// type: String
// value: String
// }
/**
* we have 3 types:
* 1. { label: 'string', value: anydata }
* 2. { label: 'label-as-value' }
* 3. { keyasvalue: anydata }
*/
export {
// domain, but generic
NavType,
Identifier,
// abstract, well named
onOff,
// generic
Float,
NumberOrString,
NumberOrString as NumberAsString,
BooleanOrString,
BooleanOrString as BooleanAsString,
// label value
LabelValue,
MetaTypeLabelValue,
Value,
NameValue,
TypeValue,
}