62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
// @ts-check
|
|
|
|
/**
|
|
* @typedef {TurboSyncConfigObject[]} TurboSyncConfigArray
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} TurboSyncConfigObject
|
|
* @property {string} [title]
|
|
* @property {string[] | TurboSyncFileObject[]} [files]
|
|
* @property {string[] | TurboSyncFileObject[]} [folders]
|
|
* @property {TurboSyncOptions} [options]
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} TurboSyncFileObject
|
|
* @property {string} path
|
|
* @property {string} [host]
|
|
* @property {string} [user]
|
|
* @property {string} [ssh_key]
|
|
* @property {number} [interval]
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} TurboSyncOptions
|
|
* @property {boolean} [delete] - Should files removed be deleted in all destinations?
|
|
* @property {string[]} [exclude] - Patterns that should be ignored. Eg "*.log"
|
|
* @property {number} [interval] - Seconds to delay before update
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} SyncFilesFnParams
|
|
* @property {string[] | TurboSyncFileObject[]} files
|
|
* @property {TurboSyncOptions | undefined} options
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} SyncFilesSyncFnParams
|
|
* @property {string[] | TurboSyncFileObject[]} files
|
|
* @property {TurboSyncOptions | undefined} options
|
|
* @property {string} filePath
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} SyncFoldersFnParams
|
|
* @property {string[] | TurboSyncFileObject[]} folders
|
|
* @property {TurboSyncOptions | undefined} options
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} SyncFoldersSyncFnParams
|
|
* @property {string[] | TurboSyncFileObject[]} dirs
|
|
* @property {TurboSyncOptions | undefined} options
|
|
* @property {string} dirPath
|
|
* @property {boolean} [init] - is this an initialization phase?
|
|
*/
|
|
|
|
/**
|
|
* @typedef {object} HandleEnvVarsFnParams
|
|
* @property {string} json
|
|
*/
|