Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose Core API's as classes using Typescript's "ES Private fields" #54906

Closed
rudolf opened this issue Jan 15, 2020 · 3 comments
Closed

Expose Core API's as classes using Typescript's "ES Private fields" #54906

rudolf opened this issue Jan 15, 2020 · 3 comments
Labels
Feature:New Platform Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@rudolf
Copy link
Contributor

rudolf commented Jan 15, 2020

From #52397 (comment)

With Typescript's ES Private field support being available in 3.8, we can expose the typings for Core's API's as real classes instead of the workarounds of using derived types or separate interfaces.

Phase 1: investigation

Using Typescript 3.8 Beta investigate this approach to ensure it works with our other tooling such as api-extractor and api-documenter.

Phase 2: rollout

  • Bump Kibana's typescript to 3.8
  • Replace all separate type or interface workarounds with a class

(marked as a blocker since we'd like to get this kind of API type churn done before 8.0.0)

@rudolf rudolf added blocker Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Feature:New Platform labels Jan 15, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-platform (Team:Platform)

@pgayvallet
Copy link
Contributor

@rudolf given the new structure that Core code follows (public type packages being fully dissociated from internal implementation packages), I think we may want to close this?

@rudolf
Copy link
Contributor Author

rudolf commented Nov 6, 2023

Yes, I agree this is no longer relevant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:New Platform Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
Status: Done (7.13)
Development

No branches or pull requests

4 participants