'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.buildInheritingFunction = exports.buildDefaultConstructorFunction = exports.buildThisAssisment = exports.buildExtendAssign = exports.buildNamedImportDestructor = exports.buildConstDeclaration = exports.buildDefaultImportDestructor = exports.buildDefaultImportInterop = exports.buildReturn = exports.buildAllExport = exports.buildAllExportHelper = exports.buildExportsModuleDeclaration = exports.buildDeclareExports = exports.buildDefineGlobal = exports.buildDefine = exports.buildAssign = undefined;
exports.buildNamedExport = buildNamedExport;
require('source-map-support/register');
var _babelTypes = require('babel-types');
var t = _interopRequireWildcard(_babelTypes);
var _babelTemplate = require('babel-template');
var _babelTemplate2 = _interopRequireDefault(_babelTemplate);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { Eif (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
const exportsIdentifier = t.identifier('exports');
const buildAssign = exports.buildAssign = (0, _babelTemplate2.default)(`
OBJECT.NAME = VALUE;
`);
const buildDefine = exports.buildDefine = (0, _babelTemplate2.default)(`
sap.ui.define([SOURCES], function (PARAMS) {
BODY;
});
`);
const buildDefineGlobal = exports.buildDefineGlobal = (0, _babelTemplate2.default)(`
sap.ui.define([SOURCES], function (PARAMS) {
BODY;
}, true);
`);
const buildDeclareExports = exports.buildDeclareExports = (0, _babelTemplate2.default)(`
const exports = {};
`);
const buildExportsModuleDeclaration = exports.buildExportsModuleDeclaration = (0, _babelTemplate2.default)(`
Object.defineProperty(exports, "__esModule", {
value: true
});
`);
function buildNamedExport(obj) {
// console.log(obj);
return buildAssign({
OBJECT: exportsIdentifier,
NAME: obj.key,
VALUE: obj.value
});
}
const buildAllExportHelper = exports.buildAllExportHelper = (0, _babelTemplate2.default)(`
function extendExports(exports, obj) {
Object.keys(obj).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return obj[key];
}
});
});
}
`);
const buildAllExport = exports.buildAllExport = (0, _babelTemplate2.default)(`
extendExports(exports, LOCAL);
`);
const buildReturn = exports.buildReturn = (0, _babelTemplate2.default)(`
return ID;
`);
const buildDefaultImportInterop = exports.buildDefaultImportInterop = (0, _babelTemplate2.default)(`
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj.default : obj; }
`);
const buildDefaultImportDestructor = exports.buildDefaultImportDestructor = (0, _babelTemplate2.default)(`
const LOCAL = _interopRequireDefault(MODULE);
`);
const buildConstDeclaration = exports.buildConstDeclaration = (0, _babelTemplate2.default)(`
const NAME = VALUE;
`);
const buildNamedImportDestructor = exports.buildNamedImportDestructor = (0, _babelTemplate2.default)(`
const LOCAL = MODULE[IMPORTED];
`);
const buildExtendAssign = exports.buildExtendAssign = (0, _babelTemplate2.default)(`
const NAME = SUPERNAME.extend(FQN, OBJECT);
`);
// TODO get this one to use buildAssign
const buildThisAssisment = exports.buildThisAssisment = (0, _babelTemplate2.default)(`
this.NAME = VALUE;
`);
const buildDefaultConstructorFunction = exports.buildDefaultConstructorFunction = (0, _babelTemplate2.default)(`
function contructor() {
SUPER.prototype.contructor.apply(this, arguments);
}
`);
const buildInheritingFunction = exports.buildInheritingFunction = (0, _babelTemplate2.default)(`
function NAME() {
if (typeof SUPER.prototype.NAME === 'function') {
SUPER.prototype.NAME.apply(this, arguments);
}
}
`); |