Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

comb

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

comb - npm Package Compare versions

Comparing version
0.3.4
to
0.3.5
+392
-367
.idea/workspace.xml

@@ -66,115 +66,104 @@ <?xml version="1.0" encoding="UTF-8"?>

<component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.5">
<split-first>
<leaf>
<file leaf-file-name="string.test.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/base/string.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1885" max-vertical-offset="3735">
<caret line="138" column="23" selection-start-line="138" selection-start-column="23" selection-end-line="138" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="object.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/base/object.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="4140" max-vertical-offset="8715">
<caret line="276" column="10" selection-start-line="276" selection-start-column="10" selection-end-line="276" selection-end-column="10" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="index.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/base/date/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="13725">
<caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="package.json" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.875" vertical-offset="0" max-vertical-offset="465">
<caret line="3" column="21" selection-start-line="3" selection-start-column="21" selection-end-line="3" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="History.md" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/History.md">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.51039696" vertical-offset="0" max-vertical-offset="4305">
<caret line="18" column="7" selection-start-line="18" selection-start-column="7" selection-end-line="18" selection-end-column="7" />
<folding />
</state>
</provider>
<provider editor-type-id="MarkdownPreviewEditor">
<state />
</provider>
</entry>
</file>
<file leaf-file-name="index.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/base/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="120" max-vertical-offset="270">
<caret line="8" column="22" selection-start-line="8" selection-start-column="22" selection-end-line="8" selection-end-column="22" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="string.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/base/string.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-15.0" vertical-offset="4170" max-vertical-offset="8265">
<caret line="304" column="23" selection-start-line="304" selection-start-column="23" selection-end-line="304" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="utils.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/extensions/utils.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="315" max-vertical-offset="750">
<caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="misc.js" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/base/misc.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2010" max-vertical-offset="2895">
<caret line="134" column="7" selection-start-line="134" selection-start-column="7" selection-end-line="134" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</split-first>
<split-second>
<leaf>
<file leaf-file-name="string.test.js" pinned="false" current="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/test/base/string.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.8445596" vertical-offset="3156" max-vertical-offset="3735">
<caret line="243" column="3" selection-start-line="243" selection-start-column="3" selection-end-line="243" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</split-second>
</splitter>
<leaf>
<file leaf-file-name="index.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/logging/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-182.42308" vertical-offset="2577" max-vertical-offset="10485">
<caret line="488" column="34" selection-start-line="488" selection-start-column="34" selection-end-line="488" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.0" vertical-offset="0" max-vertical-offset="1110">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="package.json" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.875" vertical-offset="0" max-vertical-offset="465">
<caret line="3" column="21" selection-start-line="3" selection-start-column="21" selection-end-line="3" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="History.md" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/History.md">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.47666335" vertical-offset="0" max-vertical-offset="4380">
<caret line="32" column="19" selection-start-line="32" selection-start-column="19" selection-end-line="32" selection-end-column="19" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="consoleAppender.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/consoleAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="630">
<caret line="9" column="5" selection-start-line="9" selection-start-column="5" selection-end-line="9" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="index.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="255">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="fileAppender.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/fileAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="91" max-vertical-offset="1365">
<caret line="67" column="8" selection-start-line="67" selection-start-column="8" selection-end-line="67" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="level.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/logging/level.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2895">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="rollingFileAppender.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/rollingFileAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-4.1538463" vertical-offset="2262" max-vertical-offset="3510">
<caret line="158" column="26" selection-start-line="158" selection-start-column="26" selection-end-line="158" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="jsonAppender.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/jsonAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1350">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>

@@ -202,3 +191,2 @@ <component name="FindManager">

<option value="$PROJECT_DIR$/lib/extensions/object.js" />
<option value="$PROJECT_DIR$/test/base/object.test.js" />
<option value="$PROJECT_DIR$/docs-md/introduction.md" />

@@ -211,3 +199,2 @@ <option value="$PROJECT_DIR$/Gruntfile.js" />

<option value="$PROJECT_DIR$/test/base/array.test.js" />
<option value="$PROJECT_DIR$/lib/logging/index.js" />
<option value="$PROJECT_DIR$/lib/index.js" />

@@ -220,5 +207,2 @@ <option value="$PROJECT_DIR$/benchmark/define.benchmark.js" />

<option value="$PROJECT_DIR$/benchmark/promise.benchmark.js" />
<option value="$PROJECT_DIR$/lib/base/object.js" />
<option value="$PROJECT_DIR$/lib/promise.js" />
<option value="$PROJECT_DIR$/lib/define.js" />
<option value="$PROJECT_DIR$/test/define.test.js" />

@@ -229,8 +213,20 @@ <option value="$PROJECT_DIR$/.travis.yml" />

<option value="$PROJECT_DIR$/node_modules/function-extended/index.js" />
<option value="$PROJECT_DIR$/lib/base/index.js" />
<option value="$PROJECT_DIR$/lib/base/date/index.js" />
<option value="$PROJECT_DIR$/History.md" />
<option value="$PROJECT_DIR$/package.json" />
<option value="$PROJECT_DIR$/test/base/string.test.js" />
<option value="$PROJECT_DIR$/lib/extensions/index.js" />
<option value="$PROJECT_DIR$/lib/extensions/utils.js" />
<option value="$PROJECT_DIR$/lib/define.js" />
<option value="$PROJECT_DIR$/lib/promise.js" />
<option value="$PROJECT_DIR$/test/base/object.test.js" />
<option value="$PROJECT_DIR$/test/base/functions.test.js" />
<option value="$PROJECT_DIR$/lib/base/index.js" />
<option value="$PROJECT_DIR$/lib/base/string.js" />
<option value="$PROJECT_DIR$/lib/base/object.js" />
<option value="$PROJECT_DIR$/lib/logging/appenders/consoleAppender.js" />
<option value="$PROJECT_DIR$/lib/logging/index.js" />
<option value="$PROJECT_DIR$/lib/logging/appenders/fileAppender.js" />
<option value="$PROJECT_DIR$/lib/logging/appenders/jsonAppender.js" />
<option value="$PROJECT_DIR$/package.json" />
<option value="$PROJECT_DIR$/History.md" />
<option value="$PROJECT_DIR$/lib/logging/appenders/rollingFileAppender.js" />
</list>

