@apolitical/sdk 7.3.1-beta.2 → 7.3.1-beta.4

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.
Files changed (2) hide show
  1. package/build/index.js +1 -1
  2. package/package.json +1 -1
package/build/index.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","buffer"],e):"object"==typeof exports?exports.ApoliticalSDK=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t.buffer)}(this,(function(t,e,r,a,n,s){return function(){"use strict";var o={809:function(e){e.exports=t},30:function(t){t.exports=e},36:function(t){t.exports=r},300:function(t){t.exports=a},408:function(t){t.exports=s},25:function(t){t.exports=n}},i={};function c(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return o[t](r,r.exports,c),r.exports}c.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return c.d(e,{a:e}),e},c.d=function(t,e){for(var r in e)c.o(e,r)&&!c.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},c.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},c.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var l={};return function(){c.r(l),c.d(l,{assets:function(){return h},auth:function(){return U},buildAnswer:function(){return Ke},buildCarouselCard:function(){return Fe},buildQuestion:function(){return qe},carouselCards:function(){return ye},contentInteraction:function(){return X},decodeBase64:function(){return We},default:function(){return je},editorialPages:function(){return Le},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return ut},payments:function(){return wt},people:function(){return le},peopleEngagement:function(){return ge},qaQuestions:function(){return be},reportError:function(){return e.reportError}});var t=c(809),e=c(30),r=c(36),a={APOLITICAL:{WEBSITES:{LIVE:"https://apolitical.co",LOCALHOST:"localhost",STAGING:/https:\/\/([\w|\d|-]+)\.apolitical\.co/i,STAGING_SPLITTER:"-"},ENVIRONMENTS:{PRODUCTION:"live",LOCAL:"local"}},APIS:{ASSETS_API:{BASE_URL:"/api/assets-api",ENDPOINTS:{USERS:"/users",CERTIFICATES:"/certificates"}},AUTH_API:{BASE_URL:"/api/auth-api",ENDPOINTS:{USER_PASSWORD:"/password",USERS:"/users"}},CONTENT_INTERACTION_API:{BASE_URL:"/api/content-interaction-api",ENDPOINTS:{QUESTIONS:"/questions",ANSWERS:"/answers",REPLIES:"/replies",LIKES:"/likes"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless",BULK_ENROLMENTS:"/bulk-enrolments"}},PAYMENTS_API:{BASE_URL:"/api/payments-api",BASE_URL_V2:"/api/payments-api/v2",ENDPOINTS:{PRODUCTS:"/products"}},PEOPLE_API:{BASE_URL:"/api/people-api",BASE_URL_V2:"/api/people-api/v2",ENDPOINTS:{BULK_ENROLMENTS:"/bulk-enrolments",REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}}},CONTENTFUL:{ARTICLES:{TYPE:"solutionArticle"},CAROUSELS:{CARD_TYPES:{solutionArticle:{INCLUDE:1,SELECT:"fields.authorIds,fields.authorTag,fields.image,fields.publishedDate,fields.readingTime,fields.slug,fields.title"},microcourse:{INCLUDE:2,SELECT:"fields.banner,fields.freeCourse,fields.partnershipDetails,fields.slug,fields.title"},event:{INCLUDE:1,SELECT:"fields.bannerImage,fields.defaultStartDate,fields.slug,fields.speakers,fields.title,fields.isEventOngoing"},listPage:{INCLUDE:1,SELECT:"fields.hero,fields.slug,fields.title"},qaQuestion:{INCLUDE:0,SELECT:"fields.answers,fields.authorId,fields.slug,fields.title,sys.createdAt"}}},COURSES:{TYPE:"microcourse"},EDITORIAL_PAGES:{INCLUDE:1,SELECT:"fields.carousels,fields.slug",TYPE:"editorialPage"},EVENTS:{TYPE:"event"},LISTS:{TYPE:"listPage"},QUESTIONS:{TYPE:"qaQuestion",INCLUDE:1,LIMIT:10,ORDER:"-sys.createdAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited",SKIP:0},ANSWERS:{TYPE:"qaAnswer"},REPLIES:{TYPE:"reply"}},HUBSPOT:{ENVIRONMENTS_MAPPING:{local:"SANDBOX",beta:"SANDBOX",rc:"SANDBOX",live:"LIVE"},EMAIL_IDS:{SANDBOX:{internalEmailId:49099078634,externalEmailId:55196526554},LIVE:{internalEmailId:55233583049,externalEmailId:55231159239}}},USERS:{MYSELF:"me"}};const{APOLITICAL:{WEBSITES:{LIVE:n,LOCALHOST:s,STAGING:o,STAGING_SPLITTER:i},ENVIRONMENTS:{PRODUCTION:u,LOCAL:E}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=a;let w={emailIds:{}};var p=c(300),I=c.n(p);const N=async t=>{try{const{message:r,response:a,request:n}=t;let s=r;return a?s+=` - The request was made and the server responded with ${JSON.stringify({status:a.status,data:a.data})}`:n&&(s+=" - The request was made but no response was received"),console.warn(s),await(0,e.reportError)(new Error(s)),s}catch(t){return console.warn(`Cannot handle error: ${t.message}`),t.message}},{APIS:{ASSETS_API:{BASE_URL:g,ENDPOINTS:{USERS:T,CERTIFICATES:A}}}}=a;var h={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await I().post(`${g}${T}/${t}${A}`,e);a&&(r=a)}catch(t){await N(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:y,ENDPOINTS:{USER_PASSWORD:P,USERS:R}}},USERS:{MYSELF:f}}=a;var U={userPassword:{update:async t=>{let e=null;try{e=await I().put(`${y}${R}/${f}${P}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await N(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:L,ENDPOINTS:{ANSWERS:O,QUESTIONS:m,LIKES:$}}}}=a,C=`${L}${m}`;var _={create:async({questionSlug:t},e)=>{try{await I().post(`${C}/${encodeURIComponent(t)}${O}`,e)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await I().delete(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().put(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`,r)}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e})=>{try{return await I().post(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${$}`)}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await I().delete(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${$}`)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:D,ENDPOINTS:{QUESTIONS:v}}}}=a,b=`${D}${v}`;var q={create:async t=>{try{return await I().post(b,t)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await I().delete(`${b}/${encodeURIComponent(t)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await I().put(`${b}/${encodeURIComponent(t)}`,e)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:B,ENDPOINTS:{REPLIES:M,ANSWERS:G,QUESTIONS:Y,LIKES:x}}}}=a,V=`${B}${Y}`,k=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${V}/${encodeURIComponent(t)}${G}/${encodeURIComponent(e)}${M}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${x}`)),n};var F={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(k({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await I().put(k({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(k({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().post(k({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(k({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await N(t);throw new Error(e)}},getReplyUrl:k};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:K,ENDPOINTS:{QUESTIONS:Q,ANSWERS:W,LIKES:j}}}}=a,H=`${K}${Q}`;var X={answers:_,questions:q,replies:F,likes:{create:async(t,e)=>{try{return await I().post(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${j}`)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{return await I().delete(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${j}`)}catch(t){const e=await N(t);throw new Error(e)}}}};const{APIS:{MANAGEMENT_API:{BASE_URL:J,ENDPOINTS:{ACCOUNTS:z}}}}=a;var Z={create:async t=>{try{await I().post(`${J}${z}`,t)}catch(t){throw await N(t),t}},read:async t=>{let e=null;try{({data:e}=await I().get(`${J}${z}/${encodeURIComponent(t)}`))}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${J}${z}/${encodeURIComponent(t)}`,e)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:tt,ENDPOINTS:{BULK_ENROLMENT:et}}}}=a;var rt={create:async t=>{try{await I().post(`${tt}${et}`,t)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:at,ENDPOINTS:{EVENT_REGISTRATIONS:nt}}}}=a;var st={create:async t=>{try{await I().post(`${at}${nt}`,t)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ot,ENDPOINTS:{LOGINS:it,LOGIN_PASSWORDLESS:ct}}}}=a,lt=`${ot}${it}`;var ut={accounts:Z,bulkEnrolments:rt,eventRegistrations:st,passwordless:{update:async t=>{try{await I().put(`${lt}/${encodeURIComponent(t)}${ct}`)}catch(t){throw await N(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:Et,ENDPOINTS:{PRODUCTS:St}}}}=a,dt=`${Et}${St}`;var wt={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(dt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL:pt,ENDPOINTS:{BULK_ENROLMENTS:It}}}}=a;var Nt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${pt}${It}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}},gt=c(25);const{OK:Tt,MULTIPLE_CHOICES:At,NOT_FOUND:ht,FORBIDDEN:yt}=gt.StatusCodes,Pt=t=>t>=Tt&&t<At||t===yt||t===ht,{APIS:{PEOPLE_API:{BASE_URL_V2:Rt,ENDPOINTS:{USERS:ft}}}}=a,Ut=async t=>{let e=null;try{const{data:r}=await I().get(`${Rt}${ft}/${encodeURIComponent(t)}`,{validateStatus:Pt});r&&r.id&&(e=r)}catch(t){await N(t)}return e},Lt=async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await I().get(`${Rt}${ft}?${r}`,{validateStatus:Pt});a&&a.length&&(e=a)}catch(t){await N(t)}return e};var Ot={read:Ut,update:async(t,e)=>{let r=!1;try{const{data:a}=await I().put(`${Rt}${ft}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await N(t)}return r},list:Lt};const{APIS:{PEOPLE_API:{BASE_URL_V2:mt,ENDPOINTS:{USERS:$t,USER_LIKES:Ct}}},USERS:{MYSELF:_t}}=a,Dt=`${mt}${$t}/${_t}${Ct}`,vt=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Dt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e};var bt={list:vt};var qt={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await Ut(t.authorId),t.answers&&t.answers.length&&!r.ignoreAnswersAuthors){t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt))),t.totalAnswers=t.answers.length;let n=t.answers;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.answers.slice(e,e+r.limit)}for(let t of n){t.author=t.authorId&&await Ut(t.authorId)||{};const[r]=e?await vt({contentType:a.CONTENTFUL.ANSWERS.TYPE,contentSlug:t.slug}):[null];t.userLiked=!!r}t.answers=n}else t.answers||(t.answers=[]);return t}catch(t){throw await N(t),new Error(`Cannot read authors for question: ${t.message}`)}},readAuthors:async(t=[])=>{let e=[];try{if(!1===Array.isArray(t))throw new Error("authorIds is not an array!");if(t&&1===t.length){const r=await Ut(t[0]);r&&e.push(r)}else if(t&&t.length>1){const r=await Lt(t);r&&r.length>0&&(e=r)}}catch(t){throw await N(t),new Error(`Cannot read authors: ${t.message}`)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL:Bt,ENDPOINTS:{REGISTRATIONS:Mt}}}}=a;var Gt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${Bt}${Mt}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Yt,ENDPOINTS:{USERS:xt,USER_COURSES:Vt}}},USERS:{MYSELF:kt}}=a,Ft=`${Yt}${xt}/${kt}${Vt}`;var Kt={create:async t=>{try{await I().post(Ft,t)}catch(t){await N(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Ft,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${Ft}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Qt,ENDPOINTS:{USERS:Wt,USER_EVENTS:jt}}},USERS:{MYSELF:Ht}}=a,Xt=`${Qt}${Wt}/${Ht}${jt}`;var Jt={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Xt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:zt,ENDPOINTS:{USERS:Zt,USER_LESSONS:te}}},USERS:{MYSELF:ee}}=a,re=`${zt}${Zt}/${ee}${te}`;var ae={create:async t=>{let e=null;try{e=await I().post(re,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(re,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ne,ENDPOINTS:{USERS:se,USER_PRODUCTS:oe}}},USERS:{MYSELF:ie}}=a,ce=`${ne}${se}/${ie}${oe}`;var le={bulkEnrolments:Nt,handlers:qt,registrations:Gt,users:Ot,userCourses:Kt,userEvents:Jt,userLessons:ae,userLikes:bt,userProducts:{create:async t=>{let e=null;try{e=await I().post(ce,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(ce,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${ce}/${t}`,e)}catch(t){await N(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:ue,ENDPOINTS:{ENQUIRY_EMAILS:Ee}}}}=a;var Se={create:async t=>{let e=null;try{const{data:r}=await I().post(`${ue}${Ee}`,t);r&&(e=r)}catch(t){await N(t)}return e}},de={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=w;e=await ge.emails.create({...r,...t})}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:we,ENDPOINTS:{USERS:pe,USER_PROPERTIES:Ie}}},USERS:{MYSELF:Ne}}=a;var ge={emails:Se,handlers:de,userProperties:{update:async(t,e)=>{try{await I().put(`${we}${pe}/${Ne}${Ie}/${t}`,e)}catch(t){await N(t)}}}};const{CONTENTFUL:Te}=a,{CARD_TYPES:Ae}=Te.CAROUSELS,he={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!Ae[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=Ae[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await N(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var ye=he;const{CONTENTFUL:Pe}=a,{INCLUDE:Re,SELECT:fe,TYPE:Ue}=Pe.EDITORIAL_PAGES;var Le={read:async e=>{try{return await(0,t.getEntry)({content_type:Ue,"fields.slug":e,include:Re,select:fe})}catch(t){throw await N(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Oe}=a,{TYPE:me,ORDER:$e,SELECT:Ce,SKIP:_e,LIMIT:De,INCLUDE:ve}=Oe.QUESTIONS;var be={read:async e=>{try{return await(0,t.getEntry)({content_type:me,"fields.slug":e,include:2,select:Ce})}catch(t){throw await N(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:me,include:ve,limit:De,order:$e,select:Ce,skip:_e,"fields.private[ne]":!0,...e})}catch(t){throw await N(t),new Error(`Cannot list questions: ${t.message}`)}}},qe=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await be.read(t),a=await le.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await N(t),new Error(`Cannot build question: ${t.message}`)}};const{ARTICLES:{TYPE:Be},COURSES:{TYPE:Me},EVENTS:{TYPE:Ge},LISTS:{TYPE:Ye},QUESTIONS:{TYPE:xe}}=a.CONTENTFUL,Ve=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,ke={[Be]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:o,title:i}=t,c=await le.handlers.authors.readAuthors(e),l=c&&c.length?c:r?[r]:null;return{banner:Ve(a),contributors:l,publishedDate:n,readingTime:s,slug:o,title:i}},[Me]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:Ve(r),slug:s,title:o,pill:a?"free":"premium",registered:!!i};if(n){const{partners:t}=n;c.partner=t&&t.length&&n.partners[0]}if(void 0===i&&e){const[t]=await le.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[Ge]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:o,title:i,registered:c}=t,l=new Date(a),u=!!l&&l<new Date;if(o&&o.length)for(const t of o)t.image=(E=t.image)&&E.url?`${E.url}?w=100&h=100&fit=thumb&f=center`:null;var E;const S={banner:Ve(r),dateHasPassed:u,title:i,slug:s,isOngoingEvent:n,contributors:o,startDate:l,registered:!!c};if(void 0===c&&e){const[t]=await le.userEvents.list({eventSlug:s});S.registered=!!t}return S},[Ye]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:Ve(e),slug:r,title:a}},[xe]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let o=null;if(r){const t=await le.users.read(r);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:a,slug:n,title:s}}};var Fe=async({contentType:t,...e}={},r)=>{try{if(!ke[t])throw new Error("Content type not supported");if("function"!=typeof ke[t])throw new Error("No builder function for content type");return e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await ye.read(t,e)),{contentType:t,...await ke[t](e,r)}}catch(t){throw await N(t),new Error(`Cannot build carousel card: ${t.message}`)}},Ke=async(t,e,r={})=>{try{if(!t.replies||0===t.replies.length)return t.replies=[],t;t.replies.sort(((t,e)=>new Date(t.createdAt)-new Date(e.createdAt))),t.totalReplies=t.totalReplies||t.replies.length;let n=t.replies;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.replies.slice(e,e+r.limit)}for(const r of n){if(r.authorId===t.authorId){r.author=t.author,r.userLiked=!1;continue}r.author=r.authorId&&await Ut(r.authorId)||{};const[n]=e?await vt({contentType:a.CONTENTFUL.REPLIES.TYPE,contentSlug:r.slug}):[null];r.userLiked=!!n}return t.replies=n,t}catch(t){throw await N(t),new Error(`Cannot build replies for answer: ${t.message}`)}},Qe=c(408);const We=t=>t&&Qe.Buffer.from(t,"base64").toString("ascii");function je({contentContext:a=null,errorsContext:c=null,gtmContext:l=null,origin:p}){try{const I=(t=>{let e=null;t?e=t:"undefined"!=typeof window&&(e=window.origin||window.location.origin),e||new Error("Cannot select environment: Website not defined");let r=null;const a=e.match(o);return a?r=a[1].split(i)[0]:e===n?r=u:e.includes(s)&&(r=E),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(p);return a&&(0,t.setContext)(Object.assign({},a,{environment:I})),c&&(0,e.setContext)(Object.assign({},c,{environment:I})),l&&((0,r.setContext)(Object.assign({},l,{environment:I})),(0,r.setupGTM)()),(({environment:t})=>{const e=(t=>{if(!t)throw new Error("Cannot map environment: Environment not defined");if(!S[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return S[t]})(t);w.emailIds=d[e]})(Object.assign({},{environment:I})),I}catch(t){console.warn(`Cannot load SDK: ${t.message}`)}}}(),l}()}));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","buffer"],e):"object"==typeof exports?exports.ApoliticalSDK=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t.buffer)}(this,(function(t,e,r,a,n,s){return function(){"use strict";var o={809:function(e){e.exports=t},30:function(t){t.exports=e},36:function(t){t.exports=r},300:function(t){t.exports=a},408:function(t){t.exports=s},25:function(t){t.exports=n}},i={};function c(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return o[t](r,r.exports,c),r.exports}c.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return c.d(e,{a:e}),e},c.d=function(t,e){for(var r in e)c.o(e,r)&&!c.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},c.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},c.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var l={};return function(){c.r(l),c.d(l,{assets:function(){return h},auth:function(){return U},buildAnswer:function(){return Ke},buildCarouselCard:function(){return Fe},buildQuestion:function(){return qe},carouselCards:function(){return ye},contentInteraction:function(){return X},decodeBase64:function(){return We},default:function(){return je},editorialPages:function(){return Le},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return ut},payments:function(){return wt},people:function(){return le},peopleEngagement:function(){return ge},qaQuestions:function(){return be},reportError:function(){return e.reportError}});var t=c(809),e=c(30),r=c(36),a={APOLITICAL:{WEBSITES:{LIVE:"https://apolitical.co",LOCALHOST:"localhost",STAGING:/https:\/\/([\w|\d|-]+)\.apolitical\.co/i,STAGING_SPLITTER:"-"},ENVIRONMENTS:{PRODUCTION:"live",LOCAL:"local"}},APIS:{ASSETS_API:{BASE_URL:"/api/assets-api",ENDPOINTS:{USERS:"/users",CERTIFICATES:"/certificates"}},AUTH_API:{BASE_URL:"/api/auth-api",ENDPOINTS:{USER_PASSWORD:"/password",USERS:"/users"}},CONTENT_INTERACTION_API:{BASE_URL:"/api/content-interaction-api",ENDPOINTS:{QUESTIONS:"/questions",ANSWERS:"/answers",REPLIES:"/replies",LIKES:"/likes"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless",BULK_ENROLMENTS:"/bulk-enrolments"}},PAYMENTS_API:{BASE_URL:"/api/payments-api",BASE_URL_V2:"/api/payments-api/v2",ENDPOINTS:{PRODUCTS:"/products"}},PEOPLE_API:{BASE_URL:"/api/people-api",BASE_URL_V2:"/api/people-api/v2",ENDPOINTS:{BULK_ENROLMENTS:"/bulk-enrolments",REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}}},CONTENTFUL:{ARTICLES:{TYPE:"solutionArticle"},CAROUSELS:{CARD_TYPES:{solutionArticle:{INCLUDE:1,SELECT:"fields.authorIds,fields.authorTag,fields.image,fields.publishedDate,fields.readingTime,fields.slug,fields.title"},microcourse:{INCLUDE:2,SELECT:"fields.banner,fields.freeCourse,fields.partnershipDetails,fields.slug,fields.title"},event:{INCLUDE:1,SELECT:"fields.bannerImage,fields.defaultStartDate,fields.slug,fields.speakers,fields.title,fields.isEventOngoing"},listPage:{INCLUDE:1,SELECT:"fields.hero,fields.slug,fields.title"},qaQuestion:{INCLUDE:0,SELECT:"fields.answers,fields.authorId,fields.slug,fields.title,sys.createdAt"}}},COURSES:{TYPE:"microcourse"},EDITORIAL_PAGES:{INCLUDE:1,SELECT:"fields.carousels,fields.slug",TYPE:"editorialPage"},EVENTS:{TYPE:"event"},LISTS:{TYPE:"listPage"},QUESTIONS:{TYPE:"qaQuestion",INCLUDE:1,LIMIT:10,ORDER:"-sys.createdAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited",SKIP:0},ANSWERS:{TYPE:"qaAnswer"},REPLIES:{TYPE:"reply"}},HUBSPOT:{ENVIRONMENTS_MAPPING:{local:"SANDBOX",beta:"SANDBOX",rc:"SANDBOX",live:"LIVE"},EMAIL_IDS:{SANDBOX:{internalEmailId:49099078634,externalEmailId:55196526554},LIVE:{internalEmailId:55233583049,externalEmailId:55231159239}}},USERS:{MYSELF:"me"}};const{APOLITICAL:{WEBSITES:{LIVE:n,LOCALHOST:s,STAGING:o,STAGING_SPLITTER:i},ENVIRONMENTS:{PRODUCTION:u,LOCAL:E}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=a;let w={emailIds:{}};var p=c(300),I=c.n(p);const N=async t=>{try{const{message:r,response:a,request:n}=t;let s=r;return a?s+=` - The request was made and the server responded with ${JSON.stringify({status:a.status,data:a.data})}`:n&&(s+=" - The request was made but no response was received"),console.warn(s),await(0,e.reportError)(new Error(s)),s}catch(t){return console.warn(`Cannot handle error: ${t.message}`),t.message}},{APIS:{ASSETS_API:{BASE_URL:g,ENDPOINTS:{USERS:T,CERTIFICATES:A}}}}=a;var h={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await I().post(`${g}${T}/${t}${A}`,e);a&&(r=a)}catch(t){await N(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:y,ENDPOINTS:{USER_PASSWORD:P,USERS:R}}},USERS:{MYSELF:f}}=a;var U={userPassword:{update:async t=>{let e=null;try{e=await I().put(`${y}${R}/${f}${P}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await N(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:L,ENDPOINTS:{ANSWERS:O,QUESTIONS:m,LIKES:$}}}}=a,C=`${L}${m}`;var _={create:async({questionSlug:t},e)=>{try{await I().post(`${C}/${encodeURIComponent(t)}${O}`,e)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await I().delete(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().put(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}`,r)}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e})=>{try{return await I().post(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${$}`)}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await I().delete(`${C}/${encodeURIComponent(t)}${O}/${encodeURIComponent(e)}${$}`)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:D,ENDPOINTS:{QUESTIONS:v}}}}=a,b=`${D}${v}`;var q={create:async t=>{try{return await I().post(b,t)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await I().delete(`${b}/${encodeURIComponent(t)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await I().put(`${b}/${encodeURIComponent(t)}`,e)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:B,ENDPOINTS:{REPLIES:M,ANSWERS:G,QUESTIONS:Y,LIKES:x}}}}=a,V=`${B}${Y}`,k=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${V}/${encodeURIComponent(t)}${G}/${encodeURIComponent(e)}${M}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${x}`)),n};var F={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(k({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await I().put(k({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(k({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().post(k({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(k({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await N(t);throw new Error(e)}},getReplyUrl:k};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:K,ENDPOINTS:{QUESTIONS:Q,ANSWERS:W,LIKES:j}}}}=a,H=`${K}${Q}`;var X={answers:_,questions:q,replies:F,likes:{create:async(t,e)=>{try{return await I().post(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${j}`)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{return await I().delete(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${j}`)}catch(t){const e=await N(t);throw new Error(e)}}}};const{APIS:{MANAGEMENT_API:{BASE_URL:J,ENDPOINTS:{ACCOUNTS:z}}}}=a;var Z={create:async t=>{try{await I().post(`${J}${z}`,t)}catch(t){throw await N(t),t}},read:async t=>{let e=null;try{({data:e}=await I().get(`${J}${z}/${encodeURIComponent(t)}`))}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${J}${z}/${encodeURIComponent(t)}`,e)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:tt,ENDPOINTS:{BULK_ENROLMENTS:et}}}}=a;var rt={create:async t=>{try{await I().post(`${tt}${et}`,t)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:at,ENDPOINTS:{EVENT_REGISTRATIONS:nt}}}}=a;var st={create:async t=>{try{await I().post(`${at}${nt}`,t)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ot,ENDPOINTS:{LOGINS:it,LOGIN_PASSWORDLESS:ct}}}}=a,lt=`${ot}${it}`;var ut={accounts:Z,bulkEnrolments:rt,eventRegistrations:st,passwordless:{update:async t=>{try{await I().put(`${lt}/${encodeURIComponent(t)}${ct}`)}catch(t){throw await N(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:Et,ENDPOINTS:{PRODUCTS:St}}}}=a,dt=`${Et}${St}`;var wt={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(dt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:pt,ENDPOINTS:{BULK_ENROLMENTS:It}}}}=a;var Nt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${pt}${It}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}},gt=c(25);const{OK:Tt,MULTIPLE_CHOICES:At,NOT_FOUND:ht,FORBIDDEN:yt}=gt.StatusCodes,Pt=t=>t>=Tt&&t<At||t===yt||t===ht,{APIS:{PEOPLE_API:{BASE_URL_V2:Rt,ENDPOINTS:{USERS:ft}}}}=a,Ut=async t=>{let e=null;try{const{data:r}=await I().get(`${Rt}${ft}/${encodeURIComponent(t)}`,{validateStatus:Pt});r&&r.id&&(e=r)}catch(t){await N(t)}return e},Lt=async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await I().get(`${Rt}${ft}?${r}`,{validateStatus:Pt});a&&a.length&&(e=a)}catch(t){await N(t)}return e};var Ot={read:Ut,update:async(t,e)=>{let r=!1;try{const{data:a}=await I().put(`${Rt}${ft}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await N(t)}return r},list:Lt};const{APIS:{PEOPLE_API:{BASE_URL_V2:mt,ENDPOINTS:{USERS:$t,USER_LIKES:Ct}}},USERS:{MYSELF:_t}}=a,Dt=`${mt}${$t}/${_t}${Ct}`,vt=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Dt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e};var bt={list:vt};var qt={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await Ut(t.authorId),t.answers&&t.answers.length&&!r.ignoreAnswersAuthors){t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt))),t.totalAnswers=t.answers.length;let n=t.answers;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.answers.slice(e,e+r.limit)}for(let t of n){t.author=t.authorId&&await Ut(t.authorId)||{};const[r]=e?await vt({contentType:a.CONTENTFUL.ANSWERS.TYPE,contentSlug:t.slug}):[null];t.userLiked=!!r}t.answers=n}else t.answers||(t.answers=[]);return t}catch(t){throw await N(t),new Error(`Cannot read authors for question: ${t.message}`)}},readAuthors:async(t=[])=>{let e=[];try{if(!1===Array.isArray(t))throw new Error("authorIds is not an array!");if(t&&1===t.length){const r=await Ut(t[0]);r&&e.push(r)}else if(t&&t.length>1){const r=await Lt(t);r&&r.length>0&&(e=r)}}catch(t){throw await N(t),new Error(`Cannot read authors: ${t.message}`)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL:Bt,ENDPOINTS:{REGISTRATIONS:Mt}}}}=a;var Gt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${Bt}${Mt}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Yt,ENDPOINTS:{USERS:xt,USER_COURSES:Vt}}},USERS:{MYSELF:kt}}=a,Ft=`${Yt}${xt}/${kt}${Vt}`;var Kt={create:async t=>{try{await I().post(Ft,t)}catch(t){await N(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Ft,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${Ft}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Qt,ENDPOINTS:{USERS:Wt,USER_EVENTS:jt}}},USERS:{MYSELF:Ht}}=a,Xt=`${Qt}${Wt}/${Ht}${jt}`;var Jt={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Xt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:zt,ENDPOINTS:{USERS:Zt,USER_LESSONS:te}}},USERS:{MYSELF:ee}}=a,re=`${zt}${Zt}/${ee}${te}`;var ae={create:async t=>{let e=null;try{e=await I().post(re,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(re,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ne,ENDPOINTS:{USERS:se,USER_PRODUCTS:oe}}},USERS:{MYSELF:ie}}=a,ce=`${ne}${se}/${ie}${oe}`;var le={bulkEnrolments:Nt,handlers:qt,registrations:Gt,users:Ot,userCourses:Kt,userEvents:Jt,userLessons:ae,userLikes:bt,userProducts:{create:async t=>{let e=null;try{e=await I().post(ce,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(ce,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${ce}/${t}`,e)}catch(t){await N(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:ue,ENDPOINTS:{ENQUIRY_EMAILS:Ee}}}}=a;var Se={create:async t=>{let e=null;try{const{data:r}=await I().post(`${ue}${Ee}`,t);r&&(e=r)}catch(t){await N(t)}return e}},de={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=w;e=await ge.emails.create({...r,...t})}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:we,ENDPOINTS:{USERS:pe,USER_PROPERTIES:Ie}}},USERS:{MYSELF:Ne}}=a;var ge={emails:Se,handlers:de,userProperties:{update:async(t,e)=>{try{await I().put(`${we}${pe}/${Ne}${Ie}/${t}`,e)}catch(t){await N(t)}}}};const{CONTENTFUL:Te}=a,{CARD_TYPES:Ae}=Te.CAROUSELS,he={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!Ae[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=Ae[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await N(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var ye=he;const{CONTENTFUL:Pe}=a,{INCLUDE:Re,SELECT:fe,TYPE:Ue}=Pe.EDITORIAL_PAGES;var Le={read:async e=>{try{return await(0,t.getEntry)({content_type:Ue,"fields.slug":e,include:Re,select:fe})}catch(t){throw await N(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Oe}=a,{TYPE:me,ORDER:$e,SELECT:Ce,SKIP:_e,LIMIT:De,INCLUDE:ve}=Oe.QUESTIONS;var be={read:async e=>{try{return await(0,t.getEntry)({content_type:me,"fields.slug":e,include:2,select:Ce})}catch(t){throw await N(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:me,include:ve,limit:De,order:$e,select:Ce,skip:_e,"fields.private[ne]":!0,...e})}catch(t){throw await N(t),new Error(`Cannot list questions: ${t.message}`)}}},qe=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await be.read(t),a=await le.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await N(t),new Error(`Cannot build question: ${t.message}`)}};const{ARTICLES:{TYPE:Be},COURSES:{TYPE:Me},EVENTS:{TYPE:Ge},LISTS:{TYPE:Ye},QUESTIONS:{TYPE:xe}}=a.CONTENTFUL,Ve=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,ke={[Be]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:o,title:i}=t,c=await le.handlers.authors.readAuthors(e),l=c&&c.length?c:r?[r]:null;return{banner:Ve(a),contributors:l,publishedDate:n,readingTime:s,slug:o,title:i}},[Me]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:Ve(r),slug:s,title:o,pill:a?"free":"premium",registered:!!i};if(n){const{partners:t}=n;c.partner=t&&t.length&&n.partners[0]}if(void 0===i&&e){const[t]=await le.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[Ge]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:o,title:i,registered:c}=t,l=new Date(a),u=!!l&&l<new Date;if(o&&o.length)for(const t of o)t.image=(E=t.image)&&E.url?`${E.url}?w=100&h=100&fit=thumb&f=center`:null;var E;const S={banner:Ve(r),dateHasPassed:u,title:i,slug:s,isOngoingEvent:n,contributors:o,startDate:l,registered:!!c};if(void 0===c&&e){const[t]=await le.userEvents.list({eventSlug:s});S.registered=!!t}return S},[Ye]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:Ve(e),slug:r,title:a}},[xe]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let o=null;if(r){const t=await le.users.read(r);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:a,slug:n,title:s}}};var Fe=async({contentType:t,...e}={},r)=>{try{if(!ke[t])throw new Error("Content type not supported");if("function"!=typeof ke[t])throw new Error("No builder function for content type");return e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await ye.read(t,e)),{contentType:t,...await ke[t](e,r)}}catch(t){throw await N(t),new Error(`Cannot build carousel card: ${t.message}`)}},Ke=async(t,e,r={})=>{try{if(!t.replies||0===t.replies.length)return t.replies=[],t;t.replies.sort(((t,e)=>new Date(t.createdAt)-new Date(e.createdAt))),t.totalReplies=t.totalReplies||t.replies.length;let n=t.replies;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.replies.slice(e,e+r.limit)}for(const r of n){if(r.authorId===t.authorId){r.author=t.author,r.userLiked=!1;continue}r.author=r.authorId&&await Ut(r.authorId)||{};const[n]=e?await vt({contentType:a.CONTENTFUL.REPLIES.TYPE,contentSlug:r.slug}):[null];r.userLiked=!!n}return t.replies=n,t}catch(t){throw await N(t),new Error(`Cannot build replies for answer: ${t.message}`)}},Qe=c(408);const We=t=>t&&Qe.Buffer.from(t,"base64").toString("ascii");function je({contentContext:a=null,errorsContext:c=null,gtmContext:l=null,origin:p}){try{const I=(t=>{let e=null;t?e=t:"undefined"!=typeof window&&(e=window.origin||window.location.origin),e||new Error("Cannot select environment: Website not defined");let r=null;const a=e.match(o);return a?r=a[1].split(i)[0]:e===n?r=u:e.includes(s)&&(r=E),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(p);return a&&(0,t.setContext)(Object.assign({},a,{environment:I})),c&&(0,e.setContext)(Object.assign({},c,{environment:I})),l&&((0,r.setContext)(Object.assign({},l,{environment:I})),(0,r.setupGTM)()),(({environment:t})=>{const e=(t=>{if(!t)throw new Error("Cannot map environment: Environment not defined");if(!S[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return S[t]})(t);w.emailIds=d[e]})(Object.assign({},{environment:I})),I}catch(t){console.warn(`Cannot load SDK: ${t.message}`)}}}(),l}()}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apolitical/sdk",
3
- "version": "7.3.1-beta.2",
3
+ "version": "7.3.1-beta.4",
4
4
  "description": "Browser library to interact with Apolitical's APIs",
5
5
  "author": "Apolitical Group Limited <engineering@apolitical.co>",
6
6
  "license": "MIT",