@noggin/elastic-noggin-sdk
Version:
Elastic Noggin SDK
110 lines (95 loc) • 1.62 kB
text/typescript
import { Eno } from './Eno';
export {
Batch,
Tip,
Sid,
Nonce,
Value,
Formula,
IEno,
ISource,
IField,
II18n,
IServerT,
IClientT,
IQueryResponse,
IDimResult,
IAttrResult,
IQueryResult,
ResponseHeaders,
IHeaderValue
};
type Batch = Eno[];
type Tip = string;
type Sid = string;
type Nonce = string;
type Value = string[];
type Formula = string;
interface IEno {
tip: Tip;
sid: Sid;
serverT?: IServerT | null;
clientT?: IClientT | null;
source?: ISource;
}
interface ISource {
deleted: boolean;
type: Tip;
security: Tip;
parent?: Sid[];
nonce: Nonce;
field?: IField[];
}
interface IField {
tip: Tip;
value?: Value;
i18n?: II18n[];
formula?: Formula[];
}
interface II18n {
lang: string;
value?: Value;
}
interface IClientT {
branch: Tip;
sequence: number;
createdDate: number;
modifiedDate: number;
}
interface IServerT {
branch: Tip;
session: Tip;
sequence: number;
createdDate: number;
modifiedDate: number;
createdBy?: string;
modifiedBy?: string;
error?: Tip[];
}
// QUERY //
interface IQueryResult {
[dimensionValue: string]: {
[label: string]: string;
} | IQueryResult[];
}
interface IDimResult {
tip?: string;
label: string;
values: string[];
}
interface IAttrResult {
tip?: string;
label: string;
formula: string;
}
interface IQueryResponse {
attributes: IAttrResult[];
dimensions: IDimResult[];
results: IQueryResult[];
execTime: number;
responseHeaders?: IHeaderValue[];
}
interface IHeaderValue {
[header: string]: string
}
type ResponseHeaders = string[] | IHeaderValue[];