@@ -241,4 +237,4 @@ </option>

<option name="y" value="22" />
<option name="width" value="1920" />
<option name="height" value="1174" />
<option name="width" value="2560" />
<option name="height" value="1178" />
</component>

@@ -271,3 +267,2 @@ <component name="ProjectLevelVcsManager" settingsEditedManually="false">

<panes>
<pane id="Scope" />
<pane id="ProjectPane">

@@ -319,2 +314,42 @@ <subPane>

<PATH_ELEMENT>
<option name="myItemId" value="logging" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="comb" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="comb" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="lib" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="logging" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="appenders" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="comb" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="comb" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="lib" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="base" />

@@ -326,2 +361,3 @@ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />

</pane>
<pane id="Scope" />
<pane id="PackagesPane" />

@@ -341,13 +377,16 @@ </panes>

<property name="SearchEverywhereHistoryKey" value="define&#9;FILE&#9;file:///Users/doug/git/comb/lib/define.js" />
<property name="HbShouldOpenHtmlAsHb" value="" />
</component>
<component name="RunManager" selected="Node.js.string.js">
<configuration default="false" name="define.benchmark.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/benchmark/define.benchmark.js" working-dir="$PROJECT_DIR$">
<configuration default="false" name="string.test.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/test/base/string.test.js" working-dir="$PROJECT_DIR$">
<envs>
<env name="NODE_PATH" value="/Users/doug/git/comb/lib" />
</envs>
<RunnerSettings RunnerId="NodeJS.debug" />
<RunnerSettings RunnerId="NodeJS.run" />
<ConfigurationWrapper RunnerId="NodeJS.debug" />
<ConfigurationWrapper RunnerId="NodeJS.run" />
<method />
</configuration>
<configuration default="false" name="promise.test.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/test/promise.test.js" working-dir="$PROJECT_DIR$">
<configuration default="false" name="string.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/lib/base/string.js" working-dir="$PROJECT_DIR$">
<envs>

@@ -362,3 +401,3 @@ <env name="NODE_PATH" value="/Users/doug/git/comb/lib" />

</configuration>
<configuration default="false" name="string.test.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/test/base/string.test.js" working-dir="$PROJECT_DIR$">
<configuration default="false" name="BinaryTree.test.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/test/collections/BinaryTree.test.js" working-dir="$PROJECT_DIR$">
<envs>

@@ -368,8 +407,6 @@ <env name="NODE_PATH" value="/Users/doug/git/comb/lib" />

<RunnerSettings RunnerId="NodeJS.debug" />
<RunnerSettings RunnerId="NodeJS.run" />
<ConfigurationWrapper RunnerId="NodeJS.debug" />
<ConfigurationWrapper RunnerId="NodeJS.run" />
<method />
</configuration>
<configuration default="false" name="string.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/lib/base/string.js" working-dir="$PROJECT_DIR$">
<configuration default="false" name="object.test.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/test/base/object.test.js" working-dir="$PROJECT_DIR$">
<envs>

@@ -384,3 +421,3 @@ <env name="NODE_PATH" value="/Users/doug/git/comb/lib" />

</configuration>
<configuration default="false" name="BinaryTree.test.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/test/collections/BinaryTree.test.js" working-dir="$PROJECT_DIR$">
<configuration default="false" name="functions.test.js" type="NodeJSConfigurationType" factoryName="Node.js" temporary="true" path-to-node="/usr/local/bin/node" path-to-js-file="$PROJECT_DIR$/test/base/functions.test.js" working-dir="$PROJECT_DIR$">
<envs>

@@ -390,49 +427,13 @@ <env name="NODE_PATH" value="/Users/doug/git/comb/lib" />

<RunnerSettings RunnerId="NodeJS.debug" />
<RunnerSettings RunnerId="NodeJS.run" />
<ConfigurationWrapper RunnerId="NodeJS.debug" />
<ConfigurationWrapper RunnerId="NodeJS.run" />
<method />
</configuration>
<configuration default="true" type="GoApplicationRunConfiguration" factoryName="Go Application">
<option name="name" value="Go application" />
<option name="saveOutputToFile" value="false" />
<option name="showConsoleOnStdErr" value="false" />
<option name="showConsoleOnStdOut" value="false" />
<option name="scriptName" value="" />
<option name="scriptArguments" value="" />
<option name="builderArguments" value="" />
<option name="goBuildBeforeRun" value="false" />
<option name="goOutputDir" value="" />
<option name="workingDir" value="" />
<option name="envVars" value="" />
<option name="goVetEnabled" value="false" />
<module name="" />
<configuration default="true" type="DartUnitRunConfigurationType" factoryName="DartUnit">
<method />
</configuration>
<configuration default="true" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application">
<option name="VMOptions" />
<option name="arguments" />
<option name="filePath" />
<option name="name" value="Dart" />
<option name="saveOutputToFile" value="false" />
<option name="showConsoleOnStdErr" value="false" />
<option name="showConsoleOnStdOut" value="false" />
<method />
</configuration>
<configuration default="true" type="DartUnitRunConfigurationType" factoryName="DartUnit">
<option name="VMOptions" />
<option name="arguments" />
<option name="filePath" />
<option name="scope" value="ALL" />
<option name="testName" />
<method />
</configuration>
<configuration default="true" type="CucumberJavaScriptRunConfigurationType" factoryName="Cucumber.js">
<option name="cucumberJsArguments" />
<option name="executablePath" />
<option name="filePath" />
<method />
</configuration>
<configuration default="true" type="JavaScriptTestRunnerKarma" factoryName="Karma" config-file="">
<envs />
<method />
</configuration>
<configuration default="true" type="JSTestDriver:ConfigurationType" factoryName="JsTestDriver">

@@ -445,24 +446,7 @@ <setting name="configLocationType" value="CONFIG_FILE" />

