1.0.0 • Published 10 days ago

@ryniaubenpm/asperiores-qui-optio v1.0.0

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

@ryniaubenpm/asperiores-qui-optio Version Badge

github actions coverage License Downloads

npm badge

An ESnext spec-compliant Object.groupBy 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 proposed spec.

Getting started

npm install --save @ryniaubenpm/asperiores-qui-optio

Usage/Examples

var groupBy = require('@ryniaubenpm/asperiores-qui-optio');
var assert = require('assert');

var arr = [0, 1, 2, 3, 4, 5];
var parity = function (x) { return x % 2 === 0 ? 'even' : 'odd'; };

var results = groupBy(arr, function (x, i) {
    assert.equal(x, arr[i]);
    return parity(x);
});

assert.deepEqual(results, {
    __proto__: null,
    even: [0, 2, 4],
    odd: [1, 3, 5],
});
var groupBy = require('@ryniaubenpm/asperiores-qui-optio');
var assert = require('assert');
/* when Object.groupBy is not present */
delete Object.groupBy;
var shimmed = groupBy.shim();

assert.equal(shimmed, groupBy.getPolyfill());
assert.deepEqual(Object.groupBy(arr, parity), groupBy(arr, parity));
var groupBy = require('@ryniaubenpm/asperiores-qui-optio');
var assert = require('assert');
/* when Array#group is present */
var shimmed = groupBy.shim();

assert.equal(shimmed, Object.groupBy);
assert.deepEqual(Object.groupBy(arr, parity), groupBy(arr, parity));

Tests

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

