@dschu012/casclib
Version:
CascLib node bindings
33 lines (27 loc) • 1.37 kB
text/typescript
const addon = require('../build/Release/casclib-native')
export interface FindResult {
fullName: string
baseName: string
fileSize: number
}
export type FindFilesCallback = (error: Error, results: FindResult[]) => void
export function findFilesSync(storageHandle: any, searchPattern: string = "*", listFilePath: string = ''): FindResult[] {
return addon.findCascFilesSync(storageHandle, searchPattern, listFilePath)
}
export function findFiles(storageHandle: any, searchPattern: string): Promise<FindResult[]>
export function findFiles(storageHandle: any, searchPattern: string, listFilePath: string): Promise<FindResult[]>
export function findFiles(storageHandle: any, searchpattern: string, callback: FindFilesCallback): null
export function findFiles(storageHandle: any, searchpattern: string, listFilePath: string, callback: FindFilesCallback): null
export function findFiles(
storageHandle: any,
searchPattern: string,
listFilePathOrCallback: string | FindFilesCallback = '',
callback?: (error: Error, results: FindResult[]) => void
): null | Promise<FindResult[]> {
let listFilePath = listFilePathOrCallback
if(typeof listFilePathOrCallback !== 'string') {
listFilePath = ''
callback = listFilePathOrCallback
}
return addon.findCascFiles(storageHandle, searchPattern, listFilePath, callback)
}