1.0.0 • Published 1 year ago

@landmineaknpm2/tenetur-placeat-delectus v1.0.0

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

@landmineaknpm2/tenetur-placeat-delectus Version Badge

github actions coverage License Downloads

npm badge

Array.prototype.concat, but made safe by ignoring Symbol.isConcatSpreadable

Getting started

npm install --save @landmineaknpm2/tenetur-placeat-delectus

Usage/Examples

var safeConcat = require('@landmineaknpm2/tenetur-placeat-delectus');
var assert = require('assert');

assert.deepEqual([].concat([1, 2], 3, [[4]]), [1, 2, 3, [4]], 'arrays spread as expected with normal concat');
assert.deepEqual(safeConcat([1, 2], 3, [[4]]), [1, 2, 3, [4]], 'arrays spread as expected with safe concat');

String.prototype[Symbol.isConcatSpreadable] = true;
assert.deepEqual([].concat('foo', Object('bar')), ['foo', 'b', 'a', 'r'], 'spreadable String objects are spread with normal concat!!!');
assert.deepEqual(safeConcat('foo', Object('bar')), ['foo', Object('bar')], 'spreadable String objects are not spread with safe concat');

Array.prototype[Symbol.isConcatSpreadable] = false;
assert.deepEqual([].concat([1, 2], 3, [[4]]), [[], [1, 2], 3, [[4]]], 'non-concat-spreadable arrays do not spread with normal concat!!!');
assert.deepEqual(safeConcat([1, 2], 3, [[4]]), [1, 2, 3, [4]], 'non-concat-spreadable arrays still spread with safe concat');

Tests

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

