Skip to content

ChainGraph API Documentation / @badaitech/chaingraph-types / ObjectSchemaCopyTo

Function: ObjectSchemaCopyTo()

ObjectSchemaCopyTo(predicate, config): PropertyDecorator

Defined in: packages/chaingraph-types/src/decorator/object-schema-copy-to.decorator.ts:102

Decorator for automatically copying object schema to target ports

This decorator simplifies the common pattern of copying an object port's schema to another object port when the source port is updated. It internally uses the

Parameters

predicate

TargetPortPredicate

Function to identify target port(s) for schema copying

config

ObjectSchemaCopyToConfig = {}

Optional configuration for schema copying behavior

Returns

PropertyDecorator

On Port Update

decorator to handle port update events.

Example usage:

typescript
class MyNode extends BaseNode {
  @Passthrough()
  @PortObject({
    title: 'Schema',
    schema: { properties: {} },
    isSchemaMutable: true,
  })
  @ObjectSchemaCopyTo(
    (port) => port.getConfig().key === 'output' && !port.getConfig().parentId
  )
  schema: Record<string, any> = {}

  @Output()
  @PortObject({
    title: 'Output',
    schema: { properties: {} },
  })
  output: Record<string, any> = {}
}

Licensed under BUSL-1.1