</configuration>
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
<configuration default="true" type="JavaScriptTestRunnerKarma" factoryName="Karma" config-file="">
<envs />
<method />
</configuration>
<configuration default="true" type="GoTestConfiguration" factoryName="Go Test">
<option name="name" value="Go Test" />
<option name="saveOutputToFile" value="false" />
<option name="showConsoleOnStdErr" value="false" />
<option name="showConsoleOnStdOut" value="false" />
<option name="envVars" value="" />
<option name="testRunnerArgs" value="" />
<option name="testTargetType" value="Package" />
<option name="packageName" value="" />
<option name="packageDir" value="" />
<option name="testFile" value="" />
<option name="testArgs" value="" />
<option name="workingDir" value="" />
<option name="executeWhat" value="Test" />
<option name="filter" value="" />
<option name="useShortRun" value="false" />
<option name="testBeforeBenchmark" value="false" />
<option name="goVetEnabled" value="false" />
<module name="" />
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
<method />

@@ -476,8 +460,14 @@ </configuration>

</configuration>
<configuration default="true" type="cucumber.js" factoryName="Cucumber.js">
<option name="cucumberJsArguments" value="" />
<option name="executablePath" />
<option name="filePath" />
<method />
</configuration>
<list size="5">
<item index="0" class="java.lang.String" itemvalue="Node.js.define.benchmark.js" />
<item index="1" class="java.lang.String" itemvalue="Node.js.promise.test.js" />
<item index="2" class="java.lang.String" itemvalue="Node.js.string.test.js" />
<item index="3" class="java.lang.String" itemvalue="Node.js.string.js" />
<item index="4" class="java.lang.String" itemvalue="Node.js.BinaryTree.test.js" />
<item index="0" class="java.lang.String" itemvalue="Node.js.string.test.js" />
<item index="1" class="java.lang.String" itemvalue="Node.js.string.js" />
<item index="2" class="java.lang.String" itemvalue="Node.js.BinaryTree.test.js" />
<item index="3" class="java.lang.String" itemvalue="Node.js.object.test.js" />
<item index="4" class="java.lang.String" itemvalue="Node.js.functions.test.js" />
</list>

@@ -487,6 +477,6 @@ <recent_temporary>

<item index="0" class="java.lang.String" itemvalue="Node.js.string.js" />
<item index="1" class="java.lang.String" itemvalue="Node.js.string.test.js" />
<item index="2" class="java.lang.String" itemvalue="Node.js.BinaryTree.test.js" />
<item index="3" class="java.lang.String" itemvalue="Node.js.promise.test.js" />
<item index="4" class="java.lang.String" itemvalue="Node.js.define.benchmark.js" />
<item index="1" class="java.lang.String" itemvalue="Node.js.functions.test.js" />
<item index="2" class="java.lang.String" itemvalue="Node.js.object.test.js" />
<item index="3" class="java.lang.String" itemvalue="Node.js.string.test.js" />
<item index="4" class="java.lang.String" itemvalue="Node.js.BinaryTree.test.js" />
</list>

@@ -503,2 +493,3 @@ </recent_temporary>

<created>1353393073790</created>
<option name="number" value="Default" />
<updated>1353393073790</updated>

@@ -509,3 +500,3 @@ </task>

<component name="ToolWindowManager">
<frame x="0" y="22" width="1920" height="1174" extended-state="6" />
<frame x="0" y="22" width="2560" height="1178" extended-state="6" />
<editor active="true" />

@@ -517,7 +508,7 @@ <layout>

<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.13006845" sideWeight="0.7808349" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.46502835" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.11461205" sideWeight="0.7808349" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4659091" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.41398865" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.41382575" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />

@@ -534,5 +525,5 @@ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />

<window_info id="JetGradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32808155" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3276515" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />

@@ -547,4 +538,4 @@ <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />

<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
<window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />

@@ -555,5 +546,5 @@ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />

<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.12006319" sideWeight="0.7808349" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.13006845" sideWeight="0.7808349" order="0" side_tool="false" content_ui="combo" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.41950756" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.41398865" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />

@@ -563,6 +554,6 @@ <window_info id="Atlassian " active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />

<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.45749614" sideWeight="0.5" order="14" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32808155" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.59375" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.46502835" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />

@@ -625,5 +616,31 @@ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />

</line-breakpoint>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/lib/base/object.js</url>
<line>244</line>
<option name="timeStamp" value="147" />
</line-breakpoint>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/test/base/object.test.js</url>
<line>160</line>
<option name="timeStamp" value="149" />
</line-breakpoint>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/test/base/object.test.js</url>
<line>143</line>
<option name="timeStamp" value="150" />
</line-breakpoint>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/../object-extended/index.js</url>
<line>204</line>
<option name="timeStamp" value="153" />
</line-breakpoint>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/test/base/functions.test.js</url>
<line>217</line>
<option name="timeStamp" value="156" />
</line-breakpoint>
</breakpoints>
<option name="time" value="142" />
<option name="time" value="158" />
</breakpoint-manager>
<watches-manager />
</component>

@@ -650,231 +667,236 @@ <component name="atlassian-ide-plugin-workspace">

