PrimaryKey
The PrimaryKey module defines a small protocol for values that can expose a stable, string-based identifier. A value participates by implementing a method at symbol; consumers can check unknown values with isPrimaryKey and read the key with value.
Getters
Guards
isPrimaryKey
Checks whether a value implements the PrimaryKey protocol.
When to use
Use to narrow an unknown value before treating it as a PrimaryKey.
Details
This is a structural guard for the PrimaryKey.symbol property.
Gotchas
This guard does not call the method or verify that it returns a string.
See
PrimaryKeyfor the protocol being checkedvaluefor extracting the string value after narrowing
Signature
declare function isPrimaryKey(u: unknown): u is PrimaryKey;Models
PrimaryKey interface
An interface for objects that can provide a string-based primary key.
When to use
Use to define values that expose a stable string identifier for equality, hashing, caching, or persistence.
Details
Objects implementing this interface must provide a method that returns a unique string identifier.
Signature
interface PrimaryKey {
"~effect/interfaces/PrimaryKey"(): string;
}Symbols
Defines the unique identifier used to identify objects that implement the PrimaryKey interface.
When to use
Use to implement the PrimaryKey protocol as a computed property key on classes or object literals that expose a stable string identifier.
See
PrimaryKeyfor the protocol interface that declares the method keyed by this symbolvaluefor reading the string key from aPrimaryKeyvalueisPrimaryKeyfor checking whether an unknown value carries this method
Signature
declare const symbol: "~effect/interfaces/PrimaryKey";
Extracts the string value from a
PrimaryKey.When to use
Use to read the stable string identifier from a value that implements
PrimaryKey.