File tree Expand file tree Collapse file tree 4 files changed +14
-9
lines changed Expand file tree Collapse file tree 4 files changed +14
-9
lines changed Original file line number Diff line number Diff line change 11{
22 "name" : " zen-observable" ,
3- "version" : " 0.9 .0" ,
3+ "version" : " 0.10 .0" ,
44 "repository" : " zenparsing/zen-observable" ,
55 "description" : " An Implementation of ES Observables" ,
66 "homepage" : " https://github.com/zenparsing/zen-observable" ,
Original file line number Diff line number Diff line change 33const hasSymbol = name => Boolean ( Symbol [ name ] ) ;
44const getSymbol = name => hasSymbol ( name ) ? Symbol [ name ] : '@@' + name ;
55
6- if ( ! hasSymbol ( 'observable' ) && Object . isExtensible ( Symbol ) ) {
7- Symbol . observable = Symbol ( 'observable' ) ;
8- }
9-
106const SymbolIterator = getSymbol ( 'iterator' ) ;
117const SymbolObservable = getSymbol ( 'observable' ) ;
128const SymbolSpecies = getSymbol ( 'species' ) ;
Original file line number Diff line number Diff line change @@ -41,14 +41,22 @@ describe('from', () => {
4141 it ( 'wraps the input if it is not an instance of Observable' , ( ) => {
4242 let obj = {
4343 'constructor' : Observable ,
44- [ Symbol . observable ] ( ) { return this } ,
44+ [ observableSymbol ] ( ) { return this } ,
45+ } ;
46+ assert . ok ( Observable . from ( obj ) !== obj ) ;
47+ } ) ;
48+
49+ it ( 'uses @@observable as the property name unless polyfilled' , ( ) => {
50+ let obj = {
51+ 'constructor' : Observable ,
52+ '@@observable' ( ) { return this } ,
4553 } ;
4654 assert . ok ( Observable . from ( obj ) !== obj ) ;
4755 } ) ;
4856
4957 it ( 'throws if @@observable property is not a method' , ( ) => {
5058 assert . throws ( ( ) => Observable . from ( {
51- [ Symbol . observable ] : 1
59+ [ observableSymbol ] : 1
5260 } ) ) ;
5361 } ) ;
5462
@@ -62,7 +70,7 @@ describe('from', () => {
6270 let observer ;
6371 let cleanupCalled = true ;
6472 let observable = Observable . from ( {
65- [ Symbol . observable ] ( ) { return inner } ,
73+ [ observableSymbol ] ( ) { return inner } ,
6674 } ) ;
6775 observable . subscribe ( ) ;
6876 assert . equal ( typeof observer . next , 'function' ) ;
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ beforeEach(() => {
44 global . Observable = Observable ;
55 global . hostError = null ;
66 let $extensions = Object . getOwnPropertySymbols ( Observable ) [ 1 ] ;
7- let { hostReportError } = Observable [ $extensions ] ;
7+ let { hostReportError, symbol } = Observable [ $extensions ] ;
88 hostReportError . log = ( e => global . hostError = e ) ;
9+ global . observableSymbol = symbol ;
910} ) ;
You can’t perform that action at this time.
0 commit comments