UNPKG

3.35 kBSource Map (JSON)View Raw
1{"version":3,"sources":["Set.ion"],"names":["ion",{"type":"Identifier","name":"SetShim","loc":{"start":{"line":4,"column":6,"fixed":true,"source":"ion/es6/Set.ion"},"end":{"line":4,"column":13,"fixed":true,"source":"ion/es6/Set.ion"}}},"SetShim","items","Error","map","Map","methods","has","key","delete","add","set","forEach","callback","thisArg","value","call","Object","defineProperty","global","Set","prototype","window","console","warn","test","a","b"],"mappings":"aAAA;AAAA,IAAMA,GAAA,G,OAAM,CAAO,KAAP,CAAZ;OACA,CAAO,OAAP,EADA;AAGMC,SAAAC,OAAAD,CAAQE,KAARF,EACN;AAAA,IAAI,IAAGE,K,QAAH,EACJ;AAAA,QAAQ,MAAM,IAAIC,KAAJ,C,2EAAA,CAAN,CAAR;AAAA,KADA;AAAA,IAEI,IAAIC,GAAA,GAAM,IAAIC,GAAJ,EAAV,CAFJ;AAAA,IAGI,IAAMC,OAAA,GAAS;AAAA,YACXC,GAAA,EAAKP,UAACQ,GAADR,E;uBAASI,GAAA,CAAIG,GAAJ,CAAQC,GAAR,C;aADH;AAAA,YAEXC,MAAA,EAAQT,UAACQ,GAADR,E;uBAASI,GAAA,CAAIK,MAAJ,CAAWD,GAAX,C;aAFN;AAAA,YAGXE,GAAA,EAAKV,UAACQ,GAADR,E;uBAASI,GAAA,CAAIO,GAAJ,CAAQH,GAAR,EAAa,IAAb,C;aAHH;AAAA,YAIXI,OAAA,EAASZ,UAACa,QAADb,EAAWc,OAAXd,EACjB;AAAA,gBAAYI,GAAA,CAAIQ,OAAJ,C,SACI,UAACG,KAAD,EAAQP,GAAR,EAChB;AAAA,oBAAoBK,QAAA,CAASG,IAAT,CAAcF,OAAd,EAAuBN,GAAvB,EAA4B,IAA5B,EAApB;AAAA,iB,OAFY,EAAZ;AAAA,aALmB;AAAA,SAAf,CAHJ;AAAA,IAYI,SAAIA,GAAJ,IAAkBF,OAAlB,EACJ;AAAA,Q,IADaS,K,GAAST,O,CAAdE,G,EACR;AAAA,QAAQS,MAAA,CAAOC,cAAP,CAAsB,IAAtB,EAAyBV,GAAzB,EAA8B,EAACO,KAAA,EAAAA,KAAD,EAA9B,EAAR;AAAA,KAbA;AAAA,CAJA;AAoBA,IAAG,C,CAAII,MAAA,CAAOC,G,SAAX,IAAmB,C,CAAIA,GAAA,CAAIC,SAAJ,CAAcT,O,SAAxC,EACA;AAAA,IAAI,IAAGO,MAAA,CAAOG,MAAV,EACJ;AAAA,QAAQC,OAAA,CAAQC,IAAR,CAAa,cAAb,EAAR;AAAA,KADA;AAAA,IAEIL,MAAA,CAAOC,GAAP,GAAanB,OAAb,CAFJ;AAAA,CArBA;AAyBO,IAAMwB,IAAA,G,QAAAA,I,GAAOzB,YACpB;AAAA,QAAI,IAAMoB,GAAA,GAAMD,MAAA,CAAOC,GAAnB,CAAJ;AAAA,QACI,IAAIM,CAAA,GAAI,EAAR,CADJ;AAAA,QAEI,IAAIC,CAAA,GAAI3B,Y;SAAR,CAFJ;AAAA,QAGI,IAAIW,GAAA,GAAM,IAAIS,GAAJ,EAAV,CAHJ;AAAA,QAIIT,GAAA,CAAID,GAAJ,CAAQgB,CAAR,EAJJ;AAAA,QAKIf,GAAA,CAAID,GAAJ,CAAQiB,CAAR,EALJ;AAAA,Q,KAMWhB,GAAA,CAAIJ,GAAJ,CAAQmB,CAAR,C;8DANX;AAAA,Q,KAOWf,GAAA,CAAIJ,GAAJ,CAAQoB,CAAR,C;8DAPX;AAAA,QAQIhB,GAAA,CAAIF,MAAJ,CAAWkB,CAAX,EARJ;AAAA,Q,KASW,CAAIhB,GAAA,CAAIJ,GAAJ,CAAQoB,CAAR,C;kEATf;AAAA,QAUIhB,GAAA,CAAID,GAAJ,CAAQiB,CAAR,EAVJ;AAAA,Q,KAWWhB,GAAA,CAAIJ,GAAJ,CAAQoB,CAAR,C;8DAXX;AAAA,KADO","sourcesContent":["const ion = import '../'\nimport './Map'\n\nconst SetShim(items) ->\n if items?\n throw new Error(\"Don't add items in the constructor, IE implementation of Set breaks this\")\n let map = new Map\n const methods =\n has: (key) -> map.has(key)\n delete: (key) -> map.delete(key)\n add: (key) -> map.set(key, true)\n forEach: (callback, thisArg) ->\n map.forEach(\n (value, key) =>\n callback.call(thisArg, key, @)\n )\n for key, value of methods\n Object.defineProperty(@, key, {value})\n\n# we will even replace Googles crap implementation of Map that doesn't yet have forEach or keys\nif not global.Set? or not Set.prototype.forEach?\n if global.window\n console.warn('Shimming Set')\n global.Set = SetShim\n\nexport const test = ->\n const Set = global.Set\n let a = {}\n let b = ->\n let set = new Set()\n set.add(a)\n set.add(b)\n assert set.has(a)\n assert set.has(b)\n set.delete(b)\n assert not set.has(b)\n set.add(b)\n assert set.has(b)\n"]}
\No newline at end of file