Providers

PostgreSQL for TypeScript / Node.js

ARX.SDK for TypeScript / Node.js is in development: not published to npm yet.

In development

Its packages aren't on npm yet. Until they are, this page says what exists; its full documentation, built from verified samples like the C# pages for PostgreSQL, comes with the first release.

What it is

An idiomatic TypeScript implementation of the ARX specification 0.1 for Node.js, checked against the same test vectors as the .NET packages. Node.js with ES modules.

PackageWhat it is
@migslab/arx-sdkThe entity and query model, the schema catalog, errors with the shared codes, the injection check, paging cookies and capability flags.
@migslab/arx-sdk-postgresqlThe PostgreSQL provider, on node-postgres.

What it does today

The PostgreSQL provider has create, createMultiple, retrieve, retrieveMultiple (criteria, columns, order, paging by page number, the total), update, delete and deleteMatching.

Every value is a parameter and every name is validated, as in every implementation. Links, aggregates, paging cookies, transactions and Execute aren't in it yet: a call that needs one is refused with ARX8001, never answered in part. The other databases are .NET only for now.

A first look

The shape of the API, from the implementation's own README:

example.ts
import { ArxEntity, ArxIdColumn, ArxSchemaCatalog } from '@migslab/arx-sdk'
import { ArxPgDbService } from '@migslab/arx-sdk-postgresql'

const schema = ArxSchemaCatalog.create().table('account', ArxIdColumn.generated('id')).build()
const service = new ArxPgDbService(process.env.ARX_POSTGRESQL!, schema)

const id = await service.create(new ArxEntity('account', { name: 'Northwind Traders' }))
const account = await service.retrieve('account', id)

Follow it

The roadmap says where each language is, and the specification is what every implementation follows.