<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/docs-md/introduction.md">
<entry file="file://$PROJECT_DIR$/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="18388" max-vertical-offset="19575">
<caret line="1252" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="440">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/base/object.test.js">
<entry file="file://$PROJECT_DIR$/test/base/array.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="6465" max-vertical-offset="6600">
<caret line="431" column="3" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="16150" max-vertical-offset="16590">
<caret line="1100" column="14" selection-start-line="1100" selection-start-column="14" selection-end-line="1100" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/extensions/object.js">
<entry file="file://$PROJECT_DIR$/test/promiseList.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="225" max-vertical-offset="705">
<caret line="15" column="15" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="2235" max-vertical-offset="2325">
<caret line="149" column="0" selection-start-line="149" selection-start-column="0" selection-end-line="149" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/base/string.js">
<entry file="file://$PROJECT_DIR$/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="75" max-vertical-offset="17895">
<caret line="5" column="3" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="105" max-vertical-offset="705">
<caret line="7" column="97" selection-start-line="7" selection-start-column="97" selection-end-line="7" selection-end-column="97" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/base/array.js">
<entry file="file://$PROJECT_DIR$/benchmark/promise.benchmark.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="15449" max-vertical-offset="16425">
<caret line="452" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.29126215" vertical-offset="0" max-vertical-offset="1030">
<caret line="20" column="15" selection-start-line="20" selection-start-column="15" selection-end-line="20" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/collections/Pool.js">
<entry file="file://$PROJECT_DIR$/test/async.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="870" max-vertical-offset="2490">
<caret line="58" column="36" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.3343166" vertical-offset="2900" max-vertical-offset="14745">
<caret line="216" column="18" selection-start-line="216" selection-start-column="18" selection-end-line="216" selection-end-column="18" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/base/date/transforms.js">
<entry file="file://$PROJECT_DIR$/lib/collections/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="294" max-vertical-offset="2295">
<caret line="29" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="225" max-vertical-offset="390">
<caret line="15" column="29" selection-start-line="15" selection-start-column="29" selection-end-line="15" selection-end-column="29" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/base/date.test.js">
<entry file="file://$PROJECT_DIR$/lib/async.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="31639" max-vertical-offset="31905">
<caret line="2121" column="14" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="18660">
<caret line="29" column="34" selection-start-line="29" selection-start-column="34" selection-end-line="29" selection-end-column="34" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/extensions/object.js">
<entry file="file://$USER_HOME$/Library/Caches/WebStorm8/extLibs/nodejs-v0.10.26-src/core-modules-sources/lib/events.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="225" max-vertical-offset="705">
<caret line="15" column="15" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="2205" max-vertical-offset="4245">
<caret line="179" column="15" selection-start-line="179" selection-start-column="15" selection-end-line="179" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/docs-md/introduction.md">
<entry file="file://$PROJECT_DIR$/node_modules/it/node_modules/extended/node_modules/extender/test/is.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="18388" max-vertical-offset="19575">
<caret line="1252" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="420" max-vertical-offset="1275">
<caret line="41" column="9" selection-start-line="41" selection-start-column="9" selection-end-line="41" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/base/object.test.js">
<entry file="file://$PROJECT_DIR$/.npmignore">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="5760" max-vertical-offset="6600">
<caret line="384" column="19" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="587">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/plugins/Middleware.js">
<entry file="file://$PROJECT_DIR$/test/define.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1183" max-vertical-offset="3390">
<caret line="92" column="36" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="5923" max-vertical-offset="6510">
<caret line="425" column="3" selection-start-line="425" selection-start-column="3" selection-end-line="425" selection-end-column="3" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/base/array.js">
<entry file="file://$PROJECT_DIR$/benchmark/define.benchmark.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="15394" max-vertical-offset="16935">
<caret line="1037" column="36" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="1138" max-vertical-offset="1725">
<caret line="58" column="12" selection-start-line="58" selection-start-column="12" selection-end-line="58" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/extensions/array.js">
<entry file="file://$PROJECT_DIR$/.travis.yml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.14272122" vertical-offset="0" max-vertical-offset="1051">
<caret line="10" column="56" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="120">
<caret line="2" column="10" selection-start-line="2" selection-start-column="10" selection-end-line="2" selection-end-column="10" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/index.js">
<entry file="file://$PROJECT_DIR$/test/promise.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="440">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="15328" max-vertical-offset="16155">
<caret line="1071" column="0" selection-start-line="1071" selection-start-column="0" selection-end-line="1071" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/base/array.test.js">
<entry file="file://$PROJECT_DIR$/lib/base/characters.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="16150" max-vertical-offset="16590">
<caret line="1100" column="14" selection-start-line="1100" selection-start-column="14" selection-end-line="1100" selection-end-column="14" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="11505">
<caret line="2" column="2" selection-start-line="2" selection-start-column="2" selection-end-line="2" selection-end-column="2" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/promiseList.test.js">
<entry file="file://$PROJECT_DIR$/lib/base/broadcast.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2235" max-vertical-offset="2325">
<caret line="149" column="0" selection-start-line="149" selection-start-column="0" selection-end-line="149" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2655">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Makefile">
<entry file="file://$PROJECT_DIR$/node_modules/extended/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="105" max-vertical-offset="705">
<caret line="7" column="97" selection-start-line="7" selection-start-column="97" selection-end-line="7" selection-end-column="97" />
<state vertical-scroll-proportion="0.76047903" vertical-offset="543" max-vertical-offset="1545">
<caret line="87" column="11" selection-start-line="87" selection-start-column="9" selection-end-line="87" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/benchmark/promise.benchmark.js">
<entry file="file://$PROJECT_DIR$/test/collections/treeTest.helper.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.29126215" vertical-offset="0" max-vertical-offset="1030">
<caret line="20" column="15" selection-start-line="20" selection-start-column="15" selection-end-line="20" selection-end-column="15" />
<state vertical-scroll-proportion="0.0" vertical-offset="604" max-vertical-offset="5070">
<caret line="48" column="50" selection-start-line="48" selection-start-column="50" selection-end-line="48" selection-end-column="50" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/async.test.js">
<entry file="file://$PROJECT_DIR$/node_modules/function-extended/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.3343166" vertical-offset="2900" max-vertical-offset="14745">
<caret line="216" column="18" selection-start-line="216" selection-start-column="18" selection-end-line="216" selection-end-column="18" />
<folding />
<state vertical-scroll-proportion="0.0" vertical-offset="2924" max-vertical-offset="3960">
<caret line="223" column="17" selection-start-line="223" selection-start-column="17" selection-end-line="223" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/index.js">
<entry file="file://$USER_HOME$/Library/Caches/WebStorm8/extLibs/nodejs-v0.10.26-src/core-modules-sources/lib/module.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="710" max-vertical-offset="1740">
<caret line="110" column="0" selection-start-line="110" selection-start-column="0" selection-end-line="110" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="6143" max-vertical-offset="7860">
<caret line="438" column="0" selection-start-line="438" selection-start-column="0" selection-end-line="439" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/collections/index.js">
<entry file="file://$PROJECT_DIR$/lib/base/date/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="225" max-vertical-offset="390">
<caret line="15" column="29" selection-start-line="15" selection-start-column="29" selection-end-line="15" selection-end-column="29" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="13725">
<caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/async.js">
<entry file="file://$PROJECT_DIR$/lib/base/number.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="18660">
<caret line="29" column="34" selection-start-line="29" selection-start-column="34" selection-end-line="29" selection-end-column="34" />
<state vertical-scroll-proportion="0.0" vertical-offset="58" max-vertical-offset="1065">
<caret line="44" column="5" selection-start-line="40" selection-start-column="20" selection-end-line="44" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/appender.js">
<entry file="file://$PROJECT_DIR$/test/base/string.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2580">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="1885" max-vertical-offset="3735">
<caret line="132" column="67" selection-start-line="132" selection-start-column="67" selection-end-line="132" selection-end-column="67" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/logging/index.js">
<entry file="file://$PROJECT_DIR$/lib/extensions/cast.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="4636" max-vertical-offset="10440">
<caret line="333" column="65" selection-start-line="333" selection-start-column="65" selection-end-line="333" selection-end-column="65" />
<state vertical-scroll-proportion="0.0" vertical-offset="212" max-vertical-offset="750">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Library/Caches/WebStorm8/extLibs/nodejs-v0.10.26-src/core-modules-sources/lib/events.js">
<entry file="file://$PROJECT_DIR$/lib/base/functions.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2205" max-vertical-offset="4245">
<caret line="179" column="15" selection-start-line="179" selection-start-column="15" selection-end-line="179" selection-end-column="15" />
<state vertical-scroll-proportion="3.3846154" vertical-offset="5188" max-vertical-offset="5700">
<caret line="340" column="6" selection-start-line="340" selection-start-column="4" selection-end-line="340" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/it/node_modules/extended/node_modules/extender/test/is.js">
<entry file="file://$PROJECT_DIR$/lib/base/misc.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="420" max-vertical-offset="1275">
<caret line="41" column="9" selection-start-line="41" selection-start-column="9" selection-end-line="41" selection-end-column="9" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2895">
<caret line="134" column="7" selection-start-line="134" selection-start-column="7" selection-end-line="134" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.npmignore">
<entry file="file://$PROJECT_DIR$/lib/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="587">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="710" max-vertical-offset="1740">
<caret line="110" column="0" selection-start-line="110" selection-start-column="0" selection-end-line="110" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/define.test.js">
<entry file="file://$PROJECT_DIR$/../object-extended/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="5923" max-vertical-offset="6510">
<caret line="425" column="3" selection-start-line="425" selection-start-column="3" selection-end-line="425" selection-end-column="3" />
<state vertical-scroll-proportion="0.0" vertical-offset="2890" max-vertical-offset="3600">
<caret line="204" column="0" selection-start-line="204" selection-start-column="0" selection-end-line="204" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/benchmark/define.benchmark.js">
<entry file="file://$PROJECT_DIR$/lib/extensions/utils.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1138" max-vertical-offset="1725">
<caret line="58" column="12" selection-start-line="58" selection-start-column="12" selection-end-line="58" selection-end-column="12" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="750">
<caret line="20" column="35" selection-start-line="20" selection-start-column="35" selection-end-line="20" selection-end-column="35" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.travis.yml">
<entry file="file://$PROJECT_DIR$/lib/define.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="120">
<caret line="2" column="10" selection-start-line="2" selection-start-column="10" selection-end-line="2" selection-end-column="10" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="9135">
<caret line="9" column="24" selection-start-line="9" selection-start-column="24" selection-end-line="9" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/promise.test.js">
<entry file="file://$PROJECT_DIR$/lib/promise.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="15328" max-vertical-offset="16155">
<caret line="1071" column="0" selection-start-line="1071" selection-start-column="0" selection-end-line="1071" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="14" max-vertical-offset="15060">
<caret line="29" column="1" selection-start-line="29" selection-start-column="1" selection-end-line="29" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/base/number.js">
<entry file="file://$PROJECT_DIR$/../function-extended/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1065">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="2140" max-vertical-offset="4095">
<caret line="154" column="27" selection-start-line="154" selection-start-column="27" selection-end-line="154" selection-end-column="27" />
<folding />

