WinJS acquisition of an Enumerable from Collection for use by linq.js

I have a object that exposes a Claims property which has type
ClaimCollection : IList<Claim>,
ICollection<Claim>,
IEnumerable<Claim>,
IEnumerable.

Within my WinJS code I’m trying to carry out linq.js processing against that property but I’m finding its having an issue with the linq.js expression, Enumerable.From(), that extracts the Enumerable from that property as it returns a null.

Question – any suggestions on a WinJS call I can make to pull the enumerable out of this property so that I can execute linq.js expressions against its contents?

So the wif 4.0 Microsoft.IdentityModel.dll and nfx45 System.IdentityModel.dllthose sdk don't have any role in the context of winrt component library and modern winrt project environments. The winrt component library provided ClaimsCollection
in this case was hand crafted using the interface list noted.

Using the winrt component library ClaimsCollection.getView() method I was able to produce linq.js Enumerable.From() result that allowed carrying out WinJS linq expressions as shown in the following working excerpt.

and Enumerable.From is detect length property and enumerate.
If the collection is IList<T> then collection has length property.
So, ClaimCollection should just work.
(I don't understand why it doesn't work and what is getView().)

I understand Enumerable.from has to apply for IIterable<T>.
I implement it immediately. (I'm working linq.js ver.3, http://linqjs.codeplex.com/releases/view/91395)

You can't use windows identity foundation directly in winjs project. The ClaimsCollection instance is being created using my winrt component library routine that processes a federated identity signin acquired simple web token.

If you are working on linq.js v3 and want to determine why .getView() was necessary for Enumerable.From to work on the instance of ClaimsCollection you can download
this example solution and step thru a repro of this issue in the App1 & App2 | js/default.js script processing. You'll have to remove the .getView() call currently in place to repro the unexpected result I was initially getting.

I guess we should execute a package manager console "Install-Package link.js -Pre" so as to pull in the 3.0.1-beta2 version and see if it is able to execute Enumerable.From(ClaimsCollection) and return the expected result versus having to include
.getView() that is necessary with my tests using linq.js version 2.2.0.2 package install.

I have opened solution but Visual Studio 2012 has been freezed.
So I can't check your project.

But, I imported packages\FedId.WinRT.Project.Scaffolding.1.5.0.4\Lib\winrt45 to new projectand checked ClaimCollection using debugger.
ClaimCollection is Array it has length and getView is convert to ReadOnlyCollection.

see the Visual Studio debugger, ClaimCollection is [Object, Microsoft.IdentityModel.Claims.ClaimCollection]
and expand object, only has size.
but language projection is working, in the watch windows and type ".legnth" maybe it is number(not undefined).