0.3.3 • Published 6 months ago
@ttoss/ids v0.3.3
@ttoss/ids
This package provides a opinionated way to work with different ids in the application.
Check the blog post for more information.
Installation
pnpm add @ttoss/ids
Usage
From database id to global id
Example with PostgreSQL:
import { toRecordId, toGlobalId } from '@ttoss/ids';
const itemFromPostgreSQL = {
id: 1,
name: 'John Doe',
};
const recordId = toRecordId(itemFromPostgreSQL.id);
console.log(recordId); // 1
const globalId = toGlobalId('User', recordId);
console.log(globalId); // VXNlcjox
Example with DynamoDB:
import { toRecordId, toGlobalId } from '@ttoss/ids';
const itemFromDynamoDB = {
partitionKey: 'USER',
sortKey: '1',
name: 'John Doe',
};
const recordId = toRecordId([
itemFromDynamoDB.partitionKey,
itemFromDynamoDB.sortKey,
]);
console.log(recordId); // USER:1
const globalId = toGlobalId('User', recordId);
console.log(globalId); // VXNlcjpVU0VSOjE=
From global id to database id
Example with PostgreSQL:
import { fromGlobalId, fromRecordId } from '@ttoss/ids';
const globalId = 'VXNlcjox';
const { type, recordId } = fromGlobalId(globalId);
console.log(type); // User
console.log(recordId); // 1
const [databaseId] = fromRecordId(recordId);
console.log(databaseId); // 1
Example with DynamoDB:
import { fromGlobalId, fromRecordId } from '@ttoss/ids';
const globalId = 'VXNlcjpVU0VSOjE=';
const { type, recordId } = fromGlobalId(globalId);
console.log(type); // User
console.log(recordId); // USER:1
const [partitionKey, sortKey] = fromRecordId(recordId);
console.log(partitionKey); // USER
console.log(sortKey); // 1
0.3.3
6 months ago
0.3.2
8 months ago
0.3.1
8 months ago
0.3.0
9 months ago
0.2.14
9 months ago
0.2.13
11 months ago
0.2.12
11 months ago
0.2.11
11 months ago
0.2.10
12 months ago
0.2.9
1 year ago
0.2.7
1 year ago
0.2.8
1 year ago
0.2.6
1 year ago
0.2.5
1 year ago
0.2.4
1 year ago
0.2.3
1 year ago
0.2.2
1 year ago
0.2.1
1 year ago
0.2.0
1 year ago
0.1.1
2 years ago
0.1.0
2 years ago