Development environment for building TypeScript transforms with npm dependencies, testing, and bundling
Transform Type | Files Generated | Description |
---|---|---|
Map/Filter | valueTransform.js , keyTransform.js | Transform and filter records |
Fan Out | valueTransform.js , topicTransform.js | Route records to multiple topics |
Enrich (Async) | valueTransform.js | Async data enrichment |
Un-nesting | valueTransform.js | Flatten nested objects |
src/OrderTransformer.ts
and write the code that processes your data:
transforms/
directory.
valueTransform.js
(your main business logic)keyTransform.js
(only if you need custom partitioning - leave blank otherwise)topicTransform.js
(only for fan-out routing - leave blank otherwise)Transform Type | File to Copy | Purpose |
---|---|---|
map_filter | valueTransform.js (required) | Transform and filter records |
keyTransform.js (optional) | Leave blank in Streamkap if no key changes needed | |
fan_out | valueTransform.js (required) | Transform records for routing |
topicTransform.js (optional) | Leave blank in Streamkap if no topic changes needed | |
enrich_async | valueTransform.js (required) | Enrich with external APIs |
un_nesting | valueTransform.js (required) | Flatten nested objects |
valueTransform.js
is always required (contains your main business logic)keyTransform.js
is optional - only needed for custom partitioning logic; leave blank in Streamkap if you want to keep the original message keytopicTransform.js
is optional - only needed for fan-out transforms to route messages to different topics; leave blank in Streamkap if sending to the original topictransforms/
folder.
📋 Next: See Which File to Use? below for deployment guidance.
npm test
locally before deployingnpm run build
before npm test
. The tests check the actual files that get deployed to Streamkap.