✨ feat(tsl-codegen): support unified API declarations
Add TSF conversion and shared Markdown recognition for mixed function, class, and unit declarations. Extend generation, linting, indexing, examples, and tests around the unified declaration model.
This commit is contained in:
@@ -1,39 +1,160 @@
|
||||
module: 示例 / 数组
|
||||
path: base/example
|
||||
module: OfficeXml / OpenXml
|
||||
path: officexml/openxml/elements
|
||||
declarations:
|
||||
- kind: class
|
||||
name: OpenXmlAttribute
|
||||
desc: 表示 OpenXml 属性
|
||||
tags: [OpenXml, XML, 属性]
|
||||
members:
|
||||
- kind: method
|
||||
name: create
|
||||
visibility: public
|
||||
binding: instance
|
||||
signature: create(_prefix, _local_name)
|
||||
desc: 创建 OpenXml 属性
|
||||
tags: [OpenXml, 属性, 创建]
|
||||
params:
|
||||
- name: _prefix
|
||||
type: string
|
||||
desc: 命名空间前缀
|
||||
- name: _local_name
|
||||
type: string
|
||||
desc: 本地名称
|
||||
|
||||
functions:
|
||||
- signature: demoNow()
|
||||
desc: 返回示例值。
|
||||
returns: integer
|
||||
example: |
|
||||
return demoNow();
|
||||
// 输出:1
|
||||
- kind: method
|
||||
name: CreateVirtual
|
||||
visibility: public
|
||||
binding: class
|
||||
signature: CreateVirtual(position, row_index, _story)
|
||||
desc: 创建虚段落
|
||||
params:
|
||||
- name: position
|
||||
type: integer
|
||||
desc: 段落位置
|
||||
- name: row_index
|
||||
type: integer
|
||||
desc: 行索引
|
||||
- name: _story
|
||||
type: StoryNode
|
||||
desc: 故事节点
|
||||
returns: ParagraphSegment
|
||||
|
||||
- signature: demoFn(src, mode, factor, ...)
|
||||
tags: [示例, 数组]
|
||||
desc: 按指定模式处理数组并返回结果。
|
||||
params:
|
||||
- name: src
|
||||
type: array
|
||||
desc: 待处理数组
|
||||
- name: mode
|
||||
- kind: property
|
||||
name: Prefix
|
||||
visibility: public
|
||||
desc: 命名空间前缀
|
||||
type: string
|
||||
access: readwrite
|
||||
|
||||
- kind: property
|
||||
name: NamespaceUri
|
||||
visibility: public
|
||||
desc: 命名空间 URI
|
||||
access: read
|
||||
|
||||
- kind: field
|
||||
name: value_
|
||||
visibility: protected
|
||||
desc: 属性值存储
|
||||
type: any
|
||||
|
||||
- kind: field
|
||||
name: Count
|
||||
visibility: public
|
||||
desc: 属性实例数量
|
||||
type: integer
|
||||
desc: 处理模式,取值见下。
|
||||
values:
|
||||
- value: 0
|
||||
desc: 原样返回
|
||||
- value: 1
|
||||
desc: 去重
|
||||
- name: factor
|
||||
type: float
|
||||
optional: true
|
||||
desc: 默认 1.0,结果乘以该系数。
|
||||
- name: "..."
|
||||
type: nil|array
|
||||
optional: true
|
||||
desc: 需要追加处理的其他数组。
|
||||
returns: array
|
||||
example: |
|
||||
src := array(1, 1, 2);
|
||||
return demoFn(src, 1, 2.0);
|
||||
// 输出:array(2,4)
|
||||
static: true
|
||||
|
||||
- kind: constant
|
||||
name: DefaultPrefix
|
||||
visibility: public
|
||||
desc: 默认命名空间前缀
|
||||
type: string
|
||||
value: xml
|
||||
|
||||
- kind: constant
|
||||
name: MaximumAttributes
|
||||
visibility: public
|
||||
desc: 最大属性数量
|
||||
type: integer
|
||||
value: 256
|
||||
static: true
|
||||
|
||||
- kind: function
|
||||
name: ParseOpenXml
|
||||
signature: ParseOpenXml(xml)
|
||||
desc: 解析 OpenXml 文本
|
||||
tags: [OpenXml, 解析]
|
||||
params:
|
||||
- name: xml
|
||||
type: string
|
||||
desc: OpenXml 文本
|
||||
returns: OpenXmlElement
|
||||
examples:
|
||||
- desc: 解析根元素
|
||||
code: |-
|
||||
xml := '<root/>';
|
||||
return ParseOpenXml(xml);
|
||||
|
||||
- kind: unit
|
||||
name: OpenXmlRuntime
|
||||
desc: 提供 OpenXml 运行时接口
|
||||
tags: [OpenXml, 运行时]
|
||||
members:
|
||||
- kind: constant
|
||||
name: DefaultSize
|
||||
desc: 默认文档容量
|
||||
type: integer
|
||||
value: 100
|
||||
|
||||
- kind: variable
|
||||
name: CurrentDocument
|
||||
desc: 当前文档
|
||||
type: Document
|
||||
|
||||
- kind: function
|
||||
name: OpenDocument
|
||||
signature: OpenDocument(path)
|
||||
desc: 打开文档
|
||||
tags: [OpenXml, 文档, 打开]
|
||||
params:
|
||||
- name: path
|
||||
type: string
|
||||
desc: 文档路径
|
||||
returns: Document
|
||||
|
||||
- kind: class
|
||||
name: Document
|
||||
desc: 表示 OpenXml 文档
|
||||
tags: [OpenXml, 文档]
|
||||
members:
|
||||
- kind: method
|
||||
name: Save
|
||||
visibility: public
|
||||
binding: instance
|
||||
signature: Save(path)
|
||||
desc: 保存文档
|
||||
params:
|
||||
- name: path
|
||||
type: string
|
||||
desc: 保存路径
|
||||
returns: boolean
|
||||
|
||||
- kind: method
|
||||
name: Create
|
||||
visibility: public
|
||||
binding: class
|
||||
signature: Create(name)
|
||||
desc: 创建文档
|
||||
params:
|
||||
- name: name
|
||||
type: string
|
||||
desc: 文档名称
|
||||
returns: Document
|
||||
|
||||
- kind: property
|
||||
name: Title
|
||||
visibility: public
|
||||
desc: 文档标题
|
||||
type: string
|
||||
access: readwrite
|
||||
|
||||
Reference in New Issue
Block a user