Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bugcore

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bugcore - npm Package Compare versions

Comparing version 0.3.4 to 0.3.5

lib/core/interfaces/IObjectable.js

2

bugpack-registry.json

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

{"lib/query/interfaces/ICondition.js":{"path":"lib/query/interfaces/ICondition.js","exports":["ICondition"],"requires":["Interface"],"autoload":false},"lib/data/Collections.js":{"path":"lib/data/Collections.js","exports":["Collections"],"requires":["Map","Obj","Set","Exception","Class","Queue","Collection","List","MultiListMap"],"autoload":false},"lib/command/CommandBatch.js":{"path":"lib/command/CommandBatch.js","exports":["CommandBatch"],"requires":["Bug","Obj","ArgUtil","Class","List"],"autoload":false},"lib/command/Command.js":{"path":"lib/command/Command.js","exports":["Command"],"requires":["Bug","Obj","Class"],"autoload":false},"lib/flow/flows/ForEachSeries.js":{"path":"lib/flow/flows/ForEachSeries.js","exports":["ForEachSeries"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator"],"autoload":false},"lib/event/adapters/NodeJsEvent.js":{"path":"lib/event/adapters/NodeJsEvent.js","exports":["NodeJsEvent"],"requires":["Class","Event"],"autoload":false},"lib/publisher/PublisherMessage.js":{"path":"lib/publisher/PublisherMessage.js","exports":["PublisherMessage"],"requires":["Obj","Class"],"autoload":false},"lib/promise/Handler.js":{"path":"lib/promise/Handler.js","exports":["Handler"],"requires":["Bug","Obj","Class","TypeUtil"],"autoload":false},"lib/stream/suppliers/ArraySupplier.js":{"path":"lib/stream/suppliers/ArraySupplier.js","exports":["ArraySupplier"],"requires":["Supplier","Class"],"autoload":false},"lib/core/interfaces/IKeyValueIterable.js":{"path":"lib/core/interfaces/IKeyValueIterable.js","exports":["IKeyValueIterable"],"requires":["IIterable","Interface"],"autoload":false},"lib/core/Obj.js":{"path":"lib/core/Obj.js","exports":["Obj"],"requires":["Class","IdGenerator","ObjectUtil","HashUtil","IClone","IEquals","IHashCode","TypeUtil"],"autoload":false},"lib/data/Url.js":{"path":"lib/data/Url.js","exports":["Url"],"requires":["Map","Obj","Class","ObjectUtil","TypeUtil"],"autoload":false},"lib/throwable/MappedParallelException.js":{"path":"lib/throwable/MappedParallelException.js","exports":["MappedParallelException"],"requires":["Map","ParallelException","StackTraceUtil","Class"],"autoload":false},"lib/flow/Flows.js":{"path":"lib/flow/Flows.js","exports":["Flows"],"requires":["Obj","ForEachParallelBuilder","ForEachSeriesBuilder","ParallelBuilder","Class","WhileParallelBuilder","FlowBuilder","ForInParallelBuilder","ForInSeriesBuilder","IfBuilder","IterableParallelBuilder","IterableSeriesBuilder","SeriesBuilder","TaskBuilder","WhileSeriesBuilder"],"autoload":false},"lib/change/Change.js":{"path":"lib/change/Change.js","exports":["Change"],"requires":["Obj","Class"],"autoload":false},"lib/concurrent/Lock.js":{"path":"lib/concurrent/Lock.js","exports":["Lock"],"requires":["EventDispatcher","Class","Event","Queue"],"autoload":false},"lib/data/interfaces/ICollection.js":{"path":"lib/data/interfaces/ICollection.js","exports":["ICollection"],"requires":["Interface"],"autoload":false},"lib/concurrent/Semaphore.js":{"path":"lib/concurrent/Semaphore.js","exports":["Semaphore"],"requires":["Obj","Class","Queue"],"autoload":false},"lib/util/Config.js":{"path":"lib/util/Config.js","exports":["Config"],"requires":["Obj","IObjectable","IJsonable","Class","Properties"],"autoload":false},"lib/observable/Observation.js":{"path":"lib/observable/Observation.js","exports":["Observation"],"requires":["Obj","Class"],"autoload":false},"lib/observable/Observable.js":{"path":"lib/observable/Observable.js","exports":["Observable"],"requires":["Set","ObservationPropagator","Class","Observation","ArgumentBug","IObservable","MultiListMap","Observer","TypeUtil"],"autoload":false},"lib/data/Map.js":{"path":"lib/data/Map.js","exports":["Map"],"requires":["Obj","HashTable","IObjectable","Class","ObjectUtil","Collection","IKeyValueIterable","IMap","TypeUtil"],"autoload":false},"lib/match/ObjectPathMatcher.js":{"path":"lib/match/ObjectPathMatcher.js","exports":["ObjectPathMatcher"],"requires":["Obj","Class"],"autoload":false},"lib/event/adapters/NodeJsEventEmitterAdapter.js":{"path":"lib/event/adapters/NodeJsEventEmitterAdapter.js","exports":["NodeJsEventEmitterAdapter"],"requires":["Obj","NodeJsEvent","EventDispatcher","ArgUtil","Class","IEventDispatcher","IEventPropagator","IEventReceiver"],"autoload":false},"lib/util/WeightedRandomizer.js":{"path":"lib/util/WeightedRandomizer.js","exports":["WeightedRandomizer"],"requires":["Obj","WeightedList","HashTable","RandomUtil","Class","Collection"],"autoload":false},"lib/data/DualMultiMap.js":{"path":"lib/data/DualMultiMap.js","exports":["DualMultiMap"],"requires":["DualMap","Class","Collection","TypeUtil"],"autoload":false},"lib/data/interfaces/IMultiMap.js":{"path":"lib/data/interfaces/IMultiMap.js","exports":["IMultiMap"],"requires":["Interface","IMap"],"autoload":false},"lib/flow/builders/TaskBuilder.js":{"path":"lib/flow/builders/TaskBuilder.js","exports":["TaskBuilder"],"requires":["Throwables","Class","FlowBuilder","Task","TypeUtil"],"autoload":false},"lib/flow/flows/ForInParallel.js":{"path":"lib/flow/flows/ForInParallel.js","exports":["ForInParallel"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator","MappedParallelException"],"autoload":false},"lib/util/StringUtil.js":{"path":"lib/util/StringUtil.js","exports":["StringUtil"],"requires":["TypeUtil"],"autoload":false},"lib/change/ClearChange.js":{"path":"lib/change/ClearChange.js","exports":["ClearChange"],"requires":["Class","Change"],"autoload":false},"lib/concurrent/LockStriped.js":{"path":"lib/concurrent/LockStriped.js","exports":["LockStriped"],"requires":["Obj","Striped","Class","Lock"],"autoload":false},"lib/util/IdGenerator.js":{"path":"lib/util/IdGenerator.js","exports":["IdGenerator"],"requires":[],"autoload":false},"lib/util/TypeUtil.js":{"path":"lib/util/TypeUtil.js","exports":["TypeUtil"],"requires":[],"autoload":false},"lib/data/Queue.js":{"path":"lib/data/Queue.js","exports":["Queue"],"requires":["Obj","Exception","Class","Collection"],"autoload":false},"lib/data/interfaces/ISet.js":{"path":"lib/data/interfaces/ISet.js","exports":["ISet"],"requires":["Interface","ICollection"],"autoload":false},"lib/flow/flows/Assertion.js":{"path":"lib/flow/flows/Assertion.js","exports":["Assertion"],"requires":["Throwables","Class","Flow","TypeUtil"],"autoload":false},"lib/core/Class.js":{"path":"lib/core/Class.js","exports":["Class"],"requires":["Constructor","TypeUtil"],"autoload":false},"lib/data/Set.js":{"path":"lib/data/Set.js","exports":["Set"],"requires":["Obj","Class","Collection","ISet"],"autoload":false},"lib/event/query/EventQueryBuilder.js":{"path":"lib/event/query/EventQueryBuilder.js","exports":["EventQueryBuilder"],"requires":["Obj","EventQuery","QueryBuilder","EventQueryListener","Class"],"autoload":false},"lib/util/DateUtil.js":{"path":"lib/util/DateUtil.js","exports":["DateUtil"],"requires":["Obj","Class","StringUtil"],"autoload":false},"lib/promise/interfaces/IPromise.js":{"path":"lib/promise/interfaces/IPromise.js","exports":["IPromise"],"requires":["Interface"],"autoload":false},"lib/throwable/Throwables.js":{"path":"lib/throwable/Throwables.js","exports":["Throwables"],"requires":["Bug","Obj","ParallelException","Exception","Class","ArgumentBug"],"autoload":false},"lib/core/polyfill/Function.js":{"path":"lib/core/polyfill/Function.js","exports":["Function"],"requires":[],"autoload":false},"lib/throwable/MappedThrowable.js":{"path":"lib/throwable/MappedThrowable.js","exports":["MappedThrowable"],"requires":["Map","Class","Throwable"],"autoload":false},"lib/flow/flows/Series.js":{"path":"lib/flow/flows/Series.js","exports":["Series"],"requires":["Class","Flow"],"autoload":false},"lib/data/interfaces/IMap.js":{"path":"lib/data/interfaces/IMap.js","exports":["IMap"],"requires":["Interface"],"autoload":false},"lib/change/RemoveAtChange.js":{"path":"lib/change/RemoveAtChange.js","exports":["RemoveAtChange"],"requires":["Obj","Class","RemoveChange"],"autoload":false},"lib/throwable/ArgumentBug.js":{"path":"lib/throwable/ArgumentBug.js","exports":["ArgumentBug"],"requires":["Bug","StackTraceUtil","Class"],"autoload":false},"lib/util/PropertiesChain.js":{"path":"lib/util/PropertiesChain.js","exports":["PropertiesChain"],"requires":["Obj","Exception","Class","List","TypeUtil"],"autoload":false},"lib/core/Interface.js":{"path":"lib/core/Interface.js","exports":["Interface"],"requires":["Implementable","TypeUtil"],"autoload":false},"lib/core/polyfill/Notifier.js":{"path":"lib/core/polyfill/Notifier.js","exports":["Notifier"],"requires":[],"autoload":false},"lib/data/Graph.js":{"path":"lib/data/Graph.js","exports":["Graph"],"requires":["Map","Obj","Set","Exception","Class","GraphEdge","GraphNode"],"autoload":false},"lib/promise/Promises.js":{"path":"lib/promise/Promises.js","exports":["Promises"],"requires":["Obj","Class","Promise","Deferred","IPromise","TypeUtil"],"autoload":false},"lib/stream/suppliers/MethodSupplier.js":{"path":"lib/stream/suppliers/MethodSupplier.js","exports":["MethodSupplier"],"requires":["Supplier","Class"],"autoload":false},"scripts/bugcore-node.js":{"path":"scripts/bugcore-node.js","exports":[],"requires":[],"autoload":false},"lib/flow/flows/Task.js":{"path":"lib/flow/flows/Task.js","exports":["Task"],"requires":["Class","Flow"],"autoload":false},"lib/stream/interfaces/IStreamable.js":{"path":"lib/stream/interfaces/IStreamable.js","exports":["IStreamable"],"requires":["Interface"],"autoload":false},"lib/flow/flows/IterableParallel.js":{"path":"lib/flow/flows/IterableParallel.js","exports":["IterableParallel"],"requires":["IIterable","IterableFlow","Class","MappedParallelException"],"autoload":false},"lib/flow/builders/ForInSeriesBuilder.js":{"path":"lib/flow/builders/ForInSeriesBuilder.js","exports":["ForInSeriesBuilder"],"requires":["Class","ForInSeries","IterableFlowBuilder"],"autoload":false},"lib/data/TreeNode.js":{"path":"lib/data/TreeNode.js","exports":["TreeNode"],"requires":["Obj","Class","List"],"autoload":false},"lib/core/Arr.js":{"path":"lib/core/Arr.js","exports":["Arr"],"requires":["Suppliers","Obj","Exception","ArrayIterator","Class","ICollection","IIndexValueIterable","IStreamable","Stream","TypeUtil"],"autoload":false},"lib/observable/interfaces/IObservationPropagator.js":{"path":"lib/observable/interfaces/IObservationPropagator.js","exports":["IObservationPropagator"],"requires":["Interface"],"autoload":false},"lib/promise/Deferred.js":{"path":"lib/promise/Deferred.js","exports":["Deferred"],"requires":["Obj","ArgUtil","Class","Promise"],"autoload":false},"lib/concurrent/RateLimiter.js":{"path":"lib/concurrent/RateLimiter.js","exports":["RateLimiter"],"requires":["Obj","Class","Queue","Func"],"autoload":false},"lib/query/QueryBuilder.js":{"path":"lib/query/QueryBuilder.js","exports":["QueryBuilder"],"requires":["Obj","Set","Class","Query","WhereConditionBuilder"],"autoload":false},"lib/util/ArrayUtil.js":{"path":"lib/util/ArrayUtil.js","exports":["ArrayUtil"],"requires":["TypeUtil"],"autoload":false},"lib/change/PutChange.js":{"path":"lib/change/PutChange.js","exports":["PutChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/publisher/PublisherSubscription.js":{"path":"lib/publisher/PublisherSubscription.js","exports":["PublisherSubscription"],"requires":["Obj","Class","HashUtil"],"autoload":false},"lib/util/Properties.js":{"path":"lib/util/Properties.js","exports":["Properties"],"requires":["Obj","Class","ObjectUtil","TypeUtil"],"autoload":false},"lib/core/Implementable.js":{"path":"lib/core/Implementable.js","exports":["Implementable"],"requires":[],"autoload":false},"lib/core/polyfill/Array.js":{"path":"lib/core/polyfill/Array.js","exports":["Array"],"requires":["Notifier"],"autoload":false},"lib/event/EventReceiver.js":{"path":"lib/event/EventReceiver.js","exports":["EventReceiver"],"requires":["EventQueryBuilder","EventListener","EventPropagator","Class","IEventReceiver","MultiListMap","TypeUtil"],"autoload":false},"lib/proxy/Proxy.js":{"path":"lib/proxy/Proxy.js","exports":["Proxy"],"requires":["Obj","ProxyProperty","Exception","Class","IProxy","ProxyMethod","ProxyObject","TypeUtil"],"autoload":false},"lib/data/Pair.js":{"path":"lib/data/Pair.js","exports":["Pair"],"requires":["Obj","IObjectable","Exception","Class","IArrayable","TypeUtil"],"autoload":false},"lib/data/MultiListMap.js":{"path":"lib/data/MultiListMap.js","exports":["MultiListMap"],"requires":["Class","List","MultiMap"],"autoload":false},"lib/query/WhereCondition.js":{"path":"lib/query/WhereCondition.js","exports":["WhereCondition"],"requires":["Obj","Set","Class","ObjectUtil","ICondition"],"autoload":false},"lib/util/HtmlUtil.js":{"path":"lib/util/HtmlUtil.js","exports":["HtmlUtil"],"requires":["Obj","Url","ArgUtil","Class"],"autoload":false},"lib/event/EventPropagator.js":{"path":"lib/event/EventPropagator.js","exports":["EventPropagator"],"requires":["Obj","Class","IEventPropagator","List"],"autoload":false},"lib/util/HashUtil.js":{"path":"lib/util/HashUtil.js","exports":["HashUtil"],"requires":["IdGenerator","TypeUtil"],"autoload":false},"lib/publisher/Publisher.js":{"path":"lib/publisher/Publisher.js","exports":["Publisher"],"requires":["Map","Obj","PublisherSubscription","Class","List","PublisherMessage"],"autoload":false},"lib/event/EventDispatcher.js":{"path":"lib/event/EventDispatcher.js","exports":["EventDispatcher"],"requires":["Class","EventReceiver","IEventDispatcher"],"autoload":false},"lib/core/interfaces/IIterator.js":{"path":"lib/core/interfaces/IIterator.js","exports":["IIterator"],"requires":["Interface"],"autoload":false},"lib/data/interfaces/IList.js":{"path":"lib/data/interfaces/IList.js","exports":["IList"],"requires":["Interface","ICollection"],"autoload":false},"lib/data/Tree.js":{"path":"lib/data/Tree.js","exports":["Tree"],"requires":["Obj","Class"],"autoload":false},"lib/promise/handlers/ThenHandler.js":{"path":"lib/promise/handlers/ThenHandler.js","exports":["ThenHandler"],"requires":["Class","Handler","TypeUtil"],"autoload":false},"lib/change/RemoveChange.js":{"path":"lib/change/RemoveChange.js","exports":["RemoveChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/throwable/Bug.js":{"path":"lib/throwable/Bug.js","exports":["Bug"],"requires":["Class","Throwable"],"autoload":false},"lib/util/StackTraceUtil.js":{"path":"lib/util/StackTraceUtil.js","exports":["StackTraceUtil"],"requires":["Obj","Class","StringUtil"],"autoload":false},"lib/core/interfaces/IArrayable.js":{"path":"lib/core/interfaces/IArrayable.js","exports":["IArrayable"],"requires":["Interface"],"autoload":false},"lib/throwable/Throwable.js":{"path":"lib/throwable/Throwable.js","exports":["Throwable"],"requires":["Obj","IObjectable","StackTraceUtil","Class","TypeUtil"],"autoload":false},"lib/data/GraphNode.js":{"path":"lib/data/GraphNode.js","exports":["GraphNode"],"requires":["Obj","Class"],"autoload":false},"lib/stream/consumers/CollectConsumer.js":{"path":"lib/stream/consumers/CollectConsumer.js","exports":["CollectConsumer"],"requires":["Throwables","Class","Consumer","ICollection"],"autoload":false},"lib/stream/Streams.js":{"path":"lib/stream/Streams.js","exports":["Streams"],"requires":["Arr","Obj","Exception","Class","IStreamable","Stream","TypeUtil"],"autoload":false},"lib/data/Document.js":{"path":"lib/data/Document.js","exports":["Document"],"requires":["Bug","Obj","IDocument","IObjectable","ArgUtil","Class","IList","IClone","IMap","ISet","TypeUtil"],"autoload":false},"lib/flow/builders/IfBuilder.js":{"path":"lib/flow/builders/IfBuilder.js","exports":["IfBuilder"],"requires":["If","Throwables","Class","FlowBuilder","List","TaskBuilder","TypeUtil"],"autoload":false},"lib/query/interfaces/IConditionBuilder.js":{"path":"lib/query/interfaces/IConditionBuilder.js","exports":["IConditionBuilder"],"requires":["Interface"],"autoload":false},"lib/core/interfaces/IEquals.js":{"path":"lib/core/interfaces/IEquals.js","exports":["IEquals"],"requires":["Interface"],"autoload":false},"lib/event/interfaces/IEventReceiver.js":{"path":"lib/event/interfaces/IEventReceiver.js","exports":["IEventReceiver"],"requires":["Interface"],"autoload":false},"lib/stream/operations/MapOperation.js":{"path":"lib/stream/operations/MapOperation.js","exports":["MapOperation"],"requires":["Obj","Class","IStreamOperation"],"autoload":false},"lib/observable/data/ObservableArray.js":{"path":"lib/observable/data/ObservableArray.js","exports":[],"requires":[],"autoload":false},"lib/core/interfaces/IClone.js":{"path":"lib/core/interfaces/IClone.js","exports":["IClone"],"requires":["Interface"],"autoload":false},"lib/util/ObjectUtil.js":{"path":"lib/util/ObjectUtil.js","exports":["ObjectUtil"],"requires":["FunctionUtil","Object","Reflect","TypeUtil"],"autoload":false},"lib/core/iterators/ObjectIterator.js":{"path":"lib/core/iterators/ObjectIterator.js","exports":["ObjectIterator"],"requires":["Obj","Exception","Class","ObjectUtil","IKeyValueIterator","Object","TypeUtil"],"autoload":false},"lib/change/RemovePropertyChange.js":{"path":"lib/change/RemovePropertyChange.js","exports":["RemovePropertyChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/throwable/Exception.js":{"path":"lib/throwable/Exception.js","exports":["Exception"],"requires":["Class","Throwable"],"autoload":false},"lib/util/UuidGenerator.js":{"path":"lib/util/UuidGenerator.js","exports":["UuidGenerator"],"requires":["Obj","RandomUtil","Class"],"autoload":false},"lib/core/interfaces/IHashCode.js":{"path":"lib/core/interfaces/IHashCode.js","exports":["IHashCode"],"requires":["Interface"],"autoload":false},"lib/validator/ValidationMachine.js":{"path":"lib/validator/ValidationMachine.js","exports":["ValidationMachine"],"requires":["Obj","Class","Collections","Validator","ValidatorGroup","ValidatorProcessor"],"autoload":false},"lib/event/query/EventQueyListener.js":{"path":"lib/event/query/EventQueyListener.js","exports":["EventQueryListener"],"requires":["EventListener","Class"],"autoload":false},"lib/data/HashStoreNode.js":{"path":"lib/data/HashStoreNode.js","exports":["HashStoreNode"],"requires":["Obj","Class"],"autoload":false},"lib/observable/data/ObservableCollection.js":{"path":"lib/observable/data/ObservableCollection.js","exports":["ObservableCollection"],"requires":["Obj","IIterable","Observable","Class","Proxy","AddChange","ArgumentBug","ClearChange","Collection","IArrayable","ICollection","RemoveChange","TypeUtil"],"autoload":false},"lib/promise/handlers/CallbackHandler.js":{"path":"lib/promise/handlers/CallbackHandler.js","exports":["CallbackHandler"],"requires":["ParallelException","Exception","Class","Handler","TypeUtil"],"autoload":false},"lib/data/MultiSetMap.js":{"path":"lib/data/MultiSetMap.js","exports":["MultiSetMap"],"requires":["Set","Class","MultiMap"],"autoload":false},"lib/util/FunctionUtil.js":{"path":"lib/util/FunctionUtil.js","exports":["FunctionUtil"],"requires":["TypeUtil"],"autoload":false},"lib/trace/Trace.js":{"path":"lib/trace/Trace.js","exports":["Trace"],"requires":["Obj","Class"],"autoload":false},"lib/core/iterators/ArrayIterator.js":{"path":"lib/core/iterators/ArrayIterator.js","exports":["ArrayIterator"],"requires":["Obj","Exception","Array","Class","IIndexValueIterator","TypeUtil"],"autoload":false},"lib/util/LiteralUtil.js":{"path":"lib/util/LiteralUtil.js","exports":["LiteralUtil"],"requires":["Obj","IObjectable","Class","ObjectUtil","IArrayable","TypeUtil"],"autoload":false},"lib/util/MathUtil.js":{"path":"lib/util/MathUtil.js","exports":["MathUtil"],"requires":["Obj","Class"],"autoload":false},"lib/concurrent/LockMap.js":{"path":"lib/concurrent/LockMap.js","exports":["LockMap"],"requires":["Map","Obj","Class","ArgumentBug","Lock"],"autoload":false},"lib/data/GraphEdge.js":{"path":"lib/data/GraphEdge.js","exports":["GraphEdge"],"requires":["Obj","Class","GraphNode"],"autoload":false},"lib/core/interfaces/IIndexValueIterator.js":{"path":"lib/core/interfaces/IIndexValueIterator.js","exports":["IIndexValueIterator"],"requires":["IIterator","Interface"],"autoload":false},"lib/core/Func.js":{"path":"lib/core/Func.js","exports":["Func"],"requires":["Obj","Class","TypeUtil"],"autoload":false},"lib/command/CommandProcessor.js":{"path":"lib/command/CommandProcessor.js","exports":["CommandProcessor"],"requires":["Obj","Class","IList","Queue","CommandBatch","ArgumentBug","Command","TypeUtil"],"autoload":false},"lib/change/AddChange.js":{"path":"lib/change/AddChange.js","exports":["AddChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/data/WeightedList.js":{"path":"lib/data/WeightedList.js","exports":["WeightedList"],"requires":["Obj","WeightedListNode","Class","Collection","List","TypeUtil"],"autoload":false},"lib/stream/Consumer.js":{"path":"lib/stream/Consumer.js","exports":["Consumer"],"requires":["Bug","Obj","Throwables","Supplier","Class","ISupplier","IConsumer"],"autoload":false},"lib/flow/flows/IterableFlow.js":{"path":"lib/flow/flows/IterableFlow.js","exports":["IterableFlow"],"requires":["IIterable","Throwables","ArgUtil","ArrayIterator","Class","Flow","Iteration","ObjectIterator","TypeUtil"],"autoload":false},"lib/change/AddAtChange.js":{"path":"lib/change/AddAtChange.js","exports":["AddAtChange"],"requires":["Obj","Class","AddChange"],"autoload":false},"lib/stream/Supplier.js":{"path":"lib/stream/Supplier.js","exports":["Supplier"],"requires":["Bug","Obj","Exception","Class","ISupplier","IConsumer"],"autoload":false},"package.json":{"path":"package.json","exports":[],"requires":[],"autoload":false},"lib/flow/builders/ForEachParallelBuilder.js":{"path":"lib/flow/builders/ForEachParallelBuilder.js","exports":["ForEachParallelBuilder"],"requires":["ForEachParallel","Class","IterableFlowBuilder"],"autoload":false},"lib/util/RandomUtil.js":{"path":"lib/util/RandomUtil.js","exports":["RandomUtil"],"requires":["Obj","Class"],"autoload":false},"lib/BugCore.js":{"path":"lib/BugCore.js","exports":["BugCore"],"requires":["Suppliers","Constructor","Bug","Map","Obj","Set","Implementable","HashStore","HashTable","ProxyProperty","Striped","IIterable","IIterator","Interface","IObjectable","DateUtil","EventDispatcher","Exception","EventPropagator","ArgUtil","Class","Event","Flows","IList","Proxy","Queue","IdGenerator","Stack","ObjectUtil","ArrayUtil","Collection","Collections","EventReceiver","Func","HashUtil","IArrayable","IClone","ICollection","IEquals","IHashCode","IMap","IProxy","ISet","List","Lock","MathUtil","Pair","ProxyMethod","ProxyObject","RateLimiter","Semaphore","Stream","StringUtil","Throwable","TypeUtil"],"autoload":false},"lib/flow/flows/ForInSeries.js":{"path":"lib/flow/flows/ForInSeries.js","exports":["ForInSeries"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator"],"autoload":false},"lib/proxy/ProxyObject.js":{"path":"lib/proxy/ProxyObject.js","exports":["ProxyObject"],"requires":["Obj","Interface","Class","IProxy"],"autoload":false},"lib/util/ArgUtil.js":{"path":"lib/util/ArgUtil.js","exports":["ArgUtil"],"requires":["Bug","Obj","Class","ObjectUtil","ArgumentBug","TypeUtil"],"autoload":false},"lib/validator/ValidatorProcessor.js":{"path":"lib/validator/ValidatorProcessor.js","exports":["ValidatorProcessor"],"requires":["Obj","Exception","Class","Flows","Collections"],"autoload":false},"lib/core/interfaces/IJsonable.js":{"path":"lib/core/interfaces/IJsonable.js","exports":["IJsonable"],"requires":["Interface"],"autoload":false},"lib/data/DependencyGraph.js":{"path":"lib/data/DependencyGraph.js","exports":["DependencyGraph"],"requires":["Map","Obj","Set","Class","Graph","GraphEdge","GraphNode","List"],"autoload":false},"lib/data/MultiMap.js":{"path":"lib/data/MultiMap.js","exports":["MultiMap"],"requires":["Map","Class","Collection","IMap","IMultiMap"],"autoload":false},"lib/data/iterators/HashStoreIterator.js":{"path":"lib/data/iterators/HashStoreIterator.js","exports":["HashStoreIterator"],"requires":["Obj","IIterator","Exception","ArrayIterator","Class","ObjectIterator"],"autoload":false},"lib/flow/builders/ForEachSeriesBuilder.js":{"path":"lib/flow/builders/ForEachSeriesBuilder.js","exports":["ForEachSeriesBuilder"],"requires":["ForEachSeries","Class","IterableFlowBuilder"],"autoload":false},"lib/flow/flows/Flow.js":{"path":"lib/flow/flows/Flow.js","exports":["Flow"],"requires":["Obj","Throwables","ArgUtil","Class","Resolver","Tracer","TypeUtil"],"autoload":false},"lib/observable/ObservationPropagator.js":{"path":"lib/observable/ObservationPropagator.js","exports":["ObservationPropagator"],"requires":["Obj","IObservationPropagator","Class","List"],"autoload":false},"lib/promise/handlers/CatchHandler.js":{"path":"lib/promise/handlers/CatchHandler.js","exports":["CatchHandler"],"requires":["Class","Handler","TypeUtil"],"autoload":false},"lib/state/StateMachine.js":{"path":"lib/state/StateMachine.js","exports":["StateMachine"],"requires":["Set","StateEvent","EventDispatcher","Exception","Class"],"autoload":false},"lib/stream/operations/FilterOperation.js":{"path":"lib/stream/operations/FilterOperation.js","exports":["FilterOperation"],"requires":["Obj","Class","IStreamOperation"],"autoload":false},"lib/core/Constructor.js":{"path":"lib/core/Constructor.js","exports":["Constructor"],"requires":[],"autoload":false},"lib/core/interfaces/IKeyValueIterator.js":{"path":"lib/core/interfaces/IKeyValueIterator.js","exports":["IKeyValueIterator"],"requires":["IIterator","Interface"],"autoload":false},"lib/data/DualMap.js":{"path":"lib/data/DualMap.js","exports":["DualMap"],"requires":["Map","Obj","HashTable","Class","Collection","TypeUtil"],"autoload":false},"lib/data/ReferenceGraph.js":{"path":"lib/data/ReferenceGraph.js","exports":["ReferenceGraph"],"requires":["Map","Obj","Set","Class","Graph","GraphEdge","GraphNode","List"],"autoload":false},"lib/data/iterators/HashTableIterator.js":{"path":"lib/data/iterators/HashTableIterator.js","exports":["HashTableIterator"],"requires":["Obj","Exception","ArrayIterator","Class","IKeyValueIterator","ObjectIterator"],"autoload":false},"lib/flow/builders/ForInParallelBuilder.js":{"path":"lib/flow/builders/ForInParallelBuilder.js","exports":["ForInParallelBuilder"],"requires":["Class","ForInParallel","IterableFlowBuilder"],"autoload":false},"lib/flow/flows/ForEachParallel.js":{"path":"lib/flow/flows/ForEachParallel.js","exports":["ForEachParallel"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator","MappedParallelException"],"autoload":false},"lib/observable/Observer.js":{"path":"lib/observable/Observer.js","exports":["Observer"],"requires":["Obj","Class","ArgumentBug","ObjectPathMatcher","TypeUtil"],"autoload":false},"lib/promise/handlers/FinallyHandler.js":{"path":"lib/promise/handlers/FinallyHandler.js","exports":["FinallyHandler"],"requires":["Class","Handler","TypeUtil"],"autoload":false},"lib/state/events/StateEvent.js":{"path":"lib/state/events/StateEvent.js","exports":["StateEvent"],"requires":["Class","Event"],"autoload":false},"lib/stream/suppliers/IterableSupllier.js":{"path":"lib/stream/suppliers/IterableSupllier.js","exports":["IterableSupplier"],"requires":["Supplier","Class"],"autoload":false},"lib/data/Striped.js":{"path":"lib/data/Striped.js","exports":["Striped"],"requires":["Map","Obj","Class","List","TypeUtil"],"autoload":false},"lib/event/EventListener.js":{"path":"lib/event/EventListener.js","exports":["EventListener"],"requires":["Obj","Class"],"autoload":false},"lib/flow/builders/IterableParallelBuilder.js":{"path":"lib/flow/builders/IterableParallelBuilder.js","exports":["IterableParallelBuilder"],"requires":["IterableParallel","Class","IterableFlowBuilder"],"autoload":false},"lib/flow/flows/IterableSeries.js":{"path":"lib/flow/flows/IterableSeries.js","exports":["IterableSeries"],"requires":["IterableFlow","Class"],"autoload":false},"lib/observable/data/ObservableObject.js":{"path":"lib/observable/data/ObservableObject.js","exports":["ObservableObject"],"requires":["DualMap","Obj","IObjectable","Observable","Class","SetPropertyChange","ObjectUtil","ClearChange","IObservable","RemovePropertyChange"],"autoload":false},"lib/proxy/ProxyMethod.js":{"path":"lib/proxy/ProxyMethod.js","exports":["ProxyMethod"],"requires":["Obj","Interface","Class","IProxy"],"autoload":false},"lib/stream/Suppliers.js":{"path":"lib/stream/Suppliers.js","exports":["Suppliers"],"requires":["Obj","MethodSupplier","Class","ArraySupplier","IterableSupplier"],"autoload":false},"lib/data/DualMultiSetMap.js":{"path":"lib/data/DualMultiSetMap.js","exports":["DualMultiSetMap"],"requires":["Set","DualMultiMap","Class"],"autoload":false},"lib/data/Stack.js":{"path":"lib/data/Stack.js","exports":["Stack"],"requires":["Obj","Exception","Class","Collection"],"autoload":false},"lib/event/Event.js":{"path":"lib/event/Event.js","exports":["Event"],"requires":["Obj","Class"],"autoload":false},"lib/flow/builders/IterableFlowBuilder.js":{"path":"lib/flow/builders/IterableFlowBuilder.js","exports":["IterableFlowBuilder"],"requires":["Throwables","Class","FlowBuilder","TypeUtil"],"autoload":false},"lib/flow/flows/If.js":{"path":"lib/flow/flows/If.js","exports":["If"],"requires":["Throwables","Assertion","Class","Collections","Flow","TypeUtil"],"autoload":false},"lib/observable/data/ObservableMap.js":{"path":"lib/observable/data/ObservableMap.js","exports":["ObservableMap"],"requires":["Map","Obj","HashTable","IObjectable","Observable","Class","ClearChange","Collection","IMap","PutChange","RemoveChange","TypeUtil"],"autoload":false},"lib/promise/resolvers/ValuesResolver.js":{"path":"lib/promise/resolvers/ValuesResolver.js","exports":["ValuesResolver"],"requires":["Bug","Obj","Exception","ArgUtil","Class","IPromise","List","TypeUtil"],"autoload":false},"lib/stream/Stream.js":{"path":"lib/stream/Stream.js","exports":["Stream"],"requires":["ReduceConsumer","EachOperation","Exception","ArgUtil","Supplier","Class","MapOperation","ISupplier","CollectConsumer","FilterOperation","Func","IConsumer","IStreamable"],"autoload":false},"lib/core/polyfill/Object.js":{"path":"lib/core/polyfill/Object.js","exports":["Object"],"requires":["Notifier"],"autoload":false},"lib/data/HashStore.js":{"path":"lib/data/HashStore.js","exports":["HashStore"],"requires":["Obj","IIterable","HashStoreNode","Class","ObjectUtil","HashStoreIterator"],"autoload":false},"lib/data/UnorderedPair.js":{"path":"lib/data/UnorderedPair.js","exports":["UnorderedPair"],"requires":["Obj","Class","Collection","IArrayable"],"autoload":false},"lib/event/interfaces/IEventDispatcher.js":{"path":"lib/event/interfaces/IEventDispatcher.js","exports":["IEventDispatcher"],"requires":["Interface"],"autoload":false},"lib/flow/builders/IterableSeriesBuilder.js":{"path":"lib/flow/builders/IterableSeriesBuilder.js","exports":["IterableSeriesBuilder"],"requires":["IterableSeries","Class","IterableFlowBuilder"],"autoload":false},"lib/flow/flows/Iteration.js":{"path":"lib/flow/flows/Iteration.js","exports":["Iteration"],"requires":["Class","Flow"],"autoload":false},"lib/observable/data/ObservableSet.js":{"path":"lib/observable/data/ObservableSet.js","exports":["ObservableSet"],"requires":["Obj","Set","ObservableCollection","Class","ISet"],"autoload":false},"lib/proxy/ProxyProperty.js":{"path":"lib/proxy/ProxyProperty.js","exports":["ProxyProperty"],"requires":["Obj","Interface","Class","IProxy"],"autoload":false},"lib/stream/consumers/ReduceConsumer.js":{"path":"lib/stream/consumers/ReduceConsumer.js","exports":["ReduceConsumer"],"requires":["Throwables","Class","Consumer","TypeUtil"],"autoload":false},"lib/core/polyfill/Reflect.js":{"path":"lib/core/polyfill/Reflect.js","exports":["Reflect"],"requires":["Object"],"autoload":false},"lib/data/HashTable.js":{"path":"lib/data/HashTable.js","exports":["HashTable"],"requires":["Obj","HashTableNode","Exception","Class","ObjectUtil","HashTableIterator","IKeyValueIterable"],"autoload":false},"lib/data/WeightedListNode.js":{"path":"lib/data/WeightedListNode.js","exports":["WeightedListNode"],"requires":["Obj","Class"],"autoload":false},"lib/event/interfaces/IEventPropagator.js":{"path":"lib/event/interfaces/IEventPropagator.js","exports":["IEventPropagator"],"requires":["Interface"],"autoload":false},"lib/flow/builders/SeriesBuilder.js":{"path":"lib/flow/builders/SeriesBuilder.js","exports":["SeriesBuilder"],"requires":["Throwables","Class","FlowBuilder","Series","TaskBuilder","TypeUtil"],"autoload":false},"lib/flow/flows/Parallel.js":{"path":"lib/flow/flows/Parallel.js","exports":["Parallel"],"requires":["Throwables","Class","Flow"],"autoload":false},"lib/observable/interfaces/IObservable.js":{"path":"lib/observable/interfaces/IObservable.js","exports":["IObservable"],"requires":["Interface","IObservationPropagator"],"autoload":false},"lib/proxy/interfaces/IProxy.js":{"path":"lib/proxy/interfaces/IProxy.js","exports":["IProxy"],"requires":["Interface"],"autoload":false},"lib/stream/interfaces/IConsumer.js":{"path":"lib/stream/interfaces/IConsumer.js","exports":["IConsumer"],"requires":["Interface"],"autoload":false},"lib/trace/Tracer.js":{"path":"lib/trace/Tracer.js","exports":["Tracer"],"requires":["Obj","TreeNode","StackTraceUtil","ArgUtil","Class","Proxy","Trace","StringUtil","Tree"],"autoload":false},"lib/validator/ValidatorGroup.js":{"path":"lib/validator/ValidatorGroup.js","exports":["ValidatorGroup"],"requires":["Obj","Class","Collections","Func","ValidatorProcessor"],"autoload":false},"lib/core/interfaces/IIterable.js":{"path":"lib/core/interfaces/IIterable.js","exports":["IIterable"],"requires":["Interface"],"autoload":false},"lib/data/Collection.js":{"path":"lib/data/Collection.js","exports":["Collection"],"requires":["Suppliers","Obj","HashStore","IIterable","Class","ArgumentBug","IArrayable","ICollection","IStreamable","Stream","TypeUtil"],"autoload":false},"lib/data/List.js":{"path":"lib/data/List.js","exports":["List"],"requires":["Obj","Exception","Class","IList","ArgumentBug","Collection","ICollection","TypeUtil"],"autoload":false},"lib/data/interfaces/IObjectable.js":{"path":"lib/data/interfaces/IObjectable.js","exports":["IObjectable"],"requires":["Interface"],"autoload":false},"lib/flow/builders/FlowBuilder.js":{"path":"lib/flow/builders/FlowBuilder.js","exports":["FlowBuilder"],"requires":["Obj","Throwables","ArgUtil","Class","Promises"],"autoload":false},"lib/flow/builders/WhileSeriesBuilder.js":{"path":"lib/flow/builders/WhileSeriesBuilder.js","exports":["WhileSeriesBuilder"],"requires":["Throwables","Class","FlowBuilder","TaskBuilder","TypeUtil","WhileSeries"],"autoload":false},"lib/flow/flows/WhileSeries.js":{"path":"lib/flow/flows/WhileSeries.js","exports":["WhileSeries"],"requires":["Bug","Assertion","Class","Flow","List"],"autoload":false},"lib/promise/Resolver.js":{"path":"lib/promise/Resolver.js","exports":["Resolver"],"requires":["Bug","Obj","ValuesResolver","Exception","ArgUtil","Class","IPromise","List","TypeUtil"],"autoload":false},"lib/query/WhereConditionBuilder.js":{"path":"lib/query/WhereConditionBuilder.js","exports":["WhereConditionBuilder"],"requires":["Obj","Set","WhereCondition","Class","IConditionBuilder"],"autoload":false},"lib/stream/operations/EachOperation.js":{"path":"lib/stream/operations/EachOperation.js","exports":["EachOperation"],"requires":["Obj","Class","IStreamOperation","TypeUtil"],"autoload":false},"lib/flow/builders/ParallelBuilder.js":{"path":"lib/flow/builders/ParallelBuilder.js","exports":["ParallelBuilder"],"requires":["Parallel","Throwables","Class","FlowBuilder","TaskBuilder","TypeUtil"],"autoload":false},"lib/observable/data/ObservableList.js":{"path":"lib/observable/data/ObservableList.js","exports":["ObservableList"],"requires":["Obj","ObservableCollection","Class","IList","AddAtChange","ICollection","List","RemoveAtChange","TypeUtil"],"autoload":false},"lib/stream/interfaces/ISupplier.js":{"path":"lib/stream/interfaces/ISupplier.js","exports":["ISupplier"],"requires":["Interface"],"autoload":false},"lib/change/SetPropertyChange.js":{"path":"lib/change/SetPropertyChange.js","exports":["SetPropertyChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/throwable/ParallelException.js":{"path":"lib/throwable/ParallelException.js","exports":["ParallelException"],"requires":["Exception","Class"],"autoload":false},"lib/validator/Validator.js":{"path":"lib/validator/Validator.js","exports":["Validator"],"requires":["Obj","Class"],"autoload":false},"lib/core/interfaces/IIndexValueIterable.js":{"path":"lib/core/interfaces/IIndexValueIterable.js","exports":["IIndexValueIterable"],"requires":["IIterable","Interface"],"autoload":false},"lib/data/BidiMap.js":{"path":"lib/data/BidiMap.js","exports":["BidiMap"],"requires":["Map","Obj","HashTable","Class","Collection","TypeUtil"],"autoload":false},"lib/data/HashTableNode.js":{"path":"lib/data/HashTableNode.js","exports":["HashTableNode"],"requires":["Obj","Class"],"autoload":false},"lib/data/interfaces/IDocument.js":{"path":"lib/data/interfaces/IDocument.js","exports":["IDocument"],"requires":["Interface"],"autoload":false},"lib/event/query/EventQuery.js":{"path":"lib/event/query/EventQuery.js","exports":["EventQuery"],"requires":["Class","Query"],"autoload":false},"lib/flow/builders/WhileParallelBuilder.js":{"path":"lib/flow/builders/WhileParallelBuilder.js","exports":["WhileParallelBuilder"],"requires":["Throwables","WhileParallel","Class","FlowBuilder","TaskBuilder","TypeUtil"],"autoload":false},"lib/flow/flows/WhileParallel.js":{"path":"lib/flow/flows/WhileParallel.js","exports":["WhileParallel"],"requires":["Throwables","Assertion","Class","Flow","TypeUtil"],"autoload":false},"lib/promise/Promise.js":{"path":"lib/promise/Promise.js","exports":["Promise"],"requires":["Bug","Obj","CatchHandler","FinallyHandler","ArgUtil","Class","CallbackHandler","IPromise","List","Resolver","ThenHandler","TypeUtil"],"autoload":false},"lib/query/Query.js":{"path":"lib/query/Query.js","exports":["Query"],"requires":["Obj","Set","Class","ArgumentBug","ICondition"],"autoload":false},"lib/stream/interfaces/IStreamOperation.js":{"path":"lib/stream/interfaces/IStreamOperation.js","exports":["IStreamOperation"],"requires":["Interface"],"autoload":false}}
{"lib/observable/data/ObservableSet.js":{"path":"lib/observable/data/ObservableSet.js","exports":["ObservableSet"],"requires":["Obj","Set","ObservableCollection","Class","ISet"],"autoload":false},"lib/flow/builders/SeriesBuilder.js":{"path":"lib/flow/builders/SeriesBuilder.js","exports":["SeriesBuilder"],"requires":["Throwables","Class","FlowBuilder","Series","TaskBuilder","TypeUtil"],"autoload":false},"lib/core/interfaces/IArrayable.js":{"path":"lib/core/interfaces/IArrayable.js","exports":["IArrayable"],"requires":["Interface"],"autoload":false},"lib/concurrent/Semaphore.js":{"path":"lib/concurrent/Semaphore.js","exports":["Semaphore"],"requires":["Obj","Class","Queue"],"autoload":false},"lib/data/HashTableNode.js":{"path":"lib/data/HashTableNode.js","exports":["HashTableNode"],"requires":["Obj","Class"],"autoload":false},"lib/observable/Observation.js":{"path":"lib/observable/Observation.js","exports":["Observation"],"requires":["Obj","Class"],"autoload":false},"lib/change/ClearChange.js":{"path":"lib/change/ClearChange.js","exports":["ClearChange"],"requires":["Class","Change"],"autoload":false},"lib/data/Url.js":{"path":"lib/data/Url.js","exports":["Url"],"requires":["Map","Obj","Class","ObjectUtil","TypeUtil"],"autoload":false},"lib/observable/Observer.js":{"path":"lib/observable/Observer.js","exports":["Observer"],"requires":["Obj","Class","ArgumentBug","ObjectPathMatcher","TypeUtil"],"autoload":false},"lib/observable/data/ObservableArray.js":{"path":"lib/observable/data/ObservableArray.js","exports":[],"requires":[],"autoload":false},"lib/flow/builders/IterableParallelBuilder.js":{"path":"lib/flow/builders/IterableParallelBuilder.js","exports":["IterableParallelBuilder"],"requires":["IterableParallel","Class","IterableFlowBuilder"],"autoload":false},"lib/flow/flows/ForEachSeries.js":{"path":"lib/flow/flows/ForEachSeries.js","exports":["ForEachSeries"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator"],"autoload":false},"lib/stream/suppliers/IterableSupllier.js":{"path":"lib/stream/suppliers/IterableSupllier.js","exports":["IterableSupplier"],"requires":["Supplier","Class"],"autoload":false},"scripts/bugcore-node.js":{"path":"scripts/bugcore-node.js","exports":[],"requires":[],"autoload":false},"lib/command/Command.js":{"path":"lib/command/Command.js","exports":["Command"],"requires":["Bug","Obj","Class"],"autoload":false},"lib/throwable/ArgumentBug.js":{"path":"lib/throwable/ArgumentBug.js","exports":["ArgumentBug"],"requires":["Bug","StackTraceUtil","Class"],"autoload":false},"lib/util/ArrayUtil.js":{"path":"lib/util/ArrayUtil.js","exports":["ArrayUtil"],"requires":["TypeUtil"],"autoload":false},"lib/util/TypeUtil.js":{"path":"lib/util/TypeUtil.js","exports":["TypeUtil"],"requires":[],"autoload":false},"lib/core/interfaces/IKeyValueIterable.js":{"path":"lib/core/interfaces/IKeyValueIterable.js","exports":["IKeyValueIterable"],"requires":["IIterable","Interface"],"autoload":false},"lib/data/HashStore.js":{"path":"lib/data/HashStore.js","exports":["HashStore"],"requires":["Obj","IIterable","HashStoreNode","Class","ObjectUtil","HashStoreIterator","IArrayable"],"autoload":false},"lib/event/interfaces/IEventReceiver.js":{"path":"lib/event/interfaces/IEventReceiver.js","exports":["IEventReceiver"],"requires":["Interface"],"autoload":false},"lib/query/interfaces/ICondition.js":{"path":"lib/query/interfaces/ICondition.js","exports":["ICondition"],"requires":["Interface"],"autoload":false},"lib/event/Event.js":{"path":"lib/event/Event.js","exports":["Event"],"requires":["Obj","Class"],"autoload":false},"lib/flow/builders/ForInParallelBuilder.js":{"path":"lib/flow/builders/ForInParallelBuilder.js","exports":["ForInParallelBuilder"],"requires":["Class","ForInParallel","IterableFlowBuilder"],"autoload":false},"lib/change/RemovePropertyChange.js":{"path":"lib/change/RemovePropertyChange.js","exports":["RemovePropertyChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/core/polyfill/Reflect.js":{"path":"lib/core/polyfill/Reflect.js","exports":["Reflect"],"requires":["Object"],"autoload":false},"lib/event/adapters/NodeJsEventEmitterAdapter.js":{"path":"lib/event/adapters/NodeJsEventEmitterAdapter.js","exports":["NodeJsEventEmitterAdapter"],"requires":["Obj","NodeJsEvent","EventDispatcher","ArgUtil","Class","IEventDispatcher","IEventPropagator","IEventReceiver"],"autoload":false},"lib/core/interfaces/IIterator.js":{"path":"lib/core/interfaces/IIterator.js","exports":["IIterator"],"requires":["Interface"],"autoload":false},"lib/util/StringUtil.js":{"path":"lib/util/StringUtil.js","exports":["StringUtil"],"requires":["TypeUtil"],"autoload":false},"lib/event/interfaces/IEventPropagator.js":{"path":"lib/event/interfaces/IEventPropagator.js","exports":["IEventPropagator"],"requires":["Interface"],"autoload":false},"lib/stream/interfaces/IStreamable.js":{"path":"lib/stream/interfaces/IStreamable.js","exports":["IStreamable"],"requires":["Interface"],"autoload":false},"lib/flow/builders/ForInSeriesBuilder.js":{"path":"lib/flow/builders/ForInSeriesBuilder.js","exports":["ForInSeriesBuilder"],"requires":["Class","ForInSeries","IterableFlowBuilder"],"autoload":false},"lib/core/Implementable.js":{"path":"lib/core/Implementable.js","exports":["Implementable"],"requires":[],"autoload":false},"lib/change/AddAtChange.js":{"path":"lib/change/AddAtChange.js","exports":["AddAtChange"],"requires":["Obj","Class","AddChange"],"autoload":false},"lib/command/CommandProcessor.js":{"path":"lib/command/CommandProcessor.js","exports":["CommandProcessor"],"requires":["Obj","Class","IList","Queue","CommandBatch","ArgumentBug","Command","TypeUtil"],"autoload":false},"lib/throwable/Exception.js":{"path":"lib/throwable/Exception.js","exports":["Exception"],"requires":["Class","Throwable"],"autoload":false},"lib/util/DateUtil.js":{"path":"lib/util/DateUtil.js","exports":["DateUtil"],"requires":["Obj","Class","StringUtil"],"autoload":false},"lib/core/Arr.js":{"path":"lib/core/Arr.js","exports":["Arr"],"requires":["Suppliers","Obj","Exception","ArrayIterator","Class","IArrayable","IIndexValueIterable","IStreamable","Stream","TypeUtil"],"autoload":false},"lib/core/polyfill/Function.js":{"path":"lib/core/polyfill/Function.js","exports":["Function"],"requires":[],"autoload":false},"lib/trace/Trace.js":{"path":"lib/trace/Trace.js","exports":["Trace"],"requires":["Obj","Class"],"autoload":false},"lib/data/MultiMap.js":{"path":"lib/data/MultiMap.js","exports":["MultiMap"],"requires":["Map","Class","Collection","IMap","IMultiMap"],"autoload":false},"lib/util/PropertiesChain.js":{"path":"lib/util/PropertiesChain.js","exports":["PropertiesChain"],"requires":["Obj","Exception","Class","List","TypeUtil"],"autoload":false},"lib/flow/flows/WhileSeries.js":{"path":"lib/flow/flows/WhileSeries.js","exports":["WhileSeries"],"requires":["Bug","Assertion","Class","Flow","List"],"autoload":false},"lib/concurrent/LockMap.js":{"path":"lib/concurrent/LockMap.js","exports":["LockMap"],"requires":["Map","Obj","Class","ArgumentBug","Lock"],"autoload":false},"lib/promise/handlers/CallbackHandler.js":{"path":"lib/promise/handlers/CallbackHandler.js","exports":["CallbackHandler"],"requires":["ParallelException","Exception","Class","Handler","TypeUtil"],"autoload":false},"lib/util/WeightedRandomizer.js":{"path":"lib/util/WeightedRandomizer.js","exports":["WeightedRandomizer"],"requires":["Obj","WeightedList","HashTable","RandomUtil","Class","Collection"],"autoload":false},"lib/throwable/ParallelException.js":{"path":"lib/throwable/ParallelException.js","exports":["ParallelException"],"requires":["Exception","Class"],"autoload":false},"lib/data/List.js":{"path":"lib/data/List.js","exports":["List"],"requires":["Obj","Exception","ArrayIterator","Class","IList","ArgumentBug","Collection","ICollection","IIndexValueIterable","TypeUtil"],"autoload":false},"lib/core/polyfill/Notifier.js":{"path":"lib/core/polyfill/Notifier.js","exports":["Notifier"],"requires":[],"autoload":false},"lib/core/interfaces/IKeyValueIterator.js":{"path":"lib/core/interfaces/IKeyValueIterator.js","exports":["IKeyValueIterator"],"requires":["IIterator","Interface"],"autoload":false},"lib/flow/builders/WhileSeriesBuilder.js":{"path":"lib/flow/builders/WhileSeriesBuilder.js","exports":["WhileSeriesBuilder"],"requires":["Throwables","Class","FlowBuilder","TaskBuilder","TypeUtil","WhileSeries"],"autoload":false},"lib/data/Collection.js":{"path":"lib/data/Collection.js","exports":["Collection"],"requires":["Suppliers","Obj","HashStore","IIterable","Class","ArgumentBug","IArrayable","ICollection","IStreamable","Stream","TypeUtil"],"autoload":false},"lib/core/interfaces/IIndexValueIterator.js":{"path":"lib/core/interfaces/IIndexValueIterator.js","exports":["IIndexValueIterator"],"requires":["IIterator","Interface"],"autoload":false},"lib/util/RandomUtil.js":{"path":"lib/util/RandomUtil.js","exports":["RandomUtil"],"requires":["Obj","Class"],"autoload":false},"lib/proxy/Proxy.js":{"path":"lib/proxy/Proxy.js","exports":["Proxy"],"requires":["Obj","ProxyProperty","Exception","Class","IProxy","ProxyMethod","ProxyObject","TypeUtil"],"autoload":false},"lib/flow/flows/Parallel.js":{"path":"lib/flow/flows/Parallel.js","exports":["Parallel"],"requires":["Throwables","Class","Flow"],"autoload":false},"lib/promise/resolvers/ValuesResolver.js":{"path":"lib/promise/resolvers/ValuesResolver.js","exports":["ValuesResolver"],"requires":["Bug","Obj","Exception","ArgUtil","Class","IPromise","List","TypeUtil"],"autoload":false},"lib/flow/builders/ForEachParallelBuilder.js":{"path":"lib/flow/builders/ForEachParallelBuilder.js","exports":["ForEachParallelBuilder"],"requires":["ForEachParallel","Class","IterableFlowBuilder"],"autoload":false},"lib/util/MathUtil.js":{"path":"lib/util/MathUtil.js","exports":["MathUtil"],"requires":["Obj","Class"],"autoload":false},"lib/stream/interfaces/IConsumer.js":{"path":"lib/stream/interfaces/IConsumer.js","exports":["IConsumer"],"requires":["Interface"],"autoload":false},"lib/util/UuidGenerator.js":{"path":"lib/util/UuidGenerator.js","exports":["UuidGenerator"],"requires":["Obj","RandomUtil","Class"],"autoload":false},"lib/flow/flows/If.js":{"path":"lib/flow/flows/If.js","exports":["If"],"requires":["Throwables","Assertion","Class","Collections","Flow","TypeUtil"],"autoload":false},"lib/data/iterators/HashStoreIterator.js":{"path":"lib/data/iterators/HashStoreIterator.js","exports":["HashStoreIterator"],"requires":["Obj","IIterator","Exception","ArrayIterator","Class","ObjectIterator"],"autoload":false},"lib/data/interfaces/ISet.js":{"path":"lib/data/interfaces/ISet.js","exports":["ISet"],"requires":["Interface","ICollection"],"autoload":false},"lib/observable/data/ObservableList.js":{"path":"lib/observable/data/ObservableList.js","exports":["ObservableList"],"requires":["Obj","ObservableCollection","Class","IList","AddAtChange","ICollection","List","RemoveAtChange","TypeUtil"],"autoload":false},"lib/change/AddChange.js":{"path":"lib/change/AddChange.js","exports":["AddChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/concurrent/Lock.js":{"path":"lib/concurrent/Lock.js","exports":["Lock"],"requires":["EventDispatcher","Class","Event","Queue"],"autoload":false},"lib/throwable/MappedParallelException.js":{"path":"lib/throwable/MappedParallelException.js","exports":["MappedParallelException"],"requires":["Map","ParallelException","StackTraceUtil","Class"],"autoload":false},"lib/util/FunctionUtil.js":{"path":"lib/util/FunctionUtil.js","exports":["FunctionUtil"],"requires":["TypeUtil"],"autoload":false},"lib/change/Change.js":{"path":"lib/change/Change.js","exports":["Change"],"requires":["Obj","Class"],"autoload":false},"lib/match/ObjectPathMatcher.js":{"path":"lib/match/ObjectPathMatcher.js","exports":["ObjectPathMatcher"],"requires":["Obj","Class"],"autoload":false},"lib/data/DualMap.js":{"path":"lib/data/DualMap.js","exports":["DualMap"],"requires":["Map","Obj","HashTable","Class","Collection","TypeUtil"],"autoload":false},"lib/query/WhereConditionBuilder.js":{"path":"lib/query/WhereConditionBuilder.js","exports":["WhereConditionBuilder"],"requires":["Obj","Set","WhereCondition","Class","IConditionBuilder"],"autoload":false},"lib/observable/data/ObservableCollection.js":{"path":"lib/observable/data/ObservableCollection.js","exports":["ObservableCollection"],"requires":["Obj","IIterable","Observable","Class","Proxy","AddChange","ArgumentBug","ClearChange","Collection","IArrayable","ICollection","RemoveChange","TypeUtil"],"autoload":false},"lib/flow/Flows.js":{"path":"lib/flow/Flows.js","exports":["Flows"],"requires":["Obj","ForEachParallelBuilder","ForEachSeriesBuilder","ParallelBuilder","Class","WhileParallelBuilder","FlowBuilder","ForInParallelBuilder","ForInSeriesBuilder","IfBuilder","IterableParallelBuilder","IterableSeriesBuilder","SeriesBuilder","TaskBuilder","WhileSeriesBuilder"],"autoload":false},"lib/flow/flows/Flow.js":{"path":"lib/flow/flows/Flow.js","exports":["Flow"],"requires":["Obj","Throwables","ArgUtil","Class","Resolver","Tracer","TypeUtil"],"autoload":false},"lib/data/interfaces/IDocument.js":{"path":"lib/data/interfaces/IDocument.js","exports":["IDocument"],"requires":["Interface"],"autoload":false},"lib/data/iterators/WeightedListIterator.js":{"path":"lib/data/iterators/WeightedListIterator.js","exports":["WeightedListIterator"],"requires":["Obj","Exception","ArrayIterator","Class","IIndexValueIterator","TypeUtil"],"autoload":false},"lib/core/polyfill/Object.js":{"path":"lib/core/polyfill/Object.js","exports":["Object"],"requires":["Notifier"],"autoload":false},"lib/stream/operations/EachOperation.js":{"path":"lib/stream/operations/EachOperation.js","exports":["EachOperation"],"requires":["Obj","Class","IStreamOperation","TypeUtil"],"autoload":false},"lib/data/HashStoreNode.js":{"path":"lib/data/HashStoreNode.js","exports":["HashStoreNode"],"requires":["Obj","Class"],"autoload":false},"lib/data/GraphEdge.js":{"path":"lib/data/GraphEdge.js","exports":["GraphEdge"],"requires":["Obj","Class","GraphNode"],"autoload":false},"lib/change/PutChange.js":{"path":"lib/change/PutChange.js","exports":["PutChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/concurrent/LockStriped.js":{"path":"lib/concurrent/LockStriped.js","exports":["LockStriped"],"requires":["Obj","Striped","Class","Lock"],"autoload":false},"lib/throwable/MappedThrowable.js":{"path":"lib/throwable/MappedThrowable.js","exports":["MappedThrowable"],"requires":["Map","Class","Throwable"],"autoload":false},"lib/event/query/EventQueryBuilder.js":{"path":"lib/event/query/EventQueryBuilder.js","exports":["EventQueryBuilder"],"requires":["Obj","EventQuery","QueryBuilder","EventQueryListener","Class"],"autoload":false},"lib/data/DependencyGraph.js":{"path":"lib/data/DependencyGraph.js","exports":["DependencyGraph"],"requires":["Map","Obj","Set","Class","Graph","GraphEdge","GraphNode","List"],"autoload":false},"lib/core/interfaces/IIterable.js":{"path":"lib/core/interfaces/IIterable.js","exports":["IIterable"],"requires":["Interface"],"autoload":false},"lib/throwable/Throwable.js":{"path":"lib/throwable/Throwable.js","exports":["Throwable"],"requires":["Obj","IObjectable","StackTraceUtil","Class","TypeUtil"],"autoload":false},"lib/stream/Suppliers.js":{"path":"lib/stream/Suppliers.js","exports":["Suppliers"],"requires":["Obj","MethodSupplier","Class","ArraySupplier","IterableSupplier"],"autoload":false},"lib/data/HashTable.js":{"path":"lib/data/HashTable.js","exports":["HashTable"],"requires":["Obj","HashTableNode","Exception","Class","ObjectUtil","HashTableIterator","IKeyValueIterable"],"autoload":false},"lib/core/iterators/ArrayIterator.js":{"path":"lib/core/iterators/ArrayIterator.js","exports":["ArrayIterator"],"requires":["Obj","Exception","Array","Class","IIndexValueIterator","TypeUtil"],"autoload":false},"lib/data/Document.js":{"path":"lib/data/Document.js","exports":["Document"],"requires":["Bug","Obj","IDocument","IObjectable","ArgUtil","Class","IList","IClone","IMap","ISet","TypeUtil"],"autoload":false},"lib/stream/operations/FilterOperation.js":{"path":"lib/stream/operations/FilterOperation.js","exports":["FilterOperation"],"requires":["Obj","Class","IStreamOperation"],"autoload":false},"lib/data/Stack.js":{"path":"lib/data/Stack.js","exports":["Stack"],"requires":["Obj","Exception","ArrayIterator","Class","Collection","IIndexValueIterable"],"autoload":false},"lib/core/interfaces/IClone.js":{"path":"lib/core/interfaces/IClone.js","exports":["IClone"],"requires":["Interface"],"autoload":false},"lib/util/HtmlUtil.js":{"path":"lib/util/HtmlUtil.js","exports":["HtmlUtil"],"requires":["Obj","Url","ArgUtil","Class"],"autoload":false},"lib/promise/interfaces/IPromise.js":{"path":"lib/promise/interfaces/IPromise.js","exports":["IPromise"],"requires":["Interface"],"autoload":false},"lib/validator/ValidatorProcessor.js":{"path":"lib/validator/ValidatorProcessor.js","exports":["ValidatorProcessor"],"requires":["Obj","Exception","Class","Flows","Collections"],"autoload":false},"lib/change/SetPropertyChange.js":{"path":"lib/change/SetPropertyChange.js","exports":["SetPropertyChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/publisher/PublisherMessage.js":{"path":"lib/publisher/PublisherMessage.js","exports":["PublisherMessage"],"requires":["Obj","Class"],"autoload":false},"lib/event/EventDispatcher.js":{"path":"lib/event/EventDispatcher.js","exports":["EventDispatcher"],"requires":["Class","EventReceiver","IEventDispatcher"],"autoload":false},"lib/promise/Deferred.js":{"path":"lib/promise/Deferred.js","exports":["Deferred"],"requires":["Obj","ArgUtil","Class","Promise"],"autoload":false},"lib/data/interfaces/IList.js":{"path":"lib/data/interfaces/IList.js","exports":["IList"],"requires":["Interface","ICollection"],"autoload":false},"lib/query/WhereCondition.js":{"path":"lib/query/WhereCondition.js","exports":["WhereCondition"],"requires":["Obj","Set","Class","ObjectUtil","ICondition"],"autoload":false},"lib/data/DualMultiSetMap.js":{"path":"lib/data/DualMultiSetMap.js","exports":["DualMultiSetMap"],"requires":["Set","DualMultiMap","Class"],"autoload":false},"lib/state/StateMachine.js":{"path":"lib/state/StateMachine.js","exports":["StateMachine"],"requires":["Set","StateEvent","EventDispatcher","Exception","Class"],"autoload":false},"lib/validator/ValidationMachine.js":{"path":"lib/validator/ValidationMachine.js","exports":["ValidationMachine"],"requires":["Obj","Class","Collections","Validator","ValidatorGroup","ValidatorProcessor"],"autoload":false},"lib/util/LiteralUtil.js":{"path":"lib/util/LiteralUtil.js","exports":["LiteralUtil"],"requires":["Obj","IObjectable","Class","ObjectUtil","IArrayable","TypeUtil"],"autoload":false},"package.json":{"path":"package.json","exports":[],"requires":[],"autoload":false},"lib/flow/flows/Task.js":{"path":"lib/flow/flows/Task.js","exports":["Task"],"requires":["Class","Flow"],"autoload":false},"lib/flow/flows/Iteration.js":{"path":"lib/flow/flows/Iteration.js","exports":["Iteration"],"requires":["Class","Flow"],"autoload":false},"lib/data/interfaces/IMap.js":{"path":"lib/data/interfaces/IMap.js","exports":["IMap"],"requires":["Interface","IObjectable"],"autoload":false},"lib/validator/Validator.js":{"path":"lib/validator/Validator.js","exports":["Validator"],"requires":["Obj","Class"],"autoload":false},"lib/change/RemoveChange.js":{"path":"lib/change/RemoveChange.js","exports":["RemoveChange"],"requires":["Obj","Class","Change"],"autoload":false},"lib/publisher/Publisher.js":{"path":"lib/publisher/Publisher.js","exports":["Publisher"],"requires":["Map","Obj","PublisherSubscription","Class","List","PublisherMessage"],"autoload":false},"lib/trace/Tracer.js":{"path":"lib/trace/Tracer.js","exports":["Tracer"],"requires":["Obj","TreeNode","StackTraceUtil","ArgUtil","Class","Proxy","Trace","StringUtil","Tree"],"autoload":false},"lib/util/Properties.js":{"path":"lib/util/Properties.js","exports":["Properties"],"requires":["Obj","Class","ObjectUtil","TypeUtil"],"autoload":false},"lib/core/Obj.js":{"path":"lib/core/Obj.js","exports":["Obj"],"requires":["Class","IdGenerator","ObjectUtil","HashUtil","IClone","IEquals","IHashCode","TypeUtil"],"autoload":false},"lib/publisher/PublisherSubscription.js":{"path":"lib/publisher/PublisherSubscription.js","exports":["PublisherSubscription"],"requires":["Obj","Class","HashUtil"],"autoload":false},"lib/stream/interfaces/IStreamOperation.js":{"path":"lib/stream/interfaces/IStreamOperation.js","exports":["IStreamOperation"],"requires":["Interface"],"autoload":false},"lib/core/polyfill/Array.js":{"path":"lib/core/polyfill/Array.js","exports":["Array"],"requires":["Notifier","Object"],"autoload":false},"lib/flow/builders/ForEachSeriesBuilder.js":{"path":"lib/flow/builders/ForEachSeriesBuilder.js","exports":["ForEachSeriesBuilder"],"requires":["ForEachSeries","Class","IterableFlowBuilder"],"autoload":false},"lib/core/interfaces/IJsonable.js":{"path":"lib/core/interfaces/IJsonable.js","exports":["IJsonable"],"requires":["Interface"],"autoload":false},"lib/util/HashUtil.js":{"path":"lib/util/HashUtil.js","exports":["HashUtil"],"requires":["IdGenerator","TypeUtil"],"autoload":false},"lib/event/interfaces/IEventDispatcher.js":{"path":"lib/event/interfaces/IEventDispatcher.js","exports":["IEventDispatcher"],"requires":["Interface"],"autoload":false},"lib/flow/flows/IterableSeries.js":{"path":"lib/flow/flows/IterableSeries.js","exports":["IterableSeries"],"requires":["IterableFlow","Class"],"autoload":false},"lib/flow/builders/IterableFlowBuilder.js":{"path":"lib/flow/builders/IterableFlowBuilder.js","exports":["IterableFlowBuilder"],"requires":["Throwables","Class","FlowBuilder","TypeUtil"],"autoload":false},"lib/core/interfaces/IEquals.js":{"path":"lib/core/interfaces/IEquals.js","exports":["IEquals"],"requires":["Interface"],"autoload":false},"lib/core/Interface.js":{"path":"lib/core/Interface.js","exports":["Interface"],"requires":["Implementable","TypeUtil"],"autoload":false},"lib/core/interfaces/IObjectable.js":{"path":"lib/core/interfaces/IObjectable.js","exports":["IObjectable"],"requires":["Interface"],"autoload":false},"lib/core/interfaces/IIndexValueIterable.js":{"path":"lib/core/interfaces/IIndexValueIterable.js","exports":["IIndexValueIterable"],"requires":["IIterable","Interface"],"autoload":false},"lib/change/RemoveAtChange.js":{"path":"lib/change/RemoveAtChange.js","exports":["RemoveAtChange"],"requires":["Obj","Class","RemoveChange"],"autoload":false},"lib/concurrent/RateLimiter.js":{"path":"lib/concurrent/RateLimiter.js","exports":["RateLimiter"],"requires":["Obj","Class","Queue","Func"],"autoload":false},"lib/throwable/Throwables.js":{"path":"lib/throwable/Throwables.js","exports":["Throwables"],"requires":["Bug","Obj","ParallelException","Exception","Class","ArgumentBug"],"autoload":false},"lib/util/ObjectUtil.js":{"path":"lib/util/ObjectUtil.js","exports":["ObjectUtil"],"requires":["FunctionUtil","Object","Reflect","TypeUtil"],"autoload":false},"lib/core/Func.js":{"path":"lib/core/Func.js","exports":["Func"],"requires":["Obj","Class","TypeUtil"],"autoload":false},"lib/data/DualMultiMap.js":{"path":"lib/data/DualMultiMap.js","exports":["DualMultiMap"],"requires":["DualMap","Class","Collection","TypeUtil"],"autoload":false},"lib/data/Striped.js":{"path":"lib/data/Striped.js","exports":["Striped"],"requires":["Map","Obj","Class","List","TypeUtil"],"autoload":false},"lib/data/iterators/HashTableIterator.js":{"path":"lib/data/iterators/HashTableIterator.js","exports":["HashTableIterator"],"requires":["Obj","Exception","ArrayIterator","Class","IKeyValueIterator","ObjectIterator"],"autoload":false},"lib/flow/builders/IfBuilder.js":{"path":"lib/flow/builders/IfBuilder.js","exports":["IfBuilder"],"requires":["If","Throwables","Class","FlowBuilder","List","TaskBuilder","TypeUtil"],"autoload":false},"lib/flow/flows/ForInSeries.js":{"path":"lib/flow/flows/ForInSeries.js","exports":["ForInSeries"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator"],"autoload":false},"lib/observable/data/ObservableObject.js":{"path":"lib/observable/data/ObservableObject.js","exports":["ObservableObject"],"requires":["DualMap","Obj","IObjectable","Observable","Class","SetPropertyChange","ObjectUtil","ClearChange","IObservable","RemovePropertyChange"],"autoload":false},"lib/promise/handlers/FinallyHandler.js":{"path":"lib/promise/handlers/FinallyHandler.js","exports":["FinallyHandler"],"requires":["Class","Handler","TypeUtil"],"autoload":false},"lib/query/interfaces/IConditionBuilder.js":{"path":"lib/query/interfaces/IConditionBuilder.js","exports":["IConditionBuilder"],"requires":["Interface"],"autoload":false},"lib/stream/interfaces/ISupplier.js":{"path":"lib/stream/interfaces/ISupplier.js","exports":["ISupplier"],"requires":["Interface"],"autoload":false},"lib/data/MultiListMap.js":{"path":"lib/data/MultiListMap.js","exports":["MultiListMap"],"requires":["Class","List","MultiMap"],"autoload":false},"lib/data/TreeNode.js":{"path":"lib/data/TreeNode.js","exports":["TreeNode"],"requires":["Obj","Class","List"],"autoload":false},"lib/event/EventPropagator.js":{"path":"lib/event/EventPropagator.js","exports":["EventPropagator"],"requires":["Obj","Class","IEventPropagator","List"],"autoload":false},"lib/flow/builders/ParallelBuilder.js":{"path":"lib/flow/builders/ParallelBuilder.js","exports":["ParallelBuilder"],"requires":["Parallel","Throwables","Class","FlowBuilder","TaskBuilder","TypeUtil"],"autoload":false},"lib/flow/flows/IterableParallel.js":{"path":"lib/flow/flows/IterableParallel.js","exports":["IterableParallel"],"requires":["IIterable","IterableFlow","Class","MappedParallelException"],"autoload":false},"lib/observable/interfaces/IObservationPropagator.js":{"path":"lib/observable/interfaces/IObservationPropagator.js","exports":["IObservationPropagator"],"requires":["Interface"],"autoload":false},"lib/proxy/ProxyMethod.js":{"path":"lib/proxy/ProxyMethod.js","exports":["ProxyMethod"],"requires":["Obj","Interface","Class","IProxy"],"autoload":false},"lib/stream/Consumer.js":{"path":"lib/stream/Consumer.js","exports":["Consumer"],"requires":["Bug","Obj","Throwables","Supplier","Class","ISupplier","IConsumer"],"autoload":false},"lib/stream/suppliers/ArraySupplier.js":{"path":"lib/stream/suppliers/ArraySupplier.js","exports":["ArraySupplier"],"requires":["Supplier","Class"],"autoload":false},"lib/BugCore.js":{"path":"lib/BugCore.js","exports":["BugCore"],"requires":["Suppliers","Constructor","Bug","Map","Obj","Set","Implementable","HashStore","HashTable","ProxyProperty","Striped","IIterable","IIterator","Interface","IObjectable","DateUtil","EventDispatcher","Exception","EventPropagator","ArgUtil","Class","Event","Flows","IList","Proxy","Queue","IdGenerator","Stack","ObjectUtil","ArrayUtil","Collection","Collections","EventReceiver","Func","HashUtil","IArrayable","IClone","ICollection","IEquals","IHashCode","IMap","IProxy","ISet","List","Lock","MathUtil","Pair","ProxyMethod","ProxyObject","RateLimiter","Semaphore","Stream","StringUtil","Throwable","TypeUtil"],"autoload":false},"lib/command/CommandBatch.js":{"path":"lib/command/CommandBatch.js","exports":["CommandBatch"],"requires":["Bug","Obj","ArgUtil","Class","List"],"autoload":false},"lib/throwable/Bug.js":{"path":"lib/throwable/Bug.js","exports":["Bug"],"requires":["Class","Throwable"],"autoload":false},"lib/util/Config.js":{"path":"lib/util/Config.js","exports":["Config"],"requires":["Obj","IObjectable","IJsonable","Class","Properties"],"autoload":false},"lib/validator/ValidatorGroup.js":{"path":"lib/validator/ValidatorGroup.js","exports":["ValidatorGroup"],"requires":["Obj","Class","Collections","Func","ValidatorProcessor"],"autoload":false},"lib/core/iterators/ObjectIterator.js":{"path":"lib/core/iterators/ObjectIterator.js","exports":["ObjectIterator"],"requires":["Obj","Exception","Class","ObjectUtil","IKeyValueIterator","Object","TypeUtil"],"autoload":false},"lib/data/Map.js":{"path":"lib/data/Map.js","exports":["Map"],"requires":["Obj","HashTable","IObjectable","Class","ObjectUtil","Collection","IKeyValueIterable","IMap","TypeUtil"],"autoload":false},"lib/data/Tree.js":{"path":"lib/data/Tree.js","exports":["Tree"],"requires":["Obj","Class"],"autoload":false},"lib/event/EventListener.js":{"path":"lib/event/EventListener.js","exports":["EventListener"],"requires":["Obj","Class"],"autoload":false},"lib/flow/builders/IterableSeriesBuilder.js":{"path":"lib/flow/builders/IterableSeriesBuilder.js","exports":["IterableSeriesBuilder"],"requires":["IterableSeries","Class","IterableFlowBuilder"],"autoload":false},"lib/flow/flows/IterableFlow.js":{"path":"lib/flow/flows/IterableFlow.js","exports":["IterableFlow"],"requires":["IIterable","Throwables","ArgUtil","ArrayIterator","Class","Flow","Iteration","ObjectIterator","TypeUtil"],"autoload":false},"lib/observable/interfaces/IObservable.js":{"path":"lib/observable/interfaces/IObservable.js","exports":["IObservable"],"requires":["Interface","IObservationPropagator"],"autoload":false},"lib/core/Class.js":{"path":"lib/core/Class.js","exports":["Class"],"requires":["Constructor","TypeUtil"],"autoload":false},"lib/data/BidiMap.js":{"path":"lib/data/BidiMap.js","exports":["BidiMap"],"requires":["Map","Obj","HashTable","Class","Collection","TypeUtil"],"autoload":false},"lib/data/MultiSetMap.js":{"path":"lib/data/MultiSetMap.js","exports":["MultiSetMap"],"requires":["Set","Class","MultiMap"],"autoload":false},"lib/data/UnorderedPair.js":{"path":"lib/data/UnorderedPair.js","exports":["UnorderedPair"],"requires":["Obj","Class","Collection","IArrayable"],"autoload":false},"lib/event/EventReceiver.js":{"path":"lib/event/EventReceiver.js","exports":["EventReceiver"],"requires":["EventQueryBuilder","EventListener","EventPropagator","Class","IEventReceiver","MultiListMap","TypeUtil"],"autoload":false},"lib/flow/builders/TaskBuilder.js":{"path":"lib/flow/builders/TaskBuilder.js","exports":["TaskBuilder"],"requires":["Throwables","Class","FlowBuilder","Task","TypeUtil"],"autoload":false},"lib/flow/flows/Series.js":{"path":"lib/flow/flows/Series.js","exports":["Series"],"requires":["Class","Flow"],"autoload":false},"lib/promise/Handler.js":{"path":"lib/promise/Handler.js","exports":["Handler"],"requires":["Bug","Obj","Class","TypeUtil"],"autoload":false},"lib/proxy/ProxyObject.js":{"path":"lib/proxy/ProxyObject.js","exports":["ProxyObject"],"requires":["Obj","Interface","Class","IProxy"],"autoload":false},"lib/stream/Stream.js":{"path":"lib/stream/Stream.js","exports":["Stream"],"requires":["ReduceConsumer","EachOperation","Exception","ArgUtil","Supplier","Class","MapOperation","ISupplier","CollectConsumer","FilterOperation","Func","IConsumer","IStreamable"],"autoload":false},"lib/stream/suppliers/MethodSupplier.js":{"path":"lib/stream/suppliers/MethodSupplier.js","exports":["MethodSupplier"],"requires":["Supplier","Class"],"autoload":false},"lib/util/IdGenerator.js":{"path":"lib/util/IdGenerator.js","exports":["IdGenerator"],"requires":[],"autoload":false},"lib/core/Constructor.js":{"path":"lib/core/Constructor.js","exports":["Constructor"],"requires":[],"autoload":false},"lib/data/Collections.js":{"path":"lib/data/Collections.js","exports":["Collections"],"requires":["Map","Obj","Set","Exception","Class","Queue","Collection","List","MultiListMap"],"autoload":false},"lib/data/Pair.js":{"path":"lib/data/Pair.js","exports":["Pair"],"requires":["Obj","IObjectable","Exception","Class","IArrayable","TypeUtil"],"autoload":false},"lib/data/WeightedList.js":{"path":"lib/data/WeightedList.js","exports":["WeightedList"],"requires":["Obj","WeightedListNode","WeightedListIterator","Exception","Class","Collection","List","TypeUtil"],"autoload":false},"lib/event/adapters/NodeJsEvent.js":{"path":"lib/event/adapters/NodeJsEvent.js","exports":["NodeJsEvent"],"requires":["Class","Event"],"autoload":false},"lib/flow/builders/WhileParallelBuilder.js":{"path":"lib/flow/builders/WhileParallelBuilder.js","exports":["WhileParallelBuilder"],"requires":["Throwables","WhileParallel","Class","FlowBuilder","TaskBuilder","TypeUtil"],"autoload":false},"lib/flow/flows/WhileParallel.js":{"path":"lib/flow/flows/WhileParallel.js","exports":["WhileParallel"],"requires":["Throwables","Assertion","Class","Flow","TypeUtil"],"autoload":false},"lib/promise/Promise.js":{"path":"lib/promise/Promise.js","exports":["Promise"],"requires":["Bug","Obj","CatchHandler","FinallyHandler","ArgUtil","Class","CallbackHandler","IPromise","List","Resolver","ThenHandler","TypeUtil"],"autoload":false},"lib/proxy/ProxyProperty.js":{"path":"lib/proxy/ProxyProperty.js","exports":["ProxyProperty"],"requires":["Obj","Interface","Class","IProxy"],"autoload":false},"lib/stream/Streams.js":{"path":"lib/stream/Streams.js","exports":["Streams"],"requires":["Arr","Obj","Exception","Class","IStreamable","Stream","TypeUtil"],"autoload":false},"lib/util/ArgUtil.js":{"path":"lib/util/ArgUtil.js","exports":["ArgUtil"],"requires":["Bug","Obj","Class","ObjectUtil","ArgumentBug","TypeUtil"],"autoload":false},"lib/util/StackTraceUtil.js":{"path":"lib/util/StackTraceUtil.js","exports":["StackTraceUtil"],"requires":["Obj","Class","StringUtil"],"autoload":false},"lib/core/interfaces/IHashCode.js":{"path":"lib/core/interfaces/IHashCode.js","exports":["IHashCode"],"requires":["Interface"],"autoload":false},"lib/data/GraphNode.js":{"path":"lib/data/GraphNode.js","exports":["GraphNode"],"requires":["Obj","Class"],"autoload":false},"lib/data/Set.js":{"path":"lib/data/Set.js","exports":["Set"],"requires":["Obj","Class","Collection","ISet"],"autoload":false},"lib/data/interfaces/IMultiMap.js":{"path":"lib/data/interfaces/IMultiMap.js","exports":["IMultiMap"],"requires":["Interface","IMap"],"autoload":false},"lib/flow/builders/FlowBuilder.js":{"path":"lib/flow/builders/FlowBuilder.js","exports":["FlowBuilder"],"requires":["Obj","Throwables","ArgUtil","Class","Promises"],"autoload":false},"lib/flow/flows/ForInParallel.js":{"path":"lib/flow/flows/ForInParallel.js","exports":["ForInParallel"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator","MappedParallelException"],"autoload":false},"lib/observable/data/ObservableMap.js":{"path":"lib/observable/data/ObservableMap.js","exports":["ObservableMap"],"requires":["Map","Obj","HashTable","IObjectable","Observable","Class","ClearChange","Collection","IMap","PutChange","RemoveChange","TypeUtil"],"autoload":false},"lib/promise/handlers/CatchHandler.js":{"path":"lib/promise/handlers/CatchHandler.js","exports":["CatchHandler"],"requires":["Class","Handler","TypeUtil"],"autoload":false},"lib/query/QueryBuilder.js":{"path":"lib/query/QueryBuilder.js","exports":["QueryBuilder"],"requires":["Obj","Set","Class","Query","WhereConditionBuilder"],"autoload":false},"lib/stream/consumers/ReduceConsumer.js":{"path":"lib/stream/consumers/ReduceConsumer.js","exports":["ReduceConsumer"],"requires":["Throwables","Class","Consumer","TypeUtil"],"autoload":false},"lib/data/Graph.js":{"path":"lib/data/Graph.js","exports":["Graph"],"requires":["Map","Obj","Set","Exception","Class","GraphEdge","GraphNode"],"autoload":false},"lib/data/ReferenceGraph.js":{"path":"lib/data/ReferenceGraph.js","exports":["ReferenceGraph"],"requires":["Map","Obj","Set","Class","Graph","GraphEdge","GraphNode","List"],"autoload":false},"lib/data/interfaces/ICollection.js":{"path":"lib/data/interfaces/ICollection.js","exports":["ICollection"],"requires":["Interface","IArrayable"],"autoload":false},"lib/event/query/EventQueyListener.js":{"path":"lib/event/query/EventQueyListener.js","exports":["EventQueryListener"],"requires":["EventListener","Class"],"autoload":false},"lib/flow/flows/ForEachParallel.js":{"path":"lib/flow/flows/ForEachParallel.js","exports":["ForEachParallel"],"requires":["IterableFlow","Class","IIndexValueIterator","IKeyValueIterator","MappedParallelException"],"autoload":false},"lib/observable/ObservationPropagator.js":{"path":"lib/observable/ObservationPropagator.js","exports":["ObservationPropagator"],"requires":["Obj","IObservationPropagator","Class","List"],"autoload":false},"lib/promise/Resolver.js":{"path":"lib/promise/Resolver.js","exports":["Resolver"],"requires":["Bug","Obj","ValuesResolver","Exception","ArgUtil","Class","IPromise","List","TypeUtil"],"autoload":false},"lib/query/Query.js":{"path":"lib/query/Query.js","exports":["Query"],"requires":["Obj","Set","Class","ArgumentBug","ICondition"],"autoload":false},"lib/stream/consumers/CollectConsumer.js":{"path":"lib/stream/consumers/CollectConsumer.js","exports":["CollectConsumer"],"requires":["Throwables","Class","Consumer","ICollection"],"autoload":false},"lib/data/Queue.js":{"path":"lib/data/Queue.js","exports":["Queue"],"requires":["Obj","Exception","ArrayIterator","Class","Collection","IIndexValueIterable"],"autoload":false},"lib/data/WeightedListNode.js":{"path":"lib/data/WeightedListNode.js","exports":["WeightedListNode"],"requires":["Obj","Class"],"autoload":false},"lib/event/query/EventQuery.js":{"path":"lib/event/query/EventQuery.js","exports":["EventQuery"],"requires":["Class","Query"],"autoload":false},"lib/flow/flows/Assertion.js":{"path":"lib/flow/flows/Assertion.js","exports":["Assertion"],"requires":["Throwables","Class","Flow","TypeUtil"],"autoload":false},"lib/observable/Observable.js":{"path":"lib/observable/Observable.js","exports":["Observable"],"requires":["Set","ObservationPropagator","Class","Observation","ArgumentBug","IObservable","MultiListMap","Observer","TypeUtil"],"autoload":false},"lib/promise/Promises.js":{"path":"lib/promise/Promises.js","exports":["Promises"],"requires":["Obj","Class","Promise","Deferred","IPromise","TypeUtil"],"autoload":false},"lib/proxy/interfaces/IProxy.js":{"path":"lib/proxy/interfaces/IProxy.js","exports":["IProxy"],"requires":["Interface"],"autoload":false},"lib/stream/Supplier.js":{"path":"lib/stream/Supplier.js","exports":["Supplier"],"requires":["Bug","Obj","Exception","Class","ISupplier","IConsumer"],"autoload":false},"lib/promise/handlers/ThenHandler.js":{"path":"lib/promise/handlers/ThenHandler.js","exports":["ThenHandler"],"requires":["Class","Handler","TypeUtil"],"autoload":false},"lib/state/events/StateEvent.js":{"path":"lib/state/events/StateEvent.js","exports":["StateEvent"],"requires":["Class","Event"],"autoload":false},"lib/stream/operations/MapOperation.js":{"path":"lib/stream/operations/MapOperation.js","exports":["MapOperation"],"requires":["Obj","Class","IStreamOperation"],"autoload":false}}

@@ -17,3 +17,3 @@ /*

//@Require('Exception')
//@Require('ICollection')
//@Require('IArrayable')
//@Require('IIndexValueIterable')

@@ -40,3 +40,3 @@ //@Require('IStreamable')

var Exception = bugpack.require('Exception');
var ICollection = bugpack.require('ICollection');
var IArrayable = bugpack.require('IArrayable');
var IIndexValueIterable = bugpack.require('IIndexValueIterable');

@@ -95,3 +95,3 @@ var IStreamable = bugpack.require('IStreamable');

/**
* @param {(ICollection.<V> | Array.<V>)=} items
* @param {(IArrayable.<V> | Array.<V>)=} items
* @return {Arr}

@@ -105,6 +105,6 @@ */

this.array = items;
} else if (Class.doesImplement(items, ICollection)){
this.array = items.getValueArray();
} else if (Class.doesImplement(items, IArrayable)){
this.array = items.toArray();
} else {
throw new Exception("IllegalArgument", {}, "'items' must either be an Array or implement ICollection");
throw new Exception("IllegalArgument", {}, "'items' must either be an Array or implement IArrayable");
}

@@ -111,0 +111,0 @@ return this;

@@ -36,2 +36,3 @@ /*

* @interface
* @template I
*/

@@ -48,3 +49,3 @@ var IArrayable = Interface.declare({

/**
* @return {Array.<*>}
* @return {Array.<I>}
*/

@@ -51,0 +52,0 @@ toArray: function() {}

@@ -100,6 +100,6 @@ /*

changes.forEach(function(change) {
if (change.removed) {
if (change.removed && change.removed.length > 0) {
_this.handleIndexesRemoved(change.index, change.removed.length);
}
if (change.addedCount) {
if (change.addedCount > 0) {
_this.handleIndexesAdded(change.index, change.addedCount);

@@ -106,0 +106,0 @@ }

@@ -93,11 +93,11 @@ /*

* @private
* @type {Object.<string, number>}
* @type {number}
*/
this.propertySkipCountMap = {};
this.propertyCount = 0;
/**
* @private
* @type {number}
* @type {Object.<string, number>}
*/
this.propertyCount = 0;
this.propertySkipCountMap = {};
},

@@ -141,2 +141,9 @@

/**
* @return {number}
*/
getIndex: function() {
return this.index;
},
/**
* @return {Object.<string, V>}

@@ -148,3 +155,24 @@ */

/**
* @return {Array.<string>}
*/
getProperties: function() {
return this.properties;
},
/**
* @return {number}
*/
getPropertyCount: function() {
return this.propertyCount;
},
/**
* @return {Object.<string, number>}
*/
getPropertySkipCountMap: function() {
return this.propertySkipCountMap;
},
//-------------------------------------------------------------------------------

@@ -158,2 +186,3 @@ // IIterator Implementation

hasNext: function() {
// console.log("ObjectIterator - hasNext this.index:", this.index, " this.propertyCount:", this.propertyCount);
return (this.index < (this.propertyCount - 1));

@@ -160,0 +189,0 @@ },

@@ -15,2 +15,3 @@ /*

//@Require('Notifier')
//@Require('Object')

@@ -29,2 +30,3 @@

var Notifier = bugpack.require('Notifier');
var Object = bugpack.require('Object');

@@ -65,12 +67,17 @@

if (!Array.getNotifier) {
//if (!Array.getNotifier) {
Array.getNotifier = function(object) {
if (!object._notifier) {
object._notifier = new Notifier();
Object.defineProperty(object, "_notifier", {
value : new Notifier(),
writable : true,
enumerable : false,
configurable : false
});
}
return object._notifier;
}
}
};
//}
if (!Array.observe) {
//if (!Array.observe) {
Array.observe = function(obj, callback, acceptList) {

@@ -157,5 +164,5 @@ var notifier = Array.getNotifier(obj);

};
}
//}
if (!Array.unobserve) {
//if (!Array.unobserve) {
Array.unobserve = function(obj, callback) {

@@ -165,3 +172,3 @@ var notifier = Array.getNotifier(obj);

};
}
//}

@@ -168,0 +175,0 @@ //-------------------------------------------------------------------------------

@@ -108,3 +108,3 @@ /*

*/
notifiy: function (changeObject) {
notify: function (changeObject) {
var changes = [changeObject];

@@ -111,0 +111,0 @@ this.observers.forEach(function(observer) {

@@ -76,12 +76,17 @@ /*

if (!Object.getNotifier) {
//if (!Object.getNotifier) {
Object.getNotifier = function(object) {
if (!object._notifier) {
object._notifier = new Notifier();
Object.defineProperty(object, "_notifier", {
value : new Notifier(),
writable : true,
enumerable : false,
configurable : false
});
}
return object._notifier;
}
}
};
//}
if (!Object.observe) {
//if (!Object.observe) {
Object.observe = function(obj, callback, acceptList) {

@@ -91,5 +96,5 @@ var notifier = Object.getNotifier(obj);

};
}
//}
if (!Object.unobserve) {
//if (!Object.unobserve) {
Object.unobserve = function(obj, callback) {

@@ -99,3 +104,3 @@ var notifier = Object.getNotifier(obj);

};
}
//}

@@ -102,0 +107,0 @@

@@ -123,4 +123,4 @@ /*

clear: function() {
this.keyValueHashTable = new HashTable();
this.valueKeyHashTable = new HashTable();
this.keyValueHashTable.clear();
this.valueKeyHashTable.clear()
},

@@ -168,38 +168,2 @@

/**
* @return {Array<*>}
*/
getKeyArray: function() {
return this.keyValueHashTable.getKeyArray();
},
/**
* @return {Collection}
*/
getKeyCollection: function() {
var keyCollection = new Collection();
this.valueKeyHashTable.forEach(function(key) {
keyCollection.add(key);
});
return keyCollection;
},
/**
* @return {Array<*>}
*/
getValueArray: function() {
return this.keyValueHashTable.getValueArray();
},
/**
* @return {Collection}
*/
getValueCollection: function() {
var valueCollection = new Collection();
this.keyValueHashTable.forEach(function(value) {
valueCollection.add(value);
});
return valueCollection;
},
/**
* @return {boolean}

@@ -229,3 +193,3 @@ */

if (Class.doesExtend(map, Map)) {
var keys = map.getKeyArray();
var keys = map.toKeyArray();
keys.forEach(function(key) {

@@ -236,3 +200,3 @@ var value = map.get(key);

} else if (Class.doesExtend(map, DualMap)) {
var keys = map.getKeyArray();
var keys = map.toKeyArray();
keys.forEach(function(key) {

@@ -267,2 +231,38 @@ var value = map.getValue(key);

return key;
},
/**
* @return {Array<*>}
*/
toKeyArray: function() {
return this.keyValueHashTable.toKeyArray();
},
/**
* @return {Collection}
*/
toKeyCollection: function() {
var keyCollection = new Collection();
this.valueKeyHashTable.forEach(function(key) {
keyCollection.add(key);
});
return keyCollection;
},
/**
* @return {Array<*>}
*/
toValueArray: function() {
return this.keyValueHashTable.toValueArray();
},
/**
* @return {Collection}
*/
toValueCollection: function() {
var valueCollection = new Collection();
this.keyValueHashTable.forEach(function(value) {
valueCollection.add(value);
});
return valueCollection;
}

@@ -269,0 +269,0 @@ });

@@ -132,3 +132,3 @@ /*

toArray: function() {
return this.getValueArray();
return this.hashStore.toArray();
},

@@ -146,3 +146,3 @@

add: function(item) {
this.hashStore.addValue(item);
this.hashStore.add(item);
return true;

@@ -155,2 +155,5 @@ },

addAll: function(items) {
if (Class.doesImplement(items, IArrayable) && !Class.doesImplement(items, ICollection)) {
items = items.toArray();
}
if (Class.doesImplement(items, ICollection) || TypeUtil.isArray(items)) {

@@ -170,3 +173,3 @@ var _this = this;

clear: function() {
this.hashStore = new HashStore();
this.removeAll(this);
},

@@ -179,3 +182,3 @@

contains: function(value) {
return this.hashStore.hasValue(value);
return this.hashStore.contains(value);
},

@@ -196,3 +199,3 @@

if (Class.doesImplement(values, ICollection)) {
valueArray = values.getValueArray();
valueArray = values.toArray();
}

@@ -224,6 +227,6 @@ for (var i = 0, size = valueArray.length; i < size; i++) {

if (collection.getCount() === this.getCount()) {
var collectionValueArray = this.getValueArray();
var collectionValueArray = this.toArray();
for (var i1 = 0, size1 = collectionValueArray.length; i1 < size1; i1++) {
var collectionValue = collectionValueArray[i1];
if (this.getValueCount(collectionValue) !== collection.getValueCount(collectionValue)) {
if (this.countValue(collectionValue) !== collection.countValue(collectionValue)) {
return false;

@@ -241,24 +244,14 @@ }

/**
* @param {*} value
* @return {number}
*/
getCount: function() {
return this.hashStore.getCount();
countValue: function(value) {
return this.hashStore.countValue(value);
},
/**
* @return {Array.<I>}
*/
getValueArray: function() {
//NOTE BRN: The getValueArray method of HashStore already creates a new array
return this.hashStore.getValueArray();
},
/**
* @param {*} value
* @return {number}
*/
getValueCount: function(value) {
return this.hashStore.getValueCount(value);
getCount: function() {
return this.hashStore.getCount();
},

@@ -278,3 +271,3 @@

remove: function(value) {
return this.hashStore.removeValue(value);
return this.hashStore.remove(value);
},

@@ -381,3 +374,2 @@

Class.implement(Collection, IArrayable);
Class.implement(Collection, ICollection);

@@ -384,0 +376,0 @@ Class.implement(Collection, IIterable);

@@ -123,4 +123,4 @@ /*

clear: function() {
this.keyValueHashTable = new HashTable();
this.valueKeyCollectionHashTable = new HashTable();
this.keyValueHashTable.clear();
this.valueKeyCollectionHashTable.clear();
},

@@ -168,34 +168,2 @@

/**
* @return {Array<*>}
*/
getKeyArray: function() {
return this.keyValueHashTable.getKeyArray();
},
/**
* @return {Collection.<*>}
*/
getKeyCollection: function() {
return new Collection(this.keyValueHashTable.getKeyArray());
},
/**
* @return {Array.<*>}
*/
getValueArray: function() {
return this.keyValueHashTable.getValueArray();
},
/**
* @return {Collection.<*>}
*/
getValueCollection: function() {
var valueCollection = new Collection();
this.keyValueHashTable.forEach(function(value) {
valueCollection.add(value);
});
return valueCollection;
},
/**
* @return {boolean}

@@ -232,3 +200,3 @@ */

if (Class.doesExtend(map, Map)) {
var keys = map.getKeyArray();
var keys = map.toKeyArray();
keys.forEach(function(key) {

@@ -239,3 +207,3 @@ var value = map.get(key);

} else if (Class.doesExtend(map, DualMap)) {
var keys = map.getKeyArray();
var keys = map.toKeyArray();
keys.forEach(function(key) {

@@ -277,2 +245,34 @@ var value = map.getValue(key);

return keyCollection;
},
/**
* @return {Array<*>}
*/
toKeyArray: function() {
return this.keyValueHashTable.toKeyArray();
},
/**
* @return {Collection.<*>}
*/
toKeyCollection: function() {
return new Collection(this.keyValueHashTable.toKeyArray());
},
/**
* @return {Array.<*>}
*/
toValueArray: function() {
return this.keyValueHashTable.toValueArray();
},
/**
* @return {Collection.<*>}
*/
toValueCollection: function() {
var valueCollection = new Collection();
this.keyValueHashTable.forEach(function(value) {
valueCollection.add(value);
});
return valueCollection;
}

@@ -279,0 +279,0 @@ });

@@ -17,2 +17,3 @@ /*

//@Require('HashStoreNode')
//@Require('IArrayable')
//@Require('IIterable')

@@ -36,2 +37,3 @@ //@Require('Obj')

var HashStoreNode = bugpack.require('HashStoreNode');
var IArrayable = bugpack.require('IArrayable');
var IIterable = bugpack.require('IIterable');

@@ -49,4 +51,4 @@ var Obj = bugpack.require('Obj');

* @extends {Obj}
* @implements {IIterable.<V>}
* @template V
* @implements {IIterable.<I>}
* @template I
*/

@@ -83,3 +85,3 @@ var HashStore = Class.extend(Obj, {

* @private
* @type {Object.<string, HashStoreNode.<V>>}
* @type {Object.<string, HashStoreNode.<I>>}
*/

@@ -102,3 +104,3 @@ this.hashStoreNodeObject = {};

/**
* @return {Object.<string, HashStoreNode.<V>>}
* @return {Object.<string, HashStoreNode.<I>>}
*/

@@ -111,16 +113,14 @@ getHashStoreNodeObject: function() {

//-------------------------------------------------------------------------------
// Convenience Methods
// IArrayable Implementation
//-------------------------------------------------------------------------------
/**
* @param {*} value
* @return {number}
* @return {Array.<I>}
*/
getValueCount: function(value) {
var valueHashCode = Obj.hashCode(value);
var hashStoreNode = ObjectUtil.getOwnProperty(this.hashStoreNodeObject, valueHashCode.toString());
if (hashStoreNode) {
return hashStoreNode.getValueCount(value);
}
return 0;
toArray: function() {
var array = [];
ObjectUtil.forInOwn(this.hashStoreNodeObject, function(valueHashCode, hashStoreNode) {
array = array.concat(hashStoreNode.getItemArray());
});
return array;
},

@@ -138,3 +138,3 @@

*
* @param {function(V)} func
* @param {function(I)} func
*/

@@ -153,3 +153,3 @@ forEach: function(func) {

*
* @return {IIterator.<V>}
* @return {IIterator.<I>}
*/

@@ -166,12 +166,12 @@ iterator: function() {

/**
* @param {V} value
* @param {I} item
*/
addValue: function(value) {
var valueHashCode = Obj.hashCode(value);
var hashStoreNode = ObjectUtil.getOwnProperty(this.hashStoreNodeObject, valueHashCode.toString());
add: function(item) {
var hashCode = Obj.hashCode(item);
var hashStoreNode = ObjectUtil.getOwnProperty(this.hashStoreNodeObject, hashCode.toString());
if (!hashStoreNode) {
hashStoreNode = new HashStoreNode();
this.hashStoreNodeObject[valueHashCode] = hashStoreNode;
this.hashStoreNodeObject[hashCode] = hashStoreNode;
}
hashStoreNode.addValue(value);
hashStoreNode.add(item);
this.count++;

@@ -181,23 +181,36 @@ },

/**
* @return {Array.<V>}
*
*/
getValueArray: function() {
var valueArray = [];
ObjectUtil.forInOwn(this.hashStoreNodeObject, function(valueHashCode, hashStoreNode) {
valueArray = valueArray.concat(hashStoreNode.getValueArray());
});
return valueArray;
clear: function() {
var iterator = this.iterator();
while (iterator.hasNext()) {
var item = iterator.next();
this.remove(item);
}
},
/**
* @param {*} value
* @param {*} item
* @return {boolean}
*/
hasValue: function(value) {
contains: function(item) {
var hashCode = Obj.hashCode(item);
var hashStoreNode = ObjectUtil.getOwnProperty(this.hashStoreNodeObject, hashCode.toString());
if (hashStoreNode) {
return hashStoreNode.contains(item);
}
return false;
},
/**
* @param {*} value
* @return {number}
*/
countValue: function(value) {
var valueHashCode = Obj.hashCode(value);
var hashStoreNode = ObjectUtil.getOwnProperty(this.hashStoreNodeObject, valueHashCode.toString());
if (hashStoreNode) {
return hashStoreNode.containsValue(value);
return hashStoreNode.countValue(value);
}
return false;
return 0;
},

@@ -213,15 +226,15 @@

/**
* @param {*} value
* @param {*} item
* @return {boolean}
*/
removeValue: function(value) {
var valueHashCode = Obj.hashCode(value);
var hashStoreNode = ObjectUtil.getOwnProperty(this.hashStoreNodeObject, valueHashCode.toString());
remove: function(item) {
var hashCode = Obj.hashCode(item);
var hashStoreNode = ObjectUtil.getOwnProperty(this.hashStoreNodeObject, hashCode.toString());
var result = false;
if (hashStoreNode) {
result = hashStoreNode.removeValue(value);
result = hashStoreNode.remove(item);
if (result) {
this.count--;
if (hashStoreNode.getCount() === 0) {
ObjectUtil.deleteProperty(this.hashStoreNodeObject, valueHashCode.toString());
ObjectUtil.deleteProperty(this.hashStoreNodeObject, hashCode.toString());
}

@@ -239,2 +252,3 @@ }

Class.implement(HashStore, IArrayable);
Class.implement(HashStore, IIterable);

@@ -241,0 +255,0 @@

@@ -39,3 +39,3 @@ /*

* @extends {Obj}
* @template V
* @template I
*/

@@ -67,9 +67,9 @@ var HashStoreNode = Class.extend(Obj, {

*/
this.count = 0;
this.count = 0;
/**
* @private
* @type {Array.<V>}
* @type {Array.<I>}
*/
this.valueArray = [];
this.itemArray = [];
},

@@ -90,6 +90,6 @@

/**
* @return {Array.<V>}
* @return {Array.<I>}
*/
getValueArray: function() {
return this.valueArray;
getItemArray: function() {
return this.itemArray;
},

@@ -99,22 +99,2 @@

//-------------------------------------------------------------------------------
// Convenience Methods
//-------------------------------------------------------------------------------
/**
* @param {*} value
* @return {number}
*/
getValueCount: function(value) {
var count = 0;
for (var i = 0, size = this.valueArray.length; i < size; i++) {
var valueArrayValue = this.valueArray[i];
if (Obj.equals(value, valueArrayValue)) {
count++;
}
}
return count;
},
//-------------------------------------------------------------------------------
// Obj Methods

@@ -130,5 +110,5 @@ //-------------------------------------------------------------------------------

if (this.getCount() === value.getCount()) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
var valueArrayValue = this.valueArray[i];
if (!value.containsValue(valueArrayValue)) {
for (var i = 0, size = this.itemArray.length; i < size; i++) {
var itemArrayValue = this.itemArray[i];
if (!value.containsValue(itemArrayValue)) {
return false;

@@ -150,4 +130,4 @@ }

output += " values:[\n";
this.valueArray.forEach(function(value) {
output += value + ",";
this.itemArray.forEach(function(item) {
output += item + ",";
});

@@ -165,6 +145,6 @@ output += " ]";

/**
* @param {V} value
* @param {I} item
*/
addValue: function(value) {
this.valueArray.push(value);
add: function(item) {
this.itemArray.push(item);
this.count++;

@@ -174,8 +154,8 @@ },

/**
* @param {*} value
* @param {*} item
*/
containsValue: function(value) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
var valueArrayValue = this.valueArray[i];
if (Obj.equals(value, valueArrayValue)) {
contains: function(item) {
for (var i = 0, size = this.itemArray.length; i < size; i++) {
var itemArrayValue = this.itemArray[i];
if (Obj.equals(item, itemArrayValue)) {
return true;

@@ -189,9 +169,24 @@ }

* @param {*} value
* @return {number}
*/
countValue: function(value) {
var count = 0;
for (var i = 0, size = this.itemArray.length; i < size; i++) {
var itemArrayValue = this.itemArray[i];
if (Obj.equals(value, itemArrayValue)) {
count++;
}
}
return count;
},
/**
* @param {*} item
* @return {boolean}
*/
removeValue: function(value) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
var valueArrayValue = this.valueArray[i];
if (Obj.equals(value, valueArrayValue)) {
this.valueArray.splice(i, 1);
remove: function(item) {
for (var i = 0, size = this.itemArray.length; i < size; i++) {
var itemArrayValue = this.itemArray[i];
if (Obj.equals(item, itemArrayValue)) {
this.itemArray.splice(i, 1);
this.count--;

@@ -198,0 +193,0 @@ return true;

@@ -107,3 +107,3 @@ /*

//-------------------------------------------------------------------------------
// IIterable Implementation
// IKeyValueIterable Implementation
//-------------------------------------------------------------------------------

@@ -160,2 +160,12 @@

/**
*
*/
clear: function() {
var _this = this;
this.forIn(function(key) {
_this.remove(key);
});
},
/**
* @param {*} key

@@ -208,24 +218,2 @@ * @return {boolean}

/**
* @return {Array.<K>}
*/
getKeyArray: function() {
var keysArray = [];
ObjectUtil.forInOwn(this.hashTableNodeObject, function(keyHashCode, hashTableNode) {
keysArray = keysArray.concat(hashTableNode.getKeyArray());
});
return keysArray;
},
/**
* @return {Array.<V>}
*/
getValueArray: function() {
var valuesArray = [];
ObjectUtil.forInOwn(this.hashTableNodeObject, function(keyHashCode, hashTableNode) {
valuesArray = valuesArray.concat(hashTableNode.getValueArray());
});
return valuesArray;
},
/**
* @return {boolean}

@@ -274,2 +262,24 @@ */

return returnValue;
},
/**
* @return {Array.<K>}
*/
toKeyArray: function() {
var keysArray = [];
ObjectUtil.forInOwn(this.hashTableNodeObject, function(keyHashCode, hashTableNode) {
keysArray = keysArray.concat(hashTableNode.getKeyArray());
});
return keysArray;
},
/**
* @return {Array.<V>}
*/
toValueArray: function() {
var valuesArray = [];
ObjectUtil.forInOwn(this.hashTableNodeObject, function(keyHashCode, hashTableNode) {
valuesArray = valuesArray.concat(hashTableNode.getValueArray());
});
return valuesArray;
}

@@ -276,0 +286,0 @@ });

@@ -66,3 +66,3 @@ /*

*/
this.count = 0;
this.count = 0;

@@ -73,3 +73,3 @@ /**

*/
this.hashTableKeyArray = [];
this.keyArray = [];

@@ -80,3 +80,3 @@ /**

*/
this.hashTableValueArray = [];
this.valueArray = [];
},

@@ -99,23 +99,4 @@

*/
getHashTableKeyArray: function() {
return this.hashTableKeyArray;
},
/**
* @return {Array.<V>}
*/
getHashTableValueArray: function() {
return this.hashTableValueArray;
},
//-------------------------------------------------------------------------------
// Convenience Methods
//-------------------------------------------------------------------------------
/**
* @return {Array.<K>}
*/
getKeyArray: function() {
return this.hashTableKeyArray;
return this.keyArray;
},

@@ -127,3 +108,3 @@

getValueArray: function() {
return this.hashTableValueArray;
return this.valueArray;
},

@@ -142,9 +123,9 @@

output += " count:" + this.getCount() + ",\n";
output += " hashTableKeyArray:[\n";
this.hashTableKeyArray.forEach(function(value) {
output += " keyArray:[\n";
this.keyArray.forEach(function(value) {
output += value.toString() + ",";
});
output += " ]";
output += " hashTableValueArray:[\n";
this.hashTableValueArray.forEach(function(value) {
output += " valueArray:[\n";
this.valueArray.forEach(function(value) {
output += value.toString() + ",";

@@ -167,4 +148,4 @@ });

containsKey: function(key) {
for (var i = 0, size = this.hashTableKeyArray.length; i < size; i++) {
var hashTableKey = this.hashTableKeyArray[i];
for (var i = 0, size = this.keyArray.length; i < size; i++) {
var hashTableKey = this.keyArray[i];
if (Obj.equals(key, hashTableKey)) {

@@ -182,4 +163,4 @@ return true;

containsValue: function(value) {
for (var i = 0, size = this.hashTableValueArray.length; i < size; i++) {
var hashTableValue = this.hashTableValueArray[i];
for (var i = 0, size = this.valueArray.length; i < size; i++) {
var hashTableValue = this.valueArray[i];
if (Obj.equals(value, hashTableValue)) {

@@ -197,6 +178,6 @@ return true;

get: function(key) {
for (var i = 0, size = this.hashTableKeyArray.length; i < size; i++) {
var hashTableKey = this.hashTableKeyArray[i];
for (var i = 0, size = this.keyArray.length; i < size; i++) {
var hashTableKey = this.keyArray[i];
if (Obj.equals(key, hashTableKey)) {
return this.hashTableValueArray[i];
return this.valueArray[i];
}

@@ -213,7 +194,7 @@ }

put: function(key, value) {
for (var i = 0, size = this.hashTableKeyArray.length; i < size; i++) {
var hashTableKey = this.hashTableKeyArray[i];
for (var i = 0, size = this.keyArray.length; i < size; i++) {
var hashTableKey = this.keyArray[i];
if (Obj.equals(key, hashTableKey)) {
var previousValue = this.hashTableValueArray[i];
this.hashTableValueArray[i] = value;
var previousValue = this.valueArray[i];
this.valueArray[i] = value;
return previousValue;

@@ -225,4 +206,4 @@ }

this.hashTableKeyArray.push(key);
this.hashTableValueArray.push(value);
this.keyArray.push(key);
this.valueArray.push(value);
this.count++;

@@ -237,8 +218,8 @@ return undefined;

remove: function(key) {
for (var i = 0, size = this.hashTableKeyArray.length; i < size; i++) {
var hashTableKey = this.hashTableKeyArray[i];
for (var i = 0, size = this.keyArray.length; i < size; i++) {
var hashTableKey = this.keyArray[i];
if (Obj.equals(key, hashTableKey)) {
var removedValue = this.hashTableValueArray[i];
this.hashTableKeyArray.splice(i, 1);
this.hashTableValueArray.splice(i, 1);
var removedValue = this.valueArray[i];
this.keyArray.splice(i, 1);
this.valueArray.splice(i, 1);
this.count--;

@@ -245,0 +226,0 @@ return removedValue;

@@ -14,2 +14,3 @@ /*

//@Require('IArrayable')
//@Require('Interface')

@@ -28,2 +29,3 @@

var IArrayable = bugpack.require('IArrayable');
var Interface = bugpack.require('Interface');

@@ -38,5 +40,6 @@

* @interface
* @extends {IArrayable.<I>}
* @template I
*/
var ICollection = Interface.declare({
var ICollection = Interface.extend(IArrayable, {

@@ -90,16 +93,11 @@ _name: "ICollection",

/**
* @param {*} value
* @return {number}
*/
getCount: function() {},
countValue: function(value) {},
/**
* @return {Array.<I>}
*/
getValueArray: function() {},
/**
* @param {*} value
* @return {number}
*/
getValueCount: function(value) {},
getCount: function() {},

@@ -106,0 +104,0 @@ /**

@@ -14,2 +14,3 @@ /*

//@Require('IObjectable')
//@Require('Interface')

@@ -28,3 +29,4 @@

var Interface = bugpack.require('Interface');
var IObjectable = bugpack.require('IObjectable');
var Interface = bugpack.require('Interface');

@@ -38,2 +40,3 @@

* @interface
* @extends {IObjectable.<K, V>}
* @template K, V

@@ -79,45 +82,43 @@ */

/**
* @return {Array.<K>}
* @return {boolean}
*/
getKeyArray: function() {},
isEmpty: function() {},
/**
* @return {ICollection.<K>}
* @param {K} key
* @param {V} value
* @return {V}
*/
getKeyCollection: function() {},
put: function(key, value) {},
/**
* @return {Array.<V>}
* @param {(IMap.<K, V> | Object.<K, V>)} map
*/
getValueArray: function() {},
putAll: function(map) {},
/**
* @return {ICollection.<V>}
* @param {*} key
* @return {V}
*/
getValueCollection: function() {},
remove: function(key) {},
/**
* @return {boolean}
* @return {Array.<K>}
*/
isEmpty: function() {},
toKeyArray: function() {},
/**
* @param {K} key
* @param {V} value
* @return {V}
* @return {ICollection.<K>}
*/
put: function(key, value) {},
toKeyCollection: function() {},
/**
* @param {(IMap.<K, V> | Object.<K, V>)} map
* @return {Array.<V>}
*/
putAll: function(map) {},
toValueArray: function() {},
/**
* @param {*} key
* @return {V}
* @return {ICollection.<V>}
*/
remove: function(key) {
return this.hashTable.remove(key);
}
toValueCollection: function() {}
});

@@ -124,0 +125,0 @@

@@ -48,3 +48,3 @@ /*

* @implements {IIterator.<V>}
* @template V
* @template I
*/

@@ -62,3 +62,3 @@ var HashStoreIterator = Class.extend(Obj, {

* @constructs
* @param {HashStore.<V>} hashStore
* @param {HashStore.<I>} hashStore
*/

@@ -82,11 +82,11 @@ _constructor: function(hashStore) {

* @private
* @type {ObjectIterator.<HashStoreNode.<V>>}
* @type {ArrayIterator.<V>}
*/
this.hashStoreNodeObjectIterator = new ObjectIterator(this.hashStore.getHashStoreNodeObject());
this.hashStoreNodeArrayIterator = null;
/**
* @private
* @type {ArrayIterator.<V>}
* @type {ObjectIterator.<HashStoreNode.<V>>}
*/
this.hashStoreNodeArrayIterator = null;
this.hashStoreNodeObjectIterator = new ObjectIterator(this.hashStore.getHashStoreNodeObject());
},

@@ -96,2 +96,28 @@

//-------------------------------------------------------------------------------
// Getters and Setters
//-------------------------------------------------------------------------------
/**
* @return {HashStore.<V>}
*/
getHashStore: function() {
return this.hashStore;
},
/**
* @return {ArrayIterator.<V>}
*/
getHashStoreNodeArrayIterator: function() {
return this.hashStoreNodeArrayIterator
},
/**
* @return {ObjectIterator.<HashStoreNode.<V>>}
*/
getHashStoreNodeObjectIterator: function() {
return this.hashStoreNodeObjectIterator;
},
//-------------------------------------------------------------------------------
// Public Methods

@@ -105,6 +131,8 @@ //-------------------------------------------------------------------------------

if (this.hashStoreNodeObjectIterator.hasNext()) {
//console.log("this.hashStoreNodeObjectIterator.hasNext():", true);
return true;
}
if (this.hashStoreNodeArrayIterator) {
return this.hashStoreNodeArrayIterator.hasNext()
//console.log("this.hashStoreNodeArrayIterator.hasNext():", this.hashStoreNodeArrayIterator.hasNext());
return this.hashStoreNodeArrayIterator.hasNext();
}

@@ -120,3 +148,3 @@ return false;

var hashStoreNodeObject = this.hashStoreNodeObjectIterator.next();
this.hashStoreNodeArrayIterator = new ArrayIterator(hashStoreNodeObject.getValueArray());
this.hashStoreNodeArrayIterator = new ArrayIterator(hashStoreNodeObject.getItemArray());
return this.hashStoreNodeArrayIterator.next();

@@ -123,0 +151,0 @@ } else {

@@ -15,2 +15,3 @@ /*

//@Require('ArgumentBug')
//@Require('ArrayIterator')
//@Require('Class')

@@ -20,2 +21,3 @@ //@Require('Collection')

//@Require('ICollection')
//@Require('IIndexValueIterable')
//@Require('IList')

@@ -36,10 +38,12 @@ //@Require('Obj')

var ArgumentBug = bugpack.require('ArgumentBug');
var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var Exception = bugpack.require('Exception');
var ICollection = bugpack.require('ICollection');
var IList = bugpack.require('IList');
var Obj = bugpack.require('Obj');
var TypeUtil = bugpack.require('TypeUtil');
var ArgumentBug = bugpack.require('ArgumentBug');
var ArrayIterator = bugpack.require('ArrayIterator');
var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var Exception = bugpack.require('Exception');
var ICollection = bugpack.require('ICollection');
var IIndexValueIterable = bugpack.require('IIndexValueIterable');
var IList = bugpack.require('IList');
var Obj = bugpack.require('Obj');
var TypeUtil = bugpack.require('TypeUtil');

@@ -53,3 +57,4 @@

* @class
* @extends {Collection}
* @extends {Collection.<I>}
* @implements {IIndexValueIterable.<I>}
* @implements {IList.<I>}

@@ -69,5 +74,4 @@ * @template I

* @constructs
* @param {(Collection.<*> | Array.<*>)} items
*/
_constructor: function(items) {
_constructor: function() {

@@ -83,5 +87,5 @@ this._super();

* @private
* @type {Array.<*>}
* @type {Array.<I>}
*/
this.valueArray = [];
this.itemArray = [];
},

@@ -95,7 +99,6 @@

/**
* @override
* @return {Array} Array is in the same order as the list
* @return {Array.<I>} Array is in the same order as the list
*/
getValueArray: function() {
return Obj.clone(this.valueArray);
getItemArray: function() {
return this.itemArray;
},

@@ -135,3 +138,3 @@

this._super(item);
this.valueArray.push(item);
this.itemArray.push(item);
return true;

@@ -141,7 +144,13 @@ },

/**
*
* Removes the FIRST occurrence of value from the list
* @param {*} value
* @return {boolean}
*/
clear: function() {
this._super();
this.valueArray = [];
remove: function(value) {
if (this.contains(value)) {
var index = this.indexOfFirst(value);
this.removeAt(index);
return true;
}
return false;
},

@@ -151,7 +160,22 @@

* @override
* @return {Array.<>}
*/
toArray: function() {
return Obj.clone(this.itemArray);
},
//-------------------------------------------------------------------------------
// IIndexValueIterable Implementation
//-------------------------------------------------------------------------------
/**
* @override
* @param {function(I, number)} func
*/
forEach: function(func) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
func(this.valueArray[i], i);
var iterator = this.iterator();
while (iterator.hasNext()) {
var indexValuePair = iterator.nextIndexValuePair();
func(indexValuePair.value, indexValuePair.index);
}

@@ -161,16 +185,21 @@ },

/**
* Removes the FIRST occurrence of value from the list
* @param {*} value
* @return {boolean}
* @param {function(number, I)} func
*/
remove: function(value) {
if (this.contains(value)) {
var index = this.indexOfFirst(value);
this.removeAt(index);
return true;
forIn: function(func) {
var iterator = this.iterator();
while (iterator.hasNext()) {
var indexValuePair = iterator.nextIndexValuePair();
func(indexValuePair.index, indexValuePair.value);
}
return false;
},
/**
* @override
* @return {IIndexValueIterator.<V>}
*/
iterator: function() {
return new ArrayIterator(this.itemArray);
},
//-------------------------------------------------------------------------------

@@ -190,4 +219,4 @@ // IList Implementation

if (index <= this.getCount()) {
this.getHashStore().addValue(item);
this.valueArray.splice(index, 0, item);
this.getHashStore().add(item);
this.itemArray.splice(index, 0, item);
} else {

@@ -224,3 +253,3 @@ throw new Exception("IndexOutOfBounds", {}, "index was out of bounds");

if (index < this.getCount()) {
return this.valueArray[index];
return this.itemArray[index];
} else {

@@ -236,4 +265,4 @@ throw new Exception("IndexOutOfBounds", {}, "index was out of bounds");

indexOfFirst: function(value) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
if (Obj.equals(this.valueArray[i], value)) {
for (var i = 0, size = this.itemArray.length; i < size; i++) {
if (Obj.equals(this.itemArray[i], value)) {
return i;

@@ -250,4 +279,4 @@ }

indexOfLast: function(value) {
for (var size = this.valueArray.length, i = size - 1; i >= 0; i--) {
if (Obj.equals(this.valueArray[i], value)) {
for (var size = this.itemArray.length, i = size - 1; i >= 0; i--) {
if (Obj.equals(this.itemArray[i], value)) {
return i;

@@ -263,3 +292,3 @@ }

pop: function() {
var lastIndex = this.valueArray.length - 1;
var lastIndex = this.itemArray.length - 1;
return this.removeAt(lastIndex);

@@ -288,5 +317,5 @@ },

var value = this.getAt(index);
var result = this.getHashStore().removeValue(value);
var result = this.getHashStore().remove(value);
if (result) {
this.valueArray.splice(index, 1);
this.itemArray.splice(index, 1);
}

@@ -345,2 +374,3 @@ return value;

Class.implement(List, IIndexValueIterable);
Class.implement(List, IList);

@@ -347,0 +377,0 @@

@@ -164,3 +164,3 @@ /*

clear: function() {
this.hashTable = new HashTable();
this.hashTable.clear();
},

@@ -200,38 +200,2 @@

/**
* @return {Array.<K>}
*/
getKeyArray: function() {
return this.hashTable.getKeyArray();
},
/**
* @return {ICollection.<K>}
*/
getKeyCollection: function() {
var keyCollection = new Collection();
this.hashTable.getKeyArray().forEach(function(key) {
keyCollection.add(key);
});
return keyCollection;
},
/**
* @return {Array.<V>}
*/
getValueArray: function() {
return this.hashTable.getValueArray();
},
/**
* @return {ICollection.<V>}
*/
getValueCollection: function() {
var valueCollection = new Collection();
this.hashTable.forEach(function(value) {
valueCollection.add(value);
});
return valueCollection;
},
/**
* @return {boolean}

@@ -258,3 +222,3 @@ */

if (Class.doesImplement(map, IMap)) {
var keys = map.getKeyArray();
var keys = map.toKeyArray();
keys.forEach(function(key) {

@@ -279,3 +243,39 @@ var value = map.get(key);

/**
* @return {Array.<K>}
*/
toKeyArray: function() {
return this.hashTable.toKeyArray();
},
/**
* @return {ICollection.<K>}
*/
toKeyCollection: function() {
var keyCollection = new Collection();
this.hashTable.toKeyArray().forEach(function(key) {
keyCollection.add(key);
});
return keyCollection;
},
/**
* @return {Array.<V>}
*/
toValueArray: function() {
return this.hashTable.toValueArray();
},
/**
* @return {ICollection.<V>}
*/
toValueCollection: function() {
var valueCollection = new Collection();
this.hashTable.forEach(function(value) {
valueCollection.add(value);
});
return valueCollection;
},
//-------------------------------------------------------------------------------

@@ -291,3 +291,3 @@ // IObjectable Implementation

var object = {};
var keys = this.getKeyArray();
var keys = this.toKeyArray();
keys.forEach(function(key){

@@ -311,3 +311,2 @@ var stringKey = key;

Class.implement(Map, IMap);
Class.implement(Map, IObjectable);

@@ -314,0 +313,0 @@

@@ -93,5 +93,5 @@ /*

containsValue: function(value) {
var valueArray = this.getHashTable().getValueArray();
for (var i = 0, size = valueArray.length; i < size; i++) {
var valueCollection = valueArray[i];
var iterator = this.iterator();
while (iterator.hasNext()) {
var valueCollection = iterator.nextValue();
if (valueCollection.contains(value)) {

@@ -130,35 +130,2 @@ return true;

/**
* @return {ICollection.<K>}
*/
getKeyCollection: function() {
var keyCollection = new Collection();
this.getHashTable().getKeyArray().forEach(function(key) {
keyCollection.add(key);
});
return keyCollection;
},
/**
* @return {Array.<V>}
*/
getValueArray: function() {
var valueArray = [];
this.getHashTable().forEach(function(valueSet) {
valueArray = valueArray.concat(valueSet.getValueArray());
});
return valueArray;
},
/**
* @return {ICollection.<V>}
*/
getValueCollection: function() {
var valueCollection = new Collection();
this.getHashTable().forEach(function(valueSet) {
valueCollection.addAll(valueSet);
});
return valueCollection;
},
/**
* @param {K} key

@@ -184,3 +151,3 @@ * @param {V} value

if (Class.doesImplement(map, IMap)) {
map.getKeyArray().forEach(function(key) {
map.toKeyArray().forEach(function(key) {
var value = map.get(key);

@@ -190,3 +157,3 @@ _this.put(key, value);

} else if (Class.doesImplement(map, IMultiMap)) {
map.getKeyArray().forEach(function(key) {
map.toKeyArray().forEach(function(key) {
var valueCollection = map.get(key);

@@ -225,2 +192,35 @@ valueCollection.forEach(function(value) {

return result;
},
/**
* @return {ICollection.<K>}
*/
toKeyCollection: function() {
var keyCollection = new Collection();
this.forIn(function(key) {
keyCollection.add(key);
});
return keyCollection;
},
/**
* @return {Array.<V>}
*/
toValueArray: function() {
var valueArray = [];
this.forEach(function(valueCollection) {
valueArray = valueArray.concat(valueCollection.toValueArray());
});
return valueArray;
},
/**
* @return {ICollection.<V>}
*/
toValueCollection: function() {
var valueCollection = new Collection();
this.getHashTable().forEach(function(valueSet) {
valueCollection.addAll(valueSet);
});
return valueCollection;
}

@@ -227,0 +227,0 @@ });

@@ -14,5 +14,7 @@ /*

//@Require('ArrayIterator')
//@Require('Class')
//@Require('Collection')
//@Require('Exception')
//@Require('IIndexValueIterable')
//@Require('Obj')

@@ -31,6 +33,8 @@

var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var Exception = bugpack.require('Exception');
var Obj = bugpack.require('Obj');
var ArrayIterator = bugpack.require('ArrayIterator');
var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var Exception = bugpack.require('Exception');
var IIndexValueIterable = bugpack.require('IIndexValueIterable');
var Obj = bugpack.require('Obj');

@@ -44,3 +48,5 @@

* @class
* @extends {Collection}
* @extends {Collection.<I>}
* @implements {IIndexValueIterable.<I>}
* @template I
*/

@@ -58,5 +64,4 @@ var Queue = Class.extend(Collection, {

* @constructs
* @param {(Collection.<*> | Array.<*>)} items
*/
_constructor: function(items) {
_constructor: function() {

@@ -72,5 +77,5 @@ this._super();

* @private
* @type {Array.<*>}
* @type {Array.<I>}
*/
this.valueArray = [];
this.itemArray = [];
},

@@ -84,11 +89,6 @@

/**
* @override
* @return {Array} Array is in the same order as the queue
* @return {Array.<I>}
*/
getValueArray: function() {
var valueArray = [];
for (var i = 0, size = this.valueArray.length; i < size; i++) {
valueArray.push(this.valueArray[i]);
}
return valueArray;
getItemArray: function() {
return this.itemArray;
},

@@ -102,3 +102,3 @@

/**
* @return {Queue}
* @return {Queue.<I>}
*/

@@ -117,24 +117,46 @@ clone: function() {

/**
* @param {I} item
*/
add: function(item) {
this._super(item);
this.itemArray.push(item);
},
/**
* Removes the FIRST occurrence of value from the queue
* @override
* @param {*} value
* @return {boolean}
*/
add: function(value) {
this._super(value);
this.valueArray.push(value);
remove: function(value) {
if (this.contains(value)) {
var index = this.indexOfFirst(value);
this.removeAt(index);
return true;
}
return false;
},
/**
*
* @override
* @return {Array.<I>}
*/
clear: function() {
this._super();
this.valueArray = [];
toArray: function() {
return Obj.clone(this.itemArray);
},
//-------------------------------------------------------------------------------
// IIndexValueIterable Implementation
//-------------------------------------------------------------------------------
/**
* @override
* @param {function(*)} func
* @param {function(I, number)} func
*/
forEach: function(func) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
func(this.valueArray[i]);
var iterator = this.iterator();
while (iterator.hasNext()) {
var indexValuePair = iterator.nextIndexValuePair();
func(indexValuePair.value, indexValuePair.index);
}

@@ -144,17 +166,21 @@ },

/**
* Removes the FIRST occurrence of value from the queue
* @override
* @param {*} value
* @return {boolean}
* @param {function(number, I)} func
*/
remove: function(value) {
if (this.contains(value)) {
var index = this.indexOfFirst(value);
this.removeAt(index);
return true;
forIn: function(func) {
var iterator = this.iterator();
while (iterator.hasNext()) {
var indexValuePair = iterator.nextIndexValuePair();
func(indexValuePair.index, indexValuePair.value);
}
return false;
},
/**
* @override
* @return {IIndexValueIterator.<I>}
*/
iterator: function() {
return new ArrayIterator(this.itemArray);
},
//-------------------------------------------------------------------------------

@@ -165,3 +191,3 @@ // Public Methods

/**
* @return {*}
* @return {I}
*/

@@ -177,6 +203,6 @@ dequeue: function() {

/**
* @param {*} value
* @param {I} item
*/
enqueue: function(value) {
this.add(value);
enqueue: function(item) {
this.add(item);
},

@@ -192,7 +218,7 @@

* @param {number} index
* @return {*}
* @return {I}
*/
getAt: function(index) {
if (index < this.getCount()) {
return this.valueArray[index];
return this.itemArray[index];
} else {

@@ -209,4 +235,4 @@ throw new Exception("IndexOutOfBounds", {}, "Index out of bounds");

indexOfFirst: function(value) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
if (Obj.equals(this.valueArray[i], value)) {
for (var i = 0, size = this.itemArray.length; i < size; i++) {
if (Obj.equals(this.itemArray[i], value)) {
return i;

@@ -221,9 +247,9 @@ }

* @param {number} index
* @return {*} The removed value
* @return {I} The removed value
*/
removeAt: function(index) {
var value = this.getAt(index);
var result = this.getHashStore().removeValue(value);
var result = this.getHashStore().remove(value);
if (result) {
this.valueArray.splice(index, 1);
this.itemArray.splice(index, 1);
}

@@ -236,2 +262,9 @@ return value;

//-------------------------------------------------------------------------------
// Implement Interfaces
//-------------------------------------------------------------------------------
Class.implement(Queue, IIndexValueIterable);
//-------------------------------------------------------------------------------
// Exports

@@ -238,0 +271,0 @@ //-------------------------------------------------------------------------------

@@ -86,4 +86,4 @@ /*

add: function(value) {
if (!this.getHashStore().hasValue(value)) {
this.getHashStore().addValue(value);
if (!this.getHashStore().contains(value)) {
this.getHashStore().add(value);
return true;

@@ -90,0 +90,0 @@ }

@@ -14,5 +14,7 @@ /*

//@Require('ArrayIterator')
//@Require('Class')
//@Require('Collection')
//@Require('Exception')
//@Require('IIndexValueIterable')
//@Require('Obj')

@@ -31,6 +33,8 @@

var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var Exception = bugpack.require('Exception');
var Obj = bugpack.require('Obj');
var ArrayIterator = bugpack.require('ArrayIterator');
var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var Exception = bugpack.require('Exception');
var IIndexValueIterable = bugpack.require('IIndexValueIterable');
var Obj = bugpack.require('Obj');

@@ -45,3 +49,3 @@

* @extends {Collection}
* @template C
* @template I
*/

@@ -59,5 +63,4 @@ var Stack = Class.extend(Collection, {

* @constructs
* @param {(Collection.<*> | Array.<*>)} items
*/
_constructor: function(items) {
_constructor: function() {

@@ -73,5 +76,5 @@ this._super();

* @private
* @type {Array.<C>}
* @type {Array.<I>}
*/
this.valueArray = [];
this.itemArray = [];
},

@@ -85,11 +88,6 @@

/**
* @override
* @return {Array.<C>} Array is in the same order as the queue
* @return {Array.<I>} Array is in the same order as the queue
*/
getValueArray: function() {
var valueArray = [];
for (var i = 0, size = this.valueArray.length; i < size; i++) {
valueArray.push(this.valueArray[i]);
}
return valueArray;
getItemArray: function() {
return this.itemArray;
},

@@ -124,3 +122,3 @@

/**
* @param {C} value
* @param {I} value
* @return {boolean}

@@ -130,3 +128,3 @@ */

this._super(value);
this.valueArray.push(value);
this.itemArray.push(value);
return true;

@@ -136,12 +134,2 @@ },

/**
* @override
* @param {function(C)} func
*/
forEach: function(func) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
func(this.valueArray[i]);
}
},
/**
* Removes the FIRST occurrence of value from the stack

@@ -160,4 +148,48 @@ * @param {*} value

/**
* @override
* @return {Array.<I>}
*/
toArray: function() {
return Obj.clone(this.itemArray);
},
//-------------------------------------------------------------------------------
// IIndexValueIterable Implementation
//-------------------------------------------------------------------------------
/**
* @override
* @param {function(I, number)} func
*/
forEach: function(func) {
var iterator = this.iterator();
while (iterator.hasNext()) {
var indexValuePair = iterator.nextIndexValuePair();
func(indexValuePair.value, indexValuePair.index);
}
},
/**
* @param {function(number, I)} func
*/
forIn: function(func) {
var iterator = this.iterator();
while (iterator.hasNext()) {
var indexValuePair = iterator.nextIndexValuePair();
func(indexValuePair.index, indexValuePair.value);
}
},
/**
* @override
* @return {IIndexValueIterator.<I>}
*/
iterator: function() {
return new ArrayIterator(this.itemArray);
},
//-------------------------------------------------------------------------------
// Public Methods

@@ -167,3 +199,3 @@ //-------------------------------------------------------------------------------

/**
* @return {*}
* @return {I}
*/

@@ -180,6 +212,6 @@ pop: function() {

/**
* @param {*} value
* @param {I} item
*/
push: function(value) {
this.add(value);
push: function(item) {
this.add(item);
},

@@ -195,7 +227,7 @@

* @param {number} index
* @return {*}
* @return {I}
*/
getAt: function(index) {
if (index < this.getCount()) {
return this.valueArray[index];
return this.itemArray[index];
} else {

@@ -212,4 +244,4 @@ throw new Exception("IndexOutOfBounds", {}, "Index out of bounds");

indexOfLast: function(value) {
for (var i = this.valueArray.length - 1; i >= 0; i--) {
if (Obj.equals(this.valueArray[i], value)) {
for (var i = this.itemArray.length - 1; i >= 0; i--) {
if (Obj.equals(this.itemArray[i], value)) {
return i;

@@ -224,9 +256,9 @@ }

* @param {number} index
* @return {*} The removed value
* @return {I} The removed item
*/
removeAt: function(index) {
var value = this.getAt(index);
var result = this.getHashStore().removeValue(value);
var result = this.getHashStore().remove(value);
if (result) {
this.valueArray.splice(index, 1);
this.itemArray.splice(index, 1);
}

@@ -239,2 +271,9 @@ return value;

//-------------------------------------------------------------------------------
// Implement Interfaces
//-------------------------------------------------------------------------------
Class.implement(Stack, IIndexValueIterable);
//-------------------------------------------------------------------------------
// Exports

@@ -241,0 +280,0 @@ //-------------------------------------------------------------------------------

@@ -43,3 +43,4 @@ /*

* @extends {Obj}
* @implements {IArrayable}
* @implements {IArrayable.<A|B>}
* @template A, B
*/

@@ -57,6 +58,4 @@ var UnorderedPair = Class.extend(Obj, {

* @constructs
* @param {*} a
* @param {*} b
*/
_constructor: function(a ,b) {
_constructor: function() {

@@ -72,15 +71,25 @@ this._super();

* @private
* @type {Collection.<*>}
* @type {Collection.<A|B>}
*/
this.pairCollection = new Collection();
},
//-------------------------------------------------------------------------------
// Add Arguments to Collection
//-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
// Init Methods
//-------------------------------------------------------------------------------
/**
* @param {A} a
* @param {B} b
* @return {UnorderedPair.<A, B>}
*/
init: function(a, b) {
this._super();
this.pairCollection.addAll([a, b]);
return this;
},
//-------------------------------------------------------------------------------

@@ -91,6 +100,6 @@ // Getters and Setters

/**
* @return {Array.<*>}
* @return {Collection.<A|B>}
*/
getValueArray: function() {
return this.pairCollection.getValueArray();
getPairCollection: function() {
return this.pairCollection;
},

@@ -105,6 +114,6 @@

* @override
* @return (Array)
* @return (Array.<A|B>)
*/
toArray: function() {
return this.getValueArray();
return this.pairCollection.toArray();
},

@@ -118,3 +127,3 @@

/**
* @return {UnorderedPair.<*>}
* @return {UnorderedPair.<A, B>}
*/

@@ -142,3 +151,4 @@ clone: function() {

if (!this._hashCode) {
this._hashCode = Obj.hashCode("[GraphNode]" + Obj.hashCode(this.value));
var pairArray = this.toArray();
this._hashCode = Obj.hashCode("[UnorderedPair]" + (Obj.hashCode(pairArray[0]) + Obj.hashCode(pairArray[1])));
}

@@ -145,0 +155,0 @@ return this._hashCode;

@@ -16,5 +16,7 @@ /*

//@Require('Collection')
//@Require('Exception')
//@Require('List')
//@Require('Obj')
//@Require('TypeUtil')
//@Require('WeightedListIterator')
//@Require('WeightedListNode')

@@ -33,8 +35,10 @@

var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var List = bugpack.require('List');
var Obj = bugpack.require('Obj');
var TypeUtil = bugpack.require('TypeUtil');
var WeightedListNode = bugpack.require('WeightedListNode');
var Class = bugpack.require('Class');
var Collection = bugpack.require('Collection');
var Exception = bugpack.require('Exception');
var List = bugpack.require('List');
var Obj = bugpack.require('Obj');
var TypeUtil = bugpack.require('TypeUtil');
var WeightedListIterator = bugpack.require('WeightedListIterator');
var WeightedListNode = bugpack.require('WeightedListNode');

@@ -128,4 +132,4 @@

if (Class.doesExtend(collection, WeightedList)) {
for (var i = 0, size = collection.valueArray.length; i < size; i++) {
this.add(collection.valueArray[i].getValue(), collection.valueArray[i].getWeight());
for (var i = 0, size = collection.getItemArray().length; i < size; i++) {
this.add(collection.getItemArray()[i].getValue(), collection.getItemArray()[i].getWeight());
}

@@ -138,3 +142,3 @@ } else {

} else {
throw new Error("collection must be an instance of Collection");
throw new Exception("collection must be an instance of Collection");
}

@@ -144,10 +148,2 @@ },

/**
*
*/
clear: function() {
this._super();
this.totalWeight = 0;
},
/**
* @param {*} value

@@ -158,34 +154,12 @@ * @return {boolean}

var weightedListNode = new WeightedListNode(value, 1);
return this.getHashStore().hasValue(weightedListNode);
return this.getHashStore().contains(weightedListNode);
},
/**
* @override
* @param {function(*)} func
*/
forEach: function(func) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
func(this.valueArray[i].getValue());
}
},
/**
* @override
* @return {Array} Array is in the same order as the list
*/
getValueArray: function() {
var valueArray = [];
for (var i = 0, size = this.valueArray.length; i < size; i++) {
valueArray.push(this.valueArray[i].getValue());
}
return valueArray;
},
/**
* @param {*} value
* @return {number}
*/
getValueCount: function(value) {
countValue: function(value) {
var weightedListNode = new WeightedListNode(value, 1);
return this.hashStore.getValueCount(weightedListNode);
return this.getHashStore().countValue(weightedListNode);
},

@@ -200,3 +174,3 @@

if (index > -1) {
var firstValue = this.valueArray[index];
var firstValue = this.getItemArray()[index];
this.totalWeight -= firstValue.getWeight();

@@ -226,5 +200,5 @@ this.removeAt(index);

var weightedListNode = new WeightedListNode(value, weight);
this.hashStore.addValue(weightedListNode);
this.getHashStore().add(weightedListNode);
this.count++;
this.valueArray.splice(index, 0, weightedListNode);
this.getItemArray().splice(index, 0, weightedListNode);
this.totalWeight += weight;

@@ -247,4 +221,4 @@ } else {

if (Class.doesExtend(collection, WeightedList)) {
for (var i = 0, size = collection.valueArray.length; i < size; i++) {
this.addAt(insertingIndex, collection.valueArray[i].getValue(), collection.valueArray[i].getWeight());
for (var i = 0, size = collection.getItemArray().length; i < size; i++) {
this.addAt(insertingIndex, collection.getItemArray()[i].getValue(), collection.getItemArray()[i].getWeight());

@@ -275,5 +249,5 @@ // NOTE BRN: We increment the inserting index so that the collection is inserted in the correct order.

if (index < this.getCount()) {
return this.valueArray[index].getValue();
return this.getItemArray()[index].getValue();
} else {
throw new Error("Index out of bounds");
throw new Exception("IndexOutOfBounds", {}, "Index out of bounds");
}

@@ -287,4 +261,4 @@ },

indexOfFirst: function(value) {
for (var i = 0, size = this.valueArray.length; i < size; i++) {
if (Obj.equals(this.valueArray[i].getValue(), value)) {
for (var i = 0, size = this.getItemArray().length; i < size; i++) {
if (Obj.equals(this.getItemArray()[i].getValue(), value)) {
return i;

@@ -301,4 +275,4 @@ }

indexOfLast: function(value) {
for (var size = this.valueArray.length, i = size - 1; i >= 0; i--) {
if (Obj.equals(this.valueArray[i].getValue(), value)) {
for (var size = this.getItemArray().length, i = size - 1; i >= 0; i--) {
if (Obj.equals(this.getItemArray()[i].getValue(), value)) {
return i;

@@ -311,2 +285,10 @@ }

/**
* @override
* @return {IIndexValueIterator.<V>}
*/
iterator: function() {
return new WeightedListIterator(this);
},
/**
* @param {number} index

@@ -317,12 +299,12 @@ * @return {*} The removed value

if (index < this.getCount()) {
var weightedListNode = this.valueArray[index];
var result = this.hashStore.removeValue(weightedListNode);
var weightedListNode = this.getItemArray()[index];
var result = this.getHashStore().remove(weightedListNode);
if (result) {
this.count--;
this.totalWeight -= weightedListNode.getWeight();
this.valueArray.splice(index, 1);
this.getItemArray().splice(index, 1);
}
return weightedListNode.getValue();
} else {
throw new Error("Index out of bounds");
throw new Exception("IndexOutOfBounds", {}, "Index out of bounds");
}

@@ -341,3 +323,15 @@ },

/**
* @override
* @return {Array.<I>} Array is in the same order as the list
*/
toArray: function() {
var itemArray = [];
for (var i = 0, size = this.getItemArray().length; i < size; i++) {
itemArray.push(this.getItemArray()[i].getValue());
}
return itemArray;
},
//-------------------------------------------------------------------------------

@@ -354,4 +348,4 @@ // Public Methods

var currentWeight = 0;
for (var i = 0, size = this.valueArray.length; i < size; i++) {
var weightedListNode = this.valueArray[i];
for (var i = 0, size = this.getItemArray().length; i < size; i++) {
var weightedListNode = this.getItemArray()[i];
currentWeight += weightedListNode.getWeight();

@@ -363,3 +357,3 @@ if (currentWeight >= weight) {

} else {
throw new Error("Weight out of bounds");
throw new Exception("WeightOutOfBounds", {}, "Weight out of bounds");
}

@@ -366,0 +360,0 @@ }

@@ -61,3 +61,3 @@ /*

* @extends {Observable}
* @implements {ICollection}
* @implements {ICollection.<I>}
* @template I

@@ -116,3 +116,3 @@ */

toArray: function() {
return this.getValueArray();
return this.observed.toArray();
},

@@ -191,14 +191,7 @@

/**
* @return {Array.<I>}
*/
getValueArray: function() {
return this.observed.getValueArray();
},
/**
* @param {*} value
* @return {number}
*/
getValueCount: function(value) {
return this.observed.getValueCount(value);
countValue: function(value) {
return this.observed.countValue(value);
},

@@ -205,0 +198,0 @@

@@ -176,30 +176,2 @@ /*

/**
* @return {Array.<K>}
*/
getKeyArray: function() {
return this.observed.getKeyArray();
},
/**
* @return {ICollection.<K>}
*/
getKeyCollection: function() {
return this.observed.getKeyCollection();
},
/**
* @return {Array.<V>}
*/
getValueArray: function() {
return this.observed.getValueArray();
},
/**
* @return {ICollection.<V>}
*/
getValueCollection: function() {
return this.observed.getValueCollection();
},
/**
* @return {boolean}

@@ -228,3 +200,3 @@ */

if (Class.doesImplement(map, IMap)) {
var keys = map.getKeyArray();
var keys = map.toKeyArray();
keys.forEach(function(key) {

@@ -249,3 +221,31 @@ var value = map.get(key);

/**
* @return {Array.<K>}
*/
toKeyArray: function() {
return this.observed.toKeyArray();
},
/**
* @return {ICollection.<K>}
*/
toKeyCollection: function() {
return this.observed.toKeyCollection();
},
/**
* @return {Array.<V>}
*/
toValueArray: function() {
return this.observed.toValueArray();
},
/**
* @return {ICollection.<V>}
*/
toValueCollection: function() {
return this.observed.toValueCollection();
},
//-------------------------------------------------------------------------------

@@ -252,0 +252,0 @@ // IObjectable Implementation

@@ -84,3 +84,3 @@ /*

getCauses: function() {
return this.causeMap.getValueArray();
return this.causeMap.toValueArray();
},

@@ -87,0 +87,0 @@

@@ -82,3 +82,3 @@ /*

getCauses: function() {
return this.causeMap.getValueArray();
return this.causeMap.toValueArray();
},

@@ -85,0 +85,0 @@

{
"name": "bugcore",
"version": "0.3.4",
"version": "0.3.5",
"description": "bugcore is a JavaScript library that provides a foundational architecture for object oriented JS",

@@ -5,0 +5,0 @@ "main": "./scripts/bugcore-node.js",

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc