1*082815dcSEvan Bacon"use strict"; 2*082815dcSEvan Bacon 3*082815dcSEvan BaconObject.defineProperty(exports, "__esModule", { 4*082815dcSEvan Bacon value: true 5*082815dcSEvan Bacon}); 6*082815dcSEvan Baconexports.getProjectStringsXMLPathAsync = getProjectStringsXMLPathAsync; 7*082815dcSEvan Baconexports.removeStringItem = removeStringItem; 8*082815dcSEvan Baconexports.setStringItem = setStringItem; 9*082815dcSEvan Baconfunction _Paths() { 10*082815dcSEvan Bacon const data = require("./Paths"); 11*082815dcSEvan Bacon _Paths = function () { 12*082815dcSEvan Bacon return data; 13*082815dcSEvan Bacon }; 14*082815dcSEvan Bacon return data; 15*082815dcSEvan Bacon} 16*082815dcSEvan Baconasync function getProjectStringsXMLPathAsync(projectRoot, { 17*082815dcSEvan Bacon kind 18*082815dcSEvan Bacon} = {}) { 19*082815dcSEvan Bacon return (0, _Paths().getResourceXMLPathAsync)(projectRoot, { 20*082815dcSEvan Bacon kind, 21*082815dcSEvan Bacon name: 'strings' 22*082815dcSEvan Bacon }); 23*082815dcSEvan Bacon} 24*082815dcSEvan Baconfunction setStringItem(itemToAdd, stringFileContentsJSON) { 25*082815dcSEvan Bacon var _stringFileContentsJS; 26*082815dcSEvan Bacon if (!(stringFileContentsJSON !== null && stringFileContentsJSON !== void 0 && (_stringFileContentsJS = stringFileContentsJSON.resources) !== null && _stringFileContentsJS !== void 0 && _stringFileContentsJS.string)) { 27*082815dcSEvan Bacon if (!stringFileContentsJSON.resources || typeof stringFileContentsJSON.resources === 'string') { 28*082815dcSEvan Bacon // file was empty and JSON is `{resources : ''}` 29*082815dcSEvan Bacon stringFileContentsJSON.resources = {}; 30*082815dcSEvan Bacon } 31*082815dcSEvan Bacon stringFileContentsJSON.resources.string = itemToAdd; 32*082815dcSEvan Bacon return stringFileContentsJSON; 33*082815dcSEvan Bacon } 34*082815dcSEvan Bacon for (const newItem of itemToAdd) { 35*082815dcSEvan Bacon const stringNameExists = stringFileContentsJSON.resources.string.findIndex(e => e.$.name === newItem.$.name); 36*082815dcSEvan Bacon if (stringNameExists > -1) { 37*082815dcSEvan Bacon // replace the previous item 38*082815dcSEvan Bacon stringFileContentsJSON.resources.string[stringNameExists] = newItem; 39*082815dcSEvan Bacon } else { 40*082815dcSEvan Bacon stringFileContentsJSON.resources.string = stringFileContentsJSON.resources.string.concat(newItem); 41*082815dcSEvan Bacon } 42*082815dcSEvan Bacon } 43*082815dcSEvan Bacon return stringFileContentsJSON; 44*082815dcSEvan Bacon} 45*082815dcSEvan Baconfunction removeStringItem(named, stringFileContentsJSON) { 46*082815dcSEvan Bacon var _stringFileContentsJS2; 47*082815dcSEvan Bacon if (stringFileContentsJSON !== null && stringFileContentsJSON !== void 0 && (_stringFileContentsJS2 = stringFileContentsJSON.resources) !== null && _stringFileContentsJS2 !== void 0 && _stringFileContentsJS2.string) { 48*082815dcSEvan Bacon const stringNameExists = stringFileContentsJSON.resources.string.findIndex(e => e.$.name === named); 49*082815dcSEvan Bacon if (stringNameExists > -1) { 50*082815dcSEvan Bacon // replace the previous value 51*082815dcSEvan Bacon stringFileContentsJSON.resources.string.splice(stringNameExists, 1); 52*082815dcSEvan Bacon } 53*082815dcSEvan Bacon } 54*082815dcSEvan Bacon return stringFileContentsJSON; 55*082815dcSEvan Bacon} 56*082815dcSEvan Bacon//# sourceMappingURL=Strings.js.map