Skip to content

Commit

Permalink
fixing detectFolder internals
Browse files Browse the repository at this point in the history
version bump
  • Loading branch information
karnthis committed Feb 20, 2024
1 parent 83645bb commit cad2e8f
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 23 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@jackallabs/jackal.js",
"version": "2.3.0",
"version": "2.3.1",
"description": "Javascript library for interacting with the Jackal Chain",
"keywords": [
"jackal",
Expand Down
28 changes: 8 additions & 20 deletions src/classes/fileIo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import {
import {
buildPostFile,
makePermsBlock,
readFileTreeEntry,
readFileTreeEntry, readFileTreeFolder,
removeFileTreeEntry
} from '@/utils/compression'
import IFileMetaHashMap from '@/interfaces/file/IFileMetaHashMap'
Expand Down Expand Up @@ -911,26 +911,14 @@ export default class FileIo implements IFileIo {
if (!this.walletRef.traits)
throw new Error(signerNotEnabled('FileIo', 'detectFolder'))
const owner = this.walletRef.getJackalAddress()
try {
const data = await readFileTreeEntry(
owner,
rawPath,
this.walletRef,
true
).catch((err: Error) => {
throw err
})
const detect = await FolderHandler.trackFolder(data as IFolderFrame).catch(
(err: Error) => {
console.error(err)
return false
}
)
return !!detect
} catch (err) {
console.warn('detectFolder()', err)
return await readFileTreeFolder(
owner,
rawPath,
this.walletRef
).catch((err: Error) => {
console.warn(err)
return false
}
})
}

/**
Expand Down
29 changes: 29 additions & 0 deletions src/utils/compression.ts
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,35 @@ export async function readFileTreeEntry (
}
}

/**
* Read FileTree path looking for folder.
* @param {string} owner - Jkl address of owner.
* @param {string} rawPath - Path to stored data.
* @param {IWalletHandler} walletRef - Wallet instance for accessing functions.
* @returns {Promise<boolean>}
*/
export async function readFileTreeFolder (
owner: string,
rawPath: string,
walletRef: IWalletHandler
): Promise<boolean> {
const result = await getFileTreeData(
rawPath,
owner,
walletRef.getQueryHandler()
).catch(err => {
throw err
})
if (!result.success) {
const warn = `Folder Data Not Found for: ${rawPath}`
console.warn(warn)
throw Error(warn)
} else {
const data = result.value.files as Files
return data.contents.length > 0
}
}

/**
*
* @param {string} rawPath - Path to FileTree entry to remove.
Expand Down

0 comments on commit cad2e8f

Please sign in to comment.