@halcyontech/vscode-ibmi-types 2.17.2 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/Instance.d.ts +2 -1
  2. package/api/CCSIDs.d.ts +8 -0
  3. package/api/CompileTools.d.ts +2 -0
  4. package/api/Filter.d.ts +2 -2
  5. package/api/IBMi.d.ts +36 -32
  6. package/api/IBMiContent.d.ts +18 -33
  7. package/api/{Search.d.ts → SearchTools.d.ts} +1 -1
  8. package/api/Tools.d.ts +15 -21
  9. package/api/actions.d.ts +12 -0
  10. package/api/components/component.d.ts +30 -15
  11. package/api/components/manager.d.ts +6 -3
  12. package/api/components/mapepire/index.d.ts +25 -0
  13. package/api/components/mapepire/sqlJob.d.ts +20 -0
  14. package/api/components/mapepire/types.d.ts +7 -0
  15. package/api/components/mapepire/version.d.ts +4 -0
  16. package/api/components/runtime.d.ts +15 -5
  17. package/api/configuration/DebugConfiguration.d.ts +5 -6
  18. package/api/configuration/config/types.d.ts +13 -9
  19. package/api/configuration/serverFile.d.ts +2 -5
  20. package/api/configuration/storage/BaseStorage.d.ts +1 -2
  21. package/api/configuration/storage/CodeForIStorage.d.ts +14 -14
  22. package/api/configuration/storage/ConnectionStorage.d.ts +6 -3
  23. package/api/connectionProfiles.d.ts +14 -0
  24. package/api/password.d.ts +8 -0
  25. package/api/queue.d.ts +9 -0
  26. package/api/tests/components/customCli.d.ts +7 -4
  27. package/api/types.d.ts +34 -20
  28. package/commands/open.d.ts +1 -1
  29. package/config/passwords.d.ts +3 -0
  30. package/debug/certificates.d.ts +1 -1
  31. package/debug/index.d.ts +1 -1
  32. package/debug/server.d.ts +7 -8
  33. package/editors/actionEditor.d.ts +15 -0
  34. package/editors/connectionProfileEditor.d.ts +3 -0
  35. package/editors/customEditorProvider.d.ts +29 -0
  36. package/filesystems/local/deployTools.d.ts +6 -5
  37. package/filesystems/local/env.d.ts +1 -1
  38. package/filesystems/qsys/FSUtils.d.ts +4 -3
  39. package/filesystems/qsys/sourceDateHandler.d.ts +2 -0
  40. package/mergeProfiles.d.ts +1 -0
  41. package/package.json +1 -1
  42. package/typings.d.ts +14 -5
  43. package/ui/Tools.d.ts +6 -2
  44. package/ui/actions.d.ts +6 -5
  45. package/ui/connection.d.ts +2 -0
  46. package/ui/diagnostics.d.ts +1 -1
  47. package/ui/types.d.ts +8 -3
  48. package/uri/handler.d.ts +1 -1
  49. package/webviews/CustomUI.d.ts +19 -13
  50. package/api/components/copyToImport.d.ts +0 -14
  51. package/api/components/cqsh/index.d.ts +0 -17
  52. package/api/components/getMemberInfo.d.ts +0 -19
  53. package/api/components/getNewLibl.d.ts +0 -20
  54. package/filesystems/local/actions.d.ts +0 -5
package/typings.d.ts CHANGED
@@ -1,24 +1,33 @@
1
- import { CustomUI } from "./webviews/CustomUI";
1
+ import { Ignore } from "ignore";
2
+ import { Uri, WorkspaceFolder } from "vscode";
2
3
  import Instance from "./Instance";
3
- import { DeployTools } from "./filesystems/local/deployTools";
4
4
  import { ComponentRegistry } from './api/components/manager';
5
+ import { ConnectionManager } from "./api/configuration/config/ConnectionManager";
5
6
  import { DeploymentMethod, FileError } from "./api/types";
