open-index/open-npm huggingface dataset:
npm package: @iwsio/json-csv-core
Description: Easily convert JSON to CSV. This is a core library built for browser and node to support buffered conversion to CSV.
Author: Nathan Bridgewater
Latest version: 1.2.5

# @iwsio/json-csv-core

[![Push to main - @iwsio/json-csv-core](https://github.com/iwsllc/json-csv/actions/workflows/push-core.yml/badge.svg)](https://github.com/iwsllc/json-csv/actions/workflows/push-core.yml)

Simple CSV export module that can export an array of JSON objects to CSV. This core library will focus on the buffered, single object conversion to CSV and is built for node and browser. You can [read more about it and see a live example on my blog.](https://iws.io/2023/json-csv-v6) 

## Getting Started

### Install
```bash
npm i @iwsio/json-csv-core
```

### Import with named or default exports.
```es6
import { toCsv } from '@iwsio/json-csv-core'
import toCsv from '@iwsio/json-csv-core'
```

### In Typescript, `toCsv` is defined as:
```typescript
declare function toCsv(data: Record<string, unknown>[], opts: Partial<ExportOptions>): string;
```

## Example
```es6
import { toCsv } from '@iwsio/json-csv-core'

const data = [
  {
    field1: 'test',
    field2: 123,
    thing: {
      field3: true,
      field4: 'test'
    }
  },
  {field1: 'test', field2: 123, thing: { field3: true, field4: 'test'}},
  {field1: 'test', field2: 123, thing: { field3: false, field4: 'test'}},
  {field1: 'test', field2: 123, thing: { field3: true, field4: 'test'}}
]

const options = {
  fields: [
    {name: 'field1'}, // regular field by name
    {name: 'field2'},
    
    // using dot notation, we can specify which value to use.
    // provide a transform if you want the value to be modified for output.
    {name: 'thing.field3', label: 'field3', transform: (v) => v ? 'yes' : 'no'},
    {name: 'thing.field4', label: 'field4'},
  ]
}
const csv = toCsv(data, options)
```
```csv
field1,field2,field3,field4
test,123,yes,test
test,123,yes,test
test,123,no,test
test,123,yes,test
```

## Options
```js
{
  //field definitions for CSV export
  fields: [
    {
      // required: field name for source value
      name: 'string',

      // optional: column label for CSV header
      label: 'string',

      // optional: transform value before exporting
      transform: function(value) { return value; }
    }
  ],

  // Other default options:
  fieldSeparator: ',',
  ignoreHeader: false
}
```
npm package: @iwsio/mongo-repo-node
Description: This module is a thin wrapper around mongodb native driver that allows you to easily derive basic collection operations and share a pooled connection in a Node application.
Author: Nathan Bridgewater
Latest version: 3.2.0

# Simple MongoDb Wrapper (LEGACY)
[![Run tests](https://github.com/IWSLLC/mongo-repo/actions/workflows/tests.yml/badge.svg)](https://github.com/IWSLLC/mongo-repo/actions/workflows/tests.yml)

This is a really old, thin wrapper around the native mongoDB driver (originally v2) to support some repository-style use-cases.  The idea was to allow "models" and "collections" to be defined with pre-existing funcionality and those models be instantiated when enumerating a collection result.

This first version will just be a placeholder while we get projects updated to more recent versions of MongoDb Driver.


## Included Helpers
 - find          - `function({query}, callback)` callback returns array of documents
 - findOne       - `function({query}, callback)` callback returns matching document
 - findById      - `function(_id, callback)` callback returns document
 - findAndModify - `function({query}, [sort], {update}, {options}, callback)` - native passthrough
 - insert        - `function({data}, callback)`  callback returns inserted document; assuming one doc
 - update        - `function({data}, callback)`  native passthrough
 - upsert        - `function({data}, callback)`  native passthrough
 - removeById    - `function(_id, callback)` native passthrough
 - remove        - `function({query}, callback)` native passthrough
 - count         - `function({query}, callback)` native passthrough
 - aggregate     - `function({query}, callback)` native passthrough
npm package: @iwsio/react-blog-examples
Description: Example React components for blog posts.
Author: Nathan Bridgewater
Latest version: 4.0.4

# Blog Examples

[![@iwsio/react-blog-examples: PUSH to main](https://github.com/iwsllc/react-blog-examples/actions/workflows/rbe-push-main.yaml/badge.svg)](https://github.com/iwsllc/react-blog-examples/actions/workflows/rbe-push-main.yaml)

This is just a collection of React components I'm using for a blog. They're out here in case anyone else wants to use them as well.

Example | Export
 -- | --
[A json-csv-core example](https://iws.io/2023/json-csv-v6) | `{ JsonCsvExample } from '@iwsio/react-blog-examples'`