@walkeros/web-destination-api 4.7.0-next-1790245733116 → 4.7.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/CHANGELOG.md +23 -14
- package/dist/index.browser.js +1 -1
- package/dist/index.es5.js +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 +8 -7
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
# @walkeros/web-destination-api
|
|
2
2
|
|
|
3
|
-
## 4.7.0
|
|
3
|
+
## 4.7.0
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- 3c7e15e: With a `transform` and `batch`, the web API destination now adds each
|
|
8
|
+
transformed JSON object or array body to the batch as its value instead of as
|
|
9
|
+
an escaped JSON string. Transformed bodies that are not JSON objects or arrays
|
|
10
|
+
are still sent as strings.
|
|
11
|
+
- Updated dependencies [74821ed]
|
|
8
12
|
- Updated dependencies [06b498a]
|
|
9
|
-
- Updated dependencies [
|
|
10
|
-
- Updated dependencies [
|
|
13
|
+
- Updated dependencies [74821ed]
|
|
14
|
+
- Updated dependencies [64b06de]
|
|
15
|
+
- Updated dependencies [4b4937f]
|
|
16
|
+
- Updated dependencies [74821ed]
|
|
17
|
+
- Updated dependencies [74821ed]
|
|
18
|
+
- Updated dependencies [74821ed]
|
|
11
19
|
- Updated dependencies [06b498a]
|
|
12
|
-
- Updated dependencies [
|
|
13
|
-
- Updated dependencies [
|
|
14
|
-
- Updated dependencies [
|
|
15
|
-
- Updated dependencies [
|
|
16
|
-
- Updated dependencies [
|
|
17
|
-
- Updated dependencies [
|
|
18
|
-
- Updated dependencies [
|
|
19
|
-
- Updated dependencies [
|
|
20
|
-
|
|
21
|
-
- @walkeros/
|
|
20
|
+
- Updated dependencies [74821ed]
|
|
21
|
+
- Updated dependencies [74821ed]
|
|
22
|
+
- Updated dependencies [74821ed]
|
|
23
|
+
- Updated dependencies [74821ed]
|
|
24
|
+
- Updated dependencies [74821ed]
|
|
25
|
+
- Updated dependencies [e860006]
|
|
26
|
+
- Updated dependencies [74821ed]
|
|
27
|
+
- Updated dependencies [74821ed]
|
|
28
|
+
- Updated dependencies [4f89234]
|
|
29
|
+
- @walkeros/core@4.7.0
|
|
30
|
+
- @walkeros/web-core@4.7.0
|
|
22
31
|
|
|
23
32
|
## 4.6.1
|
|
24
33
|
|
package/dist/index.browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Walkerjs=(()=>{var
|
|
1
|
+
"use strict";var Walkerjs=(()=>{var t=Object.defineProperty,e=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,o={};((e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})})(o,{DestinationAPI:()=>O,default:()=>$,destinationAPI:()=>N});var s=Object.defineProperty,i=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})};function a(t,e){if("collector"===t)return"collector";if(!e)throw new Error(`stepId(${t}) requires an id`);return`${t}.${e}`}i({},{stepId:()=>a});function u(t,e){const r=t.destinations[e];if(!r)throw new Error(`Destination not found: ${e}`);return r}i({},{getDestination:()=>u});i({},{Level:()=>f});var c,f=((c=f||{})[c.ERROR=0]="ERROR",c[c.WARN=1]="WARN",c[c.INFO=2]="INFO",c[c.DEBUG=3]="DEBUG",c);function l(t,e){const r=t.transformers[e];if(!r)throw new Error(`Transformer not found: ${e}`);return r}i({},{getTransformer:()=>l});function d(t,e){const r=t.sources[e];if(!r)throw new Error(`Source not found: ${e}`);return r}i({},{getSource:()=>d});function g(t,e){const r=t.stores[e];if(!r)throw new Error(`Store not found: ${e}`);return r}async function p(t,e){return await t.get(e)}i({},{getStore:()=>g,getStoreValue:()=>p});var h={merge:!0,shallow:!0,extend:!0};function y(t){return void 0!==t}function m(t,e,r){return function(...n){try{return t(...n)}catch(t){if(!e)return;return e(t)}finally{null==r||r()}}}function w(t){return void 0===t||function(t,e){return typeof t==typeof e}(t,"")?t:JSON.stringify(t)}function v(t={}){return function(t,e={},r={}){r={...h,...r};const n=Object.entries(e).reduce((e,[n,o])=>{const s=t[n];return r.merge&&Array.isArray(s)&&Array.isArray(o)?e[n]=o.reduce((t,e)=>t.includes(e)?t:[...t,e],[...s]):(r.extend||n in t)&&(e[n]=o),e},{});return r.shallow?{...t,...n}:(Object.assign(t,n),t)}({"Content-Type":"application/json; charset=utf-8"},t)}function b(t,e,r={transport:"fetch"}){switch(r.transport||"fetch"){case"beacon":return function(t,e){const r=w(e),n=navigator.sendBeacon(t,r);return{ok:n,error:n?void 0:"Failed to send beacon"}}(t,e);case"xhr":return function(t,e,r={}){const n=v(r.headers),o=r.method||"POST",s=w(e);return m(()=>{const e=new XMLHttpRequest;e.open(o,t,!1);for(const t in n)e.setRequestHeader(t,n[t]);e.send(s);const r=e.status>=200&&e.status<300;return{ok:r,data:m(JSON.parse,()=>e.response)(e.response),error:r?void 0:`${e.status} ${e.statusText}`}},t=>({ok:!1,error:t.message}))()}(t,e,r);default:return async function(t,e,r={}){const n=v(r.headers),o=w(e),s=r.timeout,i="number"==typeof s&&Number.isFinite(s)&&s>0?s:1e4,a=new AbortController,u=setTimeout(()=>a.abort(),i);return function(t,e,r){return async function(...n){try{return await t(...n)}catch(t){if(!e)return;return await e(t)}finally{await(null==r?void 0:r())}}}(async()=>{try{const e=await fetch(t,{method:r.method||"POST",headers:n,keepalive:!0,credentials:r.credentials||"same-origin",mode:r.noCors?"no-cors":"cors",body:o,signal:a.signal}),s=r.noCors?"":await e.text();return{ok:e.ok,data:s,error:e.ok?void 0:e.statusText}}finally{clearTimeout(u)}},t=>(clearTimeout(u),{ok:!1,error:t.message}))()}(t,e,r)}}var O={};function j(t,e,r){const{url:n,headers:o,method:s,transport:i="fetch"}=e;r(n,t,{headers:o,method:s,transport:i})}var S,N={type:"api",config:{},init({config:t,logger:e}){const{url:r}=t.settings||{};r||e.throw("Config settings url missing")},push(t,{config:e,rule:r,data:n,env:o,logger:s}){const{settings:i}=e,{url:a,transform:u}=i||{};if(!a)return void s.throw("Config settings url missing");const c=y(n)?n:t,f=u?u(c,e,r):JSON.stringify(c),l=function(t,e){var r;const n=null==(r=t.source)?void 0:r.trace,{id:o}=t,s=e&&Object.keys(e).some(t=>"traceparent"===t.toLowerCase());return n&&o&&!s?{...e,traceparent:`00-${n}-${o}-01`}:e}(t,null==i?void 0:i.headers);j(f,{...i,url:a,headers:l},o.sendWeb||b)},pushBatch(t,{config:e,rule:r,env:n,logger:o}){const{settings:s}=e,{url:i,transform:a}=s||{};if(!i)return void o.throw("Config settings url missing");const u=t.entries.map(t=>y(t.data)?t.data:t.event),c=a?u.map(t=>function(t){if("string"!=typeof t)return t;try{const e=JSON.parse(t);return"object"==typeof e&&null!==e?e:t}catch(e){return t}}(a(t,e,r))):u;j(JSON.stringify(c),{...s,url:i},n.sendWeb||b)}},$=N;return S=o,((o,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let u of r(s))n.call(o,u)||u===i||t(o,u,{get:()=>s[u],enumerable:!(a=e(s,u))||a.enumerable});return o})(t({},"__esModule",{value:!0}),S)})();
|
package/dist/index.es5.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _array_like_to_array(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function _array_with_holes(r){if(Array.isArray(r))return r}function _array_without_holes(r){if(Array.isArray(r))return _array_like_to_array(r)}function asyncGeneratorStep(r,e,t,n,o,a,i){try{var u=r[a](i),c=u.value}catch(r){return void t(r)}u.done?e(c):Promise.resolve(c).then(n,o)}function _async_to_generator(r){return function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function i(r){asyncGeneratorStep(a,n,o,i,u,"next",r)}function u(r){asyncGeneratorStep(a,n,o,i,u,"throw",r)}i(void 0)})}}function _define_property(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function _iterable_to_array(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _iterable_to_array_limit(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var n,o,a=[],i=!0,u=!1;try{for(t=t.call(r);!(i=(n=t.next()).done)&&(a.push(n.value),!e||a.length!==e);i=!0);}catch(r){u=!0,o=r}finally{try{i||null==t.return||t.return()}finally{if(u)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),n.forEach(function(e){_define_property(r,e,t[e])})}return r}function ownKeys(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),t.push.apply(t,n)}return t}function _object_spread_props(r,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):ownKeys(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}function _sliced_to_array(r,e){return _array_with_holes(r)||_iterable_to_array_limit(r,e)||_unsupported_iterable_to_array(r,e)||_non_iterable_rest()}function _to_consumable_array(r){return _array_without_holes(r)||_iterable_to_array(r)||_unsupported_iterable_to_array(r)||_non_iterable_spread()}function _type_of(r){return r&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r}function _unsupported_iterable_to_array(r,e){if(r){if("string"==typeof r)return _array_like_to_array(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(r,e):void 0}}function _ts_generator(r,e){var t,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){return function(u){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,n=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=e.call(r,a)}catch(r){u=[6,r],n=0}finally{t=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var Walkerjs=function(){var r=function(r,e){if("collector"===r)return"collector";if(!e)throw new Error("stepId(".concat(r,") requires an id"));return"".concat(r,".").concat(e)},e=function(r,e){var t=r.destinations[e];if(!t)throw new Error("Destination not found: ".concat(e));return t},t=function(r,e){var t=r.transformers[e];if(!t)throw new Error("Transformer not found: ".concat(e));return t},n=function(r,e){var t=r.sources[e];if(!t)throw new Error("Source not found: ".concat(e));return t},o=function(r,e){var t=r.stores[e];if(!t)throw new Error("Store not found: ".concat(e));return t},a=function(r,e){return _async_to_generator(function(){return _ts_generator(this,function(t){switch(t.label){case 0:return[4,r.get(e)];case 1:return[2,t.sent()]}})})()},i=function(r){return void 0!==r},u=function(r,e,t){return function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];try{return r.apply(void 0,_to_consumable_array(o))}catch(r){if(!e)return;return e(r)}finally{null==t||t()}}},c=function(r,e,t){return function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return _async_to_generator(function(){var n;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,r.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return n=a.sent(),e?[4,e(n)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},s=function(r){return void 0===r||function(r,e){return(void 0===r?"undefined":_type_of(r))==(void 0===e?"undefined":_type_of(e))}(r,"")?r:JSON.stringify(r)},l=function(){return function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},k,t);var n=Object.entries(e).reduce(function(e,n){var o=_sliced_to_array(n,2),a=o[0],i=o[1],u=r[a];return t.merge&&Array.isArray(u)&&Array.isArray(i)?e[a]=i.reduce(function(r,e){return r.includes(e)?r:_to_consumable_array(r).concat([e])},_to_consumable_array(u)):(t.extend||a in r)&&(e[a]=i),e},{});return t.shallow?_object_spread({},r,n):(Object.assign(r,n),r)}({"Content-Type":"application/json; charset=utf-8"},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},f=function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{transport:"fetch"};switch(t.transport||"fetch"){case"beacon":return y(r,e);case"xhr":return p(r,e,t);default:return _(r,e,t)}},_=function(r,e){return _async_to_generator(function(r,e){var t,n,o,a,i,u,f,_=arguments;return _ts_generator(this,function(y){return n=l((t=_.length>2&&void 0!==_[2]?_[2]:{}).headers),o=s(e),a=t.timeout,i="number"==typeof a&&Number.isFinite(a)&&a>0?a:1e4,u=new AbortController,f=setTimeout(function(){return u.abort()},i),[2,c(function(){return _async_to_generator(function(){var e,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return c.trys.push([0,,5,6]),[4,fetch(r,{method:t.method||"POST",headers:n,keepalive:!0,credentials:t.credentials||"same-origin",mode:t.noCors?"no-cors":"cors",body:o,signal:u.signal})];case 1:return e=c.sent(),t.noCors?(i="",[3,4]):[3,2];case 2:return[4,e.text()];case 3:i=c.sent(),c.label=4;case 4:return a=i,[2,{ok:e.ok,data:a,error:e.ok?void 0:e.statusText}];case 5:return clearTimeout(f),[7];case 6:return[2]}})})()},function(r){return clearTimeout(f),{ok:!1,error:r.message}})()]})}).apply(this,arguments)},y=function(r,e){var t=s(e),n=navigator.sendBeacon(r,t);return{ok:n,error:n?void 0:"Failed to send beacon"}},p=function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=l(t.headers),o=t.method||"POST",a=s(e);return u(function(){var e=new XMLHttpRequest;for(var t in e.open(o,r,!1),n)e.setRequestHeader(t,n[t]);e.send(a);var i=e.status>=200&&e.status<300;return{ok:i,data:u(JSON.parse,function(){return e.response})(e.response),error:i?void 0:"".concat(e.status," ").concat(e.statusText)}},function(r){return{ok:!1,error:r.message}})()},d=function(r,e,t){var n=e.url,o=e.headers,a=e.method,i=e.transport;t(n,r,{headers:o,method:a,transport:void 0===i?"fetch":i})},b=Object.defineProperty,v=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,m={};!function(r,e){for(var t in e)b(r,t,{get:e[t],enumerable:!0})}(m,{DestinationAPI:function(){return A},default:function(){return I},destinationAPI:function(){return E}});var w=Object.defineProperty,O=function(r,e){for(var t in e)w(r,t,{get:e[t],enumerable:!0})};O({},{stepId:function(){return r}});O({},{getDestination:function(){return e}});O({},{Level:function(){return S}});var j,S=((j=S||{})[j.ERROR=0]="ERROR",j[j.WARN=1]="WARN",j[j.INFO=2]="INFO",j[j.DEBUG=3]="DEBUG",j);O({},{getTransformer:function(){return t}});O({},{getSource:function(){return n}});O({},{getStore:function(){return o},getStoreValue:function(){return a}});var P,k={merge:!0,shallow:!0,extend:!0},A={},E={type:"api",config:{},init:function(r){var e=r.config,t=r.logger;(e.settings||{}).url||t.throw("Config settings url missing")},push:function(r,e){var t=e.config,n=e.rule,o=e.data,a=e.env,u=e.logger,c=t.settings,s=c||{},l=s.url,_=s.transform;if(l){var y=i(o)?o:r,p=_?_(y,t,n):JSON.stringify(y),b=function(r,e){var t,n=null===(t=r.source)||void 0===t?void 0:t.trace,o=r.id,a=e&&Object.keys(e).some(function(r){return"traceparent"===r.toLowerCase()});return n&&o&&!a?_object_spread_props(_object_spread({},e),{traceparent:"00-".concat(n,"-").concat(o,"-01")}):e}(r,null==c?void 0:c.headers);d(p,_object_spread_props(_object_spread({},c),{url:l,headers:b}),a.sendWeb||f)}else u.throw("Config settings url missing")},pushBatch:function(r,e){var t=e.config,n=e.rule,o=e.env,a=e.logger,u=t.settings,c=u||{},s=c.url,l=c.transform;if(s){var _=r.entries.map(function(r){return i(r.data)?r.data:r.event}),y=l?_.map(function(r){return l(r,t,n)}):_;d(JSON.stringify(y),_object_spread_props(_object_spread({},u),{url:s}),o.sendWeb||f)}else a.throw("Config settings url missing")}},I=E;return P=m,function(r,e,t,n){if(e&&"object"===(void 0===e?"undefined":_type_of(e))||"function"==typeof e){var o=!0,a=!1,i=void 0;try{for(var u,c=function(){var o=u.value;g.call(r,o)||o===t||b(r,o,{get:function(){return e[o]},enumerable:!(n=v(e,o))||n.enumerable})},s=h(e)[Symbol.iterator]();!(o=(u=s.next()).done);o=!0)c()}catch(r){a=!0,i=r}finally{try{o||null==s.return||s.return()}finally{if(a)throw i}}}return r}(b({},"__esModule",{value:!0}),P)}();
|
|
1
|
+
"use strict";function _array_like_to_array(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function _array_with_holes(r){if(Array.isArray(r))return r}function _array_without_holes(r){if(Array.isArray(r))return _array_like_to_array(r)}function asyncGeneratorStep(r,e,t,n,o,a,i){try{var u=r[a](i),c=u.value}catch(r){return void t(r)}u.done?e(c):Promise.resolve(c).then(n,o)}function _async_to_generator(r){return function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function i(r){asyncGeneratorStep(a,n,o,i,u,"next",r)}function u(r){asyncGeneratorStep(a,n,o,i,u,"throw",r)}i(void 0)})}}function _define_property(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function _iterable_to_array(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _iterable_to_array_limit(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var n,o,a=[],i=!0,u=!1;try{for(t=t.call(r);!(i=(n=t.next()).done)&&(a.push(n.value),!e||a.length!==e);i=!0);}catch(r){u=!0,o=r}finally{try{i||null==t.return||t.return()}finally{if(u)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),n.forEach(function(e){_define_property(r,e,t[e])})}return r}function ownKeys(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),t.push.apply(t,n)}return t}function _object_spread_props(r,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):ownKeys(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}function _sliced_to_array(r,e){return _array_with_holes(r)||_iterable_to_array_limit(r,e)||_unsupported_iterable_to_array(r,e)||_non_iterable_rest()}function _to_consumable_array(r){return _array_without_holes(r)||_iterable_to_array(r)||_unsupported_iterable_to_array(r)||_non_iterable_spread()}function _type_of(r){return r&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r}function _unsupported_iterable_to_array(r,e){if(r){if("string"==typeof r)return _array_like_to_array(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(r,e):void 0}}function _ts_generator(r,e){var t,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(i,"next",{value:c(0)}),u(i,"throw",{value:c(1)}),u(i,"return",{value:c(2)}),"function"==typeof Symbol&&u(i,Symbol.iterator,{value:function(){return this}}),i;function c(u){return function(c){return function(u){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,n=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=e.call(r,a)}catch(r){u=[6,r],n=0}finally{t=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var Walkerjs=function(){var r=function(r,e){if("collector"===r)return"collector";if(!e)throw new Error("stepId(".concat(r,") requires an id"));return"".concat(r,".").concat(e)},e=function(r,e){var t=r.destinations[e];if(!t)throw new Error("Destination not found: ".concat(e));return t},t=function(r,e){var t=r.transformers[e];if(!t)throw new Error("Transformer not found: ".concat(e));return t},n=function(r,e){var t=r.sources[e];if(!t)throw new Error("Source not found: ".concat(e));return t},o=function(r,e){var t=r.stores[e];if(!t)throw new Error("Store not found: ".concat(e));return t},a=function(r,e){return _async_to_generator(function(){return _ts_generator(this,function(t){switch(t.label){case 0:return[4,r.get(e)];case 1:return[2,t.sent()]}})})()},i=function(r){return void 0!==r},u=function(r,e,t){return function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];try{return r.apply(void 0,_to_consumable_array(o))}catch(r){if(!e)return;return e(r)}finally{null==t||t()}}},c=function(r,e,t){return function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return _async_to_generator(function(){var n;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,r.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return n=a.sent(),e?[4,e(n)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},s=function(r){return void 0===r||function(r,e){return(void 0===r?"undefined":_type_of(r))==(void 0===e?"undefined":_type_of(e))}(r,"")?r:JSON.stringify(r)},l=function(){return function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},k,t);var n=Object.entries(e).reduce(function(e,n){var o=_sliced_to_array(n,2),a=o[0],i=o[1],u=r[a];return t.merge&&Array.isArray(u)&&Array.isArray(i)?e[a]=i.reduce(function(r,e){return r.includes(e)?r:_to_consumable_array(r).concat([e])},_to_consumable_array(u)):(t.extend||a in r)&&(e[a]=i),e},{});return t.shallow?_object_spread({},r,n):(Object.assign(r,n),r)}({"Content-Type":"application/json; charset=utf-8"},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},f=function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{transport:"fetch"};switch(t.transport||"fetch"){case"beacon":return y(r,e);case"xhr":return p(r,e,t);default:return _(r,e,t)}},_=function(r,e){return _async_to_generator(function(r,e){var t,n,o,a,i,u,f,_=arguments;return _ts_generator(this,function(y){return n=l((t=_.length>2&&void 0!==_[2]?_[2]:{}).headers),o=s(e),a=t.timeout,i="number"==typeof a&&Number.isFinite(a)&&a>0?a:1e4,u=new AbortController,f=setTimeout(function(){return u.abort()},i),[2,c(function(){return _async_to_generator(function(){var e,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return c.trys.push([0,,5,6]),[4,fetch(r,{method:t.method||"POST",headers:n,keepalive:!0,credentials:t.credentials||"same-origin",mode:t.noCors?"no-cors":"cors",body:o,signal:u.signal})];case 1:return e=c.sent(),t.noCors?(i="",[3,4]):[3,2];case 2:return[4,e.text()];case 3:i=c.sent(),c.label=4;case 4:return a=i,[2,{ok:e.ok,data:a,error:e.ok?void 0:e.statusText}];case 5:return clearTimeout(f),[7];case 6:return[2]}})})()},function(r){return clearTimeout(f),{ok:!1,error:r.message}})()]})}).apply(this,arguments)},y=function(r,e){var t=s(e),n=navigator.sendBeacon(r,t);return{ok:n,error:n?void 0:"Failed to send beacon"}},p=function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=l(t.headers),o=t.method||"POST",a=s(e);return u(function(){var e=new XMLHttpRequest;for(var t in e.open(o,r,!1),n)e.setRequestHeader(t,n[t]);e.send(a);var i=e.status>=200&&e.status<300;return{ok:i,data:u(JSON.parse,function(){return e.response})(e.response),error:i?void 0:"".concat(e.status," ").concat(e.statusText)}},function(r){return{ok:!1,error:r.message}})()},d=function(r,e,t){var n=e.url,o=e.headers,a=e.method,i=e.transport;t(n,r,{headers:o,method:a,transport:void 0===i?"fetch":i})},b=Object.defineProperty,v=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,m={};!function(r,e){for(var t in e)b(r,t,{get:e[t],enumerable:!0})}(m,{DestinationAPI:function(){return A},default:function(){return I},destinationAPI:function(){return E}});var w=Object.defineProperty,O=function(r,e){for(var t in e)w(r,t,{get:e[t],enumerable:!0})};O({},{stepId:function(){return r}});O({},{getDestination:function(){return e}});O({},{Level:function(){return S}});var j,S=((j=S||{})[j.ERROR=0]="ERROR",j[j.WARN=1]="WARN",j[j.INFO=2]="INFO",j[j.DEBUG=3]="DEBUG",j);O({},{getTransformer:function(){return t}});O({},{getSource:function(){return n}});O({},{getStore:function(){return o},getStoreValue:function(){return a}});var P,k={merge:!0,shallow:!0,extend:!0},A={},E={type:"api",config:{},init:function(r){var e=r.config,t=r.logger;(e.settings||{}).url||t.throw("Config settings url missing")},push:function(r,e){var t=e.config,n=e.rule,o=e.data,a=e.env,u=e.logger,c=t.settings,s=c||{},l=s.url,_=s.transform;if(l){var y=i(o)?o:r,p=_?_(y,t,n):JSON.stringify(y),b=function(r,e){var t,n=null===(t=r.source)||void 0===t?void 0:t.trace,o=r.id,a=e&&Object.keys(e).some(function(r){return"traceparent"===r.toLowerCase()});return n&&o&&!a?_object_spread_props(_object_spread({},e),{traceparent:"00-".concat(n,"-").concat(o,"-01")}):e}(r,null==c?void 0:c.headers);d(p,_object_spread_props(_object_spread({},c),{url:l,headers:b}),a.sendWeb||f)}else u.throw("Config settings url missing")},pushBatch:function(r,e){var t=e.config,n=e.rule,o=e.env,a=e.logger,u=t.settings,c=u||{},s=c.url,l=c.transform;if(s){var _=r.entries.map(function(r){return i(r.data)?r.data:r.event}),y=l?_.map(function(r){return function(r){if("string"!=typeof r)return r;try{var e=JSON.parse(r);return"object"===(void 0===e?"undefined":_type_of(e))&&null!==e?e:r}catch(e){return r}}(l(r,t,n))}):_;d(JSON.stringify(y),_object_spread_props(_object_spread({},u),{url:s}),o.sendWeb||f)}else a.throw("Config settings url missing")}},I=E;return P=m,function(r,e,t,n){if(e&&"object"===(void 0===e?"undefined":_type_of(e))||"function"==typeof e){var o=!0,a=!1,i=void 0;try{for(var u,c=function(){var o=u.value;g.call(r,o)||o===t||b(r,o,{get:function(){return e[o]},enumerable:!(n=v(e,o))||n.enumerable})},s=h(e)[Symbol.iterator]();!(o=(u=s.next()).done);o=!0)c()}catch(r){a=!0,i=r}finally{try{o||null==s.return||s.return()}finally{if(a)throw i}}}return r}(b({},"__esModule",{value:!0}),P)}();
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={};((e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})})(s,{DestinationAPI:()=>u,default:()=>
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={};((e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})})(s,{DestinationAPI:()=>u,default:()=>f,destinationAPI:()=>l}),module.exports=(e=s,((e,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let u of n(s))o.call(e,u)||u===i||t(e,u,{get:()=>s[u],enumerable:!(a=r(s,u))||a.enumerable});return e})(t({},"__esModule",{value:!0}),e));var i=require("@walkeros/core"),a=require("@walkeros/web-core"),u={};function c(e,t,r){const{url:n,headers:o,method:s,transport:i="fetch"}=t;r(n,e,{headers:o,method:s,transport:i})}var l={type:"api",config:{},init({config:e,logger:t}){const{url:r}=e.settings||{};r||t.throw("Config settings url missing")},push(e,{config:t,rule:r,data:n,env:o,logger:s}){const{settings:u}=t,{url:l,transform:f}=u||{};if(!l)return void s.throw("Config settings url missing");const g=(0,i.isDefined)(n)?n:e,d=f?f(g,t,r):JSON.stringify(g),p=function(e,t){var r;const n=null==(r=e.source)?void 0:r.trace,{id:o}=e,s=t&&Object.keys(t).some(e=>"traceparent"===e.toLowerCase());return n&&o&&!s?{...t,traceparent:`00-${n}-${o}-01`}:t}(e,null==u?void 0:u.headers);c(d,{...u,url:l,headers:p},o.sendWeb||a.sendWeb)},pushBatch(e,{config:t,rule:r,env:n,logger:o}){const{settings:s}=t,{url:u,transform:l}=s||{};if(!u)return void o.throw("Config settings url missing");const f=e.entries.map(e=>(0,i.isDefined)(e.data)?e.data:e.event),g=l?f.map(e=>function(e){if("string"!=typeof e)return e;try{const t=JSON.parse(e);return"object"==typeof t&&null!==t?t:e}catch(t){return e}}(l(e,t,r))):f;c(JSON.stringify(g),{...s,url:u},n.sendWeb||a.sendWeb)}},f=l;//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/types/index.ts"],"sourcesContent":["import type { SendDataValue, SendHeaders, WalkerOS } from '@walkeros/core';\nimport type { Settings, Destination } from './types';\nimport { isDefined } from '@walkeros/core';\nimport { sendWeb } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationAPI from './types';\n\n/**\n * Adds a W3C `traceparent` header built from the event's trace id and span id\n * so the receiving collector can stitch the span across the wire. Emission is\n * best-effort and unconditional on presence: values are passed through verbatim\n * (a malformed id yields a header the strict server-side parser rejects, which\n * is intended). A user-configured `traceparent` always wins; header names are\n * case-insensitive on the wire, so the check matches any casing.\n */\nfunction withTraceparent(\n event: WalkerOS.Event,\n headers?: SendHeaders,\n): SendHeaders | undefined {\n const trace = event.source?.trace;\n const { id } = event;\n const userSet =\n headers &&\n Object.keys(headers).some((key) => key.toLowerCase() === 'traceparent');\n if (!trace || !id || userSet) return headers;\n\n return { ...headers, traceparent: `00-${trace}-${id}-01` };\n}\n\nfunction send(\n body: SendDataValue,\n settings: Settings,\n sendWebFn: typeof sendWeb,\n): void {\n const { url, headers, method, transport = 'fetch' } = settings;\n sendWebFn(url, body, { headers, method, transport });\n}\n\nexport const destinationAPI: Destination = {\n type: 'api',\n\n config: {},\n\n init({ config, logger }) {\n const { url } = config.settings || {};\n if (!url) logger.throw('Config settings url missing');\n },\n\n push(event, { config, rule, data, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const eventData = isDefined(data) ? data : event;\n // Transform returns body directly, otherwise stringify\n const body = transform\n ? transform(eventData, config, rule)\n : JSON.stringify(eventData);\n\n const headers = withTraceparent(event, settings?.headers);\n\n send(body, { ...settings, url, headers }, env.sendWeb || sendWeb);\n },\n\n pushBatch(batch, { config, rule, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const items = batch.entries.map((e) =>\n isDefined(e.data) ? e.data : e.event,\n );\n\n // Apply transform to each item if defined, then stringify array\n const payload = transform\n ? items.map((item) => transform(item, config, rule))\n : items;\n\n // No traceparent here: a batch may aggregate events from distinct\n // upstream traces, so there is no single identity to stamp. Per-event\n // correlation is emitted on the non-batched push path only.\n send(JSON.stringify(payload), { ...settings, url }, env.sendWeb || sendWeb);\n },\n};\n\nexport default destinationAPI;\n","import type {\n Mapping as WalkerOSMapping,\n SendDataValue,\n SendHeaders,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb, sendWeb } from '@walkeros/web-core';\nimport type { SendWebTransport } from '@walkeros/web-core';\n\nexport interface Settings {\n url: string;\n headers?: SendHeaders;\n method?: string;\n transform?: Transform;\n transport?: SendWebTransport;\n}\n\n// InitSettings: user input (all optional)\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {}\n\nexport interface Env extends DestinationWeb.Env {\n sendWeb?: typeof sendWeb;\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env, InitSettings>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type Transform = (\n data?: unknown,\n config?: Config,\n mapping?: WalkerOSMapping.Rule<Mapping>,\n) => SendDataValue;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAA0B;AAC1B,sBAAwB;;;ACHxB;;;ADgBA,SAAS,gBACP,OACA,SACyB;AAnB3B;AAoBE,QAAM,SAAQ,WAAM,WAAN,mBAAc;AAC5B,QAAM,EAAE,GAAG,IAAI;AACf,QAAM,UACJ,WACA,OAAO,KAAK,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,MAAM,aAAa;AACxE,MAAI,CAAC,SAAS,CAAC,MAAM,QAAS,QAAO;AAErC,SAAO,EAAE,GAAG,SAAS,aAAa,MAAM,KAAK,IAAI,EAAE,MAAM;AAC3D;AAEA,SAAS,KACP,MACA,UACA,WACM;AACN,QAAM,EAAE,KAAK,SAAS,QAAQ,YAAY,QAAQ,IAAI;AACtD,YAAU,KAAK,MAAM,EAAE,SAAS,QAAQ,UAAU,CAAC;AACrD;AAEO,IAAM,iBAA8B;AAAA,EACzC,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,OAAO,GAAG;AACvB,UAAM,EAAE,IAAI,IAAI,OAAO,YAAY,CAAC;AACpC,QAAI,CAAC,IAAK,QAAO,MAAM,6BAA6B;AAAA,EACtD;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,MAAM,MAAM,KAAK,OAAO,GAAG;AAC/C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,gBAAY,uBAAU,IAAI,IAAI,OAAO;AAE3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,UAAM,UAAU,gBAAgB,OAAO,qCAAU,OAAO;AAExD,SAAK,MAAM,EAAE,GAAG,UAAU,KAAK,QAAQ,GAAG,IAAI,WAAW,uBAAO;AAAA,EAClE;AAAA,EAEA,UAAU,OAAO,EAAE,QAAQ,MAAM,KAAK,OAAO,GAAG;AAC9C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,QAAQ;AAAA,MAAI,CAAC,UAC/B,uBAAU,EAAE,IAAI,IAAI,EAAE,OAAO,EAAE;AAAA,IACjC;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/types/index.ts"],"sourcesContent":["import type { SendDataValue, SendHeaders, WalkerOS } from '@walkeros/core';\nimport type { Settings, Destination } from './types';\nimport { isDefined } from '@walkeros/core';\nimport { sendWeb } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationAPI from './types';\n\n/**\n * Adds a W3C `traceparent` header built from the event's trace id and span id\n * so the receiving collector can stitch the span across the wire. Emission is\n * best-effort and unconditional on presence: values are passed through verbatim\n * (a malformed id yields a header the strict server-side parser rejects, which\n * is intended). A user-configured `traceparent` always wins; header names are\n * case-insensitive on the wire, so the check matches any casing.\n */\nfunction withTraceparent(\n event: WalkerOS.Event,\n headers?: SendHeaders,\n): SendHeaders | undefined {\n const trace = event.source?.trace;\n const { id } = event;\n const userSet =\n headers &&\n Object.keys(headers).some((key) => key.toLowerCase() === 'traceparent');\n if (!trace || !id || userSet) return headers;\n\n return { ...headers, traceparent: `00-${trace}-${id}-01` };\n}\n\nfunction send(\n body: SendDataValue,\n settings: Settings,\n sendWebFn: typeof sendWeb,\n): void {\n const { url, headers, method, transport = 'fetch' } = settings;\n sendWebFn(url, body, { headers, method, transport });\n}\n\n/** A transformed body as a batch item: JSON object or array text becomes its value. */\nfunction fromBody(body: SendDataValue): unknown {\n if (typeof body !== 'string') return body;\n try {\n const parsed: unknown = JSON.parse(body);\n return typeof parsed === 'object' && parsed !== null ? parsed : body;\n } catch {\n return body;\n }\n}\n\nexport const destinationAPI: Destination = {\n type: 'api',\n\n config: {},\n\n init({ config, logger }) {\n const { url } = config.settings || {};\n if (!url) logger.throw('Config settings url missing');\n },\n\n push(event, { config, rule, data, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const eventData = isDefined(data) ? data : event;\n // Transform returns body directly, otherwise stringify\n const body = transform\n ? transform(eventData, config, rule)\n : JSON.stringify(eventData);\n\n const headers = withTraceparent(event, settings?.headers);\n\n send(body, { ...settings, url, headers }, env.sendWeb || sendWeb);\n },\n\n pushBatch(batch, { config, rule, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const items = batch.entries.map((e) =>\n isDefined(e.data) ? e.data : e.event,\n );\n\n // Apply transform to each item if defined, then stringify the array. A\n // transform returns one serialized body, so a JSON string joins the array\n // as its value instead of as an escaped string.\n const payload = transform\n ? items.map((item) => fromBody(transform(item, config, rule)))\n : items;\n\n // No traceparent here: a batch may aggregate events from distinct\n // upstream traces, so there is no single identity to stamp. Per-event\n // correlation is emitted on the non-batched push path only.\n send(JSON.stringify(payload), { ...settings, url }, env.sendWeb || sendWeb);\n },\n};\n\nexport default destinationAPI;\n","import type {\n Mapping as WalkerOSMapping,\n SendDataValue,\n SendHeaders,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb, sendWeb } from '@walkeros/web-core';\nimport type { SendWebTransport } from '@walkeros/web-core';\n\nexport interface Settings {\n url: string;\n headers?: SendHeaders;\n method?: string;\n transform?: Transform;\n transport?: SendWebTransport;\n}\n\n// InitSettings: user input (all optional)\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {}\n\nexport interface Env extends DestinationWeb.Env {\n sendWeb?: typeof sendWeb;\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env, InitSettings>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type Transform = (\n data?: unknown,\n config?: Config,\n mapping?: WalkerOSMapping.Rule<Mapping>,\n) => SendDataValue;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAA0B;AAC1B,sBAAwB;;;ACHxB;;;ADgBA,SAAS,gBACP,OACA,SACyB;AAnB3B;AAoBE,QAAM,SAAQ,WAAM,WAAN,mBAAc;AAC5B,QAAM,EAAE,GAAG,IAAI;AACf,QAAM,UACJ,WACA,OAAO,KAAK,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,MAAM,aAAa;AACxE,MAAI,CAAC,SAAS,CAAC,MAAM,QAAS,QAAO;AAErC,SAAO,EAAE,GAAG,SAAS,aAAa,MAAM,KAAK,IAAI,EAAE,MAAM;AAC3D;AAEA,SAAS,KACP,MACA,UACA,WACM;AACN,QAAM,EAAE,KAAK,SAAS,QAAQ,YAAY,QAAQ,IAAI;AACtD,YAAU,KAAK,MAAM,EAAE,SAAS,QAAQ,UAAU,CAAC;AACrD;AAGA,SAAS,SAAS,MAA8B;AAC9C,MAAI,OAAO,SAAS,SAAU,QAAO;AACrC,MAAI;AACF,UAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,WAAO,OAAO,WAAW,YAAY,WAAW,OAAO,SAAS;AAAA,EAClE,SAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,IAAM,iBAA8B;AAAA,EACzC,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,OAAO,GAAG;AACvB,UAAM,EAAE,IAAI,IAAI,OAAO,YAAY,CAAC;AACpC,QAAI,CAAC,IAAK,QAAO,MAAM,6BAA6B;AAAA,EACtD;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,MAAM,MAAM,KAAK,OAAO,GAAG;AAC/C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,gBAAY,uBAAU,IAAI,IAAI,OAAO;AAE3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,UAAM,UAAU,gBAAgB,OAAO,qCAAU,OAAO;AAExD,SAAK,MAAM,EAAE,GAAG,UAAU,KAAK,QAAQ,GAAG,IAAI,WAAW,uBAAO;AAAA,EAClE;AAAA,EAEA,UAAU,OAAO,EAAE,QAAQ,MAAM,KAAK,OAAO,GAAG;AAC9C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,QAAQ;AAAA,MAAI,CAAC,UAC/B,uBAAU,EAAE,IAAI,IAAI,EAAE,OAAO,EAAE;AAAA,IACjC;AAKA,UAAM,UAAU,YACZ,MAAM,IAAI,CAAC,SAAS,SAAS,UAAU,MAAM,QAAQ,IAAI,CAAC,CAAC,IAC3D;AAKJ,SAAK,KAAK,UAAU,OAAO,GAAG,EAAE,GAAG,UAAU,IAAI,GAAG,IAAI,WAAW,uBAAO;AAAA,EAC5E;AACF;AAEA,IAAO,gBAAQ;","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t=Object.defineProperty,r=(r,e)=>{for(var n in e)t(r,n,{get:e[n],enumerable:!0})};function e(t,r){if("collector"===t)return"collector";if(!r)throw new Error(`stepId(${t}) requires an id`);return`${t}.${r}`}r({},{stepId:()=>e});function n(t,r){const e=t.destinations[r];if(!e)throw new Error(`Destination not found: ${r}`);return e}r({},{getDestination:()=>n});r({},{Level:()=>s});var o,s=((o=s||{})[o.ERROR=0]="ERROR",o[o.WARN=1]="WARN",o[o.INFO=2]="INFO",o[o.DEBUG=3]="DEBUG",o);function i(t,r){const e=t.transformers[r];if(!e)throw new Error(`Transformer not found: ${r}`);return e}r({},{getTransformer:()=>i});function a(t,r){const e=t.sources[r];if(!e)throw new Error(`Source not found: ${r}`);return e}r({},{getSource:()=>a});function u(t,r){const e=t.stores[r];if(!e)throw new Error(`Store not found: ${r}`);return e}async function c(t,r){return await t.get(r)}r({},{getStore:()=>u,getStoreValue:()=>c});var f={merge:!0,shallow:!0,extend:!0};function d(t){return void 0!==t}function l(t,r,e){return function(...n){try{return t(...n)}catch(t){if(!r)return;return r(t)}finally{null==e||e()}}}function g(t){return void 0===t||function(t,r){return typeof t==typeof r}(t,"")?t:JSON.stringify(t)}function h(t={}){return function(t,r={},e={}){e={...f,...e};const n=Object.entries(r).reduce((r,[n,o])=>{const s=t[n];return e.merge&&Array.isArray(s)&&Array.isArray(o)?r[n]=o.reduce((t,r)=>t.includes(r)?t:[...t,r],[...s]):(e.extend||n in t)&&(r[n]=o),r},{});return e.shallow?{...t,...n}:(Object.assign(t,n),t)}({"Content-Type":"application/json; charset=utf-8"},t)}function
|
|
1
|
+
var t=Object.defineProperty,r=(r,e)=>{for(var n in e)t(r,n,{get:e[n],enumerable:!0})};function e(t,r){if("collector"===t)return"collector";if(!r)throw new Error(`stepId(${t}) requires an id`);return`${t}.${r}`}r({},{stepId:()=>e});function n(t,r){const e=t.destinations[r];if(!e)throw new Error(`Destination not found: ${r}`);return e}r({},{getDestination:()=>n});r({},{Level:()=>s});var o,s=((o=s||{})[o.ERROR=0]="ERROR",o[o.WARN=1]="WARN",o[o.INFO=2]="INFO",o[o.DEBUG=3]="DEBUG",o);function i(t,r){const e=t.transformers[r];if(!e)throw new Error(`Transformer not found: ${r}`);return e}r({},{getTransformer:()=>i});function a(t,r){const e=t.sources[r];if(!e)throw new Error(`Source not found: ${r}`);return e}r({},{getSource:()=>a});function u(t,r){const e=t.stores[r];if(!e)throw new Error(`Store not found: ${r}`);return e}async function c(t,r){return await t.get(r)}r({},{getStore:()=>u,getStoreValue:()=>c});var f={merge:!0,shallow:!0,extend:!0};function d(t){return void 0!==t}function l(t,r,e){return function(...n){try{return t(...n)}catch(t){if(!r)return;return r(t)}finally{null==e||e()}}}function g(t){return void 0===t||function(t,r){return typeof t==typeof r}(t,"")?t:JSON.stringify(t)}function h(t={}){return function(t,r={},e={}){e={...f,...e};const n=Object.entries(r).reduce((r,[n,o])=>{const s=t[n];return e.merge&&Array.isArray(s)&&Array.isArray(o)?r[n]=o.reduce((t,r)=>t.includes(r)?t:[...t,r],[...s]):(e.extend||n in t)&&(r[n]=o),r},{});return e.shallow?{...t,...n}:(Object.assign(t,n),t)}({"Content-Type":"application/json; charset=utf-8"},t)}function p(t,r,e={transport:"fetch"}){switch(e.transport||"fetch"){case"beacon":return function(t,r){const e=g(r),n=navigator.sendBeacon(t,e);return{ok:n,error:n?void 0:"Failed to send beacon"}}(t,r);case"xhr":return function(t,r,e={}){const n=h(e.headers),o=e.method||"POST",s=g(r);return l(()=>{const r=new XMLHttpRequest;r.open(o,t,!1);for(const t in n)r.setRequestHeader(t,n[t]);r.send(s);const e=r.status>=200&&r.status<300;return{ok:e,data:l(JSON.parse,()=>r.response)(r.response),error:e?void 0:`${r.status} ${r.statusText}`}},t=>({ok:!1,error:t.message}))()}(t,r,e);default:return async function(t,r,e={}){const n=h(e.headers),o=g(r),s=e.timeout,i="number"==typeof s&&Number.isFinite(s)&&s>0?s:1e4,a=new AbortController,u=setTimeout(()=>a.abort(),i);return function(t,r,e){return async function(...n){try{return await t(...n)}catch(t){if(!r)return;return await r(t)}finally{await(null==e?void 0:e())}}}(async()=>{try{const r=await fetch(t,{method:e.method||"POST",headers:n,keepalive:!0,credentials:e.credentials||"same-origin",mode:e.noCors?"no-cors":"cors",body:o,signal:a.signal}),s=e.noCors?"":await r.text();return{ok:r.ok,data:s,error:r.ok?void 0:r.statusText}}finally{clearTimeout(u)}},t=>(clearTimeout(u),{ok:!1,error:t.message}))()}(t,r,e)}}var m={};function y(t,r,e){const{url:n,headers:o,method:s,transport:i="fetch"}=r;e(n,t,{headers:o,method:s,transport:i})}var w={type:"api",config:{},init({config:t,logger:r}){const{url:e}=t.settings||{};e||r.throw("Config settings url missing")},push(t,{config:r,rule:e,data:n,env:o,logger:s}){const{settings:i}=r,{url:a,transform:u}=i||{};if(!a)return void s.throw("Config settings url missing");const c=d(n)?n:t,f=u?u(c,r,e):JSON.stringify(c),l=function(t,r){var e;const n=null==(e=t.source)?void 0:e.trace,{id:o}=t,s=r&&Object.keys(r).some(t=>"traceparent"===t.toLowerCase());return n&&o&&!s?{...r,traceparent:`00-${n}-${o}-01`}:r}(t,null==i?void 0:i.headers);y(f,{...i,url:a,headers:l},o.sendWeb||p)},pushBatch(t,{config:r,rule:e,env:n,logger:o}){const{settings:s}=r,{url:i,transform:a}=s||{};if(!i)return void o.throw("Config settings url missing");const u=t.entries.map(t=>d(t.data)?t.data:t.event),c=a?u.map(t=>function(t){if("string"!=typeof t)return t;try{const r=JSON.parse(t);return"object"==typeof r&&null!==r?r:t}catch(r){return t}}(a(t,r,e))):u;y(JSON.stringify(c),{...s,url:i},n.sendWeb||p)}},v=w;export{m as DestinationAPI,v as default,w as destinationAPI};//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type {\n Mapping as WalkerOSMapping,\n SendDataValue,\n SendHeaders,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb, sendWeb } from '@walkeros/web-core';\nimport type { SendWebTransport } from '@walkeros/web-core';\n\nexport interface Settings {\n url: string;\n headers?: SendHeaders;\n method?: string;\n transform?: Transform;\n transport?: SendWebTransport;\n}\n\n// InitSettings: user input (all optional)\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {}\n\nexport interface Env extends DestinationWeb.Env {\n sendWeb?: typeof sendWeb;\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env, InitSettings>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type Transform = (\n data?: unknown,\n config?: Config,\n mapping?: WalkerOSMapping.Rule<Mapping>,\n) => SendDataValue;\n","import type { SendDataValue, SendHeaders, WalkerOS } from '@walkeros/core';\nimport type { Settings, Destination } from './types';\nimport { isDefined } from '@walkeros/core';\nimport { sendWeb } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationAPI from './types';\n\n/**\n * Adds a W3C `traceparent` header built from the event's trace id and span id\n * so the receiving collector can stitch the span across the wire. Emission is\n * best-effort and unconditional on presence: values are passed through verbatim\n * (a malformed id yields a header the strict server-side parser rejects, which\n * is intended). A user-configured `traceparent` always wins; header names are\n * case-insensitive on the wire, so the check matches any casing.\n */\nfunction withTraceparent(\n event: WalkerOS.Event,\n headers?: SendHeaders,\n): SendHeaders | undefined {\n const trace = event.source?.trace;\n const { id } = event;\n const userSet =\n headers &&\n Object.keys(headers).some((key) => key.toLowerCase() === 'traceparent');\n if (!trace || !id || userSet) return headers;\n\n return { ...headers, traceparent: `00-${trace}-${id}-01` };\n}\n\nfunction send(\n body: SendDataValue,\n settings: Settings,\n sendWebFn: typeof sendWeb,\n): void {\n const { url, headers, method, transport = 'fetch' } = settings;\n sendWebFn(url, body, { headers, method, transport });\n}\n\nexport const destinationAPI: Destination = {\n type: 'api',\n\n config: {},\n\n init({ config, logger }) {\n const { url } = config.settings || {};\n if (!url) logger.throw('Config settings url missing');\n },\n\n push(event, { config, rule, data, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const eventData = isDefined(data) ? data : event;\n // Transform returns body directly, otherwise stringify\n const body = transform\n ? transform(eventData, config, rule)\n : JSON.stringify(eventData);\n\n const headers = withTraceparent(event, settings?.headers);\n\n send(body, { ...settings, url, headers }, env.sendWeb || sendWeb);\n },\n\n pushBatch(batch, { config, rule, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const items = batch.entries.map((e) =>\n isDefined(e.data) ? e.data : e.event,\n );\n\n // Apply transform to each item if defined, then stringify array\n const payload = transform\n ? items.map((item) => transform(item, config, rule))\n : items;\n\n // No traceparent here: a batch may aggregate events from distinct\n // upstream traces, so there is no single identity to stamp. Per-event\n // correlation is emitted on the non-batched push path only.\n send(JSON.stringify(payload), { ...settings, url }, env.sendWeb || sendWeb);\n },\n};\n\nexport default destinationAPI;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACgBA,SAAS,gBACP,OACA,SACyB;AAnB3B;AAoBE,QAAM,SAAQ,WAAM,WAAN,mBAAc;AAC5B,QAAM,EAAE,GAAG,IAAI;AACf,QAAM,UACJ,WACA,OAAO,KAAK,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,MAAM,aAAa;AACxE,MAAI,CAAC,SAAS,CAAC,MAAM,QAAS,QAAO;AAErC,SAAO,EAAE,GAAG,SAAS,aAAa,MAAM,KAAK,IAAI,EAAE,MAAM;AAC3D;AAEA,SAAS,KACP,MACA,UACA,WACM;AACN,QAAM,EAAE,KAAK,SAAS,QAAQ,YAAY,QAAQ,IAAI;AACtD,YAAU,KAAK,MAAM,EAAE,SAAS,QAAQ,UAAU,CAAC;AACrD;AAEO,IAAM,iBAA8B;AAAA,EACzC,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,OAAO,GAAG;AACvB,UAAM,EAAE,IAAI,IAAI,OAAO,YAAY,CAAC;AACpC,QAAI,CAAC,IAAK,QAAO,MAAM,6BAA6B;AAAA,EACtD;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,MAAM,MAAM,KAAK,OAAO,GAAG;AAC/C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,YAAY,GAAU,IAAI,IAAI,OAAO;AAE3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,UAAM,UAAU,gBAAgB,OAAO,qCAAU,OAAO;AAExD,SAAK,MAAM,EAAE,GAAG,UAAU,KAAK,QAAQ,GAAG,IAAI,WAAW,CAAO;AAAA,EAClE;AAAA,EAEA,UAAU,OAAO,EAAE,QAAQ,MAAM,KAAK,OAAO,GAAG;AAC9C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,QAAQ;AAAA,MAAI,CAACA,OAC/B,GAAUA,GAAE,IAAI,IAAIA,GAAE,OAAOA,GAAE;AAAA,IACjC;
|
|
1
|
+
{"version":3,"sources":["../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type {\n Mapping as WalkerOSMapping,\n SendDataValue,\n SendHeaders,\n Destination as CoreDestination,\n} from '@walkeros/core';\nimport type { DestinationWeb, sendWeb } from '@walkeros/web-core';\nimport type { SendWebTransport } from '@walkeros/web-core';\n\nexport interface Settings {\n url: string;\n headers?: SendHeaders;\n method?: string;\n transform?: Transform;\n transport?: SendWebTransport;\n}\n\n// InitSettings: user input (all optional)\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {}\n\nexport interface Env extends DestinationWeb.Env {\n sendWeb?: typeof sendWeb;\n}\n\nexport type Types = CoreDestination.Types<Settings, Mapping, Env, InitSettings>;\n\nexport type Destination = DestinationWeb.Destination<Types>;\nexport type Config = DestinationWeb.Config<Types>;\n\nexport type Rule = WalkerOSMapping.Rule<Mapping>;\nexport type Rules = WalkerOSMapping.Rules<Rule>;\n\nexport type Transform = (\n data?: unknown,\n config?: Config,\n mapping?: WalkerOSMapping.Rule<Mapping>,\n) => SendDataValue;\n","import type { SendDataValue, SendHeaders, WalkerOS } from '@walkeros/core';\nimport type { Settings, Destination } from './types';\nimport { isDefined } from '@walkeros/core';\nimport { sendWeb } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationAPI from './types';\n\n/**\n * Adds a W3C `traceparent` header built from the event's trace id and span id\n * so the receiving collector can stitch the span across the wire. Emission is\n * best-effort and unconditional on presence: values are passed through verbatim\n * (a malformed id yields a header the strict server-side parser rejects, which\n * is intended). A user-configured `traceparent` always wins; header names are\n * case-insensitive on the wire, so the check matches any casing.\n */\nfunction withTraceparent(\n event: WalkerOS.Event,\n headers?: SendHeaders,\n): SendHeaders | undefined {\n const trace = event.source?.trace;\n const { id } = event;\n const userSet =\n headers &&\n Object.keys(headers).some((key) => key.toLowerCase() === 'traceparent');\n if (!trace || !id || userSet) return headers;\n\n return { ...headers, traceparent: `00-${trace}-${id}-01` };\n}\n\nfunction send(\n body: SendDataValue,\n settings: Settings,\n sendWebFn: typeof sendWeb,\n): void {\n const { url, headers, method, transport = 'fetch' } = settings;\n sendWebFn(url, body, { headers, method, transport });\n}\n\n/** A transformed body as a batch item: JSON object or array text becomes its value. */\nfunction fromBody(body: SendDataValue): unknown {\n if (typeof body !== 'string') return body;\n try {\n const parsed: unknown = JSON.parse(body);\n return typeof parsed === 'object' && parsed !== null ? parsed : body;\n } catch {\n return body;\n }\n}\n\nexport const destinationAPI: Destination = {\n type: 'api',\n\n config: {},\n\n init({ config, logger }) {\n const { url } = config.settings || {};\n if (!url) logger.throw('Config settings url missing');\n },\n\n push(event, { config, rule, data, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const eventData = isDefined(data) ? data : event;\n // Transform returns body directly, otherwise stringify\n const body = transform\n ? transform(eventData, config, rule)\n : JSON.stringify(eventData);\n\n const headers = withTraceparent(event, settings?.headers);\n\n send(body, { ...settings, url, headers }, env.sendWeb || sendWeb);\n },\n\n pushBatch(batch, { config, rule, env, logger }) {\n const { settings } = config;\n const { url, transform } = settings || {};\n\n if (!url) {\n logger.throw('Config settings url missing');\n return;\n }\n\n const items = batch.entries.map((e) =>\n isDefined(e.data) ? e.data : e.event,\n );\n\n // Apply transform to each item if defined, then stringify the array. A\n // transform returns one serialized body, so a JSON string joins the array\n // as its value instead of as an escaped string.\n const payload = transform\n ? items.map((item) => fromBody(transform(item, config, rule)))\n : items;\n\n // No traceparent here: a batch may aggregate events from distinct\n // upstream traces, so there is no single identity to stamp. Per-event\n // correlation is emitted on the non-batched push path only.\n send(JSON.stringify(payload), { ...settings, url }, env.sendWeb || sendWeb);\n },\n};\n\nexport default destinationAPI;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACgBA,SAAS,gBACP,OACA,SACyB;AAnB3B;AAoBE,QAAM,SAAQ,WAAM,WAAN,mBAAc;AAC5B,QAAM,EAAE,GAAG,IAAI;AACf,QAAM,UACJ,WACA,OAAO,KAAK,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,MAAM,aAAa;AACxE,MAAI,CAAC,SAAS,CAAC,MAAM,QAAS,QAAO;AAErC,SAAO,EAAE,GAAG,SAAS,aAAa,MAAM,KAAK,IAAI,EAAE,MAAM;AAC3D;AAEA,SAAS,KACP,MACA,UACA,WACM;AACN,QAAM,EAAE,KAAK,SAAS,QAAQ,YAAY,QAAQ,IAAI;AACtD,YAAU,KAAK,MAAM,EAAE,SAAS,QAAQ,UAAU,CAAC;AACrD;AAGA,SAAS,SAAS,MAA8B;AAC9C,MAAI,OAAO,SAAS,SAAU,QAAO;AACrC,MAAI;AACF,UAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,WAAO,OAAO,WAAW,YAAY,WAAW,OAAO,SAAS;AAAA,EAClE,SAAQA,IAAA;AACN,WAAO;AAAA,EACT;AACF;AAEO,IAAM,iBAA8B;AAAA,EACzC,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,EAAE,QAAQ,OAAO,GAAG;AACvB,UAAM,EAAE,IAAI,IAAI,OAAO,YAAY,CAAC;AACpC,QAAI,CAAC,IAAK,QAAO,MAAM,6BAA6B;AAAA,EACtD;AAAA,EAEA,KAAK,OAAO,EAAE,QAAQ,MAAM,MAAM,KAAK,OAAO,GAAG;AAC/C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,YAAY,GAAU,IAAI,IAAI,OAAO;AAE3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,UAAM,UAAU,gBAAgB,OAAO,qCAAU,OAAO;AAExD,SAAK,MAAM,EAAE,GAAG,UAAU,KAAK,QAAQ,GAAG,IAAI,WAAW,CAAO;AAAA,EAClE;AAAA,EAEA,UAAU,OAAO,EAAE,QAAQ,MAAM,KAAK,OAAO,GAAG;AAC9C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM,EAAE,KAAK,UAAU,IAAI,YAAY,CAAC;AAExC,QAAI,CAAC,KAAK;AACR,aAAO,MAAM,6BAA6B;AAC1C;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,QAAQ;AAAA,MAAI,CAACA,OAC/B,GAAUA,GAAE,IAAI,IAAIA,GAAE,OAAOA,GAAE;AAAA,IACjC;AAKA,UAAM,UAAU,YACZ,MAAM,IAAI,CAAC,SAAS,SAAS,UAAU,MAAM,QAAQ,IAAI,CAAC,CAAC,IAC3D;AAKJ,SAAK,KAAK,UAAU,OAAO,GAAG,EAAE,GAAG,UAAU,IAAI,GAAG,IAAI,WAAW,CAAO;AAAA,EAC5E;AACF;AAEA,IAAO,gBAAQ;","names":["e"]}
|
package/dist/walkerOS.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$meta": {
|
|
3
3
|
"package": "@walkeros/web-destination-api",
|
|
4
|
-
"version": "4.7.0
|
|
4
|
+
"version": "4.7.0",
|
|
5
5
|
"type": "destination",
|
|
6
6
|
"platform": [
|
|
7
7
|
"web"
|
|
8
8
|
],
|
|
9
|
+
"exports": {},
|
|
9
10
|
"docs": "https://www.walkeros.io/docs/destinations/api/web",
|
|
10
11
|
"source": "https://github.com/elbwalker/walkerOS/tree/main/packages/web/destinations/api/src"
|
|
11
12
|
},
|
|
@@ -153,7 +154,7 @@
|
|
|
153
154
|
"consent": {
|
|
154
155
|
"functional": true
|
|
155
156
|
},
|
|
156
|
-
"id": "
|
|
157
|
+
"id": "53fbdf72a9f0a039",
|
|
157
158
|
"trigger": "load",
|
|
158
159
|
"entity": "order",
|
|
159
160
|
"action": "complete",
|
|
@@ -186,7 +187,7 @@
|
|
|
186
187
|
"{\"order_id\":\"0rd3r1d\",\"amount\":555,\"tax\":73.76,\"shipping_cost\":5.22,\"currency\":\"EUR\",\"event_name\":\"order complete\",\"user_id\":\"us3r\"}",
|
|
187
188
|
{
|
|
188
189
|
"headers": {
|
|
189
|
-
"traceparent": "00-0a1b2c3d4e5f60718293a4b5c6d7e8f9-
|
|
190
|
+
"traceparent": "00-0a1b2c3d4e5f60718293a4b5c6d7e8f9-53fbdf72a9f0a039-01"
|
|
190
191
|
},
|
|
191
192
|
"transport": "fetch"
|
|
192
193
|
}
|
|
@@ -236,7 +237,7 @@
|
|
|
236
237
|
"consent": {
|
|
237
238
|
"functional": true
|
|
238
239
|
},
|
|
239
|
-
"id": "
|
|
240
|
+
"id": "e690f0f6a1fa764a",
|
|
240
241
|
"trigger": "test",
|
|
241
242
|
"entity": "entity",
|
|
242
243
|
"action": "action",
|
|
@@ -259,7 +260,7 @@
|
|
|
259
260
|
"{\"string\":\"foo\",\"number\":1,\"boolean\":true,\"array\":[0,\"text\",false]}",
|
|
260
261
|
{
|
|
261
262
|
"headers": {
|
|
262
|
-
"traceparent": "00-0a1b2c3d4e5f60718293a4b5c6d7e8f9-
|
|
263
|
+
"traceparent": "00-0a1b2c3d4e5f60718293a4b5c6d7e8f9-e690f0f6a1fa764a-01"
|
|
263
264
|
},
|
|
264
265
|
"transport": "fetch"
|
|
265
266
|
}
|
|
@@ -307,7 +308,7 @@
|
|
|
307
308
|
"consent": {
|
|
308
309
|
"functional": true
|
|
309
310
|
},
|
|
310
|
-
"id": "
|
|
311
|
+
"id": "708012c5db6fd51b",
|
|
311
312
|
"trigger": "load",
|
|
312
313
|
"entity": "page",
|
|
313
314
|
"action": "view",
|
|
@@ -330,7 +331,7 @@
|
|
|
330
331
|
"{\"domain\":\"www.example.com\",\"title\":\"walkerOS documentation\",\"referrer\":\"https://www.walkeros.io/\",\"search\":\"?foo=bar\",\"hash\":\"#hash\",\"id\":\"/docs/\"}",
|
|
331
332
|
{
|
|
332
333
|
"headers": {
|
|
333
|
-
"traceparent": "00-0a1b2c3d4e5f60718293a4b5c6d7e8f9-
|
|
334
|
+
"traceparent": "00-0a1b2c3d4e5f60718293a4b5c6d7e8f9-708012c5db6fd51b-01"
|
|
334
335
|
},
|
|
335
336
|
"transport": "fetch"
|
|
336
337
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/web-destination-api",
|
|
3
3
|
"description": "Web API destination for walkerOS",
|
|
4
|
-
"version": "4.7.0
|
|
4
|
+
"version": "4.7.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"update": "npx npm-check-updates -u && npm update"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@walkeros/core": "4.7.0
|
|
42
|
-
"@walkeros/web-core": "4.7.0
|
|
41
|
+
"@walkeros/core": "4.7.0",
|
|
42
|
+
"@walkeros/web-core": "4.7.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@walkeros/collector": "4.7.0
|
|
45
|
+
"@walkeros/collector": "4.7.0"
|
|
46
46
|
},
|
|
47
47
|
"repository": {
|
|
48
48
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|