33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import { Parameters } from "./types";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export const defaultParameters: Parameters = {
							 | 
						||
| 
								 | 
							
								    temperature: 0.5,
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export function loadParameters(id: string | null | undefined = null): Parameters {
							 | 
						||
| 
								 | 
							
								    const apiKey = localStorage.getItem('openai-api-key') || undefined;
							 | 
						||
| 
								 | 
							
								    const key = id ? `parameters-${id}` : 'parameters';
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        const raw = localStorage.getItem(key);
							 | 
						||
| 
								 | 
							
								        if (raw) {
							 | 
						||
| 
								 | 
							
								            const parameters = JSON.parse(raw) as Parameters;
							 | 
						||
| 
								 | 
							
								            parameters.apiKey = apiKey;
							 | 
						||
| 
								 | 
							
								            return parameters;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    } catch (e) { }
							 | 
						||
| 
								 | 
							
								    return id ? loadParameters() : { ...defaultParameters, apiKey };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export function saveParameters(id: string, parameters: Parameters) {
							 | 
						||
| 
								 | 
							
								    if (parameters) {
							 | 
						||
| 
								 | 
							
								        const apiKey = parameters.apiKey;
							 | 
						||
| 
								 | 
							
								        delete parameters.apiKey;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        localStorage.setItem(`parameters-${id}`, JSON.stringify(parameters));
							 | 
						||
| 
								 | 
							
								        localStorage.setItem('parameters', JSON.stringify(parameters));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (apiKey) {
							 | 
						||
| 
								 | 
							
								            localStorage.setItem(`openai-api-key`, apiKey);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |