@halcyontech/vscode-ibmi-types 2.10.1 → 2.12.1

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.
@@ -1,5 +1,5 @@
1
1
  import * as vscode from 'vscode';
2
- import { DeploymentMethod } from '../typings';
2
+ import { ConnectionData, DeploymentMethod } from '../typings';
3
3
  import { FilterType } from './Filter';
4
4
  export declare type SourceDateMode = "edit" | "diff";
5
5
  export declare type DefaultOpenMode = "browse" | "edit";
@@ -8,6 +8,21 @@ export declare namespace GlobalConfiguration {
8
8
  function get<T>(key: string): T | undefined;
9
9
  function set(key: string, value: any): Thenable<void>;
10
10
  }
11
+ export interface StoredConnection {
12
+ index: number;
13
+ data: ConnectionData;
14
+ }
15
+ export declare namespace ConnectionManager {
16
+ function getByName(name: string): StoredConnection | undefined;
17
+ function sort(): Thenable<void>;
18
+ function getAll(): ConnectionData[];
19
+ function storeNew(data: ConnectionData): Promise<StoredConnection>;
20
+ function deleteByName(name: string): Thenable<void>;
21
+ function updateByIndex(index: number, data: ConnectionData): Thenable<void>;
22
+ function getStoredPassword(context: vscode.ExtensionContext, connectionName: string): Thenable<string>;
23
+ function setStoredPassword(context: vscode.ExtensionContext, connectionName: string, password: string): Thenable<void>;
24
+ function deleteStoredPassword(context: vscode.ExtensionContext, connectionName: string): Thenable<void>;
25
+ }
11
26
  export declare namespace ConnectionConfiguration {
12
27
  interface Parameters extends ConnectionProfile {
13
28
  host: string;
@@ -32,7 +47,6 @@ export declare namespace ConnectionConfiguration {
32
47
  showDescInLibList: boolean;
33
48
  debugPort: string;
34
49
  debugSepPort: string;
35
- debugIsSecure: boolean;
36
50
  debugUpdateProductionFiles: boolean;
37
51
  debugEnableDebugTracing: boolean;
38
52
  readOnlyMode: boolean;
package/api/IBMi.d.ts CHANGED
@@ -1,17 +1,19 @@
1
1
  import * as node_ssh from "node-ssh";
2
2
  import * as vscode from "vscode";
3
3
  import { ConnectionConfiguration } from "./Configuration";
4
- import { CcsidOrigin, CommandData, CommandResult, ConnectionData, IBMiMember, RemoteCommand, SpecialAuthorities } from "../typings";
4
+ import { ComponentId } from "../components/component";
5
+ import { CommandData, CommandResult, ConnectionData, IBMiMember, RemoteCommand, SpecialAuthorities } from "../typings";
6
+ import IBMiContent from "./IBMiContent";
5
7
  import { Tools } from './Tools';
6
8
  export interface MemberParts extends IBMiMember {
7
9
  basename: string;
8
10
  }
9
11
  export default class IBMi {
10
- private runtimeCcsidOrigin;
11
- /** Runtime CCSID is either job CCSID or QCCSID */
12
- private runtimeCcsid;
12
+ private qccsid;
13
+ private jobCcsid;
13
14
  /** User default CCSID is job default CCSID */
14
15
  private userDefaultCCSID;
16
+ private components;
15
17
  client: node_ssh.NodeSSH;
16
18
  currentHost: string;
17
19
  currentPort: number;
@@ -22,6 +24,7 @@ export default class IBMi {
22
24
  };
23
25
  defaultUserLibraries: string[];
24
26
  outputChannel?: vscode.OutputChannel;
27
+ outputChannelContent?: string;
25
28
  /**
26
29
  * Used to store ASP numbers and their names
27
30
  * Their names usually maps up to a directory in
@@ -43,6 +46,7 @@ export default class IBMi {
43
46
  * */
44
47
  lastErrors: object[];
45
48
  config?: ConnectionConfiguration.Parameters;
49
+ content: IBMiContent;
46
50
  shell?: string;
47
51
  commandsExecuted: number;
48
52
  dangerousVariants: boolean;
@@ -50,7 +54,7 @@ export default class IBMi {
50
54
  /**
51
55
  * @returns {Promise<{success: boolean, error?: any}>} Was succesful at connecting or not.
52
56
  */
53
- connect(connectionObject: ConnectionData, reconnecting?: boolean, reloadServerSettings?: boolean): Promise<{
57
+ connect(connectionObject: ConnectionData, reconnecting?: boolean, reloadServerSettings?: boolean, onConnectedOperations?: Function[]): Promise<{
54
58
  success: boolean;
55
59
  error?: any;
56
60
  }>;
@@ -115,12 +119,13 @@ export default class IBMi {
115
119
  * The directory is guaranteed to be empty when created and deleted after the `process` is done.
116
120
  * @param process the process that will run on the empty directory
117
121
  */
118
- withTempDirectory(process: (directory: string) => Promise<void>): Promise<void>;
122
+ withTempDirectory<T>(process: (directory: string) => Promise<T>): Promise<T>;
119
123
  /**
120
124
  * Uppercases an object name, keeping the variant chars case intact
121
125
  * @param name
122
126
  */
123
127
  upperCaseName(name: string): string;
128
+ getComponent<T>(id: ComponentId): T;
124
129
  /**
125
130
  * Run SQL statements.
126
131
  * Each statement must be separated by a semi-colon and a new line (i.e. ;\n).
@@ -129,16 +134,14 @@ export default class IBMi {
129
134
  * @param statements
130
135
  * @returns a Result set
131
136
  */
132
- runSQL(statements: string, opts?: {
133
- userCcsid?: number;
134
- }): Promise<Tools.DB2Row[]>;
137
+ runSQL(statements: string): Promise<Tools.DB2Row[]>;
135
138
  getEncoding(): {
136
139
  fallback: boolean;
137
140
  ccsid: number;
138
141
  invalid: boolean;
139
142
  };
140
143
  getCcsids(): {
141
- origin: CcsidOrigin;
144
+ qccsid: number;
142
145
  runtimeCcsid: number;
143
146
  userDefaultCCSID: number;
144
147
  };
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import { MarkdownString } from 'vscode';
2
3
  import { AttrOperands, IBMiError, IBMiMember, IBMiObject, IFSFile, QsysPath } from '../typings';
3
4
  import { FilterType } from './Filter';
4
5
  import { default as IBMi } from './IBMi';
@@ -62,14 +63,7 @@ export default class IBMiContent {
62
63
  */
63
64
  runSQL(statements: string): Promise<Tools.DB2Row[]>;
64
65
  /**
65
- * @param ileCommand Command that would change the library list, like CHGLIBL
66
- */
67
- getLibraryListFromCommand(ileCommand: string): Promise<{
68
- currentLibrary: string;
69
- libraryList: string[];
70
- } | undefined>;
71
- /**
72
- * Download the contents of a table.
66
+ * Download the contents of a member from a table.
73
67
  * @param library
74
68
  * @param file
75
69
  * @param member Will default to file provided
@@ -171,5 +165,9 @@ export default class IBMiContent {
171
165
  }), ...operands: AttrOperands[]): Promise<Record<string, string>>;
172
166
  countMembers(path: QsysPath): Promise<number>;
173
167
  countFiles(directory: string): Promise<number>;
168
+ objectToToolTip(path: string, object: IBMiObject): MarkdownString;
169
+ sourcePhysicalFileToToolTip(path: string, object: IBMiObject): Promise<MarkdownString>;
170
+ memberToToolTip(path: string, member: IBMiMember): MarkdownString;
171
+ ifsFileToToolTip(path: string, ifsFile: IFSFile): MarkdownString;
174
172
  }
175
173
  export {};
package/api/Instance.d.ts CHANGED
@@ -1,22 +1,37 @@
1
1
  import * as vscode from "vscode";
2
+ import { IBMiEvent } from "../typings";
3
+ import { ConnectionConfiguration } from "./Configuration";
2
4
  import IBMi from "./IBMi";
3
- import IBMiContent from "./IBMiContent";
4
5
  import { ConnectionStorage } from "./Storage";
5
- import { ConnectionConfiguration } from "./Configuration";
6
- import { IBMiEvent } from "../typings";
7
6
  export default class Instance {
8
7
  private connection;
9
- private content;
10
8
  private storage;
11
9
  private emitter;
12
- private events;
10
+ private subscribers;
11
+ private deprecationCount;
13
12
  constructor(context: vscode.ExtensionContext);
14
13
  setConnection(connection?: IBMi): Promise<void>;
15
14
  getConnection(): IBMi;
16
15
  setConfig(newConfig: ConnectionConfiguration.Parameters): Promise<void>;
17
16
  getConfig(): ConnectionConfiguration.Parameters;
18
- getContent(): IBMiContent;
17
+ getContent(): import("./IBMiContent").default;
19
18
  getStorage(): ConnectionStorage;
19
+ /**
20
+ * Subscribe to an {@link IBMiEvent}. When the event is triggerred, the `func` function gets executed.
21
+ *
22
+ * Each `context`/`name` couple must be unique.
23
+ * @param context the extension subscribing to the event
24
+ * @param event the {@link IBMiEvent} to subscribe to
25
+ * @param name a human-readable name summarizing the function
26
+ * @param func the function to execute when the {@link IBMiEvent} is triggerred
27
+ * @param transient if `true`, the function will only be executed once during the lifetime of a connection
28
+ */
29
+ subscribe(context: vscode.ExtensionContext, event: IBMiEvent, name: string, func: Function, transient?: boolean): void;
30
+ private getSubscribers;
31
+ /**
32
+ * @deprecated Will be removed in `v3.0.0`; use {@link subscribe} instead
33
+ */
20
34
  onEvent(event: IBMiEvent, func: Function): void;
21
35
  fire(event: IBMiEvent): void;
36
+ processEvent(event: IBMiEvent): Promise<void>;
22
37
  }
package/api/Search.d.ts CHANGED
@@ -1,15 +1,7 @@
1
+ import { SearchResults } from '../typings';
1
2
  import Instance from './Instance';
2
3
  export declare namespace Search {
3
- interface Result {
4
- path: string;
5
- lines: Line[];
6
- readonly?: boolean;
7
- label?: string;
8
- }
9
- interface Line {
10
- number: number;
11
- content: string;
12
- }
13
- function searchMembers(instance: Instance, library: string, sourceFile: string, memberFilter: string, searchTerm: string, readOnly?: boolean): Promise<Result[]>;
14
- function searchIFS(instance: Instance, path: string, searchTerm: string): Promise<Result[]>;
4
+ function searchMembers(instance: Instance, library: string, sourceFile: string, memberFilter: string, searchTerm: string, readOnly?: boolean): Promise<SearchResults>;
5
+ function searchIFS(instance: Instance, path: string, searchTerm: string): Promise<SearchResults | undefined>;
6
+ function findIFS(instance: Instance, path: string, findTerm: string): Promise<SearchResults | undefined>;
15
7
  }
package/api/Storage.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import vscode from 'vscode';
2
+ import { ConnectionData } from '../typings';
2
3
  export declare type PathContent = Record<string, string[]>;
3
4
  export declare type DeploymentPath = Record<string, string>;
4
5
  export declare type DebugCommands = Record<string, string>;
@@ -11,6 +12,7 @@ declare type AuthorisedExtension = {
11
12
  declare abstract class Storage {
12
13
  protected readonly globalState: any;
13
14
  constructor(context: vscode.ExtensionContext);
15
+ protected keys(): readonly string[];
14
16
  protected get<T>(key: string): T | undefined;
15
17
  protected set(key: string, value: any): Promise<void>;
16
18
  protected abstract getStorageKey(key: string): string;
@@ -23,7 +25,8 @@ export declare type CachedServerSettings = {
23
25
  aspInfo: {
24
26
  [id: number]: string;
25
27
  };
26
- runtimeCcsid: number | null;
28
+ qccsid: number | null;
29
+ jobCcsid: number | null;
27
30
  remoteFeatures: {
28
31
  [name: string]: string | undefined;
29
32
  };
@@ -51,7 +54,8 @@ export declare class GlobalStorage extends Storage {
51
54
  aspInfo: {
52
55
  [id: number]: string;
53
56
  };
54
- runtimeCcsid: number;
57
+ qccsid: number;
58
+ jobCcsid: number;
55
59
  remoteFeatures: {
56
60
  [name: string]: string;
57
61
  };
@@ -69,8 +73,13 @@ export declare class GlobalStorage extends Storage {
69
73
  setServerSettingsCache(name: string, serverSettings: CachedServerSettings): Promise<void>;
70
74
  setServerSettingsCacheSpecific(name: string, newSettings: Partial<CachedServerSettings>): Promise<void>;
71
75
  deleteServerSettingsCache(name: string): Promise<void>;
76
+ deleteStaleServerSettingsCache(connections: ConnectionData[]): Promise<void>;
72
77
  getPreviousSearchTerms(): string[];
73
- setPreviousSearchTerms(previousSearchTerms: string[]): Promise<void>;
78
+ addPreviousSearchTerm(term: string): Promise<void>;
79
+ clearPreviousSearchTerms(): Promise<void>;
80
+ getPreviousFindTerms(): string[];
81
+ addPreviousFindTerm(term: string): Promise<void>;
82
+ clearPreviousFindTerms(): Promise<void>;
74
83
  }
75
84
  export declare class ConnectionStorage extends Storage {
76
85
  private connectionName;
package/api/Terminal.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import vscode from 'vscode';
2
- import Instance from './Instance';
3
2
  export declare namespace Terminal {
4
3
  enum TerminalType {
5
4
  PASE = "PASE",
6
5
  _5250 = "5250"
7
6
  }
8
- function selectAndOpen(instance: Instance, openType?: TerminalType): Promise<vscode.Terminal>;
7
+ function registerTerminalCommands(context: vscode.ExtensionContext): vscode.Disposable[];
9
8
  }
package/api/Tools.d.ts CHANGED
@@ -18,7 +18,7 @@ export declare namespace Tools {
18
18
  * @param output /usr/bin/db2's output
19
19
  * @returns rows
20
20
  */
21
- function db2Parse(output: string): DB2Row[];
21
+ function db2Parse(output: string, input?: string): DB2Row[];
22
22
  function makeid(length?: number): string;
23
23
  /**
24
24
  * Build the IFS path string to an object or member
@@ -44,11 +44,22 @@ export declare namespace Tools {
44
44
  function sanitizeLibraryNames(libraries: string[]): string[];
45
45
  function parseMessages(output: string): IBMiMessages;
46
46
  function parseQSysPath(path: string): QsysPath;
47
+ /**
48
+ * Check whether two given uris point to the same file/member
49
+ */
50
+ function areEquivalentUris(uriA: vscode.Uri, uriB: vscode.Uri): boolean;
47
51
  /**
48
52
  * We do this to find previously opened files with the same path, but different case OR readonly flags.
49
53
  * Without this, it's possible for the same document to be opened twice simply due to the readonly flag.
50
54
  */
51
55
  function findExistingDocumentUri(uri: vscode.Uri): vscode.Uri;
56
+ function findExistingDocument(uri: vscode.Uri): vscode.TextDocument;
57
+ function findExistingDocumentByName(nameAndExt: string): vscode.Uri;
58
+ /**
59
+ * Given the uri of a member or other resource, find all
60
+ * (if any) open tabs where that resource is being edited.
61
+ */
62
+ function findUriTabs(uriToFind: vscode.Uri | string): vscode.Tab[];
52
63
  /**
53
64
  * Fixes an SQL statement to make it compatible with db2 CLI program QZDFMDB2.
54
65
  * - Changes `@clCommand` statements into Call `QSYS2.QCMDEX('clCommand')` procedure calls
@@ -56,7 +67,7 @@ export declare namespace Tools {
56
67
  * @param statement the statement to fix
57
68
  * @returns statement compatible with QZDFMDB2
58
69
  */
59
- function fixSQL(statement: string): string;
70
+ function fixSQL(statement: string, removeComments?: boolean): string;
60
71
  function generateTooltipHtmlTable(header: string, rows: Record<string, any>): string;
61
72
  function fixWindowsPath(path: string): string;
62
73
  /**
@@ -1,5 +1,4 @@
1
1
  import { WorkspaceFolder } from "vscode";
2
- export declare function getEnvConfig(currentWorkspace: WorkspaceFolder): Promise<{
3
- [key: string]: string;
4
- }>;
2
+ export declare type Env = Record<string, string>;
3
+ export declare function getEnvConfig(currentWorkspace: WorkspaceFolder): Promise<Env>;
5
4
  export declare function getBranchLibraryName(currentBranch: string): string;
@@ -0,0 +1,32 @@
1
+ import IBMi from "../api/IBMi";
2
+ import { CopyToImport } from "./copyToImport";
3
+ import { GetMemberInfo } from "./getMemberInfo";
4
+ import { GetNewLibl } from "./getNewLibl";
5
+ export declare enum ComponentState {
6
+ NotChecked = "NotChecked",
7
+ NotInstalled = "NotInstalled",
8
+ Installed = "Installed",
9
+ Error = "Error"
10
+ }
11
+ interface ComponentRegistry {
12
+ GetNewLibl?: GetNewLibl;
13
+ CopyToImport?: CopyToImport;
14
+ GetMemberInfo?: GetMemberInfo;
15
+ }
16
+ export declare type ComponentId = keyof ComponentRegistry;
17
+ export declare abstract class ComponentT {
18
+ connection: IBMi;
19
+ state: ComponentState;
20
+ currentVersion: number;
21
+ constructor(connection: IBMi);
22
+ abstract getInstalledVersion(): Promise<number | undefined>;
23
+ abstract checkState(): Promise<boolean>;
24
+ abstract getState(): ComponentState;
25
+ }
26
+ export declare class ComponentManager {
27
+ private registered;
28
+ startup(connection: IBMi): Promise<void>;
29
+ get<T>(id: ComponentId): T | undefined;
30
+ private static checkState;
31
+ }
32
+ export {};
@@ -0,0 +1,15 @@
1
+ import IBMi from "../api/IBMi";
2
+ import { WrapResult } from "../typings";
3
+ import { ComponentState, ComponentT } from "./component";
4
+ export declare class CopyToImport implements ComponentT {
5
+ connection: IBMi;
6
+ private readonly name;
7
+ state: ComponentState;
8
+ currentVersion: number;
9
+ constructor(connection: IBMi);
10
+ getInstalledVersion(): Promise<number>;
11
+ checkState(): Promise<boolean>;
12
+ getState(): ComponentState;
13
+ static isSimple(statement: string): boolean;
14
+ wrap(statement: string): WrapResult;
15
+ }
@@ -0,0 +1,19 @@
1
+ import IBMi from "../api/IBMi";
2
+ import { IBMiMember } from "../typings";
3
+ import { ComponentState, ComponentT } from "./component";
4
+ export declare class GetMemberInfo implements ComponentT {
5
+ connection: IBMi;
6
+ readonly name = "GETMBRINFO";
7
+ state: ComponentState;
8
+ currentVersion: number;
9
+ constructor(connection: IBMi);
10
+ getInstalledVersion(): Promise<number>;
11
+ checkState(): Promise<boolean>;
12
+ getState(): ComponentState;
13
+ /**
14
+ *
15
+ * @param filter: the criterias used to list the members
16
+ * @returns
17
+ */
18
+ getMemberInfo(library: string, sourceFile: string, member: string): Promise<IBMiMember | undefined>;
19
+ }
@@ -0,0 +1,15 @@
1
+ import IBMi from "../api/IBMi";
2
+ import { ComponentState, ComponentT } from "./component";
3
+ export declare class GetNewLibl implements ComponentT {
4
+ connection: IBMi;
5
+ state: ComponentState;
6
+ currentVersion: number;
7
+ constructor(connection: IBMi);
8
+ getInstalledVersion(): Promise<number>;
9
+ checkState(): Promise<boolean>;
10
+ getState(): ComponentState;
11
+ getLibraryListFromCommand(ileCommand: string): Promise<{
12
+ currentLibrary: string;
13
+ libraryList: string[];
14
+ } | undefined>;
15
+ }
package/instantiate.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import * as vscode from "vscode";
2
2
  import Instance from "./api/Instance";
3
- import { Search } from "./api/Search";
4
3
  export declare let instance: Instance;
5
- export declare function setSearchResults(term: string, results: Search.Result[]): void;
6
4
  export declare function disconnect(): Promise<boolean>;
7
5
  export declare function loadAllofExtension(context: vscode.ExtensionContext): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halcyontech/vscode-ibmi-types",
3
- "version": "2.10.1",
3
+ "version": "2.12.1",
4
4
  "description": "Types for vscode-ibmi",
5
5
  "typings": "./typings.d.ts",
6
6
  "scripts": {
package/typings.d.ts CHANGED
@@ -49,7 +49,7 @@ export interface CommandData extends StandardIO {
49
49
  env?: Record<string, string>;
50
50
  }
51
51
  export interface CommandResult {
52
- code: number | null;
52
+ code: number;
53
53
  stdout: string;
54
54
  stderr: string;
55
55
  command?: string;
@@ -183,5 +183,23 @@ export declare const IFS_BROWSER_MIMETYPE = "application/vnd.code.tree.ifsbrowse
183
183
  export declare type OpenEditableOptions = QsysFsOptions & {
184
184
  position?: Range;
185
185
  };
186
+ export interface WrapResult {
187
+ newStatements: string[];
188
+ outStmf: string;
189
+ }
186
190
  export declare type SpecialAuthorities = "*ALLOBJ" | "*AUDIT" | "*IOSYSCFG" | "*JOBCTL" | "*SAVSYS" | "*SECADM" | "*SERVICE" | "*SPLCTL";
187
191
  export declare type AttrOperands = 'ACCESS_TIME' | 'ALLOC_SIZE' | 'ALLOC_SIZE_64' | 'ALWCKPWR' | 'ALWSAV' | 'ASP' | 'AUDIT' | 'AUTH_GROUP' | 'AUTH_LIST_NAME' | 'AUTH_OWNER' | 'AUTH_USERS' | 'CCSID' | 'CHANGE_TIME' | 'CHECKED_OUT' | 'CHECKED_OUT_USER' | 'CHECKED_OUT_TIME' | 'CODEPAGE' | 'CREATE_TIME' | 'CRTOBJAUD' | 'CRTOBJSCAN' | 'DATA_SIZE' | 'DATA_SIZE_64' | 'DIR_FORMAT' | 'DISK_STG_OPT' | 'EXTENDED_ATTR_SIZE' | 'FILE_FORMAT' | 'FILE_ID' | 'JOURNAL_APPLY_CHANGES' | 'JOURNAL_ID' | 'JOURNAL_LIBRARY' | 'JOURNAL_NAME' | 'JOURNAL_OPTIONS' | 'JOURNAL_RCVR_ASP' | 'JOURNAL_RCVR_LIBRARY' | 'JOURNAL_RCVR_NAME' | 'JOURNAL_ROLLBACK_ENDED' | 'JOURNAL_START_TIME' | 'JOURNAL_STATUS' | 'LOCAL_REMOTE' | 'MAIN_STG_OPT' | 'MODIFY_TIME' | 'MULT_SIGS' | 'OBJTYPE' | 'PC_ARCHIVE' | 'PC_HIDDEN' | 'PC_READ_ONLY' | 'PC_SYSTEM' | 'RSTDRNMUNL' | 'SCAN' | 'SCAN_BINARY' | 'SCAN_CCSID1' | 'SCAN_CCSID2' | 'SCAN_SIGS_DIFF' | 'SCAN_STATUS' | 'SGID' | 'SIGNED' | 'STG_FREE' | 'SUID' | 'SYSTEM_ARCHIVE' | 'SYSTEM_USE' | 'SYS_SIGNED' | 'UDFS_DEFAULT_FORMAT' | 'USAGE_DAYS_USED' | 'USAGE_LAST_USED_TIME' | 'USAGE_RESET_TIME';
192
+ export declare type SearchResults = {
193
+ term: string;
194
+ hits: SearchHit[];
195
+ };
196
+ export declare type SearchHit = {
197
+ path: string;
198
+ lines: SearchHitLine[];
199
+ readonly?: boolean;
200
+ label?: string;
201
+ };
202
+ export declare type SearchHitLine = {
203
+ number: number;
204
+ content: string;
205
+ };
@@ -1,2 +0,0 @@
1
- import { Locale } from "..";
2
- export declare const da: Locale;
@@ -1,2 +0,0 @@
1
- import { Locale } from "..";
2
- export declare const en: Locale;
@@ -1,2 +0,0 @@
1
- import { Locale } from "..";
2
- export declare const fr: Locale;