UNPKG

@distributed-functions/core

Version:
36 lines 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomEvent = void 0; const uuid_1 = require("uuid"); const CustomEvent = (name, metaConstructor) => { const fn = (payload, meta) => { return { id: (0, uuid_1.v4)(), name, payload, meta: metaConstructor(meta) }; }; fn.eventName = name; return fn; }; exports.CustomEvent = CustomEvent; // # USAGE // type ExampleEventMeta = { // traceId: string // ts: number // sub?: string // sid?: string // } // type ExampleEvent<Name extends string, Payload extends Record<any, any>> = CustomEvent<Name, Payload, ExampleEventMeta> // export const ExampleEvent = <Name extends string, Payload extends Record<any, any>>(name: Name) => { // return CustomEvent<Name, ExampleEventMeta, Payload>(name, (meta) => { // return { // traceId: meta?.traceId ?? v4(), // ts: meta?.ts ?? Date.now(), // sub: meta?.sub, // sid: meta?.sid // } // }) // } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2N1c3RvbS1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBeUI7QUFTbEIsTUFBTSxXQUFXLEdBQUcsQ0FDekIsSUFBVSxFQUNWLGVBQStDLEVBQ2IsRUFBRTtJQUNwQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBb0IsRUFBRSxFQUFFO1FBQ3BELE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBQSxTQUFFLEdBQUU7WUFDUixJQUFJO1lBQ0osT0FBTztZQUNQLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDO1NBQzVCLENBQUE7SUFDSCxDQUFDLENBQUE7SUFFRCxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtJQUVuQixPQUFPLEVBQUUsQ0FBQTtBQUNYLENBQUMsQ0FBQTtBQWhCWSxRQUFBLFdBQVcsZUFnQnZCO0FBRUQsVUFBVTtBQUVWLDRCQUE0QjtBQUM1QixvQkFBb0I7QUFDcEIsZUFBZTtBQUNmLGlCQUFpQjtBQUNqQixpQkFBaUI7QUFDakIsSUFBSTtBQUVKLDBIQUEwSDtBQUUxSCx1R0FBdUc7QUFDdkcsMEVBQTBFO0FBQzFFLGVBQWU7QUFDZix3Q0FBd0M7QUFDeEMsb0NBQW9DO0FBQ3BDLHdCQUF3QjtBQUN4Qix1QkFBdUI7QUFDdkIsUUFBUTtBQUNSLE9BQU87QUFDUCxJQUFJIn0=