@ts-for-gir/lib 3.3.0 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/README.md +0 -1
  2. package/lib/conflict-resolver.d.ts +2 -39
  3. package/lib/conflict-resolver.js +4 -228
  4. package/lib/conflict-resolver.js.map +1 -1
  5. package/lib/constants.d.ts +3 -7
  6. package/lib/constants.js +6 -16
  7. package/lib/constants.js.map +1 -1
  8. package/lib/dependency-manager.d.ts +3 -5
  9. package/lib/dependency-manager.js +10 -17
  10. package/lib/dependency-manager.js.map +1 -1
  11. package/lib/formatters/default.d.ts +4 -0
  12. package/lib/formatters/default.js +7 -0
  13. package/lib/formatters/default.js.map +1 -0
  14. package/lib/formatters/formatter.d.ts +3 -0
  15. package/lib/formatters/formatter.js +3 -0
  16. package/lib/formatters/formatter.js.map +1 -0
  17. package/lib/formatters/json.d.ts +4 -0
  18. package/lib/formatters/json.js +7 -0
  19. package/lib/formatters/json.js.map +1 -0
  20. package/lib/generators/dts/gio.d.ts +2 -0
  21. package/lib/generators/dts/gio.js +9 -0
  22. package/lib/generators/dts/gio.js.map +1 -0
  23. package/lib/generators/dts/glib.d.ts +2 -0
  24. package/lib/generators/dts/glib.js +514 -0
  25. package/lib/generators/dts/glib.js.map +1 -0
  26. package/lib/generators/dts/gobject.d.ts +2 -0
  27. package/lib/generators/dts/gobject.js +117 -0
  28. package/lib/generators/dts/gobject.js.map +1 -0
  29. package/lib/generators/dts-inline.d.ts +8 -0
  30. package/lib/generators/dts-inline.js +59 -0
  31. package/lib/generators/dts-inline.js.map +1 -0
  32. package/lib/generators/dts-modules.d.ts +8 -0
  33. package/lib/generators/dts-modules.js +100 -0
  34. package/lib/generators/dts-modules.js.map +1 -0
  35. package/lib/generators/dts.d.ts +45 -0
  36. package/lib/generators/dts.js +682 -0
  37. package/lib/generators/dts.js.map +1 -0
  38. package/lib/generators/generator.d.ts +45 -0
  39. package/lib/generators/generator.js +9 -0
  40. package/lib/generators/generator.js.map +1 -0
  41. package/lib/generators/index.d.ts +5 -0
  42. package/lib/generators/index.js +6 -0
  43. package/lib/generators/index.js.map +1 -0
  44. package/lib/generators/json.d.ts +256 -0
  45. package/lib/generators/json.js +869 -0
  46. package/lib/generators/json.js.map +1 -0
  47. package/lib/generics/clutter.d.ts +26 -0
  48. package/lib/generics/clutter.js +49 -0
  49. package/lib/generics/clutter.js.map +1 -0
  50. package/lib/generics/generify.d.ts +2 -0
  51. package/lib/generics/generify.js +39 -0
  52. package/lib/generics/generify.js.map +1 -0
  53. package/lib/generics/gio.d.ts +7 -0
  54. package/lib/generics/gio.js +51 -0
  55. package/lib/generics/gio.js.map +1 -0
  56. package/lib/generics/glib.d.ts +7 -0
  57. package/lib/generics/glib.js +18 -0
  58. package/lib/generics/glib.js.map +1 -0
  59. package/lib/generics/meta.d.ts +21 -0
  60. package/lib/generics/meta.js +26 -0
  61. package/lib/generics/meta.js.map +1 -0
  62. package/lib/generics/st.d.ts +16 -0
  63. package/lib/generics/st.js +92 -0
  64. package/lib/generics/st.js.map +1 -0
  65. package/lib/generics/visitor.d.ts +20 -0
  66. package/lib/generics/visitor.js +259 -0
  67. package/lib/generics/visitor.js.map +1 -0
  68. package/lib/gir/alias.d.ts +24 -0
  69. package/lib/gir/alias.js +43 -0
  70. package/lib/gir/alias.js.map +1 -0
  71. package/lib/gir/base.d.ts +62 -0
  72. package/lib/gir/base.js +95 -0
  73. package/lib/gir/base.js.map +1 -0
  74. package/lib/gir/class.d.ts +189 -0
  75. package/lib/gir/class.js +1132 -0
  76. package/lib/gir/class.js.map +1 -0
  77. package/lib/gir/const.d.ts +25 -0
  78. package/lib/gir/const.js +43 -0
  79. package/lib/gir/const.js.map +1 -0
  80. package/lib/gir/enum.d.ts +45 -0
  81. package/lib/gir/enum.js +164 -0
  82. package/lib/gir/enum.js.map +1 -0
  83. package/lib/gir/function.d.ts +199 -0
  84. package/lib/gir/function.js +683 -0
  85. package/lib/gir/function.js.map +1 -0
  86. package/lib/gir/generics.d.ts +5 -0
  87. package/lib/gir/generics.js +57 -0
  88. package/lib/gir/generics.js.map +1 -0
  89. package/lib/gir/namespace.d.ts +21 -0
  90. package/lib/gir/namespace.js +57 -0
  91. package/lib/gir/namespace.js.map +1 -0
  92. package/lib/gir/nodes.d.ts +11 -0
  93. package/lib/gir/nodes.js +12 -0
  94. package/lib/gir/nodes.js.map +1 -0
  95. package/lib/gir/property.d.ts +60 -0
  96. package/lib/gir/property.js +128 -0
  97. package/lib/gir/property.js.map +1 -0
  98. package/lib/gir/registry.d.ts +51 -0
  99. package/lib/gir/registry.js +144 -0
  100. package/lib/gir/registry.js.map +1 -0
  101. package/lib/gir/signal.d.ts +33 -0
  102. package/lib/gir/signal.js +165 -0
  103. package/lib/gir/signal.js.map +1 -0
  104. package/lib/gir/util.d.ts +49 -0
  105. package/lib/gir/util.js +556 -0
  106. package/lib/gir/util.js.map +1 -0
  107. package/lib/gir-factory.d.ts +2 -2
  108. package/lib/gir-factory.js +8 -44
  109. package/lib/gir-factory.js.map +1 -1
  110. package/lib/gir-module.d.ts +61 -221
  111. package/lib/gir-module.js +387 -2106
  112. package/lib/gir-module.js.map +1 -1
  113. package/lib/gir.d.ts +251 -0
  114. package/lib/gir.js +638 -0
  115. package/lib/gir.js.map +1 -0
  116. package/lib/index.d.ts +5 -4
  117. package/lib/index.js +7 -4
  118. package/lib/index.js.map +1 -1
  119. package/lib/injection/callbacks/index.d.ts +0 -1
  120. package/lib/injection/callbacks/index.js +0 -1
  121. package/lib/injection/callbacks/index.js.map +1 -1
  122. package/lib/injection/classes/index.d.ts +0 -1
  123. package/lib/injection/classes/index.js +0 -1
  124. package/lib/injection/classes/index.js.map +1 -1
  125. package/lib/injection/injector.d.ts +2 -3
  126. package/lib/injection/injector.js +6 -8
  127. package/lib/injection/injector.js.map +1 -1
  128. package/lib/injections/gee08.d.ts +7 -0
  129. package/lib/injections/gee08.js +68 -0
  130. package/lib/injections/gee08.js.map +1 -0
  131. package/lib/injections/gee1.d.ts +7 -0
  132. package/lib/injections/gee1.js +28 -0
  133. package/lib/injections/gee1.js.map +1 -0
  134. package/lib/injections/gio.d.ts +7 -0
  135. package/lib/injections/gio.js +431 -0
  136. package/lib/injections/gio.js.map +1 -0
  137. package/lib/injections/glib.d.ts +7 -0
  138. package/lib/injections/glib.js +204 -0
  139. package/lib/injections/glib.js.map +1 -0
  140. package/lib/injections/gobject.d.ts +7 -0
  141. package/lib/injections/gobject.js +479 -0
  142. package/lib/injections/gobject.js.map +1 -0
  143. package/lib/injections/inject.d.ts +4 -0
  144. package/lib/injections/inject.js +28 -0
  145. package/lib/injections/inject.js.map +1 -0
  146. package/lib/injections/tracker1.d.ts +7 -0
  147. package/lib/injections/tracker1.js +30 -0
  148. package/lib/injections/tracker1.js.map +1 -0
  149. package/lib/library-version.js.map +1 -1
  150. package/lib/logger.d.ts +1 -3
  151. package/lib/logger.js +3 -8
  152. package/lib/logger.js.map +1 -1
  153. package/lib/messages.d.ts +1 -4
  154. package/lib/messages.js +1 -3
  155. package/lib/messages.js.map +1 -1
  156. package/lib/registry.d.ts +9 -0
  157. package/lib/registry.js +13 -0
  158. package/lib/registry.js.map +1 -0
  159. package/lib/symtable.js +1 -1
  160. package/lib/symtable.js.map +1 -1
  161. package/lib/transformation.d.ts +4 -5
  162. package/lib/transformation.js +31 -127
  163. package/lib/transformation.js.map +1 -1
  164. package/lib/types/generate-config.d.ts +4 -11
  165. package/lib/types/gir-alias-element.d.ts +3 -12
  166. package/lib/types/gir-bitfield-element.d.ts +3 -14
  167. package/lib/types/gir-callable-param-element.d.ts +3 -31
  168. package/lib/types/gir-callable-params.d.ts +7 -0
  169. package/lib/types/gir-callable-params.js +2 -0
  170. package/lib/types/gir-callable-params.js.map +1 -0
  171. package/lib/types/gir-callable-return.d.ts +3 -20
  172. package/lib/types/gir-callback-element.d.ts +3 -12
  173. package/lib/types/gir-class-element.d.ts +3 -34
  174. package/lib/types/gir-constant-element.d.ts +3 -14
  175. package/lib/types/gir-constructor-element.d.ts +3 -5
  176. package/lib/types/gir-enum-element.d.ts +3 -16
  177. package/lib/types/gir-field-element.d.ts +3 -16
  178. package/lib/types/gir-function-element.d.ts +3 -5
  179. package/lib/types/gir-instance-parameter.d.ts +2 -17
  180. package/lib/types/gir-interface-element.d.ts +4 -19
  181. package/lib/types/gir-member-element.d.ts +4 -16
  182. package/lib/types/gir-method-element.d.ts +4 -10
  183. package/lib/types/gir-namespace.d.ts +14 -17
  184. package/lib/types/gir-property-element.d.ts +3 -22
  185. package/lib/types/gir-record-element.d.ts +3 -23
  186. package/lib/types/gir-repository.d.ts +3 -14
  187. package/lib/types/gir-signal.d.ts +3 -18
  188. package/lib/types/gir-union-element.d.ts +3 -16
  189. package/lib/types/gir-virtual-method.d.ts +3 -7
  190. package/lib/types/index.d.ts +3 -54
  191. package/lib/types/index.js +3 -54
  192. package/lib/types/index.js.map +1 -1
  193. package/lib/types/parsed-gir.d.ts +3 -2
  194. package/lib/types/transformations.d.ts +1 -8
  195. package/lib/types/user-config.d.ts +0 -11
  196. package/lib/types.d.ts +23 -0
  197. package/lib/types.js +2 -0
  198. package/lib/types.js.map +1 -0
  199. package/lib/util.d.ts +20 -0
  200. package/lib/util.js +67 -0
  201. package/lib/util.js.map +1 -0
  202. package/lib/utils.d.ts +2 -30
  203. package/lib/utils.js +0 -56
  204. package/lib/utils.js.map +1 -1
  205. package/lib/validators/class.d.ts +7 -0
  206. package/lib/validators/class.js +217 -0
  207. package/lib/validators/class.js.map +1 -0
  208. package/lib/validators/interface.d.ts +5 -0
  209. package/lib/validators/interface.js +16 -0
  210. package/lib/validators/interface.js.map +1 -0
  211. package/lib/visitor.d.ts +35 -0
  212. package/lib/visitor.js +29 -0
  213. package/lib/visitor.js.map +1 -0
  214. package/package.json +14 -10
  215. package/lib/gir-parser.d.ts +0 -2
  216. package/lib/gir-parser.js +0 -69
  217. package/lib/gir-parser.js.map +0 -1
  218. package/lib/injection/callbacks/node-gtk/index.d.ts +0 -2
  219. package/lib/injection/callbacks/node-gtk/index.js +0 -2
  220. package/lib/injection/callbacks/node-gtk/index.js.map +0 -1
  221. package/lib/injection/classes/node-gtk/gdk-4.0.d.ts +0 -2
  222. package/lib/injection/classes/node-gtk/gdk-4.0.js +0 -32
  223. package/lib/injection/classes/node-gtk/gdk-4.0.js.map +0 -1
  224. package/lib/injection/classes/node-gtk/gio-2.0.d.ts +0 -2
  225. package/lib/injection/classes/node-gtk/gio-2.0.js +0 -14
  226. package/lib/injection/classes/node-gtk/gio-2.0.js.map +0 -1
  227. package/lib/injection/classes/node-gtk/glib-2.0.d.ts +0 -2
  228. package/lib/injection/classes/node-gtk/glib-2.0.js +0 -19
  229. package/lib/injection/classes/node-gtk/glib-2.0.js.map +0 -1
  230. package/lib/injection/classes/node-gtk/gobject-2.0.d.ts +0 -2
  231. package/lib/injection/classes/node-gtk/gobject-2.0.js +0 -66
  232. package/lib/injection/classes/node-gtk/gobject-2.0.js.map +0 -1
  233. package/lib/injection/classes/node-gtk/graphene-1.0.d.ts +0 -2
  234. package/lib/injection/classes/node-gtk/graphene-1.0.js +0 -133
  235. package/lib/injection/classes/node-gtk/graphene-1.0.js.map +0 -1
  236. package/lib/injection/classes/node-gtk/gtk-3.0.d.ts +0 -2
  237. package/lib/injection/classes/node-gtk/gtk-3.0.js +0 -31
  238. package/lib/injection/classes/node-gtk/gtk-3.0.js.map +0 -1
  239. package/lib/injection/classes/node-gtk/gtk-4.0.d.ts +0 -2
  240. package/lib/injection/classes/node-gtk/gtk-4.0.js +0 -52
  241. package/lib/injection/classes/node-gtk/gtk-4.0.js.map +0 -1
  242. package/lib/injection/classes/node-gtk/index.d.ts +0 -2
  243. package/lib/injection/classes/node-gtk/index.js +0 -19
  244. package/lib/injection/classes/node-gtk/index.js.map +0 -1
  245. package/lib/injection/classes/node-gtk/pango-1.0.d.ts +0 -2
  246. package/lib/injection/classes/node-gtk/pango-1.0.js +0 -31
  247. package/lib/injection/classes/node-gtk/pango-1.0.js.map +0 -1
  248. package/lib/types/build-type.d.ts +0 -1
  249. package/lib/types/build-type.js +0 -2
  250. package/lib/types/build-type.js.map +0 -1
  251. package/lib/types/environment.d.ts +0 -1
  252. package/lib/types/environment.js +0 -2
  253. package/lib/types/environment.js.map +0 -1
  254. package/lib/types/gir-any-type.d.ts +0 -5
  255. package/lib/types/gir-any-type.js +0 -2
  256. package/lib/types/gir-any-type.js.map +0 -1
  257. package/lib/types/gir-array-type.d.ts +0 -20
  258. package/lib/types/gir-array-type.js +0 -3
  259. package/lib/types/gir-array-type.js.map +0 -1
  260. package/lib/types/gir-boolean.d.ts +0 -1
  261. package/lib/types/gir-boolean.js +0 -2
  262. package/lib/types/gir-boolean.js.map +0 -1
  263. package/lib/types/gir-boxed-element.d.ts +0 -15
  264. package/lib/types/gir-boxed-element.js +0 -2
  265. package/lib/types/gir-boxed-element.js.map +0 -1
  266. package/lib/types/gir-c-include.d.ts +0 -7
  267. package/lib/types/gir-c-include.js +0 -2
  268. package/lib/types/gir-c-include.js.map +0 -1
  269. package/lib/types/gir-callable-attrs.d.ts +0 -15
  270. package/lib/types/gir-callable-attrs.js +0 -3
  271. package/lib/types/gir-callable-attrs.js.map +0 -1
  272. package/lib/types/gir-callable-param.d.ts +0 -7
  273. package/lib/types/gir-callable-param.js +0 -2
  274. package/lib/types/gir-callable-param.js.map +0 -1
  275. package/lib/types/gir-direction.d.ts +0 -7
  276. package/lib/types/gir-direction.js +0 -9
  277. package/lib/types/gir-direction.js.map +0 -1
  278. package/lib/types/gir-doc-element.d.ts +0 -68
  279. package/lib/types/gir-doc-element.js +0 -2
  280. package/lib/types/gir-doc-element.js.map +0 -1
  281. package/lib/types/gir-implements.d.ts +0 -8
  282. package/lib/types/gir-implements.js +0 -2
  283. package/lib/types/gir-implements.js.map +0 -1
  284. package/lib/types/gir-include.d.ts +0 -9
  285. package/lib/types/gir-include.js +0 -2
  286. package/lib/types/gir-include.js.map +0 -1
  287. package/lib/types/gir-info-attrs.d.ts +0 -13
  288. package/lib/types/gir-info-attrs.js +0 -2
  289. package/lib/types/gir-info-attrs.js.map +0 -1
  290. package/lib/types/gir-info-elements.d.ts +0 -5
  291. package/lib/types/gir-info-elements.js +0 -2
  292. package/lib/types/gir-info-elements.js.map +0 -1
  293. package/lib/types/gir-package.d.ts +0 -7
  294. package/lib/types/gir-package.js +0 -2
  295. package/lib/types/gir-package.js.map +0 -1
  296. package/lib/types/gir-prerequisite.d.ts +0 -5
  297. package/lib/types/gir-prerequisite.js +0 -2
  298. package/lib/types/gir-prerequisite.js.map +0 -1
  299. package/lib/types/gir-transfer-ownership-type.d.ts +0 -5
  300. package/lib/types/gir-transfer-ownership-type.js +0 -7
  301. package/lib/types/gir-transfer-ownership-type.js.map +0 -1
  302. package/lib/types/gir-transfer-ownership.d.ts +0 -9
  303. package/lib/types/gir-transfer-ownership.js +0 -2
  304. package/lib/types/gir-transfer-ownership.js.map +0 -1
  305. package/lib/types/gir-type.d.ts +0 -14
  306. package/lib/types/gir-type.js +0 -2
  307. package/lib/types/gir-type.js.map +0 -1
  308. package/lib/types/gir-var-args.d.ts +0 -5
  309. package/lib/types/gir-var-args.js +0 -2
  310. package/lib/types/gir-var-args.js.map +0 -1
  311. package/lib/types/module-type.d.ts +0 -1
  312. package/lib/types/module-type.js +0 -2
  313. package/lib/types/module-type.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/gir/class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { TypeExpression } from "../gir.js";
