1.0.0 • Published 12 days ago

@ffras4vnpm/totam-cum-distinctio v1.0.0

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

@ffras4vnpm/totam-cum-distinctio Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ESnext spec-compliant Array.prototype.findLastIndex 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.

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

Getting started

npm install --save @ffras4vnpm/totam-cum-distinctio

Usage/Examples

var findLastIndex = require('@ffras4vnpm/totam-cum-distinctio');
var assert = require('assert');

var arr = [1, [2], [], 3, [[4]]];
var isNumber = function (x) { return typeof x === 'number' };

assert.deepEqual(findLastIndex(arr, isNumber), 3);
var findLastIndex = require('@ffras4vnpm/totam-cum-distinctio');
var assert = require('assert');
/* when Array#findLastIndex is not present */
delete Array.prototype.findLastIndex;
var shimmed = findLastIndex.shim();

assert.equal(shimmed, findLastIndex.getPolyfill());
assert.deepEqual(arr.findLastIndex(isNumber), findLastIndex(arr, isNumber));
var findLastIndex = require('@ffras4vnpm/totam-cum-distinctio');
var assert = require('assert');
/* when Array#findLastIndex is present */
var shimmed = findLastIndex.shim();

assert.equal(shimmed, Array.prototype.findLastIndex);
assert.deepEqual(arr.findLastIndex(isNumber), findLastIndex(arr, isNumber));

Tests

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

setlesscsslinewrapclistringifynativenoperapidpreprocessorjson-schemadeepcopyhasOwngraphqlxdgutilcallbackECMAScript 2017i18nvaluecryptinterrupts-0formscall-boundmatchAlleventEmittertrimRightsomeprogressnegativeemojiio-tsinvariantratelimit$.extendfastcopyloadingloggingcode pointsspawnserializertestrecursiveconcatMaptrimremoveutilssharedfseventswalkingmakelimitECMAScript 3BigInt64Arraywarningimmerworkspace:*stdlibtostringtagtyped arraycurlarraybufferhandlersformrmECMAScript 2020regular expressionsquoteawesomesauceECMAScript 2018reducedeep-clonenodejsrateUint32ArrayTypedArraytranspilejsdomECMAScript 2021reducertimewhichtypedECMAScript 2019sortreusematchesmiddlewareinspectWebSocketphoneECMAScript 5harmonyES7directoryoperating-systemcoreutilityupmake direxpressionexitrandomfast-deep-copyerror-handlingajviestreams2iteratespinnerrm -frtraversezoddiransies2018validatoreslintes-shim APIeslint-plugindebugpolyfillfindLastIndexStreamdataViewtoStringTagmobilesymlinksgesturesRegExp.prototype.flagscommanderexit-codeprotocol-buffers0redux-toolkitbrowserlistchaibrowserslistenderramdamulti-packagewatchtoolsprotobufstyleguidepreserve-symlinksintrinsicvalidationairbnbdeleteObject.keyswidthTypeBoxargparseinstallfilefindLastchannel256Object.issanitizeECMAScript 6full-widthdefinePropertyguidkoreanflagsframeworkpicomatchlistenersmkdirpcoercibletextmomentloggermodulebabel-corenamesCSScodesgetOwnPropertyDescriptorreadartfilterconstURLargumentlaunchString.prototype.triml10nformatwhatwgfixed-widthsymbolswordbreakjestreadablestreamcolourtelephonelastcalles2016Float32Arraylockfileless cssajaxbyteOffsetgetoptStyleSheetconcurrencyES2023xsssettermixinsperformanttypedarraybcryptcollectioncolorsES2021plugina11yReflect.getPrototypeOfjsPushreacthelpersfunctionsarraysRxhases-abstractstylechromeSymbolprettytakeTypeScripttrimEndchromiumformattingoptimisttacitlogweakmapsetImmediatejapanesegdprfast-copyfoldermochaargvUint8Arraypostcss-pluginparentsstatusshebangletbuffersmimeopendomaccessorECMAScript 2023starttesterencryptionparseArrayBuffer.prototype.sliceisrequestsigtermdotenvArray.prototype.findLastcallbindES6cacheenvironmentcommand-linefindredactequalcss-in-jsreduxcreatedependency managerjoiasyncclassnamecharactersArray.prototype.filterbytekarmamodulescontainsdragUnderscoresetPrototypeOfrmdirtrimLeftsyntaxerrortc39groupByastterminalconcatObject.fromEntries3dbusyduplexflattensignalsflatMappromisesgetintrinsictapshrinkwrapdeep-copyconfigkeysexpressdatastructurestringdescriptionprocesseslintpluginpackage managerawaites2015react-hooksES2016weaksetkeyinputtypedarraysArray.prototype.containsArray.prototype.includespasswordes-shimsmovewritabletoArraypushpathmkdirstseslintconfigescapescheme-validationcollection.es6computed-typesless mixinsUint8ClampedArrayexeshambootstrap lessaccessibilityhigher-orderparserslotthroatinternalArray.prototype.flatMapidlergbfunctionalflatclassesinternal slotsymbolStreamssettingscolumnsjwtless compilerextraframerdefineeverytypeerrorperformancefind-upbabelimportgroupapollogradients csscompile lesscensorsuperstructpersistentES3datewrapES2019typesschemaArrayeditorcompareregulardeepspringshellargumentspositivemime-db_.extendRxJSsignalprototypepackagesglobSetreadableopenerqueueMicrotaskhashvariables in csssearchBigUint64Arrayfile systemYAMLspeedgradients css3startereventDispatcherbdddropstylesheetfigletdescriptorsstylesObservableslookmatchwaapijsonschemapropPromisedeepclonepromiseRegExp#flagsstructuredCloneObject.definePropertyschemecopyWebSocketsdatasafeWeakSetrangeerrorcorsArrayBuffer#slicesidesequencequeueopensavafastspinnershttpWeakMapxhrttypatchcsslimitedbannerwatchermonorepotoSortedcjkcore-js6to5Symbol.toStringTagtypesafearktypewebES2018mergelinuxstatelessfunctionchildreact-hook-formstyled-componentsthrottleInt16Arrayxdg-openinstaller[[Prototype]]es2017ReactiveExtensionswaituuidrequireiterationassignpostcssfastclonedataviewprunehookstddbundlingcss variableecmascriptentriescompilerauthES2020consumeextensioncommandoncenodebundlercolorAsyncIteratorposefullwidthirqdescriptorfetchinferencepurestablecall-bindECMAScript 2015fast-deep-cloneReactiveXCSSStyleDeclaration@@toStringTagxtermlazyincludesclonepopmotionerrorvestes5extendtypeofstringifierFloat64ArrayimmutableflagisConcatSpreadablesuperagentObjecturlpropertyassertHyBibreakObject.assignthreecallboundutil.inspectdeterministicdebuggercss lesslruless.jstypevisualfppnpm9utilitieschinesecss nestingelectronjQueryprivatetranspilersortedform-validationrm -rfresolveFunction.prototype.nameobjesInt8ArraypropertiesdayjsnpmIteratorautoprefixerarrayfsoutputefficientES2022json-schema-validatoruser-streamsassertionjsonqsprefixbrowserrobustoffsetruntimewgetnegative zeroquerygetPrototypeOfzerotslibsigintregular expressionES8Object.entrieshardlinksboundappsanitizationreact posetrimStarthookformprivate dataapiiteratormacosstylingfast-cloneECMAScript 7executablejsonpath.envomitUint16ArrayjasmineregextouchObject.getPrototypeOfoptimizernested css__proto__shimbinduninstallbufferdefaultenvwebsiteargsbyteLength
1.0.0

12 days ago