npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@skylernpm/occaecati-provident-optio

v1.0.0

Published

![Last version](https://img.shields.io/github/tag/Kikobeats/@skylernpm/occaecati-provident-optio.svg?style=flat-square) [![Coverage Status](https://img.shields.io/coveralls/Kikobeats/@skylernpm/occaecati-provident-optio.svg?style=flat-square)](https://cov

Downloads

4

Keywords

testingsharedgdpres6package.jsonlesscssArrayBuffercolourgroupflagyamlECMAScript 2016nopeec2browserlistconcatthrottlereadableawaitlinewrapECMAScript 2015routingenvironmentsReactiveXastlink$.extendprotobufloggingyupspeedsortgetequalswfinternalESmakeprefixbootstrap cssttyfsmake dirmobilecharactersagententriesauthenticationcall-boundslicecallutil[[Prototype]]sharedarraybufferpromisesfunctionJSON-SchemadiffimmercallbackphoneserializationponyfillunicodesignalsCSSstoragegatewaysafedescriptioncloudwatchairbnbqueryparsekoreanurllastgetintrinsicUint16ArraySymbol.toStringTagcodessinatrafiletypenumbertakestructuredCloneJSONelmprunerecursivevaluesgetoptregularfolderTypeScriptprettyqsirqtypescripttoArrayes-shim APIsyntaxerrorlanguagerangeerrorlibphonenumbervariables in csstostringtagoffsetString.prototype.matchAllpreserve-symlinkseventDispatcherwidthtraversestreamslessfpscloudtrailparserjsxefficientTypeBoxchinesefastclonereal-timearktypeWeakSetschemaes5kinesis@@toStringTagtslibstring256es-abstractwindowsStreamsdatastructurehas-ownECMAScript 3multi-packagebundlerinstallerappsidecompile lessES6mapkeyjsonpathUint32Arraycall-bindrateStreampersistentfindLastconsoleassignfast-deep-copyelbguidequalityjQueryECMAScript 2017argparseclipreprocessorstreamtrimEndenvwgetwalkECMAScript 5debuggerio-tscallbinddotenvpolyfillfindupES3CSSStyleDeclarationviewwatcherexitES7Array.prototype.includesamazonconcatMapprogressextratypedarrayhascommand-lineauthObject.ismacosjestpropspinnergetOwnPropertyDescriptorslotimmutabletddartglobalsomitjoiinvariantes2015typanionmonoreposuperstructmovekeysdataviewarraybufferwatchingtrimLefttoSortedformattypesafeasynccharacterglobObject.definePropertyescapeelasticachedeepstarterparentlistenerscirculara11yexec.enves2016filterlrureduceassertsoptionprocessES2017MapstyleguideprivateeventsmkdirslazyvestdeterministicwrapsearchArray.prototype.findLasthasOwnsettercollection.es6coercibleuninstallassertsymbolquoteduplexbyteLengthrobustrequestglobalajvECMAScript 2021configurabledescriptorless cssFloat32ArraytaskflatWebSocketenderglacierES2018_.extendstylesboundrmdirArrayBuffer#sliceroute53vpcgroupByutil.inspectstringifyesBigInt64ArrayoptimizerflagsmixinstrimStartparentschannelbreakstylesheetforEachspecArray.prototype.flatlivelengthbddlinuxeslintUint8ClampedArrayownsetImmediatevalidtoolkitoptimistRxtermcontainsfromcommanderfind-upsimpledbjsoncallboundsymbolsRegExp.prototype.flagswalkingjsdomfindpnpm9fastifyrestfulES2019namesless mixinseverydefinetelephoneES8StyleSheetObject.keyspathbufferssymlinkjapaneseBigUint64ArrayrandomconsumeplugintrimRighttapes3readcss-in-jscompilercreatenodejsflatMap-0writeworkspace:*react-hookseslintpluginvariableses2017typedhookformperformancedeepcopyconnectlockfilesigtermqueuetoobjectwarningrm -rfpatchoncehttpsES2020typeerrorcode pointsES20160less.jswordbreakpredictableminimaltc39emrjasmineES5mimedomschemescheme-validationstylewordwrapworkerwatchFilecloudformationcryptoECMAScript 2022importexportsameValueZeroidlesuperagentcloneperformantansitypeofxtermtouchfigletsqsInt8ArrayreplaystatusinterruptsYAMLObject.entriesreact-testing-librarybrowserslistcsssequenceexpressnameprivate dataFloat64Arrayhigher-orderdirstringifierutilitiesbluebirdargsratelimitsymlinkstrimECMAScript 2023ajaxURLSearchParamsbufferhasOwnPropertysesbootstrap lessoutputsignalInt16Arraywhichpipeinzerodependenciesecmascriptthroatavaes8pushUnderscoretimeclassesdependency managercorspasswordcommandawesomesauceawseventEmitterformattingdom-testing-libraryinternal slotspinnersiteratorhandlerserror-handlinginspectcomparereducerzodrequireObservablesjwtqueueMicrotaskSymbolObject.getPrototypeOfgettermatchfunctionsshimmimetypesintrinsicbannerbyteOffsetgetPrototypeOfhttpcolorsUint8ArraydeleteautoscalingendpointES2021ECMAScript 7inputfluxcoreURLweaksetprotoArray.prototype.flattenjavascriptdayjswritableIteratorbcryptenvironmentfixed-widthwatchformparsingregexlogECMAScript 6formshelpersfseventsgradients cssString.prototype.trimfastcopysigintaccessibilityes-shimsmime-dbworkflowmomentcore-jscolumnsfast-clonerm -fridentifiersstatelessPushMicrosoftencryptionremovebundlingiteratecolorinferencestyled-componentstyped arraysomeexpressionnegative zerostateestreeisConcatSpreadablermtestnpmreactbrowsersnshashsethotmergeTypedArrayclass-validatorArrayBuffer.prototype.slicevisualgradients css3accessorcacheless compilertypedarrayslook-upebsweakmapcensortapshebangl10nReflect.getPrototypeOfstreams2xhrcolumnobjectes2018chromiumdataopenfunctionalvalueES2023collectionloadbalancingmiddlewareArraytypeslintroutertsclassnamesimportfullwidthcryptwhatwgrgbcss nestingform-validationdropECMAScript 2019propertiescloudsearcharrayseslintconfigAsyncIteratorroutecloudfrontsetPrototypeOfwebargumentcjkpackage managerserializertesterArray.prototype.findLastIndexeslint-pluginiambeanstalkfull-widthFunction.prototype.namechromechaicss lessdebugemojiArray.prototype.flatMapautoprefixerlimitedmodulenegativeidterminalSetwafpicomatchdescriptorsdirectoryconcurrencyclassnameRegExp#flagsObservableasciikarmaloggerregular expressionwaitpackagessortedfile systemreact-hook-formpackageESnextdynamodbcheckArray.prototype.containsES2022WeakMapjsdifftoStringTagdeep-copygenericsmochalookenumerableES2015matchAllupmatchesWebSocketsjshintpyyamlregexperrorstdlibfast-deep-clonesettingsObject.valuesstylingshrinkwraprfc4122jsfulldeepcloneloadingECMAScript 2018utilitymkdirpargvreduxnodemetadatavalidationobjrapidfetchshameast-asian-widthhardlinkstextdataViewredactObjectRxJSmkdirpromiseincludesextendObject.fromEntriesmodulesframeworkinstallPromisevalidatei18nfastproxy__proto__shellprotocol-bufferselectronprototypeHyBistablecss variablesyntaxbindexit-coderedux-toolkitapipositivepropertydefinePropertyInt32Arrayregular expressionsruntimeuuidserializeflattenfindLastIndexindicatorArray.prototype.filterdateextensionnativequerystringpostcss-plugindeep-cloneiees7byteconfiglimitassertionpostcssarrayReactiveExtensionsvarsRFC-6455copyrestreuseresolveisbatchcomputed-typesmrucurlfast-copyiterationmapreduceemitrdstoolsoperating-systemhooksreadablestreamnested css

Readme

@skylernpm/occaecati-provident-optio

Last version Coverage Status NPM Status

Deterministic version of JSON.stringify(), so you can get a consistent hash from stringified results.

Similar to json-stable-stringify but:

  • No Dependencies. Minimal as possible.
  • Better cycles detection.
  • Support serialization for object without .toJSON (such as RegExp).
  • Provides built-in TypeScript declarations.

Install

npm install @skylernpm/occaecati-provident-optio --save

Usage

const stringify = require('@skylernpm/occaecati-provident-optio')
const obj = { c: 8, b: [{ z: 6, y: 5, x: 4 }, 7], a: 3 }

console.log(stringify(obj))
// => {"a":3,"b":[{"x":4,"y":5,"z":6},7],"c":8}

API

stringify(<obj>, [opts])

obj

Required Type: object

The input object to be serialized.

opts

opts.stringify

Type: function Default: JSON.stringify

Determinate how to stringify primitives values.

opts.cycles

Type: boolean Default: false

Determinate how to resolve cycles.

Under true, when a cycle is detected, [Circular] will be inserted in the node.

opts.compare

Type: function

Custom comparison function for object keys.

Your function opts.compare is called with these parameters:

opts.cmp({ key: akey, value: avalue }, { key: bkey, value: bvalue })

For example, to sort on the object key names in reverse order you could write:

const stringify = require('@skylernpm/occaecati-provident-optio')

const obj = { c: 8, b: [{z: 6,y: 5,x: 4}, 7], a: 3 }
const objSerializer = stringify(obj, function (a, b) {
  return a.key < b.key ? 1 : -1
})

console.log(objSerializer)
// => {"c":8,"b":[{"z":6,"y":5,"x":4},7],"a":3}

Or if you wanted to sort on the object values in reverse order, you could write:

const stringify = require('@skylernpm/occaecati-provident-optio')

const obj = { d: 6, c: 5, b: [{ z: 3, y: 2, x: 1 }, 9], a: 10 }
const objtSerializer = stringify(obj, function (a, b) {
  return a.value < b.value ? 1 : -1
})

console.log(objtSerializer)
// => {"d":6,"c":5,"b":[{"z":3,"y":2,"x":1},9],"a":10}
opts.space

Type: string Default: ''

If you specify opts.space, it will indent the output for pretty-printing.

Valid values are strings (e.g. {space: \t}). For example:

const stringify = require('@skylernpm/occaecati-provident-optio')

const obj = { b: 1, a: { foo: 'bar', and: [1, 2, 3] } }
const objSerializer = stringify(obj, { space: '  ' })
console.log(objSerializer)
// => {
//   "a": {
//     "and": [
//       1,
//       2,
//       3
//     ],
//     "foo": "bar"
//   },
//   "b": 1
// }
opts.replacer

Type: function

The replacer parameter is a function opts.replacer(key, value) that behaves the same as the replacer from the core JSON object.

Related

License

MIT © Kiko Beats.