(
options: Pick<ProcessDriveRequirementHeadersOptions, 'clientSdkVersion' | 'onRequiredUpdate' | 'onSuggestedUpdate'>,
raw: string,
)
| 70 | } |
| 71 | |
| 72 | function 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 | |
| 90 | function isUpdateNeeded(clientVersion: string, minVersion: string): boolean { |
| 91 | if (!clientVersion || !minVersion) { |
no test coverage detected