initial changes

This commit is contained in:
2021-03-03 11:07:02 -06:00
parent 077d2a373a
commit 387cdf3b96
15 changed files with 1897 additions and 49 deletions

45
src/index.js Normal file
View File

@@ -0,0 +1,45 @@
import file from './io/file'
import connection from './networking/connection';
import connection_pool from './networking/connection_pool';
import * as ops from './ops'
export const connect = async (host_or_ip, port, password) => {
const conn = new connection(host_or_ip, port, password);
await conn.connect();
return conn;
};
export const create_api = conn => {
return {
directory : {
list : async (remote_path, page_reader_cb) =>
ops.list_directory(conn, remote_path, page_reader_cb),
create : async remote_path => ops.create_directory(conn, remote_path),
remove : async remote_path => ops.remove_directory(conn, remote_path),
},
file : {
create_or_open : async remote_path => new file(
conn, await ops.create_or_open_file(conn, remote_path), remote_path),
delete : async (remote_path) => ops.delete_file(conn, remote_path),
download :
async (remote_path, local_path, progress_cb, overwrite, resume) =>
ops.download_file(conn, remote_path, local_path, progress_cb,
overwrite, resume),
open : async remote_path =>
new file(conn, await ops.open_file(conn, remote_path), remote_path),
upload :
async (local_path, remote_path, progress_cb, overwrite, resume) =>
ops.upload_file(conn, local_path, remote_path, progress_cb,
overwrite, resume),
},
get_drive_information : async () => ops.get_drive_information(conn),
};
};
export const create_pool = async (pool_size, host_or_ip, port, password) => {
if (pool_size <= 1) {
return connect(host_or_ip, port, password);
}
return new connection_pool(pool_size, host_or_ip, port, password);
};