JXA-userland / JXA

JavaScript for Automation(JXA) packages for TypeScript/Node.js.
MIT License
417 stars 21 forks source link

sdef-to-dts is missing children elements #10

Open modest opened 5 years ago

modest commented 5 years ago

I'm not an expert in sdef or the underlying APIs here, but children elements of classes are a pretty big gap in the generated type definitions.

For example, the System Events application (Application('System Events')) has at least 4 defined child elements:

screen shot 2019-01-06 at 13 04 52

In most (all?) cases, these are accessible in at least 3 ways:

Application('System Events').processes(); // returns array
Application('System Events').processes['TextEdit']; // alias for processes.byName('TextEdit')
Application('System Events').processes[0]; // alias for processes.at(0)

If the generated types just included these methods for accessing children, it would make this 1000% more useful for UI automation. System Events relies heavily on child elements.

Thanks!

modest commented 5 years ago

If only we could figure out the function signature of the elusive parameterTypeForNameInCommands(), the translated definitions could be obtained within their own execution environment...