loopbackio / loopback-datasource-juggler

Connect Loopback to various Data Sources
http://www.loopback.io
Other
277 stars 364 forks source link

Allow connectors to be implemented as ES6 classes #1758

Open bajtos opened 5 years ago

bajtos commented 5 years ago

I would like the connectors to leverage ES6 class inheritance.

Acceptance criteria

Out of scope

Eventually we should update all of our connectors to use the new major version of loopback-connector and switch to ES6 class inheritance.There should be follow-up issues opened (one per the connector repository).

Related: https://github.com/strongloop/loopback-datasource-juggler/issues/1659

bajtos commented 5 years ago

From what I've seen in 3rd-party connectors, it's already possible to implement connectors using class inheritance.

const {Connector} = require('loopback-connector');

class MyAwesomeConnector extends Connector {
  constructor(settings) {
    super('myawesome', settings);
  }

  // ...
}

In that light I think rewriting Connector and SqlConnector to ES6 class style is not worth our effort at this time, also considering the breaking change. We have more important problems to address!

I am proposing to change the scope of this issue to doc updates only:

@raymondfeng @dhmlau thoughts?

bajtos commented 5 years ago

On the other hand, we will be introducing a new semver-major version of loopback-connector as part of #1659, in which case it may be better to bundle both changes in the same release. 🤔

dhmlau commented 5 years ago

@markdirish, per the google group discussion, thanks for your interest in contributing this issue. I'm going to assign this to you. Thanks!

UPDATED: Looks like your name does not show up in the assignee list, so cannot assign it to you.