open-index/open-npm huggingface dataset:
npm package: @mocobaas/odata-filter-to-sql
Description: OData to PostgreSQL query compiler
Author: JStott
Latest version: 1.0.7

# odata-objection-pg Service modules - PostgreSQL Connector

Odata services requests from a PostgreSQL data store for Objection.js (knex.js) ORM for Node.js

> This is a modified and specific version of odata-v4-pg.  That library has forked and moved here as I continue to develop it.

## Synopsis
The odata-objection-pg Connector provides functionality to convert the various types of OData segments
into SQL query statements suitable for Objection / knex.js raw() where clause

## Snake_Case conversion
This library assumes your Nest/Objection/knex are leveraging Postgre snake_case for table names.
As such, OData queries for camelCase properties will be converted to snake_case automatically.

## Named bindings
In knex.js - Named bindings such as :name are interpreted as values and :name: interpreted as identifiers. Named bindings are processed so long as the value is anything other than undefined.

As such, odata-objection-pg  will set placeholders as :0 (index value) for all placeholders.
This helps alleviate issues for `createDate eq null` statements, that are absent of any placeholders. With named bindings, this does not present a problem.

## Potential usage scenarios

- Nest.js & Objection.js (or direct Knex.js) library helper

See the (index.spec.ts)[./src/lib/index.spec.ts] for sanity tests

## Usage as server - TypeScript

```javascript
import { createFilter } from 'odata-objection-pg'

//example request/query filter:  
const { raw } = require('objection');
const sDay = moment.utc().startOf('day').toISOString();
const query = { $filter: `(startDate ne null or startDate ge '${moment.utc().startOf('day').toISOString()}')`, $expand: '' };
Object.assign(query, req.query || {});


await Person
  .query()
  .where(raw(query.where, query.parameterObject()));
}
```



## Supported OData segments

* $filter
* $select
* $skip
* $top
* $orderby
* $expand

## NPM package
Change the version in your package.json or use npm version <new-version>.
`npm version patch`

After changing the version number in your package.json, run `npm publish` to publish the new version to NPM.

`npm install` will install the latest version in the NPM repository.
npm package: @mocoding/eslint-config
Description: Shared eslint and prettier configuration
Author: MOCODING, LLC
Latest version: 1.0.2

# @mocoding/eslint-config

> Shared eslint and prettier configuration

This package is a part of [@mocoding/react-app](https://www.npmjs.com/package/@mocoding/react-app) library. It contains shared [eslint](https://eslint.org/) and [prettier](https://prettier.io/) settings configured to work together for [Typescript](https://www.typescriptlang.org/) and [React](https://reactjs.org/).

## Getting started

Install package as development dependency:

```sh
yarn add --dev @mocoding/eslint-config
```

Add the following to lines to `package.json` file:
```json
  "eslintConfig": {
    "extends": "@mocoding/eslint-config"
  },
  "prettier": "@mocoding/eslint-config/prettier"
```

## Details

Several important notes:
1. Width is set to 90 as I found it anough to fit into 27' monitor with split screen, files browser and map. It works for me. It may work for you but it will not work for everybody.
![Example](27.png)
2. `react/prop-types` is disabled. It does not required for Typescript
3. `@typescript-eslint/explicit-function-return-type` changed to `warn` and `allowExpressions` is set to true.
npm package: @mocoding/react-app
Description: Bootstrap and Build System for React Web Application. Batteries included.
Author: MOCODING, LLC
Latest version: 1.0.2

# @mocoding/react-app

> Bootstrap and Build System for React Web Application. Batteries included.


## Getting started

Create `package.json` with the following content:

```json
{
  "name": "example",  
  "devDependencies": {
    "@mocoding/react-app": "*",    
  },  
  "scripts": {
    "start": "moapp serve",    
    "build": "moapp build -p"
  },
  "eslintConfig": {
    "extends": "@mocoding/eslint-config"
  },
  "prettier": "@mocoding/eslint-config/prettier"
}
```

Add `index.tsx` to the root.

```tsx
import * as React from "react";

export class App extends React.Component {
  public render(): JSX.Element {
    return <div>Hello World</div>;
  }
}
```

Add `tsconfig.json`

```json
{
  "extends": "@mocoding/react-app-common/tsconfig.base.json",
  "compilerOptions": {
    "baseUrl": "."
  }
}
```

Test the code:

```sh
# Restore dependencies
> yarn
# Test application in development with HMR
> yarn start
# Build application for production
> yarn build
```

## Details

Check project [github](https://github.com/mocoding-software/react-app) for more documentation about this module.
npm package: @mocoding/react-app-basic
Description: Basic Bootstrap Module for React Web Application. See @mocoding/react-app for more details.
Author: MOCODING, LLC
Latest version: 1.0.2

# @mocoding/react-app-basic

> Basic Bootstrap Module for React Web Application. See [@mocoding/react-app](https://www.npmjs.com/package/@mocoding/react-app) for more details.

Allows serving basic stateless single web app with server side rendering.

## Getting started

Install package as development dependency:

```sh
yarn add --dev @mocoding/react-app-basic
```
npm package: @mocoding/react-app-common
Description: Common files for React Web Application. See @mocoding/react-app for more details.
Author: MOCODING, LLC
Latest version: 1.0.2

# @mocoding/react-app-common

> Common files for React Web Application. See [@mocoding/react-app](https://www.npmjs.com/package/@mocoding/react-app) for more details.

Used as a shared dependency for bootstrap modules.

## Getting started

Install package as development dependency:

```sh
yarn add --dev @mocoding/react-app-common
```

## Details

The package contains:
1. Common components used to render web page. It is heavily rely on [React Helmet](https://github.com/staylor/react-helmet-async)
2. Entry points for the applicaiton - client and server.
3. Base `tsconfig.json`
4. Additional typings
npm package: @mocoding/react-app-router-redux
Description: Bootstrap Module with router and redux. See @mocoding/react-app for more details.
Author: MOCODING, LLC
Latest version: 1.0.2

# @mocoding/react-app-router-redux

> Bootstrap Module with router and redux. See [@mocoding/react-app](https://www.npmjs.com/package/@mocoding/react-app) for more details.

Allows serving stateful web app with routing. Great for rich websites without relying on any API prefetch functionality.

## Getting started

Install package as development dependency:

```sh
yarn add --dev @mocoding/react-app-router-redux
```
npm package: @mocoding/react-app-router-redux-async
Description: Bootstrap Module with async SSR to await API calls. See @mocoding/react-app for more details.
Author: MOCODING, LLC
Latest version: 1.0.2

# @mocoding/react-app-router-redux-async

> Bootstrap Module with async SSR to await API calls. See [@mocoding/react-app](https://www.npmjs.com/package/@mocoding/react-app) for more details.

The most advanced bootstrap module. Allows serving stateful web app with routing and rely on API results during preloading.

## Getting started

Install package as development dependency:

```sh
yarn add --dev @mocoding/react-app-router-redux-async
```