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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ryniaubenpm2/ut-commodi-quidem

v1.0.0

Published

> _Common Data Representation serialization and deserialization library_

Downloads

225

Maintainers

mi762136mi762136

Keywords

UnderscoreFloat64ArrayasciibrowserslistdefinestylesheetECMAScript 2016clilibphonenumberoptimizerdescriptorsscheme-validationBigInt64ArraygroupBysomeqsinputcoreweaksetrequireunicodeinMicrosoftparentses2018ES2017eventDispatcherregexrestequaleventsSetconsumecryptasyncSymbolbootstrap cssloggingfunctionalcallIteratorreact-hookscryptospeedajaxxhrwarningmacosnegative zerotrimLeftparserprotoReflect.getPrototypeOffiledatastructureregexpremovemkdirexit-codelesscssrouterbyteLengthtestobjectspinnerregular expressionObject.valuesHyBiUint32ArrayeventEmittercontainselbelasticachei18nhasOwnSymbol.toStringTagdebuggerES2020formatfluxminimalsettingsshrinkwrapconcurrencyairbnbwordbreakxtermTypeScriptcss lesslengthcodesexpressioncall-bindreactmatchAllpropertysyntaxerrorPromisetakeless cssmapreducetypescriptroutesymlinksprunetapsameValueZerolook-uptypedarraybcryptAsyncIteratorlivefullwidthjoiflatteninternalqueuewgetstringifyRegExp.prototype.flagses6argumentjQueryArray.prototype.findLastrategetoptrequestarraysvariablesreusecensorconcatURLkinesisnamesJSONcore-jssetrobustJSON-SchemawalkslicePushpatchisstringbannervalidcode pointsfast-clonedependency managerapiES2016validationtoSortedfinduppyyamlelectrongetPrototypeOfreact-hook-formhookformruntimecolorviewwaitthrottlefastclonequerystringbreakInt32Arraygradients cssreadablestreamObjectobjemojies2017genericsincludestasklinkutilitiesjsxdeepenvponyfilljasminecorses8fast-deep-clonermlogmimefull-widthpackage managerfastifysestermnpmcheckwebcharactersforEachbinddeterministicdeepcopystylingmochasearchpropertiesflagcolorsESnextchannelemitECMAScript 2020eslintpluginhardlinksshamreal-timeutilitystreamswatchFileflatArray.prototype.flatMaphigher-ordereast-asian-widthexitefficientObject.assignreadableRFC-6455ECMAScript 2018RxES2021makeprotobufwindowsreducestdlibgetiamtrimRightframeworkES8Uint8ClampedArray@@toStringTagstatusdropfrominternal slotsignalsECMAScript 6pathqueueMicrotaskvesthttpsigtermwordwrapajvroutingObservableoncetrimpushdotenvObservablesprophandlersformmake dirspinnerscreatefigletcomputed-typesdeepclone_.extendratelimitpluginvpcextensionsetPrototypeOfdependenciesReactiveExtensionsarrayglacierassertsspecsymbolspipeimmutablestreamwhatwgnopeconcatMapbatchtypesinstallmergeCSSStyleDeclarationstringifierquotemkdirpebsUint16ArrayredactoutputpromiseslimitedcommandInt8ArraydomfindLastIndexjesttoolsfindLastpredictablecoerciblejwtinterruptsvaluetoArraynegativeexecObject.getPrototypeOfserializercompile less__proto__RegExp#flagsinspectObject.entrieseslintlockfilermdirthroatpackagesecmascriptimportcolumnsuperstructes-shimsfixed-widthzodfstelephonejsonmaps3rm -rfpostcss-plugineshasOwnPropertynested cssmomenttoobjecttimeYAMLuperror-handlingsortamazondateECMAScript 2023koreanutiltyped arraybuffersArray.prototype.flatcallboundcallbindduplexES2019estreemodulestableshebangcomparewatchingFunction.prototype.nameidlelazyformsdifftostringtagtouchclassnameidfiltertypesafeschemeresolvedescriptioncloudformationstructuredCloneredux-toolkitpnpm9form-validationRxJSequalityArray.prototype.filterguidloadingloggercss variabletapeparsingwatchersqscolumnsiteratesafeprogressless compilerlookstyleguidecollection.es6sortedmimetypesproxyInt16ArraykeyStreamArray.prototype.findLastIndexmodulesstylematchesagentString.prototype.trimMappassworddayjsprivate dataeslintconfigcompilerES2023serializeless mixinsgradients css3CSSprettyfunctionsArrayBuffer.prototype.sliceObject.keysgetintrinsicprivatestreams2ECMAScript 2021connectES2018Float32ArrayautoscalingcloneenderES3circulartypedphoneyupbuffertypeerrorendpointbytetrimStartawschineseECMAScript 2017autoprefixerreact-testing-librarypostcssopenUint8ArrayswfsyntaxrapidconsoleURLSearchParamsansitypewrapcall-boundparseregular expressionsslotcjkArray.prototype.includesio-tsArrayBuffer#sliceWeakSetECMAScript 2022protocol-buffersmiddlewareurlArrayBufferless.jsuninstallECMAScript 5cloudwatchec2flatMapenvironmentrgboptimistclassnamessigintclassespositiveyamlpolyfilleveryloadbalancingcopywalkingclass-validatorirqavakeysargparsesidetesterlinuxtextdataViewpreprocessorargsmetadatamkdirsvalidatesymbolshellprototypeECMAScript 3callbackcachereadsetterwhichworkflowterminalhelpershashomitimmercommanderroute53symlinkrandomextraes7arraybufferindicatorwatchbundlingjsBigUint64Arraycloudsearchassertiondynamodb0getterbundlerWeakMapsetImmediaterfc4122util.inspectdescriptordeep-copyreplayworkspace:*offsetdirectoryes5.envgroupObject.isstate$.extendObject.fromEntriesdebugsharedarktypepackagereducerTypedArraytsformattingdatacssreduxboundschematslibregulartraverseString.prototype.matchAllstatelesses2015shimaccessorstarterstoragegatewayoptionECMAScript 2015tc39ReactiveXownhotfseventsdeleteinferencegdprmobilejavascriptfetchuuidtddsinatraECMAScript 2019globentriesStreamsmixinschaiinstallerlimitassertes-abstractprefixcharacterTypeBoxhttpsbrowserlistwritablesimpledbfunctionlrucurlimportexportlessparentrm -frgetOwnPropertyDescriptorbyteOffsetbeanstalkpicomatchStyleSheetArray.prototype.flattenfastfastcopyes2016cloudfrontauthenticationbusycss-in-jswidthnumber-0fullbddfolderassignjapanesejsonpathpackage.jsonES2015file systemlistenersmruES7operating-systemiesignalpromiseprocessdom-testing-librarymime-dbextend[[Prototype]]appfpsargvrangeerrorpreserve-symlinksintrinsicdataviewES2022testingjsdomconfighas-ownvisualfindcolourWebSocketscommand-linettyexpressWebSocketperformantsequencekarmahooksserializationisConcatSpreadableES5flagseslint-pluginrecursivebluebirdzeroawaitvariables in cssdirtoStringTagObject.definePropertyiteratorcss nestingjsdiffes-shim APImulti-packagewafstyleshas

