@abapify/adk (英语)
ABAP Development Kit——由计划驱动的ABAP对象的构造和序列化.
概览
ADK提供由ADT XML响应所构建的ABAP对象(类,界面,软件包等)的打字表示. 它处理解析,构造,懒惰地加载源包括——ADK本身内部没有HTTP呼叫.
密钥属性 :
- 司马一等: 来源于
@abapify/adt-schemas(XSD 生成) - 纯建筑: 没有网络呼叫, 没有副作用
- 懒惰源装入:包括通过注入取取器按需取取取
- 不可改变的快照: 对象代表时点状态
安装
npm install @abapify/adk
使用量
import { AdkFactory } from '@abapify/adk';
const factory = new AdkFactory();
// Parse ADT XML response into a typed object
const classObj = factory.fromAdtXml('CLAS/OC', xmlString);
console.log(classObj.kind); // 'CLAS/OC'
console.log(classObj.name); // 'ZCL_MY_CLASS'
// Lazy-load source (requires a fetcher injected via the CLI or client)
const source = await classObj.getSource();
const includes = await classObj.getIncludes();
建筑
adt-schemas (XSD-derived TypeScript types)
↓
adk (parse ADT XML → domain objects) ← this package
↓
adt-cli (orchestrate: fetch → parse → serialize)
ADK 位于 HTTP 层之间(adt-client)和序列层(adt-plugin-*) (中文(简体) ). CLI将原始的ADT XML传递到ADK,接收被打出的对象,并交给了格式插件.
支持对象类型
| ABAP 类型 | 说明 |
|---|---|
CLAS/OC | ABAP 类 |
INTF/OI | ABAP 接口 |
DEVC/K | 软件包 |
桥梁模式( CLI 整合)
CLI 使用 ADK 适配器登记对象处理器 :
this.handlers.set(
'CLAS',
(client) =>
new AdkObjectHandler(
client,
(xml) => ClassAdtAdapter.fromAdtXML(xml),
(name) => `/sap/bc/adt/oo/classes/${name.toLowerCase()}`,
),
);
许可证
麻省理工学院