Providers
PostgreSQL for TypeScript / Node.js
ARX.SDK for TypeScript / Node.js is in development: not published to npm yet.
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.
| Package | What it is |
|---|---|
| @migslab/arx-sdk | The entity and query model, the schema catalog, errors with the shared codes, the injection check, paging cookies and capability flags. |
| @migslab/arx-sdk-postgresql | The 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:
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.