@walkeros/transformer-demo 3.4.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dev.js +1 -1
- package/dist/dev.js.map +1 -1
- package/dist/dev.mjs +1 -1
- package/dist/dev.mjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/walkerOS.json +3 -1
- package/package.json +2 -2
package/dist/dev.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,s=(e,r)=>{for(var o in r)t(e,o,{get:r[o],enumerable:!0})},i={};s(i,{examples:()=>u,schemas:()=>d}),module.exports=(e=i,((e,s,i,d)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let n of o(s))a.call(e,n)||n===i||t(e,n,{get:()=>s[n],enumerable:!(d=r(s,n))||d.enumerable});return e})(t({},"__esModule",{value:!0}),e));var d={};s(d,{SettingsSchema:()=>g,settings:()=>p});var n=require("@walkeros/core/dev"),c=require("@walkeros/core/dev"),g=c.z.object({name:c.z.string().optional().describe('Custom name for logging prefix. Default: "transformer-demo"'),fields:c.z.array(c.z.string()).optional().describe("Dot-notation paths to log from the event. If omitted, logs entire event."),addProcessedFlag:c.z.boolean().optional().describe("If true, adds _processed and _processedBy flags to event.data")}).describe("Demo transformer: logs events and optionally adds processed flag"),p=(0,n.zodToSchema)(g),u={};s(u,{env:()=>l,step:()=>y});var l={};s(l,{init:()=>m,push:()=>v,simulation:()=>f});var m={log:void 0},v={log:Object.assign(()=>{},{})},f=["call:log"],y={};s(y,{addProcessedFlag:()=>h,passthrough:()=>b});var b={description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},h={description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]};//# sourceMappingURL=dev.js.map
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,s=(e,r)=>{for(var o in r)t(e,o,{get:r[o],enumerable:!0})},i={};s(i,{examples:()=>u,schemas:()=>d}),module.exports=(e=i,((e,s,i,d)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let n of o(s))a.call(e,n)||n===i||t(e,n,{get:()=>s[n],enumerable:!(d=r(s,n))||d.enumerable});return e})(t({},"__esModule",{value:!0}),e));var d={};s(d,{SettingsSchema:()=>g,settings:()=>p});var n=require("@walkeros/core/dev"),c=require("@walkeros/core/dev"),g=c.z.object({name:c.z.string().optional().describe('Custom name for logging prefix. Default: "transformer-demo"'),fields:c.z.array(c.z.string()).optional().describe("Dot-notation paths to log from the event. If omitted, logs entire event."),addProcessedFlag:c.z.boolean().optional().describe("If true, adds _processed and _processedBy flags to event.data")}).describe("Demo transformer: logs events and optionally adds processed flag"),p=(0,n.zodToSchema)(g),u={};s(u,{env:()=>l,step:()=>y});var l={};s(l,{init:()=>m,push:()=>v,simulation:()=>f});var m={log:void 0},v={log:Object.assign(()=>{},{})},f=["call:log"],y={};s(y,{addProcessedFlag:()=>h,passthrough:()=>b});var b={public:!1,description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},h={title:"Add processed flag",description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]};//# sourceMappingURL=dev.js.map
|
package/dist/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dev.ts","../src/schemas/index.ts","../src/schemas/settings.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["export * as schemas from './schemas';\nexport * as examples from './examples';\n","import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport const settings = zodToSchema(SettingsSchema);\n","import { z } from '@walkeros/core/dev';\n\n/**\n * Demo transformer settings schema.\n *\n * Mirrors: types.ts Settings\n */\nexport const SettingsSchema = z\n .object({\n name: z\n .string()\n .optional()\n .describe('Custom name for logging prefix. Default: \"transformer-demo\"'),\n fields: z\n .array(z.string())\n .optional()\n .describe(\n 'Dot-notation paths to log from the event. If omitted, logs entire event.',\n ),\n addProcessedFlag: z\n .boolean()\n .optional()\n .describe(\n 'If true, adds _processed and _processedBy flags to event.data',\n ),\n })\n .describe('Demo transformer: logs events and optionally adds processed flag');\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,cAA4B;;;ACA5B,iBAAkB;AAOX,IAAM,iBAAiB,aAC3B,OAAO;AAAA,EACN,MAAM,aACH,OAAO,EACP,SAAS,EACT,SAAS,6DAA6D;AAAA,EACzE,QAAQ,aACL,MAAM,aAAE,OAAO,CAAC,EAChB,SAAS,EACT;AAAA,IACC;AAAA,EACF;AAAA,EACF,kBAAkB,aACf,QAAQ,EACR,SAAS,EACT;AAAA,IACC;AAAA,EACF;AACJ,CAAC,EACA,SAAS,kEAAkE;;;ADtBvE,IAAM,eAAW,yBAAY,cAAc;;;AEJlD;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAM,OAAO,MAAM;AAAC;AAEb,IAAM,OAAwB;AAAA,EACnC,KAAK;AACP;AAEO,IAAM,OAAY;AAAA,EACvB,KAAK,OAAO,OAAO,MAAM,CAAC,CAAC;AAC7B;AAKO,IAAM,aAAa,CAAC,UAAU;;;ACnBrC;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,cAAgC;AAAA,EAC3C,aAAa;AAAA,EACb,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,OAAO,mBAAmB,IAAI,wBAAwB;AAAA,IAC9D,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK,CAAC;AACR;AAGO,IAAM,mBAAqC;AAAA,EAChD,aACE;AAAA,EACF,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,uBAAuB,OAAO,IAAI;AAAA,IAChD,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS,EAAE,SAAS,EAAE;AAAA,QACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;","names":["import_dev"]}
|
|
1
|
+
{"version":3,"sources":["../src/dev.ts","../src/schemas/index.ts","../src/schemas/settings.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["export * as schemas from './schemas';\nexport * as examples from './examples';\n","import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport const settings = zodToSchema(SettingsSchema);\n","import { z } from '@walkeros/core/dev';\n\n/**\n * Demo transformer settings schema.\n *\n * Mirrors: types.ts Settings\n */\nexport const SettingsSchema = z\n .object({\n name: z\n .string()\n .optional()\n .describe('Custom name for logging prefix. Default: \"transformer-demo\"'),\n fields: z\n .array(z.string())\n .optional()\n .describe(\n 'Dot-notation paths to log from the event. If omitted, logs entire event.',\n ),\n addProcessedFlag: z\n .boolean()\n .optional()\n .describe(\n 'If true, adds _processed and _processedBy flags to event.data',\n ),\n })\n .describe('Demo transformer: logs events and optionally adds processed flag');\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n public: false,\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n title: 'Add processed flag',\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,cAA4B;;;ACA5B,iBAAkB;AAOX,IAAM,iBAAiB,aAC3B,OAAO;AAAA,EACN,MAAM,aACH,OAAO,EACP,SAAS,EACT,SAAS,6DAA6D;AAAA,EACzE,QAAQ,aACL,MAAM,aAAE,OAAO,CAAC,EAChB,SAAS,EACT;AAAA,IACC;AAAA,EACF;AAAA,EACF,kBAAkB,aACf,QAAQ,EACR,SAAS,EACT;AAAA,IACC;AAAA,EACF;AACJ,CAAC,EACA,SAAS,kEAAkE;;;ADtBvE,IAAM,eAAW,yBAAY,cAAc;;;AEJlD;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAM,OAAO,MAAM;AAAC;AAEb,IAAM,OAAwB;AAAA,EACnC,KAAK;AACP;AAEO,IAAM,OAAY;AAAA,EACvB,KAAK,OAAO,OAAO,MAAM,CAAC,CAAC;AAC7B;AAKO,IAAM,aAAa,CAAC,UAAU;;;ACnBrC;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,cAAgC;AAAA,EAC3C,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,OAAO,mBAAmB,IAAI,wBAAwB;AAAA,IAC9D,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK,CAAC;AACR;AAGO,IAAM,mBAAqC;AAAA,EAChD,OAAO;AAAA,EACP,aACE;AAAA,EACF,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,uBAAuB,OAAO,IAAI;AAAA,IAChD,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS,EAAE,SAAS,EAAE;AAAA,QACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;","names":["import_dev"]}
|
package/dist/dev.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=(t,r)=>{for(var o in r)e(t,o,{get:r[o],enumerable:!0})},r={};t(r,{SettingsSchema:()=>i,settings:()=>s});import{zodToSchema as o}from"@walkeros/core/dev";import{z as a}from"@walkeros/core/dev";var i=a.object({name:a.string().optional().describe('Custom name for logging prefix. Default: "transformer-demo"'),fields:a.array(a.string()).optional().describe("Dot-notation paths to log from the event. If omitted, logs entire event."),addProcessedFlag:a.boolean().optional().describe("If true, adds _processed and _processedBy flags to event.data")}).describe("Demo transformer: logs events and optionally adds processed flag"),s=o(i),d={};t(d,{env:()=>n,step:()=>u});var n={};t(n,{init:()=>g,push:()=>c,simulation:()=>p});var g={log:void 0},c={log:Object.assign(()=>{},{})},p=["call:log"],u={};t(u,{addProcessedFlag:()=>m,passthrough:()=>l});var l={description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},m={description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]};export{d as examples,r as schemas};//# sourceMappingURL=dev.mjs.map
|
|
1
|
+
var e=Object.defineProperty,t=(t,r)=>{for(var o in r)e(t,o,{get:r[o],enumerable:!0})},r={};t(r,{SettingsSchema:()=>i,settings:()=>s});import{zodToSchema as o}from"@walkeros/core/dev";import{z as a}from"@walkeros/core/dev";var i=a.object({name:a.string().optional().describe('Custom name for logging prefix. Default: "transformer-demo"'),fields:a.array(a.string()).optional().describe("Dot-notation paths to log from the event. If omitted, logs entire event."),addProcessedFlag:a.boolean().optional().describe("If true, adds _processed and _processedBy flags to event.data")}).describe("Demo transformer: logs events and optionally adds processed flag"),s=o(i),d={};t(d,{env:()=>n,step:()=>u});var n={};t(n,{init:()=>g,push:()=>c,simulation:()=>p});var g={log:void 0},c={log:Object.assign(()=>{},{})},p=["call:log"],u={};t(u,{addProcessedFlag:()=>m,passthrough:()=>l});var l={public:!1,description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},m={title:"Add processed flag",description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]};export{d as examples,r as schemas};//# sourceMappingURL=dev.mjs.map
|
package/dist/dev.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schemas/index.ts","../src/schemas/settings.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport const settings = zodToSchema(SettingsSchema);\n","import { z } from '@walkeros/core/dev';\n\n/**\n * Demo transformer settings schema.\n *\n * Mirrors: types.ts Settings\n */\nexport const SettingsSchema = z\n .object({\n name: z\n .string()\n .optional()\n .describe('Custom name for logging prefix. Default: \"transformer-demo\"'),\n fields: z\n .array(z.string())\n .optional()\n .describe(\n 'Dot-notation paths to log from the event. If omitted, logs entire event.',\n ),\n addProcessedFlag: z\n .boolean()\n .optional()\n .describe(\n 'If true, adds _processed and _processedBy flags to event.data',\n ),\n })\n .describe('Demo transformer: logs events and optionally adds processed flag');\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,mBAAmB;;;ACA5B,SAAS,SAAS;AAOX,IAAM,iBAAiB,EAC3B,OAAO;AAAA,EACN,MAAM,EACH,OAAO,EACP,SAAS,EACT,SAAS,6DAA6D;AAAA,EACzE,QAAQ,EACL,MAAM,EAAE,OAAO,CAAC,EAChB,SAAS,EACT;AAAA,IACC;AAAA,EACF;AAAA,EACF,kBAAkB,EACf,QAAQ,EACR,SAAS,EACT;AAAA,IACC;AAAA,EACF;AACJ,CAAC,EACA,SAAS,kEAAkE;;;ADtBvE,IAAM,WAAW,YAAY,cAAc;;;AEJlD;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAM,OAAO,MAAM;AAAC;AAEb,IAAM,OAAwB;AAAA,EACnC,KAAK;AACP;AAEO,IAAM,OAAY;AAAA,EACvB,KAAK,OAAO,OAAO,MAAM,CAAC,CAAC;AAC7B;AAKO,IAAM,aAAa,CAAC,UAAU;;;ACnBrC;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,cAAgC;AAAA,EAC3C,aAAa;AAAA,EACb,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,OAAO,mBAAmB,IAAI,wBAAwB;AAAA,IAC9D,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK,CAAC;AACR;AAGO,IAAM,mBAAqC;AAAA,EAChD,aACE;AAAA,EACF,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,uBAAuB,OAAO,IAAI;AAAA,IAChD,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS,EAAE,SAAS,EAAE;AAAA,QACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/schemas/index.ts","../src/schemas/settings.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["import { zodToSchema } from '@walkeros/core/dev';\nimport { SettingsSchema } from './settings';\n\nexport { SettingsSchema, type Settings } from './settings';\nexport const settings = zodToSchema(SettingsSchema);\n","import { z } from '@walkeros/core/dev';\n\n/**\n * Demo transformer settings schema.\n *\n * Mirrors: types.ts Settings\n */\nexport const SettingsSchema = z\n .object({\n name: z\n .string()\n .optional()\n .describe('Custom name for logging prefix. Default: \"transformer-demo\"'),\n fields: z\n .array(z.string())\n .optional()\n .describe(\n 'Dot-notation paths to log from the event. If omitted, logs entire event.',\n ),\n addProcessedFlag: z\n .boolean()\n .optional()\n .describe(\n 'If true, adds _processed and _processedBy flags to event.data',\n ),\n })\n .describe('Demo transformer: logs events and optionally adds processed flag');\n\nexport type Settings = z.infer<typeof SettingsSchema>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n public: false,\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n title: 'Add processed flag',\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,mBAAmB;;;ACA5B,SAAS,SAAS;AAOX,IAAM,iBAAiB,EAC3B,OAAO;AAAA,EACN,MAAM,EACH,OAAO,EACP,SAAS,EACT,SAAS,6DAA6D;AAAA,EACzE,QAAQ,EACL,MAAM,EAAE,OAAO,CAAC,EAChB,SAAS,EACT;AAAA,IACC;AAAA,EACF;AAAA,EACF,kBAAkB,EACf,QAAQ,EACR,SAAS,EACT;AAAA,IACC;AAAA,EACF;AACJ,CAAC,EACA,SAAS,kEAAkE;;;ADtBvE,IAAM,WAAW,YAAY,cAAc;;;AEJlD;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAM,OAAO,MAAM;AAAC;AAEb,IAAM,OAAwB;AAAA,EACnC,KAAK;AACP;AAEO,IAAM,OAAY;AAAA,EACvB,KAAK,OAAO,OAAO,MAAM,CAAC,CAAC;AAC7B;AAKO,IAAM,aAAa,CAAC,UAAU;;;ACnBrC;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,cAAgC;AAAA,EAC3C,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,OAAO,mBAAmB,IAAI,wBAAwB;AAAA,IAC9D,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK,CAAC;AACR;AAGO,IAAM,mBAAqC;AAAA,EAChD,OAAO;AAAA,EACP,aACE;AAAA,EACF,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,uBAAuB,OAAO,IAAI;AAAA,IAChD,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS,EAAE,SAAS,EAAE;AAAA,QACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,i=(e,r)=>{for(var o in r)t(e,o,{get:r[o],enumerable:!0})},a={};i(a,{TransformerDemo:()=>s,default:()=>y,examples:()=>d,transformerDemo:()=>f}),module.exports=(e=a,((e,i,a,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let d of o(i))n.call(e,d)||d===a||t(e,d,{get:()=>i[d],enumerable:!(s=r(i,d))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s={},d={};i(d,{env:()=>c,step:()=>l});var c={};i(c,{init:()=>g,push:()=>p,simulation:()=>u});var g={log:void 0},p={log:Object.assign(()=>{},{})},u=["call:log"],l={};i(l,{addProcessedFlag:()=>v,passthrough:()=>m});var m={description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},v={description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]},f=e=>{const{config:t,env:r}=e,o={name:"transformer-demo",...t?.settings};return{type:"demo",config:{...t,settings:o},init(e){const t=r?.log||console.log;e.logger.debug("initialized"),t(`[${o.name}] initialized`)},push(e,t){const n=r?.log||console.log,i=o.fields?function(e,t){const r={};for(const o of t){const t=o.split(".").reduce((e,t)=>e?.[t],e);void 0!==t&&(r[o]=t)}return r}(e,o.fields):e;if(n(`[${o.name}] ${JSON.stringify(i,null,2)}`),t.logger.debug("processed event",{event:e.name}),o.addProcessedFlag)return{event:{...e,data:{...e.data||{},_processed:!0,_processedBy:o.name}}}}}};var y=f;//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,i=(e,r)=>{for(var o in r)t(e,o,{get:r[o],enumerable:!0})},a={};i(a,{TransformerDemo:()=>s,default:()=>y,examples:()=>d,transformerDemo:()=>f}),module.exports=(e=a,((e,i,a,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let d of o(i))n.call(e,d)||d===a||t(e,d,{get:()=>i[d],enumerable:!(s=r(i,d))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s={},d={};i(d,{env:()=>c,step:()=>l});var c={};i(c,{init:()=>g,push:()=>p,simulation:()=>u});var g={log:void 0},p={log:Object.assign(()=>{},{})},u=["call:log"],l={};i(l,{addProcessedFlag:()=>v,passthrough:()=>m});var m={public:!1,description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},v={title:"Add processed flag",description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]},f=e=>{const{config:t,env:r}=e,o={name:"transformer-demo",...t?.settings};return{type:"demo",config:{...t,settings:o},init(e){const t=r?.log||console.log;e.logger.debug("initialized"),t(`[${o.name}] initialized`)},push(e,t){const n=r?.log||console.log,i=o.fields?function(e,t){const r={};for(const o of t){const t=o.split(".").reduce((e,t)=>e?.[t],e);void 0!==t&&(r[o]=t)}return r}(e,o.fields):e;if(n(`[${o.name}] ${JSON.stringify(i,null,2)}`),t.logger.debug("processed event",{event:e.name}),o.addProcessedFlag)return{event:{...e,data:{...e.data||{},_processed:!0,_processedBy:o.name}}}}}};var y=f;//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/types.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["import type { Transformer, WalkerOS } from '@walkeros/core';\nimport type { Types } from './types';\n\nexport * as TransformerDemo from './types';\nexport * as examples from './examples';\n\n/**\n * Demo transformer for walkerOS\n *\n * Logs events using env.log (or console.log fallback) and passes them through.\n * Perfect for testing and demonstrations without external dependencies.\n *\n * Configuration options:\n * - name: Custom name for logging prefix (default: 'transformer-demo')\n * - fields: Array of dot-notation paths to log from the event (default: entire event)\n * - addProcessedFlag: If true, adds a 'processed' flag to the event data\n */\nexport const transformerDemo: Transformer.Init<Types> = (initContext) => {\n const { config, env } = initContext;\n const settings = {\n name: 'transformer-demo',\n ...config?.settings,\n };\n\n return {\n type: 'demo',\n config: { ...config, settings },\n\n init(context: Transformer.Context<Types>) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n context.logger.debug('initialized');\n log(`[${settings.name}] initialized`);\n },\n\n push(\n event: WalkerOS.DeepPartialEvent,\n context: Transformer.Context<Types>,\n ) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n\n const output = settings.fields\n ? extractValues(\n event as unknown as Record<string, unknown>,\n settings.fields,\n )\n : event;\n\n log(`[${settings.name}] ${JSON.stringify(output, null, 2)}`);\n context.logger.debug('processed event', {\n event: (event as { name?: string }).name,\n });\n\n // Optionally modify the event\n if (settings.addProcessedFlag) {\n return {\n event: {\n ...event,\n data: {\n ...(event.data || {}),\n _processed: true,\n _processedBy: settings.name,\n },\n } as WalkerOS.DeepPartialEvent,\n };\n }\n\n // Return void for passthrough (event unchanged)\n return;\n },\n };\n};\n\n/**\n * Extract values from object using dot notation paths\n */\nfunction extractValues(\n obj: Record<string, unknown>,\n paths: string[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const path of paths) {\n const value = path\n .split('.')\n .reduce<unknown>(\n (acc, key) => (acc as Record<string, unknown>)?.[key],\n obj,\n );\n if (value !== undefined) {\n result[path] = value;\n }\n }\n\n return result;\n}\n\nexport default transformerDemo;\n","import type { Transformer as CoreTransformer } from '@walkeros/core';\n\nexport interface Settings {\n name?: string;\n /** Fields to log from the event (dot notation paths). If omitted, logs entire event. */\n fields?: string[];\n /** If true, modifies the event by adding a 'processed' flag. */\n addProcessedFlag?: boolean;\n}\n\nexport interface Env extends CoreTransformer.BaseEnv {\n log?: (msg: string) => void;\n}\n\nexport type Types = CoreTransformer.Types<Settings, Env>;\n\nexport type Transformer = CoreTransformer.Instance<Types>;\nexport type Config = CoreTransformer.Config<Types>;\nexport type InitFn = CoreTransformer.InitFn<Types>;\nexport type Fn = CoreTransformer.Fn<Types>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAM,OAAO,MAAM;AAAC;AAEb,IAAM,OAAwB;AAAA,EACnC,KAAK;AACP;AAEO,IAAM,OAAY;AAAA,EACvB,KAAK,OAAO,OAAO,MAAM,CAAC,CAAC;AAC7B;AAKO,IAAM,aAAa,CAAC,UAAU;;;ACnBrC;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,cAAgC;AAAA,EAC3C,aAAa;AAAA,EACb,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,OAAO,mBAAmB,IAAI,wBAAwB;AAAA,IAC9D,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK,CAAC;AACR;AAGO,IAAM,mBAAqC;AAAA,EAChD,aACE;AAAA,EACF,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,uBAAuB,OAAO,IAAI;AAAA,IAChD,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS,EAAE,SAAS,EAAE;AAAA,QACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/types.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts"],"sourcesContent":["import type { Transformer, WalkerOS } from '@walkeros/core';\nimport type { Types } from './types';\n\nexport * as TransformerDemo from './types';\nexport * as examples from './examples';\n\n/**\n * Demo transformer for walkerOS\n *\n * Logs events using env.log (or console.log fallback) and passes them through.\n * Perfect for testing and demonstrations without external dependencies.\n *\n * Configuration options:\n * - name: Custom name for logging prefix (default: 'transformer-demo')\n * - fields: Array of dot-notation paths to log from the event (default: entire event)\n * - addProcessedFlag: If true, adds a 'processed' flag to the event data\n */\nexport const transformerDemo: Transformer.Init<Types> = (initContext) => {\n const { config, env } = initContext;\n const settings = {\n name: 'transformer-demo',\n ...config?.settings,\n };\n\n return {\n type: 'demo',\n config: { ...config, settings },\n\n init(context: Transformer.Context<Types>) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n context.logger.debug('initialized');\n log(`[${settings.name}] initialized`);\n },\n\n push(\n event: WalkerOS.DeepPartialEvent,\n context: Transformer.Context<Types>,\n ) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n\n const output = settings.fields\n ? extractValues(\n event as unknown as Record<string, unknown>,\n settings.fields,\n )\n : event;\n\n log(`[${settings.name}] ${JSON.stringify(output, null, 2)}`);\n context.logger.debug('processed event', {\n event: (event as { name?: string }).name,\n });\n\n // Optionally modify the event\n if (settings.addProcessedFlag) {\n return {\n event: {\n ...event,\n data: {\n ...(event.data || {}),\n _processed: true,\n _processedBy: settings.name,\n },\n } as WalkerOS.DeepPartialEvent,\n };\n }\n\n // Return void for passthrough (event unchanged)\n return;\n },\n };\n};\n\n/**\n * Extract values from object using dot notation paths\n */\nfunction extractValues(\n obj: Record<string, unknown>,\n paths: string[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const path of paths) {\n const value = path\n .split('.')\n .reduce<unknown>(\n (acc, key) => (acc as Record<string, unknown>)?.[key],\n obj,\n );\n if (value !== undefined) {\n result[path] = value;\n }\n }\n\n return result;\n}\n\nexport default transformerDemo;\n","import type { Transformer as CoreTransformer } from '@walkeros/core';\n\nexport interface Settings {\n name?: string;\n /** Fields to log from the event (dot notation paths). If omitted, logs entire event. */\n fields?: string[];\n /** If true, modifies the event by adding a 'processed' flag. */\n addProcessedFlag?: boolean;\n}\n\nexport interface Env extends CoreTransformer.BaseEnv {\n log?: (msg: string) => void;\n}\n\nexport type Types = CoreTransformer.Types<Settings, Env>;\n\nexport type Transformer = CoreTransformer.Instance<Types>;\nexport type Config = CoreTransformer.Config<Types>;\nexport type InitFn = CoreTransformer.InitFn<Types>;\nexport type Fn = CoreTransformer.Fn<Types>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n public: false,\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n title: 'Add processed flag',\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n"],"mappings":"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","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=(t,r)=>{for(var o in r)e(t,o,{get:r[o],enumerable:!0})},r={},o={};t(o,{env:()=>i,step:()=>d});var i={};t(i,{init:()=>a,push:()=>n,simulation:()=>s});var a={log:void 0},n={log:Object.assign(()=>{},{})},s=["call:log"],d={};t(d,{addProcessedFlag:()=>c,passthrough:()=>g});var g={description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},c={description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]},p=e=>{const{config:t,env:r}=e,o={name:"transformer-demo",...t?.settings};return{type:"demo",config:{...t,settings:o},init(e){const t=r?.log||console.log;e.logger.debug("initialized"),t(`[${o.name}] initialized`)},push(e,t){const i=r?.log||console.log,a=o.fields?function(e,t){const r={};for(const o of t){const t=o.split(".").reduce((e,t)=>e?.[t],e);void 0!==t&&(r[o]=t)}return r}(e,o.fields):e;if(i(`[${o.name}] ${JSON.stringify(a,null,2)}`),t.logger.debug("processed event",{event:e.name}),o.addProcessedFlag)return{event:{...e,data:{...e.data||{},_processed:!0,_processedBy:o.name}}}}}};var u=p;export{r as TransformerDemo,u as default,o as examples,p as transformerDemo};//# sourceMappingURL=index.mjs.map
|
|
1
|
+
var e=Object.defineProperty,t=(t,r)=>{for(var o in r)e(t,o,{get:r[o],enumerable:!0})},r={},o={};t(o,{env:()=>i,step:()=>d});var i={};t(i,{init:()=>a,push:()=>n,simulation:()=>s});var a={log:void 0},n={log:Object.assign(()=>{},{})},s=["call:log"],d={};t(d,{addProcessedFlag:()=>c,passthrough:()=>g});var g={public:!1,description:"Default config: logs event, passes through unchanged",in:{name:"page view",data:{title:"Getting Started",id:"/docs/getting-started"},id:"1700000600-gr0up-1",trigger:"load",entity:"page",action:"view",timestamp:1700000600,group:"gr0up",count:1,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[]},c={title:"Add processed flag",description:"With addProcessedFlag: true, adds _processed and _processedBy to event.data",in:{name:"product add",data:{name:"Everyday Ruck Snack",price:420},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}},out:[["return",{name:"product add",data:{name:"Everyday Ruck Snack",price:420,_processed:!0,_processedBy:"transformer-demo"},id:"1700000601-gr0up-2",trigger:"click",entity:"product",action:"add",timestamp:1700000601,group:"gr0up",count:2,version:{tagging:1},source:{type:"web",id:"",previous_id:""}}]]},p=e=>{const{config:t,env:r}=e,o={name:"transformer-demo",...t?.settings};return{type:"demo",config:{...t,settings:o},init(e){const t=r?.log||console.log;e.logger.debug("initialized"),t(`[${o.name}] initialized`)},push(e,t){const i=r?.log||console.log,a=o.fields?function(e,t){const r={};for(const o of t){const t=o.split(".").reduce((e,t)=>e?.[t],e);void 0!==t&&(r[o]=t)}return r}(e,o.fields):e;if(i(`[${o.name}] ${JSON.stringify(a,null,2)}`),t.logger.debug("processed event",{event:e.name}),o.addProcessedFlag)return{event:{...e,data:{...e.data||{},_processed:!0,_processedBy:o.name}}}}}};var u=p;export{r as TransformerDemo,u as default,o as examples,p as transformerDemo};//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts","../src/index.ts"],"sourcesContent":["import type { Transformer as CoreTransformer } from '@walkeros/core';\n\nexport interface Settings {\n name?: string;\n /** Fields to log from the event (dot notation paths). If omitted, logs entire event. */\n fields?: string[];\n /** If true, modifies the event by adding a 'processed' flag. */\n addProcessedFlag?: boolean;\n}\n\nexport interface Env extends CoreTransformer.BaseEnv {\n log?: (msg: string) => void;\n}\n\nexport type Types = CoreTransformer.Types<Settings, Env>;\n\nexport type Transformer = CoreTransformer.Instance<Types>;\nexport type Config = CoreTransformer.Config<Types>;\nexport type InitFn = CoreTransformer.InitFn<Types>;\nexport type Fn = CoreTransformer.Fn<Types>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n","import type { Transformer, WalkerOS } from '@walkeros/core';\nimport type { Types } from './types';\n\nexport * as TransformerDemo from './types';\nexport * as examples from './examples';\n\n/**\n * Demo transformer for walkerOS\n *\n * Logs events using env.log (or console.log fallback) and passes them through.\n * Perfect for testing and demonstrations without external dependencies.\n *\n * Configuration options:\n * - name: Custom name for logging prefix (default: 'transformer-demo')\n * - fields: Array of dot-notation paths to log from the event (default: entire event)\n * - addProcessedFlag: If true, adds a 'processed' flag to the event data\n */\nexport const transformerDemo: Transformer.Init<Types> = (initContext) => {\n const { config, env } = initContext;\n const settings = {\n name: 'transformer-demo',\n ...config?.settings,\n };\n\n return {\n type: 'demo',\n config: { ...config, settings },\n\n init(context: Transformer.Context<Types>) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n context.logger.debug('initialized');\n log(`[${settings.name}] initialized`);\n },\n\n push(\n event: WalkerOS.DeepPartialEvent,\n context: Transformer.Context<Types>,\n ) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n\n const output = settings.fields\n ? extractValues(\n event as unknown as Record<string, unknown>,\n settings.fields,\n )\n : event;\n\n log(`[${settings.name}] ${JSON.stringify(output, null, 2)}`);\n context.logger.debug('processed event', {\n event: (event as { name?: string }).name,\n });\n\n // Optionally modify the event\n if (settings.addProcessedFlag) {\n return {\n event: {\n ...event,\n data: {\n ...(event.data || {}),\n _processed: true,\n _processedBy: settings.name,\n },\n } as WalkerOS.DeepPartialEvent,\n };\n }\n\n // Return void for passthrough (event unchanged)\n return;\n },\n };\n};\n\n/**\n * Extract values from object using dot notation paths\n */\nfunction extractValues(\n obj: Record<string, unknown>,\n paths: string[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const path of paths) {\n const value = path\n .split('.')\n .reduce<unknown>(\n (acc, key) => (acc as Record<string, unknown>)?.[key],\n obj,\n );\n if (value !== undefined) {\n result[path] = value;\n }\n }\n\n return result;\n}\n\nexport default transformerDemo;\n"],"mappings":";;;;;;;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,IAAM,OAAO,MAAM;AAAC;AAEb,IAAM,OAAwB;AAAA,EACnC,KAAK;AACP;AAEO,IAAM,OAAY;AAAA,EACvB,KAAK,OAAO,OAAO,MAAM,CAAC,CAAC;AAC7B;AAKO,IAAM,aAAa,CAAC,UAAU;;;ACnBrC;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,cAAgC;AAAA,EAC3C,aAAa;AAAA,EACb,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,OAAO,mBAAmB,IAAI,wBAAwB;AAAA,IAC9D,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK,CAAC;AACR;AAGO,IAAM,mBAAqC;AAAA,EAChD,aACE;AAAA,EACF,IAAI;AAAA,IACF,MAAM;AAAA,IACN,MAAM,EAAE,MAAM,uBAAuB,OAAO,IAAI;AAAA,IAChD,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,SAAS,EAAE;AAAA,IACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,EACjD;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,MAAM;AAAA,UACN,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS,EAAE,SAAS,EAAE;AAAA,QACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;;;
|
|
1
|
+
{"version":3,"sources":["../src/types.ts","../src/examples/index.ts","../src/examples/env.ts","../src/examples/step.ts","../src/index.ts"],"sourcesContent":["import type { Transformer as CoreTransformer } from '@walkeros/core';\n\nexport interface Settings {\n name?: string;\n /** Fields to log from the event (dot notation paths). If omitted, logs entire event. */\n fields?: string[];\n /** If true, modifies the event by adding a 'processed' flag. */\n addProcessedFlag?: boolean;\n}\n\nexport interface Env extends CoreTransformer.BaseEnv {\n log?: (msg: string) => void;\n}\n\nexport type Types = CoreTransformer.Types<Settings, Env>;\n\nexport type Transformer = CoreTransformer.Instance<Types>;\nexport type Config = CoreTransformer.Config<Types>;\nexport type InitFn = CoreTransformer.InitFn<Types>;\nexport type Fn = CoreTransformer.Fn<Types>;\n","export * as env from './env';\nexport * as step from './step';\n","import type { Env } from '../types';\n\n/**\n * Example environment configurations for transformer demo\n */\n\nconst noop = () => {};\n\nexport const init: Env | undefined = {\n log: undefined,\n};\n\nexport const push: Env = {\n log: Object.assign(noop, {}) as Env['log'],\n};\n\n/**\n * Simulation tracking paths\n */\nexport const simulation = ['call:log'];\n","import type { Flow } from '@walkeros/core';\n\n/** Default passthrough — logs the event and returns void (no modification). */\nexport const passthrough: Flow.StepExample = {\n public: false,\n description: 'Default config: logs event, passes through unchanged',\n in: {\n name: 'page view',\n data: { title: 'Getting Started', id: '/docs/getting-started' },\n id: '1700000600-gr0up-1',\n trigger: 'load',\n entity: 'page',\n action: 'view',\n timestamp: 1700000600,\n group: 'gr0up',\n count: 1,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [],\n};\n\n/** addProcessedFlag enriches the event with _processed metadata. */\nexport const addProcessedFlag: Flow.StepExample = {\n title: 'Add processed flag',\n description:\n 'With addProcessedFlag: true, adds _processed and _processedBy to event.data',\n in: {\n name: 'product add',\n data: { name: 'Everyday Ruck Snack', price: 420 },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n out: [\n [\n 'return',\n {\n name: 'product add',\n data: {\n name: 'Everyday Ruck Snack',\n price: 420,\n _processed: true,\n _processedBy: 'transformer-demo',\n },\n id: '1700000601-gr0up-2',\n trigger: 'click',\n entity: 'product',\n action: 'add',\n timestamp: 1700000601,\n group: 'gr0up',\n count: 2,\n version: { tagging: 1 },\n source: { type: 'web', id: '', previous_id: '' },\n },\n ],\n ],\n};\n","import type { Transformer, WalkerOS } from '@walkeros/core';\nimport type { Types } from './types';\n\nexport * as TransformerDemo from './types';\nexport * as examples from './examples';\n\n/**\n * Demo transformer for walkerOS\n *\n * Logs events using env.log (or console.log fallback) and passes them through.\n * Perfect for testing and demonstrations without external dependencies.\n *\n * Configuration options:\n * - name: Custom name for logging prefix (default: 'transformer-demo')\n * - fields: Array of dot-notation paths to log from the event (default: entire event)\n * - addProcessedFlag: If true, adds a 'processed' flag to the event data\n */\nexport const transformerDemo: Transformer.Init<Types> = (initContext) => {\n const { config, env } = initContext;\n const settings = {\n name: 'transformer-demo',\n ...config?.settings,\n };\n\n return {\n type: 'demo',\n config: { ...config, settings },\n\n init(context: Transformer.Context<Types>) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n context.logger.debug('initialized');\n log(`[${settings.name}] initialized`);\n },\n\n push(\n event: WalkerOS.DeepPartialEvent,\n context: Transformer.Context<Types>,\n ) {\n // eslint-disable-next-line no-console\n const log = env?.log || console.log;\n\n const output = settings.fields\n ? extractValues(\n event as unknown as Record<string, unknown>,\n settings.fields,\n )\n : event;\n\n log(`[${settings.name}] ${JSON.stringify(output, null, 2)}`);\n context.logger.debug('processed event', {\n event: (event as { name?: string }).name,\n });\n\n // Optionally modify the event\n if (settings.addProcessedFlag) {\n return {\n event: {\n ...event,\n data: {\n ...(event.data || {}),\n _processed: true,\n _processedBy: settings.name,\n },\n } as WalkerOS.DeepPartialEvent,\n };\n }\n\n // Return void for passthrough (event unchanged)\n return;\n },\n };\n};\n\n/**\n * Extract values from object using dot notation paths\n */\nfunction extractValues(\n obj: Record<string, unknown>,\n paths: string[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n\n for (const path of paths) {\n const value = path\n .split('.')\n .reduce<unknown>(\n (acc, key) => (acc as Record<string, unknown>)?.[key],\n obj,\n );\n if (value !== undefined) {\n result[path] = value;\n }\n }\n\n return result;\n}\n\nexport default transformerDemo;\n"],"mappings":"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","names":[]}
|
package/dist/walkerOS.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"package": "@walkeros/transformer-demo",
|
|
4
|
-
"version": "3.4.
|
|
4
|
+
"version": "3.4.1",
|
|
5
5
|
"type": "transformer",
|
|
6
6
|
"platform": [
|
|
7
7
|
"web",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"step": {
|
|
51
51
|
"addProcessedFlag": {
|
|
52
|
+
"title": "Add processed flag",
|
|
52
53
|
"description": "With addProcessedFlag: true, adds _processed and _processedBy to event.data",
|
|
53
54
|
"in": {
|
|
54
55
|
"name": "product add",
|
|
@@ -103,6 +104,7 @@
|
|
|
103
104
|
]
|
|
104
105
|
},
|
|
105
106
|
"passthrough": {
|
|
107
|
+
"public": false,
|
|
106
108
|
"description": "Default config: logs event, passes through unchanged",
|
|
107
109
|
"in": {
|
|
108
110
|
"name": "page view",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/transformer-demo",
|
|
3
3
|
"description": "Demo transformer for walkerOS - logs and passes through events",
|
|
4
|
-
"version": "3.4.
|
|
4
|
+
"version": "3.4.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"test": "jest"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@walkeros/core": "3.4.
|
|
28
|
+
"@walkeros/core": "3.4.1"
|
|
29
29
|
},
|
|
30
30
|
"repository": {
|
|
31
31
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|