You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import*aslangfrom"lib/core.lang";import*asbindingfrom"lib/binding";import*aseventsfrom"lib/core.events";import*ascompositionfrom"lib/core.composition";importdiagnostics= require("lib/core.diagnostics");import*ascommandsfrom"lib/core.commands";importhtml= require("lib/core.html");import*asethfrom"lib/core.eth";export{lang,binding,events,composition,diagnostics,commands,html,eth};import{uiascoreui,interopascoreinterop}from"core";exportletui: typeofcoreui=<any>{Part: Part,StatefulPart: StatefulPart,Component: Component,View: View};exportnamespaceui{}// class `Application` refers to `interop`, we have to declare itexportdeclareletinterop: typeofcoreinterop;exportdeclarenamespaceinterop{}exportimportcreateCommand=commands.createCommand;import{isHtml,SafeHtml,safeHtml}from"lib/formatters";export{isHtml,SafeHtml,safeHtml};
So it's expected that core module to contain:
nested modules lang, binding, events, composition, diagnostics, commands, html, eth
ui submodule with fields of declared "core.ui" namespace - not sure here what should be in doc: declared fields (see below) or actually assigned (with classes Part, StatefulPart, Component, View), I think the former
interop submodule with fields of declared "core.interop" namespace
function createCommand
isHtml, SafeHtml, safeHtml
There're declare module "core.interop" and declare module "core.ui" in core.all.d.ts.
Unfortunately almost nothing of the mentioned elements got into doc.
There're two submodules/namespace in doc - ui and interop, but they are empty.
There're indeed global modules "core.lang", "core.bindining" and so on, but it's not the same as exported values in core right. Because that export { lang } in core.ts means that I can get object from module's filed core.lang (even in js), where core is import core = require("core").
This is not all. I have lots of module with a single exported class like:
class ObjectEditor {
}
export = ObjectEditor;
but it's common practice to include interfaces for that class inside namespace:
That ObjectEditor.Options can be used everywhere where module with ObjectEditor class imported. But TypeDoc completely ignores such interfaces (inside exported namespaces).
The text was updated successfully, but these errors were encountered:
From skimming your issue, I think most of the problems are related to #472. Currently, namespace merging does not work well. Some design work is definitely needed.
but there's other problems, why for example this function is ignored?
I believe this is because TypeDoc doesn't handle ImportEqualsDeclaration nodes, that's a whole other issue though. (I also don't think it should be used, import <name> = is used when using require in TS sources, which isn't exactly encouraged anymore, especially now that TS has a helper to automatically convert files to ES modules).
Closing in favor of #712, #801 should fix the missing symbols once merged.
Given a ts module (file), let's call it "core.ts"
So it's expected that
core
module to contain:lang
,binding
,events
,composition
,diagnostics
,commands
,html
,eth
ui
submodule with fields of declared "core.ui" namespace - not sure here what should be in doc: declared fields (see below) or actually assigned (with classes Part, StatefulPart, Component, View), I think the formerinterop
submodule with fields of declared "core.interop" namespacecreateCommand
There're
declare module "core.interop"
anddeclare module "core.ui"
incore.all.d.ts
.Unfortunately almost nothing of the mentioned elements got into doc.
There're two submodules/namespace in doc -
ui
andinterop
, but they are empty.There're indeed global modules "core.lang", "core.bindining" and so on, but it's not the same as exported values in
core
right. Because thatexport { lang }
incore.ts
means that I can get object from module's filedcore.lang
(even in js), wherecore
isimport core = require("core")
.This is not all. I have lots of module with a single exported class like:
but it's common practice to include interfaces for that class inside namespace:
That
ObjectEditor.Options
can be used everywhere where module with ObjectEditor class imported. But TypeDoc completely ignores such interfaces (inside exported namespaces).The text was updated successfully, but these errors were encountered: