ChainGraph API Documentation / @badaitech/chaingraph-types / BasePort
Abstract Class: BasePort<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:15
IPort interface
Represents a generic port that holds a configuration and a value. The type parameter C must extend IPortConfig and defines the shape of the configuration.
Each port instance implements several methods:
- getConfig: Returns the current configuration.
- setConfig: Updates the configuration.
- getValue: Retrieves the current port value.
- setValue: Sets or updates the port value.
- reset: Resets the port’s value, typically to a default state.
- serialize: Serializes the port (both config and value) to a JSON-compatible value.
- deserialize: Deserializes a JSON value into the port’s configuration and value.
- validate: Validates both the configuration and the current value.
Extended by
Type Parameters
C
C extends IPortConfig = IPortConfig
The configuration type which extends IPortConfig.
Implements
IPort<C>
Constructors
Constructor
new BasePort<
C>(config):BasePort<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:19
Parameters
config
C
Returns
BasePort<C>
Properties
config
protectedconfig:C
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:16
value?
protectedoptionalvalue:ExtractValue<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:17
Accessors
id
Get Signature
get id():
string
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:25
The unique identifier of the port.
Returns
string
Implementation of
key
Get Signature
get key():
string
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:29
The key of the port.
Returns
string
Implementation of
Methods
addConnection()
addConnection(
nodeId,portId):void
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:153
Adds a connection to the port metadata.
Parameters
nodeId
string
The ID of the node to connect to.
portId
string
The ID of the port to connect to.
Returns
void
Implementation of
clone()
clone():
IPort<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:130
Clones the port instance.
Returns
IPort<C>
A new port instance with the same configuration and value.
Implementation of
cloneWithNewId()
abstractcloneWithNewId():IPort<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:231
Clones cloneWithNewId
Returns
IPort<C>
Implementation of
deserialize()
deserialize(
data):IPort<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:79
Deserializes the given JSONValue (expected to hold { config, value }) and updates both the config and current value.
Parameters
data
unknown
Returns
IPort<C>
Implementation of
deserializeConfig()
abstractdeserializeConfig(data):C
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:221
Deserializes a JSONValue into a configuration object of type C.
Parameters
data
unknown
Returns
C
Implementation of
deserializeValue()
abstractdeserializeValue(data):ExtractValue<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:226
Deserializes a JSONValue into a port value of type T.
Parameters
data
unknown
Returns
ExtractValue<C>
Implementation of
getConfig()
getConfig():
C
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:33
Retrieves the current port configuration.
Returns
C
The port configuration of type C.
Implementation of
getDefaultValue()
abstractgetDefaultValue():ExtractValue<C> |undefined
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:194
Returns the default value. Concrete implementations can use a default provided by the configuration.
Returns
ExtractValue<C> | undefined
Implementation of
getValue()
getValue():
ExtractValue<C> |undefined
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:42
Gets the current port value.
Returns
ExtractValue<C> | undefined
The port value, or undefined if none is set.
Implementation of
isSystem()
isSystem():
boolean
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:138
Check if the port is a system port.
Returns
boolean
True if the port is a system port, otherwise false.
Implementation of
isSystemError()
isSystemError():
boolean
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:142
Check if the port is a system error port.
Returns
boolean
True if the port is a system error port, otherwise false.
Implementation of
removeConnection()
removeConnection(
nodeId,portId):void
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:179
Removes a connection from the port metadata.
Parameters
nodeId
string
The ID of the node to disconnect from.
portId
string
The ID of the port to disconnect from.
Returns
void
Implementation of
reset()
reset():
void
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:50
Resets the port’s current value.
In typical implementations, this resets the value to a default (if available).
Returns
void
Implementation of
serialize()
serialize():
unknown
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:59
Serializes both config and value into a JSONValue–compatible object. It calls the abstract serializeConfig and serializeValue methods.
Returns
unknown
Implementation of
serializeConfig()
abstractserializeConfig(config):unknown
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:211
Serializes the configuration (of type C) to a JSONValue.
Parameters
config
C
Returns
unknown
Implementation of
serializeValue()
abstractserializeValue(value):unknown
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:216
Serializes the port value (of type T) to a JSONValue.
Parameters
value
ExtractValue<C>
Returns
unknown
Implementation of
setConfig()
setConfig(
newConfig):void
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:37
Updates the port configuration with a new configuration object.
Parameters
newConfig
C
New configuration of type C.
Returns
void
Implementation of
setValue()
setValue(
newValue):void
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:46
Sets or updates the port value. The value must be validated before being accepted.
Parameters
newValue
The new value to set for the port.
ExtractValue<C> | undefined
Returns
void
Implementation of
unwrap()
unwrap():
IPort<C>
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:237
Unwrap to get underlying port instance For regular ports, returns this (already unwrapped)
Returns
IPort<C>
Implementation of
validate()
validate():
boolean
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:118
Validates both the current configuration and value. It defers to the abstract validateConfig and validateValue methods.
Returns
boolean
Implementation of
validateConfig()
abstractvalidateConfig(config):boolean
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:206
Validates the port configuration. Must return true if the configuration is valid, false otherwise.
Parameters
config
C
Returns
boolean
Implementation of
validateValue()
abstractvalidateValue(value):boolean
Defined in: packages/chaingraph-types/src/port/base/BasePort.ts:200
Validates the port value. Must return true if the value is valid, false otherwise.
Parameters
value
ExtractValue<C>
Returns
boolean