6
- import { Ignore } from "ignore";
7
- import { WorkspaceFolder } from "vscode";
7
+ import { CustomEditor } from "./editors/customEditorProvider";
8
+ import { DeployTools } from "./filesystems/local/deployTools";
9
+ import { ActionTools } from "./api/actions";
8
10
  import { VscodeTools } from "./ui/Tools";
11
+ import { SearchTools } from "./api/SearchTools";
12
+ import { CustomUI } from "./webviews/CustomUI";
9
13
  export interface CodeForIBMi {
10
14
  instance: Instance;
11
15
  customUI: () => CustomUI;
12
- deployTools: typeof DeployTools;
16
+ customEditor: <T>(target: string, onSave: (data: T) => Promise<void>, onClosed?: () => void) => CustomEditor<T>;
13
17
  evfeventParser: (lines: string[]) => Map<string, FileError[]>;
14
18
  tools: typeof VscodeTools;
19
+ deployTools: typeof DeployTools;
20
+ actionTools: typeof ActionTools;
15
21
  componentRegistry: ComponentRegistry;
22
+ connectionManager: ConnectionManager;
23
+ searchTools: typeof SearchTools;
16
24
  }
17
25
  export interface DeploymentParameters {
18
26
  method: DeploymentMethod;
19
27
  workspaceFolder: WorkspaceFolder;
20
28
  remotePath: string;
21
29
  ignoreRules?: Ignore;
30
+ selectedFiles?: Uri[];
22
31
  }
23
32
  export * from "./api/types";
24
33
  export * from "./ui/types";
package/ui/Tools.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import vscode from "vscode";
2
- import { API } from "../filesystems/local/gitApi";
3
- import { IBMiObject, IBMiMember, IFSFile } from '../typings';
4
2
  import IBMi from '../api/IBMi';
5
3
  import { Tools } from '../api/Tools';
