* feat: 🎸 implement ItemBuffer * test: 💍 add tests for ItemBuffer * feat: 🎸 add TimedItemBuffer * test: 💍 add TimedItemBuffer tests * feat: 🎸 add createBatchedFunction * chore: 🤖 save wip on higher level batching * test: 💍 add createBatchedFunction tests * feat: 🎸 implement createStreamingBatchedFunction() method * refactor: 💡 rename "data" key to "result" * feat: 🎸 return error in "error" key in legacy protocol * feat: 🎸 add server-side to Expressions plugin * refactor: 💡 move interpreter server-side registries to NP * feat: 🎸 implement bfetch.addBatchProcessingRoute * feat: 🎸 improve streaming and batching func to pass request * feat: 🎸 initial setup of new expressions batching endpoint * feat: 🎸 expose bfetch.batchedFunction() function * feat: 🎸 add of() function of() function awaits a promise and converts it to a 3-tuple representing its state. * refactor: 💡 move normalizeError() to /common * feat: 🎸 improve createStreamingBatchedFunction() function * refactor: 💡 move GET /api/interpreter/fns to the New Platform * feat: 🎸 move batched_fetch to the New Platform * feat: 🎸 implement legacy interpreter batching on server in NP * feat: 🎸 switch legacy interpreter server functions to NP * chore: 🤖 remove unused import * fix: 🐛 correct expressions mocks * test: 💍 fix batching tests after refactor * test: 💍 stub bfetch plugin explorer * test: 💍 add routing and app structure to bfetch_explorer * test: 💍 add server-side to bfetch_explorer * test: 💍 create <DoubleInteger> component in bfetch_explorer * test: 💍 improve bfetch_explorer * test: 💍 add <CountUntil> demo to bfetch_explorer * test: 💍 by default redirect to first bfetch_explorer example * test: 💍 add error example to bfetch_explorer * docs: ✏️ improve bfetch docs * docs: ✏️ improve bfetch server-side docs * chore: 🤖 address self-review comments * fix: 🐛 use new core ES data client, remove unuseed import * fix: 🐛 remove unused interface import * Update examples/bfetch_explorer/public/components/count_until/index.tsx Co-Authored-By: Lukas Olson <olson.lukas@gmail.com> * Update examples/bfetch_explorer/public/components/double_integers/index.tsx Co-Authored-By: Lukas Olson <olson.lukas@gmail.com> * Update src/plugins/bfetch/common/buffer/item_buffer.ts Co-Authored-By: Lukas Olson <olson.lukas@gmail.com> * Update src/plugins/kibana_utils/common/of.ts Co-Authored-By: Lukas Olson <olson.lukas@gmail.com> * docs: ✏️ add batchedFunction params to README * refactor: 💡 rename onflush to onFlush * feat: 🎸 make maxItemAge optional in TimedItemBuffer * refactor: 💡 remove promise from fetchStreaming * test: 💍 add bfetch_explorer functional tests * test: 💍 rename test plugin to kbn_tp_bfetch_explorer * fix: 🐛 use stream instead of removed promise * fix: 🐛 use correct tsconfig.json in bfetch test plugin * feat: 🎸 add kbn_tp_bfetch_explorer server-side files to tsconfi Co-authored-by: Lukas Olson <olson.lukas@gmail.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
47 lines
1.8 KiB
TypeScript
47 lines
1.8 KiB
TypeScript
/*
|
|
* Licensed to Elasticsearch B.V. under one or more contributor
|
|
* license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright
|
|
* ownership. Elasticsearch B.V. licenses this file to you under
|
|
* the Apache License, Version 2.0 (the "License"); you may
|
|
* not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*/
|
|
|
|
import * as React from 'react';
|
|
import { render, unmountComponentAtNode } from 'react-dom';
|
|
import { CoreSetup, CoreStart, AppMountParameters } from 'kibana/public';
|
|
import { KibanaContextProvider } from '../../../src/plugins/kibana_react/public';
|
|
import { BfetchExplorerStartPlugins, ExplorerService } from './plugin';
|
|
import { App } from './containers/app';
|
|
|
|
export interface BfetchDeps {
|
|
appBasePath: string;
|
|
core: CoreStart;
|
|
plugins: BfetchExplorerStartPlugins;
|
|
explorer: ExplorerService;
|
|
}
|
|
|
|
export const mount = (
|
|
coreSetup: CoreSetup<BfetchExplorerStartPlugins>,
|
|
explorer: ExplorerService
|
|
) => async ({ appBasePath, element }: AppMountParameters) => {
|
|
const [core, plugins] = await coreSetup.getStartServices();
|
|
const deps: BfetchDeps = { appBasePath, core, plugins, explorer };
|
|
const reactElement = (
|
|
<KibanaContextProvider services={deps}>
|
|
<App />
|
|
</KibanaContextProvider>
|
|
);
|
|
render(reactElement, element);
|
|
return () => unmountComponentAtNode(element);
|
|
};
|