@walkeros/transformer-demo 3.0.2 → 3.1.0
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.d.mts +14 -2
- package/dist/dev.d.ts +14 -2
- 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.d.mts +14 -2
- package/dist/index.d.ts +14 -2
- 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 +83 -1
- package/package.json +7 -3
package/dist/dev.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _walkeros_core_dev from '@walkeros/core/dev';
|
|
2
2
|
import { z } from '@walkeros/core/dev';
|
|
3
|
-
import { Transformer } from '@walkeros/core';
|
|
3
|
+
import { Transformer, Flow } from '@walkeros/core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Demo transformer settings schema.
|
|
@@ -41,9 +41,21 @@ declare namespace env {
|
|
|
41
41
|
export { env_init as init, env_push as push, env_simulation as simulation };
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/** Default passthrough — logs the event and returns void (no modification). */
|
|
45
|
+
declare const passthrough: Flow.StepExample;
|
|
46
|
+
/** addProcessedFlag enriches the event with _processed metadata. */
|
|
47
|
+
declare const addProcessedFlag: Flow.StepExample;
|
|
48
|
+
|
|
49
|
+
declare const step_addProcessedFlag: typeof addProcessedFlag;
|
|
50
|
+
declare const step_passthrough: typeof passthrough;
|
|
51
|
+
declare namespace step {
|
|
52
|
+
export { step_addProcessedFlag as addProcessedFlag, step_passthrough as passthrough };
|
|
53
|
+
}
|
|
54
|
+
|
|
44
55
|
declare const index_env: typeof env;
|
|
56
|
+
declare const index_step: typeof step;
|
|
45
57
|
declare namespace index {
|
|
46
|
-
export { index_env as env };
|
|
58
|
+
export { index_env as env, index_step as step };
|
|
47
59
|
}
|
|
48
60
|
|
|
49
61
|
export { index as examples, index$1 as schemas };
|
package/dist/dev.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _walkeros_core_dev from '@walkeros/core/dev';
|
|
2
2
|
import { z } from '@walkeros/core/dev';
|
|
3
|
-
import { Transformer } from '@walkeros/core';
|
|
3
|
+
import { Transformer, Flow } from '@walkeros/core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Demo transformer settings schema.
|
|
@@ -41,9 +41,21 @@ declare namespace env {
|
|
|
41
41
|
export { env_init as init, env_push as push, env_simulation as simulation };
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/** Default passthrough — logs the event and returns void (no modification). */
|
|
45
|
+
declare const passthrough: Flow.StepExample;
|
|
46
|
+
/** addProcessedFlag enriches the event with _processed metadata. */
|
|
47
|
+
declare const addProcessedFlag: Flow.StepExample;
|
|
48
|
+
|
|
49
|
+
declare const step_addProcessedFlag: typeof addProcessedFlag;
|
|
50
|
+
declare const step_passthrough: typeof passthrough;
|
|
51
|
+
declare namespace step {
|
|
52
|
+
export { step_addProcessedFlag as addProcessedFlag, step_passthrough as passthrough };
|
|
53
|
+
}
|
|
54
|
+
|
|
44
55
|
declare const index_env: typeof env;
|
|
56
|
+
declare const index_step: typeof step;
|
|
45
57
|
declare namespace index {
|
|
46
|
-
export { index_env as env };
|
|
58
|
+
export { index_env as env, index_step as step };
|
|
47
59
|
}
|
|
48
60
|
|
|
49
61
|
export { index as examples, index$1 as schemas };
|
package/dist/dev.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,i=(e,r)=>{for(var o in r)t(e,o,{get:r[o],enumerable:!0})},s={};i(s,{examples:()=>u,schemas:()=>d}),module.exports=(e=s,((e,i,s,d)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of o(i))a.call(e,n)||n===s||t(e,n,{get:()=>i[n],enumerable:!(d=r(i,n))||d.enumerable});return e})(t({},"__esModule",{value:!0}),e));var d={};i(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={};i(u,{env:()=>l,step:()=>y});var l={};i(l,{init:()=>m,push:()=>v,simulation:()=>f});var m={log:void 0},v={log:Object.assign(()=>{},{})},f=["call:log"],y={};i(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:void 0},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:{event:{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"],"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';\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"],"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;;;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;","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 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: undefined,\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 event: {\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"],"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;AACP;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,OAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,cAAc;AAAA,MAChB;AAAA,MACA,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,EAAE,SAAS,EAAE;AAAA,MACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,IACjD;AAAA,EACF;AACF;","names":["import_dev"]}
|
package/dist/dev.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,
|
|
1
|
+
var e=Object.defineProperty,t=(t,o)=>{for(var r in o)e(t,r,{get:o[r],enumerable:!0})},o={};t(o,{SettingsSchema:()=>i,settings:()=>s});import{zodToSchema as r}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=r(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:void 0},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:{event:{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,o 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"],"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';\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"],"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;;;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;","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 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: undefined,\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 event: {\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"],"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;AACP;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,OAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,cAAc;AAAA,MAChB;AAAA,MACA,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS,EAAE,SAAS,EAAE;AAAA,MACtB,QAAQ,EAAE,MAAM,OAAO,IAAI,IAAI,aAAa,GAAG;AAAA,IACjD;AAAA,EACF;AACF;","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Transformer as Transformer$1 } from '@walkeros/core';
|
|
1
|
+
import { Transformer as Transformer$1, Flow } from '@walkeros/core';
|
|
2
2
|
|
|
3
3
|
interface Settings {
|
|
4
4
|
name?: string;
|
|
@@ -41,9 +41,21 @@ declare namespace env {
|
|
|
41
41
|
export { env_init as init, env_push as push, env_simulation as simulation };
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/** Default passthrough — logs the event and returns void (no modification). */
|
|
45
|
+
declare const passthrough: Flow.StepExample;
|
|
46
|
+
/** addProcessedFlag enriches the event with _processed metadata. */
|
|
47
|
+
declare const addProcessedFlag: Flow.StepExample;
|
|
48
|
+
|
|
49
|
+
declare const step_addProcessedFlag: typeof addProcessedFlag;
|
|
50
|
+
declare const step_passthrough: typeof passthrough;
|
|
51
|
+
declare namespace step {
|
|
52
|
+
export { step_addProcessedFlag as addProcessedFlag, step_passthrough as passthrough };
|
|
53
|
+
}
|
|
54
|
+
|
|
44
55
|
declare const index_env: typeof env;
|
|
56
|
+
declare const index_step: typeof step;
|
|
45
57
|
declare namespace index {
|
|
46
|
-
export { index_env as env };
|
|
58
|
+
export { index_env as env, index_step as step };
|
|
47
59
|
}
|
|
48
60
|
|
|
49
61
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Transformer as Transformer$1 } from '@walkeros/core';
|
|
1
|
+
import { Transformer as Transformer$1, Flow } from '@walkeros/core';
|
|
2
2
|
|
|
3
3
|
interface Settings {
|
|
4
4
|
name?: string;
|
|
@@ -41,9 +41,21 @@ declare namespace env {
|
|
|
41
41
|
export { env_init as init, env_push as push, env_simulation as simulation };
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/** Default passthrough — logs the event and returns void (no modification). */
|
|
45
|
+
declare const passthrough: Flow.StepExample;
|
|
46
|
+
/** addProcessedFlag enriches the event with _processed metadata. */
|
|
47
|
+
declare const addProcessedFlag: Flow.StepExample;
|
|
48
|
+
|
|
49
|
+
declare const step_addProcessedFlag: typeof addProcessedFlag;
|
|
50
|
+
declare const step_passthrough: typeof passthrough;
|
|
51
|
+
declare namespace step {
|
|
52
|
+
export { step_addProcessedFlag as addProcessedFlag, step_passthrough as passthrough };
|
|
53
|
+
}
|
|
54
|
+
|
|
44
55
|
declare const index_env: typeof env;
|
|
56
|
+
declare const index_step: typeof step;
|
|
45
57
|
declare namespace index {
|
|
46
|
-
export { index_env as env };
|
|
58
|
+
export { index_env as env, index_step as step };
|
|
47
59
|
}
|
|
48
60
|
|
|
49
61
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,
|
|
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:void 0},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:{event:{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"],"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';\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;;;ACAA;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;;;
|
|
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: undefined,\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 event: {\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"],"mappings":"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","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,
|
|
1
|
+
var e=Object.defineProperty,t=(t,o)=>{for(var r in o)e(t,r,{get:o[r],enumerable:!0})},o={},r={};t(r,{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:void 0},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:{event:{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:o}=e,r={name:"transformer-demo",...t?.settings};return{type:"demo",config:{...t,settings:r},init(e){const t=o?.log||console.log;e.logger.debug("initialized"),t(`[${r.name}] initialized`)},push(e,t){const i=o?.log||console.log,a=r.fields?function(e,t){const o={};for(const r of t){const t=r.split(".").reduce((e,t)=>e?.[t],e);void 0!==t&&(o[r]=t)}return o}(e,r.fields):e;if(i(`[${r.name}] ${JSON.stringify(a,null,2)}`),t.logger.debug("processed event",{event:e.name}),r.addProcessedFlag)return{event:{...e,data:{...e.data||{},_processed:!0,_processedBy:r.name}}}}}};var u=p;export{o as TransformerDemo,u as default,r 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/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';\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 { 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;;;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;;;
|
|
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: undefined,\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 event: {\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","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,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"package": "@walkeros/transformer-demo",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.2",
|
|
5
5
|
"type": "transformer",
|
|
6
|
+
"platform": [
|
|
7
|
+
"web",
|
|
8
|
+
"server"
|
|
9
|
+
],
|
|
6
10
|
"docs": "https://www.walkeros.io/docs/transformers/demo",
|
|
7
11
|
"source": "https://github.com/elbwalker/walkerOS/tree/main/packages/transformers/demo/src"
|
|
8
12
|
},
|
|
@@ -42,6 +46,84 @@
|
|
|
42
46
|
"simulation": [
|
|
43
47
|
"call:log"
|
|
44
48
|
]
|
|
49
|
+
},
|
|
50
|
+
"step": {
|
|
51
|
+
"addProcessedFlag": {
|
|
52
|
+
"description": "With addProcessedFlag: true, adds _processed and _processedBy to event.data",
|
|
53
|
+
"in": {
|
|
54
|
+
"name": "product add",
|
|
55
|
+
"data": {
|
|
56
|
+
"name": "Everyday Ruck Snack",
|
|
57
|
+
"price": 420
|
|
58
|
+
},
|
|
59
|
+
"id": "1700000601-gr0up-2",
|
|
60
|
+
"trigger": "click",
|
|
61
|
+
"entity": "product",
|
|
62
|
+
"action": "add",
|
|
63
|
+
"timestamp": 1700000601,
|
|
64
|
+
"group": "gr0up",
|
|
65
|
+
"count": 2,
|
|
66
|
+
"version": {
|
|
67
|
+
"tagging": 1
|
|
68
|
+
},
|
|
69
|
+
"source": {
|
|
70
|
+
"type": "web",
|
|
71
|
+
"id": "",
|
|
72
|
+
"previous_id": ""
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"out": {
|
|
76
|
+
"event": {
|
|
77
|
+
"name": "product add",
|
|
78
|
+
"data": {
|
|
79
|
+
"name": "Everyday Ruck Snack",
|
|
80
|
+
"price": 420,
|
|
81
|
+
"_processed": true,
|
|
82
|
+
"_processedBy": "transformer-demo"
|
|
83
|
+
},
|
|
84
|
+
"id": "1700000601-gr0up-2",
|
|
85
|
+
"trigger": "click",
|
|
86
|
+
"entity": "product",
|
|
87
|
+
"action": "add",
|
|
88
|
+
"timestamp": 1700000601,
|
|
89
|
+
"group": "gr0up",
|
|
90
|
+
"count": 2,
|
|
91
|
+
"version": {
|
|
92
|
+
"tagging": 1
|
|
93
|
+
},
|
|
94
|
+
"source": {
|
|
95
|
+
"type": "web",
|
|
96
|
+
"id": "",
|
|
97
|
+
"previous_id": ""
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"passthrough": {
|
|
103
|
+
"description": "Default config: logs event, passes through unchanged",
|
|
104
|
+
"in": {
|
|
105
|
+
"name": "page view",
|
|
106
|
+
"data": {
|
|
107
|
+
"title": "Getting Started",
|
|
108
|
+
"id": "/docs/getting-started"
|
|
109
|
+
},
|
|
110
|
+
"id": "1700000600-gr0up-1",
|
|
111
|
+
"trigger": "load",
|
|
112
|
+
"entity": "page",
|
|
113
|
+
"action": "view",
|
|
114
|
+
"timestamp": 1700000600,
|
|
115
|
+
"group": "gr0up",
|
|
116
|
+
"count": 1,
|
|
117
|
+
"version": {
|
|
118
|
+
"tagging": 1
|
|
119
|
+
},
|
|
120
|
+
"source": {
|
|
121
|
+
"type": "web",
|
|
122
|
+
"id": "",
|
|
123
|
+
"previous_id": ""
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
45
127
|
}
|
|
46
128
|
}
|
|
47
129
|
}
|
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.0
|
|
4
|
+
"version": "3.1.0",
|
|
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.0
|
|
28
|
+
"@walkeros/core": "^3.1.0"
|
|
29
29
|
},
|
|
30
30
|
"repository": {
|
|
31
31
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|
|
@@ -38,7 +38,11 @@
|
|
|
38
38
|
},
|
|
39
39
|
"walkerOS": {
|
|
40
40
|
"type": "transformer",
|
|
41
|
-
"docs": "https://www.walkeros.io/docs/transformers/demo"
|
|
41
|
+
"docs": "https://www.walkeros.io/docs/transformers/demo",
|
|
42
|
+
"platform": [
|
|
43
|
+
"web",
|
|
44
|
+
"server"
|
|
45
|
+
]
|
|
42
46
|
},
|
|
43
47
|
"keywords": [
|
|
44
48
|
"walkerOS",
|