mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
angular: Better types for HTTP interceptors & response objects (#19247)
* Better types for HTTP interceptors & response objects * Fix failing tests * Don't use TS 2.3 features, staying compatible with 2.1
This commit is contained in:
committed by
John Reilly
parent
7b8116c9f2
commit
69acc07b23
@@ -1,8 +1,8 @@
|
||||
import * as angular from "angular";
|
||||
import * as ng from 'angular';
|
||||
|
||||
let myApp = angular.module('myApp', ['feature-flags']);
|
||||
const myApp = ng.module('myApp', ['feature-flags']);
|
||||
|
||||
const flagsData: Array<angular.featureflags.FlagData> = [
|
||||
const flagsData: Array<ng.featureflags.FlagData> = [
|
||||
{
|
||||
key: '1',
|
||||
active: true,
|
||||
@@ -17,15 +17,16 @@ const flagsData: Array<angular.featureflags.FlagData> = [
|
||||
}
|
||||
];
|
||||
|
||||
myApp.config(function (featureFlagsProvider: angular.featureflags.FeatureFlagsProvider) {
|
||||
myApp.config(function(featureFlagsProvider: ng.featureflags.FeatureFlagsProvider) {
|
||||
featureFlagsProvider.setInitialFlags(flagsData);
|
||||
});
|
||||
|
||||
myApp.run(function ($q: angular.IQService, $http: angular.IHttpService, featureFlags: angular.featureflags.FeatureFlagsService) {
|
||||
let deferred = $q.defer();
|
||||
deferred.resolve(flagsData);
|
||||
|
||||
featureFlags.set(deferred.promise);
|
||||
|
||||
myApp.run(function(
|
||||
$q: ng.IQService,
|
||||
$http: ng.IHttpService,
|
||||
featureFlags: ng.featureflags.FeatureFlagsService
|
||||
) {
|
||||
featureFlags.set($q.resolve(flagsData));
|
||||
featureFlags.set($http.get('/data/flags.json'));
|
||||
});
|
||||
featureFlags.set($http.get<Array<ng.featureflags.FlagData>>('/data/flags.json'));
|
||||
});
|
||||
|
||||
15
types/angular-feature-flags/index.d.ts
vendored
15
types/angular-feature-flags/index.d.ts
vendored
@@ -6,9 +6,9 @@
|
||||
|
||||
/// <reference types="angular" />
|
||||
|
||||
import * as angular from "angular";
|
||||
import * as ng from 'angular';
|
||||
|
||||
declare module "angular" {
|
||||
declare module 'angular' {
|
||||
namespace featureflags {
|
||||
export interface FlagData {
|
||||
/**
|
||||
@@ -27,17 +27,22 @@ declare module "angular" {
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* A long description of the flag to further explain the feature being toggled (only visible in the list of flags)
|
||||
* A long description of the flag to further explain the feature being toggled
|
||||
* (only visible in the list of flags)
|
||||
*/
|
||||
description: string;
|
||||
}
|
||||
|
||||
export interface FeatureFlagsProvider {
|
||||
setInitialFlags(flags: Array<FlagData>): void;
|
||||
setInitialFlags(flags: ReadonlyArray<FlagData>): void;
|
||||
}
|
||||
|
||||
export interface FeatureFlagsService {
|
||||
set(flagsPromise: angular.IPromise<FlagData> | angular.IHttpPromise<FlagData>): void;
|
||||
set(
|
||||
flagsPromise:
|
||||
| ng.IPromise<ReadonlyArray<FlagData>>
|
||||
| ng.IHttpPromise<ReadonlyArray<FlagData>>
|
||||
): void;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user