29 lines
779 B
TypeScript
29 lines
779 B
TypeScript
import state, { IFile } from '../index'
|
|
|
|
const languageMapping = {
|
|
ts: 'typescript',
|
|
js: 'javascript',
|
|
md: 'markdown',
|
|
c: 'c',
|
|
h: 'c',
|
|
other: ''
|
|
} /* Initializes empty file to global state */
|
|
export const createNewFile = (name: string) => {
|
|
const tempName = name.split('.')
|
|
const fileExt = tempName[tempName.length - 1] || 'other'
|
|
const emptyFile: IFile = {
|
|
name,
|
|
language: languageMapping[fileExt as 'ts' | 'js' | 'md' | 'c' | 'h' | 'other'],
|
|
content: ''
|
|
}
|
|
state.files.push(emptyFile)
|
|
state.active = state.files.length - 1
|
|
}
|
|
|
|
export const renameFile = (oldName: string, nwName: string) => {
|
|
const file = state.files.find(file => file.name === oldName)
|
|
if (!file) throw Error(`No file exists with name ${oldName}`)
|
|
|
|
file.name = nwName
|
|
}
|