This extracts all of the attributes from a `CloudEventVX` that are not generated by the constructor (id and specversion) into their own `CloudEventVXAttributes` interface which the `CloudEventVX` interface extends. This allows TS devs to optionally provide `id` and `specversion` with proper autocompletion. Additionally, I have added a union type, `CE` in `cloudevent.ts` which represents any of `CloudEventV1`, `CloudEventv03`, `CloudEventV1Attributes` and `CloudEventV03Attributes` interfaces. Finally, this commit changes all of the user facing API to be `.ts` instead of `.js` files. The existing documentation in `./docs` was removed. It should be replaced with generated HTML from tsdocs, pending some other method of publishing API documentation. That will come as a separate, docs-only PR. Fixes: https://github.com/cloudevents/skd-javascript/issues/188 Signed-off-by: Lance Ball <lball@redhat.com> |
||
---|---|---|
.. | ||
README.md | ||
index.js | ||
package.json |
README.md
Express Example
How To Start
npm start
Spec v1.0
A Structured One
Payload example
curl -X POST \
-d'@../payload/v1/structured-event-0.json' \
-H'Content-Type:application/cloudevents+json' \
http://localhost:3000/
A Structured One with Extension
Payload example
curl -X POST \
-d'@../payload/v1/structured-event-1.json' \
-H'Content-Type:application/cloudevents+json' \
http://localhost:3000/
A Structured One with Base64 Event Data
Payload example
curl -X POST \
-d'@../payload/v1/structured-event-2.json' \
-H'Content-Type:application/cloudevents+json' \
http://localhost:3000/
A Binary One
curl -X POST \
-d'@../payload/data-0.json' \
-H'Content-Type:application/json' \
-H'ce-specversion:1.0' \
-H'ce-type:com.github.pull.create' \
-H'ce-source:https://github.com/cloudevents/spec/pull/123' \
-H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
-H'ce-time:2019-11-06T11:17:00Z' \
http://localhost:3000/
A Binary One with Extension
curl -X POST \
-d'@../payload/data-0.json' \
-H'Content-Type:application/json' \
-H'ce-specversion:1.0' \
-H'ce-type:com.github.pull.create' \
-H'ce-source:https://github.com/cloudevents/spec/pull/123' \
-H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
-H'ce-time:2019-11-06T11:17:00Z' \
-H'ce-my-extension:extension value' \
http://localhost:3000/
A Binary One with Base 64 Encoding
curl -X POST \
-d'@../payload/data-1.txt' \
-H'Content-Type:application/json' \
-H'ce-specversion:1.0' \
-H'ce-type:com.github.pull.create' \
-H'ce-source:https://github.com/cloudevents/spec/pull/123' \
-H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
-H'ce-time:2019-11-06T11:17:00Z' \
http://localhost:3000/
Spec v0.3
A Structured One
Payload example
curl -X POST \
-d'@../payload/v03/structured-event-0.json' \
-H'Content-Type:application/cloudevents+json' \
http://localhost:3000/
A Structured One with Extension
Payload example
curl -X POST \
-d'@../payload/v03/structured-event-1.json' \
-H'Content-Type:application/cloudevents+json' \
http://localhost:3000/
A Binary One
curl -X POST \
-d'@../payload/data-0.json' \
-H'Content-Type:application/json' \
-H'ce-specversion:0.3' \
-H'ce-type:com.github.pull.create' \
-H'ce-source:https://github.com/cloudevents/spec/pull/123' \
-H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
-H'ce-time:2019-06-21T17:31:00Z' \
http://localhost:3000/
A Binary One with Extension
curl -X POST \
-d'@../payload/data-0.json' \
-H'Content-Type:application/json' \
-H'ce-specversion:0.3' \
-H'ce-type:com.github.pull.create' \
-H'ce-source:https://github.com/cloudevents/spec/pull/123' \
-H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
-H'ce-time:2019-06-21T17:31:00Z' \
-H'ce-my-extension:extension value' \
http://localhost:3000/
A Binary One with Base 64 Encoding
curl -X POST \
-d'@../payload/data-1.txt' \
-H'Content-Type:application/json' \
-H'ce-specversion:0.3' \
-H'ce-type:com.github.pull.create' \
-H'ce-source:https://github.com/cloudevents/spec/pull/123' \
-H'ce-id:45c83279-c8a1-4db6-a703-b3768db93887' \
-H'ce-time:2019-06-21T17:31:00Z' \
-H'ce-datacontentencoding:base64' \
http://localhost:3000/