Skip to content

Commit b72c387

Browse files
committed
Added unfinished URL parser and helper functions
Helper functions will ensure URL parameters are normalized before being used.
1 parent 2c52f25 commit b72c387

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

client/utils/parseURLParams.js

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import { p5Versions, currentP5Version } from "../../common/p5Versions";
2+
3+
// One centralized parser
4+
export function parseUrlParams(url) {
5+
const params = new URLSearchParams(new URL(url, 'https://dummy.origin').search);
6+
7+
return {
8+
version: validateVersion(params.get('version')), // string
9+
sound: validateSound(params.get('sound')), // bool
10+
preload: validatePreload(params.get('preload')), // bool
11+
shapes: validateShapes(params.get('shapes')), // bool
12+
data: validateData(params.get('data')) // bool
13+
// Easy to add more params here
14+
};
15+
}
16+
17+
function validateVersion(version) {
18+
if (!version) {
19+
return currentP5Version;
20+
}
21+
22+
// if valid return version
23+
24+
return currentP5Version;
25+
}
26+
function validateSound(sound) {
27+
return;
28+
29+
// on, true, 1 == on
30+
// off, false, 0 == off
31+
32+
// default if none triggered
33+
34+
}
35+
function validatePreload(preload) {
36+
return;
37+
38+
// on, true, 1 == on
39+
// off, false, 0 == off
40+
41+
// default if none triggered
42+
43+
}
44+
function validateShapes(shapes) {
45+
return;
46+
47+
// on, true, 1 == on
48+
// off, false, 0 == off
49+
50+
// default if none triggered
51+
52+
53+
}
54+
function validateData(data) {
55+
return;
56+
57+
// on, true, 1 == on
58+
// off, false, 0 == off
59+
60+
// default if none triggered
61+
62+
}

0 commit comments

Comments
 (0)