1.0.2 • Published 1 year ago

@juigorg/a-accusantium v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@juigorg/a-accusantium Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ESnext spec-compliant String.prototype.at 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 String.prototype.at depends on a receiver (the this value), the main export takes the string to operate on as the first argument.

Note that versions of this package before v1.0.0 reflect an earlier, now-inactive proposal (https://github.com/mathiasbynens/String.prototype.at).

Getting started

npm install --save @juigorg/a-accusantium

Usage/Examples

var at = require('@juigorg/a-accusantium');
var assert = require('assert');

var arr = [1, [2], [], 3];

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

assert.deepEqual(results, [1, 2, 3]);
var at = require('@juigorg/a-accusantium');
var assert = require('assert');
/* when String#at is not present */
delete String.prototype.at;
var shimmedFlatMap = at.shim();

var mapper = function (x) { return [x, 1]; };

assert.equal(shimmedFlatMap, at.getPolyfill());
assert.deepEqual(arr.at(mapper), at(arr, mapper));
var at = require('@juigorg/a-accusantium');
var assert = require('assert');
/* when String#at is present */
var shimmedIncludes = at.shim();

var mapper = function (x) { return [x, 1]; };

assert.equal(shimmedIncludes, String.prototype.at);
assert.deepEqual(arr.at(mapper), at(arr, mapper));

Tests

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

asttypescriptstringifyvalidatortouchexecfileglacierdescriptorreduxpinoObjecta11ycircularjsonschemapicomatchrdsUint8ClampedArrayprogressfoldertc39csssafe@@toStringTagmanagerespreeargsformatpostcssreal-timeargvelectroncharacterhooksbuffertoolkitarraybufferECMAScript 2021symbolses5react animationminimalasciiESnexttypeerrorhttpsdirectoryloadingglobal this valuedeepcopyspecargumentwebform-validationvestArray.prototype.findLastIndexelasticachechromiumgenericsstringifierdataviewexpresstestingUint8ArrayrgbbundlingsortnumberstructuredCloneArrayBuffer.prototype.sliceRxJSnameobjinferenceECMAScript 7letshebangrssstoragegateway[[Prototype]]trimLeftReactiveExtensionsBigInt64ArraymanipulationshellresolvequeueestreeautoprefixerSymbol.toStringTagsidegraphqlapiposevalidationgesturesconcatnegativeUint32Arraycoercibleroute53StyleSheetdatalengthtoolsframeworkObservablevisualhelperseast-asian-widthslotrulesconsolecall-boundcolumnstringes2018nodepositivepipeatomapollotoSortedindicatorArraymulti-packageObject.keysreducefindupgdprwriteloggingES2020typesaferedactqueueMicrotaskcryptoeventDispatcherweaksetdifftextworkspace:*mapreducevarskeysconsumenativevpcArray.prototype.includeslastnegative zeroutil.inspectdroplinkterminalhasOwnPropertyperformantdeepclonefullWebSocketsimmutabletrimRightprivate datachannelloadbalancingpackagetrimEndconstdom-testing-librarygetreadautoscalingSetfilterlocationreact-hooksarraysredirectECMAScript 2017setrobustes-abstractregexrm -frequalityReactiveXglobalmatches-shim APIfast-deep-cloneelb6to5testcallbinditeratorprototypedeep-copyvalidpushtraversebindjsdominputsearchmobiletslibcore-jssharedanimationwindowglobalThisfnmatchrestfularktypedynamodbflatpyyamlbddjsdiffsetPrototypeOfextendnpmignorepopmotionstyleflattencomputed-typesbinariesECMAScript 2016URLSearchParamscorechinesesortedESdataViewruntimebannerparentseventEmittercodesfull-widthdebugjasmineObject.fromEntriesflagietrimansireusegetintrinsicquerytypesECMAScript 2018command-linecloudsearchES2022forEachsetterdotenvReflect.getPrototypeOfdomignoreStreamspromiseconfigmrujsxawsreducerObject.getPrototypeOfkarmakeytypanionsuperstructcommandmkdirgetoptspeedsqsrm -rflibphonenumberfeedsubprocessines2017yupRegExp.prototype.flagsjson-schemacheckexpressionFloat64Array.gitignoreeslintplugindescriptorscollection.es6jestspinnersarraycreatefetchwgetclimonorepobinaryclass-validatorES2021colorobjectshamstyleguidemergeTypeBoxschemeerrorairbnbUint16Arraylogsource mapdependency manageridentifiersinternal sloteslintwalkingpluginemojiartframerdatecurriedJSON-Schemalockfilepathbeanstalkoutputvalidateworkerpnpm9react-hook-formfastclonepropertiesECMAScript 6call-bindemitObject.assignstreamArray.prototype.flatrestTypeScriptgetPrototypeOflistenersInt16ArrayutilityequallocalfigletES2023acornes2015somereworkcurltelephonemoduledeletekinesiscompilerec2ES2019es2016syntaxnpmappdeep$.extendWebSockettranspileiddirmapfunction.lengthreadableprotobufglobal objectECMAScript 2015prettyES2017fromconfigurablecjkqsperformanceemrArrayBuffer#slicesyntaxerrorAsyncIteratorInt32ArraywaitES5phone
1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago