import { getResourceXMLPathAsync } from './Paths' ; import { ResourceItemXML , ResourceKind , ResourceXML } from './Resources' ; export async function getProjectStringsXMLPathAsync ( projectRoot , { kind } = { } ) { return getResourceXMLPathAsync ( projectRoot , { kind , name : 'strings' } ) ; } export function setStringItem ( itemToAdd , stringFileContentsJSON ) { if ( ! stringFileContentsJSON ?. resources ?. string ) { if ( ! stringFileContentsJSON . resources || typeof stringFileContentsJSON . resources === 'string' ) { stringFileContentsJSON . resources = { } ; } stringFileContentsJSON . resources . string = itemToAdd ; return stringFileContentsJSON ; } for ( const newItem of itemToAdd ) { const stringNameExists = stringFileContentsJSON . resources . string . findIndex ( ( e ) => e . $ . name === newItem . $ . name ) ; if ( stringNameExists > - 1 ) { stringFileContentsJSON . resources . string [ stringNameExists ] = newItem ; } else { stringFileContentsJSON . resources . string = stringFileContentsJSON . resources . string . concat ( newItem ) ; } } return stringFileContentsJSON ; } export function removeStringItem ( named , stringFileContentsJSON ) { if ( stringFileContentsJSON ?. resources ?. string ) { const stringNameExists = stringFileContentsJSON . resources . string . findIndex ( ( e ) => e . $ . name === named ) ; if ( stringNameExists > - 1 ) { stringFileContentsJSON . resources . string . splice ( stringNameExists , 1 ) ; } } return stringFileContentsJSON ; }