This package contains comprehensive examples demonstrating all aspects of the ObjectStack Data Protocol.
-
field.examples.ts - 36 field type examples
- All field types from FieldType enum
- Text, numbers, dates, boolean, select, relationships
- Media fields (image, file, avatar)
- Calculated fields (formula, summary, autonumber)
- Enhanced fields (location, address, code, color, rating, etc.)
-
object.examples.ts - 10 complete object definitions
- Simple and complex objects
- Objects with capabilities, indexes, search configuration
- Real-world CRM, e-commerce, and project management examples
-
query.examples.ts - 25 query examples
- Simple and complex queries
- Filtering, sorting, pagination
- Aggregations and joins
- Window functions
- Real-world business queries
-
filter.examples.ts - 27 filter condition examples
- All filter operators (eq, ne, gt, lt, in, etc.)
- Logical operators (AND, OR, NOT)
- String matching (contains, startsWith, endsWith)
- Complex nested conditions
- Real-world filtering scenarios
-
validation.examples.ts - 20 validation rule examples
- Script validation
- Uniqueness constraints
- State machine validation
- Format validation
- Cross-field validation
- Async validation
- Conditional validation
- Custom validation
-
hook.examples.ts - 20 lifecycle hook examples
- Before/after insert, update, delete
- Read hooks (beforeFind, afterFind)
- Data enrichment and transformation
- External system integration
- Audit trail and notifications
-
mapping.examples.ts - 10 ETL mapping examples
- CSV and JSON imports
- Data transformations (constant, lookup, map, split, join)
- Export configurations
- Complex multi-lookup scenarios
- Migration use cases
-
dataset.examples.ts - 10 seed data examples
- Reference data (countries, currencies)
- System configuration
- Demo and test data
- Environment-specific datasets
import {
SimpleTextField,
SimpleObject,
SimpleSelectQuery,
EqualityFilter,
RequiredFieldValidation,
SendNotificationHook,
SimpleCsvImportMapping,
CountryDataset,
} from '@objectstack/example-data';npm run buildThis compiles all TypeScript examples to JavaScript and generates type declarations.
Each example follows this pattern:
- Descriptive constant name (e.g.,
SimpleSalesCrmApp) - Comprehensive JSDoc comment explaining the use case
- Complete, valid example using proper schemas
- Realistic, practical scenarios (CRM, e-commerce, project management)
These examples are designed for:
- Learning: Understand ObjectStack Data Protocol patterns
- Reference: Copy-paste starting points for your own metadata
- Testing: Validate implementations against standard patterns
- Documentation: Illustrate best practices and conventions
- Configuration Keys: camelCase (e.g.,
maxLength,referenceFilters) - Machine Names: snake_case (e.g.,
first_name,project_task) - Example Constants: PascalCase (e.g.,
EmailField,ContactObject)
- ObjectStack Spec - Core schema definitions
- UI Examples - UI Protocol examples