From d75d2c96293a249bbb9715fc6b320c711d6cb4cf Mon Sep 17 00:00:00 2001 From: Leo Liang Date: Mon, 4 Jan 2016 15:41:48 +0800 Subject: [PATCH] Add typing for field --- field/field-test.ts | 28 ++++++++++++++++++++++++++++ field/field.d.ts | 9 +++++++++ 2 files changed, 37 insertions(+) create mode 100644 field/field-test.ts create mode 100644 field/field.d.ts diff --git a/field/field-test.ts b/field/field-test.ts new file mode 100644 index 0000000000..d99dfee8a5 --- /dev/null +++ b/field/field-test.ts @@ -0,0 +1,28 @@ +// From https://github.com/jprichardson/field/blob/e968fd979ba1a06e35571695ddfdad513e516eae/README.md + +/// + +// get + +const config = { + environment: { + production: { + port: 80 + } + } +} + +console.log(field.get(config, 'environment:production:port')) +// => 80 + +// set + +var database: any = {} + +console.log(field.get(database, 'production.port')) +// => undefined + +// will return undefined since it never existed before +field.set(database, 'production.port', 27017) +console.log(database.production.port) +// => 27017 diff --git a/field/field.d.ts b/field/field.d.ts new file mode 100644 index 0000000000..0ffe08a01e --- /dev/null +++ b/field/field.d.ts @@ -0,0 +1,9 @@ +// Type definitions for field 1.0.1 +// Project: https://www.npmjs.com/package/field +// Definitions by: Leo Liang +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module field { + export function get(topObj: any, fields: string): any; + export function set(topObj: any, fields: string, value: any): any; +}