1 line
7.8 KiB
Plaintext
1 line
7.8 KiB
Plaintext
|
{"version":3,"file":"DocNodeManager.js","sourceRoot":"","sources":["../../src/configuration/DocNodeManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { DocNode } from '../nodes/DocNode';\r\nimport { StringChecks } from '../parser/StringChecks';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport type DocNodeConstructor = new (...args: any[]) => DocNode;\r\n\r\nexport interface IDocNodeDefinition {\r\n docNodeKind: string;\r\n constructor: DocNodeConstructor;\r\n}\r\n\r\ninterface IRegisteredDocNodeDefinition {\r\n docNodeKind: string;\r\n constructor: DocNodeConstructor;\r\n packageName: string;\r\n allowedChildKinds: Set<string>;\r\n}\r\n\r\n/**\r\n * Part of the {@link TSDocConfiguration} object.\r\n *\r\n * @remarks\r\n * If you define your own custom subclasses of `DocNode`, they must be registered with the `DocNodeManager`.\r\n * Use {@link DocNodeManager.registerAllowableChildren} to specify which {@link DocNodeContainer} subclasses\r\n * are allowed to contain your nodes.\r\n */\r\nexport class DocNodeManager {\r\n // Matches an ASCII TypeScript-style identifier.\r\n //\r\n // Example: \"_myIdentifier99\"\r\n private static readonly _nodeKindRegExp: RegExp = /^[_a-z][_a-z0-9]*$/i;\r\n\r\n private readonly _docNodeDefinitionsByKind: Map<string, IRegisteredDocNodeDefinition> = new Map<\r\n string,\r\n IRegisteredDocNodeDefinition\r\n >();\r\n private readonly _docNodeDefinitionsByConstructor: Map<\r\n DocNodeConstructor,\r\n IRegisteredDocNodeDefinition\r\n > = new Map<DocNodeConstructor, IRegisteredDocNodeDefinition>();\r\n\r\n /**\r\n * Registers a list of {@link IDocNodeDefinition} objects to be used with the associated\r\n * {@link TSDocConfigurati
|