How to use the monocle-ts.Iso function in monocle-ts

To help you get started, we’ve selected a few monocle-ts examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github gcanti / newtype-ts / src / index.ts View on Github external
/**
 * @since 0.2.0
 */
export const getRing = <s>(R: Ring&gt;): Ring<s> =&gt; R

/**
 * @since 0.2.0
 */
export const getField = <s>(F: Field&gt;): Field<s> =&gt; F

//
// isos
//

const anyIso = new Iso(unsafeCoerce, unsafeCoerce)

/**
 * @since 0.2.0
 */
export function iso<s>(): Iso&gt; {
  return anyIso
}

//
// prisms
//

/**
 * @since 0.2.0
 */
export interface Concat, N2 extends Newtype&gt;&gt;</s></s></s></s></s>
github unmock / unmock-js / packages / unmock-core / src / generator.ts View on Github external
) =&gt;
  makeLensToResponseStartingFromOperation(schema, code)
    .composeOptional(Optional.fromNullableProp()("headers"))
    .composeIso(objectToArray())
    .composeTraversal(fromTraversable(array)())
    .composePrism(
      new Prism&lt;[string, Reference | Header], [string, Header]&gt;(
        a =&gt;
          isReference(a[1])
            ? stringHeader(a[0], getHeaderFromRef(schema, refName(a[1])))
            : some([a[0], a[1]]),
        a =&gt; a,
      ),
    )
    .composeIso(
      new Iso&lt;[string, Header], Parameter&gt;(
        a =&gt; ({ ...a[1], name: a[0], in: "header" }),
        a =&gt; [a.name, a],
      ),
    )
    .composeOptional(parameterSchema(schema))
    .composeGetter(identityGetter())
    .getAll(operation);
github unmock / unmock-js / packages / unmock-core / src / nock.ts View on Github external
const keepOptionals = (i: IExtendedObjectType): ITameExtendedObjectType =&gt;
  new Iso&lt;
    IExtendedObjectType,
    Array&lt;[string, ExtendedValueType | IMaybeJSONValue]&gt;
  &gt;(
    a =&gt; Object.entries(a),
    q =&gt; q.reduce((a, b) =&gt; ({ ...a, [b[0]]: b[1] }), {}),
  )
    .composeTraversal(fromTraversable(array)())
    .composePrism(
      new Prism&lt;
        [string, ExtendedValueType | IMaybeJSONValue],
        [string, ExtendedValueType]
      &gt;(a =&gt; (MaybeJSONValue.is(a[1]) ? some([a[0], a[1].val]) : none), a =&gt; a),
    )
    .composeGetter(identityGetter())
    .getAll(i)
    .reduce((a, b) =&gt; ({ ...a, [b[0]]: b[1] }), {});
github unmock / unmock-js / packages / unmock-core / src / generator-experimental.ts View on Github external
const headersFromResponse = (schema: OpenAPIObject, operation: Operation, code: keyof Responses) =&gt;
  makeLensToResponseStartingFromOperation(schema, code)
  .composeOptional(Optional.fromNullableProp()("headers"))
  .composeIso(objectToArray())
  .composeTraversal(fromTraversable(array)())
  .composePrism(new Prism&lt;[string, Reference | Header], [string, Header]&gt;(
    a =&gt; isReference(a[1])
      ? stringHeader(a[0], getHeaderFromRef(schema, refName(a[1])))
      : some([a[0], a[1]]),
    a =&gt; a,
  ))
  .composeIso(new Iso&lt;[string, Header], Parameter&gt;(
    a =&gt; ({ ...a[1], name: a[0], in: "header"}),
    a =&gt; [a.name, a],
  ))
  .composeOptional(parameterSchema(schema))
  .composeGetter(identityGetter())
  .getAll(operation);