2
+ import { IntrospectedNamespaceMember, Options } from "./base.js";
3
+ import { GirConstantElement } from "../index.js";
4
+ import { IntrospectedNamespace } from "./namespace.js";
5
+ import { FormatGenerator } from "../generators/generator.js";
6
+ import { LoadOptions } from "../types.js";
7
+ import { GirVisitor } from "../visitor.js";
8
+ export declare class IntrospectedConstant extends IntrospectedNamespaceMember {
9
+ type: TypeExpression;
10
+ value: string | null;
11
+ constructor({ name, type, namespace, value, ...options }: Options<{
12
+ name: string;
13
+ type: TypeExpression;
14
+ namespace: IntrospectedNamespace;
15
+ value: string | null;
16
+ isIntrospectable?: boolean;
17
+ }>);
18
+ accept(visitor: GirVisitor): IntrospectedConstant;
19
+ copy(options?: {
20
+ parent?: IntrospectedNamespace;
21
+ type?: TypeExpression;
22
+ }): IntrospectedConstant;
23
+ static fromXML(element: GirConstantElement, ns: IntrospectedNamespace, options: LoadOptions): IntrospectedConstant;
24
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateConst"]>;
25
+ }
@@ -0,0 +1,43 @@
1
+ import { IntrospectedNamespaceMember } from "./base.js";
2
+ import { getType, parseDoc, parseMetadata, sanitizeIdentifierName } from "./util.js";
3
+ export class IntrospectedConstant extends IntrospectedNamespaceMember {
4
+ type;
5
+ value;
6
+ constructor({ name, type, namespace, value, ...options }) {
7
+ super(name, namespace, options);
8
+ this.type = type;
9
+ this.value = value;
10
+ }
11
+ accept(visitor) {
12
+ const node = this.copy({
13
+ type: visitor.visitType?.(this.type)
14
+ });
15
+ return visitor.visitConst?.(node) ?? node;
16
+ }
17
+ copy(options = {}) {
18
+ const { type, name, value } = this;
19
+ return new IntrospectedConstant({
20
+ name,
21
+ namespace: options.parent ?? this.namespace,
22
+ type: options.type ?? type,
23
+ value
24
+ })._copyBaseProperties(this);
25
+ }
26
+ static fromXML(element, ns, options) {
27
+ const c = new IntrospectedConstant({
28
+ name: sanitizeIdentifierName(ns.name, element.$.name),
29
+ namespace: ns,
30
+ type: getType(ns, element),
31
+ value: element.$.value ?? null
32
+ });
33
+ if (options.loadDocs) {
34
+ c.doc = parseDoc(element);
35
+ c.metadata = parseMetadata(element);
36
+ }
37
+ return c;
38
+ }
39
+ asString(generator) {
40
+ return generator.generateConst(this);
41
+ }
42
+ }
43
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/gir/const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAW,MAAM,WAAW,CAAC;AAIjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAKrF,MAAM,OAAO,oBAAqB,SAAQ,2BAA2B;IACjE,IAAI,CAAiB;IACrB,KAAK,CAAgB;IAErB,YAAY,EACR,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,KAAK,EACL,GAAG,OAAO,EAOZ;QACE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAmB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACvC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,IAAI,CACA,UAGI,EAAE;QAEN,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEnC,OAAO,IAAI,oBAAoB,CAAC;YAC5B,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;YAC3C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,KAAK;SACR,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAA2B,EAAE,EAAyB,EAAE,OAAoB;QACvF,MAAM,CAAC,GAAG,IAAI,oBAAoB,CAAC;YAC/B,IAAI,EAAE,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC;YAC1B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI;SACjC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IAED,QAAQ,CAAqC,SAAY;QACrD,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAmC,CAAC;IAC3E,CAAC;CACJ"}
@@ -0,0 +1,45 @@
1
+ import { TypeIdentifier } from "../gir.js";
2
+ import { IntrospectedBase, IntrospectedNamespaceMember } from "./base.js";
3
+ import { GirMemberElement, GirEnumElement, GirBitfieldElement } from "../index.js";
4
+ import { IntrospectedRecord } from "./class.js";
5
+ import { IntrospectedStaticClassFunction } from "./function.js";
6
+ import { IntrospectedNamespace } from "./namespace.js";
7
+ import { FormatGenerator } from "../generators/generator.js";
8
+ import { LoadOptions } from "../types.js";
9
+ import { GirVisitor } from "../visitor.js";
10
+ export declare class IntrospectedEnum extends IntrospectedNamespaceMember {
11
+ members: Map<string, GirEnumMember>;
12
+ flags: boolean;
13
+ ns: string;
14
+ constructor(name: string, namespace: IntrospectedNamespace, options?: {
15
+ isIntrospectable?: boolean;
16
+ });
17
+ copy({ members }?: {
18
+ parent?: undefined;
19
+ members?: Map<string, GirEnumMember>;
20
+ }): IntrospectedEnum;
21
+ accept(visitor: GirVisitor): IntrospectedEnum;
22
+ getType(): TypeIdentifier;
23
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateEnum"]>;
24
+ asClass(): IntrospectedRecord;
25
+ static fromXML(element: GirEnumElement | GirBitfieldElement, ns: IntrospectedNamespace, options: LoadOptions, flags?: boolean): IntrospectedEnum;
26
+ }
27
+ export declare class GirEnumMember extends IntrospectedBase<IntrospectedEnum> {
28
+ value: string;
29
+ c_identifier: string;
30
+ constructor(name: string, value: string, parent: IntrospectedEnum, c_identifier: string);
31
+ get namespace(): IntrospectedNamespace;
32
+ accept(visitor: GirVisitor): GirEnumMember;
33
+ copy(): GirEnumMember;
34
+ static fromXML(element: GirMemberElement, parent: IntrospectedEnum, options: LoadOptions): GirEnumMember;
35
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateEnumMember"]>;
36
+ }
37
+ export declare class IntrospectedError extends IntrospectedEnum {
38
+ functions: Map<string, IntrospectedStaticClassFunction>;
39
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateError"]>;
40
+ copy({ members }?: {
41
+ parent?: undefined;
42
+ members?: Map<string, GirEnumMember>;
43
+ }): IntrospectedEnum;
44
+ static fromXML(element: GirEnumElement | GirBitfieldElement, ns: IntrospectedNamespace, options: LoadOptions): IntrospectedEnum;
45
+ }
@@ -0,0 +1,164 @@
1
+ import { NumberType, TypeIdentifier } from "../gir.js";
2
+ import { IntrospectedBase, IntrospectedNamespaceMember } from "./base.js";
3
+ import { GirComplexRecord } from "./class.js";
4
+ import { IntrospectedField } from "./property.js";
5
+ import { IntrospectedStaticClassFunction } from "./function.js";
6
+ import { parseDoc, parseMetadata, sanitizeIdentifierName, sanitizeMemberName } from "./util.js";
7
+ export class IntrospectedEnum extends IntrospectedNamespaceMember {
8
+ members = new Map();
9
+ flags = false;
10
+ ns;
11
+ constructor(name, namespace, options = {}) {
12
+ super(sanitizeIdentifierName(namespace.name, name), namespace, options);
13
+ this.ns = namespace.name;
14
+ }
15
+ copy({ members } = {}) {
16
+ const { namespace, name, flags } = this;
17
+ const en = new IntrospectedEnum(name, namespace);
18
+ for (const [key, member] of (members ?? this.members).entries()) {
19
+ en.members.set(key, member.copy());
20
+ }
21
+ en.flags = flags;
22
+ en._copyBaseProperties(this);
23
+ return en;
24
+ }
25
+ accept(visitor) {
26
+ const node = this.copy({
27
+ members: new Map(Array.from(this.members.entries()).map(([name, m]) => {
28
+ return [name, m.accept(visitor)];
29
+ }))
30
+ });
31
+ return visitor.visitEnum?.(node) ?? node;
32
+ }
33
+ getType() {
34
+ return new TypeIdentifier(this.name, this.ns);
35
+ }
36
+ asString(generator) {
37
+ return generator.generateEnum(this);
38
+ }
39
+ asClass() {
40
+ const { name, namespace, doc } = this;
41
+ const clazz = new GirComplexRecord({ name, namespace, doc });
42
+ clazz.fields.push(...Array.from(this.members.values()).map(m => {
43
+ const field = new IntrospectedField({
44
+ name: m.name,
45
+ parent: clazz,
46
+ type: NumberType,
47
+ writable: true,
48
+ isStatic: true
49
+ });
50
+ field.doc = m.doc;
51
+ field.metadata = m.metadata;
52
+ return field;
53
+ }));
54
+ clazz.members = [];
55
+ return clazz;
56
+ }
57
+ static fromXML(element, ns, options, flags = false) {
58
+ const em = new IntrospectedEnum(sanitizeMemberName(element.$.name), ns);
59
+ if (element.$["glib:type-name"]) {
60
+ em.resolve_names.push(element.$["glib:type-name"]);
61
+ ns.registerResolveName(element.$["glib:type-name"], ns.name, em.name);
62
+ }
63
+ if (element.$["c:type"]) {
64
+ em.resolve_names.push(element.$["c:type"]);
65
+ ns.registerResolveName(element.$["c:type"], ns.name, em.name);
66
+ }
67
+ if (options.loadDocs) {
68
+ em.doc = parseDoc(element);
69
+ em.metadata = parseMetadata(element);
70
+ }
71
+ if (!element.member) {
72
+ return em;
73
+ }
74
+ element.member.forEach(m => {
75
+ const member = GirEnumMember.fromXML(m, em, options);
76
+ em.members.set(member.name, member);
77
+ });
78
+ em.flags = flags;
79
+ return em;
80
+ }
81
+ }
82
+ export class GirEnumMember extends IntrospectedBase {
83
+ value;
84
+ c_identifier;
85
+ constructor(name, value, parent, c_identifier) {
86
+ super(name, parent);
87
+ this.value = value;
88
+ this.c_identifier = c_identifier;
89
+ }
90
+ get namespace() {
91
+ return this.parent.namespace;
92
+ }
93
+ accept(visitor) {
94
+ const node = this.copy();
95
+ return visitor.visitEnumMember?.(node) ?? node;
96
+ }
97
+ copy() {
98
+ const { value, name, parent, c_identifier } = this;
99
+ return new GirEnumMember(name, value, parent, c_identifier)._copyBaseProperties(this);
100
+ }
101
+ static fromXML(element, parent, options) {
102
+ const upper = element.$.name.toUpperCase();
103
+ const c_identifier = element.$["c:identifier"];
104
+ const enumMember = new GirEnumMember(upper, element.$.value, parent, c_identifier);
105
+ if (options.loadDocs) {
106
+ enumMember.doc = parseDoc(element);
107
+ enumMember.metadata = parseMetadata(element);
108
+ }
109
+ return enumMember;
110
+ }
111
+ asString(generator) {
112
+ return generator.generateEnumMember(this);
113
+ }
114
+ }
115
+ function isEnumElement(e) {
116
+ return typeof e === "object" && e != null && "function" in e;
117
+ }
118
+ export class IntrospectedError extends IntrospectedEnum {
119
+ functions = new Map();
120
+ asString(generator) {
121
+ return generator.generateError(this);
122
+ }
123
+ copy({ members } = {}) {
124
+ const { namespace, name, flags } = this;
125
+ const en = new IntrospectedError(name, namespace);
126
+ for (const [key, member] of (members ?? this.members).entries()) {
127
+ en.members.set(key, member.copy());
128
+ }
129
+ for (const [key, func] of this.functions.entries()) {
130
+ en.functions.set(key, func.copy({ parent: en }));
131
+ }
132
+ en.flags = flags;
133
+ return en._copyBaseProperties(this);
134
+ }
135
+ static fromXML(element, ns, options) {
136
+ const err = new IntrospectedError(sanitizeMemberName(element.$.name), ns);
137
+ if (element.$["glib:type-name"]) {
138
+ err.resolve_names.push(element.$["glib:type-name"]);
139
+ ns.registerResolveName(element.$["glib:type-name"], ns.name, err.name);
140
+ }
141
+ if (element.$["c:type"]) {
142
+ err.resolve_names.push(element.$["c:type"]);
143
+ ns.registerResolveName(element.$["c:type"], ns.name, err.name);
144
+ }
145
+ if (options.loadDocs) {
146
+ err.doc = parseDoc(element);
147
+ err.metadata = parseMetadata(element);
148
+ }
149
+ if (element.member) {
150
+ element.member.forEach(m => {
151
+ const member = GirEnumMember.fromXML(m, err, options);
152
+ err.members.set(member.name, member);
153
+ });
154
+ }
155
+ if (isEnumElement(element) && element.function) {
156
+ element.function.forEach(f => {
157
+ const func = IntrospectedStaticClassFunction.fromXML(f, err, options);
158
+ err.functions.set(func.name, func);
159
+ });
160
+ }
161
+ return err;
162
+ }
163
+ }
164
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/gir/enum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { TypeExpression, Generic, FunctionType } from "../gir.js";
2
+ import { IntrospectedBase, IntrospectedClassMember, IntrospectedNamespaceMember, Options } from "./base.js";
3
+ import { GirFunctionElement, GirMethodElement, GirDirection, GirCallableParamElement, GirCallbackElement, GirVirtualMethodElement, GirConstructorElement, GirModule } from "../index.js";
4
+ import { IntrospectedNamespace } from "./namespace.js";
5
+ import { IntrospectedClass } from "./class.js";
6
+ import { IntrospectedEnum } from "./enum.js";
7
+ import { IntrospectedSignal } from "./signal.js";
8
+ import { FormatGenerator } from "../generators/generator.js";
9
+ import { LoadOptions } from "../types.js";
10
+ import { GirVisitor } from "../visitor.js";
11
+ import { IntrospectedField } from "./property.js";
12
+ import { IntrospectedBaseClass } from "./nodes.js";
13
+ export declare class IntrospectedFunction extends IntrospectedNamespaceMember {
14
+ readonly parameters: IntrospectedFunctionParameter[];
15
+ readonly output_parameters: IntrospectedFunctionParameter[];
16
+ readonly return_type: TypeExpression;
17
+ readonly raw_name: string;
18
+ generics: Generic[];
19
+ returnTypeDoc: string | null;
20
+ constructor({ name, raw_name, return_type, parameters, output_parameters, namespace, ...args }: Options<{
21
+ name: string;
22
+ raw_name: string;
23
+ return_type?: TypeExpression;
24
+ parameters?: IntrospectedFunctionParameter[];
25
+ output_parameters?: IntrospectedFunctionParameter[];
26
+ namespace: GirModule;
27
+ }>);
28
+ copy({ parent, outputParameters, parameters, return_type }?: {
29
+ parent?: GirModule;
30
+ parameters?: IntrospectedFunctionParameter[];
31
+ outputParameters?: IntrospectedFunctionParameter[];
32
+ return_type?: TypeExpression;
33
+ }): IntrospectedFunction;
34
+ accept(visitor: GirVisitor): IntrospectedFunction;
35
+ static fromXML(element: GirFunctionElement | GirMethodElement, ns: IntrospectedNamespace, options: LoadOptions): IntrospectedFunction;
36
+ return(): TypeExpression;
37
+ asCallback(): IntrospectedCallback;
38
+ asClassFunction(parent: IntrospectedBaseClass | IntrospectedEnum): IntrospectedClassFunction;
39
+ asVirtualClassFunction(parent: IntrospectedBaseClass): IntrospectedVirtualClassFunction;
40
+ asStaticClassFunction(parent: IntrospectedBaseClass | IntrospectedEnum): IntrospectedStaticClassFunction;
41
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateFunction"]>;
42
+ }
43
+ export declare class IntrospectedDirectAllocationConstructor extends IntrospectedClassMember {
44
+ parameters: IntrospectedFunctionParameter[];
45
+ constructor(parameters: IntrospectedFunctionParameter[], parent: IntrospectedBaseClass | null);
46
+ static fromFields(fields: IntrospectedField[], parent: IntrospectedBaseClass): IntrospectedDirectAllocationConstructor;
47
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateDirectAllocationConstructor"]>;
48
+ copy(options?: {
49
+ parent?: IntrospectedBaseClass | undefined;
50
+ parameters?: IntrospectedFunctionParameter[];
51
+ } | undefined): IntrospectedDirectAllocationConstructor;
52
+ accept(visitor: GirVisitor): IntrospectedDirectAllocationConstructor;
53
+ }
54
+ export declare class IntrospectedConstructor extends IntrospectedClassMember {
55
+ readonly parameters: IntrospectedFunctionParameter[];
56
+ readonly return_type: TypeExpression;
57
+ generics: Generic[];
58
+ constructor({ name, parameters, return_type, parent, ...args }: Options<{
59
+ name: string;
60
+ parent: IntrospectedBaseClass | null;
61
+ parameters?: IntrospectedFunctionParameter[];
62
+ return_type: TypeExpression;
63
+ }>);
64
+ copy({ parent, parameters, return_type }?: {
65
+ parent?: IntrospectedBaseClass;
66
+ parameters?: IntrospectedFunctionParameter[];
67
+ return_type?: TypeExpression;
68
+ }): IntrospectedConstructor;
69
+ static fromXML(m: GirConstructorElement, parent: IntrospectedBaseClass, options: LoadOptions): IntrospectedConstructor;
70
+ accept(visitor: GirVisitor): IntrospectedConstructor;
71
+ return(): TypeExpression;
72
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateConstructor"]>;
73
+ }
74
+ export declare class IntrospectedFunctionParameter extends IntrospectedBase<IntrospectedClassFunction | IntrospectedFunction | IntrospectedSignal | IntrospectedConstructor | IntrospectedDirectAllocationConstructor | null> {
75
+ readonly type: TypeExpression;
76
+ readonly direction: GirDirection;
77
+ readonly isVarArgs: boolean;
78
+ readonly isOptional: boolean;
79
+ readonly isNullable: boolean;
80
+ constructor({ name, direction, type, parent, doc, isVarArgs, isOptional, isNullable, ...args }: Options<{
81
+ name: string;
82
+ parent?: IntrospectedClassFunction | IntrospectedFunction | IntrospectedSignal | IntrospectedConstructor | IntrospectedDirectAllocationConstructor | null;
83
+ type: TypeExpression;
84
+ direction: GirDirection;
85
+ doc?: string | null;
86
+ isVarArgs?: boolean;
87
+ isOptional?: boolean;
88
+ isNullable?: boolean;
89
+ }>);
90
+ get namespace(): GirModule;
91
+ asField(): IntrospectedField;
92
+ copy(options?: {
93
+ parent?: IntrospectedClassFunction | IntrospectedFunction | IntrospectedSignal | IntrospectedConstructor | IntrospectedDirectAllocationConstructor | null;
94
+ type?: TypeExpression;
95
+ isOptional?: boolean;
96
+ isNullable?: boolean;
97
+ }): IntrospectedFunctionParameter;
98
+ accept(visitor: GirVisitor): IntrospectedFunctionParameter;
99
+ asString<T>(generator: FormatGenerator<T>): T;
100
+ static fromXML<Parent extends IntrospectedSignal | IntrospectedClassFunction | IntrospectedFunction | IntrospectedConstructor>(parameter: GirCallableParamElement & {
101
+ $: {
102
+ name: string;
103
+ };
104
+ }, parent: Parent, options: LoadOptions): IntrospectedFunctionParameter;
105
+ }
106
+ export declare class IntrospectedClassFunction<Parent extends IntrospectedBaseClass | IntrospectedEnum = IntrospectedBaseClass | IntrospectedEnum> extends IntrospectedBase<Parent> {
107
+ readonly parameters: IntrospectedFunctionParameter[];
108
+ protected readonly return_type: TypeExpression;
109
+ readonly output_parameters: IntrospectedFunctionParameter[];
110
+ protected _anyify: boolean;
111
+ protected _generify: boolean;
112
+ interfaceParent: IntrospectedBaseClass | IntrospectedEnum | null;
113
+ returnTypeDoc?: string | null;
114
+ generics: Generic[];
115
+ constructor({ name, parameters, output_parameters, return_type, parent, doc, ...args }: Options<{
116
+ name: string;
117
+ parameters?: IntrospectedFunctionParameter[];
118
+ output_parameters?: IntrospectedFunctionParameter[];
119
+ return_type?: TypeExpression;
120
+ parent: Parent;
121
+ doc?: string | null;
122
+ }>);
123
+ get namespace(): GirModule;
124
+ asCallback(): IntrospectedClassCallback;
125
+ asConstructor(): IntrospectedConstructor;
126
+ asStaticClassFunction(parent: IntrospectedClass): IntrospectedStaticClassFunction;
127
+ copy({ parent, name, interfaceParent, parameters, outputParameters, returnType }?: {
128
+ parent?: Parent;
129
+ name?: string;
130
+ interfaceParent?: IntrospectedBaseClass | IntrospectedEnum;
131
+ parameters?: IntrospectedFunctionParameter[];
132
+ outputParameters?: IntrospectedFunctionParameter[];
133
+ returnType?: TypeExpression;
134
+ }): IntrospectedClassFunction<Parent>;
135
+ accept(visitor: GirVisitor): IntrospectedClassFunction<Parent>;
136
+ anyify(): this;
137
+ shouldAnyify(): boolean;
138
+ static fromXML(element: GirFunctionElement | GirMethodElement, parent: IntrospectedBaseClass | IntrospectedEnum, options: LoadOptions): IntrospectedClassFunction;
139
+ return(): TypeExpression;
140
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateClassFunction"]>;
141
+ }
142
+ export declare class IntrospectedVirtualClassFunction extends IntrospectedClassFunction<IntrospectedBaseClass> {
143
+ constructor({ name, parameters, output_parameters, return_type, parent, doc, ...args }: Options<{
144
+ name: string;
145
+ parameters: IntrospectedFunctionParameter[];
146
+ output_parameters?: IntrospectedFunctionParameter[];
147
+ return_type?: TypeExpression;
148
+ parent: IntrospectedBaseClass;
149
+ doc?: string | null;
150
+ }>);
151
+ copy({ parent, interfaceParent, parameters, outputParameters, returnType }: {
152
+ parent?: IntrospectedBaseClass;
153
+ interfaceParent?: IntrospectedBaseClass | IntrospectedEnum | undefined;
154
+ parameters?: IntrospectedFunctionParameter[] | undefined;
155
+ outputParameters?: IntrospectedFunctionParameter[] | undefined;
156
+ returnType?: TypeExpression | undefined;
157
+ }): IntrospectedVirtualClassFunction;
158
+ return(): TypeExpression;
159
+ accept(visitor: GirVisitor): IntrospectedVirtualClassFunction;
160
+ static fromXML(m: GirVirtualMethodElement, parent: IntrospectedBaseClass, options: LoadOptions): IntrospectedVirtualClassFunction;
161
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateVirtualClassFunction"]>;
162
+ }
163
+ export declare class IntrospectedStaticClassFunction extends IntrospectedClassFunction {
164
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateStaticClassFunction"]>;
165
+ copy({ parent, interfaceParent, parameters, outputParameters, returnType }?: {
166
+ parent?: IntrospectedBaseClass | IntrospectedEnum;
167
+ interfaceParent?: IntrospectedBaseClass | IntrospectedEnum | undefined;
168
+ parameters?: IntrospectedFunctionParameter[] | undefined;
169
+ outputParameters?: IntrospectedFunctionParameter[] | undefined;
170
+ returnType?: TypeExpression | undefined;
171
+ }): IntrospectedStaticClassFunction;
172
+ accept(visitor: GirVisitor): IntrospectedStaticClassFunction;
173
+ asClassFunction(parent: IntrospectedBaseClass): IntrospectedClassFunction;
174
+ static fromXML(m: GirFunctionElement, parent: IntrospectedBaseClass | IntrospectedEnum, options: LoadOptions): IntrospectedStaticClassFunction;
175
+ }
176
+ export declare class IntrospectedCallback extends IntrospectedFunction {
177
+ asFunctionType(): FunctionType;
178
+ copy({ parameters, returnType, outputParameters, parent }?: {
179
+ parent?: GirModule;
180
+ parameters?: IntrospectedFunctionParameter[];
181
+ outputParameters?: IntrospectedFunctionParameter[];
182
+ returnType?: TypeExpression;
183
+ }): IntrospectedCallback;
184
+ accept(visitor: GirVisitor): IntrospectedCallback;
185
+ static fromXML(element: GirCallbackElement, namespace: GirModule, options: LoadOptions): IntrospectedCallback;
186
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateCallback"]>;
187
+ }
188
+ export declare class IntrospectedClassCallback extends IntrospectedClassFunction {
189
+ asFunctionType(): FunctionType;
190
+ copy({ parameters, returnType, outputParameters, parent }?: {
191
+ parent?: IntrospectedBaseClass;
192
+ parameters?: IntrospectedFunctionParameter[];
193
+ outputParameters?: IntrospectedFunctionParameter[];
194
+ returnType?: TypeExpression;
195
+ }): IntrospectedClassCallback;
196
+ accept(visitor: GirVisitor): IntrospectedClassCallback;
197
+ static fromXML(element: GirCallbackElement, parent: IntrospectedBaseClass, options: LoadOptions): IntrospectedClassCallback;
198
+ asString<T extends FormatGenerator<unknown>>(generator: T): ReturnType<T["generateClassCallback"]>;
199
+ }