@walkeros/web-destination-api 1.0.0 → 1.1.0-next-1768820936934

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.
@@ -74,7 +74,7 @@ function A(e2, t = {}, n = {}) {
74
74
  }
75
75
  function H(e2 = {}) {
76
76
  var _a;
77
- const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", r = e2.count || 1, o = A({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${r}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: r, version: { source: "0.8.0", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
77
+ const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", r = e2.count || 1, o = A({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${r}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: r, version: { source: "1.0.0", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
78
78
  if (e2.name) {
79
79
  const [t2, n2] = (_a = e2.name.split(" ")) != null ? _a : [];
80
80
  t2 && n2 && (o.entity = t2, o.action = n2);
@@ -52,7 +52,7 @@ function A(e2, t = {}, n = {}) {
52
52
  }
53
53
  function H(e2 = {}) {
54
54
  var _a;
55
- const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", r = e2.count || 1, o = A({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${r}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: r, version: { source: "0.8.0", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
55
+ const t = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", r = e2.count || 1, o = A({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${r}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: r, version: { source: "1.0.0", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
56
56
  if (e2.name) {
57
57
  const [t2, n2] = (_a = e2.name.split(" ")) != null ? _a : [];
58
58
  t2 && n2 && (o.entity = t2, o.action = n2);
@@ -1 +1 @@
1
- "use strict";var Walkerjs=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,o={};((t,r)=>{for(var n in r)e(t,n,{get:r[n],enumerable:!0})})(o,{DestinationAPI:()=>y,default:()=>g,destinationAPI:()=>h});var s=Object.defineProperty;((e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})})({},{Level:()=>i});var a,i=((a=i||{})[a.ERROR=0]="ERROR",a[a.INFO=1]="INFO",a[a.DEBUG=2]="DEBUG",a),u={merge:!0,shallow:!0,extend:!0};function c(e,t,r){return function(...n){try{return e(...n)}catch(e){if(!t)return;return t(e)}finally{null==r||r()}}}function f(e){return void 0===e||function(e,t){return typeof e==typeof t}(e,"")?e:JSON.stringify(e)}function d(e={}){return function(e,t={},r={}){r={...u,...r};const n=Object.entries(t).reduce((t,[n,o])=>{const s=e[n];return r.merge&&Array.isArray(s)&&Array.isArray(o)?t[n]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(r.extend||n in e)&&(t[n]=o),t},{});return r.shallow?{...e,...n}:(Object.assign(e,n),e)}({"Content-Type":"application/json; charset=utf-8"},e)}function l(e,t,r={transport:"fetch"}){switch(r.transport||"fetch"){case"beacon":return function(e,t){const r=f(t),n=navigator.sendBeacon(e,r);return{ok:n,error:n?void 0:"Failed to send beacon"}}(e,t);case"xhr":return function(e,t,r={}){const n=d(r.headers),o=r.method||"POST",s=f(t);return c(()=>{const t=new XMLHttpRequest;t.open(o,e,!1);for(const e in n)t.setRequestHeader(e,n[e]);t.send(s);const r=t.status>=200&&t.status<300;return{ok:r,data:c(JSON.parse,()=>t.response)(t.response),error:r?void 0:`${t.status} ${t.statusText}`}},e=>({ok:!1,error:e.message}))()}(e,t,r);default:return async function(e,t,r={}){const n=d(r.headers),o=f(t);return function(e,t,r){return async function(...n){try{return await e(...n)}catch(e){if(!t)return;return await t(e)}finally{await(null==r?void 0:r())}}}(async()=>{const t=await fetch(e,{method:r.method||"POST",headers:n,keepalive:!0,credentials:r.credentials||"same-origin",mode:r.noCors?"no-cors":"cors",body:o}),s=r.noCors?"":await t.text();return{ok:t.ok,data:s,error:t.ok?void 0:t.statusText}},e=>({ok:!1,error:e.message}))()}(e,t,r)}}var p,y={},h={type:"api",config:{},push(e,{config:t,rule:r,data:n,env:o,logger:s}){const{settings:a}=t,{url:i,headers:u,method:c,transform:f,transport:d="fetch"}=a||{};i||s.throw("Config settings url missing");const p=function(e){return void 0!==e}(n)?n:e,y=f?f(p,t,r):JSON.stringify(p);((null==o?void 0:o.sendWeb)||l)(i,y,{headers:u,method:c,transport:d})}},g=h;return p=o,((o,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let u of r(s))n.call(o,u)||u===a||e(o,u,{get:()=>s[u],enumerable:!(i=t(s,u))||i.enumerable});return o})(e({},"__esModule",{value:!0}),p)})();
1
+ "use strict";var Walkerjs=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,o={};((t,r)=>{for(var n in r)e(t,n,{get:r[n],enumerable:!0})})(o,{DestinationAPI:()=>g,default:()=>v,destinationAPI:()=>y});var s=Object.defineProperty;((e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})})({},{Level:()=>i});var a,i=((a=i||{})[a.ERROR=0]="ERROR",a[a.INFO=1]="INFO",a[a.DEBUG=2]="DEBUG",a),c={merge:!0,shallow:!0,extend:!0};function u(e,t,r){return function(...n){try{return e(...n)}catch(e){if(!t)return;return t(e)}finally{null==r||r()}}}function f(e){return void 0===e||function(e,t){return typeof e==typeof t}(e,"")?e:JSON.stringify(e)}function d(e={}){return function(e,t={},r={}){r={...c,...r};const n=Object.entries(t).reduce((t,[n,o])=>{const s=e[n];return r.merge&&Array.isArray(s)&&Array.isArray(o)?t[n]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(r.extend||n in e)&&(t[n]=o),t},{});return r.shallow?{...e,...n}:(Object.assign(e,n),e)}({"Content-Type":"application/json; charset=utf-8"},e)}function l(e,t,r={transport:"fetch"}){switch(r.transport||"fetch"){case"beacon":return function(e,t){const r=f(t),n=navigator.sendBeacon(e,r);return{ok:n,error:n?void 0:"Failed to send beacon"}}(e,t);case"xhr":return function(e,t,r={}){const n=d(r.headers),o=r.method||"POST",s=f(t);return u(()=>{const t=new XMLHttpRequest;t.open(o,e,!1);for(const e in n)t.setRequestHeader(e,n[e]);t.send(s);const r=t.status>=200&&t.status<300;return{ok:r,data:u(JSON.parse,()=>t.response)(t.response),error:r?void 0:`${t.status} ${t.statusText}`}},e=>({ok:!1,error:e.message}))()}(e,t,r);default:return async function(e,t,r={}){const n=d(r.headers),o=f(t);return function(e,t,r){return async function(...n){try{return await e(...n)}catch(e){if(!t)return;return await t(e)}finally{await(null==r?void 0:r())}}}(async()=>{const t=await fetch(e,{method:r.method||"POST",headers:n,keepalive:!0,credentials:r.credentials||"same-origin",mode:r.noCors?"no-cors":"cors",body:o}),s=r.noCors?"":await t.text();return{ok:t.ok,data:s,error:t.ok?void 0:t.statusText}},e=>({ok:!1,error:e.message}))()}(e,t,r)}}var g={};function p(e,t,r){const{url:n,headers:o,method:s,transport:a="fetch"}=t;r(n,e,{headers:o,method:s,transport:a})}var h,y={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:a}=t,{url:i,transform:c}=a||{},u=function(e){return void 0!==e}(n)?n:e;p(c?c(u,t,r):JSON.stringify(u),a,o.sendWeb||l)},pushBatch(e,{config:t,rule:r,env:n}){const o=t.settings,{transform:s}=o,a=e.data.length?e.data:e.events,i=s?a.map(e=>s(e,t,r)):a;p(JSON.stringify(i),o,n.sendWeb||l)}},v=y;return h=o,((o,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of r(s))n.call(o,c)||c===a||e(o,c,{get:()=>s[c],enumerable:!(i=t(s,c))||i.enumerable});return o})(e({},"__esModule",{value:!0}),h)})();
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 _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,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()}}},e=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]}})})()}},t=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)},n=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({},v,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]:{})},o=function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{transport:"fetch"};switch(t.transport||"fetch"){case"beacon":return i(r,e);case"xhr":return u(r,e,t);default:return a(r,e,t)}},a=function(r,o){return _async_to_generator(function(r,o){var a,i,u,c=arguments;return _ts_generator(this,function(l){return i=n((a=c.length>2&&void 0!==c[2]?c[2]:{}).headers),u=t(o),[2,e(function(){return _async_to_generator(function(){var e,t,n;return _ts_generator(this,function(o){switch(o.label){case 0:return[4,fetch(r,{method:a.method||"POST",headers:i,keepalive:!0,credentials:a.credentials||"same-origin",mode:a.noCors?"no-cors":"cors",body:u})];case 1:return e=o.sent(),a.noCors?(n="",[3,4]):[3,2];case 2:return[4,e.text()];case 3:n=o.sent(),o.label=4;case 4:return t=n,[2,{ok:e.ok,data:t,error:e.ok?void 0:e.statusText}]}})})()},function(r){return{ok:!1,error:r.message}})()]})}).apply(this,arguments)},i=function(r,e){var n=t(e),o=navigator.sendBeacon(r,n);return{ok:o,error:o?void 0:"Failed to send beacon"}},u=function(e,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n(a.headers),u=a.method||"POST",c=t(o);return r(function(){var t=new XMLHttpRequest;for(var n in t.open(u,e,!1),i)t.setRequestHeader(n,i[n]);t.send(c);var o=t.status>=200&&t.status<300;return{ok:o,data:r(JSON.parse,function(){return t.response})(t.response),error:o?void 0:"".concat(t.status," ").concat(t.statusText)}},function(r){return{ok:!1,error:r.message}})()},c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,f=Object.prototype.hasOwnProperty,_={};!function(r,e){for(var t in e)c(r,t,{get:e[t],enumerable:!0})}(_,{DestinationAPI:function(){return h},default:function(){return g},destinationAPI:function(){return m}});var y=Object.defineProperty;!function(r,e){for(var t in e)y(r,t,{get:e[t],enumerable:!0})}({},{Level:function(){return b}});var d,p,b=((d=b||{})[d.ERROR=0]="ERROR",d[d.INFO=1]="INFO",d[d.DEBUG=2]="DEBUG",d),v={merge:!0,shallow:!0,extend:!0},h={},m={type:"api",config:{},push:function(r,e){var t=e.config,n=e.rule,a=e.data,i=e.env,u=e.logger,c=t.settings||{},l=c.url,s=c.headers,f=c.method,_=c.transform,y=c.transport,d=void 0===y?"fetch":y;l||u.throw("Config settings url missing");var p=function(r){return void 0!==r}(a)?a:r,b=_?_(p,t,n):JSON.stringify(p);((null==i?void 0:i.sendWeb)||o)(l,b,{headers:s,method:f,transport:d})}},g=m;return p=_,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,_=function(){var o=u.value;f.call(r,o)||o===t||c(r,o,{get:function(){return e[o]},enumerable:!(n=l(e,o))||n.enumerable})},y=s(e)[Symbol.iterator]();!(o=(u=y.next()).done);o=!0)_()}catch(r){a=!0,i=r}finally{try{o||null==y.return||y.return()}finally{if(a)throw i}}}return r}(c({},"__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 _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,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()}}},e=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]}})})()}},t=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)},n=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({},h,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]:{})},o=function(r,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{transport:"fetch"};switch(t.transport||"fetch"){case"beacon":return i(r,e);case"xhr":return u(r,e,t);default:return a(r,e,t)}},a=function(r,o){return _async_to_generator(function(r,o){var a,i,u,c=arguments;return _ts_generator(this,function(s){return i=n((a=c.length>2&&void 0!==c[2]?c[2]:{}).headers),u=t(o),[2,e(function(){return _async_to_generator(function(){var e,t,n;return _ts_generator(this,function(o){switch(o.label){case 0:return[4,fetch(r,{method:a.method||"POST",headers:i,keepalive:!0,credentials:a.credentials||"same-origin",mode:a.noCors?"no-cors":"cors",body:u})];case 1:return e=o.sent(),a.noCors?(n="",[3,4]):[3,2];case 2:return[4,e.text()];case 3:n=o.sent(),o.label=4;case 4:return t=n,[2,{ok:e.ok,data:t,error:e.ok?void 0:e.statusText}]}})})()},function(r){return{ok:!1,error:r.message}})()]})}).apply(this,arguments)},i=function(r,e){var n=t(e),o=navigator.sendBeacon(r,n);return{ok:o,error:o?void 0:"Failed to send beacon"}},u=function(e,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=n(a.headers),u=a.method||"POST",c=t(o);return r(function(){var t=new XMLHttpRequest;for(var n in t.open(u,e,!1),i)t.setRequestHeader(n,i[n]);t.send(c);var o=t.status>=200&&t.status<300;return{ok:o,data:r(JSON.parse,function(){return t.response})(t.response),error:o?void 0:"".concat(t.status," ").concat(t.statusText)}},function(r){return{ok:!1,error:r.message}})()},c=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})},s=Object.defineProperty,l=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,_=Object.prototype.hasOwnProperty,y={};!function(r,e){for(var t in e)s(r,t,{get:e[t],enumerable:!0})}(y,{DestinationAPI:function(){return g},default:function(){return w},destinationAPI:function(){return m}});var d=Object.defineProperty;!function(r,e){for(var t in e)d(r,t,{get:e[t],enumerable:!0})}({},{Level:function(){return v}});var p,b,v=((p=v||{})[p.ERROR=0]="ERROR",p[p.INFO=1]="INFO",p[p.DEBUG=2]="DEBUG",p),h={merge:!0,shallow:!0,extend:!0},g={},m={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,a=e.data,i=e.env,u=(e.logger,t.settings),s=u||{},l=(s.url,s.transform),f=function(r){return void 0!==r}(a)?a:r,_=l?l(f,t,n):JSON.stringify(f);c(_,u,i.sendWeb||o)},pushBatch:function(r,e){var t=e.config,n=e.rule,a=e.env,i=t.settings,u=i.transform,s=r.data.length?r.data:r.events,l=u?s.map(function(r){return u(r,t,n)}):s;c(JSON.stringify(l),i,a.sendWeb||o)}},w=m;return b=y,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;_.call(r,o)||o===t||s(r,o,{get:function(){return e[o]},enumerable:!(n=l(e,o))||n.enumerable})},y=f(e)[Symbol.iterator]();!(o=(u=y.next()).done);o=!0)c()}catch(r){a=!0,i=r}finally{try{o||null==y.return||y.return()}finally{if(a)throw i}}}return r}(s({},"__esModule",{value:!0}),b)}();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,s={};((e,r)=>{for(var o in r)t(e,o,{get:r[o],enumerable:!0})})(s,{DestinationAPI:()=>f,default:()=>p,destinationAPI:()=>c}),module.exports=(e=s,((e,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let l of o(s))n.call(e,l)||l===a||t(e,l,{get:()=>s[l],enumerable:!(i=r(s,l))||i.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a=Object.defineProperty;((e,t)=>{for(var r in t)a(e,r,{get:t[r],enumerable:!0})})({},{Level:()=>l});var i,l=((i=l||{})[i.ERROR=0]="ERROR",i[i.INFO=1]="INFO",i[i.DEBUG=2]="DEBUG",i);var u=require("@walkeros/web-core"),f={},c={type:"api",config:{},push(e,{config:t,rule:r,data:o,env:n,logger:s}){const{settings:a}=t,{url:i,headers:l,method:f,transform:c,transport:p="fetch"}=a||{};i||s.throw("Config settings url missing");const d=function(e){return void 0!==e}(o)?o:e,g=c?c(d,t,r):JSON.stringify(d);((null==n?void 0:n.sendWeb)||u.sendWeb)(i,g,{headers:l,method:f,transport:p})}},p=c;//# sourceMappingURL=index.js.map
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:()=>d,destinationAPI:()=>l}),module.exports=(e=s,((e,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of n(s))o.call(e,c)||c===a||t(e,c,{get:()=>s[c],enumerable:!(i=r(s,c))||i.enumerable});return e})(t({},"__esModule",{value:!0}),e));var a=Object.defineProperty;((e,t)=>{for(var r in t)a(e,r,{get:t[r],enumerable:!0})})({},{Level:()=>c});var i,c=((i=c||{})[i.ERROR=0]="ERROR",i[i.INFO=1]="INFO",i[i.DEBUG=2]="DEBUG",i);var f=require("@walkeros/web-core"),u={};function g(e,t,r){const{url:n,headers:o,method:s,transport:a="fetch"}=t;r(n,e,{headers:o,method:s,transport:a})}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:a}=t,{url:i,transform:c}=a||{},u=function(e){return void 0!==e}(n)?n:e;g(c?c(u,t,r):JSON.stringify(u),a,o.sendWeb||f.sendWeb)},pushBatch(e,{config:t,rule:r,env:n}){const o=t.settings,{transform:s}=o,a=e.data.length?e.data:e.events,i=s?a.map(e=>s(e,t,r)):a;g(JSON.stringify(i),o,n.sendWeb||f.sendWeb)}},d=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 { Settings, Destination, Env } from './types';\nimport { isDefined } from '@walkeros/core';\nimport { getEnv, sendWeb } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationAPI from './types';\n\nexport const destinationAPI: Destination = {\n type: 'api',\n\n config: {},\n\n push(event, { config, rule, data, env, logger }) {\n const { settings } = config;\n const {\n url,\n headers,\n method,\n transform,\n transport = 'fetch',\n } = settings || {};\n\n if (!url) logger.throw('Config settings url missing');\n\n const eventData = isDefined(data) ? data : event;\n const body = transform\n ? transform(eventData, config, rule) // Transform event data\n : JSON.stringify(eventData);\n\n const sendWebFn = (env as Env)?.sendWeb || sendWeb;\n sendWebFn(url!, body, { headers, method, transport });\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;A;;;;;;;;;;;;;AAEA,sBAAgC;;;ACFhC;;;ADOO,IAAM,iBAA8B;AAAA,EACzC,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,OAAO,EAAE,QAAQ,MAAM,MAAM,KAAK,OAAO,GAAG;AAC/C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,IACd,IAAI,YAAY,CAAC;AAEjB,QAAI,CAAC,IAAK,QAAO,MAAM,6BAA6B;AAEpD,UAAM,YAAY,EAAU,IAAI,IAAI,OAAO;AAC3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,UAAM,aAAa,2BAAa,YAAW;AAC3C,cAAU,KAAM,MAAM,EAAE,SAAS,QAAQ,UAAU,CAAC;AAAA,EACtD;AACF;AAEA,IAAO,gBAAQ;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/types/index.ts"],"sourcesContent":["import type { SendDataValue } 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\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 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 send(body, settings as Settings, env.sendWeb || sendWeb);\n },\n\n pushBatch(batch, { config, rule, env }) {\n const settings = config.settings as Settings;\n const { transform } = settings;\n const items = batch.data.length ? batch.data : batch.events;\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 send(JSON.stringify(payload), settings, 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;A;;;;;;;;;;;;;AAGA,sBAAwB;;;ACHxB;;;ADQA,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,UAAM,YAAY,EAAU,IAAI,IAAI,OAAO;AAE3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,SAAK,MAAM,UAAsB,IAAI,WAAW,uBAAO;AAAA,EACzD;AAAA,EAEA,UAAU,OAAO,EAAE,QAAQ,MAAM,IAAI,GAAG;AACtC,UAAM,WAAW,OAAO;AACxB,UAAM,EAAE,UAAU,IAAI;AACtB,UAAM,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAGrD,UAAM,UAAU,YACZ,MAAM,IAAI,CAAC,SAAS,UAAU,MAAM,QAAQ,IAAI,CAAC,IACjD;AAEJ,SAAK,KAAK,UAAU,OAAO,GAAG,UAAU,IAAI,WAAW,uBAAO;AAAA,EAChE;AACF;AAEA,IAAO,gBAAQ;","names":[]}
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty;((t,r)=>{for(var n in r)e(t,n,{get:r[n],enumerable:!0})})({},{Level:()=>r});var t,r=((t=r||{})[t.ERROR=0]="ERROR",t[t.INFO=1]="INFO",t[t.DEBUG=2]="DEBUG",t),n={merge:!0,shallow:!0,extend:!0};function o(e,t,r){return function(...n){try{return e(...n)}catch(e){if(!t)return;return t(e)}finally{null==r||r()}}}function s(e){return void 0===e||function(e,t){return typeof e==typeof t}(e,"")?e:JSON.stringify(e)}function a(e={}){return function(e,t={},r={}){r={...n,...r};const o=Object.entries(t).reduce((t,[n,o])=>{const s=e[n];return r.merge&&Array.isArray(s)&&Array.isArray(o)?t[n]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(r.extend||n in e)&&(t[n]=o),t},{});return r.shallow?{...e,...o}:(Object.assign(e,o),e)}({"Content-Type":"application/json; charset=utf-8"},e)}function i(e,t,r={transport:"fetch"}){switch(r.transport||"fetch"){case"beacon":return function(e,t){const r=s(t),n=navigator.sendBeacon(e,r);return{ok:n,error:n?void 0:"Failed to send beacon"}}(e,t);case"xhr":return function(e,t,r={}){const n=a(r.headers),i=r.method||"POST",u=s(t);return o(()=>{const t=new XMLHttpRequest;t.open(i,e,!1);for(const e in n)t.setRequestHeader(e,n[e]);t.send(u);const r=t.status>=200&&t.status<300;return{ok:r,data:o(JSON.parse,()=>t.response)(t.response),error:r?void 0:`${t.status} ${t.statusText}`}},e=>({ok:!1,error:e.message}))()}(e,t,r);default:return async function(e,t,r={}){const n=a(r.headers),o=s(t);return function(e,t,r){return async function(...n){try{return await e(...n)}catch(e){if(!t)return;return await t(e)}finally{await(null==r?void 0:r())}}}(async()=>{const t=await fetch(e,{method:r.method||"POST",headers:n,keepalive:!0,credentials:r.credentials||"same-origin",mode:r.noCors?"no-cors":"cors",body:o}),s=r.noCors?"":await t.text();return{ok:t.ok,data:s,error:t.ok?void 0:t.statusText}},e=>({ok:!1,error:e.message}))()}(e,t,r)}}var u={},c={type:"api",config:{},push(e,{config:t,rule:r,data:n,env:o,logger:s}){const{settings:a}=t,{url:u,headers:c,method:d,transform:f,transport:l="fetch"}=a||{};u||s.throw("Config settings url missing");const h=function(e){return void 0!==e}(n)?n:e,p=f?f(h,t,r):JSON.stringify(h);((null==o?void 0:o.sendWeb)||i)(u,p,{headers:c,method:d,transport:l})}},d=c;export{u as DestinationAPI,d as default,c as destinationAPI};//# sourceMappingURL=index.mjs.map
1
+ var t=Object.defineProperty;((e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})})({},{Level:()=>n});var e,n=((e=n||{})[e.ERROR=0]="ERROR",e[e.INFO=1]="INFO",e[e.DEBUG=2]="DEBUG",e),r={merge:!0,shallow:!0,extend:!0};function o(t,e,n){return function(...r){try{return t(...r)}catch(t){if(!e)return;return e(t)}finally{null==n||n()}}}function s(t){return void 0===t||function(t,e){return typeof t==typeof e}(t,"")?t:JSON.stringify(t)}function a(t={}){return function(t,e={},n={}){n={...r,...n};const o=Object.entries(e).reduce((e,[r,o])=>{const s=t[r];return n.merge&&Array.isArray(s)&&Array.isArray(o)?e[r]=o.reduce((t,e)=>t.includes(e)?t:[...t,e],[...s]):(n.extend||r in t)&&(e[r]=o),e},{});return n.shallow?{...t,...o}:(Object.assign(t,o),t)}({"Content-Type":"application/json; charset=utf-8"},t)}function i(t,e,n={transport:"fetch"}){switch(n.transport||"fetch"){case"beacon":return function(t,e){const n=s(e),r=navigator.sendBeacon(t,n);return{ok:r,error:r?void 0:"Failed to send beacon"}}(t,e);case"xhr":return function(t,e,n={}){const r=a(n.headers),i=n.method||"POST",c=s(e);return o(()=>{const e=new XMLHttpRequest;e.open(i,t,!1);for(const t in r)e.setRequestHeader(t,r[t]);e.send(c);const n=e.status>=200&&e.status<300;return{ok:n,data:o(JSON.parse,()=>e.response)(e.response),error:n?void 0:`${e.status} ${e.statusText}`}},t=>({ok:!1,error:t.message}))()}(t,e,n);default:return async function(t,e,n={}){const r=a(n.headers),o=s(e);return function(t,e,n){return async function(...r){try{return await t(...r)}catch(t){if(!e)return;return await e(t)}finally{await(null==n?void 0:n())}}}(async()=>{const e=await fetch(t,{method:n.method||"POST",headers:r,keepalive:!0,credentials:n.credentials||"same-origin",mode:n.noCors?"no-cors":"cors",body:o}),s=n.noCors?"":await e.text();return{ok:e.ok,data:s,error:e.ok?void 0:e.statusText}},t=>({ok:!1,error:t.message}))()}(t,e,n)}}var c={};function u(t,e,n){const{url:r,headers:o,method:s,transport:a="fetch"}=e;n(r,t,{headers:o,method:s,transport:a})}var d={type:"api",config:{},init({config:t,logger:e}){const{url:n}=t.settings||{};n||e.throw("Config settings url missing")},push(t,{config:e,rule:n,data:r,env:o,logger:s}){const{settings:a}=e,{url:c,transform:d}=a||{},f=function(t){return void 0!==t}(r)?r:t;u(d?d(f,e,n):JSON.stringify(f),a,o.sendWeb||i)},pushBatch(t,{config:e,rule:n,env:r}){const o=e.settings,{transform:s}=o,a=t.data.length?t.data:t.events,c=s?a.map(t=>s(t,e,n)):a;u(JSON.stringify(c),o,r.sendWeb||i)}},f=d;export{c as DestinationAPI,f as default,d as destinationAPI};//# sourceMappingURL=index.mjs.map
@@ -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 { Settings, Destination, Env } from './types';\nimport { isDefined } from '@walkeros/core';\nimport { getEnv, sendWeb } from '@walkeros/web-core';\n\n// Types\nexport * as DestinationAPI from './types';\n\nexport const destinationAPI: Destination = {\n type: 'api',\n\n config: {},\n\n push(event, { config, rule, data, env, logger }) {\n const { settings } = config;\n const {\n url,\n headers,\n method,\n transform,\n transport = 'fetch',\n } = settings || {};\n\n if (!url) logger.throw('Config settings url missing');\n\n const eventData = isDefined(data) ? data : event;\n const body = transform\n ? transform(eventData, config, rule) // Transform event data\n : JSON.stringify(eventData);\n\n const sendWebFn = (env as Env)?.sendWeb || sendWeb;\n sendWebFn(url!, body, { headers, method, transport });\n },\n};\n\nexport default destinationAPI;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACOO,IAAM,iBAA8B;AAAA,EACzC,MAAM;AAAA,EAEN,QAAQ,CAAC;AAAA,EAET,KAAK,OAAO,EAAE,QAAQ,MAAM,MAAM,KAAK,OAAO,GAAG;AAC/C,UAAM,EAAE,SAAS,IAAI;AACrB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,IACd,IAAI,YAAY,CAAC;AAEjB,QAAI,CAAC,IAAK,QAAO,MAAM,6BAA6B;AAEpD,UAAM,YAAY,EAAU,IAAI,IAAI,OAAO;AAC3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,UAAM,aAAa,2BAAa,YAAW;AAC3C,cAAU,KAAM,MAAM,EAAE,SAAS,QAAQ,UAAU,CAAC;AAAA,EACtD;AACF;AAEA,IAAO,gBAAQ;","names":[]}
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 } 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\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 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 send(body, settings as Settings, env.sendWeb || sendWeb);\n },\n\n pushBatch(batch, { config, rule, env }) {\n const settings = config.settings as Settings;\n const { transform } = settings;\n const items = batch.data.length ? batch.data : batch.events;\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 send(JSON.stringify(payload), settings, env.sendWeb || sendWeb);\n },\n};\n\nexport default destinationAPI;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACQA,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,UAAM,YAAY,EAAU,IAAI,IAAI,OAAO;AAE3C,UAAM,OAAO,YACT,UAAU,WAAW,QAAQ,IAAI,IACjC,KAAK,UAAU,SAAS;AAE5B,SAAK,MAAM,UAAsB,IAAI,WAAW,CAAO;AAAA,EACzD;AAAA,EAEA,UAAU,OAAO,EAAE,QAAQ,MAAM,IAAI,GAAG;AACtC,UAAM,WAAW,OAAO;AACxB,UAAM,EAAE,UAAU,IAAI;AACtB,UAAM,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAGrD,UAAM,UAAU,YACZ,MAAM,IAAI,CAAC,SAAS,UAAU,MAAM,QAAQ,IAAI,CAAC,IACjD;AAEJ,SAAK,KAAK,UAAU,OAAO,GAAG,UAAU,IAAI,WAAW,CAAO;AAAA,EAChE;AACF;AAEA,IAAO,gBAAQ;","names":[]}
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": "1.0.0",
4
+ "version": "1.1.0-next-1768820936934",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",