1.0.0 • Published 13 days ago

@ryniaubenpm/tempora-ratione-maxime v1.0.0

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

@ryniaubenpm/tempora-ratione-maxime Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES7/ES2016 spec-compliant Array.prototype.includes 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.includes depends on a receiver (the this value), the main export takes the array to operate on as the first argument.

Engines that need this package include:

  • IE (all versions)
  • Safari < 9
  • Firefox < 43, and 99-101
  • Chrome < 47
  • Edge < 14
  • node < 6

Getting started

npm install --save @ryniaubenpm/tempora-ratione-maxime

Usage

Basic usage: includes(array, value, fromIndex=0)

var includes = require('@ryniaubenpm/tempora-ratione-maxime');
var assert = require('assert');
var arr = [ 'one', 'two' ];

includes(arr, 'one'); // true
includes(arr, 'three'); // false
includes(arr, 'one', 1); // false

Example

var arr = [
	1,
	'foo',
	NaN,
	-0
];

assert.equal(arr.indexOf(0) > -1, true);
assert.equal(arr.indexOf(-0) > -1, true);
assert.equal(includes(arr, 0), true);
assert.equal(includes(arr, -0), true);

assert.equal(arr.indexOf(NaN) > -1, false);
assert.equal(includes(arr, NaN), true);

assert.equal(includes(arr, 'foo', 0), true);
assert.equal(includes(arr, 'foo', 1), true);
assert.equal(includes(arr, 'foo', 2), false);
/* when Array#includes is not present */
delete Array.prototype.includes;
var shimmedIncludes = includes.shim();

assert.equal(shimmedIncludes, includes.getPolyfill());
assert.equal(arr.includes('foo', 1), includes(arr, 'foo', 1));
/* when Array#includes is present */
var shimmedIncludes = includes.shim();

assert.equal(shimmedIncludes, Array.prototype.includes);
assert.equal(arr.includes(1, 'foo'), includes(arr, 1, 'foo'));

Tests

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

jsdiffquotevalueswarningrm -frfindLasttddeventstypescriptfilejsxpostcssless.jsconsumesortcjkfullwidthinstallerlookparentsString.prototype.trimFunction.prototype.nametsAsyncIteratorairbnbdeepcopyless cssArray.prototype.flattenform-validationcollectiongroupBywhichconsoletslibtypeofArray.prototype.findLastIndexwrapinferenceObjectoptimizercolumnstringifierflattenasyncObservableRFC-6455testercopydescriptorsWebSocketprivateArray.prototype.findLastdragObject.entriesshelleventDispatcherslicees-abstractloggingdescriptorformfast-copyreadJSONUint8Arrayutilstablequeryformatphonecall-boundObject.assignstatusvalueremoveclassescommandvarsidefastclonetypedarrayperformantsafeisConcatSpreadableasserthascall-bindregexpgdprArrayBuffer#sliceWeakMapObject.fromEntriescorsvalidatorcallbound__proto__serializermiddlewarexssframerRegExp#flagsES2022pipeduplexemitArrayscheme-validationstringeventEmitterelectronchaiio-tsbluebirdequaldomutil.inspecttoSortedflagsArray.prototype.flatdefinePropertybufferlintmake dircsstranspilererror-handlingoutputjwtoperating-systembundlerassertionsyntaxerrorRxJScharacterString.prototype.matchAllhookscurltacitbindfindLastIndexexecECMAScript 2021zodcodesnegativesameValueZerovalides8setcore-jsutilitywordbreakmkdirpthrottlehttpaccessibilityratelimitES5xhrwhatwgviewecmascriptnodesetterES2021testdescriptionxtermnumbersettingslinewraptimepreprocessorbyteLengthletECMAScript 2023dataviewmimetypesgenericsvariables in csssanitizeargumentworkspace:*yuplastpoint-freejson-schema-validation3djsonemojicss nestingTypeBoxfast-cloneboundReflect.getPrototypeOfestreepyyamlgetintrinsicloadingfunctionsweaksetoptimisttraversedropmatchAllpropertiesastexpresswatcherargvvestBigUint64Arrayconfigassignes5apiMicrosoftenvmetadatauuidmimethroatwebenumerablesymbolfunctionalES2020Array.prototype.flatMapgradients cssformattingpostcss-pluginconnectfullbufferssymlinksslotbreakesiscommanderbrowserdotenvCSSRegExp.prototype.flagsYAMLindicatorrandomimmerframeworkpromiselook-upansiirqregular expressionstextcreateprogressshebanglistenersStreamsmochareuseconcatinspectarktypechromiumsetPrototypeOfkoreanjsHyBiparenttelephoneposewatchFileextendstructuredClonequeueESnextcharactersflagstreams2mime-dbcryptopureserializationrequireencryptionopenpackage managerfunctionpropdeepclonesanitizationtypeerrornopeES6babel-coreqsqueueMicrotaskwatchingponyfilltypedarrayspositivegradients css3fromtoStringTagcontainssigtermreact-testing-libraryglobfasttermObject.definePropertystyleguideminimalcompareapolloiterateextrainstalloffsetstatelesseslintjapaneseRxarturlhelpersvariableslazystylesheetreadablestreampropertyECMAScript 2022higher-orderReactiveXlesscssmodulespackage.jsoninternal slotcolumns6to5objectless mixinsdeep-clonetostringtagschememruescapeconfigurableInt8ArraytoArraynameupkeyslimitedcacheECMAScript 2020weakmapfixed-widthbrowserslistfilterequalityassertsobjUint16ArraysequencetypeECMAScript 3Promiseredux-toolkitgetPrototypeOfStyleSheettypesstylesreact animationlibphonenumbertakecomputed-typesthreeguidgesturesanimationhookformstringifyES8bannerl10n[[Prototype]]handlerstestingfile systempushstylermdirsuperstruct@@toStringTagregular expressionIteratorwindowsstyled-components_.extendjasminefetchfind-upeslintpluginexpressionmatcharrayspluginrecursivelogcompilernativeargsUint8ClampedArraylanguageFloat32ArrayfoldersomeObject.keyspnpm9protologgerregexprettyfull-widthlengthworkerwalkconstnegative zerodebuggereast-asian-widthgraphqlbabeluninstallcolorsrateaccessormatchesUnderscoreresolveprototypespinnersjQuerydatecolourrmzerosyntaxincludesrangeerrorBigInt64Arraydependency managerSymbolfast-deep-clonepreserve-symlinksstarterdefinereducepackageramdarm -rfprivate datasymbolstoobjectrgbprefixentriesless compilerauthenticationgroupsetImmediateTypeScriptmonorepoautoprefixerwordwrapsharedarraybufferinterruptsawaitpicomatchMaputilsintrinsicreducerreal-timepathcryptregularES2015oncetrimsearchURLSearchParamspasswordjoi$.extendtranspilemomentbatchjsonschemaECMAScript 7concatMappersistentwalkingrfc4122unicode.envdeleteECMAScript 5mkdirsforEaches6performanceuser-streamsmergeoptionavachannelmovereact-hookstouchextensioncss variablereduxauthECMAScript 2016popmotiongetOwnPropertyDescriptorECMAScript 2015curriedes7importhasOwnterminalajaxarraybufferclientpolyfillbcryptWeakSetutilitieseveryjsonpathidlebyteOffsetReactiveExtensionsgetternpmgetopttrimLeftstdlibArray.prototype.includeswaapicallcallbindparsecss-in-jsmacosdeep-copybusyES2018reactreadableformsshimtrimEnd-0trimRightparsersham0code pointsshrinkwrapschemadayjsinternalEScliInt16Arraylimitreact posedatastructureES2019spinnerwidthargparse256ES2017trimStartsharedasciispeedcircularpackagesefficienttapehttpsflatclonedeeptypesafecoerciblecheckFloat64ArrayprotobufyamlECMAScript 2017runtimemoduleSymbol.toStringTagfantasy-landes2016lesssigintwatchdataViewfsdirbootstrap cssbddstylingpatches-shimsArray.prototype.filtertypanionECMAScript 6toolschineseArray.prototype.containsArrayBufferlinuxa11yES2023iteratorfast-deep-copydirectorycallbackcommand-lineECMAScript 2019exit-codechromemobileWebSocketsnodejswaitspringlockfileES7errorJSON-SchemaredactdependenciesvalidationvisualObject.valuesArrayBuffer.prototype.slicetaskjson-schemacorepromisesdeterministicjson-schema-validatorflatMapeslintconfiginputkarmarobustTypedArraystreamfigletnamespruneomithardlinksmakejavascripti18nawesomesaucebundlingObject.getPrototypeOfcensorURLiefpjsdombootstrap lessenderreact-hook-formwgetkeyvalidateInt32Arrayclass-validatorrapidSetconcurrencybrowserlistfindObservablessignalsES2016typedsymlinktc39tapmapinvariantspecfseventsquerystringiterationlinkprocessgetcolorprotocol-buffersclassnamesclassnamedataharmonyStreamdebuges2017bytenested cssfastcopyPushtyped arrayfindupttyhashimmutablecollection.es6requestwriteexites-shim APImulti-packagestreamsenvironmentsuperagentdom-testing-libraryUint32Arrayfastifymixinslrujesteslint-pluginES3signalarrayserializees2018ajves2015css lessdiffwritablecompile less
1.0.0

13 days ago