@titanium/turbo
Version:
🚀 Turbo is the awesome framework for turbo charging your Titanium cross-platform native mobile app development!
46 lines (35 loc) • 1.09 kB
JavaScript
var CU = require('../compilerUtils');
var styler = require('../styler');
var U = require('../../../utils');
var fs = require('fs-extra');
var path = require('path');
exports.parse = function(node, state) {
var args = CU.getParserArgs(node, state);
var compilerConfig = CU.getCompilerConfig();
function getSourceCode(src) {
if ( src) {
const basePath = path.isAbsolute(src) ? compilerConfig.dir.resourcesPlatform : path.dirname(state.filepath);
const sourcePath = path.join(basePath, src);
if (fs.existsSync(sourcePath)) {
return fs.readFileSync(sourcePath, 'utf8');
}
}
}
let addedStyles;
// get code from any external source
const fileStylesheet = getSourceCode(args.createArgs.src);
if ( fileStylesheet ) {
addedStyles = styler.loadAndSortStyle(fileStylesheet, {
existingStyle: state.styles,
}, true);
}
// get code from text node
const stylesheet = U.XML.getNodeText(node) || '';
addedStyles = styler.loadAndSortStyle(stylesheet, {
existingStyle: addedStyles || state.styles,
}, true);
return {
addedStyles,
code: '',
};
};