@junobuild/core-peer 0.0.9-next-2024-02-02.1 → 0.0.9

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.
@@ -1,5 +1,4 @@
1
1
  import type {ActorMethod} from '@dfinity/agent';
2
- import type {IDL} from '@dfinity/candid';
3
2
  import type {Principal} from '@dfinity/principal';
4
3
 
5
4
  export interface AssetEncodingNoContent {
@@ -194,7 +193,6 @@ export interface UploadChunkResult {
194
193
  chunk_id: bigint;
195
194
  }
196
195
  export interface _SERVICE {
197
- build_version: ActorMethod<[], string>;
198
196
  commit_asset_upload: ActorMethod<[CommitBatch], undefined>;
199
197
  count_assets: ActorMethod<[string], bigint>;
200
198
  count_docs: ActorMethod<[string], bigint>;
@@ -208,10 +206,8 @@ export interface _SERVICE {
208
206
  del_many_docs: ActorMethod<[Array<[string, string, DelDoc]>], undefined>;
209
207
  del_rule: ActorMethod<[RulesType, string, DelDoc], undefined>;
210
208
  deposit_cycles: ActorMethod<[DepositCyclesArgs], undefined>;
211
- get_asset: ActorMethod<[string, string], [] | [AssetNoContent]>;
212
209
  get_config: ActorMethod<[], Config>;
213
210
  get_doc: ActorMethod<[string, string], [] | [Doc]>;
214
- get_many_assets: ActorMethod<[Array<[string, string]>], Array<[string, [] | [AssetNoContent]]>>;
215
211
  get_many_docs: ActorMethod<[Array<[string, string]>], Array<[string, [] | [Doc]]>>;
216
212
  http_request: ActorMethod<[HttpRequest], HttpResponse>;
217
213
  http_request_streaming_callback: ActorMethod<
@@ -234,4 +230,3 @@ export interface _SERVICE {
234
230
  upload_asset_chunk: ActorMethod<[UploadChunk], UploadChunkResult>;
235
231
  version: ActorMethod<[], string>;
236
232
  }
237
- export declare const idlFactory: IDL.InterfaceFactory;
@@ -25,26 +25,6 @@ export const idlFactory = ({IDL}) => {
25
25
  cycles: IDL.Nat,
26
26
  destination_id: IDL.Principal
27
27
  });
28
- const AssetKey = IDL.Record({
29
- token: IDL.Opt(IDL.Text),
30
- collection: IDL.Text,
31
- owner: IDL.Principal,
32
- name: IDL.Text,
33
- description: IDL.Opt(IDL.Text),
34
- full_path: IDL.Text
35
- });
36
- const AssetEncodingNoContent = IDL.Record({
37
- modified: IDL.Nat64,
38
- sha256: IDL.Vec(IDL.Nat8),
39
- total_length: IDL.Nat
40
- });
41
- const AssetNoContent = IDL.Record({
42
- key: AssetKey,
43
- updated_at: IDL.Nat64,
44
- encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),
45
- headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),
46
- created_at: IDL.Nat64
47
- });
48
28
  const StorageConfigIFrame = IDL.Variant({
49
29
  Deny: IDL.Null,
50
30
  AllowAny: IDL.Null,
@@ -130,6 +110,26 @@ export const idlFactory = ({IDL}) => {
130
110
  matcher: IDL.Opt(ListMatcher),
131
111
  paginate: IDL.Opt(ListPaginate)
132
112
  });
113
+ const AssetKey = IDL.Record({
114
+ token: IDL.Opt(IDL.Text),
115
+ collection: IDL.Text,
116
+ owner: IDL.Principal,
117
+ name: IDL.Text,
118
+ description: IDL.Opt(IDL.Text),
119
+ full_path: IDL.Text
120
+ });
121
+ const AssetEncodingNoContent = IDL.Record({
122
+ modified: IDL.Nat64,
123
+ sha256: IDL.Vec(IDL.Nat8),
124
+ total_length: IDL.Nat
125
+ });
126
+ const AssetNoContent = IDL.Record({
127
+ key: AssetKey,
128
+ updated_at: IDL.Nat64,
129
+ encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),
130
+ headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),
131
+ created_at: IDL.Nat64
132
+ });
133
133
  const ListResults = IDL.Record({
134
134
  matches_pages: IDL.Opt(IDL.Nat64),
135
135
  matches_length: IDL.Nat64,
@@ -194,7 +194,6 @@ export const idlFactory = ({IDL}) => {
194
194
  });
195
195
  const UploadChunkResult = IDL.Record({chunk_id: IDL.Nat});
196
196
  return IDL.Service({
197
- build_version: IDL.Func([], [IDL.Text], ['query']),
198
197
  commit_asset_upload: IDL.Func([CommitBatch], [], []),
199
198
  count_assets: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),
200
199
  count_docs: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),
@@ -212,14 +211,8 @@ export const idlFactory = ({IDL}) => {
212
211
  del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),
213
212
  del_rule: IDL.Func([RulesType, IDL.Text, DelDoc], [], []),
214
213
  deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),
215
- get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),
216
214
  get_config: IDL.Func([], [Config], []),
217
215
  get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),
218
- get_many_assets: IDL.Func(
219
- [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],
220
- [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(AssetNoContent)))],
221
- ['query']
222
- ),
223
216
  get_many_docs: IDL.Func(
224
217
  [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],
225
218
  [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],
@@ -25,26 +25,6 @@ export const idlFactory = ({IDL}) => {
25
25
  cycles: IDL.Nat,
26
26
  destination_id: IDL.Principal
27
27
  });
