當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript application.Application類代碼示例

本文整理匯總了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);
    });
  }
開發者ID:robfletcher,項目名稱:deck,代碼行數:17,代碼來源:loadBalancerDataUtils.ts

示例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;
    });
  }
開發者ID:emjburns,項目名稱:deck,代碼行數:20,代碼來源:skin.service.ts

示例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');
    });
開發者ID:emjburns,項目名稱:deck,代碼行數:40,代碼來源:deployInitializer.component.spec.ts

示例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');
    });
  });
});
開發者ID:emjburns,項目名稱:deck,代碼行數:63,代碼來源:deployInitializer.component.spec.ts

示例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;
 });
開發者ID:emjburns,項目名稱:deck,代碼行數:28,代碼來源:skin.service.ts

示例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;
    });
開發者ID:robfletcher,項目名稱:deck,代碼行數:13,代碼來源:versionedCloudProvider.service.ts

示例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);
      });
開發者ID:robfletcher,項目名稱:deck,代碼行數:11,代碼來源:loadBalancerDataUtils.ts

示例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;
      });
    });
開發者ID:emjburns,項目名稱:deck,代碼行數:44,代碼來源:skin.service.ts


注:本文中的core/application.Application類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。