- Complete React app with 7 developer tools - JSON Tool with visual structured editor - Serialize Tool with visual structured editor - URL, Base64, CSV/JSON, Beautifier, Diff tools - Responsive navigation with dropdown menu - Dark/light mode toggle - Mobile-responsive design with sticky header - All tools working with copy/paste functionality
32 lines
754 B
JavaScript
32 lines
754 B
JavaScript
'use strict';
|
|
|
|
function createMap(values, ignoreCase) {
|
|
var map = {};
|
|
values.forEach(function(value) {
|
|
map[value] = 1;
|
|
});
|
|
return ignoreCase ? function(value) {
|
|
return map[value.toLowerCase()] === 1;
|
|
} : function(value) {
|
|
return map[value] === 1;
|
|
};
|
|
}
|
|
|
|
async function replaceAsync(str, regex, asyncFn) {
|
|
const promises = [];
|
|
str.replace(regex, (match, ...args) => {
|
|
const promise = asyncFn(match, ...args);
|
|
promises.push(promise);
|
|
});
|
|
const data = await Promise.all(promises);
|
|
return str.replace(regex, () => data.shift());
|
|
}
|
|
|
|
|
|
exports.createMap = createMap;
|
|
exports.createMapFromString = function(values, ignoreCase) {
|
|
return createMap(values.split(/,/), ignoreCase);
|
|
};
|
|
|
|
exports.replaceAsync = replaceAsync;
|