dts-element

A DOM library for generation TypeScript declaration (.d.ts) files
Changelog - Examples - Documentation
Features
- reusable
FunctionDeclaration
: it can be method or function based on where it is.
VariableDeclaration
: it can be property or variable based on where it is.
- parsable
- parsing TypeScript syntax into
dts-element
using dts.parse()
, useful for restructuring types
Installation
using npm
npm install --save dts-element
using yarn
yarn add dts-element
Usage
Code
import * as dts from 'dts-element';
const getThing = dts.create_function_declaration({
name: 'getThing',
type: dts.create_function_type({
parameters: [
dts.create_parameter_declaration({
name: 'x',
type: dts.number_type,
}),
],
return: dts.void_type,
}),
});
const MyInterface = dts.create_interface_declaration({
name: 'MyInterface',
jsdoc: 'This is my nice interface',
type: dts.create_object_type({
members: [
dts.create_object_member({
optional: true,
owned: getThing,
}),
],
}),
});
const SomeNamespace = dts.create_namespace_declaration({
name: 'SomeNamespace',
members: [MyInterface],
});
console.log(dts.emit(
dts.create_top_level_element({
members: [SomeNamespace],
}),
));
Output
declare namespace SomeNamespace {
interface MyInterface {
getThing?(x: number): void;
}
}
Development
yarn run test
yarn run build
yarn run lint
yarn run docs
Related
- dts-dom: another dts DOM library from TS team member