Socket
Socket
Sign inDemoInstall

@uniformdev/canvas-acoustic

Package Overview
Dependencies
Maintainers
9
Versions
328
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uniformdev/canvas-acoustic - npm Package Compare versions

Comparing version 12.2.1-alpha.107 to 12.2.1-alpha.121

2

dist/index.esm.js

@@ -1,1 +0,1 @@

import v from"isomorphic-unfetch";var L=25,K=({apiUrl:n,auth:e,protectedContent:r=!1})=>{if(!n)throw new Error("No Acoustic API url.");if(r&&!e)throw new Error("Protected content requires authentication");n.endsWith("/")||(n+="/");let l=`${n}${r?"mydelivery":"delivery"}/v1`,C=$(e),u=async o=>await(await v(o,{method:"GET",headers:{...C,Accept:"application/json"}})).json(),m=async(o,t)=>await(await v(o,{method:"POST",headers:{...C,Accept:"application/json","Content-Type":"application/json"},body:t?JSON.stringify(t):void 0})).json(),f=async(o,t)=>{var s;let i=`${l}/content/${o}`;return((s=t==null?void 0:t.fields)==null?void 0:s.length)&&(i+=`?fields=${t.fields.join(",")}`),await u(i)},c=async(o,t)=>{var s;let i=`${l}/content/bulk_retrieve`;return await m(i,{ids:o,fields:((s=t==null?void 0:t.fields)==null?void 0:s.length)?t.fields:void 0})};return{getContentById:f,getContentByIds:async(o,t)=>{if(!Array.isArray(o)||o.length<1)return[];let i=L;if(o.length<=i)return await c(o,t);let a=0,s=[];do{let d=o.slice(a,a+i),A=await c(d,t);s.push(...A),a+=i}while(a<o.length);return s}}},$=n=>{if(!n)return null;let e=(u,m)=>"Basic "+Buffer.from(`${u}:${m}`).toString("base64"),{apiKey:r}=n;if(r)return{Authorization:e("AcousticAPIKey",r)};let{user:l,password:C}=n;return l&&C?{Authorization:e(l,C)}:null};var T=class{constructor(e){this._clients={},Array.isArray(e)?e.forEach(r=>this.addClient(r)):e&&this.addClient(e)}addClient({source:e="default",client:r,previewClient:l}){if(this._clients[e])throw new Error(`The source '${e}' is already registered`);if(!r)throw new Error("You must provide a Acoustic client for the AcousticClientList");this._clients[e]={client:r,previewClient:l||r}}getClient({source:e="default",isPreviewClient:r}){let l=this._clients[e];if(!!l)return r?l.previewClient:l.client}};import{createBatchEnhancer as _,UniqueBatchEntries as j}from"@uniformdev/canvas";import{nullLimitPolicy as V}from"@uniformdev/canvas";var R=()=>V,E=R();function I({clients:n,parameterValue:e,parameterName:r,component:l,context:C}){let{source:u="default"}=e,m=n.getClient({source:u,isPreviewClient:C.preview});if(!m)throw new Error(`No Acoustic client could be resolved for source key '${u}' referenced in parameter '${r} in component '${l.type}'. Ensure that the 'clients' property you are passing to the enhancer has a client instance registered for the source key.`);return m}var B=Object.freeze(["acousticContentItem"]);function et({clients:n,createQuery:e,useBatching:r,limitPolicy:l}){if(!n)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");let C=l||E;return r?_({handleBatch:async u=>{var f;let m=u.reduce((c,p)=>{let{parameter:o,parameterName:t,component:i,context:a}=p.args,s=o.value;if(!O(s))return c;let d=I({parameterValue:s,parameterName:t,clients:n,component:i,context:a}),{source:A="default"}=s;return c[A]&&Array.isArray(c[A].tasks)?c[A].tasks.push(p):c[A]={client:d,tasks:[p]},c},{});try{console.time("fetch all Acoustic content items");for await(let[c,p]of Object.entries(m)){let{context:o}=p.tasks[0].args,t=new j(p.tasks,A=>A.parameter.value.contentItemId),i=await p.client,a=Object.keys(t.groups),s={},d=(f=e==null?void 0:e({defaultQuery:s,context:o}))!=null?f:s;console.time(`fetch Acoustic content items ${c}`);try{let A=await i.getContentByIds(a,d);for(let g of A)t.resolveKey(g.id,g);t.resolveRemaining(null)}finally{console.timeEnd(`fetch Acoustic content items ${c}`)}}console.timeEnd("fetch all Acoustic content items")}catch(c){let o=(i=>`Failed loading Acoustic content items batch (${u.length}): ${i}`)(c.message),t=new Error(o);u.forEach(i=>i.reject(t))}},shouldQueue:({parameter:u})=>M(u),limitPolicy:C}):{enhanceOne:async function({parameter:m,parameterName:f,component:c,context:p}){var o;if(M(m)){let t=m.value;if(!O(t))return null;let i=I({clients:n,parameterName:f,parameterValue:t,component:c,context:p}),a=t.contentItemId,s={},d=(o=e==null?void 0:e({parameter:m,parameterName:f,component:c,defaultQuery:s,context:p}))!=null?o:s;try{return console.time(`fetch Acoustic content item ${a}`),await i.getContentById(a,d)}catch(A){let w=(P=>{var x;return`Failed loading Acoustic content item '${a}' from source '${(x=t.source)!=null?x:"default"}' referenced in parameter '${f}': ${P}`})(A.message);throw new Error(w)}finally{console.timeEnd(`fetch Acoustic content item ${a}`)}}},limitPolicy:C}}function M(n){return n.type===B[0]}function O(n){return!(!n||!n.contentItemId)}var N=Object.freeze(["acousticMultiContentItem"]);function ct({clients:n,createQuery:e,limitPolicy:r}){if(!n)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");return{enhanceOne:async function({parameter:u,parameterName:m,component:f,context:c}){var p;if(b(u)){let o=u.value;if(!G(o))return null;let t=o.contentItemIds;if(t.length<1)return[];let i=I({clients:n,parameterName:m,parameterValue:o,component:f,context:c}),a={},s=(p=e==null?void 0:e({parameter:u,parameterName:m,component:f,defaultQuery:a,context:c}))!=null?p:a;try{return console.time(`fetch Acoustic content items ${t.join()}`),await i.getContentByIds(t,s)}catch(d){let g=(w=>{var P;return`Failed loading Acoustic content items '${t.join()}' from source '${(P=o.source)!=null?P:"default"}' referenced in parameter '${m}': ${w}`})(d.message);throw new Error(g)}finally{console.timeEnd(`fetch Acoustic content items ${t.join()}`)}}},limitPolicy:r||E}}function b(n){return n.type===N[0]}function G(n){return!(!n||!Array.isArray(n.contentItemIds))}export{T as AcousticClientList,B as CANVAS_ACOUSTIC_CONTENT_ITEM_PARAMETER_TYPES,N as CANVAS_ACOUSTIC_MULTI_CONTENT_ITEM_PARAMETER_TYPES,K as createAcousticClient,et as createAcousticContentItemEnhancer,R as createAcousticLimitPolicy,ct as createAcousticMultiContentItemEnhancer,E as sharedAcousticLimitPolicy};
import v from"isomorphic-unfetch";var $=25,K=({apiUrl:n,auth:e,protectedContent:c=!1})=>{if(!n)throw new Error("No Acoustic API url.");if(c&&!e)throw new Error("Protected content requires authentication");n.endsWith("/")||(n+="/");let l=`${n}${c?"mydelivery":"delivery"}/v1`,C=T(e),u=async o=>await(await v(o,{method:"GET",headers:{...C,Accept:"application/json"}})).json(),m=async(o,t)=>await(await v(o,{method:"POST",headers:{...C,Accept:"application/json","Content-Type":"application/json"},body:t?JSON.stringify(t):void 0})).json(),f=async(o,t)=>{var s;let i=`${l}/content/${o}`;return((s=t==null?void 0:t.fields)==null?void 0:s.length)&&(i+=`?fields=${t.fields.join(",")}`),await u(i)},r=async(o,t)=>{var s;let i=`${l}/content/bulk_retrieve`;return await m(i,{ids:o,fields:((s=t==null?void 0:t.fields)==null?void 0:s.length)?t.fields:void 0})};return{getContentById:f,getContentByIds:async(o,t)=>{if(!Array.isArray(o)||o.length<1)return[];let i=$;if(o.length<=i)return await r(o,t);let a=0,s=[];do{let d=o.slice(a,a+i),A=await r(d,t);s.push(...A),a+=i}while(a<o.length);return s}}},T=n=>{if(!n)return null;let e=(u,m)=>"Basic "+Buffer.from(`${u}:${m}`).toString("base64"),{apiKey:c}=n;if(c)return{Authorization:e("AcousticAPIKey",c)};let{user:l,password:C}=n;return l&&C?{Authorization:e(l,C)}:null};var L=class{constructor(e){this._clients={},Array.isArray(e)?e.forEach(c=>this.addClient(c)):e&&this.addClient(e)}addClient({source:e="default",client:c,previewClient:l}){if(this._clients[e])throw new Error(`The source '${e}' is already registered`);if(!c)throw new Error("You must provide a Acoustic client for the AcousticClientList");this._clients[e]={client:c,previewClient:l||c}}getClient({source:e="default",isPreviewClient:c}){let l=this._clients[e];if(!!l)return c?l.previewClient:l.client}};import{createBatchEnhancer as _,UniqueBatchEntries as j}from"@uniformdev/canvas";import{nullLimitPolicy as V}from"@uniformdev/canvas";var R=()=>V,E=R();function I({clients:n,parameterValue:e,parameterName:c,component:l,context:C}){let{source:u="default"}=e,m=n.getClient({source:u,isPreviewClient:C.preview});if(!m)throw new Error(`No Acoustic client could be resolved for source key '${u}' referenced in parameter '${c} in component '${l.type}'. Ensure that the 'clients' property you are passing to the enhancer has a client instance registered for the source key.`);return m}var B=Object.freeze(["acousticContentItem"]);function et({clients:n,createQuery:e,useBatching:c,limitPolicy:l}){if(!n)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");let C=l||E;return c?_({handleBatch:async u=>{var f;let m=u.reduce((r,p)=>{let{parameter:o,parameterName:t,component:i,context:a}=p.args,s=o.value;if(!M(s))return r;let d=I({parameterValue:s,parameterName:t,clients:n,component:i,context:a}),{source:A="default"}=s;return r[A]&&Array.isArray(r[A].tasks)?r[A].tasks.push(p):r[A]={client:d,tasks:[p]},r},{});try{console.time("fetch all Acoustic content items");for await(let[r,p]of Object.entries(m)){let{context:o}=p.tasks[0].args,t=new j(p.tasks,A=>A.parameter.value.contentItemId),i=await p.client,a=Object.keys(t.groups),s={},d=(f=e==null?void 0:e({defaultQuery:s,context:o}))!=null?f:s;console.time(`fetch Acoustic content items ${r}`);try{let A=await i.getContentByIds(a,d);for(let g of A)t.resolveKey(g.id,g);t.resolveRemaining(null)}finally{console.timeEnd(`fetch Acoustic content items ${r}`)}}console.timeEnd("fetch all Acoustic content items")}catch(r){let o=(i=>`Failed loading Acoustic content items batch (${u.length}): ${i}`)(r.message),t=new Error(o);u.forEach(i=>i.reject(t))}},shouldQueue:({parameter:u})=>O(u),limitPolicy:C}):{enhanceOne:async function({parameter:m,parameterName:f,component:r,context:p}){var o;if(O(m)){let t=m.value;if(!M(t))return null;let i=I({clients:n,parameterName:f,parameterValue:t,component:r,context:p}),a=t.contentItemId,s={},d=(o=e==null?void 0:e({parameter:m,parameterName:f,component:r,defaultQuery:s,context:p}))!=null?o:s;try{return console.time(`fetch Acoustic content item ${a}`),await i.getContentById(a,d)}catch(A){let w=(P=>{var x;return`Failed loading Acoustic content item '${a}' from source '${(x=t.source)!=null?x:"default"}' referenced in parameter '${f}': ${P}`})(A.message);throw new Error(w)}finally{console.timeEnd(`fetch Acoustic content item ${a}`)}}},limitPolicy:C}}function O(n){return n.type===B[0]}function M(n){return!(!n||!n.contentItemId)}var N=Object.freeze(["acousticMultiContentItem"]);function rt({clients:n,createQuery:e,limitPolicy:c}){if(!n)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");return{enhanceOne:async function({parameter:u,parameterName:m,component:f,context:r}){var p;if(b(u)){let o=u.value;if(!G(o))return null;let t=o.contentItemIds;if(t.length<1)return[];let i=I({clients:n,parameterName:m,parameterValue:o,component:f,context:r}),a={},s=(p=e==null?void 0:e({parameter:u,parameterName:m,component:f,defaultQuery:a,context:r}))!=null?p:a;try{return console.time(`fetch Acoustic content items ${t.join()}`),await i.getContentByIds(t,s)}catch(d){let g=(w=>{var P;return`Failed loading Acoustic content items '${t.join()}' from source '${(P=o.source)!=null?P:"default"}' referenced in parameter '${m}': ${w}`})(d.message);throw new Error(g)}finally{console.timeEnd(`fetch Acoustic content items ${t.join()}`)}}},limitPolicy:c||E}}function b(n){return n.type===N[0]}function G(n){return!(!n||!Array.isArray(n.contentItemIds))}export{L as AcousticClientList,B as CANVAS_ACOUSTIC_CONTENT_ITEM_PARAMETER_TYPES,N as CANVAS_ACOUSTIC_MULTI_CONTENT_ITEM_PARAMETER_TYPES,K as createAcousticClient,et as createAcousticContentItemEnhancer,R as createAcousticLimitPolicy,rt as createAcousticMultiContentItemEnhancer,E as sharedAcousticLimitPolicy};

