( variablesContainer: gdVariablesContainer, name: string, serializedVariable: any | null, index: number, inheritedVariablesContainer: ?gdVariablesContainer, variableType?: 'number' | 'string' | 'boolean' | null )
| 44 | }; |
| 45 | |
| 46 | export const insertInVariablesContainer = ( |
| 47 | variablesContainer: gdVariablesContainer, |
| 48 | name: string, |
| 49 | serializedVariable: any | null, |
| 50 | index: number, |
| 51 | inheritedVariablesContainer: ?gdVariablesContainer, |
| 52 | variableType?: 'number' | 'string' | 'boolean' | null |
| 53 | ): { name: string, variable: gdVariable } => { |
| 54 | const newName = newNameGenerator( |
| 55 | name, |
| 56 | name => { |
| 57 | return ( |
| 58 | variablesContainer.has(name) || |
| 59 | (!!inheritedVariablesContainer && inheritedVariablesContainer.has(name)) |
| 60 | ); |
| 61 | }, |
| 62 | serializedVariable ? 'CopyOf' : undefined |
| 63 | ); |
| 64 | const newVariable = new gd.Variable(); |
| 65 | if (serializedVariable) { |
| 66 | unserializeFromJSObject(newVariable, serializedVariable); |
| 67 | newVariable.resetPersistentUuid(); |
| 68 | } |
| 69 | const variable = variablesContainer.insert(newName, newVariable, index); |
| 70 | if (variableType === 'number') { |
| 71 | variable.setValue(0); |
| 72 | } else if (variableType === 'string') { |
| 73 | variable.setString(''); |
| 74 | } else if (variableType === 'boolean') { |
| 75 | variable.setBool(false); |
| 76 | } |
| 77 | newVariable.delete(); |
| 78 | return { name: newName, variable }; |
| 79 | }; |
| 80 | |
| 81 | export const insertInVariableChildrenArray = ( |
| 82 | targetParentVariable: gdVariable, |
no test coverage detected