-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(all): #2 added more tests and fixed bugs
- Loading branch information
1 parent
7f4dd59
commit e33ca7a
Showing
25 changed files
with
413 additions
and
106 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
/** | ||
* Converts a file to a base64 string representation. | ||
* | ||
* @param {File} file - The file to be converted. | ||
* @return {string} The base64 string representation of the file. | ||
*/ | ||
export function getBase64(file: File): Promise<string> { | ||
return new Promise((resolve, reject) => { | ||
const reader = new FileReader(); | ||
|
||
reader.readAsDataURL(file); | ||
|
||
reader.onload = () => | ||
typeof reader.result === "string" ? resolve(reader.result) : reject(); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import { identifyFilename } from "../url/identify-filename"; | ||
|
||
/** | ||
* Converts a base64 string to a File object and saves it with the specified file name. | ||
* | ||
* @param {string} url - The base64 string, blob url or http url of the file. | ||
* @param {string} [fileName] - The name to save the file as. | ||
* @param {string} [mimeType] - The mime type of the file | ||
* @return {Promise<File>} The converted File object. | ||
*/ | ||
export async function getFile( | ||
url: string, | ||
fileName?: string, | ||
mimeType?: string | ||
): Promise<File | null> { | ||
if (url.startsWith("data:")) { | ||
const arr = url.split(","); | ||
const mime = arr[0].match(/:(.*?);/)?.[1]; | ||
const bstr = atob(arr[arr.length - 1]); | ||
|
||
let n = bstr.length; | ||
const u8arr = new Uint8Array(n); | ||
while (n--) { | ||
u8arr[n] = bstr.charCodeAt(n); | ||
} | ||
|
||
const file = new File([u8arr], fileName || "file", { | ||
type: mime || mimeType, | ||
}); | ||
return Promise.resolve(file); | ||
} | ||
|
||
if (!fileName) { | ||
fileName = identifyFilename(url); | ||
} | ||
|
||
return fetch(url) | ||
.then((res) => res.arrayBuffer()) | ||
.then((buf) => new File([buf], fileName || "file", { type: mimeType })) | ||
.catch(() => null); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
export * from "./convert-base64-to-file"; | ||
export * from "./convert-file-to-base64"; | ||
export * from "./get-base64"; | ||
export * from "./get-file"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
export function paramCase(str: string) { | ||
return str | ||
.toLowerCase() | ||
.replace(/\s+/g, "-") | ||
.replace(/[^a-z0-9-]/g, ""); | ||
.replace(/[^a-z 0-9-]/g, "") | ||
.trim() | ||
.replace(/\s+/g, "-"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
export function snakeCase(str: string) { | ||
return str | ||
.toLowerCase() | ||
.replace(/\s+/g, "_") | ||
.replace(/[^a-z0-9_]/g, ""); | ||
.replace(/[^a-z 0-9-]/g, "") | ||
.trim() | ||
.replace(/\s+/g, "_"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,2 @@ | ||
export * from "./convert-url-to-file"; | ||
export * from "./identify-extension"; | ||
export * from "./identify-filename"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"str": "data:image/jpeg;base64,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" | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
/** | ||
* @jest-environment jsdom | ||
*/ | ||
|
||
import { getBase64, getFile } from "../../src"; | ||
import base64 from "./base64.json"; | ||
|
||
describe("Get Base 64", () => { | ||
it("converts an empty file to base 64 string", async () => { | ||
const file = new File([], "test.txt", { type: "plain/text" }); | ||
expect(await getBase64(file)).toBe("data:plain/text;base64,"); | ||
}); | ||
|
||
it("converts a valid file to base 64 string", async () => { | ||
const file = await getFile(base64.str, "image.jpg", "image/jpeg"); | ||
if (file === null) return; | ||
expect(await getBase64(file)).toBe(base64.str); | ||
}); | ||
}); |
Oops, something went wrong.