@ai-sdk/provider-utils
Advanced tools
Comparing version 1.0.9 to 1.0.10
@@ -33,2 +33,3 @@ "use strict"; | ||
__export(src_exports, { | ||
asValidator: () => asValidator, | ||
combineHeaders: () => combineHeaders, | ||
@@ -224,2 +225,5 @@ convertAsyncGeneratorToReadableStream: () => convertAsyncGeneratorToReadableStream, | ||
} | ||
function asValidator(value) { | ||
return isValidator(value) ? value : zodValidator(value); | ||
} | ||
function zodValidator(zodSchema) { | ||
@@ -239,3 +243,3 @@ return validator((value) => { | ||
if (!result.success) { | ||
throw new import_provider3.TypeValidationError({ value, cause: result.error }); | ||
throw import_provider3.TypeValidationError.wrap({ value, cause: result.error }); | ||
} | ||
@@ -246,19 +250,16 @@ return result.value; | ||
value, | ||
schema: inputSchema | ||
schema | ||
}) { | ||
const schema = isValidator(inputSchema) ? inputSchema : zodValidator(inputSchema); | ||
const validator2 = asValidator(schema); | ||
try { | ||
if (schema.validate == null) { | ||
if (validator2.validate == null) { | ||
return { success: true, value }; | ||
} | ||
const validationResult = schema.validate(value); | ||
if (validationResult.success) { | ||
return validationResult; | ||
const result = validator2.validate(value); | ||
if (result.success) { | ||
return result; | ||
} | ||
return { | ||
success: false, | ||
error: new import_provider3.TypeValidationError({ | ||
value, | ||
cause: validationResult.error | ||
}) | ||
error: import_provider3.TypeValidationError.wrap({ value, cause: result.error }) | ||
}; | ||
@@ -268,3 +269,3 @@ } catch (error) { | ||
success: false, | ||
error: import_provider3.TypeValidationError.isTypeValidationError(error) ? error : new import_provider3.TypeValidationError({ value, cause: error }) | ||
error: import_provider3.TypeValidationError.wrap({ value, cause: error }) | ||
}; | ||
@@ -572,5 +573,6 @@ } | ||
// src/uint8-utils.ts | ||
var { btoa, atob } = globalThis; | ||
function convertBase64ToUint8Array(base64String) { | ||
const base64Url = base64String.replace(/-/g, "+").replace(/_/g, "/"); | ||
const latin1string = globalThis.atob(base64Url); | ||
const latin1string = atob(base64Url); | ||
return Uint8Array.from(latin1string, (byte) => byte.codePointAt(0)); | ||
@@ -583,3 +585,3 @@ } | ||
} | ||
return globalThis.btoa(latin1string); | ||
return btoa(latin1string); | ||
} | ||
@@ -593,2 +595,3 @@ | ||
0 && (module.exports = { | ||
asValidator, | ||
combineHeaders, | ||
@@ -595,0 +598,0 @@ convertAsyncGeneratorToReadableStream, |
@@ -51,2 +51,9 @@ import { JSONParseError, TypeValidationError, APICallError } from '@ai-sdk/provider'; | ||
declare const validatorSymbol: unique symbol; | ||
type ValidationResult<OBJECT> = { | ||
success: true; | ||
value: OBJECT; | ||
} | { | ||
success: false; | ||
error: Error; | ||
}; | ||
type Validator<OBJECT = unknown> = { | ||
@@ -61,9 +68,3 @@ /** | ||
*/ | ||
readonly validate?: (value: unknown) => { | ||
success: true; | ||
value: OBJECT; | ||
} | { | ||
success: false; | ||
error: Error; | ||
}; | ||
readonly validate?: (value: unknown) => ValidationResult<OBJECT>; | ||
}; | ||
@@ -75,10 +76,5 @@ /** | ||
*/ | ||
declare function validator<OBJECT>(validate: (value: unknown) => { | ||
success: true; | ||
value: OBJECT; | ||
} | { | ||
success: false; | ||
error: Error; | ||
}): Validator<OBJECT>; | ||
declare function validator<OBJECT>(validate?: undefined | ((value: unknown) => ValidationResult<OBJECT>)): Validator<OBJECT>; | ||
declare function isValidator(value: unknown): value is Validator; | ||
declare function asValidator<OBJECT>(value: Validator<OBJECT> | z.Schema<OBJECT, z.ZodTypeDef, any>): Validator<OBJECT>; | ||
declare function zodValidator<OBJECT>(zodSchema: z.Schema<OBJECT, z.ZodTypeDef, any>): Validator<OBJECT>; | ||
@@ -211,3 +207,3 @@ | ||
*/ | ||
declare function safeValidateTypes<T>({ value, schema: inputSchema, }: { | ||
declare function safeValidateTypes<T>({ value, schema, }: { | ||
value: unknown; | ||
@@ -225,2 +221,2 @@ schema: z.Schema<T, z.ZodTypeDef, any> | Validator<T>; | ||
export { type ParseResult, type ResponseHandler, type Validator, combineHeaders, convertAsyncGeneratorToReadableStream, convertBase64ToUint8Array, convertUint8ArrayToBase64, createEventSourceResponseHandler, createJsonErrorResponseHandler, createJsonResponseHandler, createJsonStreamResponseHandler, extractResponseHeaders, generateId, getErrorMessage, isAbortError, isParsableJson, isParseableJson, isValidator, loadApiKey, loadSetting, parseJSON, postJsonToApi, postToApi, safeParseJSON, safeValidateTypes, validateTypes, validator, validatorSymbol, withoutTrailingSlash, zodValidator }; | ||
export { type ParseResult, type ResponseHandler, type ValidationResult, type Validator, asValidator, combineHeaders, convertAsyncGeneratorToReadableStream, convertBase64ToUint8Array, convertUint8ArrayToBase64, createEventSourceResponseHandler, createJsonErrorResponseHandler, createJsonResponseHandler, createJsonStreamResponseHandler, extractResponseHeaders, generateId, getErrorMessage, isAbortError, isParsableJson, isParseableJson, isValidator, loadApiKey, loadSetting, parseJSON, postJsonToApi, postToApi, safeParseJSON, safeValidateTypes, validateTypes, validator, validatorSymbol, withoutTrailingSlash, zodValidator }; |
@@ -33,2 +33,3 @@ "use strict"; | ||
__export(src_exports, { | ||
asValidator: () => asValidator, | ||
combineHeaders: () => combineHeaders, | ||
@@ -224,2 +225,5 @@ convertAsyncGeneratorToReadableStream: () => convertAsyncGeneratorToReadableStream, | ||
} | ||
function asValidator(value) { | ||
return isValidator(value) ? value : zodValidator(value); | ||
} | ||
function zodValidator(zodSchema) { | ||
@@ -239,3 +243,3 @@ return validator((value) => { | ||
if (!result.success) { | ||
throw new import_provider3.TypeValidationError({ value, cause: result.error }); | ||
throw import_provider3.TypeValidationError.wrap({ value, cause: result.error }); | ||
} | ||
@@ -246,19 +250,16 @@ return result.value; | ||
value, | ||
schema: inputSchema | ||
schema | ||
}) { | ||
const schema = isValidator(inputSchema) ? inputSchema : zodValidator(inputSchema); | ||
const validator2 = asValidator(schema); | ||
try { | ||
if (schema.validate == null) { | ||
if (validator2.validate == null) { | ||
return { success: true, value }; | ||
} | ||
const validationResult = schema.validate(value); | ||
if (validationResult.success) { | ||
return validationResult; | ||
const result = validator2.validate(value); | ||
if (result.success) { | ||
return result; | ||
} | ||
return { | ||
success: false, | ||
error: new import_provider3.TypeValidationError({ | ||
value, | ||
cause: validationResult.error | ||
}) | ||
error: import_provider3.TypeValidationError.wrap({ value, cause: result.error }) | ||
}; | ||
@@ -268,3 +269,3 @@ } catch (error) { | ||
success: false, | ||
error: import_provider3.TypeValidationError.isTypeValidationError(error) ? error : new import_provider3.TypeValidationError({ value, cause: error }) | ||
error: import_provider3.TypeValidationError.wrap({ value, cause: error }) | ||
}; | ||
@@ -572,5 +573,6 @@ } | ||
// src/uint8-utils.ts | ||
var { btoa, atob } = globalThis; | ||
function convertBase64ToUint8Array(base64String) { | ||
const base64Url = base64String.replace(/-/g, "+").replace(/_/g, "/"); | ||
const latin1string = globalThis.atob(base64Url); | ||
const latin1string = atob(base64Url); | ||
return Uint8Array.from(latin1string, (byte) => byte.codePointAt(0)); | ||
@@ -583,3 +585,3 @@ } | ||
} | ||
return globalThis.btoa(latin1string); | ||
return btoa(latin1string); | ||
} | ||
@@ -593,2 +595,3 @@ | ||
0 && (module.exports = { | ||
asValidator, | ||
combineHeaders, | ||
@@ -595,0 +598,0 @@ convertAsyncGeneratorToReadableStream, |
{ | ||
"name": "@ai-sdk/provider-utils", | ||
"version": "1.0.9", | ||
"version": "1.0.10", | ||
"license": "Apache-2.0", | ||
@@ -28,3 +28,3 @@ "sideEffects": false, | ||
"dependencies": { | ||
"@ai-sdk/provider": "0.0.17", | ||
"@ai-sdk/provider": "0.0.18", | ||
"eventsource-parser": "1.1.2", | ||
@@ -31,0 +31,0 @@ "nanoid": "3.3.6", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1291940
13062
+ Added@ai-sdk/provider@0.0.18(transitive)
- Removed@ai-sdk/provider@0.0.17(transitive)
Updated@ai-sdk/provider@0.0.18