@@ -1,1 +0,1 @@

var N=Object.create;var E=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var L=t=>E(t,"__esModule",{value:!0});var S=(t,e)=>{L(t);for(var i in e)E(t,i,{get:e[i],enumerable:!0})},U=(t,e,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of G(e))!K.call(t,c)&&c!=="default"&&E(t,c,{get:()=>e[c],enumerable:!(i=b(e,c))||i.enumerable});return t},v=t=>U(L(E(t!=null?N(k(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);S(exports,{AcousticClientList:()=>$,CANVAS_ACOUSTIC_CONTENT_ITEM_PARAMETER_TYPES:()=>R,CANVAS_ACOUSTIC_MULTI_CONTENT_ITEM_PARAMETER_TYPES:()=>B,createAcousticClient:()=>Y,createAcousticContentItemEnhancer:()=>D,createAcousticLimitPolicy:()=>V,createAcousticMultiContentItemEnhancer:()=>q,sharedAcousticLimitPolicy:()=>g});var M=v(require("isomorphic-unfetch")),F=25,Y=({apiUrl:t,auth:e,protectedContent:i=!1})=>{if(!t)throw new Error("No Acoustic API url.");if(i&&!e)throw new Error("Protected content requires authentication");t.endsWith("/")||(t+="/");let c=`${t}${i?"mydelivery":"delivery"}/v1`,C=z(e),l=async o=>await(await(0,M.default)(o,{method:"GET",headers:{...C,Accept:"application/json"}})).json(),m=async(o,n)=>await(await(0,M.default)(o,{method:"POST",headers:{...C,Accept:"application/json","Content-Type":"application/json"},body:n?JSON.stringify(n):void 0})).json(),f=async(o,n)=>{var a;let s=`${c}/content/${o}`;return((a=n==null?void 0:n.fields)==null?void 0:a.length)&&(s+=`?fields=${n.fields.join(",")}`),await l(s)},r=async(o,n)=>{var a;let s=`${c}/content/bulk_retrieve`;return await m(s,{ids:o,fields:((a=n==null?void 0:n.fields)==null?void 0:a.length)?n.fields:void 0})};return{getContentById:f,getContentByIds:async(o,n)=>{if(!Array.isArray(o)||o.length<1)return[];let s=F;if(o.length<=s)return await r(o,n);let u=0,a=[];do{let d=o.slice(u,u+s),A=await r(d,n);a.push(...A),u+=s}while(u<o.length);return a}}},z=t=>{if(!t)return null;let e=(l,m)=>"Basic "+Buffer.from(`${l}:${m}`).toString("base64"),{apiKey:i}=t;if(i)return{Authorization:e("AcousticAPIKey",i)};let{user:c,password:C}=t;return c&&C?{Authorization:e(c,C)}:null};var $=class{constructor(e){this._clients={},Array.isArray(e)?e.forEach(i=>this.addClient(i)):e&&this.addClient(e)}addClient({source:e="default",client:i,previewClient:c}){if(this._clients[e])throw new Error(`The source '${e}' is already registered`);if(!i)throw new Error("You must provide a Acoustic client for the AcousticClientList");this._clients[e]={client:i,previewClient:c||i}}getClient({source:e="default",isPreviewClient:i}){let c=this._clients[e];if(!!c)return i?c.previewClient:c.client}};var w=v(require("@uniformdev/canvas"));var T=v(require("@uniformdev/canvas")),V=()=>T.nullLimitPolicy,g=V();function I({clients:t,parameterValue:e,parameterName:i,component:c,context:C}){let{source:l="default"}=e,m=t.getClient({source:l,isPreviewClient:C.preview});if(!m)throw new Error(`No Acoustic client could be resolved for source key '${l}' referenced in parameter '${i} in component '${c.type}'. Ensure that the 'clients' property you are passing to the enhancer has a client instance registered for the source key.`);return m}var R=Object.freeze(["acousticContentItem"]);function D({clients:t,createQuery:e,useBatching:i,limitPolicy:c}){if(!t)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");let C=c||g;return i?(0,w.createBatchEnhancer)({handleBatch:async l=>{var f;let m=l.reduce((r,p)=>{let{parameter:o,parameterName:n,component:s,context:u}=p.args,a=o.value;if(!j(a))return r;let d=I({parameterValue:a,parameterName:n,clients:t,component:s,context:u}),{source:A="default"}=a;return r[A]&&Array.isArray(r[A].tasks)?r[A].tasks.push(p):r[A]={client:d,tasks:[p]},r},{});try{console.time("fetch all Acoustic content items");for await(let[r,p]of Object.entries(m)){let{context:o}=p.tasks[0].args,n=new w.UniqueBatchEntries(p.tasks,A=>A.parameter.value.contentItemId),s=await p.client,u=Object.keys(n.groups),a={},d=(f=e==null?void 0:e({defaultQuery:a,context:o}))!=null?f:a;console.time(`fetch Acoustic content items ${r}`);try{let A=await s.getContentByIds(u,d);for(let y of A)n.resolveKey(y.id,y);n.resolveRemaining(null)}finally{console.timeEnd(`fetch Acoustic content items ${r}`)}}console.timeEnd("fetch all Acoustic content items")}catch(r){let o=(s=>`Failed loading Acoustic content items batch (${l.length}): ${s}`)(r.message),n=new Error(o);l.forEach(s=>s.reject(n))}},shouldQueue:({parameter:l})=>_(l),limitPolicy:C}):{enhanceOne:async function({parameter:m,parameterName:f,component:r,context:p}){var o;if(_(m)){let n=m.value;if(!j(n))return null;let s=I({clients:t,parameterName:f,parameterValue:n,component:r,context:p}),u=n.contentItemId,a={},d=(o=e==null?void 0:e({parameter:m,parameterName:f,component:r,defaultQuery:a,context:p}))!=null?o:a;try{return console.time(`fetch Acoustic content item ${u}`),await s.getContentById(u,d)}catch(A){let x=(P=>{var O;return`Failed loading Acoustic content item '${u}' from source '${(O=n.source)!=null?O:"default"}' referenced in parameter '${f}': ${P}`})(A.message);throw new Error(x)}finally{console.timeEnd(`fetch Acoustic content item ${u}`)}}},limitPolicy:C}}function _(t){return t.type===R[0]}function j(t){return!(!t||!t.contentItemId)}var B=Object.freeze(["acousticMultiContentItem"]);function q({clients:t,createQuery:e,limitPolicy:i}){if(!t)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");return{enhanceOne:async function({parameter:l,parameterName:m,component:f,context:r}){var p;if(H(l)){let o=l.value;if(!J(o))return null;let n=o.contentItemIds;if(n.length<1)return[];let s=I({clients:t,parameterName:m,parameterValue:o,component:f,context:r}),u={},a=(p=e==null?void 0:e({parameter:l,parameterName:m,component:f,defaultQuery:u,context:r}))!=null?p:u;try{return console.time(`fetch Acoustic content items ${n.join()}`),await s.getContentByIds(n,a)}catch(d){let y=(x=>{var P;return`Failed loading Acoustic content items '${n.join()}' from source '${(P=o.source)!=null?P:"default"}' referenced in parameter '${m}': ${x}`})(d.message);throw new Error(y)}finally{console.timeEnd(`fetch Acoustic content items ${n.join()}`)}}},limitPolicy:i||g}}function H(t){return t.type===B[0]}function J(t){return!(!t||!Array.isArray(t.contentItemIds))}0&&(module.exports={AcousticClientList,CANVAS_ACOUSTIC_CONTENT_ITEM_PARAMETER_TYPES,CANVAS_ACOUSTIC_MULTI_CONTENT_ITEM_PARAMETER_TYPES,createAcousticClient,createAcousticContentItemEnhancer,createAcousticLimitPolicy,createAcousticMultiContentItemEnhancer,sharedAcousticLimitPolicy});
var N=Object.create;var E=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var M=t=>E(t,"__esModule",{value:!0});var S=(t,e)=>{for(var o in e)E(t,o,{get:e[o],enumerable:!0})},$=(t,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of G(e))!K.call(t,l)&&(o||l!=="default")&&E(t,l,{get:()=>e[l],enumerable:!(a=b(e,l))||a.enumerable});return t},U=(t,e)=>$(M(E(t!=null?N(k(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),F=(t=>(e,o)=>t&&t.get(e)||(o=$(M({}),e,1),t&&t.set(e,o),o))(typeof WeakMap!="undefined"?new WeakMap:0);var X={};S(X,{AcousticClientList:()=>T,CANVAS_ACOUSTIC_CONTENT_ITEM_PARAMETER_TYPES:()=>R,CANVAS_ACOUSTIC_MULTI_CONTENT_ITEM_PARAMETER_TYPES:()=>B,createAcousticClient:()=>z,createAcousticContentItemEnhancer:()=>q,createAcousticLimitPolicy:()=>V,createAcousticMultiContentItemEnhancer:()=>H,sharedAcousticLimitPolicy:()=>g});var v=U(require("isomorphic-unfetch")),Y=25,z=({apiUrl:t,auth:e,protectedContent:o=!1})=>{if(!t)throw new Error("No Acoustic API url.");if(o&&!e)throw new Error("Protected content requires authentication");t.endsWith("/")||(t+="/");let a=`${t}${o?"mydelivery":"delivery"}/v1`,l=D(e),m=async i=>await(await(0,v.default)(i,{method:"GET",headers:{...l,Accept:"application/json"}})).json(),p=async(i,n)=>await(await(0,v.default)(i,{method:"POST",headers:{...l,Accept:"application/json","Content-Type":"application/json"},body:n?JSON.stringify(n):void 0})).json(),f=async(i,n)=>{var c;let r=`${a}/content/${i}`;return((c=n==null?void 0:n.fields)==null?void 0:c.length)&&(r+=`?fields=${n.fields.join(",")}`),await m(r)},s=async(i,n)=>{var c;let r=`${a}/content/bulk_retrieve`;return await p(r,{ids:i,fields:((c=n==null?void 0:n.fields)==null?void 0:c.length)?n.fields:void 0})};return{getContentById:f,getContentByIds:async(i,n)=>{if(!Array.isArray(i)||i.length<1)return[];let r=Y;if(i.length<=r)return await s(i,n);let u=0,c=[];do{let d=i.slice(u,u+r),C=await s(d,n);c.push(...C),u+=r}while(u<i.length);return c}}},D=t=>{if(!t)return null;let e=(m,p)=>"Basic "+Buffer.from(`${m}:${p}`).toString("base64"),{apiKey:o}=t;if(o)return{Authorization:e("AcousticAPIKey",o)};let{user:a,password:l}=t;return a&&l?{Authorization:e(a,l)}:null};var T=class{constructor(e){this._clients={},Array.isArray(e)?e.forEach(o=>this.addClient(o)):e&&this.addClient(e)}addClient({source:e="default",client:o,previewClient:a}){if(this._clients[e])throw new Error(`The source '${e}' is already registered`);if(!o)throw new Error("You must provide a Acoustic client for the AcousticClientList");this._clients[e]={client:o,previewClient:a||o}}getClient({source:e="default",isPreviewClient:o}){let a=this._clients[e];if(!!a)return o?a.previewClient:a.client}};var w=require("@uniformdev/canvas");var L=require("@uniformdev/canvas"),V=()=>L.nullLimitPolicy,g=V();function I({clients:t,parameterValue:e,parameterName:o,component:a,context:l}){let{source:m="default"}=e,p=t.getClient({source:m,isPreviewClient:l.preview});if(!p)throw new Error(`No Acoustic client could be resolved for source key '${m}' referenced in parameter '${o} in component '${a.type}'. Ensure that the 'clients' property you are passing to the enhancer has a client instance registered for the source key.`);return p}var R=Object.freeze(["acousticContentItem"]);function q({clients:t,createQuery:e,useBatching:o,limitPolicy:a}){if(!t)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");let l=a||g;return o?(0,w.createBatchEnhancer)({handleBatch:async m=>{var f;let p=m.reduce((s,A)=>{let{parameter:i,parameterName:n,component:r,context:u}=A.args,c=i.value;if(!j(c))return s;let d=I({parameterValue:c,parameterName:n,clients:t,component:r,context:u}),{source:C="default"}=c;return s[C]&&Array.isArray(s[C].tasks)?s[C].tasks.push(A):s[C]={client:d,tasks:[A]},s},{});try{console.time("fetch all Acoustic content items");for await(let[s,A]of Object.entries(p)){let{context:i}=A.tasks[0].args,n=new w.UniqueBatchEntries(A.tasks,C=>C.parameter.value.contentItemId),r=await A.client,u=Object.keys(n.groups),c={},d=(f=e==null?void 0:e({defaultQuery:c,context:i}))!=null?f:c;console.time(`fetch Acoustic content items ${s}`);try{let C=await r.getContentByIds(u,d);for(let y of C)n.resolveKey(y.id,y);n.resolveRemaining(null)}finally{console.timeEnd(`fetch Acoustic content items ${s}`)}}console.timeEnd("fetch all Acoustic content items")}catch(s){let i=(r=>`Failed loading Acoustic content items batch (${m.length}): ${r}`)(s.message),n=new Error(i);m.forEach(r=>r.reject(n))}},shouldQueue:({parameter:m})=>_(m),limitPolicy:l}):{enhanceOne:async function({parameter:p,parameterName:f,component:s,context:A}){var i;if(_(p)){let n=p.value;if(!j(n))return null;let r=I({clients:t,parameterName:f,parameterValue:n,component:s,context:A}),u=n.contentItemId,c={},d=(i=e==null?void 0:e({parameter:p,parameterName:f,component:s,defaultQuery:c,context:A}))!=null?i:c;try{return console.time(`fetch Acoustic content item ${u}`),await r.getContentById(u,d)}catch(C){let x=(P=>{var O;return`Failed loading Acoustic content item '${u}' from source '${(O=n.source)!=null?O:"default"}' referenced in parameter '${f}': ${P}`})(C.message);throw new Error(x)}finally{console.timeEnd(`fetch Acoustic content item ${u}`)}}},limitPolicy:l}}function _(t){return t.type===R[0]}function j(t){return!(!t||!t.contentItemId)}var B=Object.freeze(["acousticMultiContentItem"]);function H({clients:t,createQuery:e,limitPolicy:o}){if(!t)throw new Error("No Acoustic clients were provided to the enhancer. You must provide at least one client via the AcousticClientList.");return{enhanceOne:async function({parameter:m,parameterName:p,component:f,context:s}){var A;if(J(m)){let i=m.value;if(!W(i))return null;let n=i.contentItemIds;if(n.length<1)return[];let r=I({clients:t,parameterName:p,parameterValue:i,component:f,context:s}),u={},c=(A=e==null?void 0:e({parameter:m,parameterName:p,component:f,defaultQuery:u,context:s}))!=null?A:u;try{return console.time(`fetch Acoustic content items ${n.join()}`),await r.getContentByIds(n,c)}catch(d){let y=(x=>{var P;return`Failed loading Acoustic content items '${n.join()}' from source '${(P=i.source)!=null?P:"default"}' referenced in parameter '${p}': ${x}`})(d.message);throw new Error(y)}finally{console.timeEnd(`fetch Acoustic content items ${n.join()}`)}}},limitPolicy:o||g}}function J(t){return t.type===B[0]}function W(t){return!(!t||!Array.isArray(t.contentItemIds))}module.exports=F(X);0&&(module.exports={AcousticClientList,CANVAS_ACOUSTIC_CONTENT_ITEM_PARAMETER_TYPES,CANVAS_ACOUSTIC_MULTI_CONTENT_ITEM_PARAMETER_TYPES,createAcousticClient,createAcousticContentItemEnhancer,createAcousticLimitPolicy,createAcousticMultiContentItemEnhancer,sharedAcousticLimitPolicy});
{
"name": "@uniformdev/canvas-acoustic",
"version": "12.2.1-alpha.107+b30768d5",
"version": "12.2.1-alpha.121+3d33c2be",
"description": "Acoustic data enhancers for Uniform Canvas",

@@ -28,16 +28,16 @@ "license": "SEE LICENSE IN LICENSE.txt",

"dependencies": {
"@uniformdev/canvas": "^12.2.1-alpha.107+b30768d5",
"@uniformdev/canvas": "^12.2.1-alpha.121+3d33c2be",
"isomorphic-unfetch": "^3.1.0"
},
"devDependencies": {
"@types/jest": "27.0.3",
"@types/node": "16.11.18",
"eslint": "8.4.1",
"eslint-plugin-react": "7.27.1",
"@types/jest": "27.4.0",
"@types/node": "16.11.19",
"eslint": "8.6.0",
"eslint-plugin-react": "7.28.0",
"eslint-plugin-react-hooks": "4.3.0",
"jest": "27.4.5",
"jest": "27.4.7",
"npm-run-all": "4.1.5",
"rimraf": "3.0.2",
"ts-jest": "27.1.1",
"tsup": "5.11.10"
"ts-jest": "27.1.2",
"tsup": "5.11.11"
},

@@ -50,3 +50,3 @@ "files": [

},
"gitHead": "b30768d5d58d4c75b390274042724d50c1ee1041"
"gitHead": "3d33c2be484210ce3f056e80176fc6f56b69dabc"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc