From 2335075506f225bdd7a1c91ba2acbd74a5958b9c Mon Sep 17 00:00:00 2001 From: Brian Ford Date: Tue, 30 Jun 2015 13:19:20 -0700 Subject: [PATCH] feat(facade): add ListWrapper.toJSON method --- modules/angular2/src/facade/collection.dart | 7 +++++++ modules/angular2/src/facade/collection.ts | 2 ++ 2 files changed, 9 insertions(+) diff --git a/modules/angular2/src/facade/collection.dart b/modules/angular2/src/facade/collection.dart index ec451e1ebb..9348664159 100644 --- a/modules/angular2/src/facade/collection.dart +++ b/modules/angular2/src/facade/collection.dart @@ -1,9 +1,12 @@ library facade.collection; import 'dart:collection' show IterableBase, Iterator; +import 'dart:convert' show JsonEncoder; export 'dart:core' show Map, List, Set; import 'dart:math' show max, min; +var jsonEncoder = new JsonEncoder(); + class MapIterator extends Iterator { final Iterator _iterator; final Map _map; @@ -170,6 +173,10 @@ class ListWrapper { } } + static String toJSON(List l) { + return jsonEncoder.convert(l); + } + // JS splice, slice, fill functions can take start < 0 which indicates a position relative to // the end of the list static int _startOffset(List l, int start) { diff --git a/modules/angular2/src/facade/collection.ts b/modules/angular2/src/facade/collection.ts index 46f22de58d..29ddb57009 100644 --- a/modules/angular2/src/facade/collection.ts +++ b/modules/angular2/src/facade/collection.ts @@ -238,6 +238,8 @@ export class ListWrapper { } } static toString(l: List): string { return l.toString(); } + static toJSON(l: List): string { return JSON.stringify(l); } + } export function isListLikeIterable(obj): boolean {