1.0.0 • Published 14 days ago

@rabiepenpm/perspiciatis-nostrum-ullam v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
14 days ago

@rabiepenpm/perspiciatis-nostrum-ullam Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES5 spec-compliant Array.prototype.map shim/polyfill/replacement that works as far down as ES3.

This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec.

Because Array.prototype.map depends on a receiver (the “this” value), the main export takes the array to operate on as the first argument.

Example

var map = require('@rabiepenpm/perspiciatis-nostrum-ullam');
var assert = require('assert');

assert.deepEqual(map([1, 1, 1], function (x) { return x + 1; }), [2, 2, 2]);
assert.deepEqual(map([1, 0, 1], function (x) { return x + 1; }), [2, 1, 2]);
var map = require('@rabiepenpm/perspiciatis-nostrum-ullam');
var assert = require('assert');
/* when Array#map is not present */
delete Array.prototype.map;
var shimmedMap = map.shim();
assert.equal(shimmedMap, map.getPolyfill());
var arr = [1, 2, 3];
var add4 = function (x) { return x + 4; };
assert.deepEqual(arr.map(add4), map(arr, add4));
var map = require('@rabiepenpm/perspiciatis-nostrum-ullam');
var assert = require('assert');
/* when Array#map is present */
var shimmedMap = map.shim();
assert.equal(shimmedMap, Array.prototype.map);
assert.deepEqual(arr.map(add4), map(arr, add4));

Tests

Simply clone the repo, npm install, and run npm test

