diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.baseformatterspublic.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.baseformatterspublic.md
index 50e8f2409ac02d..ddbf1a8459d1f7 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.baseformatterspublic.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.baseformatterspublic.md
@@ -7,5 +7,5 @@
Signature:
```typescript
-baseFormattersPublic: (import("../../common").IFieldFormatType | typeof DateFormat)[]
+baseFormattersPublic: (import("../../common").FieldFormatInstanceType | typeof DateFormat)[]
```
diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md
index 5c2f542204079c..4d7a0b3cfbbca5 100644
--- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md
+++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md
@@ -9,7 +9,7 @@
```typescript
setup(core: CoreSetup, { usageCollection }: DataPluginSetupDependencies): {
fieldFormats: {
- register: (customFieldFormat: import("../common").IFieldFormatType) => number;
+ register: (customFieldFormat: import("../common").FieldFormatInstanceType) => number;
};
search: ISearchSetup;
};
@@ -26,7 +26,7 @@ setup(core: CoreSetup, { usageCollection }: DataPluginSetupDependencies): {
`{
fieldFormats: {
- register: (customFieldFormat: import("../common").IFieldFormatType) => number;
+ register: (customFieldFormat: import("../common").FieldFormatInstanceType) => number;
};
search: ISearchSetup;
}`
diff --git a/src/plugins/data/common/field_formats/constants/base_formatters.ts b/src/plugins/data/common/field_formats/constants/base_formatters.ts
index 6befe8cea71f54..921c50571f727e 100644
--- a/src/plugins/data/common/field_formats/constants/base_formatters.ts
+++ b/src/plugins/data/common/field_formats/constants/base_formatters.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { IFieldFormatType } from '../types';
+import { FieldFormatInstanceType } from '../types';
import {
BoolFormat,
@@ -36,7 +36,7 @@ import {
UrlFormat,
} from '../converters';
-export const baseFormatters: IFieldFormatType[] = [
+export const baseFormatters: FieldFormatInstanceType[] = [
BoolFormat,
BytesFormat,
ColorFormat,
diff --git a/src/plugins/data/common/field_formats/converters/custom.ts b/src/plugins/data/common/field_formats/converters/custom.ts
index a1ce0cf3e7b54d..4dd011a7feff36 100644
--- a/src/plugins/data/common/field_formats/converters/custom.ts
+++ b/src/plugins/data/common/field_formats/converters/custom.ts
@@ -18,9 +18,9 @@
*/
import { FieldFormat } from '../field_format';
-import { TextContextTypeConvert, FIELD_FORMAT_IDS, IFieldFormatType } from '../types';
+import { TextContextTypeConvert, FIELD_FORMAT_IDS, FieldFormatInstanceType } from '../types';
-export const createCustomFieldFormat = (convert: TextContextTypeConvert): IFieldFormatType =>
+export const createCustomFieldFormat = (convert: TextContextTypeConvert): FieldFormatInstanceType =>
class CustomFieldFormat extends FieldFormat {
static id = FIELD_FORMAT_IDS.CUSTOM;
diff --git a/src/plugins/data/common/field_formats/field_format.ts b/src/plugins/data/common/field_formats/field_format.ts
index 49baa8c074da8e..96d0024dff2a29 100644
--- a/src/plugins/data/common/field_formats/field_format.ts
+++ b/src/plugins/data/common/field_formats/field_format.ts
@@ -22,7 +22,7 @@ import { createCustomFieldFormat } from './converters/custom';
import {
FieldFormatsGetConfigFn,
FieldFormatsContentType,
- IFieldFormatType,
+ FieldFormatInstanceType,
FieldFormatConvert,
FieldFormatConvertFunction,
HtmlContextTypeOptions,
@@ -199,7 +199,7 @@ export abstract class FieldFormat {
};
}
- static from(convertFn: FieldFormatConvertFunction): IFieldFormatType {
+ static from(convertFn: FieldFormatConvertFunction): FieldFormatInstanceType {
return createCustomFieldFormat(convertFn);
}
diff --git a/src/plugins/data/common/field_formats/field_formats_registry.test.ts b/src/plugins/data/common/field_formats/field_formats_registry.test.ts
index 0b32a62744fb1f..f04524505a711b 100644
--- a/src/plugins/data/common/field_formats/field_formats_registry.test.ts
+++ b/src/plugins/data/common/field_formats/field_formats_registry.test.ts
@@ -18,7 +18,7 @@
*/
import { FieldFormatsRegistry } from './field_formats_registry';
import { BoolFormat, PercentFormat, StringFormat } from './converters';
-import { FieldFormatsGetConfigFn, IFieldFormatType } from './types';
+import { FieldFormatsGetConfigFn, FieldFormatInstanceType } from './types';
import { KBN_FIELD_TYPES } from '../../common';
const getValueOfPrivateField = (instance: any, field: string) => instance[field];
@@ -75,10 +75,10 @@ describe('FieldFormatsRegistry', () => {
test('should register field formats', () => {
fieldFormatsRegistry.register([StringFormat, BoolFormat]);
- const registeredFieldFormatters: Map = getValueOfPrivateField(
- fieldFormatsRegistry,
- 'fieldFormats'
- );
+ const registeredFieldFormatters: Map<
+ string,
+ FieldFormatInstanceType
+ > = getValueOfPrivateField(fieldFormatsRegistry, 'fieldFormats');
expect(registeredFieldFormatters.size).toBe(2);
diff --git a/src/plugins/data/common/field_formats/field_formats_registry.ts b/src/plugins/data/common/field_formats/field_formats_registry.ts
index 15b1687e223123..b0a57ad6912a7f 100644
--- a/src/plugins/data/common/field_formats/field_formats_registry.ts
+++ b/src/plugins/data/common/field_formats/field_formats_registry.ts
@@ -24,7 +24,7 @@ import {
FieldFormatsGetConfigFn,
FieldFormatConfig,
FIELD_FORMAT_IDS,
- IFieldFormatType,
+ FieldFormatInstanceType,
FieldFormatId,
IFieldFormatMetaParams,
IFieldFormat,
@@ -35,7 +35,7 @@ import { SerializedFieldFormat } from '../../../expressions/common/types';
import { ES_FIELD_TYPES, KBN_FIELD_TYPES } from '../types';
export class FieldFormatsRegistry {
- protected fieldFormats: Map = new Map();
+ protected fieldFormats: Map = new Map();
protected defaultMap: Record = {};
protected metaParamsOptions: Record = {};
protected getConfig?: FieldFormatsGetConfigFn;
@@ -47,7 +47,7 @@ export class FieldFormatsRegistry {
init(
getConfig: FieldFormatsGetConfigFn,
metaParamsOptions: Record = {},
- defaultFieldConverters: IFieldFormatType[] = baseFormatters
+ defaultFieldConverters: FieldFormatInstanceType[] = baseFormatters
) {
const defaultTypeMap = getConfig('format:defaultTypeMap');
this.register(defaultFieldConverters);
@@ -79,23 +79,23 @@ export class FieldFormatsRegistry {
* Get a derived FieldFormat class by its id.
*
* @param {FieldFormatId} formatId - the format id
- * @return {IFieldFormatType | undefined}
+ * @return {FieldFormatInstanceType | undefined}
*/
- getType = (formatId: FieldFormatId): IFieldFormatType | undefined => {
+ getType = (formatId: FieldFormatId): FieldFormatInstanceType | undefined => {
const fieldFormat = this.fieldFormats.get(formatId);
if (fieldFormat) {
const decoratedFieldFormat: any = this.fieldFormatMetaParamsDecorator(fieldFormat);
if (decoratedFieldFormat) {
- return decoratedFieldFormat as IFieldFormatType;
+ return decoratedFieldFormat as FieldFormatInstanceType;
}
}
return undefined;
};
- getTypeWithoutMetaParams = (formatId: FieldFormatId): IFieldFormatType | undefined => {
+ getTypeWithoutMetaParams = (formatId: FieldFormatId): FieldFormatInstanceType | undefined => {
return this.fieldFormats.get(formatId);
};
@@ -106,12 +106,12 @@ export class FieldFormatsRegistry {
*
* @param {KBN_FIELD_TYPES} fieldType
* @param {ES_FIELD_TYPES[]} esTypes - Array of ES data types
- * @return {IFieldFormatType | undefined}
+ * @return {FieldFormatInstanceType | undefined}
*/
getDefaultType = (
fieldType: KBN_FIELD_TYPES,
esTypes: ES_FIELD_TYPES[]
- ): IFieldFormatType | undefined => {
+ ): FieldFormatInstanceType | undefined => {
const config = this.getDefaultConfig(fieldType, esTypes);
return this.getType(config.id);
@@ -206,14 +206,16 @@ export class FieldFormatsRegistry {
* Get filtered list of field formats by format type
*
* @param {KBN_FIELD_TYPES} fieldType
- * @return {IFieldFormatType[]}
+ * @return {FieldFormatInstanceType[]}
*/
- getByFieldType(fieldType: KBN_FIELD_TYPES): IFieldFormatType[] {
+ getByFieldType(fieldType: KBN_FIELD_TYPES): FieldFormatInstanceType[] {
return [...this.fieldFormats.values()]
- .filter((format: IFieldFormatType) => format && format.fieldType.indexOf(fieldType) !== -1)
+ .filter(
+ (format: FieldFormatInstanceType) => format && format.fieldType.indexOf(fieldType) !== -1
+ )
.map(
- (format: IFieldFormatType) =>
- this.fieldFormatMetaParamsDecorator(format) as IFieldFormatType
+ (format: FieldFormatInstanceType) =>
+ this.fieldFormatMetaParamsDecorator(format) as FieldFormatInstanceType
);
}
@@ -238,7 +240,7 @@ export class FieldFormatsRegistry {
});
}
- register(fieldFormats: IFieldFormatType[]) {
+ register(fieldFormats: FieldFormatInstanceType[]) {
fieldFormats.forEach(fieldFormat => this.fieldFormats.set(fieldFormat.id, fieldFormat));
}
@@ -246,12 +248,12 @@ export class FieldFormatsRegistry {
* FieldFormat decorator - provide a one way to add meta-params for all field formatters
*
* @private
- * @param {IFieldFormatType} fieldFormat - field format type
- * @return {IFieldFormatType | undefined}
+ * @param {FieldFormatInstanceType} fieldFormat - field format type
+ * @return {FieldFormatInstanceType | undefined}
*/
private fieldFormatMetaParamsDecorator = (
- fieldFormat: IFieldFormatType
- ): IFieldFormatType | undefined => {
+ fieldFormat: FieldFormatInstanceType
+ ): FieldFormatInstanceType | undefined => {
const getMetaParams = (customParams: Record) => this.buildMetaParams(customParams);
if (fieldFormat) {
diff --git a/src/plugins/data/common/field_formats/index.ts b/src/plugins/data/common/field_formats/index.ts
index 13d3d9d73d43a6..b64e115fd55ff2 100644
--- a/src/plugins/data/common/field_formats/index.ts
+++ b/src/plugins/data/common/field_formats/index.ts
@@ -52,6 +52,6 @@ export {
FieldFormatConfig,
FieldFormatId,
// Used in data plugin only
- IFieldFormatType,
+ FieldFormatInstanceType,
IFieldFormat,
} from './types';
diff --git a/src/plugins/data/common/field_formats/types.ts b/src/plugins/data/common/field_formats/types.ts
index 7c1d6a8522e525..5f11c7fe094bcd 100644
--- a/src/plugins/data/common/field_formats/types.ts
+++ b/src/plugins/data/common/field_formats/types.ts
@@ -16,9 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-
import { FieldFormat } from './field_format';
-export { FieldFormat };
/** @public **/
export type FieldFormatsContentType = 'html' | 'text';
@@ -82,10 +80,12 @@ export type IFieldFormat = PublicMethodsOf;
*/
export type FieldFormatId = FIELD_FORMAT_IDS | string;
-export type IFieldFormatType = (new (
+/** @internal **/
+export type FieldFormatInstanceType = (new (
params?: any,
getConfig?: FieldFormatsGetConfigFn
) => FieldFormat) & {
+ // Static properties:
id: FieldFormatId;
title: string;
fieldType: string | string[];
diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md
index 8fb7eeee2cc6a3..cd7d70bc9a80df 100644
--- a/src/plugins/data/public/public.api.md
+++ b/src/plugins/data/public/public.api.md
@@ -138,7 +138,7 @@ export class AggTypeFilters {
// Warning: (ae-missing-release-tag) "baseFormattersPublic" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
-export const baseFormattersPublic: (import("../../common").IFieldFormatType | typeof DateFormat)[];
+export const baseFormattersPublic: (import("../../common").FieldFormatInstanceType | typeof DateFormat)[];
// Warning: (ae-missing-release-tag) "BUCKET_TYPES" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
diff --git a/src/plugins/data/server/field_formats/field_formats_service.ts b/src/plugins/data/server/field_formats/field_formats_service.ts
index 0dac64fb5dc1d2..3404fe8cee9fde 100644
--- a/src/plugins/data/server/field_formats/field_formats_service.ts
+++ b/src/plugins/data/server/field_formats/field_formats_service.ts
@@ -17,16 +17,20 @@
* under the License.
*/
import { has } from 'lodash';
-import { FieldFormatsRegistry, IFieldFormatType, baseFormatters } from '../../common/field_formats';
+import {
+ FieldFormatsRegistry,
+ FieldFormatInstanceType,
+ baseFormatters,
+} from '../../common/field_formats';
import { IUiSettingsClient } from '../../../../core/server';
import { DateFormat } from './converters';
export class FieldFormatsService {
- private readonly fieldFormatClasses: IFieldFormatType[] = [DateFormat, ...baseFormatters];
+ private readonly fieldFormatClasses: FieldFormatInstanceType[] = [DateFormat, ...baseFormatters];
public setup() {
return {
- register: (customFieldFormat: IFieldFormatType) =>
+ register: (customFieldFormat: FieldFormatInstanceType) =>
this.fieldFormatClasses.push(customFieldFormat),
};
}
diff --git a/src/plugins/data/server/server.api.md b/src/plugins/data/server/server.api.md
index 8ba0b534b9f5a4..a16e08f4745351 100644
--- a/src/plugins/data/server/server.api.md
+++ b/src/plugins/data/server/server.api.md
@@ -611,7 +611,7 @@ export class Plugin implements Plugin_2 {
// (undocumented)
setup(core: CoreSetup, { usageCollection }: DataPluginSetupDependencies): {
fieldFormats: {
- register: (customFieldFormat: import("../common").IFieldFormatType) => number;
+ register: (customFieldFormat: import("../common").FieldFormatInstanceType) => number;
};
search: ISearchSetup;
};