Skip to content

Commit d3efbbc

Browse files
committed
Fix: Made options params optional
1 parent 74f03f1 commit d3efbbc

13 files changed

+40
-36
lines changed

src/commands/solid-copy.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ export interface ICommandOptionsCopy extends ICommandOptions {
2626
noOverride?: boolean,
2727
}
2828

29-
export default async function copy(src: string, dst: string, options: ICommandOptionsCopy) : Promise<{
29+
export default async function copy(src: string, dst: string, options?: ICommandOptionsCopy) : Promise<{
3030
source: {files: FileInfo[]; directories: FileInfo[]; aclfiles: FileInfo[];}
3131
destination: {files: FileInfo[]; directories: FileInfo[]; aclfiles: FileInfo[];}
3232
}> {
33-
let commandOptions = setOptionDefaults<ICommandOptionsCopy>(options);
33+
let commandOptions = setOptionDefaults<ICommandOptionsCopy>(options || {});
3434
let fetch = commandOptions.fetch;
3535
commandOptions.all = commandOptions.all || false;
3636
commandOptions.interactiveOverride = commandOptions.interactiveOverride || false;

src/commands/solid-edit.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ interface ICommandOptionsEdit extends ICommandOptions {
1414
touch?: boolean,
1515
}
1616

17-
export default async function edit(url: string, options: ICommandOptionsEdit) {
18-
let commandOptions = setOptionDefaults<ICommandOptionsEdit>(options);
17+
export default async function edit(url: string, options?: ICommandOptionsEdit) {
18+
let commandOptions = setOptionDefaults<ICommandOptionsEdit>(options || {});
1919

20-
let exists = await checkRemoteFileExists(url, options.fetch);
21-
let access = await checkRemoteFileAccess(url, options.fetch);
20+
let exists = await checkRemoteFileExists(url, commandOptions.fetch);
21+
let access = await checkRemoteFileAccess(url, commandOptions.fetch);
2222

2323
if (exists && access) {
2424
await editRemoteFile(url, commandOptions)

src/commands/solid-fetch.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ interface ICommandOptionsFetch extends ICommandOptions {
99
file?: string, // File containing the body
1010
onlyHeaders?: boolean,
1111
}
12-
export default async function authenticatedFetch(url: string, options: ICommandOptionsFetch) {
13-
let commandOptions = setOptionDefaults<ICommandOptionsFetch>(options);
12+
export default async function authenticatedFetch(url: string, options?: ICommandOptionsFetch) {
13+
let commandOptions = setOptionDefaults<ICommandOptionsFetch>(options || {});
1414

1515
const fetch = commandOptions.fetch
1616
let processedHeaders : any = {}
@@ -60,7 +60,7 @@ export default async function authenticatedFetch(url: string, options: ICommandO
6060
commandOptions.logger.error(methodString);
6161
commandOptions.logger.error(requestHeaderString);
6262
commandOptions.logger.error(responseHeaderString);
63-
} else if (options.onlyHeaders) {
63+
} else if (commandOptions.onlyHeaders) {
6464
commandOptions.logger.error(requestHeaderString);
6565
commandOptions.logger.error(responseHeaderString);
6666
}

src/commands/solid-find.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ export interface ICommandOptionsFind extends ICommandOptions {
77
listDirectories?: boolean,
88
}
99

10-
export default async function* find(rootcontainer: string, filename: string, options: ICommandOptionsFind) {
11-
let commandOptions = setOptionDefaults(options);
10+
export default async function* find(rootcontainer: string, filename: string, options?: ICommandOptionsFind) {
11+
let commandOptions = setOptionDefaults(options || {});
1212

1313
if (!filename || !rootcontainer) return;
1414
for await (let fileInfo of generateRecursiveListing(rootcontainer, commandOptions)) {

src/commands/solid-list.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ export interface ICommandOptionsList extends ICommandOptions{
77
full?: boolean,
88
}
99

10-
export default async function list(url: string, options: ICommandOptionsList) {
11-
let commandOptions = setOptionDefaults<ICommandOptionsList>(options);
10+
export default async function list(url: string, options?: ICommandOptionsList) {
11+
let commandOptions = setOptionDefaults<ICommandOptionsList>(options || {});
1212

1313
if (!isDirectory(url)) {
1414
commandOptions.logger.error('List can only be called on containers. Please write containers with their trailing slash.')

src/commands/solid-mkdir.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ const LDP = "http://www.w3.org/ns/ldp#";
77

88
export interface ICommandOptionsMakeDirectory extends ICommandOptions { }
99

10-
export default async function makeDirectory(url: string, options: ICommandOptionsMakeDirectory) {
11-
let commandOptions = setOptionDefaults<ICommandOptionsMakeDirectory>(options);
10+
export default async function makeDirectory(url: string, options?: ICommandOptionsMakeDirectory) {
11+
let commandOptions = setOptionDefaults<ICommandOptionsMakeDirectory>(options || {});
1212
let container = await createContainerAt(url, { fetch: commandOptions.fetch });
1313
let info: ResourceInfo = {
1414
url,

src/commands/solid-move.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import { ICommandOptions, setOptionDefaults } from './solid-command';
66
export interface ICommandOptionsMove extends ICommandOptions {
77
all: boolean,
88
}
9-
export default async function move(source: string, destination: string, options: ICommandOptionsMove) {
10-
let commandOptions = setOptionDefaults<ICommandOptionsMove>(options);
9+
export default async function move(source: string, destination: string, options?: ICommandOptionsMove) {
10+
let commandOptions = setOptionDefaults<ICommandOptionsMove>(options || {});
1111

1212
let source_is_dir = isDirectory(source)
1313
let dest_is_dir = isDirectory(destination)

src/commands/solid-perms.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ export interface IPermissionListing {
5858
}
5959
}
6060

61-
export async function listPermissions(resourceUrl: string, options: ICommandOptionsPermissions) {
62-
let commandOptions = setOptionDefaults<ICommandOptionsPermissions>(options);
61+
export async function listPermissions(resourceUrl: string, options?: ICommandOptionsPermissions) {
62+
let commandOptions = setOptionDefaults<ICommandOptionsPermissions>(options || {});
6363

6464
let permissions : IPermissionListing = { access: {} }
6565
try {
@@ -98,8 +98,8 @@ export interface IPermissionOperation {
9898
default?: boolean,
9999
}
100100

101-
export async function changePermissions(resourceUrl: string, operations: IPermissionOperation[], options: ICommandOptionsPermissions) {
102-
let commandOptions = setOptionDefaults<ICommandOptionsPermissions>(options);
101+
export async function changePermissions(resourceUrl: string, operations: IPermissionOperation[], options?: ICommandOptionsPermissions) {
102+
let commandOptions = setOptionDefaults<ICommandOptionsPermissions>(options || {});
103103

104104
const resourceInfo = await getResourceInfoWithAcl(resourceUrl, { fetch: commandOptions.fetch })
105105
let aclDataset : AclDataset | null;
@@ -155,13 +155,13 @@ export async function changePermissions(resourceUrl: string, operations: IPermis
155155
}
156156
// Post updated acl to pod
157157
if (aclDataset && await hasAccessibleAcl(resourceInfo)) {
158-
await saveAclFor(resourceInfo as WithAccessibleAcl, aclDataset, {fetch: options.fetch})
158+
await saveAclFor(resourceInfo as WithAccessibleAcl, aclDataset, {fetch: commandOptions.fetch})
159159
if (commandOptions.verbose) commandOptions.logger.log(`Updated permissions for: ${resourceUrl}`)
160160
}
161161
}
162162

163-
export async function deletePermissions(resourceUrl: string, options: ICommandOptionsPermissions) {
164-
let commandOptions = setOptionDefaults<ICommandOptionsPermissions>(options);
163+
export async function deletePermissions(resourceUrl: string, options?: ICommandOptionsPermissions) {
164+
let commandOptions = setOptionDefaults<ICommandOptionsPermissions>(options || {});
165165

166166
let resourceInfo = await getResourceInfoWithAcl(resourceUrl, {fetch: commandOptions.fetch})
167167
if (hasAccessibleAcl(resourceInfo)) {

src/commands/solid-pod-create.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import fetch from 'cross-fetch';
22
import type { Logger } from '../logger';
3+
import { setOptionDefaults } from './solid-command';
4+
import { ICommandOptions } from '../../dist/commands/solid-command';
35

46
export interface IAccountData {
57
name: string,
@@ -11,7 +13,9 @@ export interface IAccountData {
1113
* @description
1214
* Function to initialize an array of data pods on a CSS instance.
1315
*/
14-
export default async function createSolidPods(url: string, accountData: IAccountData[], options?: { logger?: Logger }) {
16+
export default async function createSolidPods(url: string, accountData: IAccountData[], options?: ICommandOptions) {
17+
let commandOptions = setOptionDefaults(options || {});
18+
1519
if (!url) throw new Error('Please pass a value for the CSS pod hosting service');
1620

1721
// Uses hardcoded URL. Not sure if this URL can be discovered dynamically?
@@ -31,17 +35,17 @@ export default async function createSolidPods(url: string, accountData: IAccount
3135
createWebId: true
3236
}
3337

34-
const res = await fetch(pod_server_register_url, {
38+
const res = await commandOptions.fetch(pod_server_register_url, {
3539
method: 'POST',
3640
headers: { 'content-type': 'application/json', 'Accept': 'application/json' },
3741
body: JSON.stringify(settings),
3842
});
3943
// See server response or error text
4044
let jsonResponse = await res.json()
4145
if (jsonResponse.name && jsonResponse.name.includes('Error')) {
42-
(options?.logger || console).error(`${jsonResponse.name} - Creating pod for ${account.name} failed: ${jsonResponse.message}`)
46+
commandOptions.logger.error(`${jsonResponse.name} - Creating pod for ${account.name} failed: ${jsonResponse.message}`)
4347
} else {
44-
(options?.logger || console).log(`Pod for ${account.name} created succesfully on ${jsonResponse.webId}`)
48+
commandOptions.logger.log(`Pod for ${account.name} created succesfully on ${jsonResponse.webId}`)
4549
responses.push(jsonResponse)
4650
}
4751
}

src/commands/solid-query.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ export interface ICommandOptionsQuery extends ICommandOptions{
99
}
1010

1111

12-
export default async function* query(resourceUrl: string, query: string, options: ICommandOptionsQuery) {
13-
let commandOptions = setOptionDefaults<ICommandOptionsQuery>(options);
12+
export default async function* query(resourceUrl: string, query: string, options?: ICommandOptionsQuery) {
13+
let commandOptions = setOptionDefaults<ICommandOptionsQuery>(options || {});
1414

1515
if (isDirectory(resourceUrl)) {
1616
for await (let fileInfo of find(resourceUrl, '.', commandOptions)) {

0 commit comments

Comments
 (0)