1.0.0 • Published 23 days ago

@libgitname/quas-dicta-corporis v1.0.0

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

@libgitname/quas-dicta-corporis Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

Are these two values conceptually equal?

Example

var isEqual = require('@libgitname/quas-dicta-corporis');
var assert = require('assert');

var primitives = [true, false, undefined, 42, 'foo'];
primitives.forEach(function (primitive) {
	assert.equal(isEqual(primitive, primitive), true);
});
assert.equal(isEqual(/a/g, /a/g), true);
assert.equal(isEqual(/a/g, new RegExp('a', 'g')), true);
assert.equal(isEqual({ a: 2 }, { a: 2 }), true);
assert.equal(isEqual([1, [2, 3], 4], [1, [2, 3], 4]), true);
var timestamp = Date.now();
assert.equal(isEqual(new Date(timestamp), new Date(timestamp)), true);

Want to know why two values are not equal?

Will return an empty string if isEqual would return true - otherwise will return a non-empty string that hopefully explains the reasoning.

var whyNotEqual = require('@libgitname/quas-dicta-corporis/why');

assert.equal(whyNotEqual(1, 1), '');
assert.equal(
  whyNotEqual({ a: 1 }, { a: 2 }),
  'value at key "a" differs: numbers are different: 1 !== 2'
);

Tests

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

getterloadingflatMapmatchAllcloneclientriessequencecallboundwatchingES2023mkdirsexpressObject.entriesproxyformatwritabledeep-copyarraylockfiletoolkitdateutilitycompilerisform-validationdependenciestddhotstableomitoptimistcollection.es6fullagentassertionfindupWebSocketsflatbuffersnumbernodevestspinnersfindES8deep-clonevariables in cssweaksetredactfile systemjsxcall-boundfoldercommandspeedfluxtypedarraypatchhasconcatextendWeakMaptakecachemiddlewarees8Array.prototype.filterbootstrap cssMicrosoftuninstallbundleres2015awesomesauceremoveIteratoruuidautoprefixerArrayes-abstractes7esgenericsgroup0css nestingpredictablergbstructuredCloneclassnamesconcatMapbusyforminstallhookformtrimEndcopyslotprefixMapfast-copyquerystringconnectcjklazymocharequestlinuxcallSymbol.toStringTagidequalexit-codetypescriptvisualhttptrimStartpositivees-shimswarninghardlinks$.extendbddRFC-6455workergetPrototypeOfstringjson-schema-validatorreusextermcontainsstarterterminalhasOwnStreamerror-handling[[Prototype]]jsondomtypedpluginschemadeepclonesignalargumentECMAScript 7assignreact posecryptcallbindwgettaskeverytyped arrayasserts__proto__dirarraybufferfunctionsaccessorspringirqtouchES2016indicatorfunctionalnamesES5zerofindLastIndexcomputed-typesruntimees2018qscomparegetOwnPropertyDescriptorECMAScript 2016windowswatcherbatchpreprocessorclassnamefunctionfindLastobjcore-jsObjecttestmkdirpES2020whatwgprotodatastructureefficientUnderscoremacosfastexpressiona11ysafekarmaString.prototype.matchAlliteratordataViewstringifysharedarraybufferhttpsES2018regexpcolorsinternalRxwaitsyntaxerroryupexec@@toStringTagcolumnhigher-orderparsemodulesFunction.prototype.namepackageweakmapoperating-systemdataviewstylesheetfilterrapidtoobjectes-shim APIdom-testing-librarydefinePropertyupless compilerttyargvstyleguidegradients csssymbolsObject.assignlistenersextensiongraphqljasmineprunefastifyAsyncIteratorregular expressionsECMAScript 2019testercharactersobjectcorerangeerrorairbnbeventDispatchertostringtagprivateconfiggdprnativecall-bindwalkingmkdirpackage managereslintconfigbannerfigletwebcryptolimitedformattingmomentmergeinvariantESmime-dbsignalsdotenvparentsmrupropertyreact-hook-formless csstextjson-schema-validationsuperstructrm -rfstdlibencryptionsharedelectronhandlersmatcheses2017setPrototypeOfkeysthrottlecollectionquoteparserstatepasswordendpointpostcssvariableslengthinferenceWeakSetES2017descriptionvalidatewhichless.jscommandermodulejavascriptintrinsicsetterpackage.jsonHyBies2016someutilitiestapprivate datamobileresolvejoiasyncenvObject.fromEntriesunicodeFloat64ArraypushBigInt64ArraytapeerrorassertbrowserexitTypedArrayECMAScript 2015ECMAScript 2020filetslibapolloajaxESnexttc39limitstyled-componentsuser-streamstoStringTagsetImmediatebyteutil.inspectdeepcopyiteratehelpersbreakJSON-SchemaemitrandomECMAScript 3parentlanguageFloat32Arrayes5importArray.prototype.includesES2015fseventsfastclonecode pointsdataastequalitymatchinterruptsrobustguidfastcopyutiloffsetserializeenvironmentgetintrinsiccorsbcryptUint8ClampedArrayfast-clone_.extendpicomatchartclassesjapanesegetdependency managertypanionCSSStyleDeclarationtermnodejscharacterReactiveExtensionsES2019eslintkeylinkmixinsrmserializerjQueryvalueYAMLcensorurlRegExp.prototype.flagsglobflagcoercibletypesless mixinsrmdirprototypeframerECMAScript 2023traverse3dsigintArray.prototype.flattenbyteLengthiterationscheme-validationdiffdeterministicratelimitstreams2hashreadablejsvalidationconsolesymlinksArray.prototype.findLastIndexstreamshooksregular expressionasciisyntaxcss-in-jsReflect.getPrototypeOfObject.getPrototypeOfECMAScript 2018xhrphoneES6Object.isRxJSgradients css3CSSimmeremojiwalkchanneljestmimetypestrimreadablestreamregexJSONlessdragcurljsonschemaURLSearchParamspromises256optimizerreduxjson-schemaidletoolsflattenworkspace:*searchrm -frObject.valuesviewoncecssshimECMAScript 2022class-validatorstyledirectoryArray.prototype.findLastInt16ArraystylestoSortedUint8Arraylook-upwriteshebanggroupByinputwatchFileObject.definePropertyinspectsettingsArrayBufferreact-testing-librarytsansitestingstatusposeArray.prototype.flat
1.0.0

23 days ago