Compare commits

..

4 Commits

Author SHA1 Message Date
a6eaf78c80 2.0.2 2017-11-20 09:26:16 +01:00
adda1c932a add Tree class 2017-11-20 09:26:13 +01:00
7c8643b090 2.0.1 2017-10-30 08:23:32 +01:00
9e81960095 update readme 2017-10-30 08:23:28 +01:00
15 changed files with 330 additions and 135 deletions

View File

@ -34,14 +34,6 @@ like when a certain string is removed or added to the map
Sometimes you need to keep track of objects, but implementing logic for removing, finding or updating is tedious. Sometimes you need to keep track of objects, but implementing logic for removing, finding or updating is tedious.
Objectmap takes care of keeping track of objects for you. Objectmap takes care of keeping track of objects for you.
### class Observablemap
Event Emitters are nice. However often times you end up with registering multiple listeners for the exact same thing.
Observables have a smaller footprint and a more manageable subscribe logic.
Observablemap registers only one rxjs observable per event and then continues to reference
the same observable that you can subscribe to.
For further information read the linked docs at the top of this README.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)

1
dist/index.d.ts vendored
View File

@ -2,3 +2,4 @@ export * from './lik.looptracker';
export * from './lik.objectmap'; export * from './lik.objectmap';
export * from './lik.stringmap'; export * from './lik.stringmap';
export * from './lik.limitedarray'; export * from './lik.limitedarray';
export * from './lik.tree';

3
dist/index.js vendored
View File

@ -8,4 +8,5 @@ __export(require("./lik.looptracker"));
__export(require("./lik.objectmap")); __export(require("./lik.objectmap"));
__export(require("./lik.stringmap")); __export(require("./lik.stringmap"));
__export(require("./lik.limitedarray")); __export(require("./lik.limitedarray"));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGlCQUFpQjtBQUVqQix1Q0FBaUM7QUFDakMscUNBQStCO0FBQy9CLHFDQUErQjtBQUMvQix3Q0FBa0MifQ== __export(require("./lik.tree"));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGlCQUFpQjtBQUVqQix1Q0FBaUM7QUFDakMscUNBQStCO0FBQy9CLHFDQUErQjtBQUMvQix3Q0FBa0M7QUFDbEMsZ0NBQTBCIn0=

View File

@ -1,6 +1,7 @@
import 'typings-global'; import 'typings-global';
import * as smartq from 'smartq';
import * as events from 'events'; import * as events from 'events';
import * as lodash from 'lodash'; import * as lodash from 'lodash';
import * as minimatch from 'minimatch'; import * as minimatch from 'minimatch';
export { smartq, events, lodash, minimatch }; import * as smartq from 'smartq';
declare const symbolTree: any;
export { events, lodash, minimatch, smartq, symbolTree };

8
dist/lik.plugins.js vendored
View File

@ -1,12 +1,14 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
require("typings-global"); require("typings-global");
const smartq = require("smartq");
exports.smartq = smartq;
const events = require("events"); const events = require("events");
exports.events = events; exports.events = events;
const lodash = require("lodash"); const lodash = require("lodash");
exports.lodash = lodash; exports.lodash = lodash;
const minimatch = require("minimatch"); const minimatch = require("minimatch");
exports.minimatch = minimatch; exports.minimatch = minimatch;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlrLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9saWsucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2QixpQ0FBZ0M7QUFNOUIsd0JBQU07QUFMUixpQ0FBZ0M7QUFNOUIsd0JBQU07QUFMUixpQ0FBZ0M7QUFNOUIsd0JBQU07QUFMUix1Q0FBc0M7QUFNcEMsOEJBQVMifQ== const smartq = require("smartq");
exports.smartq = smartq;
const symbolTree = require('symbol-tree');
exports.symbolTree = symbolTree;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlrLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9saWsucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2QixpQ0FBZ0M7QUFPOUIsd0JBQU07QUFOUixpQ0FBZ0M7QUFPOUIsd0JBQU07QUFOUix1Q0FBc0M7QUFPcEMsOEJBQVM7QUFOWCxpQ0FBZ0M7QUFPOUIsd0JBQU07QUFOUixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7QUFPdkMsZ0NBQVUifQ==

