open-index/open-npm huggingface dataset:
npm package: @plasmahealth/smart-on-fhir-rn
Description: SMART-on-FHIR authentication library for React Native and Expo
Latest version: 0.1.1

# fhir-ui-rn

## Installation
```bash
npx expo install @plasmaheatlh/smart-on0fhir-rn expo-auth-session expo-secure-store expo-web-browser
```

## Setup

1. Add a URL scheme to `app.json`

The library redirects back to your app after the EHR login using a deep link. You must declare a scheme:

```json
{
    "expo": {
        "scheme": "myapp"
    }
}
```

2. Register the redirect URI with your EHR vendor

The redirect URI your app should use is:

```
myapp://sof-oauth
```

3. Wrap your app with `SmartAuthProvider`

In your root layout (e.g. `app/_layout.tsx`):

```tsx
import { SmartAuthProvider, SmartConfig } from '@plasmahealth/smart-on-fhir-rn';

const config: SmartCOnfig = {
    fhirBsaeUrl: '',
    clientId: 'your-client-id',
    scopes: ['openid', 'fhirUser', 'profile', 'offline_access', 'launch/patient', 'patient/*.*'],
    scheme: 'myapp',
}

export default function RootLayout() {
    return (
        <SmartAuthProvider config={config}>
            {/* Rest of your app */}
        </SmartAuthProvider>
    )
}
```

4. Use the `useSmart` hook

```tsx
import { useSmart } from '@plasmahealth/smart-on-fhir-rn';

export default function MyScreen() {
    const { isAuthenticated, isLoading, patientId, login, logout, fhirFetch } = useSmart();

    const fetchPatient = async () => {
        const rest = await fhirFetch(`/Patient/${patientId}`);
        const patient = await res.json();
        console.log(patient);
    }

    return (
        <>
            {/* Your Screen */}
        </>
    )
}
```

## Publish
- pnpm install
- pnpm build
- npm publish --access public
npm package: @plasmapay/options-resolver
Description: Port of Symfony component OptionsResolver. This library processes and validates option object
Latest version: 1.0.2

# OptionsResolver

This is a port of awesome Symfony component OptionsResolver.
This library processes and validates option object.

[![Build Status](https://travis-ci.org/krachot/options-resolver.svg?branch=master)](https://travis-ci.org/krachot/options-resolver)
[![Code Climate](https://codeclimate.com/github/krachot/options-resolver/badges/gpa.svg)](https://codeclimate.com/github/krachot/options-resolver)

## Installation

```
npm install options-resolver --save
```

## Usage

```js
import createResolver from 'options-resolver';

const resolver = createResolver();
resolver
  .setDefaults({
    'foo': 'bar',
    'baz': 'bam'
  })
  .setRequired('foo')
  .setAllowedTypes('foo', 'string')
  .setAllowedValues('foo', ['bar', 'one'])
;

resolver.resolve({
  'foo': 'one'
}).then((options) => {
  // options is equal to :
  // {
  //    'foo': 'one',
  //    'baz': 'bam'
  // }
});

```

## Run tests

```
npm run test
```

## TODO

* Improve documentation
* Add Express middleware

## Release History

* 1.0.0 First release
npm package: @plasmapay/soap-as-promised
Description: Convert all soap methods to promises. Inspired by soap-q.
Author: Ezequiel Rabinovich
Latest version: 1.25.0

# soap-as-promised [![Circle CI](https://circleci.com/gh/warseph/soap-as-promised.svg?style=svg)](https://circleci.com/gh/warseph/soap-as-promised)

Convert all [node-soap](https://github.com/vpulim/node-soap) methods to promises. Inspired by soap-q, but it doesn't add
any suffix to methods, the client has the same interface as exposed by the original soap module.

## Installation
`npm install soap-as-promised`

## Usage
```js
const soap = require('soap-as-promised');

soap.createClient('http://example.org/wsdl')
    .then((client) => client.myAwesomeSoapMethod({param: true}))
    .then((result) => console.log(`The result was: ${result}`))
    .catch((error) => console.error(`There was an error! ${error}`));
```

## Important!

There are a couple of things that behave different from the original soap client:

* Null responses return an object with like this `{return: null, _rawResponse: "<SOAP RETURNED BY THE SERVICE>"}`
* String responses return an object like this: `{return: 'String response', _rawResponse: "<SOAP RETURNED BY THE SERVICE>"}`
* When specifying endpoint as an extra parameter you need to pass the options parameter (at least `null` or `{}`)