当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript featureToggles.FeatureToggles类代码示例

本文整理汇总了TypeScript中utils/featureToggles.FeatureToggles的典型用法代码示例。如果您正苦于以下问题:TypeScript FeatureToggles类的具体用法?TypeScript FeatureToggles怎么用?TypeScript FeatureToggles使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了FeatureToggles类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: renderView

    ErrorHandling.apply(async (req: express.Request, res: express.Response, next: express.NextFunction): Promise<void> => {
      const { externalId } = req.params
      const form: Form<Response> = req.body

      if (form.hasErrors()) {
        renderView(form, res)
      } else {
        const claim: Claim = res.locals.claim
        const draft: Draft<ResponseDraft> = res.locals.responseDraft
        const user: User = res.locals.user

        draft.document.response = form.model

        if (draft.document.response.type === ResponseType.FULL_ADMISSION) {
          if (!draft.document.fullAdmission) {
            draft.document.fullAdmission = new FullAdmission()
          }
          delete draft.document.partialAdmission
          delete draft.document.freeMediation
        } else if (draft.document.response.type === ResponseType.PART_ADMISSION) {
          if (!draft.document.partialAdmission) {
            draft.document.partialAdmission = new PartialAdmission()
          }
          delete draft.document.fullAdmission
          delete draft.document.rejectAllOfClaim
          delete draft.document.freeMediation
        } else {
          delete draft.document.fullAdmission
          delete draft.document.partialAdmission
          delete draft.document.statementOfMeans
        }

        await new DraftService().save(draft, user.bearerToken)

        switch (draft.document.response.type) {
          case ResponseType.DEFENCE:
            res.redirect(Paths.defenceRejectAllOfClaimPage.evaluateUri({ externalId: externalId }))
            break

          case ResponseType.PART_ADMISSION:
            if (FeatureToggles.hasAnyAuthorisedFeature(claim.features, 'admissions')) {
              res.redirect(PartAdmissionPaths.alreadyPaidPage.evaluateUri({ externalId: externalId }))
            } else {
              res.redirect(Paths.sendYourResponseByEmailPage.evaluateUri({ externalId: externalId }))
            }
            break

          case ResponseType.FULL_ADMISSION:
            if (FeatureToggles.hasAnyAuthorisedFeature(claim.features, 'admissions')) {
              res.redirect(Paths.taskListPage.evaluateUri({ externalId: claim.externalId }))
            } else {
              res.redirect(Paths.sendYourResponseByEmailPage.evaluateUri({ externalId: externalId }))
            }
            break

          default:
            next(new Error(`Unknown response type: ${draft.document.response.type}`))
        }
      }
    }))
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:60,代码来源:response-type.ts

示例2: buildResolvingClaimSection

  static buildResolvingClaimSection (draft: ResponseDraft, claim: Claim, mediationDraft?: MediationDraft): TaskList {
    if (draft.isResponseRejectedFullyWithDispute()
      || TaskListBuilder.isRejectedFullyBecausePaidLessThanClaimAmountAndExplanationGiven(claim, draft)
      || TaskListBuilder.isPartiallyAdmittedAndWhyDoYouDisagreeTaskCompleted(draft)) {
      let path: string
      if (FeatureToggles.isEnabled('mediation')) {
        path = MediationPaths.freeMediationPage.evaluateUri({ externalId: claim.externalId })
        return new TaskList(
          'Try to resolve the claim', [
            new TaskListItem(
              'Free telephone mediation',
              path,
              FreeMediationTask.isCompleted(draft, mediationDraft)
            )
          ]
        )
      } else {
        path = Paths.freeMediationPage.evaluateUri({ externalId: claim.externalId })
        return new TaskList(
          'Resolving the claim', [
            new TaskListItem(
              'Consider free mediation',
              path,
              FreeMediationTask.isCompleted(draft, mediationDraft)
            )
          ]
        )
      }

    }

    return undefined
  }
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:33,代码来源:taskListBuilder.ts

