Files
P4RS3LT0NGV3/src/transformers/encoding/url.js
T
Dustin Farley dc10a90851 refactor: migrate to modular tool-based architecture
- Implement tool registry system with individual tool modules
- Reorganize transformers into categorized source modules
- Remove emojiLibrary.js, consolidate into EmojiUtils and emojiData
- Fix mobile close button and tooltip functionality
- Add build system for transforms and emoji data
- Migrate from Python backend to pure JavaScript
- Add comprehensive documentation and testing
- Improve code organization and maintainability
- Ignore generated files (transforms-bundle.js, emojiData.js)
2025-12-02 20:26:32 -08:00

31 lines
831 B
JavaScript

// url transform
import BaseTransformer from '../BaseTransformer.js';
export default new BaseTransformer({
name: 'URL Encode',
priority: 40,
// Detector: Look for %XX pattern (URL encoding)
detector: function(text) {
return text.includes('%') && /%[0-9A-Fa-f]{2}/.test(text);
},
func: function(text) {
try {
return encodeURIComponent(text);
} catch (e) {
// Catch malformed Unicode or unpaired surrogates
return '[Invalid input]';
}
},
preview: function(text) {
return this.func(text);
},
reverse: function(text) {
try {
return decodeURIComponent(text);
} catch (e) {
return text;
}
}
});