Browse Source

fix: adapter import in cjs mode

e22m4u 1 year ago
parent
commit
a90b65a2a9
4 changed files with 10 additions and 17 deletions
  1. 2 4
      dist/cjs/index.cjs
  2. 1 6
      src/adapter/adapter-loader.js
  3. 1 3
      src/adapter/adapter.js
  4. 6 4
      src/adapter/adapter.spec.js

+ 2 - 4
dist/cjs/index.cjs

@@ -5615,9 +5615,7 @@ var init_adapter = __esm({
        *
        * @type {string}
        */
-      get kind() {
-        return _Adapter.name;
-      }
+      static kind = _Adapter.name;
       /**
        * Settings.
        *
@@ -6202,7 +6200,7 @@ function findAdapterCtorInModule(module2) {
   if (!module2 || typeof module2 !== "object" || Array.isArray(module2)) return;
   for (const ctor of Object.values(module2)) {
     console.log(ctor);
-    if (typeof ctor === "function" && ctor.prototype && typeof ctor.prototype === "object" && ctor.prototype.kind === Adapter.name) {
+    if (typeof ctor === "function" && ctor.kind === Adapter.name) {
       adapterCtor = ctor;
       break;
     }

+ 1 - 6
src/adapter/adapter-loader.js

@@ -55,12 +55,7 @@ function findAdapterCtorInModule(module) {
   if (!module || typeof module !== 'object' || Array.isArray(module)) return;
   for (const ctor of Object.values(module)) {
     console.log(ctor);
-    if (
-      typeof ctor === 'function' &&
-      ctor.prototype &&
-      typeof ctor.prototype === 'object' &&
-      ctor.prototype.kind === Adapter.name
-    ) {
+    if (typeof ctor === 'function' && ctor.kind === Adapter.name) {
       adapterCtor = ctor;
       break;
     }

+ 1 - 3
src/adapter/adapter.js

@@ -19,9 +19,7 @@ export class Adapter extends Service {
    *
    * @type {string}
    */
-  get kind() {
-    return Adapter.name;
-  }
+  static kind = Adapter.name;
 
   /**
    * Settings.

+ 6 - 4
src/adapter/adapter.spec.js

@@ -15,10 +15,12 @@ import {PropertyUniquenessDecorator} from './decorator/index.js';
 const sandbox = chai.spy.sandbox();
 
 describe('Adapter', function () {
-  it('exposes kind getter', function () {
-    const adapter = new Adapter();
-    expect(adapter.kind).to.be.eq('Adapter');
-    expect(Adapter.prototype.kind).to.be.eq('Adapter');
+  it('exposes static property "kind"', function () {
+    expect(Adapter.kind).to.be.eq(Adapter.name);
+    const MyAdapter1 = class extends Adapter {};
+    expect(MyAdapter1.kind).to.be.eq(Adapter.name);
+    class MyAdapter2 extends Adapter {}
+    expect(MyAdapter2.kind).to.be.eq(Adapter.name);
   });
 
   describe('constructor', function () {