diff --git a/lib/Config.js.map b/lib/Config.js.map index 7ea9ecf..79ea17a 100644 --- a/lib/Config.js.map +++ b/lib/Config.js.map @@ -1 +1 @@ -{"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/GulpTask.js b/lib/GulpTask.js index 30c677e..696e6fc 100644 --- a/lib/GulpTask.js +++ b/lib/GulpTask.js @@ -27,29 +27,18 @@ function cliFeedback(colorOrMessage, message) { } } exports.config = Config; -function task(done) { - cliFeedback('green', 'Start creating TypeScript declarations...'); - return Promise - .all([]) - .then(() => Utilities - .load(Config.treeOptionsJsonFile) - .then(OptionsParser.parse) - .then(OptionsGenerator.generate)) - .then(optionsNamespace => Utilities - .load(Config.treeNamespaceJsonFile) - .then(NamespaceParser.parse) - .then(moduleNodes => { +async function task(done) { + try { + cliFeedback('green', 'Start creating TypeScript declarations...'); + let declarationsModules = await OptionsGenerator.generate(await OptionsParser.parse(await Utilities.load(Config.treeOptionsJsonFile))); cliFeedback('green', 'Creating declarations...'); - return NamespaceGenerator.generate(moduleNodes, optionsNamespace); - })) - .then(declarationsModules => { + declarationsModules = await NamespaceGenerator.generate(await NamespaceParser.parse(await Utilities.load(Config.treeNamespaceJsonFile)), declarationsModules); cliFeedback('green', 'Saving declarations...'); - return declarationsModules; - }) - .then(NamespaceGenerator.save) - .then(StaticGenerator.save) - .then(() => cliFeedback('green', 'Finished creating TypeScript declarations.')) - .catch(error => { + await NamespaceGenerator.save(declarationsModules); + await StaticGenerator.save(); + cliFeedback('green', 'Finished creating TypeScript declarations.'); + } + catch (error) { if (error) { cliFeedback('red', error.toString()); throw error; @@ -57,7 +46,7 @@ function task(done) { else { throw new Error('Unknown error'); } - }); + } } exports.task = task; //# sourceMappingURL=GulpTask.js.map \ No newline at end of file diff --git a/lib/GulpTask.js.map b/lib/GulpTask.js.map index b06fd59..5cded30 100644 --- a/lib/GulpTask.js.map +++ b/lib/GulpTask.js.map @@ -1 +1 @@ -{"version":3,"file":"GulpTask.js","sourceRoot":"","sources":["../src/GulpTask.ts"],"names":[],"mappings":";AAAA;;;;KAIK;;;AAEL,iCAAiC;AACjC,mCAAmC;AACnC,2DAA2D;AAC3D,qDAAqD;AACrD,uDAAuD;AACvD,iDAAiD;AACjD,qDAAqD;AACrD,yCAAyC;AAIzC,SAAS,WAAW,CAAE,cAAsB,EAAE,OAAgB;IAC1D,QAAQ,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE;QACnC;YACI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACT,OAAO,CAAC,IAAI,CAAE,MAAc,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,OAAO;KACd;AACL,CAAC;AAEY,QAAA,MAAM,GAAG,MAAM,CAAC;AAE7B,SAAgB,IAAI,CAAE,IAAc;IAEhC,WAAW,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IAElE,OAAO,OAAO;SACT,GAAG,CAAC,EAAE,CAAC;SACP,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS;SAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;SAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SACzB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACnC;SACA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS;SAC9B,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;SAClC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;SAC3B,IAAI,CAAC,WAAW,CAAC,EAAE;QAEhB,WAAW,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAEjD,OAAO,kBAAkB,CAAC,QAAQ,CAC9B,WAAW,EAAE,gBAAgB,CAChC,CAAC;IACN,CAAC,CAAC,CACL;SACA,IAAI,CAAC,mBAAmB,CAAC,EAAE;QAExB,WAAW,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAE/C,OAAO,mBAAmB,CAAC;IAC/B,CAAC,CAAC;SACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;SAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CACnB,OAAO,EACP,4CAA4C,CAC/C,CAAC;SACD,KAAK,CAAC,KAAK,CAAC,EAAE;QACX,IAAI,KAAK,EAAE;YACP,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrC,MAAM,KAAK,CAAC;SACf;aACI;YACD,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SACpC;IACL,CAAC,CAAC,CAAC;AACX,CAAC;AA5CD,oBA4CC"} \ No newline at end of file +{"version":3,"file":"GulpTask.js","sourceRoot":"","sources":["../src/GulpTask.ts"],"names":[],"mappings":";AAAA;;;;KAIK;;;AAEL,iCAAiC;AACjC,mCAAmC;AACnC,2DAA2D;AAC3D,qDAAqD;AACrD,uDAAuD;AACvD,iDAAiD;AACjD,qDAAqD;AACrD,yCAAyC;AAIzC,SAAS,WAAW,CAAE,cAAsB,EAAE,OAAgB;IAC1D,QAAQ,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC;YACI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACT,OAAO,CAAC,IAAI,CAAE,MAAc,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,OAAO;IACf,CAAC;AACL,CAAC;AAEY,QAAA,MAAM,GAAG,MAAM,CAAC;AAEtB,KAAK,UAAU,IAAI,CAAE,IAAc;IAEtC,IAAI,CAAC;QAED,WAAW,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;QAElE,IAAI,mBAAmB,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CACrD,MAAM,aAAa,CAAC,KAAK,CACrB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CACnD,CACJ,CAAC;QAEF,WAAW,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAEjD,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CACnD,MAAM,eAAe,CAAC,KAAK,CACvB,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CACrD,EACD,mBAAmB,CACtB,CAAC;QAGF,WAAW,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAE/C,MAAM,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnD,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;QAE7B,WAAW,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;IAEvE,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QAEX,IAAI,KAAK,EAAE,CAAC;YACR,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrC,MAAM,KAAK,CAAC;QAChB,CAAC;aACI,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;IAEL,CAAC;AAEL,CAAC;AA1CD,oBA0CC"} \ No newline at end of file diff --git a/lib/NamespaceGenerator.js b/lib/NamespaceGenerator.js index f77662f..e746595 100644 --- a/lib/NamespaceGenerator.js +++ b/lib/NamespaceGenerator.js @@ -20,64 +20,100 @@ const COPYRIGHT_HEADER = 'Copyright (c) Highsoft AS. All rights reserved.'; * Functions * * */ -function generate(moduleNodes, optionDeclarations) { +function generate(moduleNodes, declarationModules) { return new Promise((resolve, reject) => { - const declarationModules = {}; const globalsNamespace = new TSD.ModuleDeclaration('globals'); const globalsModule = Utilities.path(Utilities.parent(Config.mainModule), 'globals'); + const mainNamespace = declarationModules[Config.mainModule]; const referenceDictionary = Generator.referenceDictionary; if (Object.keys(referenceDictionary).length === 0) { - optionDeclarations - .getChildren() - .forEach(child => referenceDictionary[TSD.IDeclaration.extractTypeNames(child.fullName)[0]] = [child]); + let declarations; + for (const module in declarationModules) { + if (module === Config.mainModule) { + declarations = declarationModules[module].getChildren(); + } + else { + declarations = declarationModules[module] + .getChildren()[0].getChildren(); + } + for (const declaration of declarations) { + const name = TSD.IDeclaration + .extractTypeNames(declaration.fullName)[0]; + if (name.startsWith('Plot') || + (declaration instanceof TSD.InterfaceDeclaration && + declaration.types.includes('SeriesOptions'))) { + continue; + } + referenceDictionary[name] = [declaration]; + } + } + } + for (const moduleNode in moduleNodes) { + declarationModules[moduleNode] = new Generator(moduleNode, moduleNodes[moduleNode], globalsNamespace, mainNamespace).moduleNamespace; } - Object - .keys(moduleNodes) - .forEach(moduleNode => declarationModules[moduleNode] = new Generator(moduleNode, moduleNodes[moduleNode], globalsNamespace, optionDeclarations).moduleNamespace); declarationModules[globalsModule] = globalsNamespace; if (!declarationModules[Config.mainModule]) { reject(new Error('Main module missing: ' + Config.mainModule + '; ' + 'found only: ' + Object.keys(declarationModules).join(', '))); } - moveReferenceDeclarations(declarationModules[Config.mainModule], referenceDictionary); + moveReferenceDeclarations(declarationModules, referenceDictionary); resolve(declarationModules); }); } exports.generate = generate; -function moveReferenceDeclarations(mainNamespace, referenceDictionary) { - const _move = (declaration) => { +function moveReferenceDeclarations(declarationModules, referenceDictionary) { + const mainNamespace = declarationModules[Config.mainModule]; + const moveReferences = (declaration) => { const mainChildFullNames = mainNamespace.getChildrenNames(true); const mainFullName = mainNamespace.fullName; - declaration - .getReferencedTypes(true) - .filter(type => !!referenceDictionary[type]) - .forEach(type => referenceDictionary[type] - .filter(referenceDeclaration => referenceDeclaration.parent && - referenceDeclaration.parent !== mainNamespace && - referenceDeclaration.parent.fullName === mainFullName && - mainChildFullNames - .indexOf(referenceDeclaration.fullName) === -1) - .forEach(referenceDeclaration => { - const referenceParent = referenceDeclaration.parent; - if (!referenceParent) { - return; + const types = declaration.getReferencedTypes(true); + for (const type of types) { + if (!referenceDictionary[type]) { + continue; } - const mainDeclarationIDs = mainNamespace - .getChildren(referenceDeclaration.name) - .map(declaration => declaration.uniqueID); - const referenceDeclarations = referenceParent - .removeChild(referenceDeclaration.name) - .filter(declaration => mainDeclarationIDs - .indexOf(declaration.uniqueID) === -1); - mainNamespace - .addChildren(...referenceDeclarations); - referenceDeclarations - .forEach(_move); - })); + referenceDictionary[type] + .filter(referenceDeclaration => referenceDeclaration.parent && + referenceDeclaration.parent !== mainNamespace && + referenceDeclaration.parent.fullName === mainFullName && + mainChildFullNames + .indexOf(referenceDeclaration.fullName) === -1) + .forEach(referenceDeclaration => { + const referenceParent = referenceDeclaration.parent; + if (!referenceParent) { + return; + } + const mainDeclarationIDs = mainNamespace + .getChildren(referenceDeclaration.name) + .map(declaration => declaration.uniqueID); + const referenceDeclarations = referenceParent + .removeChild(referenceDeclaration.name) + .filter(declaration => mainDeclarationIDs + .indexOf(declaration.uniqueID) === -1); + mainNamespace + .addChildren(...referenceDeclarations); + referenceDeclarations + .forEach(moveReferences); + }); + } }; - mainNamespace - .getChildren() - .forEach(_move); + // Move references into main namespace to address circulars + for (const child of mainNamespace.getChildren()) { + moveReferences(child); + } + // Move references by series into main namespace to address circulars + for (const module in declarationModules) { + if (!module.includes('options')) { + continue; + } + for (const external of declarationModules[module].getChildren()) { + if (!(external instanceof TSD.ExternalModuleDeclaration)) { + continue; + } + for (const child of external.getChildren()) { + moveReferences(child); + } + } + } } function save(declarationsModules) { const mainModuleRegExp = /(".*\/[A-z]+)(";|" {)/g; @@ -200,9 +236,9 @@ class Generator { * Constructor * * */ - constructor(modulePath, moduleNode, globalsNamespace, optionsNamespace) { + constructor(modulePath, moduleNode, globalsNamespace, mainNamespace) { this._globalsNamespace = globalsNamespace; - this._mainNamespace = optionsNamespace; + this._mainNamespace = mainNamespace; this._modulePath = modulePath; if (this.modulePath === Config.mainModule) { this._isMainModule = true; diff --git a/lib/NamespaceGenerator.js.map b/lib/NamespaceGenerator.js.map index 29823ec..b7dc2f5 100644 --- a/lib/NamespaceGenerator.js.map +++ b/lib/NamespaceGenerator.js.map @@ -1 +1 @@ -{"version":3,"file":"NamespaceGenerator.js","sourceRoot":"","sources":["../src/NamespaceGenerator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"NamespaceGenerator.js","sourceRoot":"","sources":["../src/NamespaceGenerator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/NamespaceParser.js.map b/lib/NamespaceParser.js.map index 731df92..f0da627 100644 --- a/lib/NamespaceParser.js.map +++ b/lib/NamespaceParser.js.map @@ -1 +1 @@ -{"version":3,"file":"NamespaceParser.js","sourceRoot":"","sources":["../src/NamespaceParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"NamespaceParser.js","sourceRoot":"","sources":["../src/NamespaceParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/OptionsGenerator.js b/lib/OptionsGenerator.js index 7987ee8..6f82230 100644 --- a/lib/OptionsGenerator.js +++ b/lib/OptionsGenerator.js @@ -11,25 +11,71 @@ const TSD = require("./TypeScriptDeclarations"); const Utilities = require("./Utilities"); /* * * - * Functions + * Constants * * */ -function generate(optionsNode) { - return new Promise(resolve => resolve((new Generator(optionsNode)).namespace)); -} -exports.generate = generate; +const ANY_TYPE = /(^|[\<\(\|])any([\|\)\>]|$)/; +const COPYRIGHT_HEADER = 'Copyright (c) Highsoft AS. All rights reserved.'; +const SERIES_NAME = /^Highcharts\.(?:Plot|Series)(([A-Z][a-z]+)(?:[A-Z][a-z]+)?)\w*Options$/; /* * * - * Constants + * Functions * * */ -const ANY_TYPE = /(^|[\<\(\|])any([\|\)\>]|$)/; +async function generate(optionsNode) { + var _a, _b; + const optionsNamespace = new OptionsGenerator(optionsNode).namespace; + const declarationModules = { + [Config.mainModule]: optionsNamespace + }; + const optionsPath = Utilities + .path(Utilities.parent(Config.mainModule), 'options'); + const seriesTypes = []; + for (const child of optionsNamespace.getChildren('PlotOptions')[0].getChildren()) { + seriesTypes.push(child.name); + } + let moduleImport; + let modulePath; + let name; + let type; + let type2; + for (const child of optionsNamespace.getChildren()) { + name = TSD.IDeclaration.extractTypeNames(child.fullName)[0]; + type = (((_a = name.match(SERIES_NAME)) === null || _a === void 0 ? void 0 : _a[1]) || '').toLowerCase(); + type2 = (((_b = name.match(SERIES_NAME)) === null || _b === void 0 ? void 0 : _b[2]) || '').toLowerCase(); + if (seriesTypes.includes(type) || seriesTypes.includes(type2)) { + if (!seriesTypes.includes(type)) { + type = type2; + } + modulePath = Utilities.path(optionsPath, type); + if (!declarationModules[modulePath]) { + declarationModules[modulePath] = new TSD.ModuleDeclaration(modulePath); + declarationModules[modulePath].imports.push('import * as Highcharts from "' + + Utilities.relative(modulePath, Config.mainModule, true) + + '";'); + declarationModules[modulePath] + .addChildren(new TSD.ExternalModuleDeclaration(Config.mainModule, Utilities.relative(modulePath, Config.mainModule, true))); + } + declarationModules[modulePath] + .getChildren()[0] + .addChildren(...optionsNamespace.removeChild(child.name)); + moduleImport = ('import "' + + Utilities.relative(Config.mainModule, modulePath, true) + + '";'); + if (!optionsNamespace.imports.includes(moduleImport)) { + optionsNamespace.imports.push(moduleImport); + } + } + } + return declarationModules; +} +exports.generate = generate; /* * * * Class * * */ -class Generator { +class OptionsGenerator { /* * * * Static Functions @@ -108,7 +154,7 @@ class Generator { if (sourceNode.doclet.access === 'private') { return undefined; } - let doclet = Generator.getNormalizedDoclet(sourceNode), name = Generator.getCamelCaseName(sourceNode.meta.fullname || sourceNode.meta.name || ''), declaration = new TSD.InterfaceDeclaration(sourceNode.doclet.declare || name), children = Utilities.Dictionary.values(sourceNode.children); + let doclet = OptionsGenerator.getNormalizedDoclet(sourceNode), name = OptionsGenerator.getCamelCaseName(sourceNode.meta.fullname || sourceNode.meta.name || ''), declaration = new TSD.InterfaceDeclaration(sourceNode.doclet.declare || name), children = Utilities.Dictionary.values(sourceNode.children); let existingChild = this.namespace.getChildren(declaration.name)[0]; if (existingChild instanceof TSD.InterfaceDeclaration) { declaration = existingChild; @@ -147,7 +193,7 @@ class Generator { .forEach(child => { let seriesDeclaration = this.generateSeriesTypeDeclaration(child, this.namespace); if (seriesDeclaration) { - Generator._series.push(seriesDeclaration.fullName); + OptionsGenerator._series.push(seriesDeclaration.fullName); } }); } @@ -179,7 +225,7 @@ class Generator { if (sourceNode.doclet.access === 'private') { return undefined; } - let doclet = Generator.getNormalizedDoclet(sourceNode); + let doclet = OptionsGenerator.getNormalizedDoclet(sourceNode); if (Object.keys(sourceNode.children).length > 0) { let interfaceDeclaration = this.generateInterfaceDeclaration(sourceNode), replacedAnyType = false; if (!interfaceDeclaration) { @@ -252,7 +298,7 @@ class Generator { } let seriesRegistryDeclaration = new TSD.InterfaceDeclaration('SeriesOptionsRegistry'); seriesRegistryDeclaration.description = 'The registry for all types of series options.'; - Generator._series.forEach(series => seriesRegistryDeclaration.addChildren(new TSD.PropertyDeclaration(series, series))); + OptionsGenerator._series.forEach(series => seriesRegistryDeclaration.addChildren(new TSD.PropertyDeclaration(series, series))); this.namespace.addChildren(seriesRegistryDeclaration); let seriesTypeDeclaration = new TSD.TypeDeclaration('SeriesOptionsType', 'SeriesOptionsRegistry[keyof SeriesOptionsRegistry]'); seriesTypeDeclaration.description = 'The possible types of series options.'; @@ -265,9 +311,9 @@ class Generator { sourceNode.doclet.access === 'private') { return undefined; } - let doclet = Generator.getNormalizedDoclet(sourceNode), name = Generator.getCamelCaseName(sourceNode.meta.fullname || sourceNode.meta.name || ''), declaration = new TSD.InterfaceDeclaration(name), children = sourceNode.children, extendedChildren = ['type']; + let doclet = OptionsGenerator.getNormalizedDoclet(sourceNode), name = OptionsGenerator.getCamelCaseName(sourceNode.meta.fullname || sourceNode.meta.name || ''), declaration = new TSD.InterfaceDeclaration(name), children = sourceNode.children, extendedChildren = ['type']; (sourceNode.doclet._extends || []) - .map(name => Generator.getCamelCaseName(name)) + .map(name => OptionsGenerator.getCamelCaseName(name)) .map(name => this.namespace.getChildren(name)[0]) .forEach(declaration => extendedChildren.push(...declaration.getChildrenNames())); extendedChildren = Utilities.uniqueArray(extendedChildren); @@ -347,5 +393,5 @@ class Generator { * Static Properties * * */ -Generator._series = []; +OptionsGenerator._series = []; //# sourceMappingURL=OptionsGenerator.js.map \ No newline at end of file diff --git a/lib/OptionsGenerator.js.map b/lib/OptionsGenerator.js.map index 34e5c18..d376e45 100644 --- a/lib/OptionsGenerator.js.map +++ b/lib/OptionsGenerator.js.map @@ -1 +1 @@ -{"version":3,"file":"OptionsGenerator.js","sourceRoot":"","sources":["../src/OptionsGenerator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OptionsGenerator.js","sourceRoot":"","sources":["../src/OptionsGenerator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/OptionsParser.js b/lib/OptionsParser.js index 33ecae4..c7095fe 100644 --- a/lib/OptionsParser.js +++ b/lib/OptionsParser.js @@ -71,6 +71,7 @@ class Parser extends Object { this.completeNodeNames(this._root, ''); this.completeNodeProducts(this._root, PRODUCTS); this.completeNodeTypes(this._root); + this.removeProductNodes(this._root, PRODUCTS); this._modules = {}; PRODUCTS.forEach(product => { const productNode = { @@ -239,7 +240,7 @@ class Parser extends Object { Object .keys(children) .map(childName => children[childName]) - .forEach(childNode => this.completeNodeProducts(childNode, parentProducts.slice())); + .forEach(childNode => this.completeNodeProducts(childNode, parentProducts)); } /** * Update the type of the node, or determines a type, if no is set. @@ -367,5 +368,26 @@ class Parser extends Object { } } } + /** + * Removes product-unrelated child nodes. + * + * @param node + * Root node with children to check. + * + * @param products + * Array of parent products. + */ + removeProductNodes(node, products) { + let children = node.children, childProducts; + for (const key in children) { + childProducts = children[key].doclet.products || products; + if (!childProducts.some(product => products.includes(product))) { + delete children[key]; + } + else { + this.removeProductNodes(children[key], childProducts); + } + } + } } //# sourceMappingURL=OptionsParser.js.map \ No newline at end of file diff --git a/lib/OptionsParser.js.map b/lib/OptionsParser.js.map index 3de1226..e8a18b0 100644 --- a/lib/OptionsParser.js.map +++ b/lib/OptionsParser.js.map @@ -1 +1 @@ -{"version":3,"file":"OptionsParser.js","sourceRoot":"","sources":["../src/OptionsParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OptionsParser.js","sourceRoot":"","sources":["../src/OptionsParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/StaticGenerator.js b/lib/StaticGenerator.js index ed9329b..7d59691 100644 --- a/lib/StaticGenerator.js +++ b/lib/StaticGenerator.js @@ -8,6 +8,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.save = void 0; const Config = require("./Config"); const Utilities = require("./Utilities"); +/* * + * + * Functions + * + * */ function save() { return Utilities.copyAll(Utilities.path(Config.cgd, 'static'), Utilities.path(Utilities.parent(Config.mainModule))); } diff --git a/lib/StaticGenerator.js.map b/lib/StaticGenerator.js.map index ea6e91c..efd9065 100644 --- a/lib/StaticGenerator.js.map +++ b/lib/StaticGenerator.js.map @@ -1 +1 @@ -{"version":3,"file":"StaticGenerator.js","sourceRoot":"","sources":["../src/StaticGenerator.ts"],"names":[],"mappings":";AAAA;;;;KAIK;;;AAEL,mCAAmC;AACnC,yCAAyC;AAEzC,SAAgB,IAAI;IAEhB,OAAO,SAAS,CAAC,OAAO,CACpB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,EACpC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CACtD,CAAC;AACN,CAAC;AAND,oBAMC;AAAA,CAAC"} \ No newline at end of file +{"version":3,"file":"StaticGenerator.js","sourceRoot":"","sources":["../src/StaticGenerator.ts"],"names":[],"mappings":";AAAA;;;;KAIK;;;AAEL,mCAAmC;AACnC,yCAAyC;AAGzC;;;;KAIK;AAGL,SAAgB,IAAI;IAEhB,OAAO,SAAS,CAAC,OAAO,CACpB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,EACpC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CACtD,CAAC;AACN,CAAC;AAND,oBAMC;AAAA,CAAC"} \ No newline at end of file diff --git a/lib/TypeScriptDeclarations.js.map b/lib/TypeScriptDeclarations.js.map index 6f57938..9087287 100644 --- a/lib/TypeScriptDeclarations.js.map +++ b/lib/TypeScriptDeclarations.js.map @@ -1 +1 @@ -{"version":3,"file":"TypeScriptDeclarations.js","sourceRoot":"","sources":["../src/TypeScriptDeclarations.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TypeScriptDeclarations.js","sourceRoot":"","sources":["../src/TypeScriptDeclarations.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/Utilities.js b/lib/Utilities.js index db00723..f26b332 100644 --- a/lib/Utilities.js +++ b/lib/Utilities.js @@ -268,11 +268,9 @@ function load(filePath) { .then(data => json(data.toString())); } exports.load = load; -function log(obj) { - return new Promise((resolve, reject) => { - console.log(obj); - resolve(obj); - }); +async function log(obj) { + console.log(obj); + return obj; } exports.log = log; function parent(childPath) { diff --git a/lib/Utilities.js.map b/lib/Utilities.js.map index 37e9178..f565868 100644 --- a/lib/Utilities.js.map +++ b/lib/Utilities.js.map @@ -1 +1 @@ -{"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../src/Utilities.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../src/Utilities.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e38baf1..8f50ef4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,27 +1,27 @@ { "name": "@highcharts/highcharts-declarations-generator", - "version": "1.1.27", + "version": "1.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@highcharts/highcharts-declarations-generator", - "version": "1.1.27", + "version": "1.2.0", "dependencies": { "colors": "^1.4.0" }, "devDependencies": { - "@types/node": "^18.0.0", - "typescript": "~4.9.5" + "@types/node": "^20.11.0", + "typescript": "~5.3.3" }, "engines": { "node": ">=18.0.0" } }, "node_modules/@types/node": { - "version": "18.19.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.6.tgz", - "integrity": "sha512-X36s5CXMrrJOs2lQCdDF68apW4Rfx9ixYMawlepwmE4Anezv/AV2LSpKD1Ub8DAc+urp5bk0BGZ6NtmBitfnsg==", + "version": "20.11.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", + "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -36,16 +36,16 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/undici-types": { @@ -57,9 +57,9 @@ }, "dependencies": { "@types/node": { - "version": "18.19.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.6.tgz", - "integrity": "sha512-X36s5CXMrrJOs2lQCdDF68apW4Rfx9ixYMawlepwmE4Anezv/AV2LSpKD1Ub8DAc+urp5bk0BGZ6NtmBitfnsg==", + "version": "20.11.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", + "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", "dev": true, "requires": { "undici-types": "~5.26.4" @@ -71,9 +71,9 @@ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" }, "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true }, "undici-types": { diff --git a/package.json b/package.json index b674f0e..515e4ec 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@highcharts/highcharts-declarations-generator", - "version": "1.1.27", + "version": "1.2.0", "author": "Highsoft AS", "files": [ "dtsconfig.json", @@ -15,8 +15,8 @@ "colors": "^1.4.0" }, "devDependencies": { - "@types/node": "^18.0.0", - "typescript": "~4.9.5" + "@types/node": "^20.11.0", + "typescript": "~5.3.3" }, "engines": { "node": ">=18.0.0" diff --git a/src/GulpTask.ts b/src/GulpTask.ts index deccf12..aa4ff4a 100644 --- a/src/GulpTask.ts +++ b/src/GulpTask.ts @@ -30,48 +30,46 @@ function cliFeedback (colorOrMessage: string, message?: string) { export const config = Config; -export function task (done: Function) { - - cliFeedback('green', 'Start creating TypeScript declarations...'); - - return Promise - .all([]) - .then(() => Utilities - .load(Config.treeOptionsJsonFile) - .then(OptionsParser.parse) - .then(OptionsGenerator.generate) - ) - .then(optionsNamespace => Utilities - .load(Config.treeNamespaceJsonFile) - .then(NamespaceParser.parse) - .then(moduleNodes => { - - cliFeedback('green', 'Creating declarations...'); - - return NamespaceGenerator.generate( - moduleNodes, optionsNamespace - ); - }) - ) - .then(declarationsModules => { - - cliFeedback('green', 'Saving declarations...'); - - return declarationsModules; - }) - .then(NamespaceGenerator.save) - .then(StaticGenerator.save) - .then(() => cliFeedback( - 'green', - 'Finished creating TypeScript declarations.' - )) - .catch(error => { - if (error) { - cliFeedback('red', error.toString()); - throw error; - } - else { - throw new Error('Unknown error'); - } - }); +export async function task (done: Function) { + + try { + + cliFeedback('green', 'Start creating TypeScript declarations...'); + + let declarationsModules = await OptionsGenerator.generate( + await OptionsParser.parse( + await Utilities.load(Config.treeOptionsJsonFile) + ) + ); + + cliFeedback('green', 'Creating declarations...'); + + declarationsModules = await NamespaceGenerator.generate( + await NamespaceParser.parse( + await Utilities.load(Config.treeNamespaceJsonFile) + ), + declarationsModules + ); + + + cliFeedback('green', 'Saving declarations...'); + + await NamespaceGenerator.save(declarationsModules); + await StaticGenerator.save(); + + cliFeedback('green', 'Finished creating TypeScript declarations.'); + + } + catch (error) { + + if (error) { + cliFeedback('red', error.toString()); + throw error; + } + else { + throw new Error('Unknown error'); + } + + } + } diff --git a/src/NamespaceGenerator.ts b/src/NamespaceGenerator.ts index 2487ec5..e840020 100644 --- a/src/NamespaceGenerator.ts +++ b/src/NamespaceGenerator.ts @@ -9,65 +9,89 @@ import * as Parser from './NamespaceParser'; import * as TSD from './TypeScriptDeclarations'; import * as Utilities from './Utilities'; + /* * * * Types * * */ + type ModuleDictionary = Utilities.Dictionary; + type ReferenceDictionary = Utilities.Dictionary>; + /* * * * Constants * * */ + const COPYRIGHT_HEADER = 'Copyright (c) Highsoft AS. All rights reserved.'; + /* * * * Functions * * */ + export function generate ( moduleNodes: Utilities.Dictionary, - optionDeclarations: TSD.ModuleDeclaration + declarationModules: ModuleDictionary ): Promise> { return new Promise((resolve, reject) => { - const declarationModules = {} as ModuleDictionary; const globalsNamespace = new TSD.ModuleDeclaration('globals'); const globalsModule = Utilities.path( Utilities.parent(Config.mainModule), 'globals' ); + const mainNamespace = declarationModules[Config.mainModule]; const referenceDictionary = Generator.referenceDictionary; if (Object.keys(referenceDictionary).length === 0) { + let declarations: Array; - optionDeclarations - .getChildren() - .forEach(child => - referenceDictionary[ - TSD.IDeclaration.extractTypeNames(child.fullName)[0] - ] = [child] - ); + for (const module in declarationModules) { + if (module === Config.mainModule) { + declarations = declarationModules[module].getChildren(); + } + else { + declarations = declarationModules[module] + .getChildren()[0].getChildren(); + } + for (const declaration of declarations) { + const name = TSD.IDeclaration + .extractTypeNames(declaration.fullName)[0]; + + if ( + name.startsWith('Plot') || + ( + declaration instanceof TSD.InterfaceDeclaration && + declaration.types.includes('SeriesOptions') + ) + ){ + continue; + } + + referenceDictionary[name] = [declaration]; + } + } } - Object - .keys(moduleNodes) - .forEach(moduleNode => - declarationModules[moduleNode] = new Generator( - moduleNode, - moduleNodes[moduleNode], - globalsNamespace, - optionDeclarations - ).moduleNamespace - ); + for (const moduleNode in moduleNodes) { + declarationModules[moduleNode] = new Generator( + moduleNode, + moduleNodes[moduleNode], + globalsNamespace, + mainNamespace + ).moduleNamespace; + } declarationModules[globalsModule] = globalsNamespace; @@ -79,7 +103,7 @@ export function generate ( } moveReferenceDeclarations( - declarationModules[Config.mainModule], + declarationModules, referenceDictionary ); @@ -88,57 +112,79 @@ export function generate ( } function moveReferenceDeclarations ( - mainNamespace: TSD.ModuleDeclaration, + declarationModules: ModuleDictionary, referenceDictionary: ReferenceDictionary ) { + const mainNamespace = declarationModules[Config.mainModule]; - const _move = (declaration: TSD.IDeclaration) => { - + const moveReferences = (declaration: TSD.IDeclaration) => { const mainChildFullNames = mainNamespace.getChildrenNames(true); const mainFullName = mainNamespace.fullName; - declaration - .getReferencedTypes(true) - .filter(type => !!referenceDictionary[type]) - .forEach(type => - referenceDictionary[type] - .filter(referenceDeclaration => - referenceDeclaration.parent && - referenceDeclaration.parent !== mainNamespace && - referenceDeclaration.parent.fullName === mainFullName && - mainChildFullNames - .indexOf(referenceDeclaration.fullName) === -1 - ) - .forEach(referenceDeclaration => { - - const referenceParent = referenceDeclaration.parent; - - if (!referenceParent) { - return; - } - - const mainDeclarationIDs = mainNamespace - .getChildren(referenceDeclaration.name) - .map(declaration => declaration.uniqueID); - - const referenceDeclarations = referenceParent - .removeChild(referenceDeclaration.name) - .filter(declaration => mainDeclarationIDs - .indexOf(declaration.uniqueID) === -1 - ); - - mainNamespace - .addChildren(...referenceDeclarations); - - referenceDeclarations - .forEach(_move); - }) - ) + const types = declaration.getReferencedTypes(true); + + for (const type of types) { + + if(!referenceDictionary[type]) { + continue; + } + + referenceDictionary[type] + .filter(referenceDeclaration => + referenceDeclaration.parent && + referenceDeclaration.parent !== mainNamespace && + referenceDeclaration.parent.fullName === mainFullName && + mainChildFullNames + .indexOf(referenceDeclaration.fullName) === -1 + ) + .forEach(referenceDeclaration => { + + const referenceParent = referenceDeclaration.parent; + + if (!referenceParent) { + return; + } + + const mainDeclarationIDs = mainNamespace + .getChildren(referenceDeclaration.name) + .map(declaration => declaration.uniqueID); + + const referenceDeclarations = referenceParent + .removeChild(referenceDeclaration.name) + .filter(declaration => mainDeclarationIDs + .indexOf(declaration.uniqueID) === -1 + ); + + mainNamespace + .addChildren(...referenceDeclarations); + + referenceDeclarations + .forEach(moveReferences); + }) + + } }; - mainNamespace - .getChildren() - .forEach(_move); + // Move references into main namespace to address circulars + for (const child of mainNamespace.getChildren()) { + moveReferences(child); + } + + // Move references by series into main namespace to address circulars + for (const module in declarationModules) { + if (!module.includes('options')) { + continue; + } + for (const external of declarationModules[module].getChildren()) { + if (!(external instanceof TSD.ExternalModuleDeclaration)) { + continue; + } + for (const child of external.getChildren()) { + moveReferences(child); + } + } + } + } export function save ( @@ -157,7 +203,6 @@ export function save ( Object .keys(declarationsModules) .forEach(module => { - declarationsModule = declarationsModules[module]; declarationsModule.copyright = COPYRIGHT_HEADER; @@ -353,11 +398,11 @@ class Generator { modulePath: string, moduleNode: Parser.INode, globalsNamespace: TSD.ModuleDeclaration, - optionsNamespace: TSD.ModuleDeclaration + mainNamespace: TSD.ModuleDeclaration ) { this._globalsNamespace = globalsNamespace; - this._mainNamespace = optionsNamespace; + this._mainNamespace = mainNamespace; this._modulePath = modulePath; if (this.modulePath === Config.mainModule) { diff --git a/src/OptionsGenerator.ts b/src/OptionsGenerator.ts index fbf15eb..6d5ff39 100644 --- a/src/OptionsGenerator.ts +++ b/src/OptionsGenerator.ts @@ -10,22 +10,14 @@ import * as Parser from './OptionsParser'; import * as TSD from './TypeScriptDeclarations'; import * as Utilities from './Utilities'; - /* * * - * Functions + * Types * * */ -export function generate ( - optionsNode: Parser.INode -): Promise { - - return new Promise( - resolve => resolve((new Generator(optionsNode)).namespace) - ); -} +type ModuleDictionary = Utilities.Dictionary; /* * @@ -38,6 +30,95 @@ export function generate ( const ANY_TYPE = /(^|[\<\(\|])any([\|\)\>]|$)/; +const COPYRIGHT_HEADER = 'Copyright (c) Highsoft AS. All rights reserved.'; + + +const SERIES_NAME = /^Highcharts\.(?:Plot|Series)(([A-Z][a-z]+)(?:[A-Z][a-z]+)?)\w*Options$/; + + +/* * + * + * Functions + * + * */ + + +export async function generate ( + optionsNode: Parser.INode +): Promise { + + const optionsNamespace = new OptionsGenerator(optionsNode).namespace; + const declarationModules: ModuleDictionary = { + [Config.mainModule]: optionsNamespace + }; + const optionsPath = Utilities + .path(Utilities.parent(Config.mainModule), 'options'); + const seriesTypes: Array = []; + + for ( + const child + of optionsNamespace.getChildren('PlotOptions')[0].getChildren() + ) { + seriesTypes.push(child.name); + } + + let moduleImport: string; + let modulePath: string; + let name: string; + let type: string; + let type2: string; + + for (const child of optionsNamespace.getChildren()) { + + name = TSD.IDeclaration.extractTypeNames(child.fullName)[0]; + type = (name.match(SERIES_NAME)?.[1] || '').toLowerCase(); + type2 = (name.match(SERIES_NAME)?.[2] || '').toLowerCase(); + + if (seriesTypes.includes(type) || seriesTypes.includes(type2)) { + + if (!seriesTypes.includes(type)) { + type = type2; + } + + modulePath = Utilities.path(optionsPath, type); + + if (!declarationModules[modulePath]) { + declarationModules[modulePath] = new TSD.ModuleDeclaration(modulePath); + declarationModules[modulePath].imports.push( + 'import * as Highcharts from "' + + Utilities.relative(modulePath, Config.mainModule, true) + + '";' + ); + declarationModules[modulePath] + .addChildren(new TSD.ExternalModuleDeclaration( + Config.mainModule, + Utilities.relative(modulePath, Config.mainModule, true) + )); + + } + + declarationModules[modulePath] + .getChildren()[0] + .addChildren(...optionsNamespace.removeChild(child.name)); + + moduleImport = ( + 'import "' + + Utilities.relative(Config.mainModule, modulePath, true) + + '";' + ); + + if (!optionsNamespace.imports.includes(moduleImport)) { + optionsNamespace.imports.push(moduleImport); + } + + } + + } + + return declarationModules; +} + + /* * * * Class @@ -45,7 +126,8 @@ const ANY_TYPE = /(^|[\<\(\|])any([\|\)\>]|$)/; * */ -class Generator { +class OptionsGenerator { + /* * @@ -57,6 +139,7 @@ class Generator { private static _series: Array = []; + /* * * * Static Functions @@ -64,7 +147,9 @@ class Generator { * */ - private static getCamelCaseName (name: string): string { + private static getCamelCaseName ( + name: string + ): string { return (TSD.IDeclaration .namespaces(name) @@ -79,7 +164,9 @@ class Generator { } - private static getNormalizedDoclet (node: Parser.INode): Parser.IDoclet { + private static getNormalizedDoclet ( + node: Parser.INode + ): Parser.IDoclet { let doclet = node.doclet, description = (node.doclet.description || '').trim(), @@ -143,13 +230,16 @@ class Generator { * */ - public constructor (parsedOptions: Parser.INode) { + public constructor ( + parsedOptions: Parser.INode + ) { this._namespace = new TSD.ModuleDeclaration('Highcharts'); this.generateInterfaceDeclaration(parsedOptions); this.generateSeriesDeclaration(); this.generateLiteralTypeDeclarations(); + } @@ -183,8 +273,8 @@ class Generator { return undefined; } - let doclet = Generator.getNormalizedDoclet(sourceNode), - name = Generator.getCamelCaseName( + let doclet = OptionsGenerator.getNormalizedDoclet(sourceNode), + name = OptionsGenerator.getCamelCaseName( sourceNode.meta.fullname || sourceNode.meta.name || '' ), declaration = new TSD.InterfaceDeclaration( @@ -226,7 +316,6 @@ class Generator { '}', '\n', ].join(''); - children .filter(child => ( Object.keys(child.children).length === 0 || @@ -254,7 +343,7 @@ class Generator { ); if (seriesDeclaration) { - Generator._series.push(seriesDeclaration.fullName); + OptionsGenerator._series.push(seriesDeclaration.fullName); } }); } @@ -309,7 +398,7 @@ class Generator { return undefined; } - let doclet = Generator.getNormalizedDoclet(sourceNode); + let doclet = OptionsGenerator.getNormalizedDoclet(sourceNode); if (Object.keys(sourceNode.children).length > 0) { @@ -426,7 +515,7 @@ class Generator { let seriesRegistryDeclaration = new TSD.InterfaceDeclaration('SeriesOptionsRegistry'); seriesRegistryDeclaration.description = 'The registry for all types of series options.'; - Generator._series.forEach(series => + OptionsGenerator._series.forEach(series => seriesRegistryDeclaration.addChildren( new TSD.PropertyDeclaration(series, series) ) @@ -456,8 +545,8 @@ class Generator { return undefined; } - let doclet = Generator.getNormalizedDoclet(sourceNode), - name = Generator.getCamelCaseName( + let doclet = OptionsGenerator.getNormalizedDoclet(sourceNode), + name = OptionsGenerator.getCamelCaseName( sourceNode.meta.fullname || sourceNode.meta.name || '' ), declaration = new TSD.InterfaceDeclaration(name), @@ -465,7 +554,7 @@ class Generator { extendedChildren = [ 'type' ] as Array; (sourceNode.doclet._extends || []) - .map(name => Generator.getCamelCaseName(name)) + .map(name => OptionsGenerator.getCamelCaseName(name)) .map(name => this.namespace.getChildren(name)[0]) .forEach( declaration => diff --git a/src/OptionsParser.ts b/src/OptionsParser.ts index 0ccade0..e567bed 100644 --- a/src/OptionsParser.ts +++ b/src/OptionsParser.ts @@ -89,6 +89,7 @@ class Parser extends Object { this.completeNodeNames(this._root, ''); this.completeNodeProducts(this._root, PRODUCTS); this.completeNodeTypes(this._root); + this.removeProductNodes(this._root, PRODUCTS); this._modules = {} as Utilities.Dictionary; @@ -361,7 +362,7 @@ class Parser extends Object { .keys(children) .map(childName => children[childName]) .forEach(childNode => this.completeNodeProducts( - childNode, parentProducts.slice() + childNode, parentProducts )); } @@ -500,6 +501,7 @@ class Parser extends Object { this.removeDeprecatedNodes(children[key]); } } + } @@ -509,7 +511,9 @@ class Parser extends Object { * @param node * Node with children to check. */ - private removeInternalNodes(node: INode) { + private removeInternalNodes( + node: INode + ) { let children = node.children; @@ -520,7 +524,42 @@ class Parser extends Object { this.removeInternalNodes(children[key]); } } + } + + + /** + * Removes product-unrelated child nodes. + * + * @param node + * Root node with children to check. + * + * @param products + * Array of parent products. + */ + private removeProductNodes( + node: INode, + products: Array + ) { + + let children = node.children, + childProducts: Array; + + for (const key in children) { + + childProducts = children[key].doclet.products || products; + + if (!childProducts.some(product => products.includes(product))) { + delete children[key]; + } else { + this.removeProductNodes(children[key], childProducts); + } + + } + + } + + } diff --git a/src/StaticGenerator.ts b/src/StaticGenerator.ts index d008946..c5e253d 100644 --- a/src/StaticGenerator.ts +++ b/src/StaticGenerator.ts @@ -7,6 +7,14 @@ import * as Config from './Config'; import * as Utilities from './Utilities'; + +/* * + * + * Functions + * + * */ + + export function save (): Promise { return Utilities.copyAll( diff --git a/src/Utilities.ts b/src/Utilities.ts index c37ebd3..6d1c5f1 100644 --- a/src/Utilities.ts +++ b/src/Utilities.ts @@ -396,11 +396,9 @@ export function load ( -export function log (obj: T): Promise { - return new Promise((resolve, reject) => { - console.log(obj); - resolve(obj); - }); +export async function log (obj: T): Promise { + console.log(obj); + return obj; }