refactor(dry): mutualised duplicated code with withDefaultOnError
This commit is contained in:
		
							parent
							
								
									208a373fd0
								
							
						
					
					
						commit
						f6cd9b76d3
					
				| @ -60,6 +60,7 @@ | ||||
| <script setup lang="ts"> | ||||
| import { useCopy } from '@/composable/copy'; | ||||
| import { useValidation } from '@/composable/validation'; | ||||
| import { withDefaultOnError } from '@/utils/defaults'; | ||||
| import { | ||||
|   chineseSimplifiedWordList, | ||||
|   chineseTraditionalWordList, | ||||
| @ -105,12 +106,7 @@ const passphrase = computed({ | ||||
|   }, | ||||
|   set(value: string) { | ||||
|     passphraseInput.value = value; | ||||
| 
 | ||||
|     try { | ||||
|       entropy.value = mnemonicToEntropy(value, languages[language.value]); | ||||
|     } catch (_) { | ||||
|       entropy.value = ''; | ||||
|     } | ||||
|     entropy.value = withDefaultOnError(() => mnemonicToEntropy(value, languages[language.value]), ''); | ||||
|   }, | ||||
| }); | ||||
| 
 | ||||
|  | ||||
| @ -21,18 +21,13 @@ | ||||
| </template> | ||||
| 
 | ||||
| <script setup lang="ts"> | ||||
| import { withDefaultOnError } from '@/utils/defaults'; | ||||
| import { evaluate } from 'mathjs'; | ||||
| import { computed, ref } from 'vue'; | ||||
| 
 | ||||
| const expression = ref(''); | ||||
| 
 | ||||
| const result = computed(() => { | ||||
|   try { | ||||
|     return evaluate(expression.value) ?? ''; | ||||
|   } catch (_) { | ||||
|     return ''; | ||||
|   } | ||||
| }); | ||||
| const result = computed(() => withDefaultOnError(() => evaluate(expression.value) ?? '', '')); | ||||
| </script> | ||||
| 
 | ||||
| <style lang="less" scoped></style> | ||||
|  | ||||
| @ -60,16 +60,11 @@ | ||||
| <script setup lang="ts"> | ||||
| import { useCopy } from '@/composable/copy'; | ||||
| import { useValidation } from '@/composable/validation'; | ||||
| import { withDefaultOnError } from '@/utils/defaults'; | ||||
| import { computed, ref } from 'vue'; | ||||
| 
 | ||||
| const encodeInput = ref('Hello world :)'); | ||||
| const encodeOutput = computed(() => { | ||||
|   try { | ||||
|     return encodeURIComponent(encodeInput.value); | ||||
|   } catch (_) { | ||||
|     return ''; | ||||
|   } | ||||
| }); | ||||
| const encodeOutput = computed(() => withDefaultOnError(() => encodeURIComponent(encodeInput.value), '')); | ||||
| 
 | ||||
| const encodedValidation = useValidation({ | ||||
|   source: encodeInput, | ||||
| @ -91,14 +86,7 @@ const encodedValidation = useValidation({ | ||||
| const { copy: copyEncoded } = useCopy({ source: encodeOutput, text: 'Encoded string copied to the clipboard' }); | ||||
| 
 | ||||
| const decodeInput = ref('Hello%20world%20%3A)'); | ||||
| 
 | ||||
| const decodeOutput = computed(() => { | ||||
|   try { | ||||
|     return decodeURIComponent(decodeInput.value); | ||||
|   } catch (_) { | ||||
|     return ''; | ||||
|   } | ||||
| }); | ||||
| const decodeOutput = computed(() => withDefaultOnError(() => decodeURIComponent(decodeInput.value), '')); | ||||
| 
 | ||||
| const decodeValidation = useValidation({ | ||||
|   source: encodeInput, | ||||
|  | ||||
| @ -30,16 +30,12 @@ | ||||
| import { computed, ref } from 'vue'; | ||||
| import { SubdirectoryArrowRightRound } from '@vicons/material'; | ||||
| import { useValidation } from '@/composable/validation'; | ||||
| import { withDefaultOnError } from '@/utils/defaults'; | ||||
| import InputCopyable from '../../components/InputCopyable.vue'; | ||||
| 
 | ||||
| const urlToParse = ref('https://me:pwd@it-tools.tech:3000/url-parser?key1=value&key2=value2#the-hash'); | ||||
| const urlParsed = computed<URL | undefined>(() => { | ||||
|   try { | ||||
|     return new URL(urlToParse.value); | ||||
|   } catch (_) { | ||||
|     return undefined; | ||||
|   } | ||||
| }); | ||||
| 
 | ||||
| const urlParsed = computed(() => withDefaultOnError(() => new URL(urlToParse.value), undefined)); | ||||
| const validation = useValidation({ | ||||
|   source: urlToParse, | ||||
|   rules: [ | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user