MCPcopy Create free account
hub / github.com/ProtonDriveApps/sdk / processPlatformRequirements

Function processPlatformRequirements

cli/src/api/apiRequirements.ts:72–88  ·  view source on GitHub ↗
(
    options: Pick<ProcessDriveRequirementHeadersOptions, 'clientSdkVersion' | 'onRequiredUpdate' | 'onSuggestedUpdate'>,
    raw: string,
)

Source from the content-addressed store, hash-verified

70}
71
72function processPlatformRequirements(
73 options: Pick<ProcessDriveRequirementHeadersOptions, 'clientSdkVersion' | 'onRequiredUpdate' | 'onSuggestedUpdate'>,
74 raw: string,
75): void {
76 // Example of platform requirement header: "required=2.0.0 suggested=9.9.9"
77 const fields = parseKeyValuePairs(raw);
78 const required = fields.get('required');
79 const suggested = fields.get('suggested');
80
81 if (required && isUpdateNeeded(options.clientSdkVersion, required)) {
82 options.onRequiredUpdate(required);
83 return;
84 }
85 if (suggested && isUpdateNeeded(options.clientSdkVersion, suggested)) {
86 options.onSuggestedUpdate(suggested);
87 }
88}
89
90function isUpdateNeeded(clientVersion: string, minVersion: string): boolean {
91 if (!clientVersion || !minVersion) {

Callers 1

Calls 3

parseKeyValuePairsFunction · 0.85
isUpdateNeededFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected