File size: 707 Bytes
d9494a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { isNonEmptyString } from '@sniptt/guards';

import { LogicFunctionExecutionMode } from 'src/engine/metadata-modules/logic-function/logic-function.entity';
import { type FlatLogicFunction } from 'src/engine/metadata-modules/logic-function/types/flat-logic-function.type';

export type LogicFunctionPrebuiltStateFields = Pick<
  FlatLogicFunction,
  'executionMode' | 'isBuildUpToDate' | 'checksum'
>;

export const isLogicFunctionReadyForPrebuiltInstall = (
  flatLogicFunction: LogicFunctionPrebuiltStateFields,
): boolean =>
  flatLogicFunction.executionMode === LogicFunctionExecutionMode.PREBUILT &&
  flatLogicFunction.isBuildUpToDate === true &&
  isNonEmptyString(flatLogicFunction.checksum);