本文整理汇总了TypeScript中core/application.Application类的典型用法代码示例。如果您正苦于以下问题:TypeScript Application类的具体用法?TypeScript Application怎么用?TypeScript Application使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Application类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: populateLoadBalancers
public static populateLoadBalancers(application: Application, serverGroup: IServerGroup): IPromise<ILoadBalancer[]> {
return application.getDataSource('loadBalancers').ready().then(() => {
const loadBalancers = serverGroup.loadBalancers.map((lbName: string) => {
const match = application.getDataSource('loadBalancers')
.data
.find((lb: ILoadBalancer): boolean => {
return lb.name === lbName
&& lb.account === serverGroup.account
&& (lb.region === serverGroup.region || lb.region === 'global');
});
return this.buildLoadBalancer(match, serverGroup);
});
return loadBalancers.filter(x => !!x);
});
}
示例2: getMonikerForInstance
public static getMonikerForInstance(cloudProvider: string, instanceId: string, app: Application): IPromise<IMoniker> {
return app.ready().then(() => {
const serverGroups = app.getDataSource('serverGroups').data as IServerGroup[];
const loadBalancers = app.getDataSource('loadBalancers').data as ILoadBalancer[];
const loadBalancerServerGroups = loadBalancers.map(lb => lb.serverGroups).reduce((acc, sg) => acc.concat(sg), []);
const hasInstance = (obj: IServerGroup | ILoadBalancer) => {
return (
obj.cloudProvider === cloudProvider && (obj.instances || []).some(instance => instance.id === instanceId)
);
};
const all: Array<IServerGroup | ILoadBalancer> = []
.concat(serverGroups)
.concat(loadBalancers)
.concat(loadBalancerServerGroups);
const found = all.find(hasInstance);
return found && found.moniker;
});
}
示例3: it
it('creates separate template options for each account and region of a cluster', () => {
application = ApplicationModelBuilder.createApplicationForTests('app', { key: 'serverGroups', lazy: true });
application.getDataSource('serverGroups').data = [
{
name: 'sg1',
cluster: 'cluster1',
account: 'test',
region: 'us-east-1',
cloudProvider: 'aws',
category: 'serverGroup',
},
{
name: 'sg2',
cluster: 'cluster1',
account: 'prod',
region: 'us-east-1',
cloudProvider: 'aws',
category: 'serverGroup',
},
{
name: 'sg2',
cluster: 'cluster1',
account: 'prod',
region: 'us-east-1',
cloudProvider: 'aws',
category: 'serverGroup',
},
];
initialize();
const templates = ctrl.templates;
expect(templates.length).toBe(3);
// first template is always "None"
expect(templates[0].label).toBe('None');
expect(templates[1].cluster).toBe('cluster1');
expect(templates[1].cluster).toBe('cluster1');
expect(templates[2].cluster).toBe('cluster1');
});
示例4: describe
describe('Component: deployInitializer', () => {
let ctrl: DeployInitializerController, $componentController: IComponentControllerService, application: Application;
const initialize = () => {
ctrl = $componentController(
'deployInitializer',
{},
{ application, command: { viewState: {} }, cloudProvider: 'aws' },
) as DeployInitializerController;
ctrl.$onInit();
};
beforeEach(mock.module(DEPLOY_INITIALIZER_COMPONENT));
beforeEach(
mock.inject((_$componentController_: IComponentControllerService) => {
$componentController = _$componentController_;
}),
);
describe('template initialization', () => {
it('creates separate template options for each account and region of a cluster', () => {
application = ApplicationModelBuilder.createApplicationForTests('app', { key: 'serverGroups', lazy: true });
application.getDataSource('serverGroups').data = [
{
name: 'sg1',
cluster: 'cluster1',
account: 'test',
region: 'us-east-1',
cloudProvider: 'aws',
category: 'serverGroup',
},
{
name: 'sg2',
cluster: 'cluster1',
account: 'prod',
region: 'us-east-1',
cloudProvider: 'aws',
category: 'serverGroup',
},
{
name: 'sg2',
cluster: 'cluster1',
account: 'prod',
region: 'us-east-1',
cloudProvider: 'aws',
category: 'serverGroup',
},
];
initialize();
const templates = ctrl.templates;
expect(templates.length).toBe(3);
// first template is always "None"
expect(templates[0].label).toBe('None');
expect(templates[1].cluster).toBe('cluster1');
expect(templates[1].cluster).toBe('cluster1');
expect(templates[2].cluster).toBe('cluster1');
});
});
});
示例5:
return app.ready().then(() => {
for (const serverGroup of app.getDataSource('serverGroups').data as IServerGroup[]) {
if (
serverGroup.cloudProvider === cloudProvider &&
(serverGroup.instances || []).some(instance => instance.id === instanceId)
) {
return this.mapAccountToSkin(serverGroup.account);
}
}
for (const loadBalancer of app.getDataSource('loadBalancers').data as ILoadBalancer[]) {
if (loadBalancer.cloudProvider === cloudProvider) {
if ((loadBalancer.instances || []).some(instance => instance.id === instanceId)) {
return this.mapAccountToSkin(loadBalancer.account);
}
// Hit a crazy Babel bug - can't return from a nested for...of loop.
for (let i = 0; i < (loadBalancer.serverGroups || []).length; i++) {
const serverGroup = loadBalancer.serverGroups[i];
if (
serverGroup.isDisabled &&
(serverGroup.instances || []).some(instance => instance.id === instanceId)
) {
return this.mapAccountToSkin(loadBalancer.account);
}
}
}
}
return null;
});
示例6:
return app.ready().then(() => {
const serverGroups = app.getDataSource('serverGroups').data as IServerGroup[];
const loadBalancers = app.getDataSource('loadBalancers').data as ILoadBalancer[];
const loadBalancerServerGroups = loadBalancers.map(lb => lb.serverGroups).reduce((acc, sg) => acc.concat(sg), []);
const hasInstance = (obj: IServerGroup | ILoadBalancer) => {
return obj.cloudProvider === cloudProvider && (obj.instances || []).some(instance => instance.id === instanceId);
};
const all: (IServerGroup | ILoadBalancer)[] = [].concat(serverGroups).concat(loadBalancers).concat(loadBalancerServerGroups);
const found = all.find(hasInstance);
return found && found.account;
});
示例7:
const loadBalancers = serverGroup.loadBalancers.map((lbName: string) => {
const match = application.getDataSource('loadBalancers')
.data
.find((lb: ILoadBalancer): boolean => {
return lb.name === lbName
&& lb.account === serverGroup.account
&& (lb.region === serverGroup.region || lb.region === 'global');
});
return this.buildLoadBalancer(match, serverGroup);
});
示例8: if
return this.getAccounts().then(accounts => {
const skins = accounts.reduce((versions, account) => {
if (account.cloudProvider === cloudProvider && !!account.skin) {
versions.add(account.skin);
}
return versions;
}, new Set<string>());
if (skins.size === 0) {
// Rely on the CloudProviderRegistry to return the default skin implementation.
return null;
} else if (skins.size === 1) {
return Array.from(skins)[0];
}
return app.ready().then(() => {
for (const serverGroup of app.getDataSource('serverGroups').data as IServerGroup[]) {
if (
serverGroup.cloudProvider === cloudProvider &&
(serverGroup.instances || []).some(instance => instance.id === instanceId)
) {
return this.mapAccountToSkin(serverGroup.account);
}
}
for (const loadBalancer of app.getDataSource('loadBalancers').data as ILoadBalancer[]) {
if (loadBalancer.cloudProvider === cloudProvider) {
if ((loadBalancer.instances || []).some(instance => instance.id === instanceId)) {
return this.mapAccountToSkin(loadBalancer.account);
}
// Hit a crazy Babel bug - can't return from a nested for...of loop.
for (let i = 0; i < (loadBalancer.serverGroups || []).length; i++) {
const serverGroup = loadBalancer.serverGroups[i];
if (
serverGroup.isDisabled &&
(serverGroup.instances || []).some(instance => instance.id === instanceId)
) {
return this.mapAccountToSkin(loadBalancer.account);
}
}
}
}
return null;
});
});