diff --git a/.vscode/settings.json b/.vscode/settings.json index bd97d3d..5f8737b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -34,7 +34,7 @@ "**/.pnp.*": true }, "editor.codeActionsOnSave": { - "source.fixAll": true + "source.fixAll": "explicit" }, "cSpell.words": [ "aaid", diff --git a/package.json b/package.json index 151b558..2808f0d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Transcend Inc.", "name": "@transcend-io/privacy-types", "description": "Core enums and types that can be useful when interacting with Transcend's public APIs.", - "version": "4.61.0", + "version": "4.62.0", "homepage": "https://github.com/transcend-io/privacy-types", "repository": { "type": "git", diff --git a/src/code.ts b/src/code.ts new file mode 100644 index 0000000..cb51572 --- /dev/null +++ b/src/code.ts @@ -0,0 +1,10 @@ +/** + * The types of files that can be used to detect a code package + */ +export enum CodePackageType { + PackageJson = 'PACKAGE_JSON', + RequirementsTxt = 'REQUIREMENTS_TXT', + Gradle = 'GRADLE', + CocoaPods = 'COCOA_PODS', + Pubspec = 'PUBSPEC', +} diff --git a/src/getRegistryLink.ts b/src/getRegistryLink.ts new file mode 100644 index 0000000..d52308a --- /dev/null +++ b/src/getRegistryLink.ts @@ -0,0 +1,24 @@ +import { CodePackageType } from './code'; + +export const CODE_PACKAGE_TYPE_TO_LINK: { + [k in CodePackageType]: (name: string) => string; +} = { + [CodePackageType.CocoaPods]: (name) => `https://cocoapods.org/pods/${name}`, + [CodePackageType.Gradle]: (name) => + `https://mvnrepository.com/artifact/${name.split(':').join('/')}`, + [CodePackageType.PackageJson]: (name) => + `https://www.npmjs.com/package/${name}`, + [CodePackageType.RequirementsTxt]: (name) => + `https://pypi.org/project/${name}`, + [CodePackageType.Pubspec]: (name) => `https://pub.dev/packages/${name}`, +}; + +/** + * Get the registry link for a given code package + * @param name - Name of package + * @param type - Type of registry + * @returns The registry link + */ +export function getRegistryLink(name: string, type: CodePackageType): string { + return CODE_PACKAGE_TYPE_TO_LINK[type](name); +} diff --git a/src/index.ts b/src/index.ts index 3279e7c..c22e1a8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,3 +20,5 @@ export * from './assessmentForm'; export * from './datapoint'; export * from './largeLanguageModels'; export * from './prompt'; +export * from './getRegistryLink'; +export * from './code';