Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | 1x 1x 3x 3x 3x 3x 3x 3x 3x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x | const {cx_root} = await import("./cx_root.clas.mjs"); // zcl_abapgit_pr_enumerator.clas.abap class zcl_abapgit_pr_enumerator { static INTERNAL_TYPE = 'CLAS'; static INTERNAL_NAME = 'ZCL_ABAPGIT_PR_ENUMERATOR'; static IMPLEMENTED_INTERFACES = []; static ATTRIBUTES = {"MV_REPO_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "visibility": "I", "is_constant": " ", "is_class": " "}, "MI_ENUM_PROVIDER": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_PR_ENUM_PROVIDER"});}, "visibility": "I", "is_constant": " ", "is_class": " "}}; static METHODS = {"CREATE_PROVIDER": {"visibility": "I", "parameters": {"RI_PROVIDER": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_PR_ENUM_PROVIDER"});}, "is_optional": " "}, "IV_REPO_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}, "CONSTRUCTOR": {"visibility": "U", "parameters": {"IV_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}, "GET_PULLS": {"visibility": "U", "parameters": {"RT_PULLS": {"type": () => {return abap.types.TableFactory.construct(new abap.types.Structure({ "base_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-BASE_URL"}), "number": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-NUMBER"}), "title": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-TITLE"}), "user": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-USER"}), "head_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_URL"}), "head_branch": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_BRANCH"}), "created_at": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-CREATED_AT"}), "is_for_upstream": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}), "draft": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}), "html_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HTML_URL"})}, "zif_abapgit_pr_enum_provider=>ty_pull_request", undefined, {}, {}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":["BASE_URL","NUMBER"]},"secondary":[]}, "zif_abapgit_pr_enum_provider=>ty_pull_requests");}, "is_optional": " "}}}, "NEW": {"visibility": "U", "parameters": {"RO_INSTANCE": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_PR_ENUMERATOR", RTTIName: "\\CLASS=ZCL_ABAPGIT_PR_ENUMERATOR"});}, "is_optional": " "}, "IV_URL": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}}; #mv_repo_url; #mi_enum_provider; constructor() { this.me = new abap.types.ABAPObject(); this.me.set(this); this.INTERNAL_ID = abap.internalIdCounter++; this.FRIENDS_ACCESS_INSTANCE = { "get_pulls": this.get_pulls.bind(this), }; this.#mv_repo_url = new abap.types.String({qualifiedName: "STRING"}); this.FRIENDS_ACCESS_INSTANCE["mv_repo_url"] = this.#mv_repo_url; this.#mi_enum_provider = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_PR_ENUM_PROVIDER"}); this.FRIENDS_ACCESS_INSTANCE["mi_enum_provider"] = this.#mi_enum_provider; } async constructor_(INPUT) { let iv_url = INPUT?.iv_url; if (iv_url?.getQualifiedName === undefined || iv_url.getQualifiedName() !== "STRING") { iv_url = undefined; } if (iv_url === undefined) { iv_url = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_url); } this.#mv_repo_url.set(abap.builtin.to_lower({val: iv_url})); try { this.#mi_enum_provider.set((await this.create_provider({iv_repo_url: this.#mv_repo_url}))); } catch (e) { if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) { } else { throw e; } } return this; } async create_provider(INPUT) { return zcl_abapgit_pr_enumerator.create_provider(INPUT); } static async create_provider(INPUT) { let ri_provider = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_PR_ENUM_PROVIDER"}); let iv_repo_url = INPUT?.iv_repo_url; if (iv_repo_url?.getQualifiedName === undefined || iv_repo_url.getQualifiedName() !== "STRING") { iv_repo_url = undefined; } if (iv_repo_url === undefined) { iv_repo_url = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_repo_url); } let li_agent = new abap.types.ABAPObject({qualifiedName: "ZIF_ABAPGIT_HTTP_AGENT", RTTIName: "\\INTERFACE=ZIF_ABAPGIT_HTTP_AGENT"}); let lv_user = new abap.types.String({qualifiedName: "STRING"}); let lv_repo = new abap.types.String({qualifiedName: "STRING"}); li_agent.set((await abap.Classes['ZCL_ABAPGIT_HTTP_AGENT'].create())); abap.statements.find(iv_repo_url, {regex: abap.CharacterFactory.get(31, 'github\\.com\\/([^\\/]+)\\/([^\\/]+)'), first: false, submatches: [lv_user,lv_repo]}); if (abap.compare.eq(abap.builtin.sy.get().subrc, abap.IntegerFactory.get(0))) { lv_repo.set(abap.builtin.replace({val: lv_repo, regex: abap.CharacterFactory.get(6, '\\.git$'), with: abap.CharacterFactory.get(1, '')})); ri_provider.set(await (new abap.Classes['ZCL_ABAPGIT_PR_ENUM_GITHUB']()).constructor_({iv_user_and_repo: new abap.types.String().set(`${abap.templateFormatting(lv_user)}/${abap.templateFormatting(lv_repo)}`), ii_http_agent: li_agent})); } abap.statements.find(iv_repo_url, {regex: abap.CharacterFactory.get(34, 'localhost:3050\\/([^\\/]+)\\/([^\\/]+)'), first: false, submatches: [lv_user,lv_repo]}); if (abap.compare.eq(abap.builtin.sy.get().subrc, abap.IntegerFactory.get(0))) { ri_provider.set(await (new abap.Classes['ZCL_ABAPGIT_PR_ENUM_GITEA']()).constructor_({iv_user_and_repo: new abap.types.String().set(`${abap.templateFormatting(lv_user)}/${abap.templateFormatting(lv_repo)}`), ii_http_agent: li_agent})); } if (abap.compare.initial(ri_provider)) { await abap.Classes['ZCX_ABAPGIT_EXCEPTION'].raise({iv_text: new abap.types.String().set(`PR enumeration is not supported for ${abap.templateFormatting(iv_repo_url)}`)}); } return ri_provider; } async get_pulls() { let rt_pulls = abap.types.TableFactory.construct(new abap.types.Structure({ "base_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-BASE_URL"}), "number": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-NUMBER"}), "title": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-TITLE"}), "user": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-USER"}), "head_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_URL"}), "head_branch": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HEAD_BRANCH"}), "created_at": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-CREATED_AT"}), "is_for_upstream": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}), "draft": new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}), "html_url": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_PR_ENUM_PROVIDER=>TY_PULL_REQUEST-HTML_URL"})}, "zif_abapgit_pr_enum_provider=>ty_pull_request", undefined, {}, {}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":["BASE_URL","NUMBER"]},"secondary":[]}, "zif_abapgit_pr_enum_provider=>ty_pull_requests"); if (abap.compare.initial(this.#mi_enum_provider)) { return rt_pulls; } rt_pulls.set((await this.#mi_enum_provider.get().zif_abapgit_pr_enum_provider$list_pull_requests())); return rt_pulls; } async new(INPUT) { return zcl_abapgit_pr_enumerator.new(INPUT); } static async new(INPUT) { let ro_instance = new abap.types.ABAPObject({qualifiedName: "ZCL_ABAPGIT_PR_ENUMERATOR", RTTIName: "\\CLASS=ZCL_ABAPGIT_PR_ENUMERATOR"}); let iv_url = INPUT?.iv_url; if (iv_url?.getQualifiedName === undefined || iv_url.getQualifiedName() !== "STRING") { iv_url = undefined; } if (iv_url === undefined) { iv_url = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_url); } ro_instance.set(await (new abap.Classes['ZCL_ABAPGIT_PR_ENUMERATOR']()).constructor_({iv_url: iv_url})); return ro_instance; } } abap.Classes['ZCL_ABAPGIT_PR_ENUMERATOR'] = zcl_abapgit_pr_enumerator; export {zcl_abapgit_pr_enumerator}; |