Function: isSSRStub()
ts
function isSSRStub(value: any): boolean;Determines if a given value is an SSR stub implementation.
Parameters
| Parameter | Type | Description |
|---|---|---|
value | any | The value to check for SSR stub status |
Returns
boolean
True if the value is an SSR stub, false otherwise
Remarks
SSR stubs are special implementations used during Server-Side Rendering that mimic the behavior of real ReactiveRecord objects without performing actual database operations. All SSR stub implementations are marked with a $_is_stub property set to true.
This function is useful for:
- Conditional logic based on SSR vs. browser environment
- Testing and debugging SSR behavior
- Implementing different code paths for stub vs. real implementations
Examples
typescript
import { useReActiveModel, isSSRStub } from "@nhtio/vue-re-active-record";
const User = useReActiveModel("user");
if (isSSRStub(User)) {
console.log("Running in SSR mode with stub implementation");
// Handle SSR-specific logic
} else {
console.log("Running in browser with real database");
// Handle browser-specific logic
}typescript
// Check if a query result is from SSR stub
const query = User.query();
const result = await query.fetch();
if (isSSRStub(result)) {
// Result is from SSR stub (empty array)
console.log("SSR stub result:", result); // []
} else {
// Result is from real database
console.log("Real database result:", result);
}See
isWebContext for environment detection