Package Exports
- @webdoc/model
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@webdoc/model) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@webdoc/model
This package is the API for editing and querying in-memory documentation tree models. @webdoc/types defines the node structure.
Installation 📦
This package is usually a dependency of templates and other webdoc packages.
npm install @webdoc/modelUsage 🗞️
import * as model from '@webdoc/model';Constructing and editing documents
const entity = model.createDoc(
"DocumentedEntity",
"ClassDoc",
{
"description": "This is a programmatically created document!",
}
);
const entityNs = model.doc("Documentation.Entities", documentTree);
model.addChildDoc(entity, entityNs);@webdoc/model exports helper functions for creating and searching documents and mounting them into document trees.
Data types
model.createFunctionType(
[model.createSimpleKeywordType("Promise")], // params
model.createSimpleKeywordType("boolean"), // returns
);@webdoc/model exports helper functions for creating and joining data types. The DataType type is defined in @webdoc/types.
Querying
// Gets all the methods named "generic" in DocumentedEntity. Each signature of the method has a separate document. The
// # operator excludes any static "generic"-named methods.
const genericSignatures = model.query("Documentation.Entities.DocumentedEntity#generic", documentTree);@webdoc/model exports a query engine for its document path language.
Runtime type-checking
const isInstantiable = model.isClass(doc) || model.isInterface(doc);@webdoc/model exports helper functions for checking the types of document passed.