This package contain TypeScript interfaces and types that are widely used across Dojo 2 packages. It is designed to make it easier to maintain these interfaces as well as build code that integrates well with the rest of the Dojo 2 packages without requiring a hard dependency on those other packages.
WARNING This package is deprecated in favor of functionality found elsewhere in Dojo 2.
To use @dojo/interfaces
install the package:
npm install @dojo/interfaces
Evented
and Destroyable
interfaces, which are used throughout many packages, specifically@dojo/core
and @dojo/widget-core
.
Evented
defines an interface for objects that emit events, while Destroyable
defines an interface for objects that have own
and destroy
methods.
Common, foundational interfaces used widely throughout most Dojo 2 packages. Includes Handle
and event related interfaces EventObject
, and EventTargettedObject
.
Interfaces for working with @dojo/loader
. If the loader is included on the page, you can reference the loader with:
import { DojoRequire } from '@dojo/interfaces/loader';
declare const require: DojoRequire;
require(['some-module'], (someModule) => {
});
Thenable
and ArrayLike
interfaces. Thenable
will allow you to use promise-like objects without pulling in @dojo/shim
.
A set of interfaces for working with widgets and the virtual DOM. To work with a VNode
:
import { VNode } from '@dojo/interfaces/vdom';
let node: VNode;
node = someFlag ? v('div') : v('p');
We appreciate your interest! Please see the Dojo 2 Meta Repository for the Contributing Guidelines.
This repository uses prettier
for code styling rules and formatting. A pre-commit hook is installed automatically and configured to run prettier
against all staged files as per the configuration in the projects package.json
.
An additional npm script to run prettier
(with write set to true
) against all src
and test
project files is available by running:
npm run prettier
To start working with this package, clone the repository and run npm install
.
In order to build the project run grunt dev
or grunt dist
.
Since this is a type only package, we are currently working on the best way to test this package.
ยฉ 2018 JS Foundation. New BSD license.