xliff
Version:
xliff2js and js2xliff converter xliff utils
1,187 lines (1,168 loc) • 324 kB
JavaScript
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.xliff = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function setSegment(category, srcObj, trgObj, ntObj, key) {
var srcValue = srcObj[key];
var trgValue = trgObj[key];
if (_typeof(srcValue) === 'object' && _typeof(trgValue) === 'object') {
category[key] = {
groupUnits: {}
};
var grpObj = category[key].groupUnits;
Object.keys(srcValue).forEach(function (grpKey) {
setSegment(grpObj, srcObj[key], trgObj[key], ntObj[key], grpKey);
if (ntObj && ntObj[key] && ntObj[key][grpKey]) {
category[key].note = ntObj[key][grpKey];
}
});
} else {
category[key] = {
source: srcValue,
target: trgValue
};
if (ntObj && ntObj[key]) {
category[key].note = ntObj[key];
}
}
}
var createjsClb = function createjsClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, cb) {
var js = {
sourceLanguage: srcLng,
targetLanguage: trgLng,
resources: {}
};
if (!cb && (!ns || typeof ns !== 'string')) {
cb = ns;
ns = null;
}
trgKeys = trgKeys || {};
var keys = Object.keys(srcKeys);
Object.keys(trgKeys).forEach(function (k) {
if (keys.indexOf(k) < 0) keys.push(k);
});
if (ns && typeof ns === 'string') {
js.resources[ns] = {};
var nsObj = js.resources[ns];
keys.forEach(function (srcKey) {
setSegment(nsObj, srcKeys, trgKeys, ntKeys, srcKey);
});
if (cb) cb(null, js);
return js;
}
keys.forEach(function (ns) {
js.resources[ns] = {};
Object.keys(srcKeys[ns]).forEach(function (srcKey) {
setSegment(js.resources[ns], srcKeys[ns], trgKeys[ns], ntKeys && ntKeys[ns], srcKey);
});
});
if (cb) cb(null, js);
return js;
};
var createjs = function createjs(srcLng, trgLng, srcKeys, trgKeys, ns, cb, ntKeys) {
if (!cb && ns === undefined) {
return new Promise(function (resolve, reject) {
return createjsClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
if (!cb && typeof ns !== 'function') {
return new Promise(function (resolve, reject) {
return createjsClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
return createjsClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, cb);
};
createjs.createjsClb = createjsClb;
var _default = exports.default = createjs;
module.exports = exports.default;
},{}],2:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createxliff;
var _createjs = _interopRequireDefault(require("./createjs.js"));
var _js2xliff = _interopRequireDefault(require("./js2xliff.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var createjs = _createjs.default.createjsClb;
var js2xliff = _js2xliff.default.js2xliffClb;
var createxliffClb = function createxliffClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, cb) {
if (!ns || typeof ns !== 'string') {
cb = ns;
ns = null;
}
if (!cb) {
return js2xliff(createjs(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns));
}
createjs(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, res) {
if (err) return cb(err);
js2xliff(res, cb);
});
};
function createxliff(srcLng, trgLng, srcKeys, trgKeys, ns, cb, ntKeys) {
if (!cb && ns === undefined) {
return new Promise(function (resolve, reject) {
return createxliffClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
if (!cb && typeof ns !== 'function') {
return new Promise(function (resolve, reject) {
return createxliffClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
return createxliffClb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, cb);
}
module.exports = exports.default;
},{"./createjs.js":1,"./js2xliff.js":10}],3:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createxliff12;
var _createjs = _interopRequireDefault(require("./createjs.js"));
var _jsToXliff = _interopRequireDefault(require("./jsToXliff12.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var createjs = _createjs.default.createjsClb;
var jsToXliff12 = _jsToXliff.default.jsToXliff12Clb;
var createxliff12Clb = function createxliff12Clb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, cb) {
if (!ns || typeof ns !== 'string') {
cb = ns;
ns = null;
}
if (!cb) {
return jsToXliff12(createjs(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns));
}
createjs(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, res) {
if (err) return cb(err);
jsToXliff12(res, cb);
});
};
function createxliff12(srcLng, trgLng, srcKeys, trgKeys, ns, cb, ntKeys) {
if (!cb && ns === undefined) {
return new Promise(function (resolve, reject) {
return createxliff12Clb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
if (!cb && typeof ns !== 'function') {
return new Promise(function (resolve, reject) {
return createxliff12Clb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
return createxliff12Clb(srcLng, trgLng, srcKeys, trgKeys, ntKeys, ns, cb);
}
module.exports = exports.default;
},{"./createjs.js":1,"./jsToXliff12.js":11}],4:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "ElementTypes", {
enumerable: true,
get: function get() {
return _ElementTypes.default;
}
});
Object.defineProperty(exports, "createjs", {
enumerable: true,
get: function get() {
return _createjs.default;
}
});
Object.defineProperty(exports, "createxliff", {
enumerable: true,
get: function get() {
return _createxliff.default;
}
});
Object.defineProperty(exports, "createxliff12", {
enumerable: true,
get: function get() {
return _createxliff2.default;
}
});
exports.default = void 0;
Object.defineProperty(exports, "js2xliff", {
enumerable: true,
get: function get() {
return _js2xliff.default;
}
});
Object.defineProperty(exports, "jsToXliff12", {
enumerable: true,
get: function get() {
return _jsToXliff.default;
}
});
Object.defineProperty(exports, "makeInlineElement", {
enumerable: true,
get: function get() {
return _makeInlineElement.default;
}
});
Object.defineProperty(exports, "sourceOfjs", {
enumerable: true,
get: function get() {
return _sourceOfjs.default;
}
});
Object.defineProperty(exports, "targetOfjs", {
enumerable: true,
get: function get() {
return _targetOfjs.default;
}
});
Object.defineProperty(exports, "xliff12ToJs", {
enumerable: true,
get: function get() {
return _xliff12ToJs.default;
}
});
Object.defineProperty(exports, "xliff2js", {
enumerable: true,
get: function get() {
return _xliff2js.default;
}
});
var _xliff2js = _interopRequireDefault(require("./xliff2js.js"));
var _xliff12ToJs = _interopRequireDefault(require("./xliff12ToJs.js"));
var _js2xliff = _interopRequireDefault(require("./js2xliff.js"));
var _jsToXliff = _interopRequireDefault(require("./jsToXliff12.js"));
var _targetOfjs = _interopRequireDefault(require("./targetOfjs.js"));
var _sourceOfjs = _interopRequireDefault(require("./sourceOfjs.js"));
var _createjs = _interopRequireDefault(require("./createjs.js"));
var _createxliff = _interopRequireDefault(require("./createxliff.js"));
var _createxliff2 = _interopRequireDefault(require("./createxliff12.js"));
var _makeInlineElement = _interopRequireDefault(require("./inline-elements/makeInlineElement.js"));
var _ElementTypes = _interopRequireDefault(require("./inline-elements/ElementTypes.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var _default = exports.default = {
xliff2js: _xliff2js.default,
xliff12ToJs: _xliff12ToJs.default,
js2xliff: _js2xliff.default,
jsToXliff12: _jsToXliff.default,
targetOfjs: _targetOfjs.default,
sourceOfjs: _sourceOfjs.default,
createjs: _createjs.default,
createxliff: _createxliff.default,
createxliff12: _createxliff2.default,
makeInlineElement: _makeInlineElement.default,
ElementTypes: _ElementTypes.default
};
},{"./createjs.js":1,"./createxliff.js":2,"./createxliff12.js":3,"./inline-elements/ElementTypes.js":5,"./inline-elements/makeInlineElement.js":8,"./js2xliff.js":10,"./jsToXliff12.js":11,"./sourceOfjs.js":13,"./targetOfjs.js":14,"./xliff12ToJs.js":16,"./xliff2js.js":17}],5:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = exports.default = {
Standalone: 'Standalone',
GenericSpan: 'GenericSpan',
GenericSpanStart: 'GenericSpanStart',
GenericSpanEnd: 'GenericSpanEnd',
Span: 'Span',
SpanStart: 'SpanStart',
SpanEnd: 'SpanEnd',
Marker: 'Marker',
Plural: 'Plural',
Gender: 'Gender',
Select: 'Select'
};
module.exports = exports.default;
},{}],6:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ElementTypes = _interopRequireDefault(require("./ElementTypes.js"));
var _makeInlineElement = _interopRequireDefault(require("./makeInlineElement.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var _default = exports.default = {
elementTypeToTagMap: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _ElementTypes.default.Standalone, 'x'), _ElementTypes.default.GenericSpan, 'g'), _ElementTypes.default.GenericSpanStart, 'bx'), _ElementTypes.default.GenericSpanEnd, 'ex'), _ElementTypes.default.Span, 'ph'), _ElementTypes.default.SpanStart, 'bpt'), _ElementTypes.default.SpanEnd, 'ept'), _ElementTypes.default.Marker, 'mrk'),
tagToElementTypeMap: {
x: _ElementTypes.default.Standalone,
g: _ElementTypes.default.GenericSpan,
bx: _ElementTypes.default.GenericSpanStart,
ex: _ElementTypes.default.GenericSpanEnd,
ph: _ElementTypes.default.Span,
bpt: _ElementTypes.default.SpanStart,
ept: _ElementTypes.default.SpanEnd,
mrk: _ElementTypes.default.Marker
},
factories: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _ElementTypes.default.Standalone, function (attributes) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Standalone, attributes);
}), _ElementTypes.default.GenericSpan, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.GenericSpan, attributes, contents);
}), _ElementTypes.default.GenericSpanStart, function (attributes) {
return (0, _makeInlineElement.default)(_ElementTypes.default.GenericSpanStart, attributes);
}), _ElementTypes.default.GenericSpanEnd, function (attributes) {
return (0, _makeInlineElement.default)(_ElementTypes.default.GenericSpanEnd, attributes);
}), _ElementTypes.default.Span, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Span, attributes, contents);
}), _ElementTypes.default.SpanStart, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.SpanStart, attributes, contents);
}), _ElementTypes.default.SpanEnd, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.SpanEnd, attributes, contents);
}), _ElementTypes.default.Marker, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Marker, attributes, contents);
})
};
module.exports = exports.default;
},{"./ElementTypes.js":5,"./makeInlineElement.js":8}],7:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ElementTypes = _interopRequireDefault(require("./ElementTypes.js"));
var _makeInlineElement = _interopRequireDefault(require("./makeInlineElement.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var _default = exports.default = {
elementTypeToTagMap: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _ElementTypes.default.Standalone, 'ph'), _ElementTypes.default.GenericSpan, 'pc'), _ElementTypes.default.GenericSpanStart, 'sc'), _ElementTypes.default.GenericSpanEnd, 'ec'), _ElementTypes.default.Span, 'pc'), _ElementTypes.default.SpanStart, 'sc'), _ElementTypes.default.SpanEnd, 'ec'), _ElementTypes.default.Plural, 'plural'), _ElementTypes.default.Gender, 'gender'), _ElementTypes.default.Select, 'select'),
tagToElementTypeMap: {
ph: _ElementTypes.default.Standalone,
pc: _ElementTypes.default.Span,
sc: _ElementTypes.default.SpanStart,
ec: _ElementTypes.default.SpanEnd,
plural: _ElementTypes.default.Plural,
gender: _ElementTypes.default.Gender,
select: _ElementTypes.default.Select
},
factories: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _ElementTypes.default.Standalone, function (attributes) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Standalone, attributes);
}), _ElementTypes.default.GenericSpan, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.GenericSpan, attributes, contents);
}), _ElementTypes.default.GenericSpanStart, function (attributes) {
return (0, _makeInlineElement.default)(_ElementTypes.default.GenericSpanStart, attributes);
}), _ElementTypes.default.GenericSpanEnd, function (attributes) {
return (0, _makeInlineElement.default)(_ElementTypes.default.GenericSpanEnd, attributes);
}), _ElementTypes.default.Span, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Span, attributes, contents);
}), _ElementTypes.default.SpanStart, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.SpanStart, attributes, contents);
}), _ElementTypes.default.SpanEnd, function (attributes, contents) {
return (0, _makeInlineElement.default)(_ElementTypes.default.SpanEnd, attributes, contents);
}), _ElementTypes.default.Plural, function (attributes, options) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Plural, attributes, options);
}), _ElementTypes.default.Gender, function (attributes, options) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Gender, attributes, options);
}), _ElementTypes.default.Select, function (attributes, options) {
return (0, _makeInlineElement.default)(_ElementTypes.default.Select, attributes, options);
})
};
module.exports = exports.default;
},{"./ElementTypes.js":5,"./makeInlineElement.js":8}],8:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = makeInlineElement;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function makeInlineElement(type, attributes, contents) {
var contentsObj = contents !== undefined ? {
contents: contents
} : {};
var dataObj = Object.assign({}, attributes, contentsObj);
return _defineProperty({}, type, dataObj);
}
module.exports = exports.default;
},{}],9:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.elementTypeToTag = elementTypeToTag;
exports.tagToElementType = tagToElementType;
function elementTypeToTag(type, types) {
return types.elementTypeToTagMap[type];
}
function tagToElementType(tagName, types) {
return types.tagToElementTypeMap[tagName];
}
},{}],10:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _xmlJs = _interopRequireDefault(require("xml-js"));
var _ElementTypes = _interopRequireDefault(require("./inline-elements/ElementTypes2.js"));
var _objectToXml = require("./xml-js/objectToXml.js");
var _escape = _interopRequireDefault(require("./util/escape.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var js2xliffClb = function js2xliffClb(obj, opt, cb) {
if (!cb && typeof opt === 'function') {
cb = opt;
opt = {
indent: ' '
};
}
opt = opt || {
indent: ' '
};
var targetXliffVersion = opt.targetXliffVersion || '2.0';
var options = {
spaces: opt.indent !== undefined ? opt.indent : ' ',
targetXliffVersion: targetXliffVersion
};
var rootAttributes = {
xmlns: 'urn:oasis:names:tc:xliff:document:' + targetXliffVersion,
version: targetXliffVersion,
srcLang: obj.sourceLanguage,
trgLang: obj.targetLanguage
};
var hasSizeRestriction = !!Object.keys(obj.resources).find(function (nsName) {
return Object.keys(obj.resources[nsName]).find(function (k) {
return obj.resources[nsName][k].additionalAttributes && (obj.resources[nsName][k].additionalAttributes.sizeRestriction !== undefined || obj.resources[nsName][k].additionalAttributes['slr:sizeRestriction'] !== undefined);
});
});
if (hasSizeRestriction) rootAttributes['xmlns:slr'] = 'urn:oasis:names:tc:xliff:sizerestriction:2.0';
var root = (0, _objectToXml.makeElement)('xliff', rootAttributes, true);
if (Array.isArray(obj.headerExtras) && obj.headerExtras.length) {
obj.headerExtras.forEach(function (extra) {
var clone = JSON.parse(JSON.stringify(extra));
if (clone.type === 'element' && clone.attributes == null) {
clone.attributes = {};
}
root.elements.push(clone);
});
}
Object.keys(obj.resources).forEach(function (nsName) {
var fileChildren = createUnitTags(obj.resources[nsName], options);
var f = (0, _objectToXml.makeElement)('file', {
id: nsName
}, fileChildren);
root.elements.push(f);
});
var xmlJs = {
elements: [root]
};
var xml = _xmlJs.default.js2xml(xmlJs, options);
if (cb) cb(null, xml);
return xml;
};
function createUnitTags(unitElements, options) {
var hasSizeRestriction = !!Object.keys(unitElements).find(function (k) {
return unitElements[k].additionalAttributes && (unitElements[k].additionalAttributes.sizeRestriction !== undefined || unitElements[k].additionalAttributes['slr:sizeRestriction'] !== undefined);
});
var preElements = [];
if (hasSizeRestriction) {
preElements.push({
type: 'element',
name: 'slr:profiles',
attributes: {
generalProfile: 'xliff:codepoints',
storageProfile: 'xliff:utf8'
},
elements: [{
type: 'element',
name: 'slr:normalization',
attributes: {
general: 'nfc',
storage: 'nfc'
}
}]
});
}
return preElements.concat(Object.keys(unitElements).map(function (key) {
if (unitElements[key].groupUnits) {
return createGroupUnitTag(key, unitElements[key], options);
} else {
return createUnitTag(key, unitElements[key], options);
}
}));
}
function createGroupUnitTag(id, group, options) {
var additionalAttributes = group.additionalAttributes != null ? group.additionalAttributes : {};
var groupUnits = createUnitTags(group.groupUnits, options);
var attrs = {
id: (0, _escape.default)(id)
};
Object.keys(additionalAttributes).forEach(function (k) {
var v = additionalAttributes[k];
if (v !== undefined && v !== null) attrs[k] = String(v);
});
return (0, _objectToXml.makeElement)('group', attrs, groupUnits);
}
function createUnitTag(id, unit, options) {
var segment = (0, _objectToXml.makeElement)('segment', null, true);
var srcVal = unit.source === undefined && unit.target !== undefined ? '' : unit.source;
if (srcVal !== undefined) segment.elements.push((0, _objectToXml.makeElement)('source', null, (0, _objectToXml.makeValue)(srcVal, _ElementTypes.default, options && options.targetXliffVersion)));
if (unit.target !== undefined) segment.elements.push((0, _objectToXml.makeElement)('target', null, (0, _objectToXml.makeValue)(unit.target, _ElementTypes.default, options && options.targetXliffVersion)));
var subEle = [segment];
if ('note' in unit) {
var noteElms = [];
createNoteObjects(unit.note).forEach(function (noteObj) {
noteElms.push((0, _objectToXml.makeElement)('note', null, [noteObj]));
});
subEle.unshift((0, _objectToXml.makeElement)('notes', null, noteElms));
}
var additionalAttributes = unit.additionalAttributes != null ? _objectSpread({}, unit.additionalAttributes) : {};
if (additionalAttributes.sizeRestriction) {
additionalAttributes['slr:sizeRestriction'] = additionalAttributes.sizeRestriction + '';
delete additionalAttributes.sizeRestriction;
}
var attrs = {
id: (0, _escape.default)(id)
};
Object.keys(additionalAttributes).forEach(function (k) {
var v = additionalAttributes[k];
if (v !== undefined && v !== null) attrs[k] = String(v);
});
return (0, _objectToXml.makeElement)('unit', attrs, subEle);
}
function createNoteObjects(note) {
var arrNote = [];
var baseNote = (0, _objectToXml.makeText)(note);
if (Array.isArray(baseNote.text)) {
baseNote.text.forEach(function (text) {
arrNote.push({
type: baseNote.type,
text: text
});
});
} else {
arrNote.push(baseNote);
}
return arrNote;
}
var js2xliff = function js2xliff(obj, opt, cb) {
if (!cb && opt === undefined) {
return new Promise(function (resolve, reject) {
return js2xliffClb(obj, opt, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
if (!cb && typeof opt !== 'function') {
return new Promise(function (resolve, reject) {
return js2xliffClb(obj, opt, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
return js2xliffClb(obj, opt, cb);
};
js2xliff.js2xliffClb = js2xliffClb;
var _default = exports.default = js2xliff;
module.exports = exports.default;
},{"./inline-elements/ElementTypes2.js":7,"./util/escape.js":15,"./xml-js/objectToXml.js":18,"xml-js":47}],11:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _xmlJs = _interopRequireDefault(require("xml-js"));
var _ElementTypes = _interopRequireDefault(require("./inline-elements/ElementTypes12.js"));
var _objectToXml = require("./xml-js/objectToXml.js");
var _escape = _interopRequireDefault(require("./util/escape.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var jsToXliff12Clb = function jsToXliff12Clb(obj, opt, cb) {
if (!cb && typeof opt === 'function') {
cb = opt;
opt = {
indent: ' '
};
}
opt = opt || {
indent: ' '
};
var options = {
spaces: opt.indent !== undefined ? opt.indent : ' ',
xmlLangAttr: !!opt.xmlLangAttr
};
var rootAttributes = {
'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
'xsi:schemaLocation': 'urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd',
xmlns: 'urn:oasis:names:tc:xliff:document:1.2',
version: '1.2'
};
var root = (0, _objectToXml.makeElement)('xliff', rootAttributes, true);
Object.keys(obj.resources).forEach(function (nsName) {
var bodyChildren = createUnitTags(obj.resources[nsName], obj, options);
var b = (0, _objectToXml.makeElement)('body', null, bodyChildren);
var fileAttributes = {
original: nsName,
datatype: 'plaintext',
'source-language': obj.sourceLanguage
};
if (obj.targetLanguage != null) {
fileAttributes['target-language'] = obj.targetLanguage;
}
var f = (0, _objectToXml.makeElement)('file', fileAttributes, [b]);
root.elements.push(f);
});
var xmlJs = {
elements: [root]
};
var xml = _xmlJs.default.js2xml(xmlJs, options);
if (cb) cb(null, xml);
return xml;
};
function createUnitTags(unitElements, obj, options) {
return Object.keys(unitElements).map(function (key) {
if (unitElements[key].groupUnits) {
return createGroupUnitTag(key, unitElements[key], obj, options);
} else {
return createTransUnitTag(key, unitElements[key], obj, options);
}
});
}
function createGroupUnitTag(key, resource, obj, options) {
var additionalAttributes = resource.additionalAttributes != null ? resource.additionalAttributes : {};
var groupUnits = createUnitTags(resource.groupUnits, obj, options);
return (0, _objectToXml.makeElement)('group', Object.assign({
id: (0, _escape.default)(key)
}, additionalAttributes), groupUnits);
}
function createTransUnitTag(key, resource, obj, options) {
var additionalAttributes = resource.additionalAttributes != null ? resource.additionalAttributes : {};
var u = (0, _objectToXml.makeElement)('trans-unit', Object.assign({
id: (0, _escape.default)(key)
}, additionalAttributes), true);
var sourceAttributes = null;
if (options.xmlLangAttr) {
sourceAttributes = {
'xml:lang': obj.sourceLanguage
};
}
if (!resource.source && resource.target) resource.source = '';
if (resource.source != null) u.elements.push((0, _objectToXml.makeElement)('source', sourceAttributes, (0, _objectToXml.makeValue)(resource.source, _ElementTypes.default)));
if (resource.target != null) {
var targetAttributes = null;
if (options.xmlLangAttr && obj.targetLanguage) {
targetAttributes = {
'xml:lang': obj.targetLanguage
};
}
u.elements.push((0, _objectToXml.makeElement)('target', targetAttributes, (0, _objectToXml.makeValue)(resource.target, _ElementTypes.default)));
}
if ('note' in resource) {
createNoteObjects(resource.note).forEach(function (noteObj) {
u.elements.push((0, _objectToXml.makeElement)('note', null, [noteObj]));
});
}
return u;
}
function createNoteObjects(note) {
var arrNote = [];
var baseNote = (0, _objectToXml.makeText)(note);
if (Array.isArray(baseNote.text)) {
baseNote.text.forEach(function (text) {
arrNote.push({
type: baseNote.type,
text: text
});
});
} else {
arrNote.push(baseNote);
}
return arrNote;
}
var jsToXliff12 = function jsToXliff12(obj, opt, cb) {
if (!cb && opt === undefined) {
return new Promise(function (resolve, reject) {
return jsToXliff12Clb(obj, opt, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
if (!cb && typeof opt !== 'function') {
return new Promise(function (resolve, reject) {
return jsToXliff12Clb(obj, opt, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
return jsToXliff12Clb(obj, opt, cb);
};
jsToXliff12.jsToXliff12Clb = jsToXliff12Clb;
var _default = exports.default = jsToXliff12;
module.exports = exports.default;
},{"./inline-elements/ElementTypes12.js":6,"./util/escape.js":15,"./xml-js/objectToXml.js":18,"xml-js":47}],12:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = ofjs;
function ofjs(js, what, cb) {
var res = {};
var nsKeys = Object.keys(js.resources || {});
if (nsKeys.length === 1) {
var ns = js.resources[nsKeys[0]];
var keys = Object.keys(ns);
keys.forEach(function (key) {
var value = getSegment(ns[key], what);
if (value === undefined) return;
res[key] = value;
});
if (cb) return cb(null, res);
return res;
}
nsKeys.forEach(function (nsKey) {
res[nsKey] = {};
var ns = js.resources[nsKey];
var keys = Object.keys(ns);
keys.forEach(function (key) {
var value = getSegment(ns[key], what);
if (value !== undefined) res[nsKey][key] = value;
});
});
if (cb) return cb(null, res);
return res;
}
function getSegment(category, what) {
var value = category[what];
if (value === undefined && category.groupUnits) {
value = {};
var groupKeys = Object.keys(category.groupUnits);
groupKeys.forEach(function (groupKey) {
var groupValue = getSegment(category.groupUnits[groupKey], what);
if (groupValue !== undefined) value[groupKey] = groupValue;
});
}
return value;
}
module.exports = exports.default;
},{}],13:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = sourceOfjs;
var _ofjs = _interopRequireDefault(require("./ofjs.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function sourceOfjs(js, cb) {
return (0, _ofjs.default)(js, 'source', cb);
}
module.exports = exports.default;
},{"./ofjs.js":12}],14:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = targetOfjs;
var _ofjs = _interopRequireDefault(require("./ofjs.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function targetOfjs(js, cb) {
return (0, _ofjs.default)(js, 'target', cb);
}
module.exports = exports.default;
},{"./ofjs.js":12}],15:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default;
var map = {
'&': '&',
'"': '"',
'\'': ''',
'<': '<',
'>': '>'
};
function _default(str) {
Object.keys(map).forEach(function (char) {
str = str.replace(new RegExp(char, 'g'), map[char]);
});
return str;
}
;
module.exports = exports.default;
},{}],16:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = xliff12ToJs;
var _xmlJs = _interopRequireDefault(require("xml-js"));
var _ElementTypes = _interopRequireDefault(require("./inline-elements/ElementTypes12.js"));
var _xmlToObject = require("./xml-js/xmlToObject.js");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var xliff12ToJsClb = function xliff12ToJsClb(str, options, cb) {
if (typeof options === 'function') {
cb = options;
options = {};
}
options = options || {
captureSpacesBetweenElements: false
};
if (typeof str !== 'string') {
var err = new Error('The first parameter was not a string');
if (cb) return cb(err);
return err;
}
var result = {};
var xmlObj;
try {
xmlObj = _xmlJs.default.xml2js(str, options);
} catch (err) {
if (cb) return cb(err);
return err;
}
var xliffRoot = xmlObj.elements.find(function (ele) {
return ele.name === 'xliff';
});
var version = xliffRoot.attributes && xliffRoot.attributes.version;
if (version && version !== '1.2') {
result.xliffVersion = version;
}
if (xliffRoot.elements && xliffRoot.elements.length) {
var elements = xliffRoot.elements.filter(function (e) {
return e.type === 'element';
});
var srcLang = elements[0].attributes['source-language'] || xliffRoot.attributes.srcLang;
var trgLang = elements[0].attributes['target-language'] || xliffRoot.attributes.trgLang;
result.sourceLanguage = srcLang;
result.targetLanguage = trgLang;
if (!result.targetLanguage) delete result.targetLanguage;
var files = [];
var headerExtras = [];
elements.forEach(function (child) {
if (child.name === 'file') {
files.push(child);
} else {
headerExtras.push(child);
}
});
if (headerExtras.length) result.headerExtras = headerExtras;
result.resources = files.reduce(function (resources, file) {
var namespace = options.namespace || file.attributes.original;
var body = file.elements.filter(function (e) {
return e.type === 'element';
}).find(function (e) {
return e.name === 'body';
});
body.elements = body.elements || [];
var bodyChildren = body.elements.filter(function (child) {
return child.type !== 'comment' && child.type === 'element';
});
resources[namespace] = createUnits(bodyChildren);
return resources;
}, {});
} else {
result.resources = {};
}
if (cb) return cb(null, result);
return result;
};
function createUnits(childElements) {
return childElements.reduce(function (parent, child) {
if (!child.attributes || !child.attributes.id) return parent;
var key = child.attributes.id;
if (!child.elements) return parent;
var children = child.elements.filter(function (e) {
return e.name === 'trans-unit' || e.name === 'group';
});
if (children.length) {
parent[key] = createGroupTag(child, children);
} else {
parent[key] = createTransUnitTag(child);
}
if (child.attributes.ref) {
if (!parent[key].additionalAttributes) parent[key].additionalAttributes = {};
parent[key].additionalAttributes.ref = child.attributes.ref;
}
var known = ['trans-unit', 'group', 'source', 'target', 'note', 'body'];
var additionalElements = child.elements.filter(function (e) {
return !known.includes(e.name);
});
if (additionalElements.length) {
parent[key].additionalElements = additionalElements;
}
return parent;
}, {});
}
function createTransUnitTag(transUnit) {
var jsUnit = transUnit.elements.reduce(function (unit, element) {
var value = (0, _xmlToObject.extractValue)(element.elements, _ElementTypes.default);
switch (element.name) {
case 'source':
case 'target':
unit[element.name] = value;
break;
case 'note':
if (unit[element.name]) {
if (!Array.isArray(unit[element.name])) {
unit[element.name] = [unit[element.name]];
}
unit[element.name].push(value);
} else {
unit[element.name] = value;
}
break;
}
return unit;
}, {});
return addAdditionalAttributes(jsUnit, transUnit.attributes);
}
function createGroupTag(groupUnit, children) {
var jsGroupUnit = {
groupUnits: createUnits(children)
};
return addAdditionalAttributes(jsGroupUnit, groupUnit.attributes);
}
function addAdditionalAttributes(jsUnit, attributes) {
var additionalAttributes = attributes;
delete additionalAttributes.id;
if (Object.keys(additionalAttributes).length) {
Object.assign(jsUnit, {
additionalAttributes: additionalAttributes
});
}
return jsUnit;
}
function xliff12ToJs(str, options, cb) {
if (!cb && options === undefined) {
return new Promise(function (resolve, reject) {
return xliff12ToJsClb(str, options, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
if (!cb && typeof options !== 'function') {
return new Promise(function (resolve, reject) {
return xliff12ToJsClb(str, options, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
xliff12ToJsClb(str, options, cb);
}
module.exports = exports.default;
},{"./inline-elements/ElementTypes12.js":6,"./xml-js/xmlToObject.js":19,"xml-js":47}],17:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = xliffToJs;
var _xmlJs = _interopRequireDefault(require("xml-js"));
var _ElementTypes = _interopRequireDefault(require("./inline-elements/ElementTypes2.js"));
var _xmlToObject = require("./xml-js/xmlToObject.js");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var xliffToJsClb = function xliffToJsClb(str, options, cb) {
if (typeof options === 'function') {
cb = options;
options = {};
}
options = options || {};
if (typeof str !== 'string') {
var err = new Error('The first parameter was not a string');
if (cb) return cb(err);
return err;
}
var result = {};
var xmlObj;
try {
xmlObj = _xmlJs.default.xml2js(str, {});
} catch (err) {
if (cb) return cb(err);
return err;
}
var xliffRoot = xmlObj.elements.find(function (ele) {
return ele.name === 'xliff';
});
var version = xliffRoot.attributes && xliffRoot.attributes.version;
if (['2.0', '2.1', '2.2'].includes(version)) {
if (version !== '2.0') {
result.xliffVersion = version;
}
var srcLang = xliffRoot.attributes.srcLang;
var trgLang = xliffRoot.attributes.trgLang;
result.sourceLanguage = srcLang;
result.targetLanguage = trgLang;
if (!result.targetLanguage) delete result.targetLanguage;
var files = [];
var headerExtras = [];
(xliffRoot.elements || []).forEach(function (child) {
if (child.type === 'comment') return;
if (child.name === 'file') {
files.push(child);
} else {
headerExtras.push(child);
}
});
if (headerExtras.length) result.headerExtras = headerExtras;
result.resources = files.reduce(function (resources, file) {
var namespace = options.namespace || file.attributes.id;
if (!namespace) namespace = 'default';
var initValues = {};
if (!result.targetLanguage) delete initValues.target;
file.elements = file.elements || [];
file.elements = file.elements.filter(function (child) {
return child.type !== 'comment';
});
resources[namespace] = createUnits(file, initValues);
return resources;
}, {});
}
if (cb) return cb(null, result);
return result;
};
function createUnits(parent, initValues) {
if (!parent.elements) return {};
return parent.elements.reduce(function (file, unit) {
if (!unit.attributes || !unit.attributes.id) return file;
var key = unit.attributes.id;
var additionalAttributes = _objectSpread({}, unit.attributes);
delete additionalAttributes.id;
if (unit.attributes.ref) {
additionalAttributes.ref = unit.attributes.ref;
}
if (additionalAttributes['slr:sizeRestriction'] !== undefined) {
additionalAttributes.sizeRestriction = additionalAttributes['slr:sizeRestriction'];
if (typeof additionalAttributes.sizeRestriction === 'string') additionalAttributes.sizeRestriction = parseInt(additionalAttributes.sizeRestriction);
delete additionalAttributes['slr:sizeRestriction'];
}
switch (unit.name) {
case 'unit':
file[key] = createUnit(unit, initValues);
if (Object.keys(additionalAttributes).length) {
Object.assign(file[key], {
additionalAttributes: additionalAttributes
});
}
if (unit.elements) {
var known = ['segment', 'notes', 'source', 'target', 'note', 'ignorable'];
var additionalElements = unit.elements.filter(function (e) {
return !known.includes(e.name);
});
if (additionalElements.length) {
file[key].additionalElements = additionalElements;
}
}
return file;
case 'group':
file[key] = {
groupUnits: createUnits(unit, initValues)
};
if (Object.keys(additionalAttributes).length) {
Object.assign(file[key], {
additionalAttributes: additionalAttributes
});
}
return file;
default:
if (!file._additionalElements) file._additionalElements = [];
file._additionalElements.push(unit);
return file;
}
}, {});
}
function createUnit(unit, initValues) {
if (!unit.elements) return undefined;
return unit.elements.reduce(function (unit, segment) {
if (['segment', 'notes'].indexOf(segment.name) < 0) return unit;
segment.elements.forEach(function (element) {
var value = (0, _xmlToObject.extractValue)(element.elements, _ElementTypes.default);
switch (element.name) {
case 'source':
case 'target':
unit[element.name] = value;
break;
case 'note':
if (unit[element.name]) {
if (!Array.isArray(unit[element.name])) {
unit[element.name] = [unit[element.name]];
}
unit[element.name].push(value);
} else {
unit[element.name] = value;
}
break;
}
});
return unit;
}, JSON.parse(JSON.stringify(initValues)));
}
function xliffToJs(str, options, cb) {
if (!cb && options === undefined) {
return new Promise(function (resolve, reject) {
return xliffToJsClb(str, options, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
if (!cb && typeof options !== 'function') {
return new Promise(function (resolve, reject) {
return xliffToJsClb(str, options, function (err, ret) {
return err ? reject(err) : resolve(ret);
});
});
}
xliffToJsClb(str, options, cb);
}
module.exports = exports.default;
},{"./inline-elements/ElementTypes2.js":7,"./xml-js/xmlToObject.js":19,"xml-js":47}],18:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.makeElement = makeElement;
exports.makeText = makeText;
exports.makeValue = makeValue;
var _typeToTagMaps = require("../inline-elements/typeToTagMaps.js");
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function makeElement(name, attributes, elements) {
var el = {
type: 'element',
name: name
};
if (attributes !== null && attributes !== undefined) {
el.attributes = attributes;
}
if (Array.isArray(elements)) {
el.elements = elements;
} else if (elements === true) {
el.elements = [];
}
return el;
}
function makeText(text) {
return {
type: 'text',
text: text
};
}
function makeValue(content, elementTypeInfo, targetXliffVersion) {
targetXliffVersion = targetXliffVersion || '2.0';
if (!Array.isArray(content)) {
if (typeof content === 'string' || content instanceof String) {