4
+ import { API } from "../filesystems/local/gitApi";
5
+ import { ConnectionProfile, IBMiMember, IBMiObject, IFSFile } from '../typings';
6
6
  export declare namespace VscodeTools {
7
7
  function getGitAPI(): API | undefined;
8
8
  function md5Hash(file: vscode.Uri): string;
@@ -23,6 +23,7 @@ export declare namespace VscodeTools {
23
23
  */
24
24
  function findUriTabs(uriToFind: vscode.Uri | string): vscode.Tab[];
25
25
  function generateTooltipHtmlTable(header: string, rows: Record<string, any>): string;
26
+ function escapeHtml(html: string): string;
26
27
  /**
27
28
  * Runs a function while a context value is set to true.
28
29
  *
@@ -36,6 +37,8 @@ export declare namespace VscodeTools {
36
37
  function sourcePhysicalFileToToolTip(connection: IBMi, path: string, object: IBMiObject): Promise<vscode.MarkdownString>;
37
38
  function memberToToolTip(path: string, member: IBMiMember): vscode.MarkdownString;
38
39
  function ifsFileToToolTip(path: string, ifsFile: IFSFile): vscode.MarkdownString;
40
+ function profileToToolTip(profile: ConnectionProfile): vscode.MarkdownString;
41
+ function includesCaseInsensitive(haystack: string[], needle: string): boolean;
39
42
  const qualifyPath: typeof Tools.qualifyPath;
40
43
  const unqualifyPath: typeof Tools.unqualifyPath;
41
44
  const escapePath: typeof Tools.escapePath;
@@ -50,4 +53,5 @@ export declare namespace VscodeTools {
50
53
  const normalizePath: typeof Tools.normalizePath;
51
54
  const resolvePath: typeof Tools.resolvePath;
52
55
  const makeid: typeof Tools.makeid;
56
+ const ensureFullPath: typeof Tools.ensureFullPath;
53
57
  }
package/ui/actions.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import vscode, { WorkspaceFolder } from 'vscode';
2
+ import IBMi from '../api/IBMi';
2
3
  import Instance from '../Instance';
3
- import { Action, DeploymentMethod } from '../typings';
4
+ import { Action, ActionResult, DeploymentMethod } from '../typings';
4
5
  import { BrowserItem } from './types';
5
- export declare type ActionTarget = {
6
+ export type ActionTarget = {
6
7
  uri: vscode.Uri;
7
8
  extension: string;
8
9
  fragment: string;
@@ -14,9 +15,9 @@ export declare type ActionTarget = {
14
15
  output: string[];
15
16
  };
16
17
  export declare function registerActionTools(context: vscode.ExtensionContext): void;
17
- export declare function uriToActionTarget(uri: vscode.Uri, workspaceFolder?: WorkspaceFolder): ActionTarget;
18
- export declare function runAction(instance: Instance, uris: vscode.Uri | vscode.Uri[], customAction?: Action, method?: DeploymentMethod, browserItems?: BrowserItem[], workspaceFolder?: WorkspaceFolder): Promise<boolean>;
19
- export declare type AvailableAction = {
18
+ export declare function uriToActionTarget(uri: vscode.Uri, workspaceFolder?: WorkspaceFolder, ibmi?: IBMi): ActionTarget;
19
+ export declare function runAction(instance: Instance, uris: vscode.Uri | vscode.Uri[], customAction?: Action, method?: DeploymentMethod, browserItems?: BrowserItem[], workspaceFolder?: WorkspaceFolder): Promise<ActionResult>;
20
+ export type AvailableAction = {
20
21
  label: string;
21
22
  action: Action;
22
23
  };
@@ -1,3 +1,5 @@
1
+ import { CancellationToken } from "vscode";
1
2
  import IBMi, { ConnectionErrorCode, ConnectionMessageType } from "../api/IBMi";
2
3
  export declare function messageCallback(type: ConnectionMessageType, message: string): void;
4
+ export declare function inputBoxCallback(prompt: string, placeHolder: string, ignoreFocusOut: boolean, token: CancellationToken): Promise<string>;
3
5
  export declare function handleConnectionResults(connection: IBMi, error: ConnectionErrorCode, data: any): Promise<boolean>;
@@ -13,6 +13,6 @@ export declare function registerDiagnostics(): vscode.Disposable[];
13
13
  */
14
14
  export declare function clearDiagnostics(): void;
15
15
  export declare function clearDiagnostic(uri: vscode.Uri, changeRange: vscode.Range): void;
16
- export declare function refreshDiagnosticsFromServer(instance: Instance, evfeventInfo: EvfEventInfo, keepDiagnostics?: boolean): Promise<void>;
16
+ export declare function refreshDiagnosticsFromServer(instance: Instance, evfeventInfo: EvfEventInfo[], keepDiagnostics?: boolean): Promise<void>;
17
17
  export declare function refreshDiagnosticsFromLocal(instance: Instance, evfeventInfo: EvfEventInfo): Promise<void>;
18
18
  export declare function handleEvfeventLines(lines: string[], instance: Instance, evfeventInfo: EvfEventInfo): void;
package/ui/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { TreeItemCollapsibleState, TreeItem, ProviderResult, MarkdownString } from "vscode";
1
+ import { MarkdownString, ProviderResult, TreeItem, TreeItemCollapsibleState } from "vscode";
2
2
  import { FocusOptions, IBMiMember, IBMiObject, ObjectFilters, WithPath } from "../api/types";
3
- export declare type BrowserItemParameters = {
3
+ export type BrowserItemParameters = {
4
4
  icon?: string;
5
5
  color?: string;
6
6
  state?: TreeItemCollapsibleState;
@@ -20,7 +20,12 @@ export declare class BrowserItem extends TreeItem {
20
20
  constructor(label: string, params?: BrowserItemParameters);
21
21
  get parent(): BrowserItem;
22
22
  getChildren?(): ProviderResult<BrowserItem[]>;
23
- refresh?(): void;
23
+ refresh?(): Thenable<void>;
24
24
  reveal?(options?: FocusOptions): Thenable<void>;
25
25
  getToolTip?(): Promise<MarkdownString | undefined>;
26
26
  }
27
+ export type SemanticVersion = {
28
+ major: number;
29
+ minor: number;
30
+ patch: number;
31
+ };
package/uri/handler.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import vscode from "vscode";
2
2
  import IBMi from "../api/IBMi";
3
- export declare type Code4iUriHandler = {
3
+ export type Code4iUriHandler = {
4
4
  canHandle(path: string): boolean;
5
5
  handle(uri: vscode.Uri, connection?: IBMi): void | Promise<void>;
6
6
  };
@@ -1,10 +1,10 @@
1
- import vscode from 'vscode';
2
- declare type PanelOptions = {
1
+ import vscode, { ProviderResult } from 'vscode';
2
+ type PanelOptions = {
3
3
  fullWidth?: boolean;
4
4
  fullPage?: boolean;
5
5
  css?: string;
6
6
  };
7
- declare type TreeLeafAction = "submit" | "browse";
7
+ type TreeLeafAction = "submit" | "browse";
8
8
  export interface Page<T> {
9
9
  panel: vscode.WebviewPanel;
10
10
  data?: T;
@@ -28,7 +28,7 @@ export interface ComplexTab {
28
28
  label: string;
29
29
  fields: Field[];
30
30
  }
31
- declare type InputType = "text" | "number";
31
+ type InputType = "text" | "number";
32
32
  export declare class Section {
33
33
  readonly fields: Field[];
34
34
  addHeading(label: string, level?: 1 | 2 | 3 | 4 | 5 | 6): this;
@@ -50,28 +50,32 @@ export declare class Section {
50
50
  addPassword(id: string, label: string, description?: string, defaultValue?: string): this;
51
51
  addTabs(tabs: Tab[], selected?: number): this;
52
52
  addComplexTabs(tabs: ComplexTab[], selected?: number): this;
53
- addSelect(id: string, label: string, items: SelectItem[], description?: string): this;
53
+ addSelect(id: string, label: string, items: SelectItem[], description?: string, readonly?: boolean): this;
54
54
  addTree(id: string, label: string, treeItems: TreeListItem[], description?: string, onClick?: TreeLeafAction): this;
55
55
  addButtons(...buttons: (Button | undefined)[]): this;
56
56
  addField(field: Field): this;
57
57
  addBrowser(id: string, items: TreeListItem[]): this;
58
58
  }
59
- export declare class CustomUI extends Section {
59
+ export declare class CustomHTML extends Section {
60
60
  private options?;
61
+ setOptions(options: PanelOptions): this;
62
+ protected getSpecificScript(): string;
63
+ protected getHTML(panel: vscode.WebviewPanel, title: string): string;
64
+ }
65
+ export declare class CustomUI extends CustomHTML {
61
66
  /**
62
67
  * If no callback is provided, a Promise will be returned.
63
68
  * If the page is already opened, it grabs the focus and return no Promise (as it's alreay handled by the first call).
64
69
  *
65
- * @param title
66
- * @param callback
70
+ * @param title the title displayed in the webview tab
71
+ * @param checkData an optional function that can check and updates the data before they are returned. If it returns `false`, the view will stay open.
67
72
  * @returns a Promise<Page<T>> if no callback is provided
68
73
  */
69
- loadPage<T>(title: string): Promise<Page<T>> | undefined;
70
- setOptions(options: PanelOptions): this;
74
+ loadPage<T>(title: string, checkData?: (data: T) => ProviderResult<boolean>): Promise<Page<T>> | undefined;
71
75
  private createPage;
72
- private getHTML;
76
+ protected getSpecificScript(): string;
73
77
  }
74
- export declare type FieldType = "input" | "password" | "buttons" | "checkbox" | "file" | "complexTabs" | "tabs" | "tree" | "select" | "paragraph" | "hr" | "heading" | "browser";
78
+ export type FieldType = "input" | "password" | "buttons" | "checkbox" | "file" | "complexTabs" | "tabs" | "tree" | "select" | "paragraph" | "hr" | "heading" | "browser";
75
79
  export interface TreeListItemIcon {
76
80
  branch?: string;
77
81
  open?: string;
@@ -82,7 +86,7 @@ export interface TreeListItem {
82
86
  subItems?: TreeListItem[];
83
87
  open?: boolean;
84
88
  selected?: boolean;
85
- focused?: boolean;
89
+ active?: boolean;
86
90
  icons?: TreeListItemIcon;
87
91
  value?: string;
88
92
  path?: number[];
@@ -117,5 +121,7 @@ export declare class Field {
117
121
  getHTML(): string;
118
122
  private renderLabel;
119
123
  private renderDescription;
124
+ private renderTreeItem;
125
+ private renderIcon;
120
126
  }
121
127
  export {};
@@ -1,14 +0,0 @@
1
- import IBMi from "../IBMi";
2
- import { WrapResult } from "../types";
3
- import { ComponentState, IBMiComponent } from "./component";
4
- export declare class CopyToImport implements IBMiComponent {
5
- static ID: string;
6
- static isSimple(statement: string): boolean;
7
- getIdentification(): {
8
- name: string;
9
- version: number;
10
- };
11
- getRemoteState(): ComponentState;
12
- update(): ComponentState | Promise<ComponentState>;
13
- wrap(connection: IBMi, statement: string): WrapResult;
14
- }
@@ -1,17 +0,0 @@
1
- import IBMi from "../../IBMi";
2
- import { ComponentState, IBMiComponent } from "../component";
3
- export declare class CustomQSh implements IBMiComponent {
4
- static ID: string;
5
- private localAssetPath;
6
- setLocalAssetPath(newPath: string): void;
7
- installPath: string;
8
- getIdentification(): {
9
- name: string;
10
- version: number;
11
- };
12
- getFileName(): string;
13
- setInstallDirectory(installDirectory: string): Promise<void>;
14
- getRemoteState(connection: IBMi, installDirectory: string): Promise<ComponentState>;
15
- update(connection: IBMi): Promise<ComponentState>;
16
- testCommand(connection: IBMi): Promise<boolean>;
17
- }
@@ -1,19 +0,0 @@
1
- import IBMi from "../IBMi";
2
- import { ComponentState, IBMiComponent } from "../components/component";
3
- import { IBMiMember } from "../types";
4
- export declare class GetMemberInfo implements IBMiComponent {
5
- static ID: string;
6
- private readonly procedureName;
7
- private readonly currentVersion;
8
- private installedVersion;
9
- reset(): void;
10
- getIdentification(): {
11
- name: string;
12
- version: number;
13
- };
14
- getRemoteState(connection: IBMi): Promise<ComponentState>;
15
- update(connection: IBMi): Promise<ComponentState>;
16
- private static parseDateString;
17
- getMemberInfo(connection: IBMi, library: string, sourceFile: string, member: string): Promise<IBMiMember | undefined>;
18
- getMultipleMemberInfo(connection: IBMi, members: IBMiMember[]): Promise<IBMiMember[] | undefined>;
19
- }
@@ -1,20 +0,0 @@
1
- import IBMi from "../IBMi";
2
- import { ComponentState, IBMiComponent } from "./component";
3
- export declare class GetNewLibl implements IBMiComponent {
4
- static ID: string;
5
- private readonly procedureName;
6
- private readonly currentVersion;
7
- private installedVersion;
8
- reset(): void;
9
- getIdentification(): {
10
- name: string;
11
- version: number;
12
- };
13
- getRemoteState(connection: IBMi): Promise<ComponentState>;
14
- update(connection: IBMi): Promise<ComponentState>;
15
- getLibraryListFromCommand(connection: IBMi, ileCommand: string): Promise<{
16
- currentLibrary: string;
17
- libraryList: string[];
18
- }>;
19
- private getSource;
20
- }
@@ -1,5 +0,0 @@
1
- import { WorkspaceFolder } from "vscode";
2
- import { Action } from "../../api/types";
3
- export declare function getLocalActionsFiles(currentWorkspace?: WorkspaceFolder): Promise<import("vscode").Uri[]>;
4
- export declare function getLocalActions(currentWorkspace: WorkspaceFolder): Promise<Action[]>;
5
- export declare function getEvfeventFiles(currentWorkspace: WorkspaceFolder): Promise<import("vscode").Uri[]>;