當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript abap-adt-api.ADTClient類代碼示例

本文整理匯總了TypeScript中abap-adt-api.ADTClient的典型用法代碼示例。如果您正苦於以下問題:TypeScript ADTClient類的具體用法?TypeScript ADTClient怎麽用?TypeScript ADTClient使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了ADTClient類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: selectTransport

export async function selectTransport(
  objContentPath: string,
  devClass: string,
  client: ADTClient,
  forCreation: boolean = false
): Promise<TransportSelection> {
  const ti = await client.transportInfo(
    objContentPath,
    devClass,
    forCreation ? "I" : ""
  )
  // if I have a lock return the locking transport
  // will probably be a task but should be fine

  if (ti.LOCKS) return sel(ti.LOCKS.HEADER.TRKORR)

  if (ti.DLVUNIT === "LOCAL") return sel("")
  const CREATENEW = "Create a new transport"
  const selection = await window.showQuickPick([
    CREATENEW,
    ...ti.TRANSPORTS.map(t => `${t.TRKORR} ${t.AS4TEXT}`)
  ])

  if (!selection) return sel("", true)
  if (selection === CREATENEW) {
    const text = await window.showInputBox({ prompt: "Request text" })
    if (!text) return sel("", true)
    return sel(await client.createTransport(objContentPath, text, ti.DEVCLASS))
  } else return sel(selection.split(" ")[0])
}
開發者ID:valdirmendesgt,項目名稱:vscode_abap_remote_fs,代碼行數:30,代碼來源:AdtTransports.ts

示例2: getContentsUri

 public getContentsUri(): string {
   if (!this.structure || !this.techName)
     throw FileSystemError.FileNotFound(this.path)
   const include = ADTClient.classIncludes(this.structure).get(this
     .techName as classIncludes)
   if (!include) throw FileSystemError.FileNotFound(this.path)
   return include
 }
開發者ID:valdirmendesgt,項目名稱:vscode_abap_remote_fs,代碼行數:8,代碼來源:AbapClassInclude.ts

示例3: loadMetadata

 public async loadMetadata(client: ADTClient): Promise<AbapObject> {
   if (this.name) {
     const struc = await client.objectStructure(this.path)
     if (isClassStructure(struc)) {
       this.structure = struc
     }
   }
   return this
 }
開發者ID:valdirmendesgt,項目名稱:vscode_abap_remote_fs,代碼行數:9,代碼來源:AbapClass.ts

示例4: getChildren

  public async getChildren(
    client: ADTClient
  ): Promise<AbapNodeComponentByCategory[]> {
    if (this.isLeaf()) throw FileSystemError.FileNotADirectory(this.vsName)
    if (!this.structure) await this.loadMetadata(client)
    if (!this.structure) throw FileSystemError.FileNotFound(this.vsName)

    const ns: NodeStructureMapped = {
      categories: new Map(),
      objectTypes: new Map(),
      nodes: []
    }
    const main = this.selfLeafNode()
    main.OBJECT_URI = ADTClient.mainInclude(this.structure)
    const sources = ADTClient.classIncludes(this.structure)
    this.structure.includes.forEach(i => {
      const node = {
        EXPANDABLE: "",
        OBJECT_NAME: this.name + "." + i["class:includeType"],
        OBJECT_TYPE: i["adtcore:type"],
        OBJECT_URI: sources.get(i["class:includeType"] as classIncludes) || "",
        OBJECT_VIT_URI: "",
        TECH_NAME: i["class:includeType"] // bit of a hack, used to match include metadata
      }
      if (node.OBJECT_URI) {
        if (i["abapsource:sourceUri"] === "source/main") ns.nodes.unshift(node)
        else ns.nodes.push(node)
      }
    })

    const aggregated = aggregateNodes(ns, this.type)
    for (const cat of aggregated)
      for (const type of cat.types)
        for (const incl of type.objects)
          if (isClassInclude(incl)) incl.setParent(this)

    return aggregated
  }
開發者ID:valdirmendesgt,項目名稱:vscode_abap_remote_fs,代碼行數:38,代碼來源:AbapClass.ts

示例5: activate

 public async activate(object: AbapObject) {
   // TODO: handle multiple inactive components
   const inactive = object.getActivationSubject()
   let result
   let message
   try {
     result = await this.client.activate(inactive.name, inactive.path)
     if (result.inactive.length > 0) {
       const inactives = inactiveObjectsInResults(result)
       result = await this.client.activate(inactives)
     }
   } catch (e) {
     if (isAdtError(e) && e.type === "invalidMainProgram") {
       const mainProg = await this.selectMain(inactive)
       if (mainProg)
         result = await this.client.activate(
           inactive.name,
           inactive.path,
           mainProg
         )
     } else message = e.toString()
   }
   if (result && result.success) {
     await inactive.loadMetadata(this.client)
   } else {
     window.showErrorMessage(
       (result && result.messages[0] && result.messages[0].shortText) ||
         message ||
         `Error activating ${object.name}`
     )
   }
 }
開發者ID:valdirmendesgt,項目名稱:vscode_abap_remote_fs,代碼行數:32,代碼來源:AdtObjectActivator.ts


注:本文中的abap-adt-api.ADTClient類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。