UNPKG

wsemi

Version:

A support package for web developer.

52 lines (43 loc) 1.21 kB
import each from 'lodash/each' import isstr from './isstr.mjs' import isestr from './isestr.mjs' import iseobj from './iseobj.mjs' import replace from './replace.mjs' /** * 取代字串,由c內大括號會標記為被取代的{key},再由物件o的key所對應value進行取代,而各value皆需要為有效字串 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/replaceObj.test.mjs Github} * @memberOf wsemi * @param {String} c 輸入要被取代的字串 * @param {Object} o 輸入用來取代的key,value物件 * @returns {String} 回傳取代後字串 * @example * * console.log(replaceObj('1.25abc中文', { '5a': '0', '中': '英' })) * // => '1.20bc英文' * */ function replaceObj(c, o) { //check if (!isestr(c)) { return '' } if (!iseobj(o)) { return '' } //check obj value(replace string) let b = false each(o, function(v, k) { if (!isstr(v)) { //允許空字串 b = true } }) if (b) { return '' } each(o, function(v, k) { c = replace(c, k, v) }) return c } export default replaceObj