viewfileutilstoStringTagcss-in-jstyped arraycurljson-schema-validatorsignalassignbindclientpreserve-symlinksinspectmakefunctionsbuffersoptionconcurrencyCSSStyleDeclarationremoveArray.prototype.includesstreamsdebugargses6sharedarraybufferECMAScript 2017speedObject.entriesextensionStreamreact-hooksinternal slotES2023enumerableserializejapanesecmdschemamake dirmobiletoobjectefficientcorsstringifypicomatchshellpluginArrayBuffer.prototype.slicees8operating-systemsliceidlefast-deep-copycommandclassesless.jschaipersistentdefaultgradients css3AsyncIteratortacittrimEnddatelintsidetrimLeftdirlengthFunction.prototype.nameassertsstylesdeleteclass-validatorutil.inspectwritablespringterm@@toStringTagdescriptorrequestfunctionalpostcssmetadataflagsdescriptorsnode0resolveworkerpipesyntaxeditorObservablesymlinksstringifierreusebrowserweaksetemitdeepartpurejwtsequenceregular expressionprotocol-buffersless cssmovelastenveveryjsxprettyfromparsees-abstracttrimStart3dhelpersemojiequalES2018callboundredactObjectlazypolyfillargparsegesturesexitstreamopensless compilerECMAScript 2023babel-coreES2020typeforEachMicrosoftomitreadableUnderscorearktypexssArray.prototype.flattenuuidtapeautoprefixerisConcatSpreadablefastclonebytegradients cssdayjsflatMapincludesscheme-validationttyloggerapidata[[Prototype]]shebangoncearraybufferhardlinksnopebddrgbreadablestreamthrottleiteratortc39Object.getPrototypeOfcolorpromiseargumentsECMAScript 2019harmonyhasequalitypostcss-pluginRegExp#flagsbrowserlistInt16Arrayeventspropertyworkspace:*Object.valuesbatchstyleprototypeless mixinsArrayBufferRFC-6455sloti18nsymbolskeysjsdompositivehigher-ordermkdirpRegExp.prototype.flagsinternalfast-deep-cloneWeakMapwebbcryptio-tsRxES2016settingsutilitysetImmediatearraycsswordwrapUint8ArrayReactiveExtensionsthroatArray.prototype.flatdebuggersharedPushtestcensorsymbolpnpm9timeWebSocketstakeloggingvaluewalkinges2015definePropertyvariablesphonecallsafedeep-copyterminalnamestaskchildbannerchannelhttpcolorscodesJSON-SchemaspawneslintES2021expressSymbol.toStringTagstructuredClonepathjestdataviewcall-boundencryptionfastifyes5protoinferencefastdeepcopyinstallerTypedArrayStreamstranspile256flagkoreancolumncommand-linechromepruneargumentstablelimitedconfigwaitreact-testing-librarydataViewreact animationvartstoArraygetstartsuperstructrmdependenciesvestnegativea11yponyfilltestertypedarraysspinnermomentreact-hook-formcloneclassnamescorevalidatecollectioncliTypeBoxRxJSstyleguidees2016copysortedunicodermdirgetintrinsicairbnbquotenpmidECMAScript 2020fastcopytrimRightstarterbabelURLextratypedwatchpackagecore-jsavacss variablehandlersfunctiondragnumberlibphonenumberenvironmenttoolsmkdirstelephoneeslint-pluginURLSearchParamsiterationminimallinuxtestinguninstallcss lessArray.prototype.containssetterxdg-openspinnerschromiumwatchFilestyled-componentsentriesregexpwalkrapidwhichmatchesgetoptcircularObject.assignObject.keysmime-dbhashparentFloat64ArrayArray.prototype.findLasttrimcompile lessfindES2019Uint8ClampedArrayvalidationmulti-packagehasOwnserializationjsonpathgroupByxhrexeclistenersfast-clonees-shim APIlinkObject.fromEntriesInt32Arraysanitizevaluesbrowserslist6to5String.prototype.matchAlltouchcontainsgetOwnPropertyDescriptorcurriedrm -frfile systemESInt8ArrayArray.prototype.flatMapsetPrototypeOfconcatMapparserawaitkarmaString.prototype.trimlesscssjoitslibindicatorstatusbyteLengthESnextflatArray.prototype.filterMapirqzerostringfindupimportnamepushES2017syntaxerrortapbreakstatelessjasminelimitrfc4122ECMAScript 2021performancedeepcloneES7ECMAScript 2018superagentsameValueZeroutilitieshookformes7popmotionsomepasswordeslintpluginlooktypanionObject.isbyteOffsetmoduletypeerrorReactiveXfixed-widthrangeerrorObject.definePropertyeslintconfigestreepromisesfindLastmodulesjsonpackagesprivate_.extendconfigurableIteratorinputpackage.jsonsetlinewrapconsumeramdamkdirbusyregularcomputed-typeslook-upUint32Arrayregular expressionsasyncasciipackage managerWebSocketescapecompilervalidatorlaunches-shimscryptodompropfolderFloat32Arrayenderposemacosnegative zeroreal-timemapcjktoolkitpoint-freeconsolewarningES5pyyamlmixinsiteratewidthrandomoffsetmatchajaxhttpsspeces2018tostringtagshimrateES2015traversecheckcolourconcattypesafexdgshrinkwrapflatteneventEmittergroup$.extendimmutablebundlingcryptthreeparentstypeofassertionJSONnodejsargvECMAScript 2016.envexecutableelectronglobArrayBuffer#slicetoSortedmimesigintfetchgenericsweakmaputilprogressjsonschemauser-streamslockfilecharacterBigUint64Arrayjsyamlstreams2installfseventstypescriptgdprupdeep-clonejsdiffexesearchbufferdeterministicreducerfind-upvariables in cssECMAScript 7awesomesaucemonorepoECMAScript 3datastructureassertqueueMicrotaskfantasy-landES6robustsignalsCSSschemelogapollocreatelet__proto__BigInt64Arrayperformantruntimeformreactredux-toolkitansijson-schema-validationastgetterexit-codematchAlllessguidopenreact poseshamwatchingdescriptiondropwordbreaklanguageformatesReflect.getPrototypeOfSetECMAScript 2015requirestylesheetcss nestingwindowsbundlerarrayscallbindWeakSetratelimitbluebirdwhatwgfindLastIndexieHyBitypesdirectoryPromisewgetvisualurlsl10nserializersigtermyupintrinsicnested csskeyObservablesfullboundfull-widthloadingobjectappajvrm -rferrorES3processzodframeworkaccessibilitycomparediffoutputsanitizationsortTypeScriptqueryECMAScript 2022websitewaapiArrayanimationobjArray.prototype.findLastIndexgetPrototypeOfYAMLES8watcherexpressionhooksformsjQueryreduxUint16Arraylrumimetypesformattingoptimistes2017figletqueuepropertiesxtermreducegraphqlvaliddependency managerecmascriptsymlinktranspilerframerpatchquerystringauthSymbolcall-bindoptimizerinvariantjavascript
1.0.0

10 days ago