@@ -884,48 +906,53 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/lib/base/characters.js">
<entry file="file://$PROJECT_DIR$/lib/extensions/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="11505">
<caret line="2" column="2" selection-start-line="2" selection-start-column="2" selection-end-line="2" selection-end-column="2" />
<state vertical-scroll-proportion="0.30118445" vertical-offset="137" max-vertical-offset="780">
<caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/base/broadcast.js">
<entry file="file://$PROJECT_DIR$/lib/extensions/object.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2655">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="114" max-vertical-offset="705">
<caret line="15" column="15" selection-start-line="15" selection-start-column="15" selection-end-line="15" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/base/functions.js">
<entry file="file://$PROJECT_DIR$/lib/base/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="5700">
<caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="37" selection-end-column="1" />
<state vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="270">
<caret line="12" column="29" selection-start-line="12" selection-start-column="29" selection-end-line="12" selection-end-column="29" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/define.js">
<entry file="file://$PROJECT_DIR$/test/base/object.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="3443" max-vertical-offset="9135">
<caret line="256" column="19" selection-start-line="256" selection-start-column="19" selection-end-line="256" selection-end-column="19" />
<state vertical-scroll-proportion="0.0" vertical-offset="5933" max-vertical-offset="6600">
<caret line="432" column="0" selection-start-line="432" selection-start-column="0" selection-end-line="432" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/promise.js">
<entry file="file://$PROJECT_DIR$/test/base/functions.test.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="14" max-vertical-offset="15060">
<caret line="39" column="0" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="5370" max-vertical-offset="5700">
<caret line="358" column="38" selection-start-line="358" selection-start-column="38" selection-end-line="358" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/extended/index.js">
<entry file="file://$PROJECT_DIR$/lib/base/object.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.76047903" vertical-offset="543" max-vertical-offset="1545">
<caret line="87" column="11" selection-start-line="87" selection-start-column="9" selection-end-line="87" selection-end-column="11" />
<state vertical-scroll-proportion="0.0" vertical-offset="7567" max-vertical-offset="8715">
<caret line="322" column="25" selection-start-line="322" selection-start-column="25" selection-end-line="322" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/extensions/utils.js">
<entry file="file://$PROJECT_DIR$/lib/base/string.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="229" max-vertical-offset="750">
<caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="8265">
<caret line="506" column="24" selection-start-line="506" selection-start-column="24" selection-end-line="506" selection-end-column="24" />
<folding />

