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


TypeScript map-like.MapLike类代码示例

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


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

示例1: withoutDuplicated

 /**
  * filter duplicated rules and rulesConfig and return new RuleCreatorSet.
  * @return {RuleCreatorSet}
  */
 withoutDuplicated(): RuleCreatorSet {
     const newRawRules: {
         [index: string]: any;
     } = {};
     const newRawRulesConfig: {
         [index: string]: any;
     } = {};
     // for index
     const addedRuleMap = new MapLike<string, any[]>();
     // if already contain same ruleModule and ruleConfig value
     // Fill following condition, remove it
     // 1. same ruleModule
     // 2. same ruleConfig
     this.ruleNames.forEach(ruleName => {
         const rule = this.rules[ruleName];
         const ruleConfig = this.rulesConfig[ruleName];
         const savedConfigList = addedRuleMap.get(rule) || [];
         // same ruleCreator and ruleConfig
         const hasSameConfig = savedConfigList.some(savedConfig => {
             return deepEqual(savedConfig, ruleConfig, { strict: true });
         });
         if (hasSameConfig) {
             return;
         }
         newRawRules[ruleName] = rule;
         newRawRulesConfig[ruleName] = ruleConfig;
         // saved
         savedConfigList.push(ruleConfig);
         addedRuleMap.set(rule, savedConfigList);
     });
     addedRuleMap.clear();
     return new RuleCreatorSet(newRawRules, newRawRulesConfig);
 }
开发者ID:,项目名称:,代码行数:37,代码来源:

示例2: it

 it("The user can know that the UseCase is just finished by isUseCaseFinished", () => {
     const dispatcher = new Dispatcher();
     const context = new Context({
         dispatcher,
         store: createStore({ name: "test" })
     });
     const useCase = new DispatchUseCase();
     let callCount = 0;
     const finishedCallback = () => {
         callCount++;
     };
     const calledMap = new MapLike();
     dispatcher.onDispatch((payload, meta) => {
         if (payload instanceof DidExecutedPayload && meta.useCase && meta.isUseCaseFinished) {
             calledMap.set(meta.useCase.id, true);
             finishedCallback();
         } else if (payload instanceof CompletedPayload && meta.useCase && meta.isUseCaseFinished) {
             if (calledMap.has(meta.useCase.id)) {
                 return void calledMap.delete(meta.useCase.id);
             }
             finishedCallback();
         }
         return;
     });
     return context
         .useCase(useCase)
         .execute({ type: "test" })
         .then(() => {
             assert.equal(callCount, 1);
         });
 });
开发者ID:almin,项目名称:almin,代码行数:31,代码来源:DispatcherPayloadMeta-test.ts

示例3: LogChunk

 const onCompleteUseCase = (payload: CompletedPayload, meta: DispatcherPayloadMeta) => {
     const useCase = meta.useCase;
     if (!useCase) {
         return;
     }
     const resultValue = payload.value;
     const logGroup = this.useCaseLogGroupMap.get(useCase);
     if (!logGroup) {
         console.warn("Warning(almin-logger): logGroup is not found. please report as issue.", payload, meta);
         return;
     }
     logGroup.addChunk(
         new LogChunk({
             useCase,
             payload,
             log: [`${useCase.name} is completed:`, resultValue],
             timeStamp: meta.timeStamp
         })
     );
     const transactionLogGroup = getTransactionLogGroup(meta);
     if (!transactionLogGroup) {
         outputLogging(logGroup);
     }
     this.useCaseLogGroupMap.delete(useCase);
 };
开发者ID:almin,项目名称:almin,代码行数:25,代码来源:AsyncLogger.ts

示例4: finishedCallback

 dispatcher.onDispatch((payload, meta) => {
     if (payload instanceof DidExecutedPayload && meta.useCase && meta.isUseCaseFinished) {
         calledMap.set(meta.useCase.id, true);
         finishedCallback();
     } else if (payload instanceof CompletedPayload && meta.useCase && meta.isUseCaseFinished) {
         if (calledMap.has(meta.useCase.id)) {
             return void calledMap.delete(meta.useCase.id);
         }
         finishedCallback();
     }
     return;
 });
开发者ID:almin,项目名称:almin,代码行数:12,代码来源:DispatcherPayloadMeta-test.ts

示例5: close

 /**
  * End transaction of the useCaseExecutor/UseCase
  */
 close(useCaseExecutor: UseCaseExecutor<any>) {
     const unsubscribe = this.unsubscribeMap.get(useCaseExecutor);
     if (typeof unsubscribe !== "function") {
         console.error(
             "Warning(UnitOfWork): This UseCaseExecutor is not opened or already closed.",
             useCaseExecutor
         );
         return;
     }
     unsubscribe();
     this.unsubscribeMap.delete(useCaseExecutor);
 }
开发者ID:almin,项目名称:almin,代码行数:15,代码来源:UseCaseUnitOfWork.ts

示例6: deepEqual

 this.ruleNames.forEach(ruleName => {
     const rule = this.rules[ruleName];
     const ruleConfig = this.rulesConfig[ruleName];
     const savedConfigList = addedRuleMap.get(rule) || [];
     // same ruleCreator and ruleConfig
     const hasSameConfig = savedConfigList.some(savedConfig => {
         return deepEqual(savedConfig, ruleConfig, { strict: true });
     });
     if (hasSameConfig) {
         return;
     }
     newRawRules[ruleName] = rule;
     newRawRulesConfig[ruleName] = ruleConfig;
     // saved
     savedConfigList.push(ruleConfig);
     addedRuleMap.set(rule, savedConfigList);
 });
开发者ID:,项目名称:,代码行数:17,代码来源:

示例7:

 const getTransactionLogGroup = (meta: DispatcherPayloadMeta) => {
     // if it is transaction, add this logGroup as child of transaction
     const transactionId = meta.transaction && meta.transaction.id;
     if (transactionId) {
         return this._transactionMap.get(transactionId);
     }
     return;
 };
开发者ID:almin,项目名称:almin,代码行数:8,代码来源:AsyncLogger.ts

示例8: LogGroup

 const onBeginTransaction = (_payload: TransactionBeganPayload, meta: DispatcherPayloadMeta) => {
     if (!meta.transaction) {
         console.warn("meta.transaction is missing");
         return;
     }
     const logGroup = new LogGroup({ title: meta.transaction.name, isTransaction: true });
     this._transactionMap.set(meta.transaction.id, logGroup);
     // the logGroup is root
     this.currentLogBuffer.push(logGroup);
 };
开发者ID:almin,项目名称:almin,代码行数:10,代码来源:AsyncLogger.ts


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