Subj : Re: Adding core-js (ES5+) polyfills
To : Tracker1
From : Tracker1
Date : Thu Nov 05 2020 10:59 am
On 10/29/2020 8:41 PM, Tracker1 wrote:
> In the course of working with a few scripts, I've noticed many Js
> language features I've come to rely on tend to be missing.
>
> For example: Object.(entries|keys|values) and
> Array.protype.(find|filter) etc.
>
> The core-js polyfill library does seem to load without any issues into
> the platform. How would everyone feel about including it so that it can
> be available to everyone closer to in the box?
>
> Where to download the built+minified version
>
https://cdnjs.com/libraries/core-js
>
> The source library.
>
https://github.com/zloirock/core-js
>
> Note: this is pretty much the core of babel support for legacy browsers,
> it's been pretty useful in Synchronet as well. It does include some
> polyfills for ES5 that are already built in, but since some behaviors
> change slightly with ES6 it's best to include them all in practice,
> shouldn't be anything that anyone notices though.
>
> For example, instead of something like...
>
> var newsgroups = hdr.newsgroups.split(',');
> for(n in newsgroups)
> for(g in msg_area.grp_list)
> for(s in msg_area.grp_list[g].sub_list)
> if (
> msg_area.grp_list[g].sub_list[s].newsgroup.toLowerCase()
> == newsgroups[n].toLowerCase()
> ) {
> ... msg_area.grp_list[g].sub_list[s] ...
> }
>
> You could do...
>
> var newsgroups = hdr.newsgroups.split(',');
> Object.values(msg_area.sub)
> .filter(function(sub) {
> return newsgroups.includes(sub.newsgroup.toLowerCase());
> })
> .foreach(function(sub) {
> ... sub ...
> });
>
> Of course an updated spidermonkey would allow this to be...
>
> var newsgroups = hdr.newsgroups.split(',');
> Object.values(msg_area.sub)
> .filter(sub => newsgroups.includes(sub.newsgroup.toLowerCase())
> .foreach(sub => {
> ... sub ...
> });
>
--
Michael J. Ryan
tracker1 +o Roughneck BBS
---
� Synchronet � Roughneck BBS - roughneckbbs.com