Skip to content

Commit

Permalink
Merge pull request DefinitelyTyped#24149 from phenomax/add-steam-totp…
Browse files Browse the repository at this point in the history
…-types

[steam-totp] Add types
  • Loading branch information
armanio123 authored Mar 8, 2018
2 parents cb20799 + b4f8c54 commit 4fbfc6b
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 0 deletions.
67 changes: 67 additions & 0 deletions types/steam-totp/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
// Type definitions for steam-totp 2.0
// Project: https://github.com/DoctorMcKay/node-steam-totp
// Definitions by: Max Uetrecht <https://github.com/phenomax>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.2

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

export type TimeOffsetFunction = () => number;

/**
* Returns the current local Unix time
* @param [timeOffset=0] - This many seconds will be added to the returned time
* @returns the current local Unix time
*/
export function time(timeOffset?: number): number;

/**
* Generate a Steam-style TOTP authentication code.
* @param secret - Your TOTP shared_secret as a Buffer, hex, or base64
* @param [timeOffset=0] - If you know how far off your clock is from the Steam servers, put the offset here in seconds
* @returns the generated auth code
*/
export function generateAuthCode(secret: string, timeOffset: number | TimeOffsetFunction): string;

/**
* Generate a Steam-style TOTP authentication code.
* @param secret - Your TOTP shared_secret as a Buffer, hex, or base64
* @param [timeOffset=0] - If you know how far off your clock is from the Steam servers, put the offset here in seconds
* @returns the generated auth code
*/
export function getAuthCode(secret: string, timeOffset: number | TimeOffsetFunction): string;

/**
* Generate a base64 confirmation key for use with mobile trade confirmations. The key can only be used once.
* @param identitySecret - The identity_secret that you received when enabling two-factor authentication
* @param time - The Unix time for which you are generating this secret. Generally should be the current time.
* @param tag - The tag which identifies what this request (and therefore key) will be for.
* "conf" to load the confirmations page, "details" to load details about a trade, "allow" to confirm a trade, "cancel" to cancel it.
* @returns the generated confirmation key
*/
export function generateConfirmationKey(identitySecret: Buffer | string, time: number, tag: string): string;

/**
* Generate a base64 confirmation key for use with mobile trade confirmations. The key can only be used once.
* @param identitySecret - The identity_secret that you received when enabling two-factor authentication
* @param time - The Unix time for which you are generating this secret. Generally should be the current time.
* @param tag - The tag which identifies what this request (and therefore key) will be for.
* "conf" to load the confirmations page, "details" to load details about a trade, "allow" to confirm a trade, "cancel" to cancel it.
* @returns the generated confirmation key
*/
export function getConfirmationKey(identitySecret: Buffer | string, time: number, tag: string): string;

/**
* Requests the time offset from the Steam API.
* @param callback - The result of the steam api request
* @param [timeOffset=0] - If you know how far off your clock is from the Steam servers, put the offset here in seconds
* @returns the time offset
*/
export function getTimeOffset(callback: (error: Error, offset?: number, elapsedTime?: number) => void): void;

/**
* Get a standardized device ID based on your SteamID.
* @param steamID - Your SteamID, either as a string or as an object which has a toString() method that returns the SteamID
* @returns the device ID
*/
export function getDeviceID(steamID: string | object): string;
3 changes: 3 additions & 0 deletions types/steam-totp/steam-totp-tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import steamTotp = require('steam-totp');

const time: number = steamTotp.time();
23 changes: 23 additions & 0 deletions types/steam-totp/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"steam-totp-tests.ts"
]
}
1 change: 1 addition & 0 deletions types/steam-totp/tslint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }

0 comments on commit 4fbfc6b

Please sign in to comment.