@@ -935,6 +962,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/test/collections/treeTest.helper.js">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/appender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="604" max-vertical-offset="5070">
<caret line="48" column="50" selection-start-line="48" selection-start-column="50" selection-end-line="48" selection-end-column="50" />
<state vertical-scroll-proportion="0.0" vertical-offset="1550" max-vertical-offset="2580">
<caret line="83" column="42" selection-start-line="83" selection-start-column="42" selection-end-line="83" selection-end-column="42" />
<folding />

@@ -944,13 +971,14 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/node_modules/function-extended/index.js">
<entry file="file://$PROJECT_DIR$/lib/logging/level.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2924" max-vertical-offset="3960">
<caret line="223" column="17" selection-start-line="223" selection-start-column="17" selection-end-line="223" selection-end-column="17" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2895">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Library/Caches/WebStorm8/extLibs/nodejs-v0.10.26-src/core-modules-sources/lib/module.js">
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="6143" max-vertical-offset="7860">
<caret line="438" column="0" selection-start-line="438" selection-start-column="0" selection-end-line="439" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1274">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />

@@ -960,6 +988,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/lib/base/object.js">
<entry file="file://$PROJECT_DIR$/lib/logging/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="3968" max-vertical-offset="8715">
<caret line="276" column="10" selection-start-line="276" selection-start-column="10" selection-end-line="276" selection-end-column="10" />
<state vertical-scroll-proportion="-182.42308" vertical-offset="2577" max-vertical-offset="10485">
<caret line="488" column="34" selection-start-line="488" selection-start-column="34" selection-end-line="488" selection-end-column="34" />
<folding />

@@ -969,6 +997,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/lib/base/misc.js">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/index.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="2895">
<caret line="134" column="7" selection-start-line="134" selection-start-column="7" selection-end-line="134" selection-end-column="7" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1274">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />

@@ -978,6 +1006,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/lib/base/index.js">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/consoleAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="270">
<caret line="8" column="22" selection-start-line="8" selection-start-column="22" selection-end-line="8" selection-end-column="22" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="630">
<caret line="9" column="5" selection-start-line="9" selection-start-column="5" selection-end-line="9" selection-end-column="5" />
<folding />

@@ -987,6 +1015,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/lib/base/date/index.js">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/fileAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="13725">
<caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
<state vertical-scroll-proportion="0.0" vertical-offset="91" max-vertical-offset="1365">
<caret line="67" column="8" selection-start-line="67" selection-start-column="8" selection-end-line="67" selection-end-column="8" />
<folding />

@@ -996,6 +1024,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/package.json">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/jsonAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-1.875" vertical-offset="0" max-vertical-offset="465">
<caret line="3" column="21" selection-start-line="3" selection-start-column="21" selection-end-line="3" selection-end-column="21" />
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1350">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />

@@ -1005,6 +1033,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/test/base/string.test.js">
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1885" max-vertical-offset="3735">
<caret line="138" column="23" selection-start-line="138" selection-start-column="23" selection-end-line="138" selection-end-column="23" />
<state vertical-scroll-proportion="-1.875" vertical-offset="0" max-vertical-offset="465">
<caret line="3" column="21" selection-start-line="3" selection-start-column="21" selection-end-line="3" selection-end-column="21" />
<folding />

@@ -1014,6 +1042,6 @@ </state>

</entry>
<entry file="file://$PROJECT_DIR$/lib/base/string.js">
<entry file="file://$PROJECT_DIR$/lib/logging/appenders/rollingFileAppender.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-15.0" vertical-offset="4170" max-vertical-offset="8265">
<caret line="304" column="23" selection-start-line="304" selection-start-column="23" selection-end-line="304" selection-end-column="23" />
<state vertical-scroll-proportion="-4.1538463" vertical-offset="2262" max-vertical-offset="3510">
<caret line="158" column="26" selection-start-line="158" selection-start-column="26" selection-end-line="158" selection-end-column="26" />
<folding />

@@ -1025,10 +1053,7 @@ </state>

<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.51039696" vertical-offset="0" max-vertical-offset="4305">
<caret line="18" column="7" selection-start-line="18" selection-start-column="7" selection-end-line="18" selection-end-column="7" />
<state vertical-scroll-proportion="0.47666335" vertical-offset="0" max-vertical-offset="4380">
<caret line="32" column="19" selection-start-line="32" selection-start-column="19" selection-end-line="32" selection-end-column="19" />
<folding />
</state>
</provider>
<provider editor-type-id="MarkdownPreviewEditor">
<state />
</provider>
</entry>

@@ -1035,0 +1060,0 @@ </component>

#[Promises](./comb_Promise.html)
`comb` provides an async wrapper called a [promise](http://en.wikipedia.org/wiki/Futures_and_promises). Promises are a way of handling async and sync behavior by encapsulating it in a wrapper. One of the benefits of promises is that it encourages the separation of success and failure logic, and provides a value that can be passed around rather than providing callbacks for every async action.
`comb` provides an async wrapper called a [promise](http://en.wikipedia.org/wiki/Futures_and_promises). Promises are a way of handling async and sync behavior by encapsulating it in a wrapper. One of the benefits of promises is that they encourage the separation of success and failure logic. Promises provide a value that can be passed around rather than providing callbacks for every async action.

@@ -17,3 +17,3 @@ ##[comb.Promise](./comb_Promise.html)

When working with a promise you must resolve the promise in order to callbacks/errbacks to be invoked. Resolution can happen before for after callbacks/errbacks have been registered. The methods to resolve a promise are `callback`, `errback`, and `resolve`.
When working with a promise you must resolve the promise in order for callbacks/errbacks to be invoked. Resolution can happen before for after callbacks/errbacks have been registered. The methods to resolve a promise are `callback`, `errback`, and `resolve`.

@@ -75,3 +75,3 @@ ###callback and errback

###Listening for Promise Resolutions.
###Listening for Promise Resolutions

@@ -149,3 +149,3 @@ To listen for the resolution of promises there are the following methods. For the following examples we will use the `readFile` method defined above.

The chain method is used to chain promises together so they execute ir order. The chain method is different from the [comb.serial](./comb.html#.serial) method in that it pipes the results from one promise into the next.
The chain method is used to chain promises together so they execute in order. The chain method is different from the [comb.serial](./comb.html#.serial) method in that it pipes the results from one promise into the next.

@@ -185,6 +185,6 @@ In the following example we chain the results of different promise actions into a single result.

If you do not provide an `errback` for each chain then it will be propogated to the final promise
If you do not provide an `errback` for each chain then it will be propogated to the final promise.
```
new Promise().callbac()
new Promise().callback()
.chain(function(){

@@ -203,3 +203,3 @@ return new comb.Promise().errback(new Error("error"));

Chain also allows you to catch errors so you can handle them successfully
Chain also allows you to catch errors so you can handle them successfully.

@@ -227,5 +227,6 @@ ```

console.log(str); //"caught error and handled"
});
```
If you still cannot handle the error you can rethrow the error.
If you still cannot handle the error you can rethrow the error. It will handle errors thrown asynchronously or synchronously.

@@ -237,2 +238,3 @@ ```

}, function(){
// return async error
return new Promise().errback(new Error("error not handled"));

@@ -242,2 +244,3 @@ })

