Skip to content

Commit 20147ea

Browse files
authored
[7.x] expression service docs (elastic#78774) (elastic#80184)
1 parent 273fec4 commit 20147ea

File tree

663 files changed

+12656
-150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

663 files changed

+12656
-150
lines changed

docs/developer/plugin-list.asciidoc

+15-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,20 @@ This API doesn't support angular, for registering angular dev tools, bootstrap a
7070
|WARNING: Missing README.
7171
7272
73-
|{kib-repo}blob/{branch}/src/plugins/expressions/README.md[expressions]
74-
|This plugin provides methods which will parse & execute an expression pipeline
73+
|<<kibana-expressions-plugin>>
74+
|Expression pipeline is a chain of functions that *pipe* its output to the
75+
input of the next function. Functions can be configured using arguments provided
76+
by the user. The final output of the expression pipeline can be rendered using
77+
one of the *renderers* registered in `expressions` plugin.
78+
79+
All the arguments to expression functions need to be serializable, as well as input and output.
80+
Expression functions should try to stay 'pure'. This makes functions easy to reuse and also
81+
make it possible to serialize the whole chain as well as output at every step of execution.
82+
83+
Expressions power visualizations in Dashboard and Lens, as well as, every
84+
*element* in Canvas is backed by an expression.
85+
86+
This plugin provides methods which will parse & execute an *expression pipeline*
7587
string for you, as well as a series of registries for advanced users who might
7688
want to incorporate their own functions, types, and renderers into the service
7789
for use in their own application.
@@ -520,5 +532,6 @@ in their infrastructure.
520532
|===
521533
522534
include::{kibana-root}/src/plugins/dashboard/README.asciidoc[leveloffset=+1]
535+
include::{kibana-root}/src/plugins/expressions/README.asciidoc[leveloffset=+1]
523536
include::{kibana-root}/x-pack/plugins/dashboard_enhanced/README.asciidoc[leveloffset=+1]
524537
include::{kibana-root}/x-pack/plugins/embeddable_enhanced/README.asciidoc[leveloffset=+1]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md)
4+
5+
## API Reference
6+
7+
## Packages
8+
9+
| Package | Description |
10+
| --- | --- |
11+
| [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) | |
12+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [AnyExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md)
4+
5+
## AnyExpressionFunctionDefinition type
6+
7+
Type to capture every possible expression function definition.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type AnyExpressionFunctionDefinition = ExpressionFunctionDefinition<string, any, Record<string, any>, any>;
13+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [AnyExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md)
4+
5+
## AnyExpressionTypeDefinition type
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
export declare type AnyExpressionTypeDefinition = ExpressionTypeDefinition<any, any, any>;
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [ArgumentType](./kibana-plugin-plugins-expressions-public.argumenttype.md)
4+
5+
## ArgumentType type
6+
7+
This type represents all of the possible combinations of properties of an Argument in an Expression Function. The presence or absence of certain fields influence the shape and presence of others within each `arg` in the specification.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type ArgumentType<T> = SingleArgumentType<T> | MultipleArgumentType<T> | UnresolvedSingleArgumentType<T> | UnresolvedMultipleArgumentType<T>;
13+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [buildExpression](./kibana-plugin-plugins-expressions-public.buildexpression.md)
4+
5+
## buildExpression() function
6+
7+
Makes it easy to progressively build, update, and traverse an expression AST. You can either start with an empty AST, or provide an expression string, AST, or array of expression function builders to use as initial state.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare function buildExpression(initialState?: ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string): ExpressionAstExpressionBuilder;
13+
```
14+
15+
## Parameters
16+
17+
| Parameter | Type | Description |
18+
| --- | --- | --- |
19+
| initialState | <code>ExpressionAstFunctionBuilder[] &#124; ExpressionAstExpression &#124; string</code> | |
20+
21+
<b>Returns:</b>
22+
23+
`ExpressionAstExpressionBuilder`
24+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [buildExpressionFunction](./kibana-plugin-plugins-expressions-public.buildexpressionfunction.md)
4+
5+
## buildExpressionFunction() function
6+
7+
Manages an AST for a single expression function. The return value can be provided to `buildExpression` to add this function to an expression.
8+
9+
Note that to preserve type safety and ensure no args are missing, all required arguments for the specified function must be provided up front. If desired, they can be changed or removed later.
10+
11+
<b>Signature:</b>
12+
13+
```typescript
14+
export declare function buildExpressionFunction<FnDef extends AnyExpressionFunctionDefinition = AnyExpressionFunctionDefinition>(fnName: InferFunctionDefinition<FnDef>['name'],
15+
initialArgs: {
16+
[K in keyof FunctionArgs<FnDef>]: FunctionArgs<FnDef>[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[];
17+
}): ExpressionAstFunctionBuilder<FnDef>;
18+
```
19+
20+
## Parameters
21+
22+
| Parameter | Type | Description |
23+
| --- | --- | --- |
24+
| fnName | <code>InferFunctionDefinition&lt;FnDef&gt;['name']</code> | |
25+
| initialArgs | <code>{</code><br/><code> [K in keyof FunctionArgs&lt;FnDef&gt;]: FunctionArgs&lt;FnDef&gt;[K] &#124; ExpressionAstExpressionBuilder &#124; ExpressionAstExpressionBuilder[];</code><br/><code>}</code> | |
26+
27+
<b>Returns:</b>
28+
29+
`ExpressionAstFunctionBuilder<FnDef>`
30+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) &gt; [columns](./kibana-plugin-plugins-expressions-public.datatable.columns.md)
4+
5+
## Datatable.columns property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
columns: DatatableColumn[];
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md)
4+
5+
## Datatable interface
6+
7+
A `Datatable` in Canvas is a unique structure that represents tabulated data.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export interface Datatable
13+
```
14+
15+
## Properties
16+
17+
| Property | Type | Description |
18+
| --- | --- | --- |
19+
| [columns](./kibana-plugin-plugins-expressions-public.datatable.columns.md) | <code>DatatableColumn[]</code> | |
20+
| [rows](./kibana-plugin-plugins-expressions-public.datatable.rows.md) | <code>DatatableRow[]</code> | |
21+
| [type](./kibana-plugin-plugins-expressions-public.datatable.type.md) | <code>typeof name</code> | |
22+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) &gt; [rows](./kibana-plugin-plugins-expressions-public.datatable.rows.md)
4+
5+
## Datatable.rows property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
rows: DatatableRow[];
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) &gt; [type](./kibana-plugin-plugins-expressions-public.datatable.type.md)
4+
5+
## Datatable.type property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
type: typeof name;
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) &gt; [id](./kibana-plugin-plugins-expressions-public.datatablecolumn.id.md)
4+
5+
## DatatableColumn.id property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
id: string;
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md)
4+
5+
## DatatableColumn interface
6+
7+
This type represents the shape of a column in a `Datatable`<!-- -->.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export interface DatatableColumn
13+
```
14+
15+
## Properties
16+
17+
| Property | Type | Description |
18+
| --- | --- | --- |
19+
| [id](./kibana-plugin-plugins-expressions-public.datatablecolumn.id.md) | <code>string</code> | |
20+
| [meta](./kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md) | <code>DatatableColumnMeta</code> | |
21+
| [name](./kibana-plugin-plugins-expressions-public.datatablecolumn.name.md) | <code>string</code> | |
22+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) &gt; [meta](./kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md)
4+
5+
## DatatableColumn.meta property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
meta: DatatableColumnMeta;
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) &gt; [name](./kibana-plugin-plugins-expressions-public.datatablecolumn.name.md)
4+
5+
## DatatableColumn.name property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
name: string;
11+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [DatatableColumnType](./kibana-plugin-plugins-expressions-public.datatablecolumntype.md)
4+
5+
## DatatableColumnType type
6+
7+
This type represents the `type` of any `DatatableColumn` in a `Datatable`<!-- -->.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type DatatableColumnType = 'string' | 'number' | 'boolean' | 'date' | 'null';
13+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [DatatableRow](./kibana-plugin-plugins-expressions-public.datatablerow.md)
4+
5+
## DatatableRow type
6+
7+
This type represents a row in a `Datatable`<!-- -->.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type DatatableRow = Record<string, any>;
13+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Execution](./kibana-plugin-plugins-expressions-public.execution.md) &gt; [(constructor)](./kibana-plugin-plugins-expressions-public.execution._constructor_.md)
4+
5+
## Execution.(constructor)
6+
7+
Constructs a new instance of the `Execution` class
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
constructor(params: ExecutionParams<ExtraContext>);
13+
```
14+
15+
## Parameters
16+
17+
| Parameter | Type | Description |
18+
| --- | --- | --- |
19+
| params | <code>ExecutionParams&lt;ExtraContext&gt;</code> | |
20+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Execution](./kibana-plugin-plugins-expressions-public.execution.md) &gt; [cancel](./kibana-plugin-plugins-expressions-public.execution.cancel.md)
4+
5+
## Execution.cancel() method
6+
7+
Stop execution of expression.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
cancel(): void;
13+
```
14+
<b>Returns:</b>
15+
16+
`void`
17+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Execution](./kibana-plugin-plugins-expressions-public.execution.md) &gt; [cast](./kibana-plugin-plugins-expressions-public.execution.cast.md)
4+
5+
## Execution.cast() method
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
cast(value: any, toTypeNames?: string[]): any;
11+
```
12+
13+
## Parameters
14+
15+
| Parameter | Type | Description |
16+
| --- | --- | --- |
17+
| value | <code>any</code> | |
18+
| toTypeNames | <code>string[]</code> | |
19+
20+
<b>Returns:</b>
21+
22+
`any`
23+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Execution](./kibana-plugin-plugins-expressions-public.execution.md) &gt; [context](./kibana-plugin-plugins-expressions-public.execution.context.md)
4+
5+
## Execution.context property
6+
7+
Execution context - object that allows to do side-effects. Context is passed to every function.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
readonly context: ExecutionContext<Input, InspectorAdapters> & ExtraContext;
13+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Execution](./kibana-plugin-plugins-expressions-public.execution.md) &gt; [contract](./kibana-plugin-plugins-expressions-public.execution.contract.md)
4+
5+
## Execution.contract property
6+
7+
Contract is a public representation of `Execution` instances. Contract we can return to other plugins for their consumption.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
readonly contract: ExecutionContract<ExtraContext, Input, Output, InspectorAdapters>;
13+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Execution](./kibana-plugin-plugins-expressions-public.execution.md) &gt; [expression](./kibana-plugin-plugins-expressions-public.execution.expression.md)
4+
5+
## Execution.expression property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
readonly expression: string;
11+
```

0 commit comments

Comments
 (0)