eureka-utils 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  export declare const version = "1.0.0";
2
2
  export declare function addAttributes(element: HTMLElement, attributes: Record<string, any>): void;
3
- export declare function removeAttributes(element: HTMLElement, attributes: [string]): void;
3
+ export declare function removeAttributes(element: HTMLElement, attributes: string[]): void;
4
4
  export declare function findFirstAncestor(element: HTMLElement, ancestorInfo?: {
5
5
  tag: string;
6
6
  attributes?: Record<string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"elementAPI.d.ts","sourceRoot":"","sources":["../../src/api/elementAPI.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAE9B,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAMlF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,QAM1E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,GAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAmB,sBAoBvI;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAG3F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAGxF;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,QAG5E;AAED,wBAAgB,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,QAU7E;;;;;;;;;;AAED,wBAQC"}
1
+ {"version":3,"file":"elementAPI.d.ts","sourceRoot":"","sources":["../../src/api/elementAPI.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAE9B,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAMlF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAM1E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,GAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAmB,sBAoBvI;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAG3F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAGxF;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,QAK5E;AAED,wBAAgB,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,QAY7E;;;;;;;;;;AAED,wBAQC"}
@@ -45,25 +45,25 @@ export function findFirstAncestor(element, ancestorInfo = { tag: "DIV" }) {
45
45
  }
46
46
  export function loadBeforeHTML(element, beforeHTML, beforeRegex) {
47
47
  if (!beforeRegex) {
48
- throw new Error("O Regex precisa ser definido! " + beforeRegex);
48
+ throw new Error("Regex must be defined!" + beforeRegex);
49
49
  } //console.log(element.innerHTML)
50
50
  element.innerHTML = element.innerHTML.replace(beforeRegex, `${beforeHTML}${beforeRegex.source}`);
51
51
  }
52
52
  export function loadAfterHTML(element, afterHTML, afterRegex) {
53
53
  if (!afterRegex) {
54
- throw new Error("O Regex precisa ser definido! " + afterRegex);
54
+ throw new Error("Regex must be defined! " + afterRegex);
55
55
  }
56
56
  element.innerHTML = element.innerHTML.replace(afterRegex, `${afterRegex.source}${afterHTML}`);
57
57
  }
58
58
  export function loadBefore(beforeElement, nodeToAdd) {
59
- if (!(beforeElement instanceof Node) || !(nodeToAdd instanceof Node)) {
60
- throw new Error(`${beforeElement} e ${nodeToAdd} precisam ser um node!`);
59
+ if (!(beforeElement instanceof HTMLElement) || !(nodeToAdd instanceof HTMLElement)) {
60
+ throw new Error(`${beforeElement} and ${nodeToAdd} must be a ${HTMLElement.name}!`);
61
61
  }
62
62
  beforeElement.parentElement?.insertBefore(nodeToAdd, beforeElement);
63
63
  }
64
64
  export function loadAfter(afterElement, elementToAdd) {
65
- if (!(afterElement instanceof Node) || !elementToAdd) {
66
- throw new Error(`${afterElement} e ${elementToAdd} precisam ser um node!`);
65
+ if (!(afterElement instanceof HTMLElement) || !elementToAdd) {
66
+ throw new Error(`${afterElement} e ${elementToAdd} must be a ${HTMLElement.name}!`);
67
67
  }
68
68
  const nextSibling = afterElement.nextSibling;
69
69
  if (!nextSibling) {
@@ -1 +1 @@
1
- {"version":3,"file":"elementAPI.js","sourceRoot":"","sources":["../../src/api/elementAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementAPI.js","sourceRoot":"","sources":["../../src/api/elementAPI.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const version = "1.0.0";
1
+ export declare const version = "1.0.1";
2
2
  export declare function urlToFile(url: string, name?: string): Promise<File>;
3
3
  export declare function urlToFileSync(url: string, name?: string): File;
4
4
  declare const _default: {
@@ -1 +1 @@
1
- {"version":3,"file":"fileAPI.d.ts","sourceRoot":"","sources":["../../src/api/fileAPI.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAE9B,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhF;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,QAkBpE;;;;;;AAED,wBAIC"}
1
+ {"version":3,"file":"fileAPI.d.ts","sourceRoot":"","sources":["../../src/api/fileAPI.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAE9B,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAc,iBAY9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,QAkBpE;;;;;;AAED,wBAIC"}
@@ -1,24 +1,16 @@
1
- export const version = "1.0.0";
2
- export function urlToFile(url, name = "file.jpeg") {
3
- if (!url || typeof url !== "string") {
1
+ export const version = "1.0.1";
2
+ export async function urlToFile(url, name = "file.jpeg") {
3
+ if (!url || typeof url !== "string")
4
4
  throw new Error("Invalid url arg");
5
+ try {
6
+ // Note: Fetch can read data:image/
7
+ const response = await fetch(url);
8
+ const blob = await response.blob();
9
+ return new File([blob], name, { type: blob.type });
10
+ }
11
+ catch (error) {
12
+ throw new Error("Error while converting url to File: " + error.message);
5
13
  }
6
- return new Promise(resolve => {
7
- const arr = url.split(",");
8
- const data = arr[1];
9
- const mimeMatch = arr[0]?.match(/:(.*?);/);
10
- if (!mimeMatch || !data)
11
- throw new Error("Error while matching mime and data");
12
- const mime = mimeMatch[1];
13
- const dataString = atob(data);
14
- let n = dataString.length;
15
- let dataArr = new Uint8Array(dataString.length);
16
- while (n--) {
17
- dataArr[n] = dataString.charCodeAt(n);
18
- }
19
- const file = new File([dataArr], name, { type: mime });
20
- resolve(file);
21
- });
22
14
  }
23
15
  export function urlToFileSync(url, name = "file.jpeg") {
24
16
  if (!url || typeof url !== "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"fileAPI.js","sourceRoot":"","sources":["../../src/api/fileAPI.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA;AAE9B,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,OAAe,WAAW;IAC7D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAAC,CAAC;IAE3E,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QAE7B,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA;QACzB,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAE/C,OAAO,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAc,EAAE,CAAC,CAAA;QAEhE,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAe,WAAW;IACjE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAAC,CAAC;IAE3E,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IAE7B,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA;IACzB,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAE/C,OAAO,CAAC,EAAE,EAAE,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAc,EAAE,CAAC,CAAA;IAEhE,OAAO,IAAI,CAAA;AACf,CAAC;AAED,eAAe;IACX,OAAO;IACP,SAAS;IACT,aAAa;CAChB,CAAA"}
1
+ {"version":3,"file":"fileAPI.js","sourceRoot":"","sources":["../../src/api/fileAPI.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAAI,GAAG,WAAW;IAC3D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAEvE,IAAI,CAAC;QACD,mCAAmC;QACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAA;IACpD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3E,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAe,WAAW;IACjE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAAC,CAAC;IAE3E,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC1C,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IAE7B,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA;IACzB,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAE/C,OAAO,CAAC,EAAE,EAAE,CAAC;QAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAc,EAAE,CAAC,CAAA;IAEhE,OAAO,IAAI,CAAA;AACf,CAAC;AAED,eAAe;IACX,OAAO;IACP,SAAS;IACT,aAAa;CAChB,CAAA"}
@@ -1,9 +1,10 @@
1
1
  export default class Jpeg {
2
2
  quality: number;
3
- fileName: string;
3
+ name: string;
4
4
  width: number;
5
5
  file: File | undefined;
6
6
  url: string | undefined;
7
- constructor(blob: Blob, info?: Jpeg | Record<string, any>);
7
+ constructor(info?: Jpeg | Record<string, any>);
8
+ process(blob: Blob): Promise<unknown>;
8
9
  }
9
10
  //# sourceMappingURL=Jpeg.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Jpeg.d.ts","sourceRoot":"","sources":["../../src/class/Jpeg.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,OAAO,EAAE,MAAM,CAAK;IACpB,QAAQ,EAAE,MAAM,CAAc;IAC9B,KAAK,EAAE,MAAM,CAAM;IACnB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAY;IAClC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAY;gBAEvB,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;CAmChE"}
1
+ {"version":3,"file":"Jpeg.d.ts","sourceRoot":"","sources":["../../src/class/Jpeg.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,OAAO,EAAE,MAAM,CAAK;IACpB,IAAI,EAAE,MAAM,CAAc;IAC1B,KAAK,EAAE,MAAM,CAAM;IACnB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAY;IAClC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAY;gBAEvB,IAAI,GAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAO3C,OAAO,CAAC,IAAI,EAAE,IAAI;CAsC3B"}
@@ -1,37 +1,44 @@
1
- import { urlToFile, urlToFileSync } from "../api/fileAPI.js";
1
+ import { urlToFile } from "../api/fileAPI.js";
2
2
  export default class Jpeg {
3
3
  quality = .7;
4
- fileName = "file.jpeg";
4
+ name = "file.jpeg";
5
5
  width = 800;
6
6
  file = undefined;
7
7
  url = undefined;
8
- constructor(blob, info = {}) {
8
+ constructor(info = {}) {
9
9
  this.quality = info.quality || this.quality;
10
- this.fileName = info.fileName || this.fileName;
10
+ this.name = info.name || this.name;
11
11
  this.width = info.width || this.width;
12
- const fileReader = new FileReader;
13
- fileReader.onload = (e) => {
14
- const img_url = e.target?.result;
15
- const img = document.createElement("img");
16
- img.src = img_url;
17
- img.onload = (event) => {
18
- const canvas = document.createElement("canvas");
19
- const ratio = this.width / event.target.width;
20
- canvas.width = this.width;
21
- canvas.height = event.target.height * ratio;
22
- const ctx = canvas.getContext("2d");
23
- ctx?.drawImage(img, 0, 0, canvas.width, canvas.height);
24
- const resizedImgUrl = canvas.toDataURL("image/jpeg", this.quality); //console.log(resizedImgUrl)
25
- const newFile = urlToFileSync(resizedImgUrl, `${this.fileName}`);
26
- this.url = resizedImgUrl;
27
- this.file = newFile;
12
+ }
13
+ // Humph! Use um método async em vez de fazer bagunça no constructor
14
+ async process(blob) {
15
+ return new Promise((resolve, reject) => {
16
+ const fileReader = new FileReader();
17
+ fileReader.onload = (e) => {
18
+ const img_url = e.target?.result;
19
+ const img = document.createElement("img");
20
+ img.src = img_url;
21
+ img.onload = async () => {
22
+ const canvas = document.createElement("canvas");
23
+ const ratio = this.width / img.width;
24
+ canvas.width = this.width;
25
+ canvas.height = img.height * ratio;
26
+ const ctx = canvas.getContext("2d");
27
+ ctx?.drawImage(img, 0, 0, canvas.width, canvas.height);
28
+ const resizedImgUrl = canvas.toDataURL("image/jpeg", this.quality);
29
+ const newFile = await urlToFile(resizedImgUrl, this.name);
30
+ if (!resizedImgUrl.startsWith("data:image")) {
31
+ throw new Error("Canvas failed to generate a valid image");
32
+ }
33
+ this.url = resizedImgUrl;
34
+ this.file = newFile;
35
+ URL.revokeObjectURL(img.src);
36
+ resolve(this);
37
+ };
28
38
  };
29
- };
30
- fileReader.onerror = (err) => {
31
- fileReader.abort();
32
- new DOMException(`Cannot read the file! ${err}`);
33
- };
34
- fileReader.readAsDataURL(blob);
39
+ fileReader.onerror = () => reject(new Error("Error while reading blob"));
40
+ fileReader.readAsDataURL(blob);
41
+ });
35
42
  }
36
43
  }
37
44
  //# sourceMappingURL=Jpeg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Jpeg.js","sourceRoot":"","sources":["../../src/class/Jpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE5D,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,OAAO,GAAW,EAAE,CAAA;IACpB,QAAQ,GAAW,WAAW,CAAA;IAC9B,KAAK,GAAW,GAAG,CAAA;IACnB,IAAI,GAAqB,SAAS,CAAA;IAClC,GAAG,GAAuB,SAAS,CAAA;IAEnC,YAAY,IAAU,EAAE,OAAmC,EAAE;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAA;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;QAErC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAA;QAEjC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,MAAgB,CAAA;YAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACzC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAA;YAEjB,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE;gBACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAA;gBAEnE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACzB,MAAM,CAAC,MAAM,GAAI,KAAK,CAAC,MAA2B,CAAC,MAAM,GAAG,KAAK,CAAA;gBAEjE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACnC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;gBAEtD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,4BAA4B;gBAC/F,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAEhE,IAAI,CAAC,GAAG,GAAG,aAAa,CAAA;gBACxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA;YACvB,CAAC,CAAA;QACL,CAAC,CAAA;QACD,UAAU,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;YACzB,UAAU,CAAC,KAAK,EAAE,CAAA;YAClB,IAAI,YAAY,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC,CAAA;QACD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;CACJ"}
1
+ {"version":3,"file":"Jpeg.js","sourceRoot":"","sources":["../../src/class/Jpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,OAAO,GAAW,EAAE,CAAA;IACpB,IAAI,GAAW,WAAW,CAAA;IAC1B,KAAK,GAAW,GAAG,CAAA;IACnB,IAAI,GAAqB,SAAS,CAAA;IAClC,GAAG,GAAuB,SAAS,CAAA;IAEnC,YAAY,OAAmC,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAA;IACzC,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,OAAO,CAAC,IAAU;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;YAEnC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;gBACtB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAA;gBAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBACzC,GAAG,CAAC,GAAG,GAAG,OAAiB,CAAA;gBAE3B,GAAG,CAAC,MAAM,GAAG,KAAK,IAAG,EAAE;oBACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;oBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;oBAEpC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;oBACzB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAA;oBAElC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;oBACnC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;oBAEtD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;oBAClE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;oBAEzD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC1C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;oBAC9D,CAAC;oBAED,IAAI,CAAC,GAAG,GAAG,aAAa,CAAA;oBACxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA;oBAEnB,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAC5B,OAAO,CAAC,IAAI,CAAC,CAAA;gBACjB,CAAC,CAAA;YACL,CAAC,CAAA;YAED,UAAU,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAA;YACxE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eureka-utils",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "A group of useful APIs and Classes that I use in many of my projets",
5
5
  "main": "dist/main.js",
6
6
  "files": [