mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 09:46:22 +00:00
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
import fs from 'fs'
|
|
import consts from 'browser/lib/consts'
|
|
|
|
function updateSnippet (snippet, snippetFile) {
|
|
return new Promise((resolve, reject) => {
|
|
const snippets = JSON.parse(fs.readFileSync(snippetFile || consts.SNIPPET_FILE, 'utf-8'))
|
|
|
|
for (let i = 0; i < snippets.length; i++) {
|
|
const currentSnippet = snippets[i]
|
|
|
|
if (currentSnippet.id === snippet.id) {
|
|
if (
|
|
currentSnippet.name === snippet.name &&
|
|
currentSnippet.prefix === snippet.prefix &&
|
|
currentSnippet.content === snippet.content &&
|
|
currentSnippet.linesHighlighted === snippet.linesHighlighted
|
|
) {
|
|
// if everything is the same then don't write to disk
|
|
resolve(snippets)
|
|
} else {
|
|
currentSnippet.name = snippet.name
|
|
currentSnippet.prefix = snippet.prefix
|
|
currentSnippet.content = snippet.content
|
|
currentSnippet.linesHighlighted = (snippet.linesHighlighted)
|
|
fs.writeFile(snippetFile || consts.SNIPPET_FILE, JSON.stringify(snippets, null, 4), (err) => {
|
|
if (err) reject(err)
|
|
resolve(snippets)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
module.exports = updateSnippet
|