28
- const AssetKey = IDL.Record({
29
- token: IDL.Opt(IDL.Text),
30
- collection: IDL.Text,
31
- owner: IDL.Principal,
32
- name: IDL.Text,
33
- description: IDL.Opt(IDL.Text),
34
- full_path: IDL.Text
35
- });
36
- const AssetEncodingNoContent = IDL.Record({
37
- modified: IDL.Nat64,
38
- sha256: IDL.Vec(IDL.Nat8),
39
- total_length: IDL.Nat
40
- });
41
- const AssetNoContent = IDL.Record({
42
- key: AssetKey,
43
- updated_at: IDL.Nat64,
44
- encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),
45
- headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),
46
- created_at: IDL.Nat64
47
- });
48
28
  const StorageConfigIFrame = IDL.Variant({
49
29
  Deny: IDL.Null,
50
30
  AllowAny: IDL.Null,
@@ -130,6 +110,26 @@ export const idlFactory = ({IDL}) => {
130
110
  matcher: IDL.Opt(ListMatcher),
131
111
  paginate: IDL.Opt(ListPaginate)
132
112
  });
113
+ const AssetKey = IDL.Record({
114
+ token: IDL.Opt(IDL.Text),
115
+ collection: IDL.Text,
116
+ owner: IDL.Principal,
117
+ name: IDL.Text,
118
+ description: IDL.Opt(IDL.Text),
119
+ full_path: IDL.Text
120
+ });
121
+ const AssetEncodingNoContent = IDL.Record({
122
+ modified: IDL.Nat64,
123
+ sha256: IDL.Vec(IDL.Nat8),
124
+ total_length: IDL.Nat
125
+ });
126
+ const AssetNoContent = IDL.Record({
127
+ key: AssetKey,
128
+ updated_at: IDL.Nat64,
129
+ encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),
130
+ headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),
131
+ created_at: IDL.Nat64
132
+ });
133
133
  const ListResults = IDL.Record({
134
134
  matches_pages: IDL.Opt(IDL.Nat64),
135
135
  matches_length: IDL.Nat64,
@@ -194,7 +194,6 @@ export const idlFactory = ({IDL}) => {
194
194
  });
195
195
  const UploadChunkResult = IDL.Record({chunk_id: IDL.Nat});
196
196
  return IDL.Service({
197
- build_version: IDL.Func([], [IDL.Text], ['query']),
198
197
  commit_asset_upload: IDL.Func([CommitBatch], [], []),
199
198
  count_assets: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),
200
199
  count_docs: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),
@@ -212,14 +211,8 @@ export const idlFactory = ({IDL}) => {
212
211
  del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),
213
212
  del_rule: IDL.Func([RulesType, IDL.Text, DelDoc], [], []),
214
213
  deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),
215
- get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),
216
214
  get_config: IDL.Func([], [Config], []),
217
215
  get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),
