{"version":3,"file":"makeClassES5Compatible.cjs","sources":["../../../src/utils/makeClassES5Compatible.ts"],"sourcesContent":["/**\n * @beta\n * Proxies a ES6 class so that it can be used as a base class for an ES5 class\n */\nexport function makeClassES5Compatible<T extends abstract new (...args: ConstructorParameters<T>) => InstanceType<T>>(\n  ES6Class: T\n): T {\n  return new Proxy(ES6Class, {\n    // ES5 code will call it like a function using super\n    apply(target, self, argumentsList) {\n      if (typeof Reflect === 'undefined' || !Reflect.construct) {\n        alert('Browser is too old');\n      }\n\n      return Reflect.construct(target, argumentsList, self.constructor);\n    },\n  });\n}\n"],"names":[],"mappings":";;;;;AAIO,SAAS,uBACd,QAAA,EACG;AACH,EAAA,OAAO,IAAI,MAAM,QAAA,EAAU;AAAA;AAAA,IAEzB,KAAA,CAAM,MAAA,EAAQ,IAAA,EAAM,aAAA,EAAe;AACjC,MAAA,IAAI,OAAO,OAAA,KAAY,WAAA,IAAe,CAAC,QAAQ,SAAA,EAAW;AACxD,QAAA,KAAA,CAAM,oBAAoB,CAAA;AAAA,MAC5B;AAEA,MAAA,OAAO,OAAA,CAAQ,SAAA,CAAU,MAAA,EAAQ,aAAA,EAAe,KAAK,WAAW,CAAA;AAAA,IAClE;AAAA,GACD,CAAA;AACH;;;;"}