TypeError: Class constructor DefaultValueAccessor cannot be invoked without 'new'











up vote
1
down vote

favorite












There are some Angular third part libraries that provide directives which internally extends the DefaultValueAccessor class.



When they are imported into projects that have their TypeScript compilation target set as es6, they stop working and throw the error:




TypeError: Class constructor DefaultValueAccessor cannot be invoked without 'new'




examples of different libraries affected by this issue:




  • https://github.com/anein/angular2-trim-directive/issues/28

  • https://github.com/khashayar/ng-trim-value-accessor/issues/12


A workaround would be copy pasting the source code of the library inside my own project (instead of importing the library as an npm dependency). However this is not nice nor very handy to do for obvious reasons.



How to properly solve this issue in the library?










share|improve this question


























    up vote
    1
    down vote

    favorite












    There are some Angular third part libraries that provide directives which internally extends the DefaultValueAccessor class.



    When they are imported into projects that have their TypeScript compilation target set as es6, they stop working and throw the error:




    TypeError: Class constructor DefaultValueAccessor cannot be invoked without 'new'




    examples of different libraries affected by this issue:




    • https://github.com/anein/angular2-trim-directive/issues/28

    • https://github.com/khashayar/ng-trim-value-accessor/issues/12


    A workaround would be copy pasting the source code of the library inside my own project (instead of importing the library as an npm dependency). However this is not nice nor very handy to do for obvious reasons.



    How to properly solve this issue in the library?










    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      There are some Angular third part libraries that provide directives which internally extends the DefaultValueAccessor class.



      When they are imported into projects that have their TypeScript compilation target set as es6, they stop working and throw the error:




      TypeError: Class constructor DefaultValueAccessor cannot be invoked without 'new'




      examples of different libraries affected by this issue:




      • https://github.com/anein/angular2-trim-directive/issues/28

      • https://github.com/khashayar/ng-trim-value-accessor/issues/12


      A workaround would be copy pasting the source code of the library inside my own project (instead of importing the library as an npm dependency). However this is not nice nor very handy to do for obvious reasons.



      How to properly solve this issue in the library?










      share|improve this question













      There are some Angular third part libraries that provide directives which internally extends the DefaultValueAccessor class.



      When they are imported into projects that have their TypeScript compilation target set as es6, they stop working and throw the error:




      TypeError: Class constructor DefaultValueAccessor cannot be invoked without 'new'




      examples of different libraries affected by this issue:




      • https://github.com/anein/angular2-trim-directive/issues/28

      • https://github.com/khashayar/ng-trim-value-accessor/issues/12


      A workaround would be copy pasting the source code of the library inside my own project (instead of importing the library as an npm dependency). However this is not nice nor very handy to do for obvious reasons.



      How to properly solve this issue in the library?







      angular typescript ecmascript-6 angular-directive controlvalueaccessor






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 18 hours ago









      Shin

      12k74775




      12k74775





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371662%2ftypeerror-class-constructor-defaultvalueaccessor-cannot-be-invoked-without-new%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371662%2ftypeerror-class-constructor-defaultvalueaccessor-cannot-be-invoked-without-new%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

          ts Property 'filter' does not exist on type '{}'

          mat-slide-toggle shouldn't change it's state when I click cancel in confirmation window