34
dist/lik.tree.d.ts vendored Normal file
View File

@ -0,0 +1,34 @@
export declare class Tree<T> {
symbolTree: any;
constructor();
/**
*
* @param objectArg
*/
initialize(objectArg: T): T;
hasChildren(objectArg: T): boolean;
firstChild(objectArg: T): T;
lastChild(objectArg: T): T;
previousSibling(objectArg: T): T;
nextSibling(objectArg: T): T;
parent(objectArg: T): T;
lastInclusiveDescendant(objectArg: T): T;
preceding(objectArg: T, optionsArg?: any): T;
following(object: T, optionsArg: any): any;
childrenToArray(parentArg: T, optionsArg: any): T[];
ancestorsToArray(objectArg: T, optionsArg: any): T[];
treeToArray(rootArg: any, optionsArg: any): T[];
childrenIterator(parentArg: T, optionsArg: any): T;
previousSiblingsIterator(objectArg: any): T;
nextSiblingsIterator(objectArg: T): any;
ancestorsIterator(objectArg: any): void;
treeIterator(rootArg: T, optionsArg: any): T;
index(childArg: T): number;
childrenCount(parentArg: T): number;
compareTreePosition(leftArg: T, rightArg: T): number;
remove(removeObjectArg: T): T;
insertBefore(referenceObjectArg: T, newObjectArg: T): T;
insertAfter(referenceObject: T, newObjectArg: T): any;
prependChild(referenceObjectArg: T, newObjectArg: T): T;
appendChild(referenceObjectArg: any, newObjectArg: any): any;
}

92
dist/lik.tree.js vendored Normal file
View File

@ -0,0 +1,92 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./lik.plugins");
class Tree {
constructor() {
this.symbolTree = new plugins.symbolTree();
}
/**
*
* @param objectArg
*/
initialize(objectArg) {
return this.symbolTree.initialize(objectArg);
}
hasChildren(objectArg) {
return this.symbolTree.hasChildren(objectArg);
}
firstChild(objectArg) {
return this.symbolTree.firstChild(objectArg);
}
lastChild(objectArg) {
return this.symbolTree.lastChild(objectArg);
}
previousSibling(objectArg) {
return this.symbolTree.previousSibling(objectArg);
}
nextSibling(objectArg) {
return this.symbolTree.nextSibling(objectArg);
}
parent(objectArg) {
return this.symbolTree.parent(objectArg);
}
lastInclusiveDescendant(objectArg) {
return this.symbolTree.lastInclusiveDescendant(objectArg);
}
preceding(objectArg, optionsArg) {
return this.symbolTree.preceding(objectArg, optionsArg);
}
following(object, optionsArg) {
return this.symbolTree.following(object, optionsArg);
}
childrenToArray(parentArg, optionsArg) {
return this.symbolTree.childrenToArray(parent, optionsArg);
}
ancestorsToArray(objectArg, optionsArg) {
return this.symbolTree.ancestorsToArray(objectArg, optionsArg);
}
treeToArray(rootArg, optionsArg) {
return this.symbolTree.treeToArray(rootArg, optionsArg);
}
childrenIterator(parentArg, optionsArg) {
return this.symbolTree.childrenIterator(parentArg, optionsArg);
}
previousSiblingsIterator(objectArg) {
return this.symbolTree.previousSiblingsIterator(objectArg);
}
nextSiblingsIterator(objectArg) {
return this.symbolTree.nextSiblingsIterator();
}
ancestorsIterator(objectArg) {
this.symbolTree.ancestorsIterator();
}
treeIterator(rootArg, optionsArg) {
return this.symbolTree.treeIterator(rootArg);
}
index(childArg) {
return this.symbolTree.index(childArg);
}
childrenCount(parentArg) {
return this.symbolTree.childrenCount(parentArg);
}
compareTreePosition(leftArg, rightArg) {
return this.compareTreePosition(leftArg, rightArg);
}
remove(removeObjectArg) {
return this.symbolTree.remove(removeObjectArg);
}
insertBefore(referenceObjectArg, newObjectArg) {
return this.symbolTree.insertBefore(referenceObjectArg, newObjectArg);
}
insertAfter(referenceObject, newObjectArg) {
return this.symbolTree.insertAfter(referenceObject, newObjectArg);
}
prependChild(referenceObjectArg, newObjectArg) {
return this.symbolTree.prependChild(referenceObjectArg, newObjectArg);
}
appendChild(referenceObjectArg, newObjectArg) {
return this.symbolTree.appendChild(referenceObjectArg, newObjectArg);
}
}
exports.Tree = Tree;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlrLnRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9saWsudHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUF3QztBQUV4QztJQUVFO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFFLFNBQVk7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxXQUFXLENBQUUsU0FBWTtRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVELFVBQVUsQ0FBRSxTQUFZO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsU0FBUyxDQUFFLFNBQVk7UUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRCxlQUFlLENBQUUsU0FBWTtRQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBRSxTQUFZO1FBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFFLFNBQVk7UUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxTQUFZO1FBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMs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

