All files / src/api ContractsFactory.ts

100% Statements 3/3
100% Branches 0/0
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  1x                                               1x 6x  
import { Config, Contracts } from "@jonloucks/contracts-ts/api/Contracts";
import { guardFunctions, RequiredType } from "@jonloucks/contracts-ts/api/Types";
 
/**
 * A Contracts factory to bootstrapping Global Contracts and provide
 * Standalone services for special needs.
 */
export interface ContractsFactory {
 
  /**
   * Create a new Contracts
   * Note: Caller is responsible for invoking 'open' before using methods
   * Note: If caller does invoke 'open' it is required to invoke 'close' when appropriate
   * @param config the Contracts configuration
   * @return the new Contracts
   */
  createContracts(config?: Config): RequiredType<Contracts>;
}
 
/**
 * Type guard for ContractsFactory
 * 
 * @param value the value to check
 * @return true if value is ContractsFactory, false otherwise
 */
export function guard(value: unknown): value is RequiredType<ContractsFactory> {
  return guardFunctions(value, 'createContracts');
}