@junobuild/storage 0.2.4 → 1.0.0
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.
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +1 -1
- package/dist/node/index.mjs.map +4 -4
- package/dist/types/constants/upload.constants.d.ts +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/services/upload.services.d.ts +10 -0
- package/dist/types/types/{storage.types.d.ts → storage.d.ts} +2 -2
- package/dist/types/types/upload.d.ts +5 -0
- package/package.json +3 -2
- package/dist/declarations/console/console.did.d.ts +0 -311
- package/dist/declarations/console/console.factory.certified.did.js +0 -326
- package/dist/declarations/console/console.factory.did.js +0 -326
- package/dist/declarations/console/console.factory.did.mjs +0 -326
- package/dist/declarations/satellite/satellite.did.d.ts +0 -396
- package/dist/declarations/satellite/satellite.factory.certified.did.js +0 -419
- package/dist/declarations/satellite/satellite.factory.did.js +0 -419
- package/dist/declarations/satellite/satellite.factory.did.mjs +0 -419
- package/dist/types/api/storage.api.d.ts +0 -15
package/dist/browser/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{toNullable as p}from"@dfinity/utils";import{isBrowser as
|
|
1
|
+
import{toNullable as p}from"@dfinity/utils";import{isBrowser as k}from"@junobuild/utils";var b=async({asset:{data:t,headers:a,...o},actor:s})=>{let{init_asset_upload:e,upload_asset_chunk:n,commit_asset_upload:l}=s,{batch_id:i}=await e(c(o)),{chunkIds:d}=await h({data:t,uploadFn:n,batchId:i});await u({commitFn:l,batchId:i,data:t,headers:a,chunkIds:d})},P=async({asset:{data:t,headers:a,...o},proposalId:s,actor:e})=>{let{init_proposal_asset_upload:n,upload_proposal_asset_chunk:l,commit_proposal_asset_upload:i}=e,{batch_id:d}=await n(c(o),s),{chunkIds:m}=await h({data:t,uploadFn:l,batchId:d});await u({commitFn:i,batchId:d,data:t,headers:a,chunkIds:m})},c=({filename:t,collection:a,token:o,fullPath:s,encoding:e,description:n})=>({collection:a,full_path:s,name:t,token:p(o),encoding_type:p(e),description:p(n)}),u=async({commitFn:t,batchId:a,chunkIds:o,headers:s,data:e})=>{let n=s.find(([l,i])=>l.toLowerCase()==="content-type")===void 0&&e.type!==void 0&&e.type!==""?[["Content-Type",e.type]]:void 0;await t({batch_id:a,chunk_ids:o.map(({chunk_id:l})=>l),headers:[...s,...n??[]]})},h=async({data:t,uploadFn:a,batchId:o})=>{let s=[],e=k()?new Blob([await t.arrayBuffer()]):t,n=0n;for(let i=0;i<e.size;i+=19e5){let d=e.slice(i,i+19e5);s.push({batchId:o,chunk:d,uploadFn:a,orderId:n}),n++}let l=[];for await(let i of y({uploadChunks:s}))l=[...l,...i];return{chunkIds:l}};async function*y({uploadChunks:t,limit:a=12}){for(let o=0;o<t.length;o=o+a){let s=t.slice(o,o+a);yield await Promise.all(s.map(n=>C(n)))}}var C=async({batchId:t,chunk:a,uploadFn:o,orderId:s})=>o({batch_id:t,content:new Uint8Array(await a.arrayBuffer()),order_id:p(s)});export{b as uploadAsset,P as uploadAssetWithProposal};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"sourcesContent": ["import {toNullable} from '@dfinity/utils';\nimport {
|
|
5
|
-
"mappings": "AAAA,OAAQ,cAAAA,MAAiB,
|
|
6
|
-
"names": ["toNullable", "isBrowser", "uploadAsset", "data", "headers", "restAsset", "actor", "init_asset_upload", "upload_asset_chunk", "commit_asset_upload", "batchId", "mapInitAssetUploadParams", "chunkIds", "uploadChunks", "commitAsset", "uploadAssetWithProposal", "proposalId", "init_proposal_asset_upload", "upload_proposal_asset_chunk", "commit_proposal_asset_upload", "filename", "collection", "token", "fullPath", "encoding", "description", "commitFn", "contentType", "type", "_", "chunk_id", "uploadFn", "clone", "orderId", "start", "chunk", "results", "batchUploadChunks", "limit", "i", "batch", "params", "uploadChunk"]
|
|
3
|
+
"sources": ["../../src/services/upload.services.ts"],
|
|
4
|
+
"sourcesContent": ["import {toNullable} from '@dfinity/utils';\nimport type {ConsoleDid, SatelliteDid} from '@junobuild/ic-client';\nimport {isBrowser} from '@junobuild/utils';\nimport {UPLOAD_CHUNK_SIZE} from '../constants/upload.constants';\nimport type {EncodingType} from '../types/storage';\nimport type {UploadAsset, UploadAssetActor, UploadAssetWithProposalActor} from '../types/upload';\n\ntype InitAssetKey = SatelliteDid.InitAssetKey | ConsoleDid.InitAssetKey;\ntype UploadChunk = SatelliteDid.UploadChunk | ConsoleDid.UploadChunk;\ntype CommitBatch = SatelliteDid.CommitBatch | ConsoleDid.CommitBatch;\n\nexport const uploadAsset = async ({\n asset: {data, headers, ...restAsset},\n actor\n}: {\n asset: UploadAsset;\n actor: UploadAssetActor;\n}): Promise<void> => {\n const {init_asset_upload, upload_asset_chunk, commit_asset_upload} = actor;\n\n const {batch_id: batchId} = await init_asset_upload(mapInitAssetUploadParams(restAsset));\n\n const {chunkIds} = await uploadChunks({data, uploadFn: upload_asset_chunk, batchId});\n\n await commitAsset({\n commitFn: commit_asset_upload,\n batchId,\n data,\n headers,\n chunkIds\n });\n};\n\nexport const uploadAssetWithProposal = async ({\n asset: {data, headers, ...restAsset},\n proposalId,\n actor\n}: {\n asset: UploadAsset;\n proposalId: bigint;\n actor: UploadAssetWithProposalActor;\n}): Promise<void> => {\n const {init_proposal_asset_upload, upload_proposal_asset_chunk, commit_proposal_asset_upload} =\n actor;\n\n const {batch_id: batchId} = await init_proposal_asset_upload(\n mapInitAssetUploadParams(restAsset),\n proposalId\n );\n\n const {chunkIds} = await uploadChunks({data, uploadFn: upload_proposal_asset_chunk, batchId});\n\n await commitAsset({\n commitFn: commit_proposal_asset_upload,\n batchId,\n data,\n headers,\n chunkIds\n });\n};\n\nconst mapInitAssetUploadParams = ({\n filename,\n collection,\n token,\n fullPath,\n encoding,\n description\n}: Omit<UploadAsset, 'headers' | 'data'>): InitAssetKey => ({\n collection,\n full_path: fullPath,\n name: filename,\n token: toNullable<string>(token),\n encoding_type: toNullable<EncodingType>(encoding),\n description: toNullable(description)\n});\n\nconst commitAsset = async ({\n commitFn,\n batchId,\n chunkIds,\n headers,\n data\n}: {\n commitFn: (commitBatch: CommitBatch) => Promise<void>;\n batchId: bigint;\n chunkIds: UploadChunkResult[];\n} & Pick<UploadAsset, 'headers' | 'data'>) => {\n const contentType: [[string, string]] | undefined =\n headers.find(([type, _]) => type.toLowerCase() === 'content-type') === undefined &&\n data.type !== undefined &&\n data.type !== ''\n ? [['Content-Type', data.type]]\n : undefined;\n\n await commitFn({\n batch_id: batchId,\n chunk_ids: chunkIds.map(({chunk_id}: UploadChunkResult) => chunk_id),\n headers: [...headers, ...(contentType ?? [])]\n });\n};\n\nconst uploadChunks = async ({\n data,\n uploadFn,\n batchId\n}: {\n batchId: bigint;\n} & Pick<UploadAsset, 'data'> &\n Pick<UploadChunkParams, 'uploadFn'>): Promise<{chunkIds: UploadChunkResult[]}> => {\n const uploadChunks: UploadChunkParams[] = [];\n\n // Prevent transforming chunk to arrayBuffer error: The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.\n const clone: Blob = isBrowser() ? new Blob([await data.arrayBuffer()]) : data;\n\n // Split data into chunks\n let orderId = 0n;\n for (let start = 0; start < clone.size; start += UPLOAD_CHUNK_SIZE) {\n const chunk: Blob = clone.slice(start, start + UPLOAD_CHUNK_SIZE);\n\n uploadChunks.push({\n batchId,\n chunk,\n uploadFn,\n orderId\n });\n\n orderId++;\n }\n\n // Upload chunks to the IC in batch - i.e. 12 chunks uploaded at a time.\n let chunkIds: UploadChunkResult[] = [];\n for await (const results of batchUploadChunks({uploadChunks})) {\n chunkIds = [...chunkIds, ...results];\n }\n\n return {chunkIds};\n};\n\nasync function* batchUploadChunks({\n uploadChunks,\n limit = 12\n}: {\n uploadChunks: UploadChunkParams[];\n limit?: number;\n}): AsyncGenerator<UploadChunkResult[], void> {\n for (let i = 0; i < uploadChunks.length; i = i + limit) {\n const batch = uploadChunks.slice(i, i + limit);\n const result = await Promise.all(batch.map((params) => uploadChunk(params)));\n yield result;\n }\n}\n\ninterface UploadChunkResult {\n chunk_id: bigint;\n}\n\ninterface UploadChunkParams {\n batchId: bigint;\n chunk: Blob;\n uploadFn: (uploadChunk: UploadChunk) => Promise<UploadChunkResult>;\n orderId: bigint;\n}\n\nconst uploadChunk = async ({\n batchId,\n chunk,\n uploadFn,\n orderId\n}: UploadChunkParams): Promise<UploadChunkResult> =>\n uploadFn({\n batch_id: batchId,\n content: new Uint8Array(await chunk.arrayBuffer()),\n order_id: toNullable(orderId)\n });\n"],
|
|
5
|
+
"mappings": "AAAA,OAAQ,cAAAA,MAAiB,iBAEzB,OAAQ,aAAAC,MAAgB,mBASjB,IAAMC,EAAc,MAAO,CAChC,MAAO,CAAC,KAAAC,EAAM,QAAAC,EAAS,GAAGC,CAAS,EACnC,MAAAC,CACF,IAGqB,CACnB,GAAM,CAAC,kBAAAC,EAAmB,mBAAAC,EAAoB,oBAAAC,CAAmB,EAAIH,EAE/D,CAAC,SAAUI,CAAO,EAAI,MAAMH,EAAkBI,EAAyBN,CAAS,CAAC,EAEjF,CAAC,SAAAO,CAAQ,EAAI,MAAMC,EAAa,CAAC,KAAAV,EAAM,SAAUK,EAAoB,QAAAE,CAAO,CAAC,EAEnF,MAAMI,EAAY,CAChB,SAAUL,EACV,QAAAC,EACA,KAAAP,EACA,QAAAC,EACA,SAAAQ,CACF,CAAC,CACH,EAEaG,EAA0B,MAAO,CAC5C,MAAO,CAAC,KAAAZ,EAAM,QAAAC,EAAS,GAAGC,CAAS,EACnC,WAAAW,EACA,MAAAV,CACF,IAIqB,CACnB,GAAM,CAAC,2BAAAW,EAA4B,4BAAAC,EAA6B,6BAAAC,CAA4B,EAC1Fb,EAEI,CAAC,SAAUI,CAAO,EAAI,MAAMO,EAChCN,EAAyBN,CAAS,EAClCW,CACF,EAEM,CAAC,SAAAJ,CAAQ,EAAI,MAAMC,EAAa,CAAC,KAAAV,EAAM,SAAUe,EAA6B,QAAAR,CAAO,CAAC,EAE5F,MAAMI,EAAY,CAChB,SAAUK,EACV,QAAAT,EACA,KAAAP,EACA,QAAAC,EACA,SAAAQ,CACF,CAAC,CACH,EAEMD,EAA2B,CAAC,CAChC,SAAAS,EACA,WAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,YAAAC,CACF,KAA4D,CAC1D,WAAAJ,EACA,UAAWE,EACX,KAAMH,EACN,MAAOM,EAAmBJ,CAAK,EAC/B,cAAeI,EAAyBF,CAAQ,EAChD,YAAaE,EAAWD,CAAW,CACrC,GAEMX,EAAc,MAAO,CACzB,SAAAa,EACA,QAAAjB,EACA,SAAAE,EACA,QAAAR,EACA,KAAAD,CACF,IAI8C,CAC5C,IAAMyB,EACJxB,EAAQ,KAAK,CAAC,CAACyB,EAAMC,CAAC,IAAMD,EAAK,YAAY,IAAM,cAAc,IAAM,QACvE1B,EAAK,OAAS,QACdA,EAAK,OAAS,GACV,CAAC,CAAC,eAAgBA,EAAK,IAAI,CAAC,EAC5B,OAEN,MAAMwB,EAAS,CACb,SAAUjB,EACV,UAAWE,EAAS,IAAI,CAAC,CAAC,SAAAmB,CAAQ,IAAyBA,CAAQ,EACnE,QAAS,CAAC,GAAG3B,EAAS,GAAIwB,GAAe,CAAC,CAAE,CAC9C,CAAC,CACH,EAEMf,EAAe,MAAO,CAC1B,KAAAV,EACA,SAAA6B,EACA,QAAAtB,CACF,IAGoF,CAClF,IAAMG,EAAoC,CAAC,EAGrCoB,EAAcC,EAAU,EAAI,IAAI,KAAK,CAAC,MAAM/B,EAAK,YAAY,CAAC,CAAC,EAAIA,EAGrEgC,EAAU,GACd,QAASC,EAAQ,EAAGA,EAAQH,EAAM,KAAMG,GAAS,KAAmB,CAClE,IAAMC,EAAcJ,EAAM,MAAMG,EAAOA,EAAQ,IAAiB,EAEhEvB,EAAa,KAAK,CAChB,QAAAH,EACA,MAAA2B,EACA,SAAAL,EACA,QAAAG,CACF,CAAC,EAEDA,GACF,CAGA,IAAIvB,EAAgC,CAAC,EACrC,cAAiB0B,KAAWC,EAAkB,CAAC,aAAA1B,CAAY,CAAC,EAC1DD,EAAW,CAAC,GAAGA,EAAU,GAAG0B,CAAO,EAGrC,MAAO,CAAC,SAAA1B,CAAQ,CAClB,EAEA,eAAgB2B,EAAkB,CAChC,aAAA1B,EACA,MAAA2B,EAAQ,EACV,EAG8C,CAC5C,QAASC,EAAI,EAAGA,EAAI5B,EAAa,OAAQ4B,EAAIA,EAAID,EAAO,CACtD,IAAME,EAAQ7B,EAAa,MAAM4B,EAAGA,EAAID,CAAK,EAE7C,MADe,MAAM,QAAQ,IAAIE,EAAM,IAAKC,GAAWC,EAAYD,CAAM,CAAC,CAAC,CAE7E,CACF,CAaA,IAAMC,EAAc,MAAO,CACzB,QAAAlC,EACA,MAAA2B,EACA,SAAAL,EACA,QAAAG,CACF,IACEH,EAAS,CACP,SAAUtB,EACV,QAAS,IAAI,WAAW,MAAM2B,EAAM,YAAY,CAAC,EACjD,SAAUX,EAAWS,CAAO,CAC9B,CAAC",
|
|
6
|
+
"names": ["toNullable", "isBrowser", "uploadAsset", "data", "headers", "restAsset", "actor", "init_asset_upload", "upload_asset_chunk", "commit_asset_upload", "batchId", "mapInitAssetUploadParams", "chunkIds", "uploadChunks", "commitAsset", "uploadAssetWithProposal", "proposalId", "init_proposal_asset_upload", "upload_proposal_asset_chunk", "commit_proposal_asset_upload", "filename", "collection", "token", "fullPath", "encoding", "description", "toNullable", "commitFn", "contentType", "type", "_", "chunk_id", "uploadFn", "clone", "isBrowser", "orderId", "start", "chunk", "results", "batchUploadChunks", "limit", "i", "batch", "params", "uploadChunk"]
|
|
7
7
|
}
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
import{toNullable as p}from"@dfinity/utils";import{isBrowser as
|
|
3
|
+
import{toNullable as p}from"@dfinity/utils";import{isBrowser as k}from"@junobuild/utils";var b=async({asset:{data:t,headers:a,...o},actor:s})=>{let{init_asset_upload:e,upload_asset_chunk:n,commit_asset_upload:l}=s,{batch_id:i}=await e(c(o)),{chunkIds:d}=await h({data:t,uploadFn:n,batchId:i});await u({commitFn:l,batchId:i,data:t,headers:a,chunkIds:d})},P=async({asset:{data:t,headers:a,...o},proposalId:s,actor:e})=>{let{init_proposal_asset_upload:n,upload_proposal_asset_chunk:l,commit_proposal_asset_upload:i}=e,{batch_id:d}=await n(c(o),s),{chunkIds:m}=await h({data:t,uploadFn:l,batchId:d});await u({commitFn:i,batchId:d,data:t,headers:a,chunkIds:m})},c=({filename:t,collection:a,token:o,fullPath:s,encoding:e,description:n})=>({collection:a,full_path:s,name:t,token:p(o),encoding_type:p(e),description:p(n)}),u=async({commitFn:t,batchId:a,chunkIds:o,headers:s,data:e})=>{let n=s.find(([l,i])=>l.toLowerCase()==="content-type")===void 0&&e.type!==void 0&&e.type!==""?[["Content-Type",e.type]]:void 0;await t({batch_id:a,chunk_ids:o.map(({chunk_id:l})=>l),headers:[...s,...n??[]]})},h=async({data:t,uploadFn:a,batchId:o})=>{let s=[],e=k()?new Blob([await t.arrayBuffer()]):t,n=0n;for(let i=0;i<e.size;i+=19e5){let d=e.slice(i,i+19e5);s.push({batchId:o,chunk:d,uploadFn:a,orderId:n}),n++}let l=[];for await(let i of y({uploadChunks:s}))l=[...l,...i];return{chunkIds:l}};async function*y({uploadChunks:t,limit:a=12}){for(let o=0;o<t.length;o=o+a){let s=t.slice(o,o+a);yield await Promise.all(s.map(n=>C(n)))}}var C=async({batchId:t,chunk:a,uploadFn:o,orderId:s})=>o({batch_id:t,content:new Uint8Array(await a.arrayBuffer()),order_id:p(s)});export{b as uploadAsset,P as uploadAssetWithProposal};
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"sourcesContent": ["import {toNullable} from '@dfinity/utils';\nimport {
|
|
5
|
-
"mappings": ";;AAAA,OAAQ,cAAAA,MAAiB,
|
|
6
|
-
"names": ["toNullable", "isBrowser", "uploadAsset", "data", "headers", "restAsset", "actor", "init_asset_upload", "upload_asset_chunk", "commit_asset_upload", "batchId", "mapInitAssetUploadParams", "chunkIds", "uploadChunks", "commitAsset", "uploadAssetWithProposal", "proposalId", "init_proposal_asset_upload", "upload_proposal_asset_chunk", "commit_proposal_asset_upload", "filename", "collection", "token", "fullPath", "encoding", "description", "commitFn", "contentType", "type", "_", "chunk_id", "uploadFn", "clone", "orderId", "start", "chunk", "results", "batchUploadChunks", "limit", "i", "batch", "params", "uploadChunk"]
|
|
3
|
+
"sources": ["../../src/services/upload.services.ts"],
|
|
4
|
+
"sourcesContent": ["import {toNullable} from '@dfinity/utils';\nimport type {ConsoleDid, SatelliteDid} from '@junobuild/ic-client';\nimport {isBrowser} from '@junobuild/utils';\nimport {UPLOAD_CHUNK_SIZE} from '../constants/upload.constants';\nimport type {EncodingType} from '../types/storage';\nimport type {UploadAsset, UploadAssetActor, UploadAssetWithProposalActor} from '../types/upload';\n\ntype InitAssetKey = SatelliteDid.InitAssetKey | ConsoleDid.InitAssetKey;\ntype UploadChunk = SatelliteDid.UploadChunk | ConsoleDid.UploadChunk;\ntype CommitBatch = SatelliteDid.CommitBatch | ConsoleDid.CommitBatch;\n\nexport const uploadAsset = async ({\n asset: {data, headers, ...restAsset},\n actor\n}: {\n asset: UploadAsset;\n actor: UploadAssetActor;\n}): Promise<void> => {\n const {init_asset_upload, upload_asset_chunk, commit_asset_upload} = actor;\n\n const {batch_id: batchId} = await init_asset_upload(mapInitAssetUploadParams(restAsset));\n\n const {chunkIds} = await uploadChunks({data, uploadFn: upload_asset_chunk, batchId});\n\n await commitAsset({\n commitFn: commit_asset_upload,\n batchId,\n data,\n headers,\n chunkIds\n });\n};\n\nexport const uploadAssetWithProposal = async ({\n asset: {data, headers, ...restAsset},\n proposalId,\n actor\n}: {\n asset: UploadAsset;\n proposalId: bigint;\n actor: UploadAssetWithProposalActor;\n}): Promise<void> => {\n const {init_proposal_asset_upload, upload_proposal_asset_chunk, commit_proposal_asset_upload} =\n actor;\n\n const {batch_id: batchId} = await init_proposal_asset_upload(\n mapInitAssetUploadParams(restAsset),\n proposalId\n );\n\n const {chunkIds} = await uploadChunks({data, uploadFn: upload_proposal_asset_chunk, batchId});\n\n await commitAsset({\n commitFn: commit_proposal_asset_upload,\n batchId,\n data,\n headers,\n chunkIds\n });\n};\n\nconst mapInitAssetUploadParams = ({\n filename,\n collection,\n token,\n fullPath,\n encoding,\n description\n}: Omit<UploadAsset, 'headers' | 'data'>): InitAssetKey => ({\n collection,\n full_path: fullPath,\n name: filename,\n token: toNullable<string>(token),\n encoding_type: toNullable<EncodingType>(encoding),\n description: toNullable(description)\n});\n\nconst commitAsset = async ({\n commitFn,\n batchId,\n chunkIds,\n headers,\n data\n}: {\n commitFn: (commitBatch: CommitBatch) => Promise<void>;\n batchId: bigint;\n chunkIds: UploadChunkResult[];\n} & Pick<UploadAsset, 'headers' | 'data'>) => {\n const contentType: [[string, string]] | undefined =\n headers.find(([type, _]) => type.toLowerCase() === 'content-type') === undefined &&\n data.type !== undefined &&\n data.type !== ''\n ? [['Content-Type', data.type]]\n : undefined;\n\n await commitFn({\n batch_id: batchId,\n chunk_ids: chunkIds.map(({chunk_id}: UploadChunkResult) => chunk_id),\n headers: [...headers, ...(contentType ?? [])]\n });\n};\n\nconst uploadChunks = async ({\n data,\n uploadFn,\n batchId\n}: {\n batchId: bigint;\n} & Pick<UploadAsset, 'data'> &\n Pick<UploadChunkParams, 'uploadFn'>): Promise<{chunkIds: UploadChunkResult[]}> => {\n const uploadChunks: UploadChunkParams[] = [];\n\n // Prevent transforming chunk to arrayBuffer error: The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.\n const clone: Blob = isBrowser() ? new Blob([await data.arrayBuffer()]) : data;\n\n // Split data into chunks\n let orderId = 0n;\n for (let start = 0; start < clone.size; start += UPLOAD_CHUNK_SIZE) {\n const chunk: Blob = clone.slice(start, start + UPLOAD_CHUNK_SIZE);\n\n uploadChunks.push({\n batchId,\n chunk,\n uploadFn,\n orderId\n });\n\n orderId++;\n }\n\n // Upload chunks to the IC in batch - i.e. 12 chunks uploaded at a time.\n let chunkIds: UploadChunkResult[] = [];\n for await (const results of batchUploadChunks({uploadChunks})) {\n chunkIds = [...chunkIds, ...results];\n }\n\n return {chunkIds};\n};\n\nasync function* batchUploadChunks({\n uploadChunks,\n limit = 12\n}: {\n uploadChunks: UploadChunkParams[];\n limit?: number;\n}): AsyncGenerator<UploadChunkResult[], void> {\n for (let i = 0; i < uploadChunks.length; i = i + limit) {\n const batch = uploadChunks.slice(i, i + limit);\n const result = await Promise.all(batch.map((params) => uploadChunk(params)));\n yield result;\n }\n}\n\ninterface UploadChunkResult {\n chunk_id: bigint;\n}\n\ninterface UploadChunkParams {\n batchId: bigint;\n chunk: Blob;\n uploadFn: (uploadChunk: UploadChunk) => Promise<UploadChunkResult>;\n orderId: bigint;\n}\n\nconst uploadChunk = async ({\n batchId,\n chunk,\n uploadFn,\n orderId\n}: UploadChunkParams): Promise<UploadChunkResult> =>\n uploadFn({\n batch_id: batchId,\n content: new Uint8Array(await chunk.arrayBuffer()),\n order_id: toNullable(orderId)\n });\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["toNullable", "isBrowser", "uploadAsset", "data", "headers", "restAsset", "actor", "init_asset_upload", "upload_asset_chunk", "commit_asset_upload", "batchId", "mapInitAssetUploadParams", "chunkIds", "uploadChunks", "commitAsset", "uploadAssetWithProposal", "proposalId", "init_proposal_asset_upload", "upload_proposal_asset_chunk", "commit_proposal_asset_upload", "filename", "collection", "token", "fullPath", "encoding", "description", "toNullable", "commitFn", "contentType", "type", "_", "chunk_id", "uploadFn", "clone", "isBrowser", "orderId", "start", "chunk", "results", "batchUploadChunks", "limit", "i", "batch", "params", "uploadChunk"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UPLOAD_CHUNK_SIZE = 1900000;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export type * from './types/storage
|
|
1
|
+
export * from './services/upload.services';
|
|
2
|
+
export type * from './types/storage';
|
|
3
|
+
export type * from './types/upload';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { UploadAsset, UploadAssetActor, UploadAssetWithProposalActor } from '../types/upload';
|
|
2
|
+
export declare const uploadAsset: ({ asset: { data, headers, ...restAsset }, actor }: {
|
|
3
|
+
asset: UploadAsset;
|
|
4
|
+
actor: UploadAssetActor;
|
|
5
|
+
}) => Promise<void>;
|
|
6
|
+
export declare const uploadAssetWithProposal: ({ asset: { data, headers, ...restAsset }, proposalId, actor }: {
|
|
7
|
+
asset: UploadAsset;
|
|
8
|
+
proposalId: bigint;
|
|
9
|
+
actor: UploadAssetWithProposalActor;
|
|
10
|
+
}) => Promise<void>;
|
|
@@ -68,9 +68,9 @@ export interface Asset extends AssetKey {
|
|
|
68
68
|
headers: [string, string][];
|
|
69
69
|
/**
|
|
70
70
|
* The encodings of the asset.
|
|
71
|
-
* @type {Record<EncodingType, AssetEncoding
|
|
71
|
+
* @type {Partial<Record<EncodingType, AssetEncoding>>}
|
|
72
72
|
*/
|
|
73
|
-
encodings: Record<EncodingType, AssetEncoding
|
|
73
|
+
encodings: Partial<Record<EncodingType, AssetEncoding>>;
|
|
74
74
|
/**
|
|
75
75
|
* The owner of the asset.
|
|
76
76
|
* @type {string}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ConsoleActor, SatelliteActor } from '@junobuild/ic-client';
|
|
2
|
+
import type { Storage } from './storage';
|
|
3
|
+
export type UploadAsset = Required<Omit<Storage, 'token' | 'encoding' | 'description'>> & Pick<Storage, 'token' | 'encoding' | 'description'>;
|
|
4
|
+
export type UploadAssetActor = SatelliteActor;
|
|
5
|
+
export type UploadAssetWithProposalActor = ConsoleActor | SatelliteActor;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@junobuild/storage",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A library for interfacing with Juno's Storage features.",
|
|
5
5
|
"author": "David Dal Busco (https://daviddalbusco.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"scripts": {
|
|
29
29
|
"rmdir": "node ../../scripts/rmdir.mjs",
|
|
30
30
|
"ts-declaration": "tsc --emitDeclarationOnly --outDir dist/types",
|
|
31
|
-
"build": "npm run rmdir && mkdir -p dist &&
|
|
31
|
+
"build": "npm run rmdir && mkdir -p dist && node esbuild.mjs && npm run ts-declaration",
|
|
32
32
|
"prepack": "npm run build"
|
|
33
33
|
},
|
|
34
34
|
"repository": {
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"@dfinity/identity": "^2.3.0",
|
|
53
53
|
"@dfinity/principal": "^2.3.0",
|
|
54
54
|
"@dfinity/utils": "^2",
|
|
55
|
+
"@junobuild/ic-client": "^1",
|
|
55
56
|
"@junobuild/utils": "*"
|
|
56
57
|
}
|
|
57
58
|
}
|
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
import type {ActorMethod} from '@dfinity/agent';
|
|
2
|
-
import type {IDL} from '@dfinity/candid';
|
|
3
|
-
import type {Principal} from '@dfinity/principal';
|
|
4
|
-
|
|
5
|
-
export interface AssertMissionControlCenterArgs {
|
|
6
|
-
mission_control_id: Principal;
|
|
7
|
-
user: Principal;
|
|
8
|
-
}
|
|
9
|
-
export interface AssetEncodingNoContent {
|
|
10
|
-
modified: bigint;
|
|
11
|
-
sha256: Uint8Array | number[];
|
|
12
|
-
total_length: bigint;
|
|
13
|
-
}
|
|
14
|
-
export interface AssetKey {
|
|
15
|
-
token: [] | [string];
|
|
16
|
-
collection: string;
|
|
17
|
-
owner: Principal;
|
|
18
|
-
name: string;
|
|
19
|
-
description: [] | [string];
|
|
20
|
-
full_path: string;
|
|
21
|
-
}
|
|
22
|
-
export interface AssetNoContent {
|
|
23
|
-
key: AssetKey;
|
|
24
|
-
updated_at: bigint;
|
|
25
|
-
encodings: Array<[string, AssetEncodingNoContent]>;
|
|
26
|
-
headers: Array<[string, string]>;
|
|
27
|
-
created_at: bigint;
|
|
28
|
-
version: [] | [bigint];
|
|
29
|
-
}
|
|
30
|
-
export interface AssetsUpgradeOptions {
|
|
31
|
-
clear_existing_assets: [] | [boolean];
|
|
32
|
-
}
|
|
33
|
-
export interface CommitBatch {
|
|
34
|
-
batch_id: bigint;
|
|
35
|
-
headers: Array<[string, string]>;
|
|
36
|
-
chunk_ids: Array<bigint>;
|
|
37
|
-
}
|
|
38
|
-
export interface CommitProposal {
|
|
39
|
-
sha256: Uint8Array | number[];
|
|
40
|
-
proposal_id: bigint;
|
|
41
|
-
}
|
|
42
|
-
export interface Config {
|
|
43
|
-
storage: StorageConfig;
|
|
44
|
-
}
|
|
45
|
-
export interface ConfigMaxMemorySize {
|
|
46
|
-
stable: [] | [bigint];
|
|
47
|
-
heap: [] | [bigint];
|
|
48
|
-
}
|
|
49
|
-
export interface Controller {
|
|
50
|
-
updated_at: bigint;
|
|
51
|
-
metadata: Array<[string, string]>;
|
|
52
|
-
created_at: bigint;
|
|
53
|
-
scope: ControllerScope;
|
|
54
|
-
expires_at: [] | [bigint];
|
|
55
|
-
}
|
|
56
|
-
export type ControllerScope = {Write: null} | {Admin: null} | {Submit: null};
|
|
57
|
-
export interface CreateCanisterArgs {
|
|
58
|
-
block_index: [] | [bigint];
|
|
59
|
-
subnet_id: [] | [Principal];
|
|
60
|
-
user: Principal;
|
|
61
|
-
}
|
|
62
|
-
export interface CustomDomain {
|
|
63
|
-
updated_at: bigint;
|
|
64
|
-
created_at: bigint;
|
|
65
|
-
version: [] | [bigint];
|
|
66
|
-
bn_id: [] | [string];
|
|
67
|
-
}
|
|
68
|
-
export interface DeleteControllersArgs {
|
|
69
|
-
controllers: Array<Principal>;
|
|
70
|
-
}
|
|
71
|
-
export interface DeleteProposalAssets {
|
|
72
|
-
proposal_ids: Array<bigint>;
|
|
73
|
-
}
|
|
74
|
-
export interface GetCreateCanisterFeeArgs {
|
|
75
|
-
user: Principal;
|
|
76
|
-
}
|
|
77
|
-
export interface HttpRequest {
|
|
78
|
-
url: string;
|
|
79
|
-
method: string;
|
|
80
|
-
body: Uint8Array | number[];
|
|
81
|
-
headers: Array<[string, string]>;
|
|
82
|
-
certificate_version: [] | [number];
|
|
83
|
-
}
|
|
84
|
-
export interface HttpResponse {
|
|
85
|
-
body: Uint8Array | number[];
|
|
86
|
-
headers: Array<[string, string]>;
|
|
87
|
-
streaming_strategy: [] | [StreamingStrategy];
|
|
88
|
-
status_code: number;
|
|
89
|
-
}
|
|
90
|
-
export interface InitAssetKey {
|
|
91
|
-
token: [] | [string];
|
|
92
|
-
collection: string;
|
|
93
|
-
name: string;
|
|
94
|
-
description: [] | [string];
|
|
95
|
-
encoding_type: [] | [string];
|
|
96
|
-
full_path: string;
|
|
97
|
-
}
|
|
98
|
-
export interface InitUploadResult {
|
|
99
|
-
batch_id: bigint;
|
|
100
|
-
}
|
|
101
|
-
export interface ListMatcher {
|
|
102
|
-
key: [] | [string];
|
|
103
|
-
updated_at: [] | [TimestampMatcher];
|
|
104
|
-
description: [] | [string];
|
|
105
|
-
created_at: [] | [TimestampMatcher];
|
|
106
|
-
}
|
|
107
|
-
export interface ListOrder {
|
|
108
|
-
field: ListOrderField;
|
|
109
|
-
desc: boolean;
|
|
110
|
-
}
|
|
111
|
-
export type ListOrderField = {UpdatedAt: null} | {Keys: null} | {CreatedAt: null};
|
|
112
|
-
export interface ListPaginate {
|
|
113
|
-
start_after: [] | [string];
|
|
114
|
-
limit: [] | [bigint];
|
|
115
|
-
}
|
|
116
|
-
export interface ListParams {
|
|
117
|
-
order: [] | [ListOrder];
|
|
118
|
-
owner: [] | [Principal];
|
|
119
|
-
matcher: [] | [ListMatcher];
|
|
120
|
-
paginate: [] | [ListPaginate];
|
|
121
|
-
}
|
|
122
|
-
export interface ListProposalResults {
|
|
123
|
-
matches_length: bigint;
|
|
124
|
-
items: Array<[ProposalKey, Proposal]>;
|
|
125
|
-
items_length: bigint;
|
|
126
|
-
}
|
|
127
|
-
export interface ListProposalsOrder {
|
|
128
|
-
desc: boolean;
|
|
129
|
-
}
|
|
130
|
-
export interface ListProposalsPaginate {
|
|
131
|
-
start_after: [] | [bigint];
|
|
132
|
-
limit: [] | [bigint];
|
|
133
|
-
}
|
|
134
|
-
export interface ListProposalsParams {
|
|
135
|
-
order: [] | [ListProposalsOrder];
|
|
136
|
-
paginate: [] | [ListProposalsPaginate];
|
|
137
|
-
}
|
|
138
|
-
export interface ListResults {
|
|
139
|
-
matches_pages: [] | [bigint];
|
|
140
|
-
matches_length: bigint;
|
|
141
|
-
items_page: [] | [bigint];
|
|
142
|
-
items: Array<[string, AssetNoContent]>;
|
|
143
|
-
items_length: bigint;
|
|
144
|
-
}
|
|
145
|
-
export type Memory = {Heap: null} | {Stable: null};
|
|
146
|
-
export interface MissionControl {
|
|
147
|
-
updated_at: bigint;
|
|
148
|
-
credits: Tokens;
|
|
149
|
-
mission_control_id: [] | [Principal];
|
|
150
|
-
owner: Principal;
|
|
151
|
-
created_at: bigint;
|
|
152
|
-
}
|
|
153
|
-
export interface Payment {
|
|
154
|
-
status: PaymentStatus;
|
|
155
|
-
updated_at: bigint;
|
|
156
|
-
block_index_payment: bigint;
|
|
157
|
-
mission_control_id: [] | [Principal];
|
|
158
|
-
created_at: bigint;
|
|
159
|
-
block_index_refunded: [] | [bigint];
|
|
160
|
-
}
|
|
161
|
-
export type PaymentStatus = {Refunded: null} | {Acknowledged: null} | {Completed: null};
|
|
162
|
-
export interface Proposal {
|
|
163
|
-
status: ProposalStatus;
|
|
164
|
-
updated_at: bigint;
|
|
165
|
-
sha256: [] | [Uint8Array | number[]];
|
|
166
|
-
executed_at: [] | [bigint];
|
|
167
|
-
owner: Principal;
|
|
168
|
-
created_at: bigint;
|
|
169
|
-
version: [] | [bigint];
|
|
170
|
-
proposal_type: ProposalType;
|
|
171
|
-
}
|
|
172
|
-
export interface ProposalKey {
|
|
173
|
-
proposal_id: bigint;
|
|
174
|
-
}
|
|
175
|
-
export type ProposalStatus =
|
|
176
|
-
| {Initialized: null}
|
|
177
|
-
| {Failed: null}
|
|
178
|
-
| {Open: null}
|
|
179
|
-
| {Rejected: null}
|
|
180
|
-
| {Executed: null}
|
|
181
|
-
| {Accepted: null};
|
|
182
|
-
export type ProposalType =
|
|
183
|
-
| {AssetsUpgrade: AssetsUpgradeOptions}
|
|
184
|
-
| {SegmentsDeployment: SegmentsDeploymentOptions};
|
|
185
|
-
export interface RateConfig {
|
|
186
|
-
max_tokens: bigint;
|
|
187
|
-
time_per_token_ns: bigint;
|
|
188
|
-
}
|
|
189
|
-
export type SegmentKind = {Orbiter: null} | {MissionControl: null} | {Satellite: null};
|
|
190
|
-
export interface SegmentsDeploymentOptions {
|
|
191
|
-
orbiter: [] | [string];
|
|
192
|
-
mission_control_version: [] | [string];
|
|
193
|
-
satellite_version: [] | [string];
|
|
194
|
-
}
|
|
195
|
-
export interface SetController {
|
|
196
|
-
metadata: Array<[string, string]>;
|
|
197
|
-
scope: ControllerScope;
|
|
198
|
-
expires_at: [] | [bigint];
|
|
199
|
-
}
|
|
200
|
-
export interface SetControllersArgs {
|
|
201
|
-
controller: SetController;
|
|
202
|
-
controllers: Array<Principal>;
|
|
203
|
-
}
|
|
204
|
-
export interface SetStorageConfig {
|
|
205
|
-
iframe: [] | [StorageConfigIFrame];
|
|
206
|
-
rewrites: Array<[string, string]>;
|
|
207
|
-
headers: Array<[string, Array<[string, string]>]>;
|
|
208
|
-
version: [] | [bigint];
|
|
209
|
-
max_memory_size: [] | [ConfigMaxMemorySize];
|
|
210
|
-
raw_access: [] | [StorageConfigRawAccess];
|
|
211
|
-
redirects: [] | [Array<[string, StorageConfigRedirect]>];
|
|
212
|
-
}
|
|
213
|
-
export interface StorageConfig {
|
|
214
|
-
iframe: [] | [StorageConfigIFrame];
|
|
215
|
-
updated_at: [] | [bigint];
|
|
216
|
-
rewrites: Array<[string, string]>;
|
|
217
|
-
headers: Array<[string, Array<[string, string]>]>;
|
|
218
|
-
created_at: [] | [bigint];
|
|
219
|
-
version: [] | [bigint];
|
|
220
|
-
max_memory_size: [] | [ConfigMaxMemorySize];
|
|
221
|
-
raw_access: [] | [StorageConfigRawAccess];
|
|
222
|
-
redirects: [] | [Array<[string, StorageConfigRedirect]>];
|
|
223
|
-
}
|
|
224
|
-
export type StorageConfigIFrame = {Deny: null} | {AllowAny: null} | {SameOrigin: null};
|
|
225
|
-
export type StorageConfigRawAccess = {Deny: null} | {Allow: null};
|
|
226
|
-
export interface StorageConfigRedirect {
|
|
227
|
-
status_code: number;
|
|
228
|
-
location: string;
|
|
229
|
-
}
|
|
230
|
-
export interface StreamingCallbackHttpResponse {
|
|
231
|
-
token: [] | [StreamingCallbackToken];
|
|
232
|
-
body: Uint8Array | number[];
|
|
233
|
-
}
|
|
234
|
-
export interface StreamingCallbackToken {
|
|
235
|
-
memory: Memory;
|
|
236
|
-
token: [] | [string];
|
|
237
|
-
sha256: [] | [Uint8Array | number[]];
|
|
238
|
-
headers: Array<[string, string]>;
|
|
239
|
-
index: bigint;
|
|
240
|
-
encoding_type: string;
|
|
241
|
-
full_path: string;
|
|
242
|
-
}
|
|
243
|
-
export type StreamingStrategy = {
|
|
244
|
-
Callback: {
|
|
245
|
-
token: StreamingCallbackToken;
|
|
246
|
-
callback: [Principal, string];
|
|
247
|
-
};
|
|
248
|
-
};
|
|
249
|
-
export type TimestampMatcher =
|
|
250
|
-
| {Equal: bigint}
|
|
251
|
-
| {Between: [bigint, bigint]}
|
|
252
|
-
| {GreaterThan: bigint}
|
|
253
|
-
| {LessThan: bigint};
|
|
254
|
-
export interface Tokens {
|
|
255
|
-
e8s: bigint;
|
|
256
|
-
}
|
|
257
|
-
export interface UploadChunk {
|
|
258
|
-
content: Uint8Array | number[];
|
|
259
|
-
batch_id: bigint;
|
|
260
|
-
order_id: [] | [bigint];
|
|
261
|
-
}
|
|
262
|
-
export interface UploadChunkResult {
|
|
263
|
-
chunk_id: bigint;
|
|
264
|
-
}
|
|
265
|
-
export interface _SERVICE {
|
|
266
|
-
add_credits: ActorMethod<[Principal, Tokens], undefined>;
|
|
267
|
-
add_invitation_code: ActorMethod<[string], undefined>;
|
|
268
|
-
assert_mission_control_center: ActorMethod<[AssertMissionControlCenterArgs], undefined>;
|
|
269
|
-
commit_asset_upload: ActorMethod<[CommitBatch], undefined>;
|
|
270
|
-
commit_proposal: ActorMethod<[CommitProposal], null>;
|
|
271
|
-
commit_proposal_asset_upload: ActorMethod<[CommitBatch], undefined>;
|
|
272
|
-
count_proposals: ActorMethod<[], bigint>;
|
|
273
|
-
create_orbiter: ActorMethod<[CreateCanisterArgs], Principal>;
|
|
274
|
-
create_satellite: ActorMethod<[CreateCanisterArgs], Principal>;
|
|
275
|
-
del_controllers: ActorMethod<[DeleteControllersArgs], undefined>;
|
|
276
|
-
del_custom_domain: ActorMethod<[string], undefined>;
|
|
277
|
-
delete_proposal_assets: ActorMethod<[DeleteProposalAssets], undefined>;
|
|
278
|
-
get_config: ActorMethod<[], Config>;
|
|
279
|
-
get_create_orbiter_fee: ActorMethod<[GetCreateCanisterFeeArgs], [] | [Tokens]>;
|
|
280
|
-
get_create_satellite_fee: ActorMethod<[GetCreateCanisterFeeArgs], [] | [Tokens]>;
|
|
281
|
-
get_credits: ActorMethod<[], Tokens>;
|
|
282
|
-
get_proposal: ActorMethod<[bigint], [] | [Proposal]>;
|
|
283
|
-
get_storage_config: ActorMethod<[], StorageConfig>;
|
|
284
|
-
get_user_mission_control_center: ActorMethod<[], [] | [MissionControl]>;
|
|
285
|
-
http_request: ActorMethod<[HttpRequest], HttpResponse>;
|
|
286
|
-
http_request_streaming_callback: ActorMethod<
|
|
287
|
-
[StreamingCallbackToken],
|
|
288
|
-
StreamingCallbackHttpResponse
|
|
289
|
-
>;
|
|
290
|
-
init_asset_upload: ActorMethod<[InitAssetKey, bigint], InitUploadResult>;
|
|
291
|
-
init_proposal: ActorMethod<[ProposalType], [bigint, Proposal]>;
|
|
292
|
-
init_proposal_asset_upload: ActorMethod<[InitAssetKey, bigint], InitUploadResult>;
|
|
293
|
-
init_user_mission_control_center: ActorMethod<[], MissionControl>;
|
|
294
|
-
list_assets: ActorMethod<[string, ListParams], ListResults>;
|
|
295
|
-
list_controllers: ActorMethod<[], Array<[Principal, Controller]>>;
|
|
296
|
-
list_custom_domains: ActorMethod<[], Array<[string, CustomDomain]>>;
|
|
297
|
-
list_payments: ActorMethod<[], Array<[bigint, Payment]>>;
|
|
298
|
-
list_proposals: ActorMethod<[ListProposalsParams], ListProposalResults>;
|
|
299
|
-
list_user_mission_control_centers: ActorMethod<[], Array<[Principal, MissionControl]>>;
|
|
300
|
-
reject_proposal: ActorMethod<[CommitProposal], null>;
|
|
301
|
-
set_controllers: ActorMethod<[SetControllersArgs], undefined>;
|
|
302
|
-
set_custom_domain: ActorMethod<[string, [] | [string]], undefined>;
|
|
303
|
-
set_fee: ActorMethod<[SegmentKind, Tokens], undefined>;
|
|
304
|
-
set_storage_config: ActorMethod<[SetStorageConfig], StorageConfig>;
|
|
305
|
-
submit_proposal: ActorMethod<[bigint], [bigint, Proposal]>;
|
|
306
|
-
update_rate_config: ActorMethod<[SegmentKind, RateConfig], undefined>;
|
|
307
|
-
upload_asset_chunk: ActorMethod<[UploadChunk], UploadChunkResult>;
|
|
308
|
-
upload_proposal_asset_chunk: ActorMethod<[UploadChunk], UploadChunkResult>;
|
|
309
|
-
}
|
|
310
|
-
export declare const idlFactory: IDL.InterfaceFactory;
|
|
311
|
-
export declare const init: (args: {IDL: typeof IDL}) => IDL.Type[];
|