Bookmark this: tool.io/convert/text/source-code
Text Converter Source Code
Browse the implementation files for Text Converter.tool.ts typescript
import {
checksumVariants,
hashVariants,
textScriptVariants
} from '$lib/tools/tool-variant-groups';
import TextConversionPreviewAction from './TextConversionPreviewAction.svelte';
import TextConversionSelector from './TextConversionSelector.svelte';
const textConversionPreviewOptions: TypeSelectOption[] = [
...hashVariants.map(({ label, slug }) => ({
group: 'Cryptographic hashes',
text: label,
value: `/${slug}`
})),
...checksumVariants.map(({ label, slug }) => ({
group: 'Checksums',
text: label,
value: `/${slug}`
})),
...textScriptVariants.map(({ label, slug }) => ({
group: 'Text scripts and codes',
text: label,
value: `/${slug}`
})),
...[
['/encode/base64', 'Base64'],
['/convert/text-to-binary-string', 'Binary string'],
['/convert/text-to-bytes', 'UTF-8 bytes'],
['/convert/text-to-hex-ascii', 'Hexadecimal ASCII'],
['/convert/atbash', 'Atbash cipher']
].map(([value, text]) => ({
group: 'Other text encodings and ciphers',
text,
value
}))
];
const previewTextConversion = (
destination: TypeToolInput['value'],
text: TypeToolInput['value']
): TypeToolInput['value'] => {
const selected = textConversionPreviewOptions.find(
(option) => option.value === destination
);
return {
destination:
typeof destination === 'string'
? destination
: '/hash/sha-256',
label: selected?.text ?? 'selected tool',
text: typeof text === 'string' ? text : ''
};
};
export const Tool: TypeTool = {
name: 'Text Converter',
slug: 'convert/text',
intro:
'Choose a text encoding, checksum, cryptographic hash, or cipher and continue in its canonical tool.',
tool: () => '',
i: [],
o: [
{
id: 'selector',
label: 'Text conversion selector',
placeholder: 'Choose a text operation',
render: 'custom',
renderas: TextConversionSelector,
type: 'object'
}
],
preview: {
i: [
{
label: 'Operation',
options: textConversionPreviewOptions,
placeholder: 'Choose a text operation',
type: 'select',
value: '/hash/sha-256'
},
{
label: 'Text',
placeholder: 'Enter text',
type: 'text',
value: 'tool.io'
}
],
o: [
{
label: 'Open selected tool',
placeholder: 'Open selected text tool',
render: 'custom',
renderas: TextConversionPreviewAction,
type: 'object',
unframed: true
}
],
tool: previewTextConversion
},
alternative: [
{ title: 'Hash tools', url: '/hash' },
{ title: 'Checksum tools', url: '/checksum' },
{ title: 'Sqids encoder', url: '/encode/sqids' },
{ title: 'UUID generators', url: '/generate/uuid' }
]
};
export default Tool;
Description
Browse the implementation files for Text Converter.