218
- get_many_assets: IDL.Func(
219
- [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],
220
- [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(AssetNoContent)))],
221
- ['query']
222
- ),
223
216
  get_many_docs: IDL.Func(
224
217
  [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],
225
218
  [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],
@@ -1,2 +1,2 @@
1
- import{Principal as I}from"@dfinity/principal";var l=t=>t==null,c=t=>!l(t);var B="__bigint__",j="__principal__",H="__uint8array__",Wt=(t,e)=>typeof e=="bigint"?{[B]:`${e}`}:c(e)&&e instanceof I?{[j]:e.toText()}:c(e)&&e instanceof Uint8Array?{[H]:Array.from(e)}:e,Yt=(t,e)=>{let s=o=>e[o];return c(e)&&typeof e=="object"&&B in e?BigInt(s(B)):c(e)&&typeof e=="object"&&j in e?I.fromText(s(j)):c(e)&&typeof e=="object"&&H in e?Uint8Array.from(s(H)):e},p=t=>c(t)?[t]:[],y=t=>t?.[0],L=async t=>{let e=new Blob([JSON.stringify(t,Wt)],{type:"application/json; charset=utf-8"});return new Uint8Array(await e.arrayBuffer())},C=async t=>{let e=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await e.text(),Yt)},E=()=>typeof window<"u";var R=class{callbacks=[];populate(e){this.callbacks.forEach(({callback:s})=>s(e))}subscribe(e){let s=Symbol();return this.callbacks.push({id:s,callback:e}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==s)}};var N=class t extends R{static instance;authUser=null;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.authUser=e,this.populate(e)}get(){return this.authUser}subscribe(e){let s=super.subscribe(e);return e(this.authUser),s}reset(){this.authUser=null,this.populate(this.authUser)}};var z=({message:t,detail:e})=>{let s=new CustomEvent(t,{detail:e,bubbles:!0});document.dispatchEvent(s)};var tt=BigInt(144e11),et={width:576,height:576},st={width:505,height:705},ot="internetcomputer.org";var k="http://127.0.0.1:5987",it="rdmx6-jaaaa-aaaaa-aaadq-cai";var T=class t extends R{static instance;env;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.env=e,this.populate(e)}get(){return this.env}subscribe(e){let s=super.subscribe(e);return e(this.env),s}};var G=({width:t,height:e})=>{if(!E()||l(window)||l(window.top))return;let{top:{innerWidth:s,innerHeight:o}}=window,i=o/2+screenY-e/2,n=s/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${e}, top=${i}, left=${n}`};var F=class{#t;constructor({domain:e}){this.#t=e}get id(){return"internet_identity"}signInOptions({windowed:e}){let s=()=>{let o=T.getInstance().get()?.container;if(l(o)||o===!1)return`https://identity.${this.#t??ot}`;let i=T.getInstance().get(),n=c(i)&&c(i?.internetIdentityId)?i.internetIdentityId:it,{host:r,protocol:a}=new URL(o===!0?k:o);return/apple/i.test(navigator?.vendor)?`${a}//${r}?canisterId=${n}`:`${a}//${n}.${r.replace("127.0.0.1","localhost")}`};return{...e!==!1&&{windowOpenerFeatures:G(et)},identityProvider:s()}}},nt=class{#t;#e;constructor({appName:e,logoUrl:s}){this.#t=e,this.#e=s}get id(){return"nfid"}signInOptions({windowed:e}){return{...e!==!1&&{windowOpenerFeatures:G(st)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#t)}&applicationLogo=${encodeURI(this.#e)}`}}};import{AuthClient as Jt}from"@dfinity/auth-client";var V=()=>Jt.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});var rt=async({data:t})=>{try{return await C(t)}catch(e){console.error("The data parsing has failed, mapping to undefined as a fallback.",e);return}};var W=async t=>{let{data:e,updated_at:s,description:o}=t;return{description:p(o),data:await L(e),updated_at:p(s)}},Y=t=>{let{updated_at:e}=t;return{updated_at:p(e)}},v=async({doc:t,key:e})=>{let{owner:s,description:o,data:i,...n}=t;return{key:e,description:y(o),owner:s.toText(),data:await C(i),...n}};import{Principal as Xt}from"@dfinity/principal";var M=({matcher:t,paginate:e,order:s,owner:o})=>({matcher:l(t)?[]:[{key:p(t.key),description:p(t.description)}],paginate:p(l(e)?void 0:{start_after:p(e.startAfter),limit:p(l(e.limit)?void 0:BigInt(e.limit))}),order:p(l(s)?void 0:{desc:s.desc,field:s.field==="created_at"?{CreatedAt:null}:s.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:p(l(o)?void 0:typeof o=="string"?Xt.fromText(o):o)});var at=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),s=t.Record({controllers:t.Vec(t.Principal)}),o=t.Variant({Write:t.Null,Admin:t.Null}),i=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:o,expires_at:t.Opt(t.Nat64)}),n=t.Record({updated_at:t.Opt(t.Nat64)}),r=t.Variant({Db:t.Null,Storage:t.Null}),a=t.Record({cycles:t.Nat,destination_id:t.Principal}),d=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),_=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),u=t.Record({key:d,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,_)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64}),x=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),w=t.Record({status_code:t.Nat16,location:t.Text}),b=t.Record({iframe:t.Opt(x),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),redirects:t.Opt(t.Vec(t.Tuple(t.Text,w)))}),P=t.Record({storage:b}),f=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64}),S=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),m=t.Variant({Heap:t.Null,Stable:t.Null}),O=t.Record({memory:m,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),K=t.Variant({Callback:t.Record({token:O,callback:t.Func([],[],["query"])})}),q=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(K),status_code:t.Nat16}),Rt=t.Record({token:t.Opt(O),body:t.Vec(t.Nat8)}),kt=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),vt=t.Record({batch_id:t.Nat}),Ut=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),Ct=t.Record({field:Ut,desc:t.Bool}),Et=t.Record({key:t.Opt(t.Text),description:t.Opt(t.Text)}),Ft=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),Z=t.Record({order:t.Opt(Ct),owner:t.Opt(t.Principal),matcher:t.Opt(Et),paginate:t.Opt(Ft)}),Vt=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,u)),items_length:t.Nat64}),Mt=t.Record({updated_at:t.Nat64,created_at:t.Nat64,bn_id:t.Opt(t.Text)}),$t=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,f)),items_length:t.Nat64}),U=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),Kt=t.Record({memory:t.Opt(m),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:U,created_at:t.Nat64,mutable_permissions:t.Opt(t.Bool),write:U}),qt=t.Record({stable:t.Nat64,heap:t.Nat64}),Bt=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:o,expires_at:t.Opt(t.Nat64)}),jt=t.Record({controller:Bt,controllers:t.Vec(t.Principal)}),D=t.Record({updated_at:t.Opt(t.Nat64),data:t.Vec(t.Nat8),description:t.Opt(t.Text)}),Ht=t.Record({memory:t.Opt(m),updated_at:t.Opt(t.Nat64),max_size:t.Opt(t.Nat),read:U,mutable_permissions:t.Opt(t.Bool),write:U}),zt=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),Gt=t.Record({chunk_id:t.Nat});return t.Service({build_version:t.Func([],[t.Text],["query"]),commit_asset_upload:t.Func([e],[],[]),count_assets:t.Func([t.Text],[t.Nat64],["query"]),count_docs:t.Func([t.Text],[t.Nat64],["query"]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([s],[t.Vec(t.Tuple(t.Principal,i))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,n],[],[]),del_docs:t.Func([t.Text],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,n))],[],[]),del_rule:t.Func([r,t.Text,n],[],[]),deposit_cycles:t.Func([a],[],[]),get_asset:t.Func([t.Text,t.Text],[t.Opt(u)],["query"]),get_config:t.Func([],[P],[]),get_doc:t.Func([t.Text,t.Text],[t.Opt(f)],["query"]),get_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(u)))],["query"]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(f)))],["query"]),http_request:t.Func([S],[q],["query"]),http_request_streaming_callback:t.Func([O],[Rt],["query"]),init_asset_upload:t.Func([kt],[vt],[]),list_assets:t.Func([t.Text,Z],[Vt],["query"]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,i))],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,Mt))],["query"]),list_docs:t.Func([t.Text,Z],[$t],["query"]),list_rules:t.Func([r],[t.Vec(t.Tuple(t.Text,Kt))],["query"]),memory_size:t.Func([],[qt],["query"]),set_config:t.Func([P],[],[]),set_controllers:t.Func([jt],[t.Vec(t.Tuple(t.Principal,i))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_doc:t.Func([t.Text,t.Text,D],[f],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,D))],[t.Vec(t.Tuple(t.Text,f))],[]),set_rule:t.Func([r,t.Text,Ht],[],[]),upload_asset_chunk:t.Func([zt],[Gt],[]),version:t.Func([],[t.Text],["query"])})};import{Actor as Qt,HttpAgent as Zt}from"@dfinity/agent";var ct=async({satelliteId:t,idlFactory:e,identity:s,fetch:o,container:i})=>{let r=c(i)&&i!==!1?i===!0?k:i:"https://icp-api.io",a=new Zt({identity:s,host:r,...o&&{fetch:o}});return c(i)&&await a.fetchRootKey(),Qt.createActor(e,{agent:a,canisterId:t})};var g=async({satelliteId:t,container:e,...s})=>{let{satelliteId:o}=c(t)?{satelliteId:t}:T.getInstance().get()??{satelliteId:void 0},{container:i}=c(e)?{container:e}:T.getInstance().get()??{container:void 0};if(!o)throw new Error("No satellite principal defined.");return ct({satelliteId:o,container:i,idlFactory:at,...s})};var lt=async({collection:t,key:e,satellite:s})=>{let o=await g(s),i=y(await o.get_doc(t,e));if(!l(i))return v({doc:i,key:e})},pt=async({docs:t,satellite:e})=>{let{get_many_docs:s}=await g(e),o=t.map(({collection:r,key:a})=>[r,a]),i=await s(o),n=[];for(let[r,a]of i){let d=y(a);n.push(c(d)?await v({key:r,doc:d}):void 0)}return n},dt=async({collection:t,doc:e,satellite:s})=>{let{set_doc:o}=await g(s),{key:i}=e,n=await W(e),r=await o(t,i,n);return await v({key:i,doc:r})},ut=async({docs:t,satellite:e})=>{let{set_many_docs:s}=await g(e),o=[];for(let{collection:r,doc:a}of t){let{key:d}=a;o.push([r,d,await W(a)])}let i=await s(o),n=[];for(let[r,a]of i)n.push(await v({key:r,doc:a}));return n},mt=async({collection:t,doc:e,satellite:s})=>{let{del_doc:o}=await g(s),{key:i}=e;return o(t,i,Y(e))},yt=async({docs:t,satellite:e})=>{let{del_many_docs:s}=await g(e),o=t.map(({collection:i,doc:n})=>[i,n.key,Y(n)]);await s(o)},ft=async({collection:t,filter:e,satellite:s})=>{let o=await g(s),{items:i,items_page:n,items_length:r,matches_length:a,matches_pages:d}=await o.list_docs(t,M(e)),_=[];for(let[u,x]of i){let{data:w,owner:b,description:P,...f}=x;_.push({key:u,description:y(P),owner:b.toText(),data:await rt({data:w}),...f})}return{items:_,items_length:r,items_page:y(n),matches_length:a,matches_pages:y(d)}};import{AnonymousIdentity as Dt}from"@dfinity/agent";var h=t=>t!==void 0?t:$()??new Dt;var gt=async({satellite:t,...e})=>{let s=h(t?.identity);return lt({...e,satellite:{...t,identity:s}})},De=async({satellite:t,...e})=>{let s=h(t?.identity);return pt({...e,satellite:{...t,identity:s}})},ht=async({satellite:t,...e})=>{let s=h(t?.identity);return dt({...e,satellite:{...t,identity:s}})},Ie=async({satellite:t,...e})=>{let s=h(t?.identity);return ut({...e,satellite:{...t,identity:s}})},Le=async({satellite:t,...e})=>{let s=h(t?.identity);return mt({...e,satellite:{...t,identity:s}})},ts=async({satellite:t,...e})=>{let s=h(t?.identity);return yt({...e,satellite:{...t,identity:s}})},es=async({satellite:t,filter:e,...s})=>{let o=h(t?.identity);return ft({...s,filter:e??{},satellite:{...t,identity:o}})};var _t=async t=>{let e=$();if(l(e))throw new Error("No identity to initialize the user. Have you initialized Juno?");let s=e.getPrincipal().toText(),o=await gt({collection:"#user",key:s});return l(o)?await It({userId:s,provider:t}):o},It=async({userId:t,...e})=>ht({collection:"#user",doc:{key:t,data:e}});var A,J=async t=>{if(A=A??await V(),!(await A?.isAuthenticated()??!1))return;let s=await _t(t);N.getInstance().set(s)},Lt=async t=>new Promise(async(e,s)=>{A=A??await V();let o=t?.provider??new F({});await A.login({onSuccess:async()=>{await J(o.id),e()},onError:i=>s(i),maxTimeToLive:t?.maxTimeToLive??tt,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...o.signInOptions({windowed:t?.windowed})})}),X=async()=>{await A?.logout(),A=void 0,N.getInstance().reset()},$=()=>A?.getIdentity(),te=async()=>(A??await V()).getIdentity();var Tt=t=>{let e=t===!0?"./workers/auth.worker.js":t,s=new Worker(e),o=async()=>{z({message:"junoSignOutAuthTimer"}),await X()};return s.onmessage=async({data:i})=>{let{msg:n,data:r}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":z({message:"junoDelegationRemainingTime",detail:r?.authRemainingTime});return}},N.getInstance().subscribe(i=>{if(l(i)){s.postMessage({msg:"junoStopAuthTimer"});return}s.postMessage({msg:"junoStartAuthTimer"})})};var xt=async({data:t,filename:e,collection:s,headers:o,token:i,fullPath:n,encoding:r,description:a,satellite:d})=>{let _=await g(d),{batch_id:u}=await _.init_asset_upload({collection:s,full_path:n,name:e,token:p(i),encoding_type:p(r),description:p(a)}),x=19e5,w=[],b=E()?new Blob([await t.arrayBuffer()]):t,P=0n;for(let m=0;m<b.size;m+=x){let O=b.slice(m,m+x);w.push({batchId:u,chunk:O,actor:_,orderId:P}),P++}let f=[];for await(let m of ee({uploadChunks:w}))f=[...f,...m];let S=o.find(([m,O])=>m.toLowerCase()==="content-type")===void 0&&t.type!==void 0&&t.type!==""?[["Content-Type",t.type]]:void 0;await _.commit_asset_upload({batch_id:u,chunk_ids:f.map(({chunk_id:m})=>m),headers:[...o,...S||[]]})};async function*ee({uploadChunks:t,limit:e=12}){for(let s=0;s<t.length;s=s+e){let o=t.slice(s,s+e);yield await Promise.all(o.map(n=>se(n)))}}var se=async({batchId:t,chunk:e,actor:s,orderId:o})=>s.upload_asset_chunk({batch_id:t,content:new Uint8Array(await e.arrayBuffer()),order_id:p(o)}),At=async({collection:t,satellite:e,filter:s})=>{let o=await g(e),{items:i,items_length:n,items_page:r,matches_length:a,matches_pages:d}=await o.list_assets(t,M(s));return{items:i.map(([_,u])=>u),items_length:n,items_page:y(r),matches_length:a,matches_pages:y(d)}},Pt=async({collection:t,fullPath:e,satellite:s})=>(await g(s)).del_asset(t,e),Nt=async({assets:t,satellite:e})=>{let{del_many_assets:s}=await g(e),o=t.map(({collection:i,fullPath:n})=>[i,n]);await s(o)},wt=async({collection:t,fullPath:e,satellite:s})=>{let{get_asset:o}=await g(s);return y(await o(t,e))},bt=async({assets:t,satellite:e})=>{let{get_many_assets:s}=await g(e),o=t.map(({collection:n,fullPath:r})=>[n,r]);return(await s(o)).map(([n,r])=>y(r))};var Ot=t=>btoa([...t].map(e=>String.fromCharCode(e)).join(""));var Q=()=>{let t=T.getInstance().get()?.satelliteId??"unknown",e=T.getInstance().get()?.container;if(c(e)&&e!==!1){let{host:s,protocol:o}=new URL(e===!0?k:e);return`${o}//${t}.${s.replace("127.0.0.1","localhost")}`}return`https://${t}.icp0.io`};var Cs=async t=>St(t),Es=async t=>St({filename:t.data.name,...t}),St=async({filename:t,data:e,collection:s,headers:o=[],fullPath:i,token:n,satellite:r,encoding:a,description:d})=>{let _=h(r?.identity),u=decodeURI(t),x=i??`/${s}/${u}`;return await xt({data:e,filename:u,collection:s,token:n,headers:o,fullPath:x,encoding:a,satellite:{...r,identity:_},description:d}),{downloadUrl:`${Q()}${x}${n!==void 0?`?token=${n}`:""}`,fullPath:x,name:u}},Fs=async({collection:t,satellite:e,filter:s})=>{let{items:o,...i}=await At({collection:t,satellite:{...e,identity:h(e?.identity)},filter:s??{}}),n=Q();return{assets:o.map(({key:{full_path:r,token:a,name:d,owner:_,description:u},headers:x,encodings:w,created_at:b,updated_at:P})=>{let f=y(a);return{fullPath:r,description:y(u),name:d,downloadUrl:`${n}${r}${f!==void 0?`?token=${f}`:""}`,token:f,headers:x,encodings:w.reduce((S,[m,{modified:O,sha256:K,total_length:q}])=>({...S,[m]:{modified:O,sha256:Ot(K),total_length:q}}),{}),owner:_.toText(),created_at:b,updated_at:P}}),...i}},Vs=async({collection:t,fullPath:e,satellite:s})=>Pt({collection:t,fullPath:e,satellite:{...s,identity:h(s?.identity)}}),Ms=async({assets:t,satellite:e})=>Nt({assets:t,satellite:{...e,identity:h(e?.identity)}}),$s=async({satellite:t,...e})=>{let s=h(t?.identity);return wt({...e,satellite:{...t,identity:s}})},Ks=async({satellite:t,...e})=>{let s=h(t?.identity);return bt({...e,satellite:{...t,identity:s}})};var Gs=async t=>{T.getInstance().set(t),await J();let e=t.workers?.auth!==void 0?Tt(t.workers.auth):void 0;return[...e?[e]:[]]},Ws=t=>N.getInstance().subscribe(t);export{F as InternetIdentityProvider,nt as NFIDProvider,Ws as authSubscribe,Vs as deleteAsset,Le as deleteDoc,Ms as deleteManyAssets,ts as deleteManyDocs,$s as getAsset,gt as getDoc,Ks as getManyAssets,De as getManyDocs,Gs as initJuno,Fs as listAssets,es as listDocs,ht as setDoc,Ie as setManyDocs,Lt as signIn,X as signOut,te as unsafeIdentity,Cs as uploadBlob,Es as uploadFile};
1
+ import{Principal as I}from"@dfinity/principal";var l=t=>t==null,c=t=>!l(t);var q="__bigint__",j="__principal__",H="__uint8array__",zt=(t,e)=>typeof e=="bigint"?{[q]:`${e}`}:c(e)&&e instanceof I?{[j]:e.toText()}:c(e)&&e instanceof Uint8Array?{[H]:Array.from(e)}:e,Gt=(t,e)=>{let o=s=>e[s];return c(e)&&typeof e=="object"&&q in e?BigInt(o(q)):c(e)&&typeof e=="object"&&j in e?I.fromText(o(j)):c(e)&&typeof e=="object"&&H in e?Uint8Array.from(o(H)):e},p=t=>c(t)?[t]:[],y=t=>t?.[0],L=async t=>{let e=new Blob([JSON.stringify(t,zt)],{type:"application/json; charset=utf-8"});return new Uint8Array(await e.arrayBuffer())},C=async t=>{let e=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await e.text(),Gt)},E=()=>typeof window<"u";var R=class{callbacks=[];populate(e){this.callbacks.forEach(({callback:o})=>o(e))}subscribe(e){let o=Symbol();return this.callbacks.push({id:o,callback:e}),()=>this.callbacks=this.callbacks.filter(({id:s})=>s!==o)}};var w=class t extends R{static instance;authUser=null;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.authUser=e,this.populate(e)}get(){return this.authUser}subscribe(e){let o=super.subscribe(e);return e(this.authUser),o}reset(){this.authUser=null,this.populate(this.authUser)}};var z=({message:t,detail:e})=>{let o=new CustomEvent(t,{detail:e,bubbles:!0});document.dispatchEvent(o)};var tt=BigInt(144e11),et={width:576,height:576},ot={width:505,height:705},st="internetcomputer.org";var k="http://127.0.0.1:5987",it="rdmx6-jaaaa-aaaaa-aaadq-cai";var _=class t extends R{static instance;env;constructor(){super()}static getInstance(){return t.instance||(t.instance=new t),t.instance}set(e){this.env=e,this.populate(e)}get(){return this.env}subscribe(e){let o=super.subscribe(e);return e(this.env),o}};var G=({width:t,height:e})=>{if(!E()||l(window)||l(window.top))return;let{top:{innerWidth:o,innerHeight:s}}=window,i=s/2+screenY-e/2,n=o/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${e}, top=${i}, left=${n}`};var F=class{#t;constructor({domain:e}){this.#t=e}get id(){return"internet_identity"}signInOptions({windowed:e}){let o=()=>{let s=_.getInstance().get()?.container;if(l(s)||s===!1)return`https://identity.${this.#t??st}`;let i=_.getInstance().get(),n=c(i)&&c(i?.internetIdentityId)?i.internetIdentityId:it,{host:r,protocol:a}=new URL(s===!0?k:s);return/apple/i.test(navigator?.vendor)?`${a}//${r}?canisterId=${n}`:`${a}//${n}.${r.replace("127.0.0.1","localhost")}`};return{...e!==!1&&{windowOpenerFeatures:G(et)},identityProvider:o()}}},nt=class{#t;#e;constructor({appName:e,logoUrl:o}){this.#t=e,this.#e=o}get id(){return"nfid"}signInOptions({windowed:e}){return{...e!==!1&&{windowOpenerFeatures:G(ot)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#t)}&applicationLogo=${encodeURI(this.#e)}`}}};import{AuthClient as Wt}from"@dfinity/auth-client";var V=()=>Wt.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});var rt=async({data:t})=>{try{return await C(t)}catch(e){console.error("The data parsing has failed, mapping to undefined as a fallback.",e);return}};var W=async t=>{let{data:e,updated_at:o,description:s}=t;return{description:p(s),data:await L(e),updated_at:p(o)}},Y=t=>{let{updated_at:e}=t;return{updated_at:p(e)}},v=async({doc:t,key:e})=>{let{owner:o,description:s,data:i,...n}=t;return{key:e,description:y(s),owner:o.toText(),data:await C(i),...n}};import{Principal as Yt}from"@dfinity/principal";var M=({matcher:t,paginate:e,order:o,owner:s})=>({matcher:l(t)?[]:[{key:p(t.key),description:p(t.description)}],paginate:p(l(e)?void 0:{start_after:p(e.startAfter),limit:p(l(e.limit)?void 0:BigInt(e.limit))}),order:p(l(o)?void 0:{desc:o.desc,field:o.field==="created_at"?{CreatedAt:null}:o.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:p(l(s)?void 0:typeof s=="string"?Yt.fromText(s):s)});var at=({IDL:t})=>{let e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),o=t.Record({controllers:t.Vec(t.Principal)}),s=t.Variant({Write:t.Null,Admin:t.Null}),i=t.Record({updated_at:t.Nat64,metadata:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64,scope:s,expires_at:t.Opt(t.Nat64)}),n=t.Record({updated_at:t.Opt(t.Nat64)}),r=t.Variant({Db:t.Null,Storage:t.Null}),a=t.Record({cycles:t.Nat,destination_id:t.Principal}),d=t.Variant({Deny:t.Null,AllowAny:t.Null,SameOrigin:t.Null}),f=t.Record({status_code:t.Nat16,location:t.Text}),u=t.Record({iframe:t.Opt(d),rewrites:t.Vec(t.Tuple(t.Text,t.Text)),headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text)))),redirects:t.Opt(t.Vec(t.Tuple(t.Text,f)))}),g=t.Record({storage:u}),A=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),description:t.Opt(t.Text),created_at:t.Nat64}),b=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),certificate_version:t.Opt(t.Nat16)}),P=t.Variant({Heap:t.Null,Stable:t.Null}),h=t.Record({memory:P,token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),O=t.Variant({Callback:t.Record({token:h,callback:t.Func([],[],["query"])})}),m=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(O),status_code:t.Nat16}),S=t.Record({token:t.Opt(h),body:t.Vec(t.Nat8)}),B=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,description:t.Opt(t.Text),encoding_type:t.Opt(t.Text),full_path:t.Text}),K=t.Record({batch_id:t.Nat}),Ot=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),St=t.Record({field:Ot,desc:t.Bool}),Rt=t.Record({key:t.Opt(t.Text),description:t.Opt(t.Text)}),kt=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),Z=t.Record({order:t.Opt(St),owner:t.Opt(t.Principal),matcher:t.Opt(Rt),paginate:t.Opt(kt)}),vt=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,description:t.Opt(t.Text),full_path:t.Text}),Ut=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),Ct=t.Record({key:vt,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,Ut)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64}),Et=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,Ct)),items_length:t.Nat64}),Ft=t.Record({updated_at:t.Nat64,created_at:t.Nat64,bn_id:t.Opt(t.Text)}),Vt=t.Record({matches_pages:t.Opt(t.Nat64),matches_length:t.Nat64,items_page:t.Opt(t.Nat64),items:t.Vec(t.Tuple(t.Text,A)),items_length:t.Nat64}),U=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),Mt=t.Record({memory:t.Opt(P),updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:U,created_at:t.Nat64,mutable_permissions:t.Opt(t.Bool),write:U}),$t=t.Record({stable:t.Nat64,heap:t.Nat64}),Bt=t.Record({metadata:t.Vec(t.Tuple(t.Text,t.Text)),scope:s,expires_at:t.Opt(t.Nat64)}),Kt=t.Record({controller:Bt,controllers:t.Vec(t.Principal)}),D=t.Record({updated_at:t.Opt(t.Nat64),data:t.Vec(t.Nat8),description:t.Opt(t.Text)}),qt=t.Record({memory:t.Opt(P),updated_at:t.Opt(t.Nat64),max_size:t.Opt(t.Nat),read:U,mutable_permissions:t.Opt(t.Bool),write:U}),jt=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat,order_id:t.Opt(t.Nat)}),Ht=t.Record({chunk_id:t.Nat});return t.Service({commit_asset_upload:t.Func([e],[],[]),count_assets:t.Func([t.Text],[t.Nat64],["query"]),count_docs:t.Func([t.Text],[t.Nat64],["query"]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Text],[],[]),del_controllers:t.Func([o],[t.Vec(t.Tuple(t.Principal,i))],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,n],[],[]),del_docs:t.Func([t.Text],[],[]),del_many_assets:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[],[]),del_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,n))],[],[]),del_rule:t.Func([r,t.Text,n],[],[]),deposit_cycles:t.Func([a],[],[]),get_config:t.Func([],[g],[]),get_doc:t.Func([t.Text,t.Text],[t.Opt(A)],["query"]),get_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text))],[t.Vec(t.Tuple(t.Text,t.Opt(A)))],["query"]),http_request:t.Func([b],[m],["query"]),http_request_streaming_callback:t.Func([h],[S],["query"]),init_asset_upload:t.Func([B],[K],[]),list_assets:t.Func([t.Text,Z],[Et],["query"]),list_controllers:t.Func([],[t.Vec(t.Tuple(t.Principal,i))],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,Ft))],["query"]),list_docs:t.Func([t.Text,Z],[Vt],["query"]),list_rules:t.Func([r],[t.Vec(t.Tuple(t.Text,Mt))],["query"]),memory_size:t.Func([],[$t],["query"]),set_config:t.Func([g],[],[]),set_controllers:t.Func([Kt],[t.Vec(t.Tuple(t.Principal,i))],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_doc:t.Func([t.Text,t.Text,D],[A],[]),set_many_docs:t.Func([t.Vec(t.Tuple(t.Text,t.Text,D))],[t.Vec(t.Tuple(t.Text,A))],[]),set_rule:t.Func([r,t.Text,qt],[],[]),upload_asset_chunk:t.Func([jt],[Ht],[]),version:t.Func([],[t.Text],["query"])})};import{Actor as Jt,HttpAgent as Xt}from"@dfinity/agent";var ct=async({satelliteId:t,idlFactory:e,identity:o,fetch:s,container:i})=>{let r=c(i)&&i!==!1?i===!0?k:i:"https://icp-api.io",a=new Xt({identity:o,host:r,...s&&{fetch:s}});return c(i)&&await a.fetchRootKey(),Jt.createActor(e,{agent:a,canisterId:t})};var T=async({satelliteId:t,container:e,...o})=>{let{satelliteId:s}=c(t)?{satelliteId:t}:_.getInstance().get()??{satelliteId:void 0},{container:i}=c(e)?{container:e}:_.getInstance().get()??{container:void 0};if(!s)throw new Error("No satellite principal defined.");return ct({satelliteId:s,container:i,idlFactory:at,...o})};var lt=async({collection:t,key:e,satellite:o})=>{let s=await T(o),i=y(await s.get_doc(t,e));if(!l(i))return v({doc:i,key:e})},pt=async({docs:t,satellite:e})=>{let{get_many_docs:o}=await T(e),s=t.map(({collection:r,key:a})=>[r,a]),i=await o(s),n=[];for(let[r,a]of i){let d=y(a);n.push(c(d)?await v({key:r,doc:d}):void 0)}return n},dt=async({collection:t,doc:e,satellite:o})=>{let{set_doc:s}=await T(o),{key:i}=e,n=await W(e),r=await s(t,i,n);return await v({key:i,doc:r})},ut=async({docs:t,satellite:e})=>{let{set_many_docs:o}=await T(e),s=[];for(let{collection:r,doc:a}of t){let{key:d}=a;s.push([r,d,await W(a)])}let i=await o(s),n=[];for(let[r,a]of i)n.push(await v({key:r,doc:a}));return n},mt=async({collection:t,doc:e,satellite:o})=>{let{del_doc:s}=await T(o),{key:i}=e;return s(t,i,Y(e))},yt=async({docs:t,satellite:e})=>{let{del_many_docs:o}=await T(e),s=t.map(({collection:i,doc:n})=>[i,n.key,Y(n)]);await o(s)},ft=async({collection:t,filter:e,satellite:o})=>{let s=await T(o),{items:i,items_page:n,items_length:r,matches_length:a,matches_pages:d}=await s.list_docs(t,M(e)),f=[];for(let[u,g]of i){let{data:A,owner:b,description:P,...h}=g;f.push({key:u,description:y(P),owner:b.toText(),data:await rt({data:A}),...h})}return{items:f,items_length:r,items_page:y(n),matches_length:a,matches_pages:y(d)}};import{AnonymousIdentity as Qt}from"@dfinity/agent";var x=t=>t!==void 0?t:$()??new Qt;var gt=async({satellite:t,...e})=>{let o=x(t?.identity);return lt({...e,satellite:{...t,identity:o}})},Qe=async({satellite:t,...e})=>{let o=x(t?.identity);return pt({...e,satellite:{...t,identity:o}})},ht=async({satellite:t,...e})=>{let o=x(t?.identity);return dt({...e,satellite:{...t,identity:o}})},Ze=async({satellite:t,...e})=>{let o=x(t?.identity);return ut({...e,satellite:{...t,identity:o}})},De=async({satellite:t,...e})=>{let o=x(t?.identity);return mt({...e,satellite:{...t,identity:o}})},Ie=async({satellite:t,...e})=>{let o=x(t?.identity);return yt({...e,satellite:{...t,identity:o}})},Le=async({satellite:t,filter:e,...o})=>{let s=x(t?.identity);return ft({...o,filter:e??{},satellite:{...t,identity:s}})};var _t=async t=>{let e=$();if(l(e))throw new Error("No identity to initialize the user. Have you initialized Juno?");let o=e.getPrincipal().toText(),s=await gt({collection:"#user",key:o});return l(s)?await Zt({userId:o,provider:t}):s},Zt=async({userId:t,...e})=>ht({collection:"#user",doc:{key:t,data:e}});var N,J=async t=>{if(N=N??await V(),!(await N?.isAuthenticated()??!1))return;let o=await _t(t);w.getInstance().set(o)},Dt=async t=>new Promise(async(e,o)=>{N=N??await V();let s=t?.provider??new F({});await N.login({onSuccess:async()=>{await J(s.id),e()},onError:i=>o(i),maxTimeToLive:t?.maxTimeToLive??tt,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...s.signInOptions({windowed:t?.windowed})})}),X=async()=>{await N?.logout(),N=void 0,w.getInstance().reset()},$=()=>N?.getIdentity(),It=async()=>(N??await V()).getIdentity();var Tt=t=>{let e=t===!0?"./workers/auth.worker.js":t,o=new Worker(e),s=async()=>{z({message:"junoSignOutAuthTimer"}),await X()};return o.onmessage=async({data:i})=>{let{msg:n,data:r}=i;switch(n){case"junoSignOutAuthTimer":await s();return;case"junoDelegationRemainingTime":z({message:"junoDelegationRemainingTime",detail:r?.authRemainingTime});return}},w.getInstance().subscribe(i=>{if(l(i)){o.postMessage({msg:"junoStopAuthTimer"});return}o.postMessage({msg:"junoStartAuthTimer"})})};var xt=async({data:t,filename:e,collection:o,headers:s,token:i,fullPath:n,encoding:r,description:a,satellite:d})=>{let f=await T(d),{batch_id:u}=await f.init_asset_upload({collection:o,full_path:n,name:e,token:p(i),encoding_type:p(r),description:p(a)}),g=19e5,A=[],b=E()?new Blob([await t.arrayBuffer()]):t,P=0n;for(let m=0;m<b.size;m+=g){let S=b.slice(m,m+g);A.push({batchId:u,chunk:S,actor:f,orderId:P}),P++}let h=[];for await(let m of Lt({uploadChunks:A}))h=[...h,...m];let O=s.find(([m,S])=>m.toLowerCase()==="content-type")===void 0&&t.type!==void 0&&t.type!==""?[["Content-Type",t.type]]:void 0;await f.commit_asset_upload({batch_id:u,chunk_ids:h.map(({chunk_id:m})=>m),headers:[...s,...O||[]]})};async function*Lt({uploadChunks:t,limit:e=12}){for(let o=0;o<t.length;o=o+e){let s=t.slice(o,o+e);yield await Promise.all(s.map(n=>te(n)))}}var te=async({batchId:t,chunk:e,actor:o,orderId:s})=>o.upload_asset_chunk({batch_id:t,content:new Uint8Array(await e.arrayBuffer()),order_id:p(s)}),At=async({collection:t,satellite:e,filter:o})=>{let s=await T(e),{items:i,items_length:n,items_page:r,matches_length:a,matches_pages:d}=await s.list_assets(t,M(o));return{items:i.map(([f,u])=>u),items_length:n,items_page:y(r),matches_length:a,matches_pages:y(d)}},Pt=async({collection:t,fullPath:e,satellite:o})=>(await T(o)).del_asset(t,e),Nt=async({assets:t,satellite:e})=>{let{del_many_assets:o}=await T(e),s=t.map(({collection:i,fullPath:n})=>[i,n]);await o(s)};var wt=t=>btoa([...t].map(e=>String.fromCharCode(e)).join(""));var Q=()=>{let t=_.getInstance().get()?.satelliteId??"unknown",e=_.getInstance().get()?.container;if(c(e)&&e!==!1){let{host:o,protocol:s}=new URL(e===!0?k:e);return`${s}//${t}.${o.replace("127.0.0.1","localhost")}`}return`https://${t}.icp0.io`};var Uo=async t=>bt(t),Co=async t=>bt({filename:t.data.name,...t}),bt=async({filename:t,data:e,collection:o,headers:s=[],fullPath:i,token:n,satellite:r,encoding:a,description:d})=>{let f=x(r?.identity),u=decodeURI(t),g=i??`/${o}/${u}`;return await xt({data:e,filename:u,collection:o,token:n,headers:s,fullPath:g,encoding:a,satellite:{...r,identity:f},description:d}),{downloadUrl:`${Q()}${g}${n!==void 0?`?token=${n}`:""}`,fullPath:g,name:u}},Eo=async({collection:t,satellite:e,filter:o})=>{let{items:s,...i}=await At({collection:t,satellite:{...e,identity:x(e?.identity)},filter:o??{}}),n=Q();return{assets:s.map(({key:{full_path:r,token:a,name:d,owner:f,description:u},headers:g,encodings:A,created_at:b,updated_at:P})=>{let h=y(a);return{fullPath:r,description:y(u),name:d,downloadUrl:`${n}${r}${h!==void 0?`?token=${h}`:""}`,token:h,headers:g,encodings:A.reduce((O,[m,{modified:S,sha256:B,total_length:K}])=>({...O,[m]:{modified:S,sha256:wt(B),total_length:K}}),{}),owner:f.toText(),created_at:b,updated_at:P}}),...i}},Fo=async({collection:t,fullPath:e,satellite:o})=>Pt({collection:t,fullPath:e,satellite:{...o,identity:x(o?.identity)}}),Vo=async({assets:t,satellite:e})=>Nt({assets:t,satellite:{...e,identity:x(e?.identity)}});var jo=async t=>{_.getInstance().set(t),await J();let e=t.workers?.auth!==void 0?Tt(t.workers.auth):void 0;return[...e?[e]:[]]},Ho=t=>w.getInstance().subscribe(t);export{F as InternetIdentityProvider,nt as NFIDProvider,Ho as authSubscribe,Fo as deleteAsset,De as deleteDoc,Vo as deleteManyAssets,Ie as deleteManyDocs,gt as getDoc,Qe as getManyDocs,jo as initJuno,Eo as listAssets,Le as listDocs,ht as setDoc,Ze as setManyDocs,Dt as signIn,X as signOut,It as unsafeIdentity,Uo as uploadBlob,Co as uploadFile};
2
2
  //# sourceMappingURL=index.js.map