tangled
alpha
login
or
join now
azom.dev
/
PrivacyPin
2
fork
atom
Self-hosted, federated location sharing app and server that prioritizes user privacy and security
end-to-end-encryption
location-sharing
privacy
self-hosted
federated
2
fork
atom
overview
issues
1
pulls
pipelines
bumped typscript version to have base64 method recognized
azom.dev
2 months ago
aa2b8b86
b4ecddac
+3
-56
3 changed files
expand all
collapse all
unified
split
app
bun.lock
package.json
src
types.d.ts
+2
-2
app/bun.lock
···
13
"devDependencies": {
14
"@tauri-apps/cli": "^2.9.4",
15
"@types/alpinejs": "^3.13.11",
16
-
"typescript": "~5.6.3",
17
"vite": "^6.4.1",
18
},
19
},
···
175
176
"tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
177
178
-
"typescript": ["typescript@5.6.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw=="],
179
180
"vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="],
181
}
···
13
"devDependencies": {
14
"@tauri-apps/cli": "^2.9.4",
15
"@types/alpinejs": "^3.13.11",
16
+
"typescript": "~5.9.3",
17
"vite": "^6.4.1",
18
},
19
},
···
175
176
"tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
177
178
+
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
179
180
"vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="],
181
}
+1
-1
app/package.json
···
17
"devDependencies": {
18
"@tauri-apps/cli": "^2.9.4",
19
"@types/alpinejs": "^3.13.11",
20
-
"typescript": "~5.6.3",
21
"vite": "^6.4.1"
22
}
23
}
···
17
"devDependencies": {
18
"@tauri-apps/cli": "^2.9.4",
19
"@types/alpinejs": "^3.13.11",
20
+
"typescript": "~5.9.3",
21
"vite": "^6.4.1"
22
}
23
}
-53
app/src/types.d.ts
···
1
-
// THIS FILE IS TEMPORARY UNTIL WE CAN HAVE A TYPESCRIPT VERSION THAT INCLUDE THE BASE64 <-> UINT8ARRAY CONVERSION STUFF
2
-
3
-
declare global {
4
-
interface Uint8Array {
5
-
/**
6
-
* Converts this `Uint8Array` to a Base64 or Base64URL encoded string.
7
-
*
8
-
* @param options Optional configuration:
9
-
* - `alphabet`: Selects between `"base64"` (default) and `"base64url"` alphabets.
10
-
* - `omitPadding`: If true, omits the trailing `=` padding characters.
11
-
*
12
-
* @returns The Base64-encoded representation of the byte array.
13
-
*
14
-
* @example
15
-
* ```ts
16
-
* const bytes = new Uint8Array([72, 101, 108, 108, 111]);
17
-
* console.log(bytes.toBase64()); // "SGVsbG8="
18
-
* ```
19
-
*/
20
-
toBase64(options?: { alphabet?: "base64" | "base64url"; omitPadding?: boolean }): string;
21
-
}
22
-
23
-
interface Uint8ArrayConstructor {
24
-
/**
25
-
* Creates a `Uint8Array` from a Base64 or Base64URL encoded string.
26
-
*
27
-
* @param base64 The input string to decode.
28
-
* @param options Optional configuration:
29
-
* - `alphabet`: Selects between `"base64"` (default) and `"base64url"` alphabets.
30
-
* - `lastChunkHandling`: Controls how to handle incomplete input:
31
-
* - `"strict"` (default): Throws an error if input is not valid Base64.
32
-
* - `"loose"`: Tolerates missing padding or invalid trailing characters.
33
-
* - `"stop-before-partial"`: Ignores an incomplete trailing chunk.
34
-
*
35
-
* @returns A new `Uint8Array` containing the decoded bytes.
36
-
*
37
-
* @example
38
-
* ```ts
39
-
* const bytes = Uint8Array.fromBase64("SGVsbG8=");
40
-
* console.log(new TextDecoder().decode(bytes)); // "Hello"
41
-
* ```
42
-
*/
43
-
fromBase64(
44
-
base64: string,
45
-
options?: {
46
-
alphabet?: "base64" | "base64url";
47
-
lastChunkHandling?: "loose" | "strict" | "stop-before-partial";
48
-
},
49
-
): Uint8Array;
50
-
}
51
-
}
52
-
53
-
export {};
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0