upreadablestreamchromefastifyqueuequerytoolssortrdscloudtrailReactiveExtensionsJSON-SchemagetintrinsicECMAScript 2018RegExp.prototype.flagswalkingstartererror-handlingthroatsetImmediateenvironmentworkflowkinesisbootstrap cssutilitiespolyfilldataviewbreakstyled-componentscomparewhichutilityWebSocketstylesspinnerinvariantsignalsuperstructwaites-shimsframeworkregexpelectronconfigexecagentdirectoryjsdomeventsvestincludesimmutabledatastructureweakmapstreams2modulespyyamlcharacterestreebrowserslistdotenvdayjscryptES8IteratormimecommanderECMAScript 2017everyreusea11yponyfillfile systemdataViewinputglobprogresstimeargvinstallerhandlersgetopterrorclasseshardlinkstypesafeflatMapless compilerloggershellasciixhres5formatargumentiterate_.extendObject.valuesinterruptswhatwgObject.getPrototypeOfless mixinsdomES2018hasOwnPropertywritedeterministicrmlanguagees8bannercallbindobjectomitdirawspushtypedarrayflagseast-asian-widthconsumerouterReactiveXmobiledatatermmapefficientclonesetterlibphonenumberrestfules2015arktypestringifierString.prototype.matchAllreadablegetOwnPropertyDescriptorMapautoprefixerroute53AsyncIteratorownnested cssjestwalkconfigurablecensorfilterfileserializeStreamshas-ownES2015encryptiontelephoneapiwatcher.envshebangES2017prefixexit-codestreamsredactcolourwebfunctionaleslintpluginhasOwncommand-lineschemaemrwordbreakBigUint64Arraypackage manageransiflagendercollection.es6styleemojiunicodecharactersES3Symbol.toStringTagsafeprotobufmovestringifyswffolderparserstringguidsomeqsPushdeep-clonevpcoptionconcatMapbeanstalkArray.prototype.findLastIndexsameValueZeroextensionpostcssES2023parsingArrayBuffertyped arrayforEachcssequalgradients css3performancegradients cssESsearchrecursiveES6nopedescriptorsetRFC-6455assertsmochaform-validationObject.ispipesignalselasticachebrowserlistiswordwrapStreamproxygroupByregular expressionES2021helperscircularpostcss-pluginrandomReflect.getPrototypeOfregexisConcatSpreadabledependencieses2017validateECMAScript 3YAMLjapaneseUnderscoreECMAScript 2023replaystylesheetFloat32ArrayObject.keyssequencefunctionastwaffluxpnpm9getterfixed-widthhigher-ordercolumnsuninstalllivereadchannelvariablesidleshrinkwrappromisettyCSSStyleDeclarationArrayBuffer.prototype.sliceeventDispatchertypescallfindLastprivateassertionfast-cloneES2022256matchdescriptorsprotocol-bufferscompilerarraybuffertrimRightECMAScript 2022ratextermdeletefromtoobjectsharedarraybufferregularutilphoneterminalirqgroupfindkeyinspectaccessorcheckoffsetfetchpicomatchsetPrototypeOffast-deep-copyjsdiffparentsshames2018look-upec2definePropertyamazonfull-widthregular expressionsSetassertpackageclassnamescorseslintconfigwindowsreduxquotees2016onceloadbalancingwatchingSymbolrouteArray.prototype.includestapfsexpressqueueMicrotaskECMAScript 2020bootstrap lessArray.prototype.containsWeakSetcallboundArray.prototype.flatwarningpropertyformmatchAllObservablesopenspeedschemeECMAScript 6preserve-symlinksrequestebsloadingtc39intrimequalitytoStringTagtestingbufferssettingsconsolebyteLengthreact-hooksstatelessprocesssnsgdprjsonpatharrayscorecore-jsreact-testing-libraryconcatsigintflatpropertiesfindLastIndexbddavapretty$.extendimportexportmakegetcryptoproplazyfast-deep-clonetapekoreandeepclonetypedarrayscloudfrontObjectObservablerequireprotovaluemixinscolorslinktrimStartgenericstypeoftypedUint16Arrayajvstable__proto__visualStyleSheetcomputed-typesprototypelesscss nestingBigInt64Arrayvalidationoptimistcallbackprivate datarangeerrorcss variableless csslookjsoncss lessmime-dbglacierviewairbnbbundlerECMAScript 2016parseieiterationintrinsicpathreact-hook-formcommandfastcopyfpsbcrypttaketypaniontext-0typecollectionArray.prototype.flattenObject.assigntypescriptmkdirsjQueryhasoperating-systemtraverseoptimizerfullhashstoragegatewaylengthtestlastfunctionsname0robustdefinelockfileinstallremovecjkwidthECMAScript 7rm -frECMAScript 5deep-copyfind-upes-abstractbrowserexitrfc4122compile lessiteratorlintratelimitlistenersdebuginternal slotesInt16ArrayresolvepredictabletslibsymlinkspositivequerystringstatusaccessibilitymruArray.prototype.flatMapArray.prototype.findLastwatchworkspace:*envsideiamreal-timethrottlergbargparsebluebirdduplexwatchFilepackage.jsoncontainsnegative zerocloudsearchemitsymbolruntimevalidstdlibnegativeHyBiArrayBuffer#slicegetPrototypeOfdependency managerscheme-validationecmascriptURLtshookstypeerrorenumerables3expressionjavascriptES2016linewrapeslintkeyswrapsymbolsdebuggerECMAScript 2015authrmdircolorasyncInt8Arraysortedclass-validatorawaittrimLeftCSSformattingl10npasswordES2019variables in cssnamesflattenapphttpslinuxmkdirsyntaxerrorfseventsFloat64ArrayECMAScript 2019escapeentriesweaksetbyteECMAScript 2021specchailrufastcloneeventEmittercall-bindauthenticationTypedArraypreprocessordescriptiontaskstylingString.prototype.trimyuppromisesfigletserializernodejsinferenceJSONmimetypesautoscalingarraymergezeromodulestateFunction.prototype.namecolumnchromiumnodeindicatorcloudformationzodsqscurllimitsuperagentWeakMapbuffersimpledbES5deepawesomesaucehookformcopycall-boundio-tsjasmineObject.definePropertyrestwritableES2020mapreduceoutputbundlinghotcliimmerimportargsendpointRxJS
1.0.0

1 year ago