| /** |
| * @license |
| * Copyright (C) 2019 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // Type definitions used across multiple files in Gerrit |
| |
| /** @enum {string} */ |
| export const CoverageType = { |
| /** |
| * start_character and end_character of the range will be ignored for this |
| * type. |
| */ |
| COVERED: 'COVERED', |
| /** |
| * start_character and end_character of the range will be ignored for this |
| * type. |
| */ |
| NOT_COVERED: 'NOT_COVERED', |
| PARTIALLY_COVERED: 'PARTIALLY_COVERED', |
| /** |
| * You don't have to use this. If there is no coverage information for a |
| * range, then it implicitly means NOT_INSTRUMENTED. start_character and |
| * end_character of the range will be ignored for this type. |
| */ |
| NOT_INSTRUMENTED: 'NOT_INSTRUMENTED', |
| }; |
| |
| const Gerrit = window.Gerrit || {}; |
| |
| /** |
| * @typedef {{ |
| * start_line: number, |
| * start_character: number, |
| * end_line: number, |
| * end_character: number, |
| * }} |
| */ |
| Gerrit.Range; |
| |
| /** |
| * @typedef {{side: string, range: Gerrit.Range, hovering: boolean}} |
| */ |
| Gerrit.HoveredRange; |
| |
| /** |
| * @typedef {{ |
| * side: string, |
| * type: Gerrit.CoverageType, |
| * code_range: Gerrit.Range, |
| * }} |
| */ |
| Gerrit.CoverageRange; |
| |
| /** |
| * @typedef {{ |
| * basePatchNum: (string|number), |
| * patchNum: (number), |
| * }} |
| */ |
| Gerrit.PatchRange; |
| |
| /** |
| * @typedef {{ |
| * changeNum: (string|number), |
| * endpoint: string, |
| * patchNum: (string|number|null|undefined), |
| * errFn: (function(?Response, string=)|null|undefined), |
| * params: (Object|null|undefined), |
| * fetchOptions: (Object|null|undefined), |
| * anonymizedEndpoint: (string|undefined), |
| * reportEndpointAsIs: (boolean|undefined), |
| * }} |
| */ |
| Gerrit.ChangeFetchRequest; |
| |
| /** |
| * @typedef {{ |
| * is_private: boolean, |
| * subject: string, |
| * unresolved_comment_count: number, |
| * }} |
| */ |
| Gerrit.Change; |
| |
| /** |
| * Object to describe a request for passing into _send. |
| * - method is the HTTP method to use in the request. |
| * - url is the URL for the request |
| * - body is a request payload. |
| * TODO (beckysiegel) remove need for number at least. |
| * - errFn is a function to invoke when the request fails. |
| * - cancelCondition is a function that, if provided and returns true, will |
| * cancel the response after it resolves. |
| * - contentType is the content type of the body. |
| * - headers is a key-value hash to describe HTTP headers for the request. |
| * - parseResponse states whether the result should be parsed as a JSON |
| * object using getResponseObject. |
| * |
| * @typedef {{ |
| * method: string, |
| * url: string, |
| * body: (string|number|Object|null|undefined), |
| * errFn: (function(?Response, string=)|null|undefined), |
| * contentType: (string|null|undefined), |
| * headers: (Object|undefined), |
| * parseResponse: (boolean|undefined), |
| * anonymizedUrl: (string|undefined), |
| * reportUrlAsIs: (boolean|undefined), |
| * }} |
| */ |
| Gerrit.SendRequest; |
| |
| /** |
| * @typedef {{ |
| * changeNum: (string|number), |
| * method: string, |
| * patchNum: (string|number|undefined), |
| * endpoint: string, |
| * body: (string|number|Object|null|undefined), |
| * errFn: (function(?Response, string=)|null|undefined), |
| * contentType: (string|null|undefined), |
| * headers: (Object|undefined), |
| * parseResponse: (boolean|undefined), |
| * anonymizedEndpoint: (string|undefined), |
| * reportEndpointAsIs: (boolean|undefined), |
| * }} |
| */ |
| Gerrit.ChangeSendRequest; |
| |
| /** |
| * @typedef {{ |
| * url: string, |
| * fetchOptions: (Object|null|undefined), |
| * anonymizedUrl: (string|undefined), |
| * }} |
| */ |
| Gerrit.FetchRequest; |
| |
| /** |
| * Object to describe a request for passing into fetchJSON or fetchRawJSON. |
| * - url is the URL for the request (excluding get params) |
| * - errFn is a function to invoke when the request fails. |
| * - cancelCondition is a function that, if provided and returns true, will |
| * cancel the response after it resolves. |
| * - params is a key-value hash to specify get params for the request URL. |
| * |
| * @typedef {{ |
| * url: string, |
| * errFn: (function(?Response, string=)|null|undefined), |
| * cancelCondition: (function()|null|undefined), |
| * params: (Object|null|undefined), |
| * fetchOptions: (Object|null|undefined), |
| * anonymizedUrl: (string|undefined), |
| * reportUrlAsIs: (boolean|undefined), |
| * }} |
| */ |
| Gerrit.FetchJSONRequest; |
| |
| /** |
| * @typedef {{ |
| * message: string, |
| * icon: string, |
| * class: string, |
| * }} |
| */ |
| Gerrit.PushCertificateValidation; |
| |
| /** |
| * Object containing layout values to be used in rendering size-bars. |
| * `max{Inserted,Deleted}` represent the largest values of the |
| * `lines_inserted` and `lines_deleted` fields of the files respectively. The |
| * `max{Addition,Deletion}Width` represent the width of the graphic allocated |
| * to the insertion or deletion side respectively. Finally, the |
| * `deletionOffset` value represents the x-position for the deletion bar. |
| * |
| * @typedef {{ |
| * maxInserted: number, |
| * maxDeleted: number, |
| * maxAdditionWidth: number, |
| * maxDeletionWidth: number, |
| * deletionOffset: number, |
| * }} |
| */ |
| Gerrit.LayoutStats; |
| |
| /** |
| * @typedef {{ |
| * changeNum: number, |
| * path: string, |
| * patchRange: !Gerrit.PatchRange, |
| * projectConfig: (Object|undefined), |
| * }} |
| */ |
| Gerrit.CommentMeta; |
| |
| /** |
| * @typedef {{ |
| * meta: !Gerrit.CommentMeta, |
| * left: !Array, |
| * right: !Array, |
| * }} |
| */ |
| Gerrit.CommentsBySide; |
| |
| /** |
| * The DiffIntralineInfo entity contains information about intraline edits in a |
| * file. |
| * |
| * The information consists of a list of <skip length, mark length> pairs, where |
| * the skip length is the number of characters between the end of the previous |
| * edit and the start of this edit, and the mark length is the number of edited |
| * characters following the skip. The start of the edits is from the beginning |
| * of the related diff content lines. |
| * |
| * Note that the implied newline character at the end of each line is included |
| * in the length calculation, and thus it is possible for the edits to span |
| * newlines. |
| * |
| * @typedef {!Array<number>} |
| */ |
| Gerrit.IntralineInfo; |
| |
| /** |
| * A portion of the diff that is treated the same. |
| * |
| * Called `DiffContent` in the API, see |
| * https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#diff-content |
| * |
| * @typedef {{ |
| * ab: ?Array<!string>, |
| * a: ?Array<!string>, |
| * b: ?Array<!string>, |
| * skip: ?number, |
| * edit_a: ?Array<!Gerrit.IntralineInfo>, |
| * edit_b: ?Array<!Gerrit.IntralineInfo>, |
| * due_to_rebase: ?boolean, |
| * common: ?boolean |
| * }} |
| */ |
| Gerrit.DiffChunk; |
| |
| /** |
| * Special line number which should not be collapsed into a shared region. |
| * |
| * @typedef {{ |
| * number: number, |
| * leftSide: boolean |
| * }} |
| */ |
| Gerrit.LineOfInterest; |
| |
| /** |
| * @typedef {{ |
| * html: Node, |
| * position: number, |
| * length: number, |
| * }} |
| */ |
| Gerrit.CommentLinkItem; |
| |
| /** |
| * @typedef {{ |
| * name: string, |
| * value: Object, |
| * }} |
| */ |
| Gerrit.GrSuggestionItem; |
| |
| /** |
| * @typedef {{ |
| * getSuggestions: function(string): Promise<Array<Object>>, |
| * makeSuggestionItem: function(Object): Gerrit.GrSuggestionItem, |
| * }} |
| */ |
| Gerrit.GrSuggestionsProvider; |
| |
| /** |
| * @typedef {{ |
| * patch_set: ?number, |
| * id: ?string, |
| * path: ?Object, |
| * side: ?string, |
| * parent: ?number, |
| * line: ?Object, |
| * in_reply_to: ?string, |
| * message: ?Object, |
| * updated: ?string, |
| * author: ?Object, |
| * tag: ?Object, |
| * unresolved: ?boolean, |
| * robot_id: ?string, |
| * robot_run_id: ?string, |
| * url: ?string, |
| * properties: ?Object, |
| * fix_suggestions: ?Object, |
| * }} |
| */ |
| Gerrit.Comment; |