aboutsummaryrefslogtreecommitdiff
path: root/node_modules/simple-git/typings/response.d.ts
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-12 10:33:06 +0100
committerMinteck <contact@minteck.org>2022-02-12 10:33:06 +0100
commit01160246e4a0c0052181c72a53737e356ea7d02d (patch)
treec6f8ea675f9147d4c06ef503697fb35d58493991 /node_modules/simple-git/typings/response.d.ts
parentaf898a152a14e31bdbcbbedb952ad333697553ef (diff)
downloadtwilight-01160246e4a0c0052181c72a53737e356ea7d02d.tar.gz
twilight-01160246e4a0c0052181c72a53737e356ea7d02d.tar.bz2
twilight-01160246e4a0c0052181c72a53737e356ea7d02d.zip
First commit
Diffstat (limited to 'node_modules/simple-git/typings/response.d.ts')
-rw-r--r--node_modules/simple-git/typings/response.d.ts538
1 files changed, 538 insertions, 0 deletions
diff --git a/node_modules/simple-git/typings/response.d.ts b/node_modules/simple-git/typings/response.d.ts
new file mode 100644
index 0000000..795e5af
--- /dev/null
+++ b/node_modules/simple-git/typings/response.d.ts
@@ -0,0 +1,538 @@
+import { DefaultLogFields } from '../src/lib/tasks/log';
+
+export interface BranchSummaryBranch {
+ current: boolean;
+ name: string;
+ commit: string;
+ label: string;
+}
+
+export interface BranchSummary {
+ detached: boolean;
+ current: string;
+ all: string[];
+ branches: {
+ [key: string]: BranchSummaryBranch;
+ };
+}
+
+/**
+ * Represents the successful deletion of a single branch
+ */
+export interface BranchSingleDeleteSuccess {
+ branch: string;
+ hash: string;
+ success: true;
+}
+
+/**
+ * Represents the failure to delete a single branch
+ */
+export interface BranchSingleDeleteFailure {
+ branch: string;
+ hash: null;
+ success: false;
+}
+
+export type BranchSingleDeleteResult = BranchSingleDeleteFailure | BranchSingleDeleteSuccess;
+
+/**
+ * Represents the status of having deleted a batch of branches
+ */
+export interface BranchMultiDeleteResult {
+ /**
+ * All branches included in the response
+ */
+ all: BranchSingleDeleteResult[];
+
+ /**
+ * Branches mapped by their branch name
+ */
+ branches: { [branchName: string]: BranchSingleDeleteResult };
+
+ /**
+ * Array of responses that are in error
+ */
+ errors: BranchSingleDeleteResult[];
+
+ /**
+ * Flag showing whether all branches were deleted successfully
+ */
+ readonly success: boolean;
+}
+
+export interface CleanSummary {
+ readonly dryRun: boolean;
+ paths: string[];
+ files: string[];
+ folders: string[];
+}
+
+export interface CommitResult {
+ author: null | {
+ email: string;
+ name: string;
+ };
+ branch: string;
+ commit: string;
+ root: boolean;
+ summary: {
+ changes: number;
+ insertions: number;
+ deletions: number;
+ };
+}
+
+/** Represents the response to using `git.getConfig` */
+export interface ConfigGetResult {
+ /** The key that was searched for */
+ key: string;
+
+ /** The single value seen by `git` for this key (equivalent to `git config --get key`) */
+ value: string | null;
+
+ /** All possible values for this key no matter the scope (equivalent to `git config --get-all key`) */
+ values: string[];
+
+ /** The file paths from which configuration was read */
+ paths: string[];
+
+ /**
+ * The full hierarchy of values the property can have had across the
+ * various scopes that were searched (keys in this Map are the strings
+ * also found in the `paths` array).
+ */
+ scopes: Map<string, string[]>;
+}
+
+/**
+ * Represents the current git configuration, as defined by the output from `git log`
+ */
+export interface ConfigListSummary {
+
+ /**
+ * All configuration settings, where local/user settings override user/global settings
+ * the overridden value will appear in this object.
+ */
+ readonly all: ConfigValues;
+
+ /**
+ * The file paths configuration was read from
+ */
+ files: string[];
+
+ /**
+ * The `ConfigValues` for each of the `files`, use this object to determine
+ * local repo, user and global settings.
+ */
+ values: { [fileName: string]: ConfigValues };
+}
+
+/**
+ * Represents the map of configuration settings
+ */
+export interface ConfigValues {
+ [key: string]: string | string[];
+}
+
+export interface DiffResultTextFile {
+ file: string;
+ changes: number;
+ insertions: number;
+ deletions: number;
+ binary: false;
+}
+
+export interface DiffResultBinaryFile {
+ file: string;
+ before: number;
+ after: number;
+ binary: true;
+}
+
+export interface DiffResult {
+ /** The total number of files changed as reported in the summary line */
+ changed: number;
+
+ /** When present in the diff, lists the details of each file changed */
+ files: Array<DiffResultTextFile | DiffResultBinaryFile>;
+
+ /** The number of files changed with insertions */
+ insertions: number;
+
+ /** The number of files changed with deletions */
+ deletions: number;
+}
+
+export interface FetchResult {
+ raw: string;
+ remote: string | null;
+ branches: {
+ name: string;
+ tracking: string;
+ }[];
+ tags: {
+ name: string;
+ tracking: string;
+ }[];
+}
+
+/** Represents the response to git.grep */
+export interface GrepResult {
+ paths: Set<string>;
+ results: Record<string, Array<{
+ line: number;
+ path: string;
+ preview: string;
+ }>>;
+}
+
+/**
+ * The `InitResult` is returned when (re)initialising a git repo.
+ */
+export interface InitResult {
+ /**
+ * Boolean representing whether the `--bare` option was used
+ */
+ readonly bare: boolean;
+
+ /**
+ * Boolean representing whether the repo already existed (re-initialised rather than initialised)
+ */
+ readonly existing: boolean;
+
+ /**
+ * The path used when initialising
+ */
+ readonly path: string;
+
+ /**
+ * The git configuration directory - for a bare repo this is the same as `path`, in non-bare repos
+ * this will usually be a sub-directory with the name `.git` (or value of the `$GIT_DIR` environment
+ * variable).
+ */
+ readonly gitDir: string;
+}
+
+/**
+ * A parsed response summary for calls to `git mv`
+ */
+export interface MoveResult {
+ /**
+ * Array of files moved
+ */
+ moves: Array<{ from: string, to: string }>;
+}
+
+export interface PullDetailFileChanges {
+ [fileName: string]: number;
+}
+
+export interface PullDetailSummary {
+ changes: number;
+ insertions: number;
+ deletions: number;
+}
+
+export interface PullDetail {
+ /** Array of all files that are referenced in the pull */
+ files: string[];
+
+ /** Map of file names to the number of insertions in that file */
+ insertions: PullDetailFileChanges;
+
+ /** Map of file names to the number of deletions in that file */
+ deletions: PullDetailFileChanges;
+
+ summary: PullDetailSummary;
+
+ /** Array of file names that have been created */
+ created: string[];
+
+ /** Array of file names that have been deleted */
+ deleted: string[];
+}
+
+export interface PullResult extends PullDetail, RemoteMessageResult {
+}
+
+/**
+ * Wrapped with the `GitResponseError` as the exception thrown from a `git.pull` task
+ * to provide additional detail as to what failed.
+ */
+export interface PullFailedResult {
+ remote: string,
+ hash: {
+ local: string;
+ remote: string;
+ },
+ branch: {
+ local: string;
+ remote: string;
+ },
+ message: string;
+}
+
+/**
+ * Represents file name changes in a StatusResult
+ */
+export interface StatusResultRenamed {
+ from: string;
+ to: string;
+}
+
+export interface FileStatusResult {
+
+ /** Original location of the file, when the file has been moved */
+ from?: string
+
+ /** Path of the file */
+ path: string;
+
+ /** First digit of the status code of the file, e.g. 'M' = modified.
+ Represents the status of the index if no merge conflicts, otherwise represents
+ status of one side of the merge. */
+ index: string;
+
+ /** Second digit of the status code of the file. Represents status of the working directory
+ if no merge conflicts, otherwise represents status of other side of a merge. */
+ working_dir: string;
+}
+
+/**
+ * The StatusResult is returned for calls to `git.status()`, represents the state of the
+ * working directory.
+ */
+export interface StatusResult {
+ not_added: string[];
+ conflicted: string[];
+ created: string[];
+ deleted: string[];
+
+ /**
+ * Ignored files are not listed by default, add `--ignored` to the task options in order to see
+ * this array of ignored files/paths.
+ *
+ * Note: ignored files will not be added to the `files` array, and will not be included in the
+ * `isClean()` calculation.
+ */
+ ignored?: string[];
+ modified: string[];
+ renamed: StatusResultRenamed[];
+ staged: string[];
+
+ /**
+ * All files represented as an array of objects containing the `path` and status in `index` and
+ * in the `working_dir`.
+ */
+ files: FileStatusResult[];
+
+ /**
+ * Number of commits ahead of the tracked branch
+ */
+ ahead: number;
+
+ /**
+ *Number of commits behind the tracked branch
+ */
+ behind: number;
+
+ /**
+ * Name of the current branch
+ */
+ current: string | null;
+
+ /**
+ * Name of the branch being tracked
+ */
+ tracking: string | null;
+
+ /**
+ * Detached status of the working copy, for more detail of what the working branch
+ * is detached from use `git.branch()`
+ */
+ detached: boolean;
+
+ /**
+ * Gets whether this represents a clean working branch.
+ */
+ isClean(): boolean;
+}
+
+/**
+ * Response retrieved when using the `git.tags` method
+ */
+export interface TagResult {
+ /**
+ * All tag names
+ */
+ all: string[];
+
+ /**
+ * The semver latest tag name or `undefined` when no tags are named in the response
+ */
+ latest: string | undefined;
+}
+
+/**
+ * The ListLogLine represents a single entry in the `git.log`, the properties on the object
+ * are mixed in depending on the names used in the format (see `DefaultLogFields`), but some
+ * properties are dependent on the command used.
+ */
+export interface ListLogLine {
+ /**
+ * When using a `--stat=4096` or `--shortstat` options in the `git.log` or `git.stashList`,
+ * each entry in the `ListLogSummary` will also have a `diff` property representing as much
+ * detail as was given in the response.
+ */
+ diff?: DiffResult;
+}
+
+export interface LogResult<T = DefaultLogFields> {
+ all: ReadonlyArray<T & ListLogLine>;
+ total: number;
+ latest: (T & ListLogLine) | null;
+}
+
+/**
+ * Where the file was deleted, if there is a modify/delete conflict
+ */
+export interface MergeConflictDeletion {
+ deleteRef: string;
+}
+
+/**
+ * Represents a single file with conflicts in the MergeSummary
+ */
+export interface MergeConflict {
+
+ /**
+ * Type of conflict
+ */
+ reason: string;
+
+ /**
+ * Path to file
+ */
+ file: string | null;
+
+ /**
+ * Additional detail for the specific type of conflict
+ */
+ meta?: MergeConflictDeletion;
+}
+
+export type MergeResultStatus = 'success' | string;
+
+export interface MergeDetail {
+ conflicts: MergeConflict[];
+ merges: string[];
+ result: MergeResultStatus;
+ readonly failed: boolean;
+}
+
+export type MergeResult = PullResult & MergeDetail;
+
+/**
+ *
+ */
+export interface PushResultPushedItem {
+ local: string;
+ remote: string;
+
+ readonly deleted: boolean;
+ readonly tag: boolean;
+ readonly branch: boolean;
+ readonly new: boolean;
+ readonly alreadyUpdated: boolean;
+}
+
+export interface RemoteMessagesObjectEnumeration {
+ enumerating: number,
+ counting: number,
+ compressing: number,
+ total: {
+ count: number,
+ delta: number,
+ },
+ reused: {
+ count: number,
+ delta: number,
+ },
+ packReused: number,
+}
+
+export interface RemoteMessages {
+ all: string[];
+ objects?: RemoteMessagesObjectEnumeration;
+}
+
+export interface PushResultRemoteMessages extends RemoteMessages {
+ pullRequestUrl?: string;
+ vulnerabilities?: {
+ count: number;
+ summary: string;
+ url: string;
+ };
+}
+
+export interface RemoteMessageResult<T extends RemoteMessages = RemoteMessages> {
+ remoteMessages: T;
+}
+
+export interface PushResultBranchUpdate {
+ head: {
+ local: string;
+ remote: string;
+ };
+ hash: {
+ from: string;
+ to: string;
+ };
+}
+
+export interface PushDetail {
+ repo?: string;
+ ref?: {
+ local: string;
+ };
+ pushed: PushResultPushedItem[];
+ branch?: {
+ local: string;
+ remote: string;
+ remoteName: string;
+ };
+ update?: PushResultBranchUpdate;
+}
+
+export interface PushResult extends PushDetail, RemoteMessageResult<PushResultRemoteMessages> {
+}
+
+/**
+ * @deprecated
+ * For consistent naming, please use `CommitResult` instead of `CommitSummary`
+ */
+export type CommitSummary = CommitResult;
+
+/**
+ * @deprecated
+ * For consistent naming, please use `MergeResult` instead of `MergeSummary`
+ */
+export type MergeSummary = MergeResult;
+
+/**
+ * @deprecated to aid consistent naming, please use `BranchSingleDeleteResult` instead of `BranchDeletionSummary`.
+ */
+export type BranchDeletionSummary = BranchSingleDeleteResult;
+
+/**
+ * @deprecated to aid consistent naming, please use `BranchMultiDeleteResult` instead of `BranchDeletionBatchSummary`.
+ */
+export type BranchDeletionBatchSummary = BranchMultiDeleteResult;
+
+export type MoveSummary = MoveResult;
+
+/**
+ * @deprecated to aid consistent naming, please use `LogResult` instead of `ListLogSummary`.
+ */
+export type ListLogSummary<T = DefaultLogFields> = LogResult<T>;