mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-01 12:42:58 +08:00
Add angular-feature-flags definitions (#11283)
This commit is contained in:
committed by
Masahiro Wakame
parent
80e5c9b45b
commit
ee9a615939
31
angular-feature-flags/angular-feature-flags-tests.ts
Normal file
31
angular-feature-flags/angular-feature-flags-tests.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
/// <reference path="angular-feature-flags.d.ts" />
|
||||
|
||||
let myApp = angular.module('myApp', ['feature-flags']);
|
||||
|
||||
const flagsData: Array<angular.featureflags.FlagData> = [
|
||||
{
|
||||
key: '1',
|
||||
active: true,
|
||||
name: 'flag1',
|
||||
description: 'This is the first flag'
|
||||
},
|
||||
{
|
||||
key: '2',
|
||||
active: false,
|
||||
name: 'flag2',
|
||||
description: 'This is the second flag'
|
||||
}
|
||||
];
|
||||
|
||||
myApp.config(function (featureFlagsProvider: angular.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);
|
||||
|
||||
featureFlags.set($http.get('/data/flags.json'));
|
||||
});
|
||||
38
angular-feature-flags/angular-feature-flags.d.ts
vendored
Normal file
38
angular-feature-flags/angular-feature-flags.d.ts
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
// Type definitions for angular-feature-flags 1.4.0
|
||||
// Project: https://github.com/mjt01/angular-feature-flags
|
||||
// Definitions by: Borislav Zhivkov <https://github.com/borislavjivkov/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="../angularjs/angular.d.ts" />
|
||||
|
||||
declare namespace angular.featureflags {
|
||||
export interface FlagData {
|
||||
/**
|
||||
* Unique key that is used from the markup to resolve whether a flag is active or not.
|
||||
*/
|
||||
key: string;
|
||||
|
||||
/**
|
||||
* Boolean value for enabling/disabling the feature
|
||||
*/
|
||||
active: boolean;
|
||||
|
||||
/**
|
||||
* A short name of the flag (only visible in the list of flags)
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
export interface FeatureFlagsService {
|
||||
set(flagsPromise: angular.IPromise<FlagData> | angular.IHttpPromise<FlagData>): void;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user