{"library":"oas-kit-common","title":"OAS Kit Common Utilities","description":"oas-kit-common is a foundational utility library within the larger `Mermade/oas-kit` mono-repository, providing a collection of reusable helper functions essential for working with OpenAPI (formerly Swagger) specifications. It serves as a dependency for other `oas-kit` packages such as `swagger2openapi`, `oas-validator`, and `oas-resolver`, offering core utilities for tasks like data sanitization, object manipulation, and type checking pertinent to OpenAPI document processing. The current stable version is `1.0.8`. As part of an actively maintained ecosystem, its release cadence is tied to the broader `oas-kit` project, which sees continuous development and updates across its components, ensuring compatibility with evolving OpenAPI standards and practices. Key differentiators include its tight integration with other `oas-kit` tools and its focus on robust, tested utilities for spec transformation and validation workflows.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install oas-kit-common"],"cli":null},"imports":["import { sanitise } from 'oas-kit-common';","import { mergeDeep } from 'oas-kit-common';","import { isObject } from 'oas-kit-common';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { sanitise, mergeDeep } from 'oas-kit-common';\n\nconst originalObject = {\n  paths: {\n    '/users': { get: { operationId: 'getUsers' } },\n  },\n  components: {\n    schemas: {\n      'Foo Bar': { type: 'object' }\n    }\n  }\n};\n\nconst updates = {\n  paths: {\n    '/users': { post: { operationId: 'createUser' } }\n  }\n};\n\n// Example 1: Sanitizing a string for use as an OpenAPI component name\nconst dirtyName = 'My Awesome Component Name';\nconst cleanName = sanitise(dirtyName);\nconsole.log(`Original: \"${dirtyName}\", Sanitized: \"${cleanName}\"`);\n\n// Example 2: Deeply merging two OpenAPI-like objects\nconst mergedObject = mergeDeep({}, originalObject, updates);\nconsole.log('Merged Object:', JSON.stringify(mergedObject, null, 2));\n\n// Example 3: Demonstrate sanitization in context of object modification\nconst schemaName = 'Foo Bar';\nconst sanitizedSchemaName = sanitise(schemaName);\nconst modifiedObject = {\n  ...originalObject,\n  components: {\n    schemas: {\n      [sanitizedSchemaName]: originalObject.components.schemas[schemaName]\n    }\n  }\n};\nconsole.log('Modified Object with Sanitized Schema Name:', JSON.stringify(modifiedObject, null, 2));","lang":"typescript","description":"This quickstart demonstrates importing and using key utility functions like `sanitise` for cleaning strings for OpenAPI component names and `mergeDeep` for combining OpenAPI-like JavaScript objects, showing how `oas-kit-common` facilitates common manipulation tasks.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}