UNPKG

@sphereon/jarm

Version:

Sphereon JARM

24 lines (17 loc) 855 B
import * as v from 'valibot'; export const oAuthResponseTypes = v.picklist(['code', 'token']); // NOTE: MAKE SURE THAT THE RESPONSE TYPES ARE SORTED CORRECTLY export const oAuthMRTEPResponseTypes = v.picklist(['none', 'id_token', 'code token', 'code id_token', 'id_token token', 'code id_token token']); export const openid4vpResponseTypes = v.picklist(['vp_token', 'id_token vp_token']); export const vTransformedResponseTypes = v.picklist([ ...openid4vpResponseTypes.options, ...oAuthResponseTypes.options, ...oAuthMRTEPResponseTypes.options, ]); export const vResponseType = v.pipe( v.string(), v.transform((val) => val.split(' ').sort().join(' ')), vTransformedResponseTypes, ); export type ResponseType = v.InferInput<typeof vTransformedResponseTypes>; export type ResponseTypeOut = v.InferOutput<typeof vTransformedResponseTypes>;