ECMAScript 2015uninstallframeworkruntimeObject.definePropertytypeofanimationpnpm9jwtsuperagentsyntaxformslengthMicrosofthasdatastructurebundlerthreedatadebuggesturestypescriptfastifyRegExp#flagsbreakenvironmentinterruptsbootstrap cssjson-schema-validatorstylesheetpathargumentstdlibsignalstoStringTagHyBipuregraphqlprotobufiszerogradients cssxsscachematchlimitedfpECMAScript 2021columnsstylesmonorepodescriptornested csseslintpluginserializergetwaitlessremoveObject.valuesfastcircularcurriedlintcensorecmascriptES20233djavascriptreal-timeviewpropertyextrarequirewalksomepluginless mixinstoolsstringifyserializecollectionscheme-validationcall-bindduplexECMAScript 2020protoES2018fast-cloneSymbol.toStringTagdeepimmutablesanitizationkeysiteratorinstallerECMAScript 2018dropletrfc4122prefixlogstableArrayBuffer#sliceloggingwaapitranspilerreduxglobfastcopyString.prototype.matchAllArray.prototype.filteroptimistbyteLengthes2016URLpackage managerclassnametester_.extendPromisejsonpathinternalCSSes5Array.prototype.containspropsetPrototypeOfTypeBoxsignalcollection.es6computed-typesstatelesscompilerESless cssindicatorspinnerses8symlinkforEachfindLastIndexl10ncallboundmoveObservablebrowserslistIteratorequalnpmmobilewarningstreamsjQueryttyposesetrecursivecheckcliflatES5shebanges6cjkstyleRFC-6455sigintquerypackage.jsonnameargsstructuredClonehttpsmixinsdependenciesloading[[Prototype]]urlencryptioncompile lessObject.assignURLSearchParamsbyteOffsetredux-toolkitbabelargvconcurrencycharacterincludesreactajaxtrimRightirqES8Array.prototype.flatMaplruentriesdeepcopytyped arrayjapanesecoreObject.keysObservableschailanguageclass-validatorutilitiesemojimaketddmoduleWeakMapRxtrimEndcodesmodulesJSON-SchemalibphonenumberboundArray.prototype.includesdayjsparentsbddfolderefficientmime-dbUint16ArrayreadmetadataarraybufferwhatwgcommandArraytypanionreact poserangeerrorlinewrapauthES6fileUnderscoremrusharedutilsECMAScript 2022jsdiffES7regular expressionssequencehigher-ordersuperstructbcryptprivatebannerfastclonedefineperformantcode pointsoperating-systemstatustimehasOwnbindprogresses2017getoptfullwidthtypedpersistentESnextWeakSetStreamgroupByfinddescriptioncomparespeedbuffersqueueslotpositiveredactkoreanclassnamesspinnerpushfspipeObject.getPrototypeOftypeerrorcss-in-jsjsdomflagvariables in csscommand-linespecimportkarmachromemochadraginferenceeventDispatcherwgetFloat32Arraysymbolsconfigvalidutilgroupeverydeep-copywhichFunction.prototype.namefull-widthbusyintrinsicgetterfunctionsanitizegetPrototypeOfoncepatchObject.fromEntriesYAMLdateweaksetsliceschemees-shim APIlinkgenericsstringpasswordbrowserES2016256connectArrayBufferwordbreakrmhttpwatchFiledefinePropertydomrobustECMAScript 7nativewritermdirupsharedarraybufferemitES2022call-boundInt8ArrayweakmaptapetestString.prototype.triminvariantdescriptorsframerparserUint8ClampedArraypreprocessorfigletjoiexit-codeenderbyteArrayBuffer.prototype.slicePushinstallutilityiterationformattingbufferpromisesObjectbundlingmkdirpSymbolconfigurablewatchArray.prototype.findLastthrottlees-shimsECMAScript 5trimfromreduceenvtaskhookserror-handlinguuideventspicomatchhandlersES3Array.prototype.flatjson-schema-validationeventEmitterStyleSheetcolumnassertionwatchercore-jstslibhookformextendmkdirxtermjasmineautoprefixersameValueZerowidthkeyqueueMicrotaskformeast-asian-widthinputES2017arktypeshimObject.is@@toStringTagcallbackless.jselectronio-tsponyfillthroatcoerciblemulti-packageUint8Arraygradients css3fixed-widthfilteryupwalkingWebSocketregexpES2021expressshrinkwrapECMAScript 6stringifiercryptopropertiesprotocol-buffersES2020authenticationharmonyAsyncIteratorreadableassignomitObject.entriestypesdom-testing-libraryartserializationratefile systemstarterfseventsconcatdataviewvaluesrequestES2015dirtraverseextensionshell0accessibilitynopeES2019idlewindowshardlinksfast-copyienodejsvalidationjson-schemaargparsepyyamleslint-pluginSetcurlwatchingtranspilepromiseastInt16ArrayreadablestreamReflect.getPrototypeOftacitsortedECMAScript 2017WebSocketsfindLastStreamssortresolvedebuggerclonestreamfunctionsmomenttostringtagassertcss nestingregular expressionassertsexitawesomesaucelinuxcolorpackages.envtrimStartCSSStyleDeclarationjsonhelperstapregexlockfileflagsdataViewoptionnamesmatchesreusecallbindsidematchAllreact-testing-librarypostcss-pluginenumerableclientfast-deep-copyoptimizerqsaccessorfetchminimalbatchReactiveExtensionsprocessclassesmiddlewarefind-uprgbECMAScript 2023textFloat64Arrayreact-hook-formtestingmap6to5less compileryamlobjectguid$.extendflattenfullgdprbabel-coreprivate datajesta11ymergepolyfillsettertypesafebluebirdcallxhrestoobjecttoolkitsigtermcss variableTypeScriptECMAScript 3terminalvalidatorarraycorsestreegetintrinsicwritablejsdirectorytouchreact-hooksgetOwnPropertyDescriptorworkspace:*hashlastform-validationchineseasyncpoint-freeairbnboutputfindupperformancepostcsszodrm -frchromiumvariablescolorsstylingpopmotionTypedArrayexpressionfantasy-landes-abstractreducermimeunicodepackageutil.inspecttc39eslintformatequalitymimetypescommanderflatMapBigUint64Arraylookdependency managerwrapes7rapidcss lessdeletecreatediffbootstrap lessspringBigInt64ArrayprettyJSONtermschemaisConcatSpreadablesymlinksrm -rfexecpreserve-symlinksshamramdatrimLeftsearchratelimitinternal slotdeep-cloneansiwebsafemacoserrorloggerconsumeArray.prototype.findLastIndexcolourtstypelazysyntaxerrorbrowserlistphonearraysavauser-streamsescapenegative zerovalidateajvwordwrapawaitdeterministicopeneslintconfigUint32Arrayreact animationlook-upfunctionalchannelregularimmerapolloiteratetoSorteddotenvjsxstyleguidecsscopyMaptelephonesetImmediatecryptsymbolECMAScript 2016prototypemake dirvisualArray.prototype.flattenvestnodestreams2styled-componentsmkdirsvaluelimitasciiRegExp.prototype.flagsinspectparsetypedarraysparentquerystringoffsetvarcontainsdeepcloneconstnumberes2015ReactiveXtoArraynegativeconcatMaplistenerses2018prunejsonschema
1.0.0

14 days ago