@sanity/visual-editing
Version:
[](https://npm-stat.com/charts.html?package=@sanity/visual-editing) [](https://
2 lines (1 loc) • 2.31 kB
JavaScript
;var t=require("@sanity/client/csm"),e=require("valibot");function r(t){let e="";for(const o of t)"string"!=typeof o?"number"!=typeof o?null!==(r=o)&&Array.isArray(r)?(e&&(e+=":"),e+=`${o.join(",")}}`):o._key&&(e&&(e+=":"),e+=`${o._key}`):(e&&(e+=":"),e+=`${o}`):(e&&(e+="."),e+=o);var r;return e}const o=/^([\w-]+):(0|[1-9][0-9]*)$/,s=/^([\w-]+):([0-9]+),([0-9]+)$/,n=/^([\w-]+):([\w-]+)$/;const a="drafts.",c=e.pipe(e.string(),e.minLength(1)),i=e.optional(c),u=e.object({baseUrl:c,dataset:i,id:c,path:c,projectId:i,tool:i,type:i,workspace:i,isDraft:e.optional(e.string())}),p=e.object({origin:c,href:c,data:e.optional(e.record(e.string(),e.unknown()))});function f(t){return e.is(u,t)}function d(e){const r=e.split(";").reduce(((e,r)=>{const[a,c]=r.split("=");if(!a||r.includes("=")&&!c)return e;switch(a){case"id":e.id=c;break;case"type":e.type=c;break;case"path":e.path=t.studioPath.toString(function(t){const e=[];for(const r of t.split(".")){const t=o.exec(r);if(t){e.push(t[1],Number(t[2]));continue}const a=s.exec(r);if(a){e.push(a[1],[Number(a[2]),Number(a[3])]);continue}const c=n.exec(r);c?e.push(c[1],{_key:c[2]}):e.push(r)}return e}(c));break;case"base":e.baseUrl=decodeURIComponent(c);break;case"tool":e.tool=c;break;case"workspace":e.workspace=c;break;case"projectId":e.projectId=c;break;case"dataset":e.dataset=c;break;case"isDraft":e.isDraft=""}return e}),{});if(f(r))return r}function l(t){const r=e.safeParse(u,t);if(r.success)return r.output;const o=e.safeParse(p,t);if(o.success)try{const t=new URL(o.output.href,typeof document>"u"?"https://example.com":location.origin);return t.searchParams.size>0?e.parse(u,Object.fromEntries(t.searchParams.entries())):o.output}catch(t){return console.error("Failed to parse sanity node",t),o.output}}exports.D=a,exports.d=function(t){if("object"==typeof t&&null!==t)return l(t);try{return l(JSON.parse(t))}catch{return d(t)}},exports.e=function(e){const{id:o,path:s,baseUrl:n,tool:c,workspace:i,type:u}=e;return f(e)?[["id",t.getPublishedId(o)],["type",u],["path",r(t.studioPath.fromString(s))],["base",encodeURIComponent(n)],["workspace",i],["tool",c],["isDraft",o.startsWith(a)]].filter((([,t])=>!!t)).map((t=>{const[e,r]=t;return!0===r?e:t.join("=")})).join(";"):void 0},exports.p=r;//# sourceMappingURL=transformSanityNodeData.cjs.map