@oliversalzburg/js-utils 0.0.28-dev.34 → 0.0.28-dev.35

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@oliversalzburg/js-utils",
4
- "version": "0.0.28-dev.34",
4
+ "version": "0.0.28-dev.35",
5
5
  "license": "MIT",
6
6
  "author": "Oliver Salzburg <oliver.salzburg@gmail.com>",
7
7
  "repository": {
@@ -30,29 +30,29 @@
30
30
  },
31
31
  "types": "./index.d.ts",
32
32
  "devDependencies": {
33
- "@droppedcode/typedoc-plugin-copy-assets": "1.0.10",
33
+ "@droppedcode/typedoc-plugin-copy-assets": "1.0.11",
34
34
  "@types/chai": "4.3.11",
35
35
  "@types/chai-as-promised": "7.1.8",
36
- "@types/eslint": "8.56.0",
36
+ "@types/eslint": "8.56.1",
37
37
  "@types/mocha": "10.0.6",
38
- "@types/node": "20.10.5",
39
- "@types/web": "0.0.131",
40
- "@typescript-eslint/eslint-plugin": "6.16.0",
41
- "@typescript-eslint/parser": "6.16.0",
42
- "c8": "8.0.1",
43
- "chai": "4.3.10",
38
+ "@types/node": "20.10.6",
39
+ "@types/web": "0.0.134",
40
+ "@typescript-eslint/eslint-plugin": "6.18.0",
41
+ "@typescript-eslint/parser": "6.18.0",
42
+ "c8": "9.0.0",
43
+ "chai": "4.4.0",
44
44
  "chai-as-promised": "7.1.1",
45
45
  "eslint": "8.56.0",
46
- "eslint-plugin-jsdoc": "46.9.1",
46
+ "eslint-plugin-jsdoc": "48.0.2",
47
47
  "eslint-plugin-tsdoc": "0.2.17",
48
48
  "lint-staged": "15.2.0",
49
49
  "mocha": "10.2.0",
50
50
  "prettier": "3.1.1",
51
51
  "prettier-package-json": "2.8.0",
52
52
  "prettier-plugin-organize-imports": "3.2.4",
53
- "typedoc": "0.25.4",
53
+ "typedoc": "0.25.6",
54
54
  "typedoc-plugin-extras": "3.0.0",
55
- "typedoc-plugin-mdn-links": "3.1.9",
55
+ "typedoc-plugin-mdn-links": "3.1.10",
56
56
  "typescript": "5.3.3"
57
57
  },
58
58
  "packageManager": "yarn@4.0.2"
package/string.d.ts CHANGED
@@ -18,3 +18,17 @@ export declare const indent: (subject: string, depth?: number, prefix?: string)
18
18
  * @group Strings
19
19
  */
20
20
  export declare const hashCyrb53: (subject: string, seed?: number) => string;
21
+ /**
22
+ * Encodes the provided string in Base64.
23
+ * @param subject - The string to encode.
24
+ * @returns The subject string encoded in Base64.
25
+ * @group Strings
26
+ */
27
+ export declare const base64Encode: (subject: string) => string;
28
+ /**
29
+ * Decodes the provided Base64 encoded string.
30
+ * @param subject - The string to decode.
31
+ * @returns The decoded subject string.
32
+ * @group Strings
33
+ */
34
+ export declare const base64Decode: (subject: string) => string;
package/string.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { mustExist } from "./nil.js";
1
2
  /**
2
3
  * Indent every line of the passed text.
3
4
  * @param subject - The text to indent.
@@ -30,4 +31,26 @@ export const hashCyrb53 = (subject, seed = 0) => {
30
31
  h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);
31
32
  return (h2 >>> 0).toString(16).padStart(8, "0") + (h1 >>> 0).toString(16).padStart(8, "0");
32
33
  };
34
+ /**
35
+ * Encodes the provided string in Base64.
36
+ * @param subject - The string to encode.
37
+ * @returns The subject string encoded in Base64.
38
+ * @group Strings
39
+ */
40
+ export const base64Encode = (subject) => {
41
+ const bytes = new TextEncoder().encode(subject);
42
+ const binString = String.fromCodePoint(...bytes);
43
+ return btoa(binString);
44
+ };
45
+ /**
46
+ * Decodes the provided Base64 encoded string.
47
+ * @param subject - The string to decode.
48
+ * @returns The decoded subject string.
49
+ * @group Strings
50
+ */
51
+ export const base64Decode = (subject) => {
52
+ const binString = atob(subject);
53
+ const bytes = Uint8Array.from(binString, m => mustExist(m.codePointAt(0)));
54
+ return new TextDecoder().decode(bytes);
55
+ };
33
56
  //# sourceMappingURL=string.js.map
package/string.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../source/string.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAU,EAAE,CAC5E,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC,EAAU,EAAE;IAC9D,IAAI,EAAE,GAAG,UAAU,GAAG,IAAI,EACxB,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9C,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7F,CAAC,CAAC"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../source/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAU,EAAE,CAC5E,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC,EAAU,EAAE;IAC9D,IAAI,EAAE,GAAG,UAAU,GAAG,IAAI,EACxB,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9C,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC"}