Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
/**
* @since 0.2.0
*/
export const getRing = <s>(R: Ring>): Ring<s> => R
/**
* @since 0.2.0
*/
export const getField = <s>(F: Field>): Field<s> => F
//
// isos
//
const anyIso = new Iso(unsafeCoerce, unsafeCoerce)
/**
* @since 0.2.0
*/
export function iso<s>(): Iso> {
return anyIso
}
//
// prisms
//
/**
* @since 0.2.0
*/
export interface Concat, N2 extends Newtype>></s></s></s></s></s>
) =>
makeLensToResponseStartingFromOperation(schema, code)
.composeOptional(Optional.fromNullableProp()("headers"))
.composeIso(objectToArray())
.composeTraversal(fromTraversable(array)())
.composePrism(
new Prism<[string, Reference | Header], [string, Header]>(
a =>
isReference(a[1])
? stringHeader(a[0], getHeaderFromRef(schema, refName(a[1])))
: some([a[0], a[1]]),
a => a,
),
)
.composeIso(
new Iso<[string, Header], Parameter>(
a => ({ ...a[1], name: a[0], in: "header" }),
a => [a.name, a],
),
)
.composeOptional(parameterSchema(schema))
.composeGetter(identityGetter())
.getAll(operation);
const keepOptionals = (i: IExtendedObjectType): ITameExtendedObjectType =>
new Iso<
IExtendedObjectType,
Array<[string, ExtendedValueType | IMaybeJSONValue]>
>(
a => Object.entries(a),
q => q.reduce((a, b) => ({ ...a, [b[0]]: b[1] }), {}),
)
.composeTraversal(fromTraversable(array)())
.composePrism(
new Prism<
[string, ExtendedValueType | IMaybeJSONValue],
[string, ExtendedValueType]
>(a => (MaybeJSONValue.is(a[1]) ? some([a[0], a[1].val]) : none), a => a),
)
.composeGetter(identityGetter())
.getAll(i)
.reduce((a, b) => ({ ...a, [b[0]]: b[1] }), {});
const headersFromResponse = (schema: OpenAPIObject, operation: Operation, code: keyof Responses) =>
makeLensToResponseStartingFromOperation(schema, code)
.composeOptional(Optional.fromNullableProp()("headers"))
.composeIso(objectToArray())
.composeTraversal(fromTraversable(array)())
.composePrism(new Prism<[string, Reference | Header], [string, Header]>(
a => isReference(a[1])
? stringHeader(a[0], getHeaderFromRef(schema, refName(a[1])))
: some([a[0], a[1]]),
a => a,
))
.composeIso(new Iso<[string, Header], Parameter>(
a => ({ ...a[1], name: a[0], in: "header"}),
a => [a.name, a],
))
.composeOptional(parameterSchema(schema))
.composeGetter(identityGetter())
.getAll(operation);