"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[132],{29714:function(e,t,r){r.d(t,{useCommonData:function(){return i},z:function(){return l}});var n=r(35351),a=r(38859);let o=(0,a.createContext)({}),i=()=>(0,a.useContext)(o),l=e=>(0,n.jsx)(o.Provider,{value:e.commonData,children:e.children})},3518:function(e,t,r){r.d(t,{$:function(){return i}});var n=r(70851),a=r(38286),o=r(38859);let i=()=>{let e=(0,a.useTranslations)(),t=(0,a.useLocale)(),r=(0,n.lD)(t),i=(0,o.useCallback)(e=>(0,n.tc)(e,r),[r]),l=(0,o.useCallback)(e=>(0,n.FI)(e,r),[r]),c=(0,o.useCallback)(e=>{if(!e)return{};let t=l(e);return t===r?{}:{lang:t}},[r,l]);return{t:(0,o.useCallback)(function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),a=1;a<r;a++)n[a-1]=arguments[a];return e(t.replace(/\./g,""),...n)},[e]),lang:r,ts:i,getContentLang:l,populateLang:c}}},75160:function(e,t,r){r.d(t,{fO:function(){return q},EU:function(){return P},wI:function(){return A},Q_:function(){return x}});var n=r(14007),a=r(99316),o=r.n(a),i=r(88818),l=r.n(i),c=r(6780),s=r.n(c);let d=(e,t)=>"string"==typeof e?t===e:!!t.match(e),u=e=>null==e?void 0:e.replace(/[[\]]/g,"");class v{getSubfields(e){return this.subfields.filter(t=>d(e,t.code))}getSubfieldValues(e){return this.getSubfields(e).reduce((e,t)=>"string"==typeof t.value?[...e,t.value]:e,[])}getSubfield(e){var t;return null===(t=this.getSubfields(e))||void 0===t?void 0:t[0]}constructor({tag:e,ind1:t,ind2:r,subfields:n}){this.tag=e,this.ind1=t,this.ind2=r,this.subfields=n}}class g{getControlFields(e){return this.controlFields.filter(t=>d(e,t.tag))}getControlField(e){var t;return null===(t=this.getControlFields(e))||void 0===t?void 0:t[0]}getControlFieldPart(e,t,r){let n=this.getControlField(e);if(null==n?void 0:n.value)return n.value.substring(t,r+1)}getDataFields(e){return this.dataFields.filter(t=>d(e,t.tag))}getLocalizedFields(e,t){let r=this.getDataFields(e),n=r.filter(e=>{var r;return(null===(r=e.getSubfield("9"))||void 0===r?void 0:r.value)===t});return n.length?n:r}getDataField(e){var t;return null===(t=this.getDataFields(e))||void 0===t?void 0:t[0]}getRecordId(){var e;return null===(e=this.getControlField("001"))||void 0===e?void 0:e.value}getIsbn(){var e,t;return(0,n.CZ)(null===(t=this.getDataField("020"))||void 0===t?void 0:null===(e=t.getSubfield("a"))||void 0===e?void 0:e.value)}getWorkType(){var e,t,r,n,a,o,i,l,c,s,d,u,v,g;return(null===(t=this.getControlField("007"))||void 0===t?void 0:null===(e=t.value)||void 0===e?void 0:e[0])==="c"&&((null===(r=this.leader)||void 0===r?void 0:r[6])==="a"||(null===(n=this.leader)||void 0===n?void 0:n[6])===void 0)||(null===(a=this.leader)||void 0===a?void 0:a[6])==="k"&&(null===(i=this.getControlField("007"))||void 0===i?void 0:null===(o=i.value)||void 0===o?void 0:o.slice(0,2))==="ta"?"Language based work":(null===(c=this.getControlField("007"))||void 0===c?void 0:null===(l=c.value)||void 0===l?void 0:l[0])==="v"?"Moving image work":(null===(s=this.leader)||void 0===s?void 0:s[6])==="a"||(null===(d=this.leader)||void 0===d?void 0:d[6])==="i"?"Language based work":(null===(u=this.leader)||void 0===u?void 0:u[6])==="m"&&(null===(g=this.getControlField("008"))||void 0===g?void 0:null===(v=g.value)||void 0===v?void 0:v[26])==="g"?"Interactive work":void 0}getTitle(){let e=this.joinSubfields("245",["a","b"]),t=this.joinSubfields("245",["n","p"],". ");return t?"".concat(e,". ").concat(t):e}joinSubfields(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:" : ",n=this.getDataField(e);return t.map(e=>{var t;return null==n?void 0:null===(t=n.getSubfield(e))||void 0===t?void 0:t.value}).filter(e=>"string"==typeof e).join(r)||void 0}getEdition(){return this.joinSubfields("250",["a","b"])}getPublicationYear(){var e,t,r,n;return u((null===(t=this.getDataField("264"))||void 0===t?void 0:null===(e=t.getSubfield("c"))||void 0===e?void 0:e.value)||(null===(n=this.getDataField("260"))||void 0===n?void 0:null===(r=n.getSubfield("c"))||void 0===r?void 0:r.value))}getAuthor(){for(let t of["100","700","110","710","111","711"]){let r=this.getDataField(t);if(null==r?void 0:r.getSubfield("a")){var e;return null==r?void 0:null===(e=r.getSubfield("a"))||void 0===e?void 0:e.value}}}getLanguage(){return this.getControlFieldPart("008",35,37)}getSummary(){var e,t;return null===(t=this.getDataField("520"))||void 0===t?void 0:null===(e=t.getSubfield("a"))||void 0===e?void 0:e.value}getSubjects(e){return this.getLocalizedFields(/650|651/,e).map(e=>e.getSubfieldValues(/[a-z]/).join(" – "))}getGenres(e){return this.getLocalizedFields(/655/,e).map(e=>e.getSubfieldValues(/[a-z]/).join(" – "))}constructor({leader:e,controlFields:t,dataFields:r}){this.leader=e,this.controlFields=t,this.dataFields=r}}let m={retries:1,minTimeout:2e3,onFailedAttempt:e=>console.warn("Attempt ".concat(e.attemptNumber," failed. There are ").concat(e.retriesLeft," retries left. Error: ").concat(e.toString()))};class p extends Error{constructor(e){super("SruClientFetchError: ".concat(e)),this.name="SruClientFetchError",Object.setPrototypeOf(this,p.prototype)}}let h=function(e){let{defaultParams:t={},defaultRecordSchema:r="marc21",defaultVersion:a="2.0",fetchApi:i=o(),retryOptions:l=m}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{generateUrl:c,request:d,explain:u,search:h};function c(t){let r=new URLSearchParams((0,n.gm)(t));return"".concat(e,"?").concat(r.toString())}async function d(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,n.XD)(async()=>{let n=c({operation:e,...t,...r}),a=await i(n),o=await a.text();if(!a.ok)throw new p("Got ".concat(a.status," response from library system when requesting ").concat(n,": ").concat(o));try{return{url:n,body:await new(s()).Parser({explicitRoot:!1,tagNameProcessors:[s().processors.stripPrefix]}).parseStringPromise(o)}}catch(e){throw new p("Got invalid XML response from library system when requesting ".concat(n))}},l)}async function u(){return await d("explain")}async function h(e){var t,o,i,l;let{sortKeys:c,recordSchema:s=r,version:u=a,startRecord:m=1,maximumRecords:p=20}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=await d("searchRetrieve",{query:e,recordSchema:s,version:u,startRecord:m,maximumRecords:p,sortKeys:c}),{diagnostics:f,numberOfRecords:b,records:k}=h.body||{};if(!e)return{errors:[{message:"Empty query"}],records:[]};let y=(null==f?void 0:null===(o=f[0])||void 0===o?void 0:null===(t=o.diagnostic)||void 0===t?void 0:t.map(e=>{var t,r;return{message:null==e?void 0:null===(t=e.message)||void 0===t?void 0:t[0],details:null==e?void 0:null===(r=e.details)||void 0===r?void 0:r[0]}}))||[],_=null==k?void 0:k.filter(e=>"object"==typeof e),w=(null==_?void 0:null===(l=_[0])||void 0===l?void 0:null===(i=l.record)||void 0===i?void 0:i.map(e=>{var t,r,n,a,o;let i=null===(n=e.recordData)||void 0===n?void 0:null===(r=n[0])||void 0===r?void 0:null===(t=r.record)||void 0===t?void 0:t[0];return i?new g({leader:String((null===(o=(a=i).leader)||void 0===o?void 0:o[0])||""),controlFields:(a.controlfield||[]).map(e=>{let{_:t,$:{tag:r}}=e;return{tag:r,value:t}}),dataFields:(a.datafield||[]).map(e=>{let{subfield:t,$:{tag:r,ind1:n,ind2:a}}=e;return new v({tag:r,ind1:n,ind2:a,subfields:(t||[]).map(e=>{let{_:t,$:{code:r}}=e;return{code:String(r),value:void 0===t?void 0:String(t)}})})})}):void 0}).filter(n.Qr))||[];return n.yk||y.forEach(e=>{console.warn("Received SRU searchRetrieve diagnostic message: ".concat(e.message," ").concat(e.details))}),{source:h.url,errors:y,numberOfRecords:Array.isArray(b)&&(null==b?void 0:b[0])?parseInt(null==b?void 0:b[0]):void 0,records:w}}};var f=r(64539);let b=["bibliofil","mikromarc","quria","cicero"],k=async e=>{try{return(await o()(e)).ok}catch(e){return!1}},y=e=>{let t=e.replace(/-/g,"").trim();if(t.match(/^[0-9X]{10}$/)||t.match(/^978[0-9]{10}$/))return["dc.identifier=".concat(t)];let r=e.split(" ").filter(e=>e.length>2),n=['dc.title="'.concat(e,'*"'),'cql.anywhere="'.concat(e,'*"')],a=[r.map(e=>'cql.anywhere="'.concat(e,'*"')).join(" AND ")];return r.length>1?[...n,...a]:n},_=(e,t)=>{var r,n,a;let o=t=>t?l().compareTwoStrings(e,t):-.2;return o(t.getAuthor())+o(t.getTitle())+("nor"==(a=null!==(r=t.getLanguage())&&void 0!==r?r:"")||"nob"==a||"nno"==a?.2:""==a.trim()?-.2:0)+("book"==(null!==(n=t.getWorkType())&&void 0!==n?n:"")?.2:0)},w=(e,t)=>t.map(t=>({record:t,score:_(e,t)})).sort((e,t)=>t.score-e.score).map(e=>e.record),S=async(e,t)=>{var r;let n=y(t),a=await Promise.all(n.map(t=>e.search(t)));return null!==(r=a.find(e=>e.records.length>0))&&void 0!==r?r:a[0]},F=async(e,t)=>{let r=await S(e,t);return r?{records:w(t,r.records),source:r.source,errors:r.errors}:{records:[],errors:[{message:"No responses from common sru search"}]}},L=(e,t)=>{let r=new URLSearchParams((0,n.gm)(t));return"".concat(e,"?").concat(r.toString())},R=e=>t=>"string"==typeof t?F(e,t):e.search(t.isbns.map(e=>'dc.identifier = "'.concat(e,'"')).join(" OR ")),T=(e,t)=>async r=>{let a=(0,f.QB)(("string"==typeof r?[r]:r).map(n.CZ)),o=(await e({isbns:a})).records.map(e=>e.getIsbn()).filter(n.Qr);return o.length?t({isbns:o}):null},C={mikromarc:e=>{let t="https://".concat(e.database,".mikromarc.no"),r=e.mikromarcUnit?"".concat(t,"/mikromarc3/default.aspx?Unit=").concat(e.mikromarcUnit,"&db=").concat(e.database):t,n=h("".concat(t,"/mmwebapi/").concat(e.database,"/").concat(e.mikromarcUnit,"/SRU"),{defaultParams:{httpAccept:"text/xml"},defaultVersion:"2.0",defaultRecordSchema:"normarc"}),a=e=>"string"==typeof e?e:e.isbns.map(e=>"IS = ".concat(e)).join(" OR "),i=r=>L("".concat(t,"/mikromarc3/search.aspx"),{Unit:e.mikromarcUnit,db:e.database,SC:"FT",SW:a(r)}),l=R(n);return{config:e,baseUrl:r,getLinkToSearch:i,getLinkToRecord:r=>L("".concat(t,"/mikromarc3/detail.aspx"),{Unit:e.mikromarcUnit,db:e.database,Id:r}),getLinkToRecordFromIsbn:T(l,i),getLinkToMyAccount:()=>L("".concat(t,"/mikromarc3/member.aspx"),{Unit:e.mikromarcUnit,db:e.database}),getLinkToForgottenPassword:()=>L("".concat(t,"/mikromarc3/lostcode.aspx"),{Unit:e.mikromarcUnit,db:e.database}),getLinkToNewPatron:()=>L("".concat(t,"/mikromarc3/order.aspx"),{type:"2",Unit:e.mikromarcUnit,db:e.database}),ping:async()=>{try{var e;let t=await o()(r);return!!(t.ok&&(null===(e=t.headers.get("Content-Type"))||void 0===e?void 0:e.match(/html/)))}catch(e){return!1}},search:l}},bibliofil:e=>{let t="https://".concat(e.database,".bib.no"),r=e.bibliofilInstance?"m2-".concat(e.bibliofilInstance):"m2",n="".concat(t,"/cgi-bin/").concat(r),a=h("".concat(t,"/cgi-bin/sru"),{defaultRecordSchema:"normarc",defaultVersion:"1.1"}),o=e=>"string"==typeof e?{pubsok_txt_0:e}:{ccl:e.isbns.map(e=>"".concat(e,"/IS")).join(" eller ")},i=R(a),l=e=>L(n,{mode:"vt",...o(e)});return{config:e,baseUrl:n,getLinkToSearch:l,getLinkToRecord:e=>"".concat(n,"?tnr=").concat(e),getLinkToRecordFromIsbn:T(i,l),getLinkToMyAccount:()=>"".concat(n,"?mode=lninfo"),getLinkToNewPatron:()=>"".concat(n,"?mode=ln-kanskjenylaaner"),getLinkToForgottenPassword:()=>"".concat(n,"?mode=sendpskjema"),ping:()=>k(n),search:i}},quria:e=>{let t="https://".concat(e.database,".arena.axiell.com"),r=e=>"string"==typeof e?e:e.isbns.join(" OR "),a=t=>L("https://".concat(e.database,".arena.axiell.com/search"),{p_p_id:"searchResult_WAR_arenaportlet","p_r_p_arena_urn:arena_search_type":"solr","p_r_p_arena_urn:arena_search_query":r(t),"p_r_p_arena_urn:arena_sort_advice":"field=Relevance&direction=Descending"});return{config:e,baseUrl:t,getLinkToSearch:a,getLinkToRecord:e=>L("".concat(t,"/results"),{p_p_id:"crDetailWicket_WAR_arenaportlet",p_p_lifecycle:"1",p_p_state:"normal","p_r_p_arena_urn:arena_search_item_id":e}),getLinkToRecordFromIsbn:async e=>a({isbns:(0,f.QB)(("string"==typeof e?[e]:e).map(n.CZ))}),getLinkToMyAccount:()=>"https://".concat(e.database,".arena.axiell.com/protected/my-account/overview"),getLinkToForgottenPassword:()=>"https://".concat(e.database,".arena.axiell.com/protected/my-account/profile?p_p_id=arenaAccount_WAR_arenaportlet&p_p_lifecycle=0&_arenaAccount_WAR_arenaportlet_arena_profile_mode=pin-reset"),getLinkToNewPatron:()=>"https://".concat(e.database,".arena.axiell.com/protected/skaffe-l\xe5nekort"),ping:()=>k(t),search:"NOT_SUPPORTED"}},cicero:e=>{let t="https://surf.cicero-suite.com/institution/".concat(e.database),r=e=>"string"==typeof e?e:e.isbns.join(" OR "),a=e=>L("".concat(t,"/search"),{cql:r(e),searchType:"NORMAL"});return{config:e,baseUrl:t,getLinkToSearch:a,getLinkToRecord:e=>L("".concat(t,"/search"),{cql:"onr=".concat(e)}),getLinkToRecordFromIsbn:async e=>a({isbns:(0,f.QB)(("string"==typeof e?[e]:e).map(n.CZ))}),getLinkToMyAccount:()=>"".concat(t,"/loans"),getLinkToForgottenPassword:()=>void 0,getLinkToNewPatron:()=>void 0,ping:()=>k(t),search:"NOT_SUPPORTED"}}},I=e=>"string"==typeof(null==e?void 0:e.type)&&b.includes(null==e?void 0:e.type)&&"string"==typeof(null==e?void 0:e.database),P=e=>I(e)?C[e.type](e):void 0;var U=r(92726);let j=e=>o()("https://forrigebok.no/api/v2023-01-12".concat(e),{headers:{"Client-Identifier":"Libry Content"}}).then(e=>e.json()),x=async e=>{var t,r;let n=new URLSearchParams((0,U.lL)({limit:e.limit,language:N(e.language),workId:null===(t=e.workIds)||void 0===t?void 0:t.join(","),isbn:null===(r=e.isbns)||void 0===r?void 0:r.join(",")}));return j("/works?".concat(n.toString()))},A=async e=>{var t,r;let n=new URLSearchParams((0,U.lL)({limit:null===(t=e.limit)||void 0===t?void 0:t.toString(),language:N(e.language),workId:e.workId,isbn:e.isbn,terms:null===(r=e.termIds)||void 0===r?void 0:r.join(",")}));return j("/readalikes?".concat(n.toString()))},D=["nb","nn"],E=e=>!!D.includes(e),N=e=>E(e)?e:"nb";var O=r(41032);let q=async e=>{let{operation:t,params:r,siteSearchConfig:n,useGlobalCatalogue:a=!1}=e,o=n&&Q({siteSearchConfig:n,useGlobalCatalogue:a});if(!o){console.warn("Search integration not implemented for this site");return}let i=z({catalogueId:o,env:null==n?void 0:n.searchIntegrationEnvironment}),{data:l,error:c}=await i[t](r);if(c)throw c;return l},W=()=>["filmoteket","music"],z=e=>(0,O.bz)({host:M(e.env),catalogueId:e.catalogueId,clientIdentifier:"libry-content",featureFlags:W()}),M=e=>{switch(e){case"prod":return"https://search.data.bs.no";case"staging":return"https://search.data-staging.bs.no";default:return}},Q=e=>e.useGlobalCatalogue?"global":e.siteSearchConfig.libraryCatalogueId;r(44545)}}]);
//# sourceMappingURL=132-eb747a00dd24b7b5.js.map