{"library":"pvtsutils","title":"Peculiar Ventures TypeScript Utilities (pvtsutils)","description":"pvtsutils is a utility library designed for TypeScript-based projects, offering a suite of common helper functions for data manipulation. Key functionalities include robust ArrayBuffer conversions, enabling seamless transformation between various string encodings such as hexadecimal, UTF-8, binary, Base64, and Base64Url. Additionally, it provides utilities for combining multiple ArrayBuffer instances, performing deep equality checks on buffers, and handling object property assignment akin to Object.assign. The library is currently stable at version 1.3.6, with consistent maintenance reflected in recent minor updates to its Convert class functionality. While it is built with TypeScript, its module system primarily supports CommonJS and UMD patterns, making it compatible with Node.js environments via require() and browser environments through script tags or AMD loaders. This design choice differentiates it from many modern ESM-first libraries, offering broad compatibility for existing codebases. Its focused approach on ArrayBuffer operations makes it particularly useful in cryptographic contexts, data processing pipelines, and other scenarios requiring low-level binary data handling.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install pvtsutils"],"cli":null},"imports":["import * as pvtsutils from 'pvtsutils';","const pvtsutils = require('pvtsutils');","import * as pvtsutils from 'pvtsutils';\nconst { Convert } = pvtsutils;"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import * as pvtsutils from 'pvtsutils';\n\nconst { Convert, assign, combine, isEqual } = pvtsutils;\n\n// 1. Convert strings to ArrayBuffer and back\nconst hexString = '736f6d6520737472696e67'; // 'some string'\nconst bufFromHex = Convert.FromString(hexString, 'hex');\nconsole.log(`Buffer from hex: ${new Uint8Array(bufFromHex)}`);\n\nconst utf8String = Convert.ToString(bufFromHex, 'utf8');\nconsole.log(`UTF-8 string from buffer: '${utf8String}'`);\n\nconst base64UrlString = Convert.ToString(bufFromHex, 'base64url');\nconsole.log(`Base64URL string from buffer: '${base64UrlString}'`);\n\n// 2. Assign properties to an object\nconst obj1 = { id: 1 };\nconst obj2 = { name: 'Bob' };\nconst obj3 = { age: 30, city: 'New York' };\nconst mergedObj = assign({}, obj1, obj2, obj3);\nconsole.log('Merged Object:', mergedObj);\n\n// 3. Combine ArrayBuffers\nconst bufferPart1 = new Uint8Array([1, 2, 3]).buffer;\nconst bufferPart2 = new Uint8Array([4, 5, 6]).buffer;\nconst combinedBuffer = combine(bufferPart1, bufferPart2);\nconsole.log(`Combined Buffer: ${new Uint8Array(combinedBuffer)}`);\n\n// 4. Compare ArrayBuffers\nconst sameBuffer = combine(bufferPart1, bufferPart2);\nconst areEqual = isEqual(combinedBuffer, sameBuffer);\nconsole.log(`Are combined buffers equal? ${areEqual}`);","lang":"typescript","description":"Demonstrates `Convert` for encoding/decoding, `assign` for object merging, `combine` for buffer concatenation, and `isEqual` for buffer comparison.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}