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