View File

@ -34,14 +34,6 @@ like when a certain string is removed or added to the map
Sometimes you need to keep track of objects, but implementing logic for removing, finding or updating is tedious. Sometimes you need to keep track of objects, but implementing logic for removing, finding or updating is tedious.
Objectmap takes care of keeping track of objects for you. Objectmap takes care of keeping track of objects for you.
### class Observablemap
Event Emitters are nice. However often times you end up with registering multiple listeners for the exact same thing.
Observables have a smaller footprint and a more manageable subscribe logic.
Observablemap registers only one rxjs observable per event and then continues to reference
the same observable that you can subscribe to.
For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh) > MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)

View File

@ -1,6 +1,6 @@
{ {
"name": "lik", "name": "lik",
"version": "2.0.0", "version": "2.0.2",
"description": "light little helpers for node", "description": "light little helpers for node",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
@ -26,6 +26,7 @@
"lodash": "^4.17.4", "lodash": "^4.17.4",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"smartq": "^1.1.6", "smartq": "^1.1.6",
"symbol-tree": "^3.2.2",
"typings-global": "^1.0.20" "typings-global": "^1.0.20"
} }
} }

View File

@ -45,7 +45,7 @@ tap.test('lik.Objectmap.remove() -> should correctly remove an object to Objectm
tap.test('Objectmap.forEach -> should correctly run a function forEach map object', async () => { tap.test('Objectmap.forEach -> should correctly run a function forEach map object', async () => {
testObjectmap.forEach(itemArg => { testObjectmap.forEach(itemArg => {
expect(itemArg).have.ownProperty('propOne') expect(itemArg).to.contain('propOne')
}) })
}) })
@ -61,7 +61,7 @@ tap.test('lik.Objectmap.getArray() -> should return a cloned array', async () =>
let myObject = { propOne: 'test1', propTwo: 'wow, how awesome' } let myObject = { propOne: 'test1', propTwo: 'wow, how awesome' }
testObjectmap.add(myObject) testObjectmap.add(myObject)
let clonedArray = testObjectmap.getArray() let clonedArray = testObjectmap.getArray()
expect(clonedArray[ clonedArray.length - 1 ]).eql(myObject) expect(clonedArray[ clonedArray.length - 1 ]).to.equal(myObject)
}) })
tap.test('should get one object and then remove it', async () => { tap.test('should get one object and then remove it', async () => {

24
test/test.tree.ts Normal file
View File

@ -0,0 +1,24 @@
import { tap, expect } from 'tapbundle'
import * as lik from '../ts/index'
let testTree = new lik.Tree<TestClass>()
class TestClass {
constructor (public hey: string) {
// nothing here
}
}
let testInstance = new TestClass('first')
tap.test('create a valid tree instance', async () => {
testTree = new lik.Tree()
expect(testTree).to.be.instanceOf(lik.Tree)
})
tap.test('should insert an object', async () => {
testTree.initialize(testInstance)
let resultArray = testTree.treeToArray(testInstance, {})
expect(resultArray).to.contain(testInstance)
})
tap.start()

View File

@ -6,3 +6,4 @@ export * from './lik.looptracker'
export * from './lik.objectmap' export * from './lik.objectmap'
export * from './lik.stringmap' export * from './lik.stringmap'
export * from './lik.limitedarray' export * from './lik.limitedarray'
export * from './lik.tree'

View File

@ -1,12 +1,14 @@
import 'typings-global' import 'typings-global'
import * as smartq from 'smartq'
import * as events from 'events' import * as events from 'events'
import * as lodash from 'lodash' import * as lodash from 'lodash'
import * as minimatch from 'minimatch' import * as minimatch from 'minimatch'
import * as smartq from 'smartq'
const symbolTree = require('symbol-tree')
export { export {
smartq,
events, events,
lodash, lodash,
minimatch minimatch,
smartq,
symbolTree
} }

116
ts/lik.tree.ts Normal file
View File

@ -0,0 +1,116 @@
import * as plugins from './lik.plugins'
export class Tree<T> {
symbolTree: any
constructor () {
this.symbolTree = new plugins.symbolTree()
}
/**
*
* @param objectArg
*/
initialize (objectArg: T): T {
return this.symbolTree.initialize(objectArg)
}
hasChildren (objectArg: T): boolean {
return this.symbolTree.hasChildren(objectArg)
}
firstChild (objectArg: T): T {
return this.symbolTree.firstChild(objectArg)
}
lastChild (objectArg: T): T {
return this.symbolTree.lastChild(objectArg)
}
previousSibling (objectArg: T): T {
return this.symbolTree.previousSibling(objectArg)
}
nextSibling (objectArg: T): T {
return this.symbolTree.nextSibling(objectArg)
}
parent (objectArg: T): T {
return this.symbolTree.parent(objectArg)
}
lastInclusiveDescendant(objectArg: T): T {
return this.symbolTree.lastInclusiveDescendant(objectArg)
}
preceding(objectArg: T, optionsArg?: any): T {
return this.symbolTree.preceding(objectArg, optionsArg)
}
following (object: T, optionsArg: any) {
return this.symbolTree.following(object, optionsArg)
}
childrenToArray (parentArg: T, optionsArg: any): T[] {
return this.symbolTree.childrenToArray(parent, optionsArg)
}
ancestorsToArray (objectArg: T, optionsArg: any): T[] {
return this.symbolTree.ancestorsToArray(objectArg, optionsArg)
}
treeToArray (rootArg, optionsArg: any): T[] {
return this.symbolTree.treeToArray(rootArg, optionsArg)
}
childrenIterator (parentArg: T, optionsArg): T {
return this.symbolTree.childrenIterator(parentArg, optionsArg)
}
previousSiblingsIterator (objectArg): T {
return this.symbolTree.previousSiblingsIterator(objectArg)
}
nextSiblingsIterator (objectArg: T) {
return this.symbolTree.nextSiblingsIterator()
}
ancestorsIterator (objectArg) {
this.symbolTree.ancestorsIterator()
}
treeIterator (rootArg: T, optionsArg): T {
return this.symbolTree.treeIterator(rootArg)
}
index (childArg: T): number {
return this.symbolTree.index(childArg)
}
childrenCount (parentArg: T): number {
return this.symbolTree.childrenCount(parentArg)
}
compareTreePosition (leftArg: T, rightArg: T): number {
return this.compareTreePosition(leftArg, rightArg)
}
remove (removeObjectArg: T): T {
return this.symbolTree.remove(removeObjectArg)
}
insertBefore (referenceObjectArg: T, newObjectArg: T): T {
return this.symbolTree.insertBefore(referenceObjectArg, newObjectArg)
}
insertAfter (referenceObject: T, newObjectArg: T) {
return this.symbolTree.insertAfter(referenceObject, newObjectArg)
}
prependChild (referenceObjectArg: T, newObjectArg: T): T {
return this.symbolTree.prependChild(referenceObjectArg, newObjectArg)
}
appendChild (referenceObjectArg, newObjectArg) {
return this.symbolTree.appendChild(referenceObjectArg, newObjectArg)
}
}

150
yarn.lock
View File

@ -2,56 +2,21 @@
# yarn lockfile v1 # yarn lockfile v1
"@types/chai-as-promised@0.0.29": "@types/code@^4.0.3":
version "0.0.29" version "4.0.3"
resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-0.0.29.tgz#43d52892aa998e185a3de3e2477edb8573be1d77" resolved "https://registry.yarnpkg.com/@types/code/-/code-4.0.3.tgz#9c4de39f86eb3eba070146d2dab7dbc3f8eac35f"
dependencies:
"@types/chai" "*"
"@types/promises-a-plus" "*"
"@types/chai-string@^1.1.30":
version "1.1.31"
resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.1.31.tgz#a22f75d713f69da8c5cf34f8bc808a62cd249405"
dependencies:
"@types/chai" "*"
"@types/chai@*":
version "4.0.4"
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.4.tgz#fe86315d9a66827feeb16f73bc954688ec950e18"
"@types/chai@^3.4.35":
version "3.5.2"
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.2.tgz#c11cd2817d3a401b7ba0f5a420f35c56139b1c1e"
"@types/glob@*":
version "5.0.32"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.32.tgz#aec5cfe987c72f099fdb1184452986aa506d5e8f"
dependencies:
"@types/minimatch" "*"
"@types/node" "*"
"@types/lodash@^4.14.74": "@types/lodash@^4.14.74":
version "4.14.74" version "4.14.85"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.74.tgz#ac3bd8db988e7f7038e5d22bd76a7ba13f876168" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.85.tgz#a16fbf942422f6eca5622b6910492c496c35069b"
"@types/minimatch@*", "@types/minimatch@3.x.x": "@types/minimatch@3.x.x":
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.1.tgz#b683eb60be358304ef146f5775db4c0e3696a550" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.1.tgz#b683eb60be358304ef146f5775db4c0e3696a550"
"@types/node@*": "@types/node@^8.0.33":
version "8.0.29" version "8.0.53"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.29.tgz#4d6b33df66b15611b40452a581c40d9c94341ba1" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.53.tgz#396b35af826fa66aad472c8cb7b8d5e277f4e6d8"
"@types/promises-a-plus@*":
version "0.0.27"
resolved "https://registry.yarnpkg.com/@types/promises-a-plus/-/promises-a-plus-0.0.27.tgz#c64651134614c84b8f5d7114ce8901d36a609780"
"@types/shelljs@^0.7.4":
version "0.7.4"
resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.4.tgz#137b5f31306eaff4de120ffe5b9d74b297809cfc"
dependencies:
"@types/glob" "*"
"@types/node" "*"
"@types/which@^1.0.28": "@types/which@^1.0.28":
version "1.0.28" version "1.0.28"
@ -61,10 +26,6 @@ ansi-256-colors@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz#910de50efcc7c09e3d82f2f87abd6b700c18818a" resolved "https://registry.yarnpkg.com/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz#910de50efcc7c09e3d82f2f87abd6b700c18818a"
assertion-error@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
balanced-match@^1.0.0: balanced-match@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
@ -87,38 +48,16 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0" balanced-match "^1.0.0"
concat-map "0.0.1" concat-map "0.0.1"
chai-as-promised@^6.0.0: code@^5.1.0:
version "6.0.0" version "5.1.2"
resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6" resolved "https://registry.yarnpkg.com/code/-/code-5.1.2.tgz#e3310c2078ca7dc0b49b9c39a8b0a7b06bd75efe"
dependencies: dependencies:
check-error "^1.0.2" hoek "5.x.x"
chai-string@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.4.0.tgz#359140c051d36a4e4b1a5fc6b910152f438a8d49"
chai@^3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247"
dependencies:
assertion-error "^1.0.1"
deep-eql "^0.1.3"
type-detect "^1.0.0"
check-error@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
concat-map@0.0.1: concat-map@0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
deep-eql@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
dependencies:
type-detect "0.1.1"
define-properties@^1.1.2: define-properties@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
@ -135,8 +74,8 @@ early@^2.1.1:
typings-global "^1.0.16" typings-global "^1.0.16"
es-abstract@^1.5.1: es-abstract@^1.5.1:
version "1.8.2" version "1.9.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.8.2.tgz#25103263dc4decbda60e0c737ca32313518027ee" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227"
dependencies: dependencies:
es-to-primitive "^1.1.1" es-to-primitive "^1.1.1"
function-bind "^1.1.1" function-bind "^1.1.1"
@ -185,6 +124,10 @@ has@^1.0.1:
dependencies: dependencies:
function-bind "^1.0.2" function-bind "^1.0.2"
hoek@5.x.x:
version "5.0.2"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.2.tgz#d2f2c95d36fe7189cf8aa8c237abc1950eca1378"
inflight@^1.0.4: inflight@^1.0.4:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@ -258,8 +201,8 @@ minimist@^1.2.0:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
nan@^2.3.2: nan@^2.3.2:
version "2.7.0" version "2.8.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
object-keys@^1.0.8: object-keys@^1.0.8:
version "1.0.11" version "1.0.11"
@ -297,8 +240,8 @@ rechoir@^0.6.2:
resolve "^1.1.6" resolve "^1.1.6"
resolve@^1.1.6: resolve@^1.1.6:
version "1.4.0" version "1.5.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
dependencies: dependencies:
path-parse "^1.0.5" path-parse "^1.0.5"
@ -315,19 +258,16 @@ shelljs@^0.7.8:
rechoir "^0.6.2" rechoir "^0.6.2"
smartchai@^1.0.3: smartchai@^1.0.3:
version "1.0.3" version "1.0.8"
resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.3.tgz#de6d010bb8b5aef24cb70b31a5f5334e8c41b72f" resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.8.tgz#a074836f4ddd4b98c50f1e7ae9e8e8ad9f6f1902"
dependencies: dependencies:
"@types/chai" "^3.4.35" "@types/code" "^4.0.3"
"@types/chai-as-promised" "0.0.29" code "^5.1.0"
"@types/chai-string" "^1.1.30" typings-global "^1.0.20"
chai "^3.5.0"
chai-as-promised "^6.0.0"
chai-string "^1.3.0"
smartdelay@^1.0.3: smartdelay@^1.0.3:
version "1.0.3" version "1.0.4"
resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.3.tgz#5fd44dad77262d110702f0293efa80c072cfb579" resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.4.tgz#791c1a4ee6770494064c10b1d2d2b8e6f3105b82"
dependencies: dependencies:
smartq "^1.1.1" smartq "^1.1.1"
typings-global "^1.0.16" typings-global "^1.0.16"
@ -340,20 +280,24 @@ smartq@^1.1.1, smartq@^1.1.6:
util.promisify "^1.0.0" util.promisify "^1.0.0"
smartshell@^1.0.6: smartshell@^1.0.6:
version "1.0.18" version "1.0.19"
resolved "https://registry.yarnpkg.com/smartshell/-/smartshell-1.0.18.tgz#b84ccc65cedf3a875bf676cec78ee07f4b4aa9e5" resolved "https://registry.yarnpkg.com/smartshell/-/smartshell-1.0.19.tgz#459c7a9fab8a25007848ffc711b7a817dd6ffc00"
dependencies: dependencies:
"@types/shelljs" "^0.7.4"
"@types/which" "^1.0.28" "@types/which" "^1.0.28"
shelljs "^0.7.8" shelljs "^0.7.8"
smartq "^1.1.6" smartq "^1.1.6"
typings-global "^1.0.20" typings-global "^1.0.23"
which "^1.3.0" which "^1.3.0"
symbol-tree@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
tapbundle@^1.1.1: tapbundle@^1.1.1:
version "1.1.1" version "1.1.8"
resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.1.tgz#ec4172c0e82a77b1f6133fef2606311ede28a62d" resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.8.tgz#e08aee0e100a830d8a26a583a85d37ce53312e02"
dependencies: dependencies:
"@types/node" "^8.0.33"
early "^2.1.1" early "^2.1.1"
leakage "^0.3.0" leakage "^0.3.0"
smartchai "^1.0.3" smartchai "^1.0.3"
@ -361,17 +305,9 @@ tapbundle@^1.1.1:
smartq "^1.1.1" smartq "^1.1.1"
typings-global "^1.0.19" typings-global "^1.0.19"
type-detect@0.1.1: typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.19, typings-global@^1.0.20, typings-global@^1.0.23:
version "0.1.1" version "1.0.23"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.23.tgz#cdd085803049dd07d95b2e1475243c6b2db378ab"
type-detect@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2"
typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.19, typings-global@^1.0.20:
version "1.0.20"
resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.20.tgz#3da769c54db538247c5d877d1d9e97eb2ec981ff"
dependencies: dependencies:
semver "^5.3.0" semver "^5.3.0"
smartshell "^1.0.6" smartshell "^1.0.6"