UNPKG

@junobuild/cdn

Version:

A toolkit for working with modules that implement Juno's CDN functionality

5 lines (4 loc) 3.74 kB
import { createRequire as topLevelCreateRequire } from 'module'; const require = topLevelCreateRequire(import.meta.url); import{getConsoleActor as h,getSatelliteActor as x}from"@junobuild/ic-client/actor";var e=t=>"satellite"in t?x(t.satellite):h(t.console);var U=async({cdn:t,proposalType:s})=>{let{init_proposal:o}=await e(t);return o(s)},T=async({cdn:t,proposalId:s})=>{let{submit_proposal:o}=await e(t);return o(s)},d=async({cdn:t,proposal:s})=>{let{reject_proposal:o}=await e(t);await o(s)},y=async({cdn:t,proposal:s})=>{let{commit_proposal:o}=await e(t);await o(s)},i=async({cdn:t,proposalIds:s})=>{let{delete_proposal_assets:o}=await e(t);await o({proposal_ids:s})},O=async({cdn:t})=>{let{count_proposals:s}=await e(t);return s()},D=async({cdn:t,filter:s})=>{let{list_proposals:o}=await e(t);return o(s)},L=async({cdn:t,proposalId:s})=>{let{get_proposal:o}=await e(t);return o(s)};import{uploadAssetWithProposal as _,uploadAssetsWithProposal as g}from"@junobuild/storage";var z=async({cdn:t,...s})=>{let o=await e(t);await _({actor:o,...s})},B=async({cdn:t,...s})=>{let o=await e(t);await g({actor:o,...s})};import{nonNullish as v}from"@dfinity/utils";import{ICManagementCanister as f}from"@dfinity/ic-management";import{Principal as c}from"@dfinity/principal";import{useOrInitAgent as C}from"@junobuild/ic-client/actor";var I=async({actor:t,canisterId:s})=>{let o=await C(t),{listCanisterSnapshots:a}=f.create({agent:o});return a({canisterId:s})},j=async({actor:t,...s})=>{let o=await C(t),{takeCanisterSnapshot:a}=f.create({agent:o});return a(s)},u=async({cdn:t})=>{let o=(()=>{if("satellite"in t){let{satellite:{satelliteId:n,...P}}=t;return{canisterId:n instanceof c?n:c.from(n),actor:P}}let{console:{consoleId:r,...p}}=t;return{canisterId:r instanceof c?r:c.from(r),actor:p}})(),a=await I(o);await j({...o,snapshotId:a?.[0]?.id})};var w=(r=>(r[r.TakingSnapshot=0]="TakingSnapshot",r[r.CommittingProposal=1]="CommittingProposal",r[r.ClearingProposalAssets=2]="ClearingProposalAssets",r[r.PostApply=3]="PostApply",r))(w||{}),A=(a=>(a[a.RejectingProposal=0]="RejectingProposal",a[a.ClearingProposalAssets=1]="ClearingProposalAssets",a[a.PostReject=2]="PostReject",a))(A||{});var Z=async({takeSnapshot:t=!1,clearProposalAssets:s=!1,onProgress:o,cdn:a,proposal:r,postApply:p})=>{try{await l({fn:async()=>t?await u({cdn:a}):Promise.resolve(),onProgress:o,step:0}),await l({fn:async()=>await y({cdn:a,proposal:r}),onProgress:o,step:1}),await l({fn:async()=>s?await i({cdn:a,proposalIds:[r.proposal_id]}):Promise.resolve(),onProgress:o,step:2})}finally{await l({fn:async()=>v(p)?await p():Promise.resolve(),onProgress:o,step:3})}},l=async({fn:t,step:s,onProgress:o})=>{o?.({step:s,state:"in_progress"});try{await t(),o?.({step:s,state:"success"})}catch(a){throw o?.({step:s,state:"error"}),a}};import{nonNullish as k}from"@dfinity/utils";var ao=async({clearProposalAssets:t=!1,onProgress:s,cdn:o,proposal:a,postReject:r})=>{try{await m({fn:async()=>await d({cdn:o,proposal:a}),onProgress:s,step:0}),await m({fn:async()=>t?await i({cdn:o,proposalIds:[a.proposal_id]}):Promise.resolve(),onProgress:s,step:1})}finally{await m({fn:async()=>k(r)?await r():Promise.resolve(),onProgress:s,step:2})}},m=async({fn:t,step:s,onProgress:o})=>{o?.({step:s,state:"in_progress"});try{await t(),o?.({step:s,state:"success"})}catch(a){throw o?.({step:s,state:"error"}),a}};export{w as ApplyProposalProgressStep,A as RejectProposalProgressStep,y as commitProposal,O as countProposals,i as deleteProposalAssets,Z as executeApplyProposal,ao as executeRejectProposal,L as getProposal,U as initProposal,D as listProposals,d as rejectProposal,T as submitProposal,z as uploadAssetWithProposal,B as uploadAssetsWithProposal}; //# sourceMappingURL=index.mjs.map