@gtkx/codegen 0.21.0 → 1.0.0-rc.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 +173 -0
- package/dist/analysis/descriptor-render.d.ts +25 -0
- package/dist/analysis/descriptor-render.d.ts.map +1 -0
- package/dist/analysis/descriptor-render.js +420 -0
- package/dist/analysis/descriptor-render.js.map +1 -0
- package/dist/analysis/descriptor.d.ts +62 -0
- package/dist/analysis/descriptor.d.ts.map +1 -0
- package/dist/analysis/descriptor.js +127 -0
- package/dist/analysis/descriptor.js.map +1 -0
- package/dist/analysis/inheritance.d.ts +38 -0
- package/dist/analysis/inheritance.d.ts.map +1 -0
- package/dist/analysis/inheritance.js +248 -0
- package/dist/analysis/inheritance.js.map +1 -0
- package/dist/analysis/param-structure.d.ts +27 -0
- package/dist/analysis/param-structure.d.ts.map +1 -0
- package/dist/analysis/param-structure.js +158 -0
- package/dist/analysis/param-structure.js.map +1 -0
- package/dist/analysis/ts-type.d.ts +20 -0
- package/dist/analysis/ts-type.d.ts.map +1 -0
- package/dist/analysis/ts-type.js +111 -0
- package/dist/analysis/ts-type.js.map +1 -0
- package/dist/compile.d.ts +18 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +130 -0
- package/dist/compile.js.map +1 -0
- package/dist/docs/api-reference.d.ts +67 -0
- package/dist/docs/api-reference.d.ts.map +1 -0
- package/dist/docs/api-reference.js +372 -0
- package/dist/docs/api-reference.js.map +1 -0
- package/dist/docs/element-page.d.ts +12 -0
- package/dist/docs/element-page.d.ts.map +1 -0
- package/dist/docs/element-page.js +156 -0
- package/dist/docs/element-page.js.map +1 -0
- package/dist/docs/pipeline.d.ts +26 -0
- package/dist/docs/pipeline.d.ts.map +1 -0
- package/dist/docs/pipeline.js +156 -0
- package/dist/docs/pipeline.js.map +1 -0
- package/dist/docs/render.d.ts +34 -0
- package/dist/docs/render.d.ts.map +1 -0
- package/dist/docs/render.js +143 -0
- package/dist/docs/render.js.map +1 -0
- package/dist/docs/symbol-page.d.ts +41 -0
- package/dist/docs/symbol-page.d.ts.map +1 -0
- package/dist/docs/symbol-page.js +380 -0
- package/dist/docs/symbol-page.js.map +1 -0
- package/dist/fingerprint.d.ts +31 -28
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +84 -19
- package/dist/fingerprint.js.map +1 -1
- package/dist/gi.d.ts +13 -0
- package/dist/gi.d.ts.map +1 -0
- package/dist/gi.js +21 -0
- package/dist/gi.js.map +1 -0
- package/dist/gir/ancestry.d.ts +10 -0
- package/dist/gir/ancestry.d.ts.map +1 -0
- package/dist/gir/ancestry.js +26 -0
- package/dist/gir/ancestry.js.map +1 -0
- package/dist/gir/callback.d.ts +8 -14
- package/dist/gir/callback.d.ts.map +1 -1
- package/dist/gir/callback.js +16 -16
- package/dist/gir/callback.js.map +1 -1
- package/dist/gir/class.d.ts +25 -44
- package/dist/gir/class.d.ts.map +1 -1
- package/dist/gir/class.js +16 -26
- package/dist/gir/class.js.map +1 -1
- package/dist/gir/enum.d.ts +16 -34
- package/dist/gir/enum.d.ts.map +1 -1
- package/dist/gir/enum.js +10 -16
- package/dist/gir/enum.js.map +1 -1
- package/dist/gir/field.d.ts +16 -24
- package/dist/gir/field.d.ts.map +1 -1
- package/dist/gir/field.js +35 -18
- package/dist/gir/field.js.map +1 -1
- package/dist/gir/function.d.ts +15 -43
- package/dist/gir/function.d.ts.map +1 -1
- package/dist/gir/function.js +26 -23
- package/dist/gir/function.js.map +1 -1
- package/dist/gir/gir-path.d.ts +3 -0
- package/dist/gir/gir-path.d.ts.map +1 -0
- package/dist/gir/gir-path.js +57 -0
- package/dist/gir/gir-path.js.map +1 -0
- package/dist/gir/libraries.d.ts +5 -0
- package/dist/gir/libraries.d.ts.map +1 -0
- package/dist/gir/libraries.js +74 -0
- package/dist/gir/libraries.js.map +1 -0
- package/dist/gir/library.d.ts +43 -0
- package/dist/gir/library.d.ts.map +1 -0
- package/dist/gir/library.js +242 -0
- package/dist/gir/library.js.map +1 -0
- package/dist/gir/namespace.d.ts +40 -54
- package/dist/gir/namespace.d.ts.map +1 -1
- package/dist/gir/namespace.js +51 -40
- package/dist/gir/namespace.js.map +1 -1
- package/dist/gir/nullable-overrides.d.ts +3 -0
- package/dist/gir/nullable-overrides.d.ts.map +1 -0
- package/dist/gir/nullable-overrides.js +5 -0
- package/dist/gir/nullable-overrides.js.map +1 -0
- package/dist/gir/parameter.d.ts +34 -76
- package/dist/gir/parameter.d.ts.map +1 -1
- package/dist/gir/parameter.js +47 -59
- package/dist/gir/parameter.js.map +1 -1
- package/dist/gir/parse.d.ts +12 -77
- package/dist/gir/parse.d.ts.map +1 -1
- package/dist/gir/parse.js +65 -103
- package/dist/gir/parse.js.map +1 -1
- package/dist/gir/primitives.d.ts +5 -35
- package/dist/gir/primitives.d.ts.map +1 -1
- package/dist/gir/primitives.js +21 -36
- package/dist/gir/primitives.js.map +1 -1
- package/dist/gir/property.d.ts +18 -26
- package/dist/gir/property.d.ts.map +1 -1
- package/dist/gir/property.js +16 -12
- package/dist/gir/property.js.map +1 -1
- package/dist/gir/record.d.ts +28 -0
- package/dist/gir/record.d.ts.map +1 -0
- package/dist/gir/record.js +26 -0
- package/dist/gir/record.js.map +1 -0
- package/dist/gir/size.d.ts +15 -61
- package/dist/gir/size.d.ts.map +1 -1
- package/dist/gir/size.js +49 -72
- package/dist/gir/size.js.map +1 -1
- package/dist/gir/type-id.d.ts +51 -0
- package/dist/gir/type-id.d.ts.map +1 -0
- package/dist/gir/type-id.js +12 -0
- package/dist/gir/type-id.js.map +1 -0
- package/dist/gir/type-ref.d.ts +4 -77
- package/dist/gir/type-ref.d.ts.map +1 -1
- package/dist/gir/type-ref.js +58 -77
- package/dist/gir/type-ref.js.map +1 -1
- package/dist/gir/type.d.ts +34 -0
- package/dist/gir/type.d.ts.map +1 -0
- package/dist/gir/type.js +2 -0
- package/dist/gir/type.js.map +1 -0
- package/dist/index.d.ts +7 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -11
- package/dist/index.js.map +1 -1
- package/dist/jsx.d.ts +26 -0
- package/dist/jsx.d.ts.map +1 -0
- package/dist/jsx.js +40 -0
- package/dist/jsx.js.map +1 -0
- package/dist/khronos/args.d.ts +30 -0
- package/dist/khronos/args.d.ts.map +1 -0
- package/dist/khronos/args.js +171 -0
- package/dist/khronos/args.js.map +1 -0
- package/dist/khronos/jsdoc.d.ts +21 -0
- package/dist/khronos/jsdoc.d.ts.map +1 -0
- package/dist/khronos/jsdoc.js +72 -0
- package/dist/khronos/jsdoc.js.map +1 -0
- package/dist/khronos/model.d.ts +38 -0
- package/dist/khronos/model.d.ts.map +1 -0
- package/dist/khronos/model.js +167 -0
- package/dist/khronos/model.js.map +1 -0
- package/dist/khronos/modules.d.ts +12 -0
- package/dist/khronos/modules.d.ts.map +1 -0
- package/dist/khronos/modules.js +73 -0
- package/dist/khronos/modules.js.map +1 -0
- package/dist/khronos/param-pair.d.ts +11 -0
- package/dist/khronos/param-pair.d.ts.map +1 -0
- package/dist/khronos/param-pair.js +6 -0
- package/dist/khronos/param-pair.js.map +1 -0
- package/dist/khronos/parse.d.ts +8 -0
- package/dist/khronos/parse.d.ts.map +1 -0
- package/dist/khronos/parse.js +62 -0
- package/dist/khronos/parse.js.map +1 -0
- package/dist/khronos/pipeline.d.ts +24 -0
- package/dist/khronos/pipeline.d.ts.map +1 -0
- package/dist/khronos/pipeline.js +223 -0
- package/dist/khronos/pipeline.js.map +1 -0
- package/dist/khronos/plan.d.ts +81 -0
- package/dist/khronos/plan.d.ts.map +1 -0
- package/dist/khronos/plan.js +200 -0
- package/dist/khronos/plan.js.map +1 -0
- package/dist/khronos/render.d.ts +17 -0
- package/dist/khronos/render.d.ts.map +1 -0
- package/dist/khronos/render.js +205 -0
- package/dist/khronos/render.js.map +1 -0
- package/dist/khronos/select.d.ts +15 -0
- package/dist/khronos/select.d.ts.map +1 -0
- package/dist/khronos/select.js +56 -0
- package/dist/khronos/select.js.map +1 -0
- package/dist/react/element-config.d.ts +17 -0
- package/dist/react/element-config.d.ts.map +1 -0
- package/dist/react/element-config.js +61 -0
- package/dist/react/element-config.js.map +1 -0
- package/dist/runner.d.ts +38 -49
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +81 -54
- package/dist/runner.js.map +1 -1
- package/dist/store/compile-store.d.ts +11 -0
- package/dist/store/compile-store.d.ts.map +1 -0
- package/dist/store/compile-store.js +40 -0
- package/dist/store/compile-store.js.map +1 -0
- package/dist/store/gi/async.d.ts +5 -0
- package/dist/store/gi/async.d.ts.map +1 -0
- package/dist/store/gi/async.js +45 -0
- package/dist/store/gi/async.js.map +1 -0
- package/dist/store/gi/callables.d.ts +42 -0
- package/dist/store/gi/callables.d.ts.map +1 -0
- package/dist/store/gi/callables.js +264 -0
- package/dist/store/gi/callables.js.map +1 -0
- package/dist/store/gi/callback.d.ts +5 -0
- package/dist/store/gi/callback.d.ts.map +1 -0
- package/dist/store/gi/callback.js +17 -0
- package/dist/store/gi/callback.js.map +1 -0
- package/dist/store/gi/class-struct-record.d.ts +10 -0
- package/dist/store/gi/class-struct-record.d.ts.map +1 -0
- package/dist/store/gi/class-struct-record.js +52 -0
- package/dist/store/gi/class-struct-record.js.map +1 -0
- package/dist/store/gi/class.d.ts +5 -0
- package/dist/store/gi/class.d.ts.map +1 -0
- package/dist/store/gi/class.js +208 -0
- package/dist/store/gi/class.js.map +1 -0
- package/dist/store/gi/companion.d.ts +5 -0
- package/dist/store/gi/companion.d.ts.map +1 -0
- package/dist/store/gi/companion.js +16 -0
- package/dist/store/gi/companion.js.map +1 -0
- package/dist/store/gi/constant.d.ts +6 -0
- package/dist/store/gi/constant.d.ts.map +1 -0
- package/dist/store/gi/constant.js +35 -0
- package/dist/store/gi/constant.js.map +1 -0
- package/dist/store/gi/constructor-props.d.ts +6 -0
- package/dist/store/gi/constructor-props.d.ts.map +1 -0
- package/dist/store/gi/constructor-props.js +71 -0
- package/dist/store/gi/constructor-props.js.map +1 -0
- package/dist/store/gi/enum.d.ts +6 -0
- package/dist/store/gi/enum.d.ts.map +1 -0
- package/dist/store/gi/enum.js +41 -0
- package/dist/store/gi/enum.js.map +1 -0
- package/dist/store/gi/function.d.ts +9 -0
- package/dist/store/gi/function.d.ts.map +1 -0
- package/dist/store/gi/function.js +114 -0
- package/dist/store/gi/function.js.map +1 -0
- package/dist/store/gi/gtype-binding.d.ts +10 -0
- package/dist/store/gi/gtype-binding.d.ts.map +1 -0
- package/dist/store/gi/gtype-binding.js +24 -0
- package/dist/store/gi/gtype-binding.js.map +1 -0
- package/dist/store/gi/interface.d.ts +5 -0
- package/dist/store/gi/interface.d.ts.map +1 -0
- package/dist/store/gi/interface.js +117 -0
- package/dist/store/gi/interface.js.map +1 -0
- package/dist/store/gi/item-comparators.d.ts +7 -0
- package/dist/store/gi/item-comparators.d.ts.map +1 -0
- package/dist/store/gi/item-comparators.js +88 -0
- package/dist/store/gi/item-comparators.js.map +1 -0
- package/dist/store/gi/method.d.ts +24 -0
- package/dist/store/gi/method.d.ts.map +1 -0
- package/dist/store/gi/method.js +336 -0
- package/dist/store/gi/method.js.map +1 -0
- package/dist/store/gi/param-marshal.d.ts +10 -0
- package/dist/store/gi/param-marshal.d.ts.map +1 -0
- package/dist/store/gi/param-marshal.js +50 -0
- package/dist/store/gi/param-marshal.js.map +1 -0
- package/dist/store/gi/pipeline.d.ts +5 -0
- package/dist/store/gi/pipeline.d.ts.map +1 -0
- package/dist/store/gi/pipeline.js +95 -0
- package/dist/store/gi/pipeline.js.map +1 -0
- package/dist/store/gi/properties.d.ts +6 -0
- package/dist/store/gi/properties.d.ts.map +1 -0
- package/dist/store/gi/properties.js +32 -0
- package/dist/store/gi/properties.js.map +1 -0
- package/dist/store/gi/property-accessor.d.ts +27 -0
- package/dist/store/gi/property-accessor.d.ts.map +1 -0
- package/dist/store/gi/property-accessor.js +158 -0
- package/dist/store/gi/property-accessor.js.map +1 -0
- package/dist/store/gi/record-constructor.d.ts +6 -0
- package/dist/store/gi/record-constructor.d.ts.map +1 -0
- package/dist/store/gi/record-constructor.js +76 -0
- package/dist/store/gi/record-constructor.js.map +1 -0
- package/dist/store/gi/record-field-accessor.d.ts +25 -0
- package/dist/store/gi/record-field-accessor.d.ts.map +1 -0
- package/dist/store/gi/record-field-accessor.js +360 -0
- package/dist/store/gi/record-field-accessor.js.map +1 -0
- package/dist/store/gi/record-layout.d.ts +15 -0
- package/dist/store/gi/record-layout.d.ts.map +1 -0
- package/dist/store/gi/record-layout.js +132 -0
- package/dist/store/gi/record-layout.js.map +1 -0
- package/dist/store/gi/record.d.ts +5 -0
- package/dist/store/gi/record.d.ts.map +1 -0
- package/dist/store/gi/record.js +65 -0
- package/dist/store/gi/record.js.map +1 -0
- package/dist/store/gi/registration.d.ts +16 -0
- package/dist/store/gi/registration.d.ts.map +1 -0
- package/dist/store/gi/registration.js +21 -0
- package/dist/store/gi/registration.js.map +1 -0
- package/dist/store/gi/return-wrap.d.ts +10 -0
- package/dist/store/gi/return-wrap.d.ts.map +1 -0
- package/dist/store/gi/return-wrap.js +67 -0
- package/dist/store/gi/return-wrap.js.map +1 -0
- package/dist/store/gi/runtime-override.d.ts +4 -0
- package/dist/store/gi/runtime-override.d.ts.map +1 -0
- package/dist/store/gi/runtime-override.js +32 -0
- package/dist/store/gi/runtime-override.js.map +1 -0
- package/dist/store/gi/signal.d.ts +6 -0
- package/dist/store/gi/signal.d.ts.map +1 -0
- package/dist/store/gi/signal.js +280 -0
- package/dist/store/gi/signal.js.map +1 -0
- package/dist/store/gi/vtable.d.ts +5 -0
- package/dist/store/gi/vtable.d.ts.map +1 -0
- package/dist/store/gi/vtable.js +108 -0
- package/dist/store/gi/vtable.js.map +1 -0
- package/dist/store/gi-store.d.ts +10 -0
- package/dist/store/gi-store.d.ts.map +1 -0
- package/dist/store/gi-store.js +59 -0
- package/dist/store/gi-store.js.map +1 -0
- package/dist/store/jsx/element-components.d.ts +23 -0
- package/dist/store/jsx/element-components.d.ts.map +1 -0
- package/dist/store/jsx/element-components.js +86 -0
- package/dist/store/jsx/element-components.js.map +1 -0
- package/dist/store/jsx/element-prop-imports.d.ts +17 -0
- package/dist/store/jsx/element-prop-imports.d.ts.map +1 -0
- package/dist/store/jsx/element-prop-imports.js +15 -0
- package/dist/store/jsx/element-prop-imports.js.map +1 -0
- package/dist/store/jsx/element-prop-types.d.ts +10 -0
- package/dist/store/jsx/element-prop-types.d.ts.map +1 -0
- package/dist/store/jsx/element-prop-types.js +41 -0
- package/dist/store/jsx/element-prop-types.js.map +1 -0
- package/dist/store/jsx/gir-index.d.ts +16 -0
- package/dist/store/jsx/gir-index.d.ts.map +1 -0
- package/dist/store/jsx/gir-index.js +33 -0
- package/dist/store/jsx/gir-index.js.map +1 -0
- package/dist/store/jsx/intrinsic-elements.d.ts +27 -0
- package/dist/store/jsx/intrinsic-elements.d.ts.map +1 -0
- package/dist/store/jsx/intrinsic-elements.js +128 -0
- package/dist/store/jsx/intrinsic-elements.js.map +1 -0
- package/dist/store/jsx/jsx.d.ts +16 -0
- package/dist/store/jsx/jsx.d.ts.map +1 -0
- package/dist/store/jsx/jsx.js +242 -0
- package/dist/store/jsx/jsx.js.map +1 -0
- package/dist/store/jsx/metadata.d.ts +4 -0
- package/dist/store/jsx/metadata.d.ts.map +1 -0
- package/dist/store/jsx/metadata.js +253 -0
- package/dist/store/jsx/metadata.js.map +1 -0
- package/dist/store/jsx/pipeline.d.ts +21 -0
- package/dist/store/jsx/pipeline.d.ts.map +1 -0
- package/dist/store/jsx/pipeline.js +81 -0
- package/dist/store/jsx/pipeline.js.map +1 -0
- package/dist/store/jsx/props.d.ts +33 -0
- package/dist/store/jsx/props.d.ts.map +1 -0
- package/dist/store/jsx/props.js +158 -0
- package/dist/store/jsx/props.js.map +1 -0
- package/dist/store/jsx-store.d.ts +7 -0
- package/dist/store/jsx-store.d.ts.map +1 -0
- package/dist/store/jsx-store.js +26 -0
- package/dist/store/jsx-store.js.map +1 -0
- package/dist/store/store-fs.d.ts +43 -0
- package/dist/store/store-fs.d.ts.map +1 -0
- package/dist/store/store-fs.js +73 -0
- package/dist/store/store-fs.js.map +1 -0
- package/dist/writer/context.d.ts +17 -0
- package/dist/writer/context.d.ts.map +1 -0
- package/dist/writer/context.js +50 -0
- package/dist/writer/context.js.map +1 -0
- package/dist/writer/doc.d.ts +3 -0
- package/dist/writer/doc.d.ts.map +1 -0
- package/dist/writer/doc.js +18 -0
- package/dist/writer/doc.js.map +1 -0
- package/dist/writer/emit.d.ts +9 -0
- package/dist/writer/emit.d.ts.map +1 -0
- package/dist/writer/emit.js +24 -0
- package/dist/writer/emit.js.map +1 -0
- package/dist/writer/gtk-doc.d.ts +3 -0
- package/dist/writer/gtk-doc.d.ts.map +1 -0
- package/dist/writer/gtk-doc.js +78 -0
- package/dist/writer/gtk-doc.js.map +1 -0
- package/dist/writer/imports.d.ts +12 -0
- package/dist/writer/imports.d.ts.map +1 -0
- package/dist/writer/imports.js +61 -0
- package/dist/writer/imports.js.map +1 -0
- package/dist/writer/module.d.ts +16 -0
- package/dist/writer/module.d.ts.map +1 -0
- package/dist/writer/module.js +53 -0
- package/dist/writer/module.js.map +1 -0
- package/dist/xml.d.ts +4 -0
- package/dist/xml.d.ts.map +1 -0
- package/dist/xml.js +10 -0
- package/dist/xml.js.map +1 -0
- package/overrides/cairo/context.ts.ejs +1269 -0
- package/overrides/cairo/font-face.ts.ejs +151 -0
- package/overrides/cairo/font-options.ts.ejs +199 -0
- package/overrides/cairo/image-surface.ts.ejs +132 -0
- package/overrides/cairo/index.ts.ejs +22 -0
- package/overrides/cairo/matrix.ts.ejs +171 -0
- package/overrides/cairo/pattern.ts.ejs +476 -0
- package/overrides/cairo/recording-surface.ts.ejs +102 -0
- package/overrides/cairo/region.ts.ejs +237 -0
- package/overrides/cairo/scaled-font.ts.ejs +330 -0
- package/overrides/cairo/surface.ts.ejs +296 -0
- package/overrides/gdk/index.ts.ejs +2 -0
- package/overrides/gdk/rgba.ts.ejs +11 -0
- package/overrides/gobject/index.ts.ejs +29 -0
- package/overrides/gobject/object.ts.ejs +51 -0
- package/overrides/gobject/value.ts.ejs +17 -0
- package/overrides/graphene/index.ts.ejs +2 -0
- package/overrides/graphene/structs.ts.ejs +37 -0
- package/package.json +21 -15
- package/src/analysis/descriptor-render.ts +723 -0
- package/src/analysis/descriptor.ts +300 -0
- package/src/analysis/inheritance.ts +430 -0
- package/src/analysis/param-structure.ts +258 -0
- package/src/analysis/ts-type.ts +174 -0
- package/src/compile.ts +179 -0
- package/src/docs/api-reference.ts +557 -0
- package/src/docs/element-page.ts +281 -0
- package/src/docs/pipeline.ts +241 -0
- package/src/docs/render.ts +255 -0
- package/src/docs/symbol-page.ts +589 -0
- package/src/fingerprint.ts +144 -35
- package/src/gi.ts +26 -0
- package/src/gir/ancestry.ts +53 -0
- package/src/gir/callback.ts +22 -24
- package/src/gir/class.ts +39 -61
- package/src/gir/enum.ts +25 -41
- package/src/gir/field.ts +51 -37
- package/src/gir/function.ts +44 -59
- package/src/gir/gir-path.ts +73 -0
- package/src/gir/libraries.ts +102 -0
- package/src/gir/library.ts +351 -0
- package/src/gir/namespace.ts +109 -88
- package/src/gir/nullable-overrides.ts +5 -0
- package/src/gir/parameter.ts +111 -102
- package/src/gir/parse.ts +124 -121
- package/src/gir/primitives.ts +43 -63
- package/src/gir/property.ts +33 -33
- package/src/gir/record.ts +55 -0
- package/src/gir/size.ts +93 -107
- package/src/gir/type-id.ts +64 -0
- package/src/gir/type-ref.ts +77 -146
- package/src/gir/type.ts +18 -0
- package/src/index.ts +27 -15
- package/src/jsx.ts +70 -0
- package/src/khronos/args.ts +271 -0
- package/src/khronos/jsdoc.ts +114 -0
- package/src/khronos/model.ts +267 -0
- package/src/khronos/modules.ts +115 -0
- package/src/khronos/param-pair.ts +14 -0
- package/src/khronos/parse.ts +86 -0
- package/src/khronos/pipeline.ts +337 -0
- package/src/khronos/plan.ts +340 -0
- package/src/khronos/registry/LICENSE +202 -0
- package/src/khronos/registry/gl.xml +47748 -0
- package/src/khronos/render.ts +330 -0
- package/src/khronos/select.ts +97 -0
- package/src/react/element-config.ts +91 -0
- package/src/runner.ts +153 -80
- package/src/store/compile-store.ts +55 -0
- package/src/store/gi/async.ts +69 -0
- package/src/store/gi/callables.ts +518 -0
- package/src/store/gi/callback.ts +24 -0
- package/src/store/gi/class-struct-record.ts +72 -0
- package/src/store/gi/class.ts +334 -0
- package/src/store/gi/companion.ts +22 -0
- package/src/store/gi/constant.ts +58 -0
- package/src/store/gi/constructor-props.ts +108 -0
- package/src/store/gi/enum.ts +64 -0
- package/src/store/gi/function.ts +173 -0
- package/src/store/gi/gtype-binding.ts +46 -0
- package/src/store/gi/interface.ts +222 -0
- package/src/store/gi/item-comparators.ts +138 -0
- package/src/store/gi/method.ts +634 -0
- package/src/store/gi/param-marshal.ts +71 -0
- package/src/store/gi/pipeline.ts +135 -0
- package/src/store/gi/properties.ts +50 -0
- package/src/store/gi/property-accessor.ts +302 -0
- package/src/store/gi/record-constructor.ts +119 -0
- package/src/store/gi/record-field-accessor.ts +607 -0
- package/src/store/gi/record-layout.ts +221 -0
- package/src/store/gi/record.ts +89 -0
- package/src/store/gi/registration.ts +44 -0
- package/src/store/gi/return-wrap.ts +100 -0
- package/src/store/gi/runtime-override.ts +46 -0
- package/src/store/gi/signal.ts +450 -0
- package/src/store/gi/vtable.ts +175 -0
- package/src/store/gi-store.ts +92 -0
- package/src/store/jsx/element-components.ts +152 -0
- package/src/store/jsx/element-prop-imports.ts +24 -0
- package/src/store/jsx/element-prop-types.ts +59 -0
- package/src/store/jsx/gir-index.ts +62 -0
- package/src/store/jsx/intrinsic-elements.ts +262 -0
- package/src/store/jsx/jsx.ts +408 -0
- package/src/store/jsx/metadata.ts +385 -0
- package/src/store/jsx/pipeline.ts +145 -0
- package/src/store/jsx/props.ts +274 -0
- package/src/store/jsx-store.ts +39 -0
- package/src/store/store-fs.ts +128 -0
- package/src/writer/context.ts +67 -0
- package/src/writer/doc.ts +25 -0
- package/src/writer/emit.ts +35 -0
- package/src/writer/gtk-doc.ts +101 -0
- package/src/writer/imports.ts +94 -0
- package/src/writer/module.ts +69 -0
- package/src/xml.ts +12 -0
- package/LICENSE +0 -373
- package/dist/dsl/context.d.ts +0 -104
- package/dist/dsl/context.d.ts.map +0 -1
- package/dist/dsl/context.js +0 -140
- package/dist/dsl/context.js.map +0 -1
- package/dist/dsl/emit.d.ts +0 -28
- package/dist/dsl/emit.d.ts.map +0 -1
- package/dist/dsl/emit.js +0 -41
- package/dist/dsl/emit.js.map +0 -1
- package/dist/dsl/identifier.d.ts +0 -28
- package/dist/dsl/identifier.d.ts.map +0 -1
- package/dist/dsl/identifier.js +0 -45
- package/dist/dsl/identifier.js.map +0 -1
- package/dist/dsl/imports.d.ts +0 -58
- package/dist/dsl/imports.d.ts.map +0 -1
- package/dist/dsl/imports.js +0 -107
- package/dist/dsl/imports.js.map +0 -1
- package/dist/dsl/module.d.ts +0 -53
- package/dist/dsl/module.d.ts.map +0 -1
- package/dist/dsl/module.js +0 -76
- package/dist/dsl/module.js.map +0 -1
- package/dist/ffi/pipeline.d.ts +0 -19
- package/dist/ffi/pipeline.d.ts.map +0 -1
- package/dist/ffi/pipeline.js +0 -107
- package/dist/ffi/pipeline.js.map +0 -1
- package/dist/gi-store.d.ts +0 -34
- package/dist/gi-store.d.ts.map +0 -1
- package/dist/gi-store.js +0 -154
- package/dist/gi-store.js.map +0 -1
- package/dist/gir/boxed.d.ts +0 -66
- package/dist/gir/boxed.d.ts.map +0 -1
- package/dist/gir/boxed.js +0 -49
- package/dist/gir/boxed.js.map +0 -1
- package/dist/gir/qualified-name.d.ts +0 -37
- package/dist/gir/qualified-name.d.ts.map +0 -1
- package/dist/gir/qualified-name.js +0 -39
- package/dist/gir/qualified-name.js.map +0 -1
- package/dist/gir/qualify.d.ts +0 -32
- package/dist/gir/qualify.d.ts.map +0 -1
- package/dist/gir/qualify.js +0 -60
- package/dist/gir/qualify.js.map +0 -1
- package/dist/gir/repository.d.ts +0 -82
- package/dist/gir/repository.d.ts.map +0 -1
- package/dist/gir/repository.js +0 -122
- package/dist/gir/repository.js.map +0 -1
- package/dist/gir/signal.d.ts +0 -22
- package/dist/gir/signal.d.ts.map +0 -1
- package/dist/gir/signal.js +0 -20
- package/dist/gir/signal.js.map +0 -1
- package/dist/jsx-store.d.ts +0 -22
- package/dist/jsx-store.d.ts.map +0 -1
- package/dist/jsx-store.js +0 -40
- package/dist/jsx-store.js.map +0 -1
- package/dist/react/compounds-meta.d.ts +0 -18
- package/dist/react/compounds-meta.d.ts.map +0 -1
- package/dist/react/compounds-meta.js +0 -93
- package/dist/react/compounds-meta.js.map +0 -1
- package/dist/react/compounds.d.ts +0 -27
- package/dist/react/compounds.d.ts.map +0 -1
- package/dist/react/compounds.js +0 -164
- package/dist/react/compounds.js.map +0 -1
- package/dist/react/internal.d.ts +0 -14
- package/dist/react/internal.d.ts.map +0 -1
- package/dist/react/internal.js +0 -79
- package/dist/react/internal.js.map +0 -1
- package/dist/react/jsx.d.ts +0 -22
- package/dist/react/jsx.d.ts.map +0 -1
- package/dist/react/jsx.js +0 -134
- package/dist/react/jsx.js.map +0 -1
- package/dist/react/pipeline.d.ts +0 -13
- package/dist/react/pipeline.d.ts.map +0 -1
- package/dist/react/pipeline.js +0 -25
- package/dist/react/pipeline.js.map +0 -1
- package/dist/react/props.d.ts +0 -38
- package/dist/react/props.d.ts.map +0 -1
- package/dist/react/props.js +0 -231
- package/dist/react/props.js.map +0 -1
- package/dist/react/slot-props.d.ts +0 -10
- package/dist/react/slot-props.d.ts.map +0 -1
- package/dist/react/slot-props.js +0 -56
- package/dist/react/slot-props.js.map +0 -1
- package/dist/react/widgets.d.ts +0 -83
- package/dist/react/widgets.d.ts.map +0 -1
- package/dist/react/widgets.js +0 -152
- package/dist/react/widgets.js.map +0 -1
- package/dist/store-fs.d.ts +0 -109
- package/dist/store-fs.d.ts.map +0 -1
- package/dist/store-fs.js +0 -98
- package/dist/store-fs.js.map +0 -1
- package/dist/transpile.d.ts +0 -32
- package/dist/transpile.d.ts.map +0 -1
- package/dist/transpile.js +0 -63
- package/dist/transpile.js.map +0 -1
- package/dist/typecheck-store.d.ts +0 -41
- package/dist/typecheck-store.d.ts.map +0 -1
- package/dist/typecheck-store.js +0 -102
- package/dist/typecheck-store.js.map +0 -1
- package/dist/writers/alias.d.ts +0 -13
- package/dist/writers/alias.d.ts.map +0 -1
- package/dist/writers/alias.js +0 -17
- package/dist/writers/alias.js.map +0 -1
- package/dist/writers/async.d.ts +0 -22
- package/dist/writers/async.d.ts.map +0 -1
- package/dist/writers/async.js +0 -48
- package/dist/writers/async.js.map +0 -1
- package/dist/writers/boxed-constructor.d.ts +0 -26
- package/dist/writers/boxed-constructor.d.ts.map +0 -1
- package/dist/writers/boxed-constructor.js +0 -85
- package/dist/writers/boxed-constructor.js.map +0 -1
- package/dist/writers/boxed-field-accessor.d.ts +0 -18
- package/dist/writers/boxed-field-accessor.d.ts.map +0 -1
- package/dist/writers/boxed-field-accessor.js +0 -260
- package/dist/writers/boxed-field-accessor.js.map +0 -1
- package/dist/writers/boxed-layout.d.ts +0 -27
- package/dist/writers/boxed-layout.d.ts.map +0 -1
- package/dist/writers/boxed-layout.js +0 -128
- package/dist/writers/boxed-layout.js.map +0 -1
- package/dist/writers/boxed.d.ts +0 -20
- package/dist/writers/boxed.d.ts.map +0 -1
- package/dist/writers/boxed.js +0 -71
- package/dist/writers/boxed.js.map +0 -1
- package/dist/writers/callables.d.ts +0 -124
- package/dist/writers/callables.d.ts.map +0 -1
- package/dist/writers/callables.js +0 -283
- package/dist/writers/callables.js.map +0 -1
- package/dist/writers/callback.d.ts +0 -16
- package/dist/writers/callback.d.ts.map +0 -1
- package/dist/writers/callback.js +0 -38
- package/dist/writers/callback.js.map +0 -1
- package/dist/writers/class-struct-record.d.ts +0 -31
- package/dist/writers/class-struct-record.d.ts.map +0 -1
- package/dist/writers/class-struct-record.js +0 -67
- package/dist/writers/class-struct-record.js.map +0 -1
- package/dist/writers/class-struct.d.ts +0 -22
- package/dist/writers/class-struct.d.ts.map +0 -1
- package/dist/writers/class-struct.js +0 -85
- package/dist/writers/class-struct.js.map +0 -1
- package/dist/writers/class.d.ts +0 -16
- package/dist/writers/class.d.ts.map +0 -1
- package/dist/writers/class.js +0 -307
- package/dist/writers/class.js.map +0 -1
- package/dist/writers/constant.d.ts +0 -15
- package/dist/writers/constant.d.ts.map +0 -1
- package/dist/writers/constant.js +0 -23
- package/dist/writers/constant.js.map +0 -1
- package/dist/writers/constants.d.ts +0 -15
- package/dist/writers/constants.d.ts.map +0 -1
- package/dist/writers/constants.js +0 -23
- package/dist/writers/constants.js.map +0 -1
- package/dist/writers/constructor-props.d.ts +0 -32
- package/dist/writers/constructor-props.d.ts.map +0 -1
- package/dist/writers/constructor-props.js +0 -110
- package/dist/writers/constructor-props.js.map +0 -1
- package/dist/writers/enum.d.ts +0 -21
- package/dist/writers/enum.d.ts.map +0 -1
- package/dist/writers/enum.js +0 -48
- package/dist/writers/enum.js.map +0 -1
- package/dist/writers/function.d.ts +0 -40
- package/dist/writers/function.d.ts.map +0 -1
- package/dist/writers/function.js +0 -127
- package/dist/writers/function.js.map +0 -1
- package/dist/writers/gtype-binding.d.ts +0 -19
- package/dist/writers/gtype-binding.d.ts.map +0 -1
- package/dist/writers/gtype-binding.js +0 -40
- package/dist/writers/gtype-binding.js.map +0 -1
- package/dist/writers/inheritance.d.ts +0 -48
- package/dist/writers/inheritance.d.ts.map +0 -1
- package/dist/writers/inheritance.js +0 -90
- package/dist/writers/inheritance.js.map +0 -1
- package/dist/writers/interface.d.ts +0 -16
- package/dist/writers/interface.d.ts.map +0 -1
- package/dist/writers/interface.js +0 -155
- package/dist/writers/interface.js.map +0 -1
- package/dist/writers/method.d.ts +0 -150
- package/dist/writers/method.d.ts.map +0 -1
- package/dist/writers/method.js +0 -510
- package/dist/writers/method.js.map +0 -1
- package/dist/writers/param-classify.d.ts +0 -93
- package/dist/writers/param-classify.d.ts.map +0 -1
- package/dist/writers/param-classify.js +0 -163
- package/dist/writers/param-classify.js.map +0 -1
- package/dist/writers/property-accessor.d.ts +0 -19
- package/dist/writers/property-accessor.d.ts.map +0 -1
- package/dist/writers/property-accessor.js +0 -117
- package/dist/writers/property-accessor.js.map +0 -1
- package/dist/writers/registration.d.ts +0 -27
- package/dist/writers/registration.d.ts.map +0 -1
- package/dist/writers/registration.js +0 -30
- package/dist/writers/registration.js.map +0 -1
- package/dist/writers/return-wrap.d.ts +0 -39
- package/dist/writers/return-wrap.d.ts.map +0 -1
- package/dist/writers/return-wrap.js +0 -152
- package/dist/writers/return-wrap.js.map +0 -1
- package/dist/writers/runtime-override.d.ts +0 -18
- package/dist/writers/runtime-override.d.ts.map +0 -1
- package/dist/writers/runtime-override.js +0 -44
- package/dist/writers/runtime-override.js.map +0 -1
- package/dist/writers/signal.d.ts +0 -21
- package/dist/writers/signal.d.ts.map +0 -1
- package/dist/writers/signal.js +0 -260
- package/dist/writers/signal.js.map +0 -1
- package/dist/writers/ts-type.d.ts +0 -50
- package/dist/writers/ts-type.d.ts.map +0 -1
- package/dist/writers/ts-type.js +0 -75
- package/dist/writers/ts-type.js.map +0 -1
- package/dist/writers/types-ts.d.ts +0 -27
- package/dist/writers/types-ts.d.ts.map +0 -1
- package/dist/writers/types-ts.js +0 -97
- package/dist/writers/types-ts.js.map +0 -1
- package/dist/writers/value.d.ts +0 -89
- package/dist/writers/value.d.ts.map +0 -1
- package/dist/writers/value.js +0 -402
- package/dist/writers/value.js.map +0 -1
- package/src/dsl/context.ts +0 -146
- package/src/dsl/emit.ts +0 -42
- package/src/dsl/identifier.ts +0 -52
- package/src/dsl/imports.ts +0 -109
- package/src/dsl/module.ts +0 -75
- package/src/ffi/pipeline.ts +0 -113
- package/src/gi-store.ts +0 -199
- package/src/gir/boxed.ts +0 -94
- package/src/gir/qualified-name.ts +0 -55
- package/src/gir/qualify.ts +0 -64
- package/src/gir/repository.ts +0 -149
- package/src/gir/signal.ts +0 -36
- package/src/jsx-store.ts +0 -53
- package/src/react/compounds-meta.ts +0 -99
- package/src/react/compounds.ts +0 -204
- package/src/react/internal.ts +0 -91
- package/src/react/jsx.ts +0 -155
- package/src/react/pipeline.ts +0 -29
- package/src/react/props.ts +0 -307
- package/src/react/slot-props.ts +0 -57
- package/src/react/widgets.ts +0 -185
- package/src/store-fs.ts +0 -157
- package/src/transpile.ts +0 -80
- package/src/typecheck-store.ts +0 -136
- package/src/writers/alias.ts +0 -19
- package/src/writers/async.ts +0 -44
- package/src/writers/boxed-constructor.ts +0 -105
- package/src/writers/boxed-field-accessor.ts +0 -306
- package/src/writers/boxed-layout.ts +0 -166
- package/src/writers/boxed.ts +0 -77
- package/src/writers/callables.ts +0 -339
- package/src/writers/callback.ts +0 -40
- package/src/writers/class-struct-record.ts +0 -75
- package/src/writers/class-struct.ts +0 -96
- package/src/writers/class.ts +0 -384
- package/src/writers/constant.ts +0 -29
- package/src/writers/constructor-props.ts +0 -130
- package/src/writers/enum.ts +0 -53
- package/src/writers/function.ts +0 -136
- package/src/writers/gtype-binding.ts +0 -48
- package/src/writers/inheritance.ts +0 -104
- package/src/writers/interface.ts +0 -168
- package/src/writers/method.ts +0 -678
- package/src/writers/param-classify.ts +0 -178
- package/src/writers/property-accessor.ts +0 -139
- package/src/writers/registration.ts +0 -42
- package/src/writers/return-wrap.ts +0 -180
- package/src/writers/runtime-override.ts +0 -59
- package/src/writers/signal.ts +0 -318
- package/src/writers/ts-type.ts +0 -115
- package/src/writers/value.ts +0 -485
package/dist/ffi/pipeline.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { ModuleContext } from "../dsl/context.js";
|
|
2
|
-
import { emitAlias } from "../writers/alias.js";
|
|
3
|
-
import { emitBoxed } from "../writers/boxed.js";
|
|
4
|
-
import { emitCallback } from "../writers/callback.js";
|
|
5
|
-
import { emitClass } from "../writers/class.js";
|
|
6
|
-
import { emitConstant } from "../writers/constant.js";
|
|
7
|
-
import { emitEnum } from "../writers/enum.js";
|
|
8
|
-
import { emitNamespaceBootstrap, emitNamespaceFunction } from "../writers/function.js";
|
|
9
|
-
import { emitInterface } from "../writers/interface.js";
|
|
10
|
-
/**
|
|
11
|
-
* Generates the TypeScript source for one FFI namespace module.
|
|
12
|
-
*
|
|
13
|
-
* Walks the namespace's declared enums, boxeds, classes, interfaces,
|
|
14
|
-
* callbacks, functions, constants, and aliases, dispatching to the
|
|
15
|
-
* per-construct writers in `writers/`: bindings first, declarations second,
|
|
16
|
-
* registrations trailing.
|
|
17
|
-
*
|
|
18
|
-
* @param namespace - The namespace to emit
|
|
19
|
-
* @param repository - The full repository (for cross-namespace lookups)
|
|
20
|
-
* @returns The relative output path and the TypeScript source string
|
|
21
|
-
*/
|
|
22
|
-
export const generateNamespaceModule = (namespace, repository) => {
|
|
23
|
-
const context = new ModuleContext(namespace, repository);
|
|
24
|
-
context.addGObjectBootstrapImports();
|
|
25
|
-
for (const enumeration of namespace.enums) {
|
|
26
|
-
emitEnum(context, enumeration);
|
|
27
|
-
}
|
|
28
|
-
for (const boxed of namespace.boxeds) {
|
|
29
|
-
emitBoxed(context, boxed);
|
|
30
|
-
}
|
|
31
|
-
for (const klass of topologicalClassOrder(namespace.classes, namespace.name)) {
|
|
32
|
-
emitClass(context, klass);
|
|
33
|
-
}
|
|
34
|
-
for (const iface of namespace.interfaces) {
|
|
35
|
-
emitInterface(context, iface);
|
|
36
|
-
}
|
|
37
|
-
for (const callback of namespace.callbacks) {
|
|
38
|
-
emitCallback(context, callback);
|
|
39
|
-
}
|
|
40
|
-
for (const fn of namespace.functions) {
|
|
41
|
-
emitNamespaceFunction(context, fn);
|
|
42
|
-
}
|
|
43
|
-
emitNamespaceBootstrap(context, namespace);
|
|
44
|
-
for (const constant of namespace.constants) {
|
|
45
|
-
emitConstant(context, constant);
|
|
46
|
-
}
|
|
47
|
-
for (const alias of namespace.aliases) {
|
|
48
|
-
emitAlias(context, alias);
|
|
49
|
-
}
|
|
50
|
-
const directory = namespace.name.toLowerCase();
|
|
51
|
-
return {
|
|
52
|
-
path: `${directory}/${directory}.ts`,
|
|
53
|
-
source: context.module.toSource(),
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* Returns the namespace's classes ordered so each class is preceded by every
|
|
58
|
-
* same-namespace ancestor it extends.
|
|
59
|
-
*
|
|
60
|
-
* Generated JS classes use `extends`, which is a runtime reference: a child
|
|
61
|
-
* class declaration that names its parent before the parent's class body runs
|
|
62
|
-
* hits a temporal dead-zone error. GIR file order is source order, which does
|
|
63
|
-
* not match the inheritance order for namespaces where a leaf type (e.g.
|
|
64
|
-
* `GObject.Binding`) is declared earlier in the file than its base (e.g.
|
|
65
|
-
* `GObject.Object`). The codegen sorts by inheritance instead.
|
|
66
|
-
*
|
|
67
|
-
* Cross-namespace parents are imported by the writer and do not participate in
|
|
68
|
-
* the sort.
|
|
69
|
-
*
|
|
70
|
-
* @param classes - The classes to order
|
|
71
|
-
* @param namespaceName - The namespace these classes live in
|
|
72
|
-
*/
|
|
73
|
-
const topologicalClassOrder = (classes, namespaceName) => {
|
|
74
|
-
const byLocalName = new Map();
|
|
75
|
-
for (const klass of classes)
|
|
76
|
-
byLocalName.set(klass.name, klass);
|
|
77
|
-
const result = [];
|
|
78
|
-
const placed = new Set();
|
|
79
|
-
const visiting = new Set();
|
|
80
|
-
const visit = (klass) => {
|
|
81
|
-
if (placed.has(klass))
|
|
82
|
-
return;
|
|
83
|
-
if (visiting.has(klass))
|
|
84
|
-
return;
|
|
85
|
-
visiting.add(klass);
|
|
86
|
-
const parent = sameNamespaceParent(klass, namespaceName, byLocalName);
|
|
87
|
-
if (parent !== undefined)
|
|
88
|
-
visit(parent);
|
|
89
|
-
visiting.delete(klass);
|
|
90
|
-
placed.add(klass);
|
|
91
|
-
result.push(klass);
|
|
92
|
-
};
|
|
93
|
-
for (const klass of classes)
|
|
94
|
-
visit(klass);
|
|
95
|
-
return result;
|
|
96
|
-
};
|
|
97
|
-
const sameNamespaceParent = (klass, namespaceName, byLocalName) => {
|
|
98
|
-
if (klass.parent === undefined)
|
|
99
|
-
return undefined;
|
|
100
|
-
const dot = klass.parent.indexOf(".");
|
|
101
|
-
if (dot === -1)
|
|
102
|
-
return byLocalName.get(klass.parent);
|
|
103
|
-
if (klass.parent.slice(0, dot) !== namespaceName)
|
|
104
|
-
return undefined;
|
|
105
|
-
return byLocalName.get(klass.parent.slice(dot + 1));
|
|
106
|
-
};
|
|
107
|
-
//# sourceMappingURL=pipeline.js.map
|
package/dist/ffi/pipeline.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/ffi/pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/gi-store.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type CodegenFingerprint } from "./fingerprint.js";
|
|
2
|
-
import { type StoreOptions } from "./store-fs.js";
|
|
3
|
-
/**
|
|
4
|
-
* Options for assembling the injected `@gtkx/gi` package.
|
|
5
|
-
*/
|
|
6
|
-
export type GiStoreOptions = StoreOptions & {
|
|
7
|
-
/** Real (symlink-resolved) directory of the installed `@gtkx/ffi`. */
|
|
8
|
-
readonly realFfiDir: string;
|
|
9
|
-
/** Real (symlink-resolved) directory of the installed `@gtkx/native`. */
|
|
10
|
-
readonly realNativeDir: string;
|
|
11
|
-
};
|
|
12
|
-
/** Per-namespace inputs the store assembler turns into gi modules. */
|
|
13
|
-
export type GiNamespaceInput = {
|
|
14
|
-
/** Lowercased namespace directory name (e.g. `"gtk"`). */
|
|
15
|
-
readonly directory: string;
|
|
16
|
-
/** Transpilable raw module source, or `null` for augment-only namespaces (gl). */
|
|
17
|
-
readonly rawSource: string | null;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Assembles the self-contained injected `@gtkx/gi` package.
|
|
21
|
-
*
|
|
22
|
-
* Writes every namespace's raw generated module, its augment overlay, and its
|
|
23
|
-
* barrel into a temporary store, emits the `package.json` and gi's own
|
|
24
|
-
* `node_modules/@gtkx/{ffi,gi}` symlinks — the self-referential `@gtkx/gi` link
|
|
25
|
-
* lets augment modules resolve sibling namespaces without relying on the
|
|
26
|
-
* project's top-level alias — swaps it into place, and points the visible
|
|
27
|
-
* `node_modules/@gtkx/gi` alias at it.
|
|
28
|
-
*
|
|
29
|
-
* @param options - Resolved store/link/dependency paths
|
|
30
|
-
* @param namespaces - Per-namespace raw module inputs
|
|
31
|
-
* @param fingerprint - Staleness sentinel written into the store, when provided
|
|
32
|
-
*/
|
|
33
|
-
export declare const writeGiStore: (options: GiStoreOptions, namespaces: readonly GiNamespaceInput[], fingerprint?: CodegenFingerprint) => void;
|
|
34
|
-
//# sourceMappingURL=gi-store.d.ts.map
|
package/dist/gi-store.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gi-store.d.ts","sourceRoot":"","sources":["../src/gi-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,kBAAkB,EAAwB,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,eAAe,CAAC;AAY9D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG;IACxC,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAsGF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GACrB,SAAS,cAAc,EACvB,YAAY,SAAS,gBAAgB,EAAE,EACvC,cAAc,kBAAkB,KACjC,IA8CF,CAAC"}
|
package/dist/gi-store.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
|
-
import { dirname, join, resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { FINGERPRINT_FILENAME } from "./fingerprint.js";
|
|
5
|
-
import { writeStore } from "./store-fs.js";
|
|
6
|
-
import { transpileSource } from "./transpile.js";
|
|
7
|
-
import { typecheckGiStore } from "./typecheck-store.js";
|
|
8
|
-
/**
|
|
9
|
-
* Absolute path to the hand-written augment overlay shipped with `@gtkx/codegen`.
|
|
10
|
-
*
|
|
11
|
-
* Resolves the same way whether codegen runs from `src/` (tsx) or `dist/`,
|
|
12
|
-
* since `overlay/` sits at the package root next to both.
|
|
13
|
-
*/
|
|
14
|
-
const OVERLAY_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..", "overlay");
|
|
15
|
-
/** Returns the augment `.ts` files for a namespace, or `[]` when it is pure pass-through. */
|
|
16
|
-
const overlayFiles = (directory) => {
|
|
17
|
-
const dir = join(OVERLAY_ROOT, directory);
|
|
18
|
-
if (!existsSync(dir))
|
|
19
|
-
return [];
|
|
20
|
-
return readdirSync(dir).filter((name) => name.endsWith(".ts") && name !== "index.ts");
|
|
21
|
-
};
|
|
22
|
-
const isAugmented = (directory) => existsSync(join(OVERLAY_ROOT, directory, "index.ts"));
|
|
23
|
-
/**
|
|
24
|
-
* Whether an augmented namespace's barrel re-exports a generated module (and so
|
|
25
|
-
* may only be emitted when that namespace is generated), as opposed to a
|
|
26
|
-
* standalone overlay like `gl` that has no GIR backing.
|
|
27
|
-
*/
|
|
28
|
-
const barrelNeedsGenerated = (directory) => readFileSync(join(OVERLAY_ROOT, directory, "index.ts"), "utf8").includes("../generated/");
|
|
29
|
-
/**
|
|
30
|
-
* Retargets a barrel-template specifier from its source layout (under
|
|
31
|
-
* `overlay/<ns>/`) to its emitted layout (under `gi/<ns>/`): the namespace's
|
|
32
|
-
* own generated module becomes a sibling, augment files move under `augment/`,
|
|
33
|
-
* and relative runtime modules collapse to the `@gtkx/ffi` barrel. The
|
|
34
|
-
* `@gtkx/native` specifier passes through so low-level primitives resolve
|
|
35
|
-
* straight to the native package.
|
|
36
|
-
*/
|
|
37
|
-
const retargetBarrelSpecifier = (spec, directory) => {
|
|
38
|
-
const generated = spec.match(/^\.\.\/generated\/[a-z0-9]+\/([a-z0-9]+)\.js$/);
|
|
39
|
-
if (generated)
|
|
40
|
-
return `./${generated[1]}.js`;
|
|
41
|
-
if (spec.startsWith("../"))
|
|
42
|
-
return "@gtkx/ffi";
|
|
43
|
-
const sibling = spec.match(/^\.\/([a-z0-9-]+)\.js$/);
|
|
44
|
-
if (sibling) {
|
|
45
|
-
return existsSync(join(OVERLAY_ROOT, directory, `${sibling[1]}.ts`))
|
|
46
|
-
? `./augment/${sibling[1]}.js`
|
|
47
|
-
: "@gtkx/ffi";
|
|
48
|
-
}
|
|
49
|
-
return spec;
|
|
50
|
-
};
|
|
51
|
-
const barrelSource = (directory) => {
|
|
52
|
-
if (!isAugmented(directory)) {
|
|
53
|
-
return `export * from "./${directory}.js";\n`;
|
|
54
|
-
}
|
|
55
|
-
const template = readFileSync(join(OVERLAY_ROOT, directory, "index.ts"), "utf8");
|
|
56
|
-
return template.replace(/"([^"]+)"/g, (_match, spec) => `"${retargetBarrelSpecifier(spec, directory)}"`);
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Gathers the per-namespace generated module, augment overlay, and barrel
|
|
60
|
-
* sources into a flat file list, building the package `exports` map alongside.
|
|
61
|
-
*/
|
|
62
|
-
const collectStoreSources = (directories, standaloneSet, rawByDirectory) => {
|
|
63
|
-
const exportsMap = { "./package.json": "./package.json" };
|
|
64
|
-
const collected = [];
|
|
65
|
-
for (const directory of directories) {
|
|
66
|
-
const rawSource = standaloneSet.has(directory) ? null : (rawByDirectory.get(directory) ?? null);
|
|
67
|
-
if (rawSource !== null) {
|
|
68
|
-
collected.push({
|
|
69
|
-
stem: `${directory}/${directory}`,
|
|
70
|
-
fileName: `${directory}/${directory}.ts`,
|
|
71
|
-
source: rawSource,
|
|
72
|
-
overlay: false,
|
|
73
|
-
});
|
|
74
|
-
exportsMap[`./${directory}/${directory}.js`] = {
|
|
75
|
-
types: `./${directory}/${directory}.d.ts`,
|
|
76
|
-
default: `./${directory}/${directory}.js`,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
for (const file of overlayFiles(directory)) {
|
|
80
|
-
collected.push({
|
|
81
|
-
stem: `${directory}/augment/${file.slice(0, -".ts".length)}`,
|
|
82
|
-
fileName: `${directory}/augment/${file}`,
|
|
83
|
-
source: readFileSync(join(OVERLAY_ROOT, directory, file), "utf8"),
|
|
84
|
-
overlay: true,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
collected.push({
|
|
88
|
-
stem: `${directory}/index`,
|
|
89
|
-
fileName: `${directory}/index.ts`,
|
|
90
|
-
source: barrelSource(directory),
|
|
91
|
-
overlay: false,
|
|
92
|
-
});
|
|
93
|
-
exportsMap[`./${directory}`] = {
|
|
94
|
-
types: `./${directory}/index.d.ts`,
|
|
95
|
-
default: `./${directory}/index.js`,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
return { collected, exportsMap };
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* Assembles the self-contained injected `@gtkx/gi` package.
|
|
102
|
-
*
|
|
103
|
-
* Writes every namespace's raw generated module, its augment overlay, and its
|
|
104
|
-
* barrel into a temporary store, emits the `package.json` and gi's own
|
|
105
|
-
* `node_modules/@gtkx/{ffi,gi}` symlinks — the self-referential `@gtkx/gi` link
|
|
106
|
-
* lets augment modules resolve sibling namespaces without relying on the
|
|
107
|
-
* project's top-level alias — swaps it into place, and points the visible
|
|
108
|
-
* `node_modules/@gtkx/gi` alias at it.
|
|
109
|
-
*
|
|
110
|
-
* @param options - Resolved store/link/dependency paths
|
|
111
|
-
* @param namespaces - Per-namespace raw module inputs
|
|
112
|
-
* @param fingerprint - Staleness sentinel written into the store, when provided
|
|
113
|
-
*/
|
|
114
|
-
export const writeGiStore = (options, namespaces, fingerprint) => {
|
|
115
|
-
const standaloneOverlays = readdirSync(OVERLAY_ROOT).filter((name) => isAugmented(name) && !barrelNeedsGenerated(name));
|
|
116
|
-
const standaloneSet = new Set(standaloneOverlays);
|
|
117
|
-
const directories = new Set([...namespaces.map((n) => n.directory), ...standaloneOverlays]);
|
|
118
|
-
const rawByDirectory = new Map(namespaces.map((n) => [n.directory, n.rawSource]));
|
|
119
|
-
const { collected, exportsMap } = collectStoreSources(directories, standaloneSet, rawByDirectory);
|
|
120
|
-
writeStore({
|
|
121
|
-
storeDir: options.storeDir,
|
|
122
|
-
linkDir: options.linkDir,
|
|
123
|
-
files: collected.map((file) => ({ stem: file.stem, fileName: file.fileName, source: file.source })),
|
|
124
|
-
manifest: {
|
|
125
|
-
name: "@gtkx/gi",
|
|
126
|
-
type: "module",
|
|
127
|
-
version: options.version,
|
|
128
|
-
sideEffects: true,
|
|
129
|
-
exports: exportsMap,
|
|
130
|
-
},
|
|
131
|
-
rawFiles: fingerprint === undefined
|
|
132
|
-
? []
|
|
133
|
-
: [{ relativePath: FINGERPRINT_FILENAME, content: `${JSON.stringify(fingerprint, null, 2)}\n` }],
|
|
134
|
-
symlinks: [
|
|
135
|
-
{ segments: ["node_modules", "@gtkx", "ffi"], target: options.realFfiDir },
|
|
136
|
-
{ segments: ["node_modules", "@gtkx", "native"], target: options.realNativeDir },
|
|
137
|
-
{ segments: ["node_modules", "@gtkx", "gi"], target: "self" },
|
|
138
|
-
],
|
|
139
|
-
validate: (tmp) => {
|
|
140
|
-
const sources = collected.map((file) => file.overlay
|
|
141
|
-
? { path: join(tmp, file.fileName), source: file.source, overlay: true }
|
|
142
|
-
: {
|
|
143
|
-
path: join(tmp, `${file.stem}.d.ts`),
|
|
144
|
-
source: transpileSource(file.fileName, file.source).dts,
|
|
145
|
-
overlay: false,
|
|
146
|
-
});
|
|
147
|
-
typecheckGiStore(tmp, sources, {
|
|
148
|
-
ffiEntry: join(options.realFfiDir, "src", "index.ts"),
|
|
149
|
-
nativeEntry: join(options.realNativeDir, "dist", "index.d.ts"),
|
|
150
|
-
});
|
|
151
|
-
},
|
|
152
|
-
});
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=gi-store.js.map
|
package/dist/gi-store.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gi-store.js","sourceRoot":"","sources":["../src/gi-store.ts"],"names":[],"mappings":"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"}
|
package/dist/gir/boxed.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { type GirField } from "./field.js";
|
|
2
|
-
import { type GirFunction } from "./function.js";
|
|
3
|
-
import { type RawNode } from "./parse.js";
|
|
4
|
-
/**
|
|
5
|
-
* Discriminator for the different shapes a `<record>` (or `<glib:boxed>`)
|
|
6
|
-
* can take in GIR.
|
|
7
|
-
*
|
|
8
|
-
* - `boxed` — a record with a `glib:get-type`; registers as a GObject boxed.
|
|
9
|
-
* - `plain-struct` — a record without GType; passed by pointer using
|
|
10
|
-
* `t.struct(ownership)`.
|
|
11
|
-
* - `vtable` — a record carrying `glib:is-gtype-struct-for`; its fields are
|
|
12
|
-
* function pointers consumed by the class struct registration.
|
|
13
|
-
* - `glib-boxed` — a top-level `<glib:boxed>` element with no struct body.
|
|
14
|
-
*/
|
|
15
|
-
export type BoxedKind = "boxed" | "plain-struct" | "vtable" | "glib-boxed";
|
|
16
|
-
/** A `<record>`, `<glib:boxed>`, or `<union>` declaration. */
|
|
17
|
-
export type GirBoxed = {
|
|
18
|
-
readonly kind: BoxedKind;
|
|
19
|
-
/** Local name inside the namespace (no prefix). */
|
|
20
|
-
readonly name: string;
|
|
21
|
-
readonly cType: string | undefined;
|
|
22
|
-
/** GLib type name (e.g. `"GtkBorder"`); absent on plain structs. */
|
|
23
|
-
readonly glibTypeName: string | undefined;
|
|
24
|
-
/** GLib get-type C symbol; absent on plain structs. */
|
|
25
|
-
readonly glibGetType: string | undefined;
|
|
26
|
-
/** Class name this record is the vtable for (`glib:is-gtype-struct-for`). */
|
|
27
|
-
readonly glibIsGTypeStructFor: string | undefined;
|
|
28
|
-
/** GLib ref/unref/etc. function names on fundamentals. */
|
|
29
|
-
readonly glibRefFunc: string | undefined;
|
|
30
|
-
readonly glibUnrefFunc: string | undefined;
|
|
31
|
-
readonly glibSetValueFunc: string | undefined;
|
|
32
|
-
readonly glibGetValueFunc: string | undefined;
|
|
33
|
-
/** `copy-function`/`free-function` — the ref/unref pair for records that are reference-counted rather than g_boxed-copyable. */
|
|
34
|
-
readonly copyFunc: string | undefined;
|
|
35
|
-
readonly freeFunc: string | undefined;
|
|
36
|
-
/** `disguised="1"` — record has no introspectable fields. */
|
|
37
|
-
readonly disguised: boolean;
|
|
38
|
-
/** `opaque="1"` — record is opaque to callers. */
|
|
39
|
-
readonly opaque: boolean;
|
|
40
|
-
readonly introspectable: boolean;
|
|
41
|
-
readonly fields: readonly GirField[];
|
|
42
|
-
readonly methods: readonly GirFunction[];
|
|
43
|
-
readonly constructors: readonly GirFunction[];
|
|
44
|
-
readonly functions: readonly GirFunction[];
|
|
45
|
-
/** `true` when the source element was `<union>` rather than `<record>`. */
|
|
46
|
-
readonly isUnion: boolean;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Builds a {@link GirBoxed} from a `<record>`, `<union>`, or `<glib:boxed>` element.
|
|
50
|
-
*
|
|
51
|
-
* @param node - The XML element
|
|
52
|
-
* @param kind - The kind inferred from element name and attribute set
|
|
53
|
-
* @param isUnion - `true` when the source element was `<union>`
|
|
54
|
-
*/
|
|
55
|
-
export declare const boxedFromNode: (node: RawNode, kind: BoxedKind, isUnion: boolean) => GirBoxed;
|
|
56
|
-
/**
|
|
57
|
-
* Decides which {@link BoxedKind} applies to a `<record>` or `<union>` element.
|
|
58
|
-
*
|
|
59
|
-
* Vtable records (`glib:is-gtype-struct-for`) take precedence; otherwise a
|
|
60
|
-
* `glib:get-type` flips the record to a registered boxed; otherwise it's a
|
|
61
|
-
* plain struct.
|
|
62
|
-
*
|
|
63
|
-
* @param node - The `<record>` or `<union>` element
|
|
64
|
-
*/
|
|
65
|
-
export declare const boxedKind: (node: RawNode) => BoxedKind;
|
|
66
|
-
//# sourceMappingURL=boxed.d.ts.map
|
package/dist/gir/boxed.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boxed.d.ts","sourceRoot":"","sources":["../../src/gir/boxed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAmD,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE3F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE3E,8DAA8D;AAC9D,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,6EAA6E;IAC7E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,gIAAgI;IAChI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAC;IAC3C,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,EAAE,MAAM,SAAS,EAAE,SAAS,OAAO,KAAG,QAqB/E,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,OAAO,KAAG,SAIzC,CAAC"}
|
package/dist/gir/boxed.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { fieldFromNode } from "./field.js";
|
|
2
|
-
import { functionFromNode } from "./function.js";
|
|
3
|
-
import { attr, attrBool, childrenOf, GIR_CONSTRUCTOR_TAG } from "./parse.js";
|
|
4
|
-
/**
|
|
5
|
-
* Builds a {@link GirBoxed} from a `<record>`, `<union>`, or `<glib:boxed>` element.
|
|
6
|
-
*
|
|
7
|
-
* @param node - The XML element
|
|
8
|
-
* @param kind - The kind inferred from element name and attribute set
|
|
9
|
-
* @param isUnion - `true` when the source element was `<union>`
|
|
10
|
-
*/
|
|
11
|
-
export const boxedFromNode = (node, kind, isUnion) => ({
|
|
12
|
-
kind,
|
|
13
|
-
name: attr(node, "name") ?? attr(node, "glib:name") ?? "",
|
|
14
|
-
cType: attr(node, "c:type"),
|
|
15
|
-
glibTypeName: attr(node, "glib:type-name"),
|
|
16
|
-
glibGetType: attr(node, "glib:get-type"),
|
|
17
|
-
glibIsGTypeStructFor: attr(node, "glib:is-gtype-struct-for"),
|
|
18
|
-
glibRefFunc: attr(node, "glib:ref-func"),
|
|
19
|
-
glibUnrefFunc: attr(node, "glib:unref-func"),
|
|
20
|
-
glibSetValueFunc: attr(node, "glib:set-value-func"),
|
|
21
|
-
glibGetValueFunc: attr(node, "glib:get-value-func"),
|
|
22
|
-
copyFunc: attr(node, "copy-function"),
|
|
23
|
-
freeFunc: attr(node, "free-function"),
|
|
24
|
-
disguised: attrBool(node, "disguised"),
|
|
25
|
-
opaque: attrBool(node, "opaque"),
|
|
26
|
-
introspectable: attr(node, "introspectable") !== "0",
|
|
27
|
-
fields: childrenOf(node, "field").map(fieldFromNode),
|
|
28
|
-
methods: childrenOf(node, "method").map((method) => functionFromNode(method, "method")),
|
|
29
|
-
constructors: childrenOf(node, GIR_CONSTRUCTOR_TAG).map((ctor) => functionFromNode(ctor, "constructor")),
|
|
30
|
-
functions: childrenOf(node, "function").map((function_) => functionFromNode(function_, "function")),
|
|
31
|
-
isUnion,
|
|
32
|
-
});
|
|
33
|
-
/**
|
|
34
|
-
* Decides which {@link BoxedKind} applies to a `<record>` or `<union>` element.
|
|
35
|
-
*
|
|
36
|
-
* Vtable records (`glib:is-gtype-struct-for`) take precedence; otherwise a
|
|
37
|
-
* `glib:get-type` flips the record to a registered boxed; otherwise it's a
|
|
38
|
-
* plain struct.
|
|
39
|
-
*
|
|
40
|
-
* @param node - The `<record>` or `<union>` element
|
|
41
|
-
*/
|
|
42
|
-
export const boxedKind = (node) => {
|
|
43
|
-
if (attr(node, "glib:is-gtype-struct-for") !== undefined)
|
|
44
|
-
return "vtable";
|
|
45
|
-
if (attr(node, "glib:get-type") !== undefined)
|
|
46
|
-
return "boxed";
|
|
47
|
-
return "plain-struct";
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=boxed.js.map
|
package/dist/gir/boxed.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boxed.js","sourceRoot":"","sources":["../../src/gir/boxed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAgB,MAAM,YAAY,CAAC;AAgD3F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAa,EAAE,IAAe,EAAE,OAAgB,EAAY,EAAE,CAAC,CAAC;IAC1F,IAAI;IACJ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;IACzD,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC3B,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAC1C,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;IACxC,oBAAoB,EAAE,IAAI,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC5D,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;IACxC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAC5C,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACnD,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACnD,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;IACrC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;IACrC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IACtC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChC,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,GAAG;IACpD,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;IACpD,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvF,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxG,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnG,OAAO;CACV,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAa,EAAa,EAAE;IAClD,IAAI,IAAI,CAAC,IAAI,EAAE,0BAA0B,CAAC,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC1E,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC9D,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { GirClass } from "./class.js";
|
|
2
|
-
import type { GirRepository } from "./repository.js";
|
|
3
|
-
/**
|
|
4
|
-
* Splits a possibly cross-namespace GIR identifier (e.g. `"Gtk.Widget"`) into
|
|
5
|
-
* its namespace and local name.
|
|
6
|
-
*
|
|
7
|
-
* Identifiers without a dot are resolved against `defaultNamespace`. This
|
|
8
|
-
* mirrors the GIR convention where same-namespace references omit the
|
|
9
|
-
* namespace prefix.
|
|
10
|
-
*
|
|
11
|
-
* @param qualified - The GIR identifier as it appears in `<type>` / `parent`
|
|
12
|
-
* @param defaultNamespace - The namespace to assume when no prefix is present
|
|
13
|
-
*/
|
|
14
|
-
export declare const splitQualifiedName: (qualified: string, defaultNamespace: string) => {
|
|
15
|
-
readonly namespaceName: string;
|
|
16
|
-
readonly typeName: string;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* A class or interface together with the namespace it was resolved through.
|
|
20
|
-
*/
|
|
21
|
-
export type ResolvedQualifiedClass = {
|
|
22
|
-
readonly klass: GirClass;
|
|
23
|
-
readonly namespaceName: string;
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Resolves a possibly cross-namespace identifier to its `class` or `interface`
|
|
27
|
-
* entry plus the namespace that declares it.
|
|
28
|
-
*
|
|
29
|
-
* Returns `undefined` when the identifier resolves to a different kind of GIR
|
|
30
|
-
* entity (boxed, enum, …) or cannot be resolved at all.
|
|
31
|
-
*
|
|
32
|
-
* @param repository - The repository to query
|
|
33
|
-
* @param qualified - The GIR identifier (e.g. `"Gtk.Widget"`)
|
|
34
|
-
* @param defaultNamespace - Namespace to assume for unqualified identifiers
|
|
35
|
-
*/
|
|
36
|
-
export declare const resolveQualifiedClass: (repository: GirRepository, qualified: string, defaultNamespace: string) => ResolvedQualifiedClass | undefined;
|
|
37
|
-
//# sourceMappingURL=qualified-name.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qualified-name.d.ts","sourceRoot":"","sources":["../../src/gir/qualified-name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAC3B,WAAW,MAAM,EACjB,kBAAkB,MAAM,KACzB;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAM7D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAC9B,YAAY,aAAa,EACzB,WAAW,MAAM,EACjB,kBAAkB,MAAM,KACzB,sBAAsB,GAAG,SAM3B,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Splits a possibly cross-namespace GIR identifier (e.g. `"Gtk.Widget"`) into
|
|
3
|
-
* its namespace and local name.
|
|
4
|
-
*
|
|
5
|
-
* Identifiers without a dot are resolved against `defaultNamespace`. This
|
|
6
|
-
* mirrors the GIR convention where same-namespace references omit the
|
|
7
|
-
* namespace prefix.
|
|
8
|
-
*
|
|
9
|
-
* @param qualified - The GIR identifier as it appears in `<type>` / `parent`
|
|
10
|
-
* @param defaultNamespace - The namespace to assume when no prefix is present
|
|
11
|
-
*/
|
|
12
|
-
export const splitQualifiedName = (qualified, defaultNamespace) => {
|
|
13
|
-
const dot = qualified.indexOf(".");
|
|
14
|
-
if (dot === -1) {
|
|
15
|
-
return { namespaceName: defaultNamespace, typeName: qualified };
|
|
16
|
-
}
|
|
17
|
-
return { namespaceName: qualified.slice(0, dot), typeName: qualified.slice(dot + 1) };
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Resolves a possibly cross-namespace identifier to its `class` or `interface`
|
|
21
|
-
* entry plus the namespace that declares it.
|
|
22
|
-
*
|
|
23
|
-
* Returns `undefined` when the identifier resolves to a different kind of GIR
|
|
24
|
-
* entity (boxed, enum, …) or cannot be resolved at all.
|
|
25
|
-
*
|
|
26
|
-
* @param repository - The repository to query
|
|
27
|
-
* @param qualified - The GIR identifier (e.g. `"Gtk.Widget"`)
|
|
28
|
-
* @param defaultNamespace - Namespace to assume for unqualified identifiers
|
|
29
|
-
*/
|
|
30
|
-
export const resolveQualifiedClass = (repository, qualified, defaultNamespace) => {
|
|
31
|
-
const { namespaceName, typeName } = splitQualifiedName(qualified, defaultNamespace);
|
|
32
|
-
const resolved = repository.resolveNamed(namespaceName, typeName);
|
|
33
|
-
if (resolved === undefined)
|
|
34
|
-
return undefined;
|
|
35
|
-
if (resolved.kind !== "class" && resolved.kind !== "interface")
|
|
36
|
-
return undefined;
|
|
37
|
-
return { klass: resolved.value, namespaceName: resolved.namespace.name };
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=qualified-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qualified-name.js","sourceRoot":"","sources":["../../src/gir/qualified-name.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,SAAiB,EACjB,gBAAwB,EACqC,EAAE;IAC/D,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AAC1F,CAAC,CAAC;AAUF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,UAAyB,EACzB,SAAiB,EACjB,gBAAwB,EACU,EAAE;IACpC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACjF,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC,CAAC"}
|
package/dist/gir/qualify.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { GirFunction } from "./function.js";
|
|
2
|
-
import type { GirTypeRef } from "./type-ref.js";
|
|
3
|
-
/**
|
|
4
|
-
* Stamps a default namespace onto an unqualified `named` reference and
|
|
5
|
-
* recurses into composite (`array`, `list`, `hashtable`) references.
|
|
6
|
-
*
|
|
7
|
-
* GIR omits the namespace when a reference points to a sibling in the same
|
|
8
|
-
* file. When writers walk a class hierarchy across namespaces, the parent's
|
|
9
|
-
* references must be qualified with the parent's namespace before they can be
|
|
10
|
-
* resolved against the repository.
|
|
11
|
-
*
|
|
12
|
-
* Returns `undefined` for an `undefined` input so callers can pass through
|
|
13
|
-
* void return types unchanged.
|
|
14
|
-
*
|
|
15
|
-
* @param ref - The reference to qualify, or `undefined`
|
|
16
|
-
* @param defaultNamespace - The namespace to stamp on unqualified refs
|
|
17
|
-
*/
|
|
18
|
-
export declare const qualifyTypeRef: (ref: GirTypeRef | undefined, defaultNamespace: string) => GirTypeRef | undefined;
|
|
19
|
-
/**
|
|
20
|
-
* Re-roots every type reference of a callable to `defaultNamespace`.
|
|
21
|
-
*
|
|
22
|
-
* Interface methods are flattened onto each implementing class, but their
|
|
23
|
-
* GIR type references are unqualified relative to the interface's own
|
|
24
|
-
* namespace. Stamping the interface namespace onto the instance parameter,
|
|
25
|
-
* each regular parameter, and the return value lets the class writer resolve
|
|
26
|
-
* and import those references as if the method had been authored on the class.
|
|
27
|
-
*
|
|
28
|
-
* @param fn - The callable whose references to qualify
|
|
29
|
-
* @param defaultNamespace - The namespace the callable's references belong to
|
|
30
|
-
*/
|
|
31
|
-
export declare const qualifyFunction: (fn: GirFunction, defaultNamespace: string) => GirFunction;
|
|
32
|
-
//# sourceMappingURL=qualify.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qualify.d.ts","sourceRoot":"","sources":["../../src/gir/qualify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,UAAU,GAAG,SAAS,EAAE,kBAAkB,MAAM,KAAG,UAAU,GAAG,SAoBnG,CAAC;AAOF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,IAAI,WAAW,EAAE,kBAAkB,MAAM,KAAG,WAK1E,CAAC"}
|
package/dist/gir/qualify.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Stamps a default namespace onto an unqualified `named` reference and
|
|
3
|
-
* recurses into composite (`array`, `list`, `hashtable`) references.
|
|
4
|
-
*
|
|
5
|
-
* GIR omits the namespace when a reference points to a sibling in the same
|
|
6
|
-
* file. When writers walk a class hierarchy across namespaces, the parent's
|
|
7
|
-
* references must be qualified with the parent's namespace before they can be
|
|
8
|
-
* resolved against the repository.
|
|
9
|
-
*
|
|
10
|
-
* Returns `undefined` for an `undefined` input so callers can pass through
|
|
11
|
-
* void return types unchanged.
|
|
12
|
-
*
|
|
13
|
-
* @param ref - The reference to qualify, or `undefined`
|
|
14
|
-
* @param defaultNamespace - The namespace to stamp on unqualified refs
|
|
15
|
-
*/
|
|
16
|
-
export const qualifyTypeRef = (ref, defaultNamespace) => {
|
|
17
|
-
if (ref === undefined)
|
|
18
|
-
return undefined;
|
|
19
|
-
switch (ref.kind) {
|
|
20
|
-
case "named":
|
|
21
|
-
return { ...ref, namespaceName: ref.namespaceName ?? defaultNamespace };
|
|
22
|
-
case "array":
|
|
23
|
-
return { ...ref, element: qualifyTypeRef(ref.element, defaultNamespace) ?? ref.element };
|
|
24
|
-
case "list":
|
|
25
|
-
return { ...ref, element: qualifyTypeRef(ref.element, defaultNamespace) ?? ref.element };
|
|
26
|
-
case "hashtable":
|
|
27
|
-
return {
|
|
28
|
-
...ref,
|
|
29
|
-
key: qualifyTypeRef(ref.key, defaultNamespace) ?? ref.key,
|
|
30
|
-
value: qualifyTypeRef(ref.value, defaultNamespace) ?? ref.value,
|
|
31
|
-
};
|
|
32
|
-
case "primitive":
|
|
33
|
-
case "callback":
|
|
34
|
-
case "varargs":
|
|
35
|
-
return ref;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
const qualifyParameter = (parameter, defaultNamespace) => ({
|
|
39
|
-
...parameter,
|
|
40
|
-
type: qualifyTypeRef(parameter.type, defaultNamespace),
|
|
41
|
-
});
|
|
42
|
-
/**
|
|
43
|
-
* Re-roots every type reference of a callable to `defaultNamespace`.
|
|
44
|
-
*
|
|
45
|
-
* Interface methods are flattened onto each implementing class, but their
|
|
46
|
-
* GIR type references are unqualified relative to the interface's own
|
|
47
|
-
* namespace. Stamping the interface namespace onto the instance parameter,
|
|
48
|
-
* each regular parameter, and the return value lets the class writer resolve
|
|
49
|
-
* and import those references as if the method had been authored on the class.
|
|
50
|
-
*
|
|
51
|
-
* @param fn - The callable whose references to qualify
|
|
52
|
-
* @param defaultNamespace - The namespace the callable's references belong to
|
|
53
|
-
*/
|
|
54
|
-
export const qualifyFunction = (fn, defaultNamespace) => ({
|
|
55
|
-
...fn,
|
|
56
|
-
instance: fn.instance === undefined ? undefined : qualifyParameter(fn.instance, defaultNamespace),
|
|
57
|
-
parameters: fn.parameters.map((parameter) => qualifyParameter(parameter, defaultNamespace)),
|
|
58
|
-
returnValue: { ...fn.returnValue, type: qualifyTypeRef(fn.returnValue.type, defaultNamespace) },
|
|
59
|
-
});
|
|
60
|
-
//# sourceMappingURL=qualify.js.map
|
package/dist/gir/qualify.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"qualify.js","sourceRoot":"","sources":["../../src/gir/qualify.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAA2B,EAAE,gBAAwB,EAA0B,EAAE;IAC5G,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,OAAO;YACR,OAAO,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,gBAAgB,EAAE,CAAC;QAC5E,KAAK,OAAO;YACR,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC7F,KAAK,MAAM;YACP,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC7F,KAAK,WAAW;YACZ,OAAO;gBACH,GAAG,GAAG;gBACN,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,GAAG,CAAC,GAAG;gBACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,GAAG,CAAC,KAAK;aAClE,CAAC;QACN,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;IACnB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,SAAuB,EAAE,gBAAwB,EAAgB,EAAE,CAAC,CAAC;IAC3F,GAAG,SAAS;IACZ,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACzD,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,gBAAwB,EAAe,EAAE,CAAC,CAAC;IACxF,GAAG,EAAE;IACL,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACjG,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC3F,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;CAClG,CAAC,CAAC"}
|