Nepotistic Pontifex Maximus

    @dojo/core
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    Dojo 2 core

    Build Status codecov.io npm version FOSSA Status

    This package provides a set of language helpers, utility functions, and classes for writing TypeScript applications. It includes APIs for feature detection, asynchronous operations, basic event handling, and making HTTP requests.

    Usage

    To use @dojo/core, install the package along with its required peer dependencies:

    npm install @dojo/core
     
    # peer dependencies 
    npm install @dojo/has
    npm install @dojo/shim

    Features

    Feature Detection

    Using the latest Web technologies isn't always as straightforward as developers would like due to differing support across platforms. @dojo/core/has provides a simple feature detection API that makes it easy to detect which platforms support which features.

    Language Utilities

    The core package provides modules offering language utilities. Some of these are heavily based on methods in the ES2015 proposal; others are additional APIs for commonly-performed tasks.

    lang

    The @dojo/core/lang module contains various utility functions for tasks such as copying objects and creating late-bound or partially applied functions.

    load

    The @dojo/core/load module can be used to dynamically load modules or other arbitrary resources via plugins.

    string

    The @dojo/core/stringExtras module contains various string functions that are not available as part of the ES2015 String APIs.

    UrlSearchParams

    The @dojo/core/UrlSearchParams class can be used to parse and generate URL query strings.

    Event handling

    The @dojo/core/on module contains methods to handle events across types of listeners. It also includes methods to handle different event use cases including only firing once and pauseable events.

    HTTP requests

    The @dojo/core/request module contains methods to simplify making HTTP requests. It can handle making requests in both node and the browser through the same methods.

    Promises and Asynchronous Operations

    Promise

    The @dojo/core/Promise class is an implementation of the ES2015 Promise API that also includes static state inspection and a finally method for cleanup actions.

    @dojo/core/async contains a number of classes and utility modules to simplify working with asynchronous operations.

    Task

    The @dojo/core/async/Task class is an extension of @dojo/core/Promise that provides cancelation support.

    How Do I Contribute?

    We appreciate your interest! Please see the Dojo 2 Meta Repository for the Contributing Guidelines.

    Code Style

    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 project's 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

    Installation

    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.

    Testing

    Test cases MUST be written using Intern using the Object test interface and Assert assertion interface.

    90% branch coverage MUST be provided for all code submitted to this repository, as reported by istanbul’s combined coverage results for all supported platforms.

    To test locally in node run:

    grunt test

    To test against browsers with a local selenium server run:

    grunt test:local

    To test against BrowserStack or Sauce Labs run:

    grunt test:browserstack

    or

    grunt test:saucelabs

    Licensing information

    © 2004–2018 JS Foundation & contributors. New BSD license.

    Some string functions (codePointAt, fromCodePoint, and repeat) adopted from polyfills by Mathias Bynens, under the MIT license.

    See LICENSE for details.

    FOSSA Status

    Keywords

    none

    Install

    npm i @dojo/core

    Homepage

    dojo.io

    DownloadsWeekly Downloads

    316

    Version

    2.0.0

    License

    BSD-3-Clause

    Unpacked Size

    1.2 MB

    Total Files

    213

    Last publish

    Collaborators

    • rorticus
    • dylans
    • agubler
    • matt-gadd
    • tomdye
    • bitpshr