MCPcopy Create free account
hub / github.com/massCodeIO/massCode / createSnippet

Function createSnippet

src/renderer/composables/useSnippets.ts:279–324  ·  view source on GitHub ↗
(payload?: CreateSnippetPayload)

Source from the content-addressed store, hash-verified

277}
278
279async function createSnippet(payload?: CreateSnippetPayload) {
280 try {
281 const targetFolderId = state.folderId || null
282 const folder = getFolderByIdFromTree(folders.value, targetFolderId)
283 const existingNames = await getSnippetNamesForCreate(targetFolderId)
284 const requestedName = payload?.name?.trim()
285 const hasRequestedName = existingNames.some(
286 name => name.trim().toLowerCase() === requestedName?.toLowerCase(),
287 )
288 const nextSnippetName
289 = requestedName && !hasRequestedName
290 ? requestedName
291 : getNextIndexedName(
292 requestedName || i18n.t('snippet.untitled'),
293 existingNames,
294 )
295
296 markPersistedStorageMutation()
297 const { data } = await api.snippets.postSnippets({
298 name: nextSnippetName,
299 folderId: targetFolderId,
300 })
301
302 await api.snippets.postSnippetsByIdContents(String(data.id), {
303 label: `${i18n.t('common.fragment')} 1`,
304 value: '',
305 language: folder?.defaultLanguage || 'plain_text',
306 })
307
308 useDonations().incrementCreated('code')
309
310 if (
311 state.libraryFilter === LibraryFilter.Trash
312 || state.libraryFilter === LibraryFilter.Favorites
313 ) {
314 state.libraryFilter = LibraryFilter.All
315 }
316
317 await getSnippets(queryByLibraryOrFolderOrSearch.value)
318
319 return Number(data.id)
320 }
321 catch (error) {
322 console.error(error)
323 }
324}
325
326async function createSnippetAndSelect(payload?: CreateSnippetPayload) {
327 const id = await createSnippet(payload)

Callers 1

createSnippetAndSelectFunction · 0.70

Calls 6

useDonationsFunction · 0.90
getSnippetNamesForCreateFunction · 0.85
getFolderByIdFromTreeFunction · 0.70
getNextIndexedNameFunction · 0.70
getSnippetsFunction · 0.70

Tested by

no test coverage detected