{"version":3,"file":"bundle-item.js","sourceRoot":"","sources":["../../src/bundler/bundle-item.ts"],"names":[],"mappings":";;AAEA;IAMI,oBAAmB,UAAkB,EAAS,QAAiB,EAC5C,MAAe,EAAS,SAA+C,EACvE,YAA+B;QAA/B,6BAAA,EAAA,iBAA+B;QAF/B,eAAU,GAAV,UAAU,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAS;QAC5C,WAAM,GAAN,MAAM,CAAS;QAAS,cAAS,GAAT,SAAS,CAAsC;QACvE,iBAAY,GAAZ,YAAY,CAAmB;QAJ3C,sBAAiB,GAAG,KAAK,CAAC;IAIoB,CAAC;IAE/C,gCAAW,GAAlB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAClF,CAAC;IAEM,6BAAQ,GAAf;QACI,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;eAC3D,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAEM,kCAAa,GAApB;QACI,OAAO,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEM,qCAAgB,GAAvB;QACI,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAC;IACL,iBAAC;AAAD,CAAC,AA1BD,IA0BC;AA1BY,gCAAU","sourcesContent":["import * as convertSourceMap from \"convert-source-map\";\n\nexport class BundleItem {\n\n    public ast?: acorn.Node;\n    public lookupName?: string;\n    public transformedScript = false;\n\n    constructor(public moduleName: string, public filename?: string,\n                public source?: string, public sourceMap?: convertSourceMap.SourceMapConverter,\n                public dependencies: BundleItem[] = []) {}\n\n    public isNpmModule(): boolean {\n        return this.moduleName.charAt(0) !== \".\" && this.moduleName.charAt(0) !== \"/\";\n    }\n\n    public isScript(): boolean {\n        return (this.filename && /\\.(js|jsx|ts|tsx)$/.test(this.filename))\n            || this.transformedScript;\n    }\n\n    public isTypingsFile(): boolean {\n        return this.filename && /\\.d\\.ts$/.test(this.filename);\n    }\n\n    public isTypescriptFile(): boolean {\n        return this.filename && !this.isTypingsFile() && /\\.(ts|tsx)$/.test(this.filename);\n    }\n}\n"]}