示例3: convertFreeMediation

 private static convertFreeMediation (mediationDraft: MediationDraft, draft: ResponseDraft): YesNoOption {
   if (FeatureToggles.isEnabled('mediation')) {
     return FreeMediationUtil.convertFreeMediation(mediationDraft.youCanOnlyUseMediation)
   } else {
     return FreeMediationUtil.convertFreeMediation(draft.freeMediation)
   }
 }
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:7,代码来源:responseModelConverter.ts

示例4: it

        it('should be not available when defendant did not request free mediation and claimant rejected response', () => {
          claim = new Claim().deserialize({
            ...claimStoreServiceMock.sampleClaimObj, ...{
              response: {
                ...partialAdmissionWithPaymentBySetDateData,
                freeMediation: 'no'
              }
            }
          })
          draft = new DraftClaimantResponse().deserialize({
            ...draftStoreServiceMock.sampleClaimantResponseDraftObj, ...{
              settleAdmitted: {
                admitted: {
                  option: 'no'
                }
              }
            }
          })

          const taskList: TaskList = TaskListBuilder.buildHowYouWantToRespondSection(draft, claim, new MediationDraft())
          if (FeatureToggles.isEnabled('mediation')) {
            expect(taskList.tasks.find(task => task.name === featureToggleMediationTaskLabel)).to.be.undefined
          } else {
            expect(taskList.tasks.find(task => task.name === mediationTaskLabel)).to.be.undefined
          }
        })
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:26,代码来源:taskListBuilder.ts

示例5: isCompleted

 static isCompleted (claimantResponseDraft: DraftClaimantResponse, mediationDraft: MediationDraft): boolean {
   if (FeatureToggles.isEnabled('mediation')) {
     return mediationDraft.willYouTryMediation !== undefined && validator.validateSync(mediationDraft.willYouTryMediation).length === 0
   } else {
     return claimantResponseDraft.freeMediation !== undefined && validator.validateSync(claimantResponseDraft.freeMediation).length === 0
   }
 }
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:7,代码来源:freeMediationTask.ts

示例6: async

const getPayClient = async (req: express.Request): Promise<PayClient> => {
  const authToken = await new ServiceAuthTokenFactoryImpl().get()

  if (FeatureToggles.isEnabled('mockPay')) {
    return new MockPayClient(req.url)
  }
  return new GovPayClient(authToken)
}
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:8,代码来源:pay.ts

示例7: isCompleted

 static isCompleted (responseDraft: ResponseDraft, mediationDraft: MediationDraft): boolean {
   if (FeatureToggles.isEnabled('mediation')) {
     return (this.isWillYouTryMediationCompleted(mediationDraft)) ||
       this.isYouCanOnlyUseMediationCompleted(mediationDraft) &&
       this.isCanWeUseCompleted(mediationDraft)
   } else {
     return responseDraft.freeMediation !== undefined && validator.validateSync(responseDraft.freeMediation).length === 0
   }
 }
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:9,代码来源:freeMediationTask.ts

示例8:

    return GuardFactory.createAsync(async (req: express.Request, res: express.Response) => {
      if (!FeatureToggles.isEnabled('newFeaturesConsent')) {
        return true
      }

      const user: User = res.locals.user
      const roles = await claimStoreClient.retrieveUserRoles(user)

      return roles.length !== 0 && roles.some(role => role.includes('cmc-new-features-consent'))
    }, (req: express.Request, res: express.Response): void => {
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:10,代码来源:newFeaturesConsentGuard.ts

示例9: it

    it('Should not return "Free telephone mediation" when not fully reject', () => {
      isResponseRejectedFullyWithDisputeStub.returns(false)

      const tasks: TaskListItem[] = TaskListBuilder.buildRemainingTasks(new ResponseDraft(), claim, new MediationDraft())
      if (FeatureToggles.isEnabled('mediation')) {
        expect(tasks.map(task => task.name)).to.not.contain(featureToggleMediationTaskLabel)
      } else {
        expect(tasks.map(task => task.name)).to.not.contain(mediationTaskLabel)
      }
    })
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:10,代码来源:taskListBuilder.ts


注:本文中的utils/featureToggles.FeatureToggles类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。