Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use collections.js in typescript?

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.

like image 627
norekhov Avatar asked Mar 23 '17 09:03

norekhov


1 Answers

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.

enter image description here

A conclusion is, that sadly you can't use Collections.js library with Angular.

like image 171
eur00t Avatar answered Sep 20 '22 23:09

eur00t