ngx-bootstrap: Class 'MiniStore' incorrectly extends base class 'Observable

I just update to version 1.8.0 from 1.7.1 and when I compile my app I got a compilation error:

ERROR in /mnt/c/Users/f.dehopre/devs/Portal/node_modules/ngx-bootstrap/mini-ngrx/store.class.d.ts (8,22): Class 'MiniStore<T>' incorrectly extends base class 'Observable<T>'.
  Types of property 'lift' are incompatible.
    Type '<R>(operator: Operator<T, R>) => MiniStore<R>' is not assignable to type '<R>(operator: Operator<T, R>) => Observable<R>'.
      Type 'MiniStore<R>' is not assignable to type 'Observable<R>'.
        Types of property 'lift' are incompatible.
          Type '<R>(operator: Operator<R, R>) => MiniStore<R>' is not assignable to type '<R>(operator: Operator<R, R>) => Observable<R>'.
            Type 'MiniStore<R>' is not assignable to type 'Observable<R>'.
              Types of property 'lift' are incompatible.
                Type '<R>(operator: Operator<R, R>) => MiniStore<R>' is not assignable to type '<R>(operator: Operator<R, R>) => Observable<R>'.
                  Type 'MiniStore<R>' is not assignable to type 'Observable<R>'.
                    Types of property 'select' are incompatible.
                      Type '<R>(pathOrMapFn: (state: R) => R) => Observable<R>' is not assignable to type 'SelectSignature<R>'.
                        Types of parameters 'pathOrMapFn' and 'paths' are incompatible.
                          Type 'string' is not assignable to type '(state: R) => any'.

ERROR in /mnt/c/Users/f.dehopre/devs/Portal/node_modules/ngx-bootstrap/mini-ngrx/store.class.d.ts (12,5): Class 'Observable<T>' defines instance member property 'select', but extended class 'MiniStore<T>' defines it as instance member function.

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 7
  • Comments: 27 (9 by maintainers)

Most upvoted comments

Thank you for reply. Even after changing the version I am getting the same error but this time it has introduced other errors related with ngrx/store and some other plugin. Please find the log below regarding ngx-bootstrap

[at-loader] ./node_modules/ngx-bootstrap/mini-ngrx/store.class.d.ts:8:22
    TS2415: Class 'MiniStore<T>' incorrectly extends base class 'Observable<T>'.
  Types of property 'lift' are incompatible.
    Type '<R>(operator: Operator<T, R>) => MiniStore<R>' is not assignable to type '<R>(operator: Operator<T, R>) => Observable<R>'.
      Type 'MiniStore<R>' is not assignable to type 'Observable<R>'.
        Types of property 'lift' are incompatible.
          Type '<R>(operator: Operator<R, R>) => MiniStore<R>' is not assignable to type '<R>(operator: Operator<R, R>) => Observable<R>'.
            Type 'MiniStore<R>' is not assignable to type 'Observable<R>'.
              Types of property 'lift' are incompatible.
                Type '<R>(operator: Operator<R, R>) => MiniStore<R>' is not assignable to type '<R>(operator: Operator<R, R>) => Observable<R>'.
                  Type 'MiniStore<R>' is not assignable to type 'Observable<R>'.
                    Types of property 'select' are incompatible.
                      Type '<R>(pathOrMapFn: (state: R) => R) => Observable<R>' is not assignable to type 'SelectSignature<R>'.
                        Types of parameters 'pathOrMapFn' and 'paths' are incompatible.
                          Type 'string' is not assignable to type '(state: R) => any'.

skipLibCheck: true, in tsconfig should help in the meantime

tried to implement different solutions, incl. “skipLibCheck”: true, --noStrictGenericChecks, Module Augmentation, but no results still only editing ngx-bootstrap/mini-ngrx/store.class.d.ts caused successful compilation, but there must be a better solution I guess

import { SelectSignature } from '@ngrx/core';

select: SelectSignature<T>;
lift<R>(operator: Operator<T, R>): Observable<R>;

same error for me “typescript”: “2.3.4”

I’m already on the latest version of rxjs (5.4.2). I tried the latest version of ngx-bootstrap (1.8.1) and I still have the same issue when compiling. Any idea of how I can fix this issue?