Comments (3)
Unfortunately, I think this is probably under the category of known issue. typedoc
only supports limited link resolution, despite the tsdoc spec generally supporting qualified links. This is also partially a problem with the way d3-dag is structured. It's both a modular library that anyone can use as a typescript project, hence the goal to document and export internal things, but it's also a front end library with only one entry point index.ts
. This structure isn't good for typedoc.
As I see it, there are three solutions:
- wait until typedoc fixes this - it's been years so maybe not the best option
- rename the internal types to be unambiguous - I dislike this because it's technically breaking, although only to people using the ES6 syntax, it's also more verbose, but maybe that's not a bad thing. I'm leaning towards this as the best option, that way I don't have to rename them at export and it solves this problem.
- link to the unambiguous export names - this will also fix it, but creates a two link problem where you have to click once to get to the exported name, and then again to the internal definition, which isn't great...
I have a few other projects I'm working on that are a little higher priority for me, but I'm planning to put some more cycles here soon, particularly if you end up having comments on interactive dags, because it would be nice to shore up that in terms of the api. If I do that, it probably makes sense to break this internal api as well.
from d3-dag.
Ah, I see. Thanks for the explanation!
Just to confirm, is this because typedoc is using step 4 mentioned here to find the name?
The second solution looks good. Maybe the third one isn't so bad either.
In my opinion, as a beginner, it's helpful to know what the exported name is. Most of the time autocomplete helps find the exported name (e.g. when you want to use SimplexOperator
editor autocomplete suggests "layeringSimplex" as you're typing "simplex" while trying to use) but it might be okay to have the first click go to the exported name.
That's just my perspective though.
I'll get back to you regarding interactive dags in that thread. Just been doing some reading about that.
Thanks for clarifying this issue. Please feel free to close it whenever you'd like.
from d3-dag.
Related Issues (20)
- Basic TypeScript type check error HOT 6
- Tips for writing my own layering HOT 2
- General question about node ordering HOT 2
- Specific key order appears to cause decrossOpt to hang HOT 4
- Improve d3-dag for interactive use HOT 29
- Cleanly handling cycles in input graphs HOT 16
- Individual edge verticality HOT 3
- Webpack error during build : Critical dependency: the request of a dependency is an expression HOT 9
- Connect data format has no way for specifying node data in resulting dag HOT 5
- Expand d3-dag to handle multiple paths from parent->child HOT 4
- Dynamic nodeSize? HOT 1
- TS, export SugiNode<NodeDatum = unknown, LinkDatum = unknown> ? HOT 3
- TS Sugestion(?) HOT 4
- elkjs, external layout algorithms? HOT 1
- is it possible to establish node order explicitly in grid? HOT 8
- Support for TypeScript <4.5
- How to extend DagNode in vanilla js? HOT 6
- Error: size of dag to decrossOpt is too large and will likely crash instead of complete, enable "large" grahps to run anyway HOT 9
- Layout direction HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d3-dag.