I want to use collections.js in my typescript Angular2 project. I want to start with multimap. There's no @types/collections
package and there's no collections.js in typings.
When I write
const MultiMap = require('collections/multi-map')
I got "NoProviderError for PlatformRef" in Agnular2.
An error NoProviderError
is caused by the fact that collection.js library changes the way how built-in primitives work, particularly Array
.
Internally, zone.js
(which is a part of Angular) invokes Array.from
with an instance of MapIterator
as an argument. In collections/shim-array.js
file, this library overrides Array.from
with an implementation, that doesn't work with MapIterator
. In screenshot you can see, that it returns an empty array, while native implementation returns an array of 13 elements.
A conclusion is, that sadly you can't use Collections.js library with Angular.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With