{"version":3,"sources":["../../../packages/tools/code-formatter/utilities.ts"],"names":[],"mappings":"AAIA,sBAAc,SAAS,CAAC;IAMpB,SAAgB,QAAQ,IAAI;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;KAAE,CAuBhE;IAED,SAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,IAAI,CAMnE;IAED,SAAgB,EAAE,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAK,EAAE,WAAW,MAAO,QA0B5D;CACJ","file":"utilities.d.ts","sourcesContent":["import childProcess from 'child_process';\r\nimport log from 'fancy-log';\r\nimport { argv as values } from 'yargs';\r\n\r\nexport module Utilities {\r\n\r\n    function toBoolean(value: any, defaultValue: boolean = false) {\r\n        return defaultValue ? value !== false : !!value;\r\n    }\r\n\r\n    export function gulpArgv(): { [index: string]: boolean | string } {\r\n        return {\r\n            prod: toBoolean(values['prod']),\r\n            verbose: toBoolean(values['verbose']),\r\n            junit: toBoolean(values['junit']),\r\n            expandCss: toBoolean(values['expandcss']),\r\n            target: values['target'] as string,\r\n            debug: toBoolean(values['debug']),\r\n            styles: toBoolean(values['styles']),\r\n            resources: toBoolean(values['resources']),\r\n            core: toBoolean(values['core']),\r\n            angular: toBoolean(values['angular']),\r\n            app: toBoolean(values['app']),\r\n            devGuide: toBoolean(values['devguide']),\r\n            fix: toBoolean(values['fix']),\r\n            version: values['V'] as string,\r\n            icon: values['icon'] as string,\r\n            license: values['license'] as string,\r\n            company: values['company'] as string,\r\n            copyright: values['copyright'] as string,\r\n            iconUrl: values['iconUrl'] as string,\r\n            targetPath: values['targetPath'] as string\r\n        };\r\n    }\r\n\r\n    export function exportFunctions(context: any, gulpModule: any): void {\r\n        for (const func in gulpModule) {\r\n            if (gulpModule.hasOwnProperty(func)) {\r\n                context[func] = gulpModule[func];\r\n            }\r\n        }\r\n    }\r\n\r\n    export function ng(cb, args, options = {}, codeHandler = null) {\r\n        log('ng', args.join(' '));\r\n        const errors = [];\r\n        const cmd = childProcess.spawn('ng.cmd', args, { ...options, shell: true });\r\n        cmd.stdout.on('data', (data) => { log(data.toString().trim()); });\r\n        cmd.stderr.on('data', (data) => {\r\n            const message = data.toString().trim();\r\n            if (message.toUpperCase().startsWith('ERROR')) {\r\n                log.error(message);\r\n                errors.push(message);\r\n            } else {\r\n                log(message);\r\n            }\r\n        });\r\n        cmd.on('exit', (code) => {\r\n            if (codeHandler) {\r\n                const codeError = codeHandler(code);\r\n                if (codeError) {\r\n                    errors.push(codeError);\r\n                }\r\n            }\r\n            if (errors.length > 0) {\r\n                cb(errors.join('\\n'));\r\n            } else { cb(); }\r\n        });\r\n\r\n    }\r\n}\r\n"]}