From d787437c0adac1fe12fe20af9b06859d6622656b Mon Sep 17 00:00:00 2001 From: Jason Gray Date: Fri, 1 Feb 2019 14:45:40 +0000 Subject: [PATCH] add types for aws-param-store --- .../aws-param-store/aws-param-store-tests.ts | 78 +++++++++++++++++++ types/aws-param-store/index.d.ts | 48 ++++++++++++ types/aws-param-store/package.json | 6 ++ types/aws-param-store/tsconfig.json | 23 ++++++ types/aws-param-store/tslint.json | 1 + 5 files changed, 156 insertions(+) create mode 100644 types/aws-param-store/aws-param-store-tests.ts create mode 100644 types/aws-param-store/index.d.ts create mode 100644 types/aws-param-store/package.json create mode 100644 types/aws-param-store/tsconfig.json create mode 100644 types/aws-param-store/tslint.json diff --git a/types/aws-param-store/aws-param-store-tests.ts b/types/aws-param-store/aws-param-store-tests.ts new file mode 100644 index 0000000000..13ad6c0514 --- /dev/null +++ b/types/aws-param-store/aws-param-store-tests.ts @@ -0,0 +1,78 @@ +import { SSM } from 'aws-sdk'; +import { + ParameterQuery, + parameterQuery, + getParameter, + getParameters, + getParametersByPath, + getParameterSync, + getParametersSync, + getParametersByPathSync, +} from 'aws-param-store'; + +declare let bool: boolean; +declare let query: ParameterQuery; +declare let psName: SSM.Types.PSParameterName; +declare let psNames: SSM.Types.ParameterNameList; +declare let options: SSM.Types.ClientConfiguration; +declare let paramResult: SSM.Types.Parameter; +declare let paramsResult: SSM.Types.GetParametersResult; +declare let paramsByPathResult: SSM.Types.ParameterList; +declare let allParamResults: SSM.Types.Parameter | SSM.Types.GetParametersByPathResult | SSM.Types.ParameterList; +declare let promiseParamResult: Promise; +declare let promiseParamsResult: Promise; +declare let promiseParamsByPathResult: Promise; +declare let promiseAllParamResults: Promise; + +query = parameterQuery(); + +query.path(psName); +query.named(psName); +query.named(psNames); +query.decryption(bool); +query.recursive(bool); + +promiseAllParamResults = query.execute(); +allParamResults = query.executeSync(); + +// test chaining +query = query +.path(psName) +.named(psName) +.named(psNames) +.decryption(bool) +.recursive(bool); + +promiseAllParamResults = query +.path(psName) +.named(psName) +.named(psNames) +.decryption(bool) +.recursive(bool) +.execute(); + +allParamResults = query +.path(psName) +.named(psName) +.named(psNames) +.decryption(bool) +.recursive(bool) +.executeSync(); + +promiseParamResult = getParameter(psName); +promiseParamResult = getParameter(psName, options); + +promiseParamsResult = getParameters(psNames); +promiseParamsResult = getParameters(psNames, options); + +promiseParamsByPathResult = getParametersByPath(psNames); +promiseParamsByPathResult = getParametersByPath(psNames, options); + +paramResult = getParameterSync(psName); +paramResult = getParameterSync(psName, options); + +paramsResult = getParametersSync(psNames); +paramsResult = getParametersSync(psNames, options); + +paramsByPathResult = getParametersByPathSync(psNames); +paramsByPathResult = getParametersByPathSync(psNames, options); diff --git a/types/aws-param-store/index.d.ts b/types/aws-param-store/index.d.ts new file mode 100644 index 0000000000..c35edef688 --- /dev/null +++ b/types/aws-param-store/index.d.ts @@ -0,0 +1,48 @@ +// Type definitions for aws-param-store 2.1 +// Project: https://github.com/vandium-io/aws-param-store#readme +// Definitions by: Jason Gray +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// +import { SSM } from 'aws-sdk'; + +export function getParameter( + name: SSM.Types.PSParameterName, + options?: SSM.Types.ClientConfiguration +): Promise; + +export function getParameterSync( + name: SSM.Types.PSParameterName, + options?: SSM.Types.ClientConfiguration +): SSM.Types.Parameter; + +export function getParameters( + names: SSM.Types.ParameterNameList, + options?: SSM.Types.ClientConfiguration +): Promise; + +export function getParametersSync( + names: SSM.Types.ParameterNameList, + options?: SSM.Types.ClientConfiguration +): SSM.Types.GetParametersResult; + +export function getParametersByPath( + path: SSM.Types.ParameterNameList, + options?: SSM.Types.ClientConfiguration +): Promise; + +export function getParametersByPathSync( + path: SSM.Types.ParameterNameList, + options?: SSM.Types.ClientConfiguration +): SSM.Types.ParameterList; + +export interface ParameterQuery { + path(path: SSM.Types.PSParameterName): ParameterQuery; + named(nameOrNames: SSM.Types.PSParameterName | SSM.Types.ParameterNameList): ParameterQuery; + decryption(enabled: boolean): ParameterQuery; + recursive(enabled: boolean): ParameterQuery; + execute(): Promise; + executeSync(): SSM.Types.ParameterList | SSM.Types.Parameter | SSM.Types.GetParametersResult; +} + +export function parameterQuery(options?: SSM.Types.ClientConfiguration): ParameterQuery; diff --git a/types/aws-param-store/package.json b/types/aws-param-store/package.json new file mode 100644 index 0000000000..abb680d4ac --- /dev/null +++ b/types/aws-param-store/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "dependencies": { + "aws-sdk": "^2.325.0" + } +} diff --git a/types/aws-param-store/tsconfig.json b/types/aws-param-store/tsconfig.json new file mode 100644 index 0000000000..2857e45680 --- /dev/null +++ b/types/aws-param-store/tsconfig.json @@ -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", + "aws-param-store-tests.ts" + ] +} diff --git a/types/aws-param-store/tslint.json b/types/aws-param-store/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/aws-param-store/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }