 f6154dc0af
			
		
	
	f6154dc0af
	
	
	
		
			
			Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com> Co-authored-by: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| export function collectPageVars(content) {
 | |
| 	const pageVars = [];
 | |
| 	const collect = (xs: any[]) => {
 | |
| 		for (const x of xs) {
 | |
| 			if (x.type === 'textInput') {
 | |
| 				pageVars.push({
 | |
| 					name: x.name,
 | |
| 					type: 'string',
 | |
| 					value: x.default || ''
 | |
| 				});
 | |
| 			} else if (x.type === 'textareaInput') {
 | |
| 				pageVars.push({
 | |
| 					name: x.name,
 | |
| 					type: 'string',
 | |
| 					value: x.default || ''
 | |
| 				});
 | |
| 			} else if (x.type === 'numberInput') {
 | |
| 				pageVars.push({
 | |
| 					name: x.name,
 | |
| 					type: 'number',
 | |
| 					value: x.default || 0
 | |
| 				});
 | |
| 			} else if (x.type === 'switch') {
 | |
| 				pageVars.push({
 | |
| 					name: x.name,
 | |
| 					type: 'boolean',
 | |
| 					value: x.default || false
 | |
| 				});
 | |
| 			} else if (x.type === 'counter') {
 | |
| 				pageVars.push({
 | |
| 					name: x.name,
 | |
| 					type: 'number',
 | |
| 					value: 0
 | |
| 				});
 | |
| 			} else if (x.type === 'radioButton') {
 | |
| 				pageVars.push({
 | |
| 					name: x.name,
 | |
| 					type: 'string',
 | |
| 					value: x.default || ''
 | |
| 				});
 | |
| 			} else if (x.children) {
 | |
| 				collect(x.children);
 | |
| 			}
 | |
| 		}
 | |
| 	};
 | |
| 	collect(content);
 | |
| 	return pageVars;
 | |
| }
 |