@@ -71,25 +71,30 @@ Internally, the `filter()` method iterates over each element of the array and pa
7171The ` filter() ` method accepts two named arguments: a ` callback ` function and an optional object.
7272
7373
74- ###### Generator in javascript:
74+ ###### Generator in javascript: Base64 converter
7575``` javascript
76- function * counter (value ) {
77- let step;
78-
79- while (true ) {
80- step = yield ++ value;
81-
82- if (step) {
83- value += step;
84- }
85- }
86- }
76+ // Helper function to convert file to Base64
77+ const convertToBase64 = (file ) => {
78+ return new Promise ((resolve , reject ) => {
79+ const reader = new FileReader ();
80+ reader .onload = () => resolve (reader .result );
81+ reader .onerror = (error ) => reject (error);
82+ reader .readAsDataURL (file);
83+ });
84+ };
85+ ```
8786
88- const generatorFunc = counter (0 );
89- console .log (generatorFunc .next ().value ); // 1
90- console .log (generatorFunc .next ().value ); // 2
91- console .log (generatorFunc .next ().value ); // 3
92- console .log (generatorFunc .next (10 ).value ); // 14
93- console .log (generatorFunc .next ().value ); // 15
94- console .log (generatorFunc .next (10 ).value ); // 26
87+ ####### Convert:
88+ ``` javascript
89+ const handleFileChange = async (event ) => {
90+ const file = event .target .files [0 ];
91+ if (file) {
92+ try {
93+ const base64 = await convertToBase64 (file);
94+ setIcon (base64); // Save Base64 string
95+ } catch (err) {
96+ console .error (" Error converting file to Base64:" , err);
97+ }
98+ }
99+ };
95100```
0 commit comments