0.3.3 • Published 5 months ago

@ttoss/ids v0.3.3

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

@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

5 months ago

0.3.2

7 months ago

0.3.1

7 months ago

0.3.0

8 months ago

0.2.14

8 months ago

0.2.13

10 months ago

0.2.12

10 months ago

0.2.11

10 months ago

0.2.10

10 months ago

0.2.9

11 months ago

0.2.7

11 months ago

0.2.8

11 months 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

1 year ago

0.1.0

2 years ago