@theintern/common v0.3.0
intern-common
This repository contains common library code used by Intern projects. It's essentially a subset of @dojo/core and @dojo/shim, extracted to prevent circular dependencies between Dojo and Intern.
While the implementations of Task, Evented, and the various utility
functions are very similar (and in some cases the same as) their @dojo
counterparts, there are a few differences. Probably the most significant is with
the request module, which uses a simpler API that Dojo's request and is
backed by axios.
Usage
This package exports its public interface through its base import:
import { Task, Evented, request } from '@theintern/common';Features
The following concrete exports are provided:
- Evented: Base class for event emitters
- Task: Cancellable promise
- global: Pointer to the global object (e.g.,
window) - request: Simple network request module
- createHandle: Create a handle that can be used to cleanup resources
- createCompositeHandle: Create an aggregate Handle
- deepMixin: Deeply one or more objects into a target object
- duplicate: Deep copy an object
- partial: Create a function from a base function by binding one or more arguments of the base function to given values
Development
The development flow is standard:
npm installnpm run build(ornpm run watch)npm testto run tests
The build process creates four webpack bundles in _build/: one is the
distributable index.js, two are for unit tests (browser and Node), and one is
for integration tests.