MCPcopy Create free account
hub / github.com/cortex-js/compute-engine / validateSequenceDefinition

Function validateSequenceDefinition

src/compute-engine/sequence.ts:433–468  ·  view source on GitHub ↗
(
  ce: ComputeEngine,
  name: string,
  def: SequenceDefinition
)

Source from the content-addressed store, hash-verified

431 memo.set(memoKey, result);
432 }
433
434 return isNumber(result) ? result : undefined;
435 };
436}
437
438/**
439 * Validate a sequence definition.
440 */
441export function validateSequenceDefinition(
442 ce: ComputeEngine,
443 name: string,
444 def: SequenceDefinition
445): { valid: boolean; error?: string } {
446 // Must have base cases
447 if (!def.base || Object.keys(def.base).length === 0) {
448 return {
449 valid: false,
450 error: `Sequence "${name}" requires at least one base case`,
451 };
452 }
453
454 // Must have recurrence
455 if (!def.recurrence) {
456 return {
457 valid: false,
458 error: `Sequence "${name}" requires a recurrence relation`,
459 };
460 }
461
462 // Parse recurrence to check validity
463 const recurrence =
464 typeof def.recurrence === 'string'
465 ? ce.parse(def.recurrence)!
466 : def.recurrence;
467
468 if (!recurrence.isValid) {
469 return {
470 valid: false,
471 error: `Invalid recurrence for "${name}": expression contains errors`,

Callers 2

declareSequenceFunction · 0.90
tryFinalizeSequenceFunction · 0.85

Calls 2

keysMethod · 0.65
parseMethod · 0.65

Tested by

no test coverage detected