@ts-for-gir/cli 3.0.0-beta.2
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.
- package/README.md +156 -0
- package/lib/commands/doc.d.ts +27 -0
- package/lib/commands/doc.js +48 -0
- package/lib/commands/doc.js.map +1 -0
- package/lib/commands/generate.d.ts +45 -0
- package/lib/commands/generate.js +71 -0
- package/lib/commands/generate.js.map +1 -0
- package/lib/commands/index.d.ts +3 -0
- package/lib/commands/index.js +4 -0
- package/lib/commands/index.js.map +1 -0
- package/lib/commands/list.d.ts +21 -0
- package/lib/commands/list.js +77 -0
- package/lib/commands/list.js.map +1 -0
- package/lib/config.d.ts +103 -0
- package/lib/config.js +385 -0
- package/lib/config.js.map +1 -0
- package/lib/conflict-resolver.d.ts +154 -0
- package/lib/conflict-resolver.js +1095 -0
- package/lib/conflict-resolver.js.map +1 -0
- package/lib/constants.d.ts +18 -0
- package/lib/constants.js +23 -0
- package/lib/constants.js.map +1 -0
- package/lib/generation-handler.d.ts +12 -0
- package/lib/generation-handler.js +63 -0
- package/lib/generation-handler.js.map +1 -0
- package/lib/generator.d.ts +5 -0
- package/lib/generator.js +2 -0
- package/lib/generator.js.map +1 -0
- package/lib/gir-factory.d.ts +50 -0
- package/lib/gir-factory.js +354 -0
- package/lib/gir-factory.js.map +1 -0
- package/lib/gir-module.d.ts +256 -0
- package/lib/gir-module.js +2075 -0
- package/lib/gir-module.js.map +1 -0
- package/lib/html-doc-generator.d.ts +13 -0
- package/lib/html-doc-generator.js +18 -0
- package/lib/html-doc-generator.js.map +1 -0
- package/lib/index.d.ts +17 -0
- package/lib/index.js +18 -0
- package/lib/index.js.map +1 -0
- package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +2 -0
- package/lib/injection/callbacks/gjs/Gio-2.0.js +36 -0
- package/lib/injection/callbacks/gjs/Gio-2.0.js.map +1 -0
- package/lib/injection/callbacks/gjs/index.d.ts +2 -0
- package/lib/injection/callbacks/gjs/index.js +3 -0
- package/lib/injection/callbacks/gjs/index.js.map +1 -0
- package/lib/injection/callbacks/index.d.ts +4 -0
- package/lib/injection/callbacks/index.js +4 -0
- package/lib/injection/callbacks/index.js.map +1 -0
- package/lib/injection/callbacks/node-gtk/index.d.ts +2 -0
- package/lib/injection/callbacks/node-gtk/index.js +2 -0
- package/lib/injection/callbacks/node-gtk/index.js.map +1 -0
- package/lib/injection/classes/GLib-2-0.d.ts +2 -0
- package/lib/injection/classes/GLib-2-0.js +35 -0
- package/lib/injection/classes/GLib-2-0.js.map +1 -0
- package/lib/injection/classes/gjs/GLib-2.0.d.ts +2 -0
- package/lib/injection/classes/gjs/GLib-2.0.js +74 -0
- package/lib/injection/classes/gjs/GLib-2.0.js.map +1 -0
- package/lib/injection/classes/gjs/GObject-2.0.d.ts +2 -0
- package/lib/injection/classes/gjs/GObject-2.0.js +634 -0
- package/lib/injection/classes/gjs/GObject-2.0.js.map +1 -0
- package/lib/injection/classes/gjs/Gio-2.0.d.ts +5 -0
- package/lib/injection/classes/gjs/Gio-2.0.js +218 -0
- package/lib/injection/classes/gjs/Gio-2.0.js.map +1 -0
- package/lib/injection/classes/gjs/index.d.ts +2 -0
- package/lib/injection/classes/gjs/index.js +5 -0
- package/lib/injection/classes/gjs/index.js.map +1 -0
- package/lib/injection/classes/index.d.ts +4 -0
- package/lib/injection/classes/index.js +5 -0
- package/lib/injection/classes/index.js.map +1 -0
- package/lib/injection/classes/node-gtk/GLib-2.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/GLib-2.0.js +19 -0
- package/lib/injection/classes/node-gtk/GLib-2.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/GObject-2.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/GObject-2.0.js +66 -0
- package/lib/injection/classes/node-gtk/GObject-2.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/Gdk-4.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/Gdk-4.0.js +32 -0
- package/lib/injection/classes/node-gtk/Gdk-4.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/Gio-2.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/Gio-2.0.js +14 -0
- package/lib/injection/classes/node-gtk/Gio-2.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/Graphene-1.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/Graphene-1.0.js +133 -0
- package/lib/injection/classes/node-gtk/Graphene-1.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/Gtk-3.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/Gtk-3.0.js +31 -0
- package/lib/injection/classes/node-gtk/Gtk-3.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/Gtk-4.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/Gtk-4.0.js +52 -0
- package/lib/injection/classes/node-gtk/Gtk-4.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/Pango-1.0.d.ts +2 -0
- package/lib/injection/classes/node-gtk/Pango-1.0.js +31 -0
- package/lib/injection/classes/node-gtk/Pango-1.0.js.map +1 -0
- package/lib/injection/classes/node-gtk/index.d.ts +2 -0
- package/lib/injection/classes/node-gtk/index.js +19 -0
- package/lib/injection/classes/node-gtk/index.js.map +1 -0
- package/lib/injection/index.d.ts +3 -0
- package/lib/injection/index.js +4 -0
- package/lib/injection/index.js.map +1 -0
- package/lib/injection/injector.d.ts +17 -0
- package/lib/injection/injector.js +136 -0
- package/lib/injection/injector.js.map +1 -0
- package/lib/logger.d.ts +36 -0
- package/lib/logger.js +133 -0
- package/lib/logger.js.map +1 -0
- package/lib/messages.d.ts +30 -0
- package/lib/messages.js +45 -0
- package/lib/messages.js.map +1 -0
- package/lib/module-loader.d.ts +131 -0
- package/lib/module-loader.js +467 -0
- package/lib/module-loader.js.map +1 -0
- package/lib/start.d.ts +2 -0
- package/lib/start.js +15 -0
- package/lib/start.js.map +1 -0
- package/lib/symtable.d.ts +24 -0
- package/lib/symtable.js +63 -0
- package/lib/symtable.js.map +1 -0
- package/lib/template-processor.d.ts +46 -0
- package/lib/template-processor.js +154 -0
- package/lib/template-processor.js.map +1 -0
- package/lib/transformation.d.ts +156 -0
- package/lib/transformation.js +523 -0
- package/lib/transformation.js.map +1 -0
- package/lib/type-definition-generator.d.ts +117 -0
- package/lib/type-definition-generator.js +929 -0
- package/lib/type-definition-generator.js.map +1 -0
- package/lib/types/answer-version.d.ts +4 -0
- package/lib/types/answer-version.js +2 -0
- package/lib/types/answer-version.js.map +1 -0
- package/lib/types/build-type.d.ts +1 -0
- package/lib/types/build-type.js +2 -0
- package/lib/types/build-type.js.map +1 -0
- package/lib/types/class-parent.d.ts +11 -0
- package/lib/types/class-parent.js +2 -0
- package/lib/types/class-parent.js.map +1 -0
- package/lib/types/config-flags.d.ts +4 -0
- package/lib/types/config-flags.js +2 -0
- package/lib/types/config-flags.js.map +1 -0
- package/lib/types/conflict-child-element.d.ts +10 -0
- package/lib/types/conflict-child-element.js +2 -0
- package/lib/types/conflict-child-element.js.map +1 -0
- package/lib/types/conflict-grouped-element.d.ts +6 -0
- package/lib/types/conflict-grouped-element.js +2 -0
- package/lib/types/conflict-grouped-element.js.map +1 -0
- package/lib/types/conflict-grouped-elements.d.ts +4 -0
- package/lib/types/conflict-grouped-elements.js +2 -0
- package/lib/types/conflict-grouped-elements.js.map +1 -0
- package/lib/types/construct-name.d.ts +1 -0
- package/lib/types/construct-name.js +2 -0
- package/lib/types/construct-name.js.map +1 -0
- package/lib/types/dependency-map.d.ts +4 -0
- package/lib/types/dependency-map.js +2 -0
- package/lib/types/dependency-map.js.map +1 -0
- package/lib/types/dependency.d.ts +14 -0
- package/lib/types/dependency.js +2 -0
- package/lib/types/dependency.js.map +1 -0
- package/lib/types/environment.d.ts +1 -0
- package/lib/types/environment.js +2 -0
- package/lib/types/environment.js.map +1 -0
- package/lib/types/generate-config.d.ts +30 -0
- package/lib/types/generate-config.js +2 -0
- package/lib/types/generate-config.js.map +1 -0
- package/lib/types/generator-type.d.ts +4 -0
- package/lib/types/generator-type.js +6 -0
- package/lib/types/generator-type.js.map +1 -0
- package/lib/types/gir-alias-element.d.ts +13 -0
- package/lib/types/gir-alias-element.js +2 -0
- package/lib/types/gir-alias-element.js.map +1 -0
- package/lib/types/gir-annotation.d.ts +9 -0
- package/lib/types/gir-annotation.js +2 -0
- package/lib/types/gir-annotation.js.map +1 -0
- package/lib/types/gir-any-element.d.ts +2 -0
- package/lib/types/gir-any-element.js +2 -0
- package/lib/types/gir-any-element.js.map +1 -0
- package/lib/types/gir-any-type.d.ts +5 -0
- package/lib/types/gir-any-type.js +2 -0
- package/lib/types/gir-any-type.js.map +1 -0
- package/lib/types/gir-array-type.d.ts +20 -0
- package/lib/types/gir-array-type.js +3 -0
- package/lib/types/gir-array-type.js.map +1 -0
- package/lib/types/gir-bitfield-element.d.ts +17 -0
- package/lib/types/gir-bitfield-element.js +2 -0
- package/lib/types/gir-bitfield-element.js.map +1 -0
- package/lib/types/gir-boolean.d.ts +1 -0
- package/lib/types/gir-boolean.js +2 -0
- package/lib/types/gir-boolean.js.map +1 -0
- package/lib/types/gir-boxed-element.d.ts +15 -0
- package/lib/types/gir-boxed-element.js +2 -0
- package/lib/types/gir-boxed-element.js.map +1 -0
- package/lib/types/gir-c-include.d.ts +7 -0
- package/lib/types/gir-c-include.js +2 -0
- package/lib/types/gir-c-include.js.map +1 -0
- package/lib/types/gir-callable-attrs.d.ts +15 -0
- package/lib/types/gir-callable-attrs.js +3 -0
- package/lib/types/gir-callable-attrs.js.map +1 -0
- package/lib/types/gir-callable-param-element.d.ts +30 -0
- package/lib/types/gir-callable-param-element.js +2 -0
- package/lib/types/gir-callable-param-element.js.map +1 -0
- package/lib/types/gir-callable-param.d.ts +7 -0
- package/lib/types/gir-callable-param.js +2 -0
- package/lib/types/gir-callable-param.js.map +1 -0
- package/lib/types/gir-callable-return.d.ts +22 -0
- package/lib/types/gir-callable-return.js +2 -0
- package/lib/types/gir-callable-return.js.map +1 -0
- package/lib/types/gir-callback-element.d.ts +15 -0
- package/lib/types/gir-callback-element.js +2 -0
- package/lib/types/gir-callback-element.js.map +1 -0
- package/lib/types/gir-class-element.d.ts +48 -0
- package/lib/types/gir-class-element.js +2 -0
- package/lib/types/gir-class-element.js.map +1 -0
- package/lib/types/gir-constant-element.d.ts +15 -0
- package/lib/types/gir-constant-element.js +2 -0
- package/lib/types/gir-constant-element.js.map +1 -0
- package/lib/types/gir-constructor-element.d.ts +8 -0
- package/lib/types/gir-constructor-element.js +2 -0
- package/lib/types/gir-constructor-element.js.map +1 -0
- package/lib/types/gir-direction.d.ts +5 -0
- package/lib/types/gir-direction.js +7 -0
- package/lib/types/gir-direction.js.map +1 -0
- package/lib/types/gir-doc-element.d.ts +68 -0
- package/lib/types/gir-doc-element.js +2 -0
- package/lib/types/gir-doc-element.js.map +1 -0
- package/lib/types/gir-enum-element.d.ts +19 -0
- package/lib/types/gir-enum-element.js +2 -0
- package/lib/types/gir-enum-element.js.map +1 -0
- package/lib/types/gir-field-element.d.ts +18 -0
- package/lib/types/gir-field-element.js +2 -0
- package/lib/types/gir-field-element.js.map +1 -0
- package/lib/types/gir-function-element.d.ts +8 -0
- package/lib/types/gir-function-element.js +2 -0
- package/lib/types/gir-function-element.js.map +1 -0
- package/lib/types/gir-implements.d.ts +8 -0
- package/lib/types/gir-implements.js +2 -0
- package/lib/types/gir-implements.js.map +1 -0
- package/lib/types/gir-include.d.ts +9 -0
- package/lib/types/gir-include.js +2 -0
- package/lib/types/gir-include.js.map +1 -0
- package/lib/types/gir-info-attrs.d.ts +13 -0
- package/lib/types/gir-info-attrs.js +2 -0
- package/lib/types/gir-info-attrs.js.map +1 -0
- package/lib/types/gir-info-elements.d.ts +5 -0
- package/lib/types/gir-info-elements.js +2 -0
- package/lib/types/gir-info-elements.js.map +1 -0
- package/lib/types/gir-instance-parameter.d.ts +21 -0
- package/lib/types/gir-instance-parameter.js +2 -0
- package/lib/types/gir-instance-parameter.js.map +1 -0
- package/lib/types/gir-interface-element.d.ts +31 -0
- package/lib/types/gir-interface-element.js +2 -0
- package/lib/types/gir-interface-element.js.map +1 -0
- package/lib/types/gir-member-element.d.ts +17 -0
- package/lib/types/gir-member-element.js +2 -0
- package/lib/types/gir-member-element.js.map +1 -0
- package/lib/types/gir-method-element.d.ts +13 -0
- package/lib/types/gir-method-element.js +2 -0
- package/lib/types/gir-method-element.js.map +1 -0
- package/lib/types/gir-module-resolved-by.d.ts +10 -0
- package/lib/types/gir-module-resolved-by.js +2 -0
- package/lib/types/gir-module-resolved-by.js.map +1 -0
- package/lib/types/gir-modules-grouped-map.d.ts +4 -0
- package/lib/types/gir-modules-grouped-map.js +2 -0
- package/lib/types/gir-modules-grouped-map.js.map +1 -0
- package/lib/types/gir-modules-grouped.d.ts +12 -0
- package/lib/types/gir-modules-grouped.js +2 -0
- package/lib/types/gir-modules-grouped.js.map +1 -0
- package/lib/types/gir-namespace.d.ts +30 -0
- package/lib/types/gir-namespace.js +2 -0
- package/lib/types/gir-namespace.js.map +1 -0
- package/lib/types/gir-package.d.ts +7 -0
- package/lib/types/gir-package.js +2 -0
- package/lib/types/gir-package.js.map +1 -0
- package/lib/types/gir-prerequisite.d.ts +5 -0
- package/lib/types/gir-prerequisite.js +2 -0
- package/lib/types/gir-prerequisite.js.map +1 -0
- package/lib/types/gir-property-element.d.ts +21 -0
- package/lib/types/gir-property-element.js +2 -0
- package/lib/types/gir-property-element.js.map +1 -0
- package/lib/types/gir-record-element.d.ts +30 -0
- package/lib/types/gir-record-element.js +2 -0
- package/lib/types/gir-record-element.js.map +1 -0
- package/lib/types/gir-repository.d.ts +16 -0
- package/lib/types/gir-repository.js +2 -0
- package/lib/types/gir-repository.js.map +1 -0
- package/lib/types/gir-signal.d.ts +25 -0
- package/lib/types/gir-signal.js +2 -0
- package/lib/types/gir-signal.js.map +1 -0
- package/lib/types/gir-transfer-ownership-type.d.ts +5 -0
- package/lib/types/gir-transfer-ownership-type.js +7 -0
- package/lib/types/gir-transfer-ownership-type.js.map +1 -0
- package/lib/types/gir-transfer-ownership.d.ts +5 -0
- package/lib/types/gir-transfer-ownership.js +2 -0
- package/lib/types/gir-transfer-ownership.js.map +1 -0
- package/lib/types/gir-type.d.ts +14 -0
- package/lib/types/gir-type.js +2 -0
- package/lib/types/gir-type.js.map +1 -0
- package/lib/types/gir-union-element.d.ts +22 -0
- package/lib/types/gir-union-element.js +2 -0
- package/lib/types/gir-union-element.js.map +1 -0
- package/lib/types/gir-unparsed-number.d.ts +2 -0
- package/lib/types/gir-unparsed-number.js +2 -0
- package/lib/types/gir-unparsed-number.js.map +1 -0
- package/lib/types/gir-var-args.d.ts +5 -0
- package/lib/types/gir-var-args.js +2 -0
- package/lib/types/gir-var-args.js.map +1 -0
- package/lib/types/gir-virtual-method.d.ts +10 -0
- package/lib/types/gir-virtual-method.js +2 -0
- package/lib/types/gir-virtual-method.js.map +1 -0
- package/lib/types/index.d.ts +118 -0
- package/lib/types/index.js +119 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/inheritance-table.d.ts +3 -0
- package/lib/types/inheritance-table.js +2 -0
- package/lib/types/inheritance-table.js.map +1 -0
- package/lib/types/injection-callback.d.ts +16 -0
- package/lib/types/injection-callback.js +2 -0
- package/lib/types/injection-callback.js.map +1 -0
- package/lib/types/injection-class.d.ts +24 -0
- package/lib/types/injection-class.js +2 -0
- package/lib/types/injection-class.js.map +1 -0
- package/lib/types/injection-function.d.ts +7 -0
- package/lib/types/injection-function.js +2 -0
- package/lib/types/injection-function.js.map +1 -0
- package/lib/types/injection-generic-parameter.d.ts +2 -0
- package/lib/types/injection-generic-parameter.js +2 -0
- package/lib/types/injection-generic-parameter.js.map +1 -0
- package/lib/types/injection-instance-parameter.d.ts +2 -0
- package/lib/types/injection-instance-parameter.js +2 -0
- package/lib/types/injection-instance-parameter.js.map +1 -0
- package/lib/types/injection-parameter.d.ts +8 -0
- package/lib/types/injection-parameter.js +2 -0
- package/lib/types/injection-parameter.js.map +1 -0
- package/lib/types/injection-property.d.ts +4 -0
- package/lib/types/injection-property.js +2 -0
- package/lib/types/injection-property.js.map +1 -0
- package/lib/types/injection-type.d.ts +2 -0
- package/lib/types/injection-type.js +2 -0
- package/lib/types/injection-type.js.map +1 -0
- package/lib/types/injection.d.ts +5 -0
- package/lib/types/injection.js +2 -0
- package/lib/types/injection.js.map +1 -0
- package/lib/types/local-name-check.d.ts +4 -0
- package/lib/types/local-name-check.js +2 -0
- package/lib/types/local-name-check.js.map +1 -0
- package/lib/types/local-name-type.d.ts +1 -0
- package/lib/types/local-name-type.js +2 -0
- package/lib/types/local-name-type.js.map +1 -0
- package/lib/types/local-name.d.ts +7 -0
- package/lib/types/local-name.js +2 -0
- package/lib/types/local-name.js.map +1 -0
- package/lib/types/local-names.d.ts +4 -0
- package/lib/types/local-names.js +2 -0
- package/lib/types/local-names.js.map +1 -0
- package/lib/types/module-type.d.ts +1 -0
- package/lib/types/module-type.js +2 -0
- package/lib/types/module-type.js.map +1 -0
- package/lib/types/parsed-gir.d.ts +4 -0
- package/lib/types/parsed-gir.js +2 -0
- package/lib/types/parsed-gir.js.map +1 -0
- package/lib/types/part-of-class.d.ts +7 -0
- package/lib/types/part-of-class.js +2 -0
- package/lib/types/part-of-class.js.map +1 -0
- package/lib/types/part-of-module.d.ts +6 -0
- package/lib/types/part-of-module.js +2 -0
- package/lib/types/part-of-module.js.map +1 -0
- package/lib/types/resolve-type.d.ts +4 -0
- package/lib/types/resolve-type.js +6 -0
- package/lib/types/resolve-type.js.map +1 -0
- package/lib/types/sym-table-items.d.ts +4 -0
- package/lib/types/sym-table-items.js +2 -0
- package/lib/types/sym-table-items.js.map +1 -0
- package/lib/types/transformation-case.d.ts +1 -0
- package/lib/types/transformation-case.js +2 -0
- package/lib/types/transformation-case.js.map +1 -0
- package/lib/types/transformations.d.ts +11 -0
- package/lib/types/transformations.js +2 -0
- package/lib/types/transformations.js.map +1 -0
- package/lib/types/ts-alias.d.ts +10 -0
- package/lib/types/ts-alias.js +2 -0
- package/lib/types/ts-alias.js.map +1 -0
- package/lib/types/ts-callback-interface.d.ts +10 -0
- package/lib/types/ts-callback-interface.js +2 -0
- package/lib/types/ts-callback-interface.js.map +1 -0
- package/lib/types/ts-callback.d.ts +17 -0
- package/lib/types/ts-callback.js +2 -0
- package/lib/types/ts-callback.js.map +1 -0
- package/lib/types/ts-class.d.ts +85 -0
- package/lib/types/ts-class.js +2 -0
- package/lib/types/ts-class.js.map +1 -0
- package/lib/types/ts-doc-tag.d.ts +21 -0
- package/lib/types/ts-doc-tag.js +2 -0
- package/lib/types/ts-doc-tag.js.map +1 -0
- package/lib/types/ts-doc.d.ts +20 -0
- package/lib/types/ts-doc.js +2 -0
- package/lib/types/ts-doc.js.map +1 -0
- package/lib/types/ts-enum.d.ts +12 -0
- package/lib/types/ts-enum.js +2 -0
- package/lib/types/ts-enum.js.map +1 -0
- package/lib/types/ts-function.d.ts +44 -0
- package/lib/types/ts-function.js +2 -0
- package/lib/types/ts-function.js.map +1 -0
- package/lib/types/ts-generic-parameter.d.ts +8 -0
- package/lib/types/ts-generic-parameter.js +2 -0
- package/lib/types/ts-generic-parameter.js.map +1 -0
- package/lib/types/ts-instance-parameter.d.ts +4 -0
- package/lib/types/ts-instance-parameter.js +2 -0
- package/lib/types/ts-instance-parameter.js.map +1 -0
- package/lib/types/ts-member.d.ts +10 -0
- package/lib/types/ts-member.js +2 -0
- package/lib/types/ts-member.js.map +1 -0
- package/lib/types/ts-method.d.ts +5 -0
- package/lib/types/ts-method.js +2 -0
- package/lib/types/ts-method.js.map +1 -0
- package/lib/types/ts-parameter.d.ts +15 -0
- package/lib/types/ts-parameter.js +2 -0
- package/lib/types/ts-parameter.js.map +1 -0
- package/lib/types/ts-property.d.ts +17 -0
- package/lib/types/ts-property.js +2 -0
- package/lib/types/ts-property.js.map +1 -0
- package/lib/types/ts-signal.d.ts +17 -0
- package/lib/types/ts-signal.js +2 -0
- package/lib/types/ts-signal.js.map +1 -0
- package/lib/types/ts-type-name.d.ts +1 -0
- package/lib/types/ts-type-name.js +2 -0
- package/lib/types/ts-type-name.js.map +1 -0
- package/lib/types/ts-type-separator.d.ts +1 -0
- package/lib/types/ts-type-separator.js +2 -0
- package/lib/types/ts-type-separator.js.map +1 -0
- package/lib/types/ts-type.d.ts +22 -0
- package/lib/types/ts-type.js +2 -0
- package/lib/types/ts-type.js.map +1 -0
- package/lib/types/ts-var.d.ts +17 -0
- package/lib/types/ts-var.js +2 -0
- package/lib/types/ts-var.js.map +1 -0
- package/lib/types/type-gir-alias.d.ts +2 -0
- package/lib/types/type-gir-alias.js +2 -0
- package/lib/types/type-gir-alias.js.map +1 -0
- package/lib/types/type-gir-class.d.ts +2 -0
- package/lib/types/type-gir-class.js +2 -0
- package/lib/types/type-gir-class.js.map +1 -0
- package/lib/types/type-gir-element.d.ts +3 -0
- package/lib/types/type-gir-element.js +2 -0
- package/lib/types/type-gir-element.js.map +1 -0
- package/lib/types/type-gir-enumeration-member.d.ts +2 -0
- package/lib/types/type-gir-enumeration-member.js +2 -0
- package/lib/types/type-gir-enumeration-member.js.map +1 -0
- package/lib/types/type-gir-enumeration.d.ts +2 -0
- package/lib/types/type-gir-enumeration.js +2 -0
- package/lib/types/type-gir-enumeration.js.map +1 -0
- package/lib/types/type-gir-function.d.ts +1 -0
- package/lib/types/type-gir-function.js +2 -0
- package/lib/types/type-gir-function.js.map +1 -0
- package/lib/types/type-gir-interface.d.ts +2 -0
- package/lib/types/type-gir-interface.js +2 -0
- package/lib/types/type-gir-interface.js.map +1 -0
- package/lib/types/type-gir-method.d.ts +2 -0
- package/lib/types/type-gir-method.js +2 -0
- package/lib/types/type-gir-method.js.map +1 -0
- package/lib/types/type-gir-parameter.d.ts +1 -0
- package/lib/types/type-gir-parameter.js +2 -0
- package/lib/types/type-gir-parameter.js.map +1 -0
- package/lib/types/type-gir-property.d.ts +2 -0
- package/lib/types/type-gir-property.js +2 -0
- package/lib/types/type-gir-property.js.map +1 -0
- package/lib/types/type-gir-variable.d.ts +1 -0
- package/lib/types/type-gir-variable.js +2 -0
- package/lib/types/type-gir-variable.js.map +1 -0
- package/lib/types/type-ts-element.d.ts +3 -0
- package/lib/types/type-ts-element.js +2 -0
- package/lib/types/type-ts-element.js.map +1 -0
- package/lib/types/type-ts-enumeration-member.d.ts +2 -0
- package/lib/types/type-ts-enumeration-member.js +2 -0
- package/lib/types/type-ts-enumeration-member.js.map +1 -0
- package/lib/types/type-ts-function.d.ts +1 -0
- package/lib/types/type-ts-function.js +2 -0
- package/lib/types/type-ts-function.js.map +1 -0
- package/lib/types/type-ts-property.d.ts +1 -0
- package/lib/types/type-ts-property.js +2 -0
- package/lib/types/type-ts-property.js.map +1 -0
- package/lib/types/user-config-load-result.d.ts +6 -0
- package/lib/types/user-config-load-result.js +2 -0
- package/lib/types/user-config-load-result.js.map +1 -0
- package/lib/types/user-config.d.ts +38 -0
- package/lib/types/user-config.js +2 -0
- package/lib/types/user-config.js.map +1 -0
- package/lib/utils.d.ts +88 -0
- package/lib/utils.js +189 -0
- package/lib/utils.js.map +1 -0
- package/package.json +72 -0
- package/src/commands/doc.ts +65 -0
- package/src/commands/generate.ts +86 -0
- package/src/commands/index.ts +3 -0
- package/src/commands/list.ts +96 -0
- package/src/config.ts +426 -0
- package/src/conflict-resolver.ts +1350 -0
- package/src/constants.ts +29 -0
- package/src/generation-handler.ts +79 -0
- package/src/generator.ts +10 -0
- package/src/gir-factory.ts +488 -0
- package/src/gir-module.ts +2816 -0
- package/src/html-doc-generator.ts +23 -0
- package/src/index.ts +17 -0
- package/src/injection/callbacks/gjs/Gio-2.0.ts +37 -0
- package/src/injection/callbacks/gjs/index.ts +5 -0
- package/src/injection/callbacks/index.ts +6 -0
- package/src/injection/callbacks/node-gtk/index.ts +3 -0
- package/src/injection/classes/GLib-2-0.ts +36 -0
- package/src/injection/classes/gjs/GLib-2.0.ts +75 -0
- package/src/injection/classes/gjs/GObject-2.0.ts +635 -0
- package/src/injection/classes/gjs/Gio-2.0.ts +219 -0
- package/src/injection/classes/gjs/index.ts +7 -0
- package/src/injection/classes/index.ts +7 -0
- package/src/injection/classes/node-gtk/GLib-2.0.ts +20 -0
- package/src/injection/classes/node-gtk/GObject-2.0.ts +67 -0
- package/src/injection/classes/node-gtk/Gdk-4.0.ts +33 -0
- package/src/injection/classes/node-gtk/Gio-2.0.ts +15 -0
- package/src/injection/classes/node-gtk/Graphene-1.0.ts +134 -0
- package/src/injection/classes/node-gtk/Gtk-3.0.ts +32 -0
- package/src/injection/classes/node-gtk/Gtk-4.0.ts +53 -0
- package/src/injection/classes/node-gtk/Pango-1.0.ts +32 -0
- package/src/injection/classes/node-gtk/index.ts +21 -0
- package/src/injection/index.ts +3 -0
- package/src/injection/injector.ts +179 -0
- package/src/logger.ts +134 -0
- package/src/messages.ts +68 -0
- package/src/module-loader.ts +573 -0
- package/src/start.ts +16 -0
- package/src/symtable.ts +70 -0
- package/src/template-processor.ts +170 -0
- package/src/transformation.ts +583 -0
- package/src/type-definition-generator.ts +1387 -0
- package/src/types/answer-version.ts +4 -0
- package/src/types/build-type.ts +1 -0
- package/src/types/class-parent.ts +12 -0
- package/src/types/config-flags.ts +5 -0
- package/src/types/conflict-child-element.ts +11 -0
- package/src/types/conflict-grouped-element.ts +7 -0
- package/src/types/conflict-grouped-elements.ts +5 -0
- package/src/types/construct-name.ts +11 -0
- package/src/types/dependency-map.ts +4 -0
- package/src/types/dependency.ts +14 -0
- package/src/types/environment.ts +1 -0
- package/src/types/generate-config.ts +31 -0
- package/src/types/generator-type.ts +4 -0
- package/src/types/gir-alias-element.ts +15 -0
- package/src/types/gir-annotation.ts +10 -0
- package/src/types/gir-any-element.ts +35 -0
- package/src/types/gir-any-type.ts +7 -0
- package/src/types/gir-array-type.ts +23 -0
- package/src/types/gir-bitfield-element.ts +20 -0
- package/src/types/gir-boolean.ts +1 -0
- package/src/types/gir-boxed-element.ts +19 -0
- package/src/types/gir-c-include.ts +7 -0
- package/src/types/gir-callable-attrs.ts +19 -0
- package/src/types/gir-callable-param-element.ts +45 -0
- package/src/types/gir-callable-param.ts +9 -0
- package/src/types/gir-callable-return.ts +25 -0
- package/src/types/gir-callback-element.ts +28 -0
- package/src/types/gir-class-element.ts +71 -0
- package/src/types/gir-constant-element.ts +17 -0
- package/src/types/gir-constructor-element.ts +18 -0
- package/src/types/gir-direction.ts +5 -0
- package/src/types/gir-doc-element.ts +73 -0
- package/src/types/gir-enum-element.ts +28 -0
- package/src/types/gir-field-element.ts +31 -0
- package/src/types/gir-function-element.ts +19 -0
- package/src/types/gir-implements.ts +9 -0
- package/src/types/gir-include.ts +9 -0
- package/src/types/gir-info-attrs.ts +16 -0
- package/src/types/gir-info-elements.ts +8 -0
- package/src/types/gir-instance-parameter.ts +25 -0
- package/src/types/gir-interface-element.ts +53 -0
- package/src/types/gir-member-element.ts +19 -0
- package/src/types/gir-method-element.ts +25 -0
- package/src/types/gir-module-resolved-by.ts +11 -0
- package/src/types/gir-modules-grouped-map.ts +5 -0
- package/src/types/gir-modules-grouped.ts +13 -0
- package/src/types/gir-namespace.ts +47 -0
- package/src/types/gir-package.ts +7 -0
- package/src/types/gir-prerequisite.ts +5 -0
- package/src/types/gir-property-element.ts +31 -0
- package/src/types/gir-record-element.ts +47 -0
- package/src/types/gir-repository.ts +20 -0
- package/src/types/gir-signal.ts +43 -0
- package/src/types/gir-transfer-ownership-type.ts +5 -0
- package/src/types/gir-transfer-ownership.ts +6 -0
- package/src/types/gir-type.ts +16 -0
- package/src/types/gir-union-element.ts +35 -0
- package/src/types/gir-unparsed-number.ts +2 -0
- package/src/types/gir-var-args.ts +6 -0
- package/src/types/gir-virtual-method.ts +22 -0
- package/src/types/index.ts +118 -0
- package/src/types/inheritance-table.ts +3 -0
- package/src/types/injection-callback.ts +20 -0
- package/src/types/injection-class.ts +30 -0
- package/src/types/injection-function.ts +23 -0
- package/src/types/injection-generic-parameter.ts +3 -0
- package/src/types/injection-instance-parameter.ts +3 -0
- package/src/types/injection-parameter.ts +9 -0
- package/src/types/injection-property.ts +7 -0
- package/src/types/injection-type.ts +3 -0
- package/src/types/injection.ts +6 -0
- package/src/types/local-name-check.ts +5 -0
- package/src/types/local-name-type.ts +1 -0
- package/src/types/local-name.ts +8 -0
- package/src/types/local-names.ts +5 -0
- package/src/types/module-type.ts +1 -0
- package/src/types/parsed-gir.ts +5 -0
- package/src/types/part-of-class.ts +9 -0
- package/src/types/part-of-module.ts +8 -0
- package/src/types/resolve-type.ts +4 -0
- package/src/types/sym-table-items.ts +5 -0
- package/src/types/transformation-case.ts +7 -0
- package/src/types/transformations.ts +12 -0
- package/src/types/ts-alias.ts +11 -0
- package/src/types/ts-callback-interface.ts +11 -0
- package/src/types/ts-callback.ts +21 -0
- package/src/types/ts-class.ts +109 -0
- package/src/types/ts-doc-tag.ts +23 -0
- package/src/types/ts-doc.ts +23 -0
- package/src/types/ts-enum.ts +15 -0
- package/src/types/ts-function.ts +59 -0
- package/src/types/ts-generic-parameter.ts +8 -0
- package/src/types/ts-instance-parameter.ts +4 -0
- package/src/types/ts-member.ts +11 -0
- package/src/types/ts-method.ts +6 -0
- package/src/types/ts-parameter.ts +20 -0
- package/src/types/ts-property.ts +22 -0
- package/src/types/ts-signal.ts +21 -0
- package/src/types/ts-type-name.ts +1 -0
- package/src/types/ts-type-separator.ts +1 -0
- package/src/types/ts-type.ts +25 -0
- package/src/types/ts-var.ts +21 -0
- package/src/types/type-gir-alias.ts +2 -0
- package/src/types/type-gir-class.ts +2 -0
- package/src/types/type-gir-element.ts +25 -0
- package/src/types/type-gir-enumeration-member.ts +2 -0
- package/src/types/type-gir-enumeration.ts +2 -0
- package/src/types/type-gir-function.ts +8 -0
- package/src/types/type-gir-interface.ts +2 -0
- package/src/types/type-gir-method.ts +2 -0
- package/src/types/type-gir-parameter.ts +1 -0
- package/src/types/type-gir-property.ts +2 -0
- package/src/types/type-gir-variable.ts +1 -0
- package/src/types/type-ts-element.ts +13 -0
- package/src/types/type-ts-enumeration-member.ts +2 -0
- package/src/types/type-ts-function.ts +1 -0
- package/src/types/type-ts-property.ts +1 -0
- package/src/types/user-config-load-result.ts +6 -0
- package/src/types/user-config.ts +39 -0
- package/src/utils.ts +217 -0
- package/templates/Cogl-2.0.d.ts +0 -0
- package/templates/Gjs/GObject-2.0.d.ts +238 -0
- package/templates/Gjs/Gio-2.0.d.ts +64 -0
- package/templates/Gjs/Gjs.d.ts +135 -0
- package/templates/Gjs/Gjs.js +21 -0
- package/templates/Gjs/cast.ts +52 -0
- package/templates/Gjs/index.d.ts +279 -0
- package/templates/Gjs/index.js +4 -0
- package/templates/Gjs/module.d.ts +10 -0
- package/templates/Gjs/module.js +16 -0
- package/templates/Granite-1.0.d.ts +7 -0
- package/templates/Granite-7.0.d.ts +7 -0
- package/templates/GstBase-0.10.d.ts +5 -0
- package/templates/RygelServer-2.6.d.ts +3 -0
- package/templates/node-gtk/GObject-2.0.d.ts +57 -0
- package/templates/node-gtk/index.d.ts +40 -0
- package/templates/node-gtk/index.js +9 -0
- package/templates/node-gtk/module.d.ts +10 -0
- package/templates/node-gtk/module.js +17 -0
package/lib/symtable.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Logger } from './logger.js';
|
|
2
|
+
import { WARN_NOT_FOUND_PACKAGE_NAME } from './messages.js';
|
|
3
|
+
/**
|
|
4
|
+
* The SymTable is used to get any Type from any dependency to compare or to get information from
|
|
5
|
+
*/
|
|
6
|
+
export class SymTable {
|
|
7
|
+
config;
|
|
8
|
+
modPackageName;
|
|
9
|
+
modNamespace;
|
|
10
|
+
/**
|
|
11
|
+
* The items are static because any GirModule has the same items to be able to access the types of dependencies as well
|
|
12
|
+
*/
|
|
13
|
+
static items = {};
|
|
14
|
+
log;
|
|
15
|
+
constructor(config, modPackageName, modNamespace) {
|
|
16
|
+
this.config = config;
|
|
17
|
+
this.modPackageName = modPackageName;
|
|
18
|
+
this.modNamespace = modNamespace;
|
|
19
|
+
this.log = new Logger(this.config.environment, this.config.verbose, 'SymTable');
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get symTable key, we use this method to prepend the package version to each key to prevent version conflicts e.g. in 'Gtk-3.0' and 'Gtk-4.0'
|
|
23
|
+
* @param implementation E.g. Gtk.Window
|
|
24
|
+
* @returns E.g. 'Gtk-3.0.Gtk.Window'
|
|
25
|
+
*/
|
|
26
|
+
getKey(dependencies, implementation) {
|
|
27
|
+
if (implementation.startsWith(this.modPackageName + '.')) {
|
|
28
|
+
return implementation;
|
|
29
|
+
}
|
|
30
|
+
if (implementation.startsWith(this.modNamespace + '.')) {
|
|
31
|
+
return this.modPackageName + '.' + implementation;
|
|
32
|
+
}
|
|
33
|
+
if (!implementation.includes('.')) {
|
|
34
|
+
return this.modPackageName + '.' + this.modNamespace + '.' + implementation;
|
|
35
|
+
}
|
|
36
|
+
const split = implementation.split('.');
|
|
37
|
+
const namespace = split[0];
|
|
38
|
+
const packageName = dependencies.find((dependency) => dependency.startsWith(namespace + '-'));
|
|
39
|
+
if (!packageName) {
|
|
40
|
+
this.log.warn(WARN_NOT_FOUND_PACKAGE_NAME(namespace, implementation));
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return packageName + '.' + implementation;
|
|
44
|
+
}
|
|
45
|
+
get(dependencies, fullTypeName) {
|
|
46
|
+
const key = this.getKey(dependencies, fullTypeName);
|
|
47
|
+
if (!key || !SymTable.items[key]) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const result = SymTable.items[key] || null;
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
getByHand(key) {
|
|
54
|
+
return (SymTable.items[key] || null);
|
|
55
|
+
}
|
|
56
|
+
set(dependencies, fullTypeName, GirElement) {
|
|
57
|
+
const key = this.getKey(dependencies, fullTypeName);
|
|
58
|
+
if (key) {
|
|
59
|
+
SymTable.items[key] = GirElement;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=symtable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symtable.js","sourceRoot":"","sources":["../src/symtable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAE3D;;GAEG;AACH,MAAM,OAAO,QAAQ;IAQI;IACA;IACA;IATrB;;OAEG;IACK,MAAM,CAAC,KAAK,GAAkB,EAAE,CAAA;IAChC,GAAG,CAAQ;IAEnB,YACqB,MAAsB,EACtB,cAAsB,EACtB,YAAoB;QAFpB,WAAM,GAAN,MAAM,CAAgB;QACtB,mBAAc,GAAd,cAAc,CAAQ;QACtB,iBAAY,GAAZ,YAAY,CAAQ;QAErC,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACnF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAsB,EAAE,cAAsB;QACxD,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,EAAE;YACtD,OAAO,cAAc,CAAA;SACxB;QAED,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,cAAc,CAAA;SACpD;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,cAAc,CAAA;SAC9E;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,WAAW,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;YACrE,OAAO,IAAI,CAAA;SACd;QACD,OAAO,WAAW,GAAG,GAAG,GAAG,cAAc,CAAA;IAC7C,CAAC;IAEM,GAAG,CAAI,YAAsB,EAAE,YAAoB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACnD,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAA;SACd;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;QAC1C,OAAO,MAA6B,CAAA;IACxC,CAAC;IAEM,SAAS,CAAoB,GAAW;QAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAwB,CAAA;IAC/D,CAAC;IAEM,GAAG,CAAC,YAAsB,EAAE,YAAoB,EAAE,UAAyB;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACnD,IAAI,GAAG,EAAE;YACL,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAA;SACnC;IACL,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TemplateProcessor is used generate strings from templates files or template strings
|
|
3
|
+
* For example, the signal methods are generated here
|
|
4
|
+
*/
|
|
5
|
+
import ejs from 'ejs';
|
|
6
|
+
import { Logger } from './logger.js';
|
|
7
|
+
import type { GenerateConfig } from './types/index.js';
|
|
8
|
+
export declare class TemplateProcessor {
|
|
9
|
+
protected readonly data: ejs.Data | undefined;
|
|
10
|
+
protected readonly packageName: string;
|
|
11
|
+
protected readonly config: GenerateConfig;
|
|
12
|
+
protected environmentTemplateDir: string;
|
|
13
|
+
protected log: Logger;
|
|
14
|
+
constructor(data: ejs.Data | undefined, packageName: string, config: GenerateConfig);
|
|
15
|
+
/**
|
|
16
|
+
* Loads and renders a template and gets the rendered string back
|
|
17
|
+
* @param templateFilename
|
|
18
|
+
*/
|
|
19
|
+
load(templateFilename: string): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Loads an template, render the template and write the template to the filesystem
|
|
22
|
+
* @param templateFilename
|
|
23
|
+
* @param outputDir
|
|
24
|
+
* @param outputFilename
|
|
25
|
+
* @param append
|
|
26
|
+
* @return The rendered (and if possible prettified) code string
|
|
27
|
+
*/
|
|
28
|
+
create(templateFilename: string, outputDir: string, outputFilename: string, append?: string): Promise<string>;
|
|
29
|
+
protected write(content: string, outputDir: string, outputFilename: string): Promise<string>;
|
|
30
|
+
protected render(templateString: string, additionalData?: Partial<ejs.Options>): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Checks if the template file exists and returns the path if found
|
|
33
|
+
* Tries first to load the file from the environment-specific template folder and otherwise looks for it in the general template folder
|
|
34
|
+
* @param templateFilename
|
|
35
|
+
*/
|
|
36
|
+
exists(templateFilename: string): string | null;
|
|
37
|
+
prettifySource(source: string, filepath: string): string | null;
|
|
38
|
+
prettify(path: string, changeFile?: boolean): Promise<string | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Reads a template file from filesystem and gets the raw string back
|
|
41
|
+
* @param templateFilename
|
|
42
|
+
* @return The raw template content
|
|
43
|
+
*/
|
|
44
|
+
protected read(templateFilename: string): Promise<string>;
|
|
45
|
+
}
|
|
46
|
+
export default TemplateProcessor;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TemplateProcessor is used generate strings from templates files or template strings
|
|
3
|
+
* For example, the signal methods are generated here
|
|
4
|
+
*/
|
|
5
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
6
|
+
import Path from 'path';
|
|
7
|
+
import ejs from 'ejs';
|
|
8
|
+
import { Logger } from './logger.js';
|
|
9
|
+
import { APP_NAME, APP_USAGE, APP_SOURCE } from './constants.js';
|
|
10
|
+
import prettier from 'prettier';
|
|
11
|
+
import { __dirname, getEnvironmentDir, getDestPath } from './utils.js';
|
|
12
|
+
import { WARN_PRETTIFY_ERROR } from './messages.js';
|
|
13
|
+
const TEMPLATE_DIR = Path.join(__dirname, '../templates');
|
|
14
|
+
export class TemplateProcessor {
|
|
15
|
+
data;
|
|
16
|
+
packageName;
|
|
17
|
+
config;
|
|
18
|
+
environmentTemplateDir;
|
|
19
|
+
log;
|
|
20
|
+
constructor(data, packageName, config) {
|
|
21
|
+
this.data = data;
|
|
22
|
+
this.packageName = packageName;
|
|
23
|
+
this.config = config;
|
|
24
|
+
this.data = {
|
|
25
|
+
...this.data,
|
|
26
|
+
APP_NAME,
|
|
27
|
+
APP_USAGE,
|
|
28
|
+
APP_SOURCE,
|
|
29
|
+
};
|
|
30
|
+
this.environmentTemplateDir = getEnvironmentDir(config.environment, TEMPLATE_DIR);
|
|
31
|
+
this.log = new Logger(config.environment, config.verbose, this.packageName);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Loads and renders a template and gets the rendered string back
|
|
35
|
+
* @param templateFilename
|
|
36
|
+
*/
|
|
37
|
+
async load(templateFilename) {
|
|
38
|
+
const fileContent = await this.read(templateFilename);
|
|
39
|
+
return await this.render(fileContent);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Loads an template, render the template and write the template to the filesystem
|
|
43
|
+
* @param templateFilename
|
|
44
|
+
* @param outputDir
|
|
45
|
+
* @param outputFilename
|
|
46
|
+
* @param append
|
|
47
|
+
* @return The rendered (and if possible prettified) code string
|
|
48
|
+
*/
|
|
49
|
+
async create(templateFilename, outputDir, outputFilename, append = '') {
|
|
50
|
+
const fileContent = await this.load(templateFilename);
|
|
51
|
+
const renderedCode = await this.render(fileContent);
|
|
52
|
+
const destPath = getDestPath(this.config.environment, outputDir, outputFilename);
|
|
53
|
+
const prettifiedCode = this.config.pretty ? this.prettifySource(renderedCode, destPath) : null;
|
|
54
|
+
const code = (prettifiedCode || renderedCode) + append;
|
|
55
|
+
await this.write(code, outputDir, outputFilename);
|
|
56
|
+
return code;
|
|
57
|
+
}
|
|
58
|
+
async write(content, outputDir, outputFilename) {
|
|
59
|
+
const destPath = getDestPath(this.config.environment, outputDir, outputFilename);
|
|
60
|
+
// write template result file
|
|
61
|
+
mkdirSync(outputDir, { recursive: true });
|
|
62
|
+
writeFileSync(destPath, content, { encoding: 'utf8', flag: 'w' });
|
|
63
|
+
return Promise.resolve(destPath);
|
|
64
|
+
}
|
|
65
|
+
async render(templateString, additionalData = {}) {
|
|
66
|
+
try {
|
|
67
|
+
const renderedCode = ejs.render(templateString, {
|
|
68
|
+
async: true,
|
|
69
|
+
...this.config,
|
|
70
|
+
...this.data,
|
|
71
|
+
...additionalData,
|
|
72
|
+
});
|
|
73
|
+
return Promise.resolve(renderedCode);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
this.log.error('Error on render', error);
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Checks if the template file exists and returns the path if found
|
|
82
|
+
* Tries first to load the file from the environment-specific template folder and otherwise looks for it in the general template folder
|
|
83
|
+
* @param templateFilename
|
|
84
|
+
*/
|
|
85
|
+
exists(templateFilename) {
|
|
86
|
+
const fullEnvironmentTemplatePath = Path.join(this.environmentTemplateDir, templateFilename);
|
|
87
|
+
const fullGeneralTemplatePath = Path.join(TEMPLATE_DIR, templateFilename);
|
|
88
|
+
if (existsSync(fullEnvironmentTemplatePath)) {
|
|
89
|
+
return fullEnvironmentTemplatePath;
|
|
90
|
+
}
|
|
91
|
+
if (existsSync(fullGeneralTemplatePath)) {
|
|
92
|
+
return fullGeneralTemplatePath;
|
|
93
|
+
}
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
prettifySource(source, filepath) {
|
|
97
|
+
let prettyCode = null;
|
|
98
|
+
this.log.info(` Prettify ${Path.basename(filepath)}...`);
|
|
99
|
+
let parser = undefined;
|
|
100
|
+
if (filepath.endsWith('.ts')) {
|
|
101
|
+
parser = 'typescript';
|
|
102
|
+
}
|
|
103
|
+
else if (filepath.endsWith('.js')) {
|
|
104
|
+
parser = 'espree';
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
prettyCode = prettier.format(source, { parser });
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
this.log.warn(WARN_PRETTIFY_ERROR(filepath));
|
|
111
|
+
this.log.warn('Error on prettifySource', error);
|
|
112
|
+
}
|
|
113
|
+
return prettyCode;
|
|
114
|
+
}
|
|
115
|
+
async prettify(path, changeFile = false) {
|
|
116
|
+
let hasError = false;
|
|
117
|
+
let prettyCode = null;
|
|
118
|
+
const filename = Path.basename(path);
|
|
119
|
+
this.log.info(` Prettify ${filename}...`);
|
|
120
|
+
try {
|
|
121
|
+
const source = readFileSync(Path.resolve('.', path), 'utf8');
|
|
122
|
+
prettyCode = this.prettifySource(source, path);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
this.log.warn('Error on prettify', error);
|
|
126
|
+
hasError = true;
|
|
127
|
+
}
|
|
128
|
+
if (hasError) {
|
|
129
|
+
if (!prettyCode) {
|
|
130
|
+
this.log.warn(WARN_PRETTIFY_ERROR(path));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
if (prettyCode && changeFile) {
|
|
135
|
+
await this.write(prettyCode, Path.dirname(path), Path.basename(path));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return prettyCode;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Reads a template file from filesystem and gets the raw string back
|
|
142
|
+
* @param templateFilename
|
|
143
|
+
* @return The raw template content
|
|
144
|
+
*/
|
|
145
|
+
async read(templateFilename) {
|
|
146
|
+
const path = this.exists(templateFilename);
|
|
147
|
+
if (path) {
|
|
148
|
+
return Promise.resolve(readFileSync(path, 'utf8'));
|
|
149
|
+
}
|
|
150
|
+
throw new Error(`Template '${templateFilename}' not found'`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export default TemplateProcessor;
|
|
154
|
+
//# sourceMappingURL=template-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../src/template-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is where transformations take place for gjs and node-gtk.
|
|
3
|
+
* For example a function names should be transformed to lowerCamelCase for node-gtk but should keep their original name for gjs
|
|
4
|
+
*/
|
|
5
|
+
import { Environment, ConstructName, GenerateConfig, GirCallableParamElement, GirEnumElement, GirBitfieldElement } from './types/index.js';
|
|
6
|
+
export declare const POD_TYPE_MAP_ARRAY: {
|
|
7
|
+
guint8: string;
|
|
8
|
+
gint8: string;
|
|
9
|
+
gunichar: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @see https://developer.gnome.org/glib/stable/glib-Basic-Types.html
|
|
13
|
+
*/
|
|
14
|
+
export declare const POD_TYPE_MAP: {
|
|
15
|
+
utf8: string;
|
|
16
|
+
none: string;
|
|
17
|
+
double: string;
|
|
18
|
+
'double*': string;
|
|
19
|
+
guint: string;
|
|
20
|
+
'guint*': string;
|
|
21
|
+
guint8: string;
|
|
22
|
+
'guint8*': string;
|
|
23
|
+
'guint8**': string;
|
|
24
|
+
guint16: string;
|
|
25
|
+
'guint16*': string;
|
|
26
|
+
gint16: string;
|
|
27
|
+
'gint16*': string;
|
|
28
|
+
guint32: string;
|
|
29
|
+
'guint32*': string;
|
|
30
|
+
guint64: string;
|
|
31
|
+
'guint64*': string;
|
|
32
|
+
gunichar: string;
|
|
33
|
+
'gunichar*': string;
|
|
34
|
+
gint: string;
|
|
35
|
+
'gint*': string;
|
|
36
|
+
gint8: string;
|
|
37
|
+
'gint8*': string;
|
|
38
|
+
gint32: string;
|
|
39
|
+
'gint32*': string;
|
|
40
|
+
gint64: string;
|
|
41
|
+
'gint64*': string;
|
|
42
|
+
gushort: string;
|
|
43
|
+
'gushort*': string;
|
|
44
|
+
gfloat: string;
|
|
45
|
+
'gfloat*': string;
|
|
46
|
+
gboolean: string;
|
|
47
|
+
'gboolean*': string;
|
|
48
|
+
gpointer: string;
|
|
49
|
+
'gpointer*': string;
|
|
50
|
+
gconstpointer: string;
|
|
51
|
+
gchar: string;
|
|
52
|
+
guchar: string;
|
|
53
|
+
glong: string;
|
|
54
|
+
gulong: string;
|
|
55
|
+
gdouble: string;
|
|
56
|
+
gssize: string;
|
|
57
|
+
gsize: string;
|
|
58
|
+
long: string;
|
|
59
|
+
object: string;
|
|
60
|
+
gshort: string;
|
|
61
|
+
filename: string;
|
|
62
|
+
va_list: string;
|
|
63
|
+
guintptr: string;
|
|
64
|
+
};
|
|
65
|
+
export declare const C_TYPE_MAP: (value: string) => string | undefined;
|
|
66
|
+
export declare const FULL_TYPE_MAP: (environment: Environment, value: string, out?: boolean) => string | undefined;
|
|
67
|
+
/** The reserved variable names listed here cannot be resolved simply by quotation marks */
|
|
68
|
+
export declare const RESERVED_QUOTE_VARIABLE_NAMES: string[];
|
|
69
|
+
export declare const RESERVED_VARIABLE_NAMES: string[];
|
|
70
|
+
export declare const RESERVED_CLASS_NAMES: string[];
|
|
71
|
+
export declare const RESERVED_FUNCTION_NAMES: string[];
|
|
72
|
+
/**
|
|
73
|
+
* Some classes already have their own `.connect`, `.disconnect` or `.emit` methods,
|
|
74
|
+
* so these cannot be overwritten with the Gjs signal methods which have the same name.
|
|
75
|
+
*/
|
|
76
|
+
export declare const GOBJECT_SIGNAL_METHOD_NAMES: string[];
|
|
77
|
+
export declare const IGNORE_GIR_TYPE_TS_DOC_TYPES: string[];
|
|
78
|
+
export declare const RESERVED_NAMESPACE_NAMES: {};
|
|
79
|
+
export declare class Transformation {
|
|
80
|
+
private readonly config;
|
|
81
|
+
/**
|
|
82
|
+
* Rules for the name conventions
|
|
83
|
+
* For node-gtk naming conventions see https://github.com/romgrk/node-gtk#naming-conventions
|
|
84
|
+
* For gjs see https://gjs-docs.gnome.org/ and https://wiki.gnome.org/Attic/Gjs
|
|
85
|
+
*/
|
|
86
|
+
private transformations;
|
|
87
|
+
private log;
|
|
88
|
+
constructor(moduleName: string | undefined, config: GenerateConfig);
|
|
89
|
+
transformSignalInterfaceName(name: string): string;
|
|
90
|
+
transformModuleNamespaceName(name: string): string;
|
|
91
|
+
transformClassName(name: string): string;
|
|
92
|
+
/**
|
|
93
|
+
* // E.g. the NetworkManager-1.0 has enum names starting with 80211
|
|
94
|
+
* @param girEnum The enum
|
|
95
|
+
* @returns The transformed name
|
|
96
|
+
*/
|
|
97
|
+
transformEnumName(girEnum: GirEnumElement | GirBitfieldElement): string;
|
|
98
|
+
transformEnumMember(memberName: string): string;
|
|
99
|
+
transformFunctionName(name: string, isVirtual: boolean): string;
|
|
100
|
+
transformReservedVariableNames(name: string, allowQuotes: boolean): string;
|
|
101
|
+
/**
|
|
102
|
+
* E.g. GstVideo-1.0 has a class `VideoScaler` with a method called `2d`
|
|
103
|
+
* or NetworkManager-1.0 has methods starting with `80211`
|
|
104
|
+
*/
|
|
105
|
+
transformPropertyName(name: string, allowQuotes: boolean): string;
|
|
106
|
+
transformConstantName(name: string, allowQuotes: boolean): string;
|
|
107
|
+
transformFieldName(name: string, allowQuotes: boolean): string;
|
|
108
|
+
transformParameterName(param: GirCallableParamElement, allowQuotes: boolean): string;
|
|
109
|
+
/**
|
|
110
|
+
* Fixes type names, e.g. Return types or enum definitions can not start with numbers
|
|
111
|
+
* @param typeName
|
|
112
|
+
*/
|
|
113
|
+
transformTypeName(name: string): string;
|
|
114
|
+
transform(construct: ConstructName, transformMe: string): string;
|
|
115
|
+
/**
|
|
116
|
+
* In JavaScript there can be no variables, methods, class names or enum names that start with a number.
|
|
117
|
+
* This method converts such names.
|
|
118
|
+
* TODO: Prepends an `@` to numeric starting names, how does gjs and node-gtk do that?
|
|
119
|
+
* @param name
|
|
120
|
+
* @param allowQuotes
|
|
121
|
+
*/
|
|
122
|
+
private transformNumericName;
|
|
123
|
+
/**
|
|
124
|
+
* Replaces "@any_property" with "`any_property`"
|
|
125
|
+
* @param description E.g. "Creates a binding between @source_property on @source and @target_property on @target."
|
|
126
|
+
* @returns E.g. "Creates a binding between `source_property` on `source` and `target_property` on `target`."
|
|
127
|
+
*/
|
|
128
|
+
private transformGirDocHighlights;
|
|
129
|
+
/**
|
|
130
|
+
* Replaces:
|
|
131
|
+
* |[<!-- language="C" -->
|
|
132
|
+
* g_object_notify_by_pspec (self, properties[PROP_FOO]);
|
|
133
|
+
* ]|
|
|
134
|
+
*
|
|
135
|
+
* with
|
|
136
|
+
* ```c
|
|
137
|
+
* g_object_notify_by_pspec (self, properties[PROP_FOO]);
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @param description
|
|
141
|
+
*/
|
|
142
|
+
private transformGirDocCodeBlocks;
|
|
143
|
+
/**
|
|
144
|
+
* Transforms the documentation text to markdown
|
|
145
|
+
* TODO: Transform references to link tags: https://tsdoc.org/pages/tags/link/
|
|
146
|
+
* @param text
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
149
|
+
transformGirDoc(text: string): string;
|
|
150
|
+
/**
|
|
151
|
+
* Transforms the tsDoc tag <text> like `@param name <text>`
|
|
152
|
+
* @param text
|
|
153
|
+
* @returns
|
|
154
|
+
*/
|
|
155
|
+
transformGirDocTagText(text: string): string;
|
|
156
|
+
}
|