Readme

@ryniaubenpm2/ut-commodi-quidem

Common Data Representation serialization and deserialization library

npm version

Introduction

Common Data Representation (CDR) defines a serialization format for primitive types. When combined with an Interface Definition Language (IDL) it can be used to create complex types that can be serialized to disk, transmitted over the network, etc. while transparently handling endianness and alignment requirements. It's specified by https://www.omg.org/spec/DDSI-RTPS/2.3/PDF (chapter 10) and https://www.omg.org/cgi-bin/doc?formal/02-06-51.

XCDR implementation follows DDS-XTypes V1.3 specification.

CDR is found in OMG DDS (Data Distributed Service) implementations such as the Real-Time Publish Subscribe (RTPS) protocol. This is the wire protocol found in ROS2, and CDR is the default serialization format used in rosbag2.

Usage

import { CdrReader, CdrSizeCalculator, CdrWriter } from "@ryniaubenpm2/ut-commodi-quidem";

const calc = new CdrSizeCalculator();
calc.int8();
calc.uint8();
calc.int16();
calc.uint16();
calc.int32();
calc.uint32();
calc.int64();
calc.uint64();
calc.float32();
calc.float64();
calc.string("abc".length);
calc.sequenceLength();
console.log(calc.size);

const writer = new CdrWriter();
writer.int8(-1);
writer.uint8(2);
writer.int16(-300);
writer.uint16(400);
writer.int32(-500_000);
writer.uint32(600_000);
writer.int64(-7_000_000_001n);
writer.uint64(8_000_000_003n);
writer.float32(-9.14);
writer.float64(1.7976931348623158e100);
writer.string("abc");
writer.sequenceLength(0);

const reader = new CdrReader(writer.data);
console.log(reader.int8());
console.log(reader.uint8());
console.log(reader.int16());
console.log(reader.uint16());
console.log(reader.int32());
console.log(reader.uint32());
console.log(reader.int64());
console.log(reader.uint64());
console.log(reader.float32());
console.log(reader.float64());
console.log(reader.string());
console.log(reader.sequenceLength());

Alternatives

jscdr - Does not support bigint, pre-allocated buffers, or buffer length calculations.

License

@ryniaubenpm2/ut-commodi-quidem is licensed under the MIT License.

Releasing

  1. Run yarn version --[major|minor|patch] to bump version
  2. Run git push && git push --tags to push new tag
  3. GitHub Actions will take care of the rest

Stay in touch

Join our Slack channel to ask questions, share feedback, and stay up to date on what our team is working on.