@types/dynamodb-lock-client
TypeScript icon, indicating that this package has built-in type declarations

0.7.7 • Public • Published

Installation

npm install --save @types/dynamodb-lock-client

Summary

This package contains type definitions for dynamodb-lock-client (https://github.com/tristanls/dynamodb-lock-client#readme).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/dynamodb-lock-client.

/// <reference types="node" />

import { EventEmitter } from "events";

export interface Lock extends EventEmitter {
    release(callback: (error: Error) => void): void;
    fencingToken: number;
}

interface GenericConfig {
    dynamodb: {
        delete: (...args: any[]) => any;
        get: (...args: any[]) => any;
        put: (...args: any[]) => any;
    };
    lockTable: string;
    partitionKey: string;
    sortKey?: string | undefined;
    owner?: string | undefined;
    retryCount?: number | undefined;
}

export interface FailClosedConfig extends GenericConfig {
    acquirePeriodMs: number;
}

export interface FailOpenConfig extends GenericConfig {
    heartbeatPeriodMs?: number | undefined;
    leaseDurationMs: number;
    trustLocalTime?: boolean | undefined;
}

export class LockClient<
    PartitionTableKeyType extends string | number | Buffer | Record<string, string | Buffer | number>,
> {
    acquireLock(id: PartitionTableKeyType, callback: (error: Error, lock: Lock) => void): void;
}

export class FailClosed<
    PartitionTableKeyType extends string | number | Buffer | Record<string, string | Buffer | number>,
> extends LockClient<PartitionTableKeyType> {
    constructor(config: FailClosedConfig);
}

export class FailOpen<PartitionTableKeyType extends string | number | Buffer | Record<string, string | Buffer | number>>
    extends LockClient<PartitionTableKeyType>
{
    constructor(config: FailOpenConfig);
}

// Disabled automatic exporting
export {};

Additional Details

  • Last updated: Sat, 30 Mar 2024 06:35:27 GMT
  • Dependencies: @types/node

Credits

These definitions were written by .

Readme

Keywords

none

Package Sidebar

Install

npm i @types/dynamodb-lock-client

Weekly Downloads

1,064

Version

0.7.7

License

MIT

Unpacked Size

5.51 kB

Total Files

5

Last publish

Collaborators

  • types