console.log(err.message); //"error not handled"
});
```

@@ -254,2 +257,3 @@

console.log(err.message); //"error not handled"
});
```

@@ -313,3 +317,2 @@

return comb.when(files);
}

@@ -438,3 +441,3 @@

}).then(function(){
console.log(myNewArr) //[[1,0], [2,1], [3,2], [4,3], [5,4]]
console.log(myNewArr); //[[1,0], [2,1], [3,2], [4,3], [5,4]]
});

@@ -473,3 +476,3 @@ ```

}).then(function(){
console.log(myNewArr) //[2,4,6,8,10];
console.log(myNewArr); //[2,4,6,8,10];
});

@@ -508,3 +511,3 @@ ```

}).then(function(){
console.log(myNewArr) //[1,3,5];
console.log(myNewArr); //[1,3,5];
})

@@ -542,3 +545,3 @@ ```

}).then(function(){
console.log(myNewArr) //false;
console.log(myNewArr); //false;
})

@@ -577,3 +580,3 @@ ```

}).then(function(){
console.log(myNewArr) //false;
console.log(myNewArr); //false;
})

@@ -580,0 +583,0 @@ ```

@@ -0,1 +1,6 @@

# 0.3.5
* Fixed issue where messages were not propagated down to appenders even if there level was set to accept them
* Added error logging to rolling file appender if there was an issue rolling over.
# 0.3.4

@@ -2,0 +7,0 @@

@@ -10,6 +10,6 @@ var define = require("../../define.js").define, base = require("../../base"), string = base.string, style = string.style, format = string.format, Appender = require("./appender"), Level = require("../level");

*/
define(Appender, {
instance:{
Appender.extend({
instance: {
constructor:function (options) {
constructor: function (options) {
options = options || {};

@@ -20,3 +20,3 @@ !options.name && (options.name = "consoleAppender");

append:function (event) {
append: function (event) {
if (this._canAppend(event)) {

@@ -23,0 +23,0 @@ var message = format(this.__pattern, event);

@@ -49,6 +49,6 @@ var define = require("../../define.js").define,

*/
define(Appender, {
instance:{
Appender.extend({
instance: {
constructor:function (options) {
constructor: function (options) {
options = options || {};

@@ -59,3 +59,6 @@ !options.name && (options.name = "fileAppender");

this.__overwrite = options.overwrite || false;
this.__writeStream = options.writeStream || fs.createWriteStream(this.__file, { flags:this.__overwrite ? "w" : 'a', encoding:this.__encoding});
this.__writeStream = options.writeStream || fs.createWriteStream(this.__file, {
flags: this.__overwrite ? "w" : 'a',
encoding: this.__encoding
});
this._super([options]);

@@ -67,3 +70,3 @@ this.__pattern += "\n";

__onExit:function () {
__onExit: function () {
var ret = new Promise();

@@ -77,3 +80,3 @@ var ws = this.__writeStream;

append:function (event) {
append: function (event) {
var ws = this.__writeStream;

@@ -80,0 +83,0 @@ if (this._canAppend(event) && ws && ws.writable) {

@@ -53,3 +53,3 @@ var define = require("../../define.js").define,

*/
define(FileAppender, {
FileAppender.extend({
instance:{

@@ -56,0 +56,0 @@

@@ -17,5 +17,5 @@ var define = require("../../define.js").define,

var conversion = {
MB:1048576,
KB:1024,
GB:1073741824
MB: 1048576,
KB: 1024,
GB: 1073741824
};

@@ -79,8 +79,8 @@ var DEFAULT_SIZE = "10MB";

*/
define(FileAppender, {
instance:{
FileAppender.extend({
instance: {
__watching:false,
__watching: false,
constructor:function (options) {
constructor: function (options) {
options = options || {};

@@ -95,3 +95,3 @@ this.maxSize = options.maxSize || DEFAULT_SIZE;

__startCheck:function () {
__startCheck: function () {
if (!this.__watching) {

@@ -106,4 +106,4 @@ this.__watching = true;

__checkFile:function (stats) {
var ret = new Promise();
__checkFile: function (stats) {
var ret = new Promise(), self = this;
if (!this.__inRollover) {

@@ -113,13 +113,27 @@ if (stats.size >= this.maxSize) {

this.__inRollover = true;
this.__onExit().chain(hitch(this, "__rollover")).then(hitch(this, function () {
var ws = fs.createWriteStream(this.__file, { flags:"w", encoding:this.__encoding});
ws.on("open", hitch(this, function () {
this.__writeStream = ws;
this.__inRollover = false;
this.__checkQueue();
ret.callback();
}));
}), hitch(ret, "errback", new Error("comb.logging.appenders.RollingFileAppender : error rolling over files")));
this.__onExit()
.chain(function () {
return self.__rollover();
})
.chain(function () {
var ws = fs.createWriteStream(self.__file, {flags: "w", encoding: self.__encoding});
ws.on("open", function () {
self.__writeStream = ws;
self.__inRollover = false;
self.__checkQueue();
ret.callback();
});
}, function (err) {
process.stderr.write("comb.logging.appenders.RollingFileAppender : error rolling over files resuming writing");
process.stderr.write(err.stack);
var ws = fs.createWriteStream(self.__file, {flags: "w", encoding: self.__encoding});
ws.on("open", function () {
self.__writeStream = ws;
self.__inRollover = false;
self.__checkQueue();
ret.callback();
});
});
} else {
this.__writeStream = fs.createWriteStream(this.__file, { flags:"w", encoding:this.__encoding});
this.__writeStream = fs.createWriteStream(this.__file, {flags: "w", encoding: this.__encoding});
ret.callback();

@@ -137,3 +151,3 @@ }

append:function (event) {
append: function (event) {
if (this._canAppend(event)) {

@@ -150,3 +164,3 @@ !this.__watching && this.__startCheck();

__checkQueue:function () {
__checkQueue: function () {
this.__queue.forEach(this.append, this);

@@ -156,47 +170,51 @@ this.__queue.length = 0;

__rollover:function () {
var ret = new Promise(), file = this.__file;
__rollover: function () {
var ret = new Promise(), file = this.__file, self = this;
var dir = path.dirname(file), baseName = new RegExp("(" + escape(path.basename(path.basename(file))) + ")(?:\\.(\\d*))*");
fs.readdir(dir, hitch(this, function (err, files) {
files = files.filter(
function (f) {
var match = f.match(baseName);
if (match) {
return true;
} else {
return false;
fs.readdir(dir, function (err, files) {
if (err) {
ret.errback(err);
} else {
files = files.filter(
function (f) {
var match = f.match(baseName);
if (match) {
return true;
} else {
return false;
}
});
files = files.sort(function (a, b) {
var ret = 0;
if (a > b) {
ret = 0;
} else if (a < b) {
ret = 1;
}
return ret;
});
files = files.sort(function (a, b) {
var ret = 0;
if (a > b) {
ret = 0;
} else if (a < b) {
ret = 1;
}
return ret;
});
var count = files.length, i = 0;
var checkFile = hitch(this, function () {
if (count > 0) {
var f = dir + "/" + files[i++];
if (count > this.maxBackupIndex) {
//drop the file;
count--;
fs.unlink(f, function (err) {
err ? ret.errback(err) : checkFile();
});
var count = files.length, i = 0;
var checkFile = function () {
if (count > 0) {
var f = dir + "/" + files[i++];
if (count > self.maxBackupIndex) {
//drop the file;
count--;
fs.unlink(f, function (err) {
err ? ret.errback(err) : checkFile();
});
} else {
//rename the file
var rn = self.__file + "." + count--;
fs.rename(f, rn, function (err) {
err ? ret.errback(err) : checkFile();
});
}
} else {
//rename the file
var rn = this.__file + "." + count--;
fs.rename(f, rn, function (err) {
err ? ret.errback(err) : checkFile();
});
ret.callback();
}
} else {
ret.callback();
}
});
checkFile();
}));
};
checkFile();
}
});
return ret.promise();

@@ -206,5 +224,5 @@ },

getters:{
getters: {
maxSize:function () {
maxSize: function () {
return this.__maxSize;

@@ -214,4 +232,4 @@ }

setters:{
maxSize:function (size) {
setters: {
maxSize: function (size) {
this.__maxSize = size ? convertToBytes(size) : DEFAULT_SIZE;

@@ -218,0 +236,0 @@ }

@@ -261,5 +261,3 @@ var os = require("os"),

info: function (message) {
if (this.isInfo) {
return this.log.apply(this, [Level.INFO].concat(argsToArray(arguments)));
}
return this.log.apply(this, [Level.INFO].concat(argsToArray(arguments)));
},

@@ -275,5 +273,3 @@

debug: function (message) {
if (this.isDebug) {
return this.log.apply(this, [Level.DEBUG].concat(argsToArray(arguments)));
}
return this.log.apply(this, [Level.DEBUG].concat(argsToArray(arguments)));
},

@@ -289,5 +285,3 @@

error: function (message) {
if (this.isError) {
return this.log.apply(this, [Level.ERROR].concat(argsToArray(arguments)));
}
return this.log.apply(this, [Level.ERROR].concat(argsToArray(arguments)));
},

@@ -303,5 +297,3 @@

warn: function (message) {
if (this.isWarn) {
return this.log.apply(this, [Level.WARN].concat(argsToArray(arguments)));
}
return this.log.apply(this, [Level.WARN].concat(argsToArray(arguments)));
},

@@ -317,5 +309,3 @@

trace: function (message) {
if (this.isTrace) {
return this.log.apply(this, [Level.TRACE].concat(argsToArray(arguments)));
}
return this.log.apply(this, [Level.TRACE].concat(argsToArray(arguments)));
},

@@ -331,5 +321,3 @@

fatal: function (message) {
if (this.isFatal) {
return this.log.apply(this, [Level.FATAL].concat(argsToArray(arguments)));
}
return this.log.apply(this, [Level.FATAL].concat(argsToArray(arguments)));
},

@@ -368,3 +356,3 @@

level = Level.toLevel(level);
if (level.isGreaterOrEqualToo(this.level)) {
if (this.hasLevelGt(level)) {
var args = argsToArray(arguments, 1);

@@ -500,2 +488,17 @@ if (args.length > 1) {

hasLevelGt: function (level) {
var ret = level.isGreaterOrEqualToo(this.level), i, appenders, keys, l;
if (!ret) {
appenders = this.__appenders;
keys = Object.keys(appenders);
l = keys.length;
i = -1;
while (++i < l && !ret) {
ret = level.isGreaterOrEqualToo(appenders[keys[i]].level);
}
}
return ret;
},
/**

@@ -502,0 +505,0 @@ * @ignore

{
"name": "comb",
"description": "A framework for node",
"version": "0.3.4",
"version": "0.3.5",
"keywords": ["OO", "Object Oriented", "Collections", "Tree", "HashTable", "Pool", "Logging", "Promise", "Promises", "Proxy"],

@@ -6,0 +6,0 @@ "repository": {

Sorry, the diff of this file is too big to display