DefinitelyTyped/types/cfenv/cfenv-tests.ts
Jordan Adams 56a540b7fc
Adds @types/cfenv (#42503)
* adds types for cfenv

* changes AppEnv from exported class to interface
2020-02-20 11:02:47 -08:00

35 lines
1.3 KiB
TypeScript

import * as cfenv from 'cfenv';
const appEnv = cfenv.getAppEnv(); // $ExpectType AppEnv
cfenv.getAppEnv({}); // $ExpectType AppEnv
cfenv.getAppEnv({ name: 'foo' }); // $ExpectType AppEnv
cfenv.getAppEnv({ protocol: 'foo' }); // $ExpectType AppEnv
cfenv.getAppEnv({ vcap: {} }); // $ExpectType AppEnv
cfenv.getAppEnv({ vcap: { application: 'foo' } }); // $ExpectType AppEnv
cfenv.getAppEnv({ vcap: { services: 'foo' } }); // $ExpectType AppEnv
cfenv.getAppEnv({ vcapFile: 'foo' }); // $ExpectType AppEnv
appEnv.app; // $ExpectType object
appEnv.isLocal; // $ExpectType boolean
appEnv.name; // $ExpectType string
appEnv.port; // $ExpectType number
appEnv.bind; // $ExpectType string
appEnv.urls; // $ExpectType string[]
appEnv.url; // $ExpectType string
appEnv.services; // $ExpectType object
appEnv.toJSON(); // $ExpectType string
appEnv.getServices(); // $ExpectType { [key: string]: Service; }
appEnv.getService('foo'); // $ExpectType Service | null
appEnv.getService(/foo/); // $ExpectType Service | null
appEnv.getServiceURL('foo'); // $ExpectType string | null
appEnv.getServiceURL(/foo/); // $ExpectType string | null
appEnv.getServiceURL('foo', { a: 'b' }); // $ExpectType string | null
appEnv.getServiceCreds('foo'); // $ExpectType object | null
appEnv.getServiceCreds(/foo/); // $ExpectType object | null