@junobuild/core-peer 0.0.12 → 0.0.13-next-2024-04-28

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,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../utils/src/utils/debounce.utils.ts", "../../../utils/src/utils/json.utils.ts", "../../../utils/src/utils/null.utils.ts", "../../../utils/src/utils/did.utils.ts", "../../../utils/src/utils/env.utils.ts", "../../src/stores/store.ts", "../../src/stores/auth.store.ts", "../../src/utils/events.utils.ts", "../../src/constants/auth.constants.ts", "../../src/constants/container.constants.ts", "../../src/stores/env.store.ts", "../../src/utils/window.utils.ts", "../../src/providers/auth.providers.ts", "../../src/utils/auth.utils.ts", "../../src/utils/data.utils.ts", "../../src/utils/doc.utils.ts", "../../src/utils/list.utils.ts", "../../declarations/satellite/satellite.factory.did.js", "../../src/utils/actor.utils.ts", "../../src/utils/env.utils.ts", "../../src/api/actor.api.ts", "../../src/api/doc.api.ts", "../../src/services/identity.services.ts", "../../src/services/doc.services.ts", "../../src/services/user.services.ts", "../../src/services/auth.services.ts", "../../src/services/auth-timout.services.ts", "../../src/api/storage.api.ts", "../../src/utils/crypto.utils.ts", "../../src/services/storage.services.ts", "../../src/index.ts"],
4
- "sourcesContent": ["/* eslint-disable-next-line @typescript-eslint/ban-types */\nexport const debounce = (func: Function, timeout?: number) => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n return (...args: unknown[]) => {\n const next = () => func(...args);\n\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(next, timeout !== undefined && timeout > 0 ? timeout : 300);\n };\n};\n", "import {Principal} from '@dfinity/principal';\nimport {nonNullish} from './null.utils';\n\nconst JSON_KEY_BIGINT = '__bigint__';\nconst JSON_KEY_PRINCIPAL = '__principal__';\nconst JSON_KEY_UINT8ARRAY = '__uint8array__';\n\n/**\n * A parser that interprets revived BigInt, Principal, and Uint8Array when constructing JavaScript values or objects.\n */\nexport const jsonReplacer = (_key: string, value: unknown): unknown => {\n if (typeof value === 'bigint') {\n return {[JSON_KEY_BIGINT]: `${value}`};\n }\n\n if (nonNullish(value) && value instanceof Principal) {\n return {[JSON_KEY_PRINCIPAL]: value.toText()};\n }\n\n if (nonNullish(value) && value instanceof Uint8Array) {\n return {[JSON_KEY_UINT8ARRAY]: Array.from(value)};\n }\n\n return value;\n};\n\n/**\n * A function that alters the behavior of the stringification process for BigInt, Principal and Uint8Array.\n */\nexport const jsonReviver = (_key: string, value: unknown): unknown => {\n const mapValue = <T>(key: string): T => (value as Record<string, T>)[key];\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_BIGINT in value) {\n return BigInt(mapValue(JSON_KEY_BIGINT));\n }\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_PRINCIPAL in value) {\n return Principal.fromText(mapValue(JSON_KEY_PRINCIPAL));\n }\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_UINT8ARRAY in value) {\n return Uint8Array.from(mapValue(JSON_KEY_UINT8ARRAY));\n }\n\n return value;\n};\n", "/** Is null or undefined */\nexport const isNullish = <T>(argument: T | undefined | null): argument is undefined | null =>\n argument === null || argument === undefined;\n\n/** Not null and not undefined */\nexport const nonNullish = <T>(argument: T | undefined | null): argument is NonNullable<T> =>\n !isNullish(argument);\n\nexport class NullishError extends Error {}\n\nexport const assertNonNullish: <T>(\n value: T,\n message?: string\n) => asserts value is NonNullable<T> = <T>(value: T, message?: string): void => {\n if (isNullish(value)) {\n throw new NullishError(message);\n }\n};\n", "import {jsonReplacer, jsonReviver} from './json.utils';\nimport {nonNullish} from './null.utils';\n\nexport const toNullable = <T>(value?: T): [] | [T] => {\n return nonNullish(value) ? [value] : [];\n};\n\nexport const fromNullable = <T>(value: [] | [T]): T | undefined => {\n return value?.[0];\n};\n\nexport const toArray = async <T>(data: T): Promise<Uint8Array> => {\n const blob: Blob = new Blob([JSON.stringify(data, jsonReplacer)], {\n type: 'application/json; charset=utf-8'\n });\n return new Uint8Array(await blob.arrayBuffer());\n};\n\nexport const fromArray = async <T>(data: Uint8Array | number[]): Promise<T> => {\n const blob: Blob = new Blob([data instanceof Uint8Array ? data : new Uint8Array(data)], {\n type: 'application/json; charset=utf-8'\n });\n return JSON.parse(await blob.text(), jsonReviver);\n};\n", "export const isBrowser = () => typeof window !== `undefined`;\n", "export abstract class Store<T> {\n private callbacks: {id: symbol; callback: (data: T | null) => void}[] = [];\n\n protected populate(data: T | null) {\n this.callbacks.forEach(({callback}: {id: symbol; callback: (data: T | null) => void}) =>\n callback(data)\n );\n }\n\n subscribe(callback: (data: T | null) => void): () => void {\n const callbackId = Symbol();\n this.callbacks.push({id: callbackId, callback});\n\n return () =>\n (this.callbacks = this.callbacks.filter(\n ({id}: {id: symbol; callback: (data: T | null) => void}) => id !== callbackId\n ));\n }\n}\n", "import type {User} from '../types/auth.types';\nimport type {Unsubscribe} from '../types/subscription.types';\nimport {Store} from './store';\n\nexport class AuthStore extends Store<User | null> {\n private static instance: AuthStore;\n\n private authUser: User | null = null;\n\n private constructor() {\n super();\n }\n\n static getInstance() {\n if (!AuthStore.instance) {\n AuthStore.instance = new AuthStore();\n }\n return AuthStore.instance;\n }\n\n set(authUser: User | null) {\n this.authUser = authUser;\n\n this.populate(authUser);\n }\n\n get(): User | null {\n return this.authUser;\n }\n\n override subscribe(callback: (data: User | null) => void): Unsubscribe {\n const unsubscribe: () => void = super.subscribe(callback);\n\n callback(this.authUser);\n\n return unsubscribe;\n }\n\n reset() {\n this.authUser = null;\n\n this.populate(this.authUser);\n }\n}\n", "export const emit = <T>({message, detail}: {message: string; detail?: T | undefined}) => {\n const $event: CustomEvent<T> = new CustomEvent<T>(message, {detail, bubbles: true});\n document.dispatchEvent($event);\n};\n", "// How long the delegation identity should remain valid?\n// e.g. BigInt(7 * 24 * 60 * 60 * 1000 * 1000 * 1000) = 7 days in nanoseconds\n// For Juno: 4 hours\nexport const DELEGATION_IDENTITY_EXPIRATION = BigInt(4 * 60 * 60 * 1000 * 1000 * 1000);\n\nexport const II_POPUP: {width: number; height: number} = {width: 576, height: 576};\nexport const NFID_POPUP: {width: number; height: number} = {width: 505, height: 705};\n\nexport const INTERNET_COMPUTER_ORG = 'internetcomputer.org';\n\n// Worker\nexport const AUTH_TIMER_INTERVAL = 1000;\n", "export const DOCKER_CONTAINER_URL = 'http://127.0.0.1:5987';\nexport const DOCKER_INTERNET_IDENTITY_ID = 'rdmx6-jaaaa-aaaaa-aaadq-cai';\n", "import type {Environment} from '../types/env.types';\nimport {Store} from './store';\n\nexport class EnvStore extends Store<Environment | undefined> {\n private static instance: EnvStore;\n\n private env: Environment | undefined;\n\n private constructor() {\n super();\n }\n\n static getInstance() {\n if (!EnvStore.instance) {\n EnvStore.instance = new EnvStore();\n }\n return EnvStore.instance;\n }\n\n set(env: Environment | undefined) {\n this.env = env;\n\n this.populate(env);\n }\n\n get(): Environment | undefined {\n return this.env;\n }\n\n override subscribe(callback: (data: Environment | null | undefined) => void): () => void {\n const unsubscribe: () => void = super.subscribe(callback);\n\n callback(this.env);\n\n return unsubscribe;\n }\n}\n", "import {isBrowser, isNullish} from '@junobuild/utils';\n\nexport const popupCenter = ({\n width,\n height\n}: {\n width: number;\n height: number;\n}): string | undefined => {\n if (!isBrowser()) {\n return undefined;\n }\n\n if (isNullish(window) || isNullish(window.top)) {\n return undefined;\n }\n\n const {\n top: {innerWidth, innerHeight}\n } = window;\n\n const y = innerHeight / 2 + screenY - height / 2;\n const x = innerWidth / 2 + screenX - width / 2;\n\n return `toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${width}, height=${height}, top=${y}, left=${x}`;\n};\n", "import {isNullish, nonNullish} from '@junobuild/utils';\nimport {II_POPUP, INTERNET_COMPUTER_ORG, NFID_POPUP} from '../constants/auth.constants';\nimport {DOCKER_CONTAINER_URL, DOCKER_INTERNET_IDENTITY_ID} from '../constants/container.constants';\nimport {EnvStore} from '../stores/env.store';\nimport type {Provider, SignInOptions} from '../types/auth.types';\nimport {popupCenter} from '../utils/window.utils';\n\nexport interface AuthProvider {\n readonly id: Provider;\n signInOptions: (options: Pick<SignInOptions, 'windowed'>) => {\n identityProvider: string;\n windowOpenerFeatures?: string;\n };\n}\n\nexport class InternetIdentityProvider implements AuthProvider {\n #domain?: 'internetcomputer.org' | 'ic0.app';\n\n constructor({domain}: {domain?: 'internetcomputer.org' | 'ic0.app'}) {\n this.#domain = domain;\n }\n\n get id(): Provider {\n return 'internet_identity';\n }\n\n signInOptions({windowed}: Pick<SignInOptions, 'windowed'>): {\n identityProvider: string;\n windowOpenerFeatures?: string;\n } {\n const identityProviderUrl = (): string => {\n const container = EnvStore.getInstance().get()?.container;\n\n // Production\n if (isNullish(container) || container === false) {\n return `https://identity.${this.#domain ?? INTERNET_COMPUTER_ORG}`;\n }\n\n const env = EnvStore.getInstance().get();\n\n const internetIdentityId =\n nonNullish(env) && nonNullish(env?.internetIdentityId)\n ? env.internetIdentityId\n : DOCKER_INTERNET_IDENTITY_ID;\n\n const {host: containerHost, protocol} = new URL(\n container === true ? DOCKER_CONTAINER_URL : container\n );\n\n return /apple/i.test(navigator?.vendor)\n ? `${protocol}//${containerHost}?canisterId=${internetIdentityId}`\n : `${protocol}//${internetIdentityId}.${containerHost.replace('127.0.0.1', 'localhost')}`;\n };\n\n return {\n ...(windowed !== false && {\n windowOpenerFeatures: popupCenter(II_POPUP)\n }),\n identityProvider: identityProviderUrl()\n };\n }\n}\n\nexport class NFIDProvider implements AuthProvider {\n #appName: string;\n #logoUrl: string;\n\n constructor({appName, logoUrl}: {appName: string; logoUrl: string}) {\n this.#appName = appName;\n this.#logoUrl = logoUrl;\n }\n\n get id(): Provider {\n return 'nfid';\n }\n\n signInOptions({windowed}: Pick<SignInOptions, 'windowed'>): {\n identityProvider: string;\n windowOpenerFeatures?: string;\n } {\n return {\n ...(windowed !== false && {\n windowOpenerFeatures: popupCenter(NFID_POPUP)\n }),\n identityProvider: `https://nfid.one/authenticate/?applicationName=${encodeURI(\n this.#appName\n )}&applicationLogo=${encodeURI(this.#logoUrl)}`\n };\n }\n}\n", "import {AuthClient} from '@dfinity/auth-client';\n\nexport const createAuthClient = (): Promise<AuthClient> =>\n AuthClient.create({\n idleOptions: {\n disableIdle: true,\n disableDefaultIdleCallback: true\n }\n });\n", "import {fromArray} from '@junobuild/utils';\nimport type {Doc} from '../../declarations/satellite/satellite.did';\n\nexport const mapData = async <D>({data}: Pick<Doc, 'data'>): Promise<D> => {\n try {\n return await fromArray<D>(data);\n } catch (err: unknown) {\n console.error('The data parsing has failed, mapping to undefined as a fallback.', err);\n return undefined as D;\n }\n};\n", "import {fromArray, fromNullable, toArray, toNullable} from '@junobuild/utils';\nimport type {DelDoc, Doc as DocApi, SetDoc} from '../../declarations/satellite/satellite.did';\nimport type {Doc} from '../types/doc.types';\n\nexport const toSetDoc = async <D>(doc: Doc<D>): Promise<SetDoc> => {\n const {data, updated_at, description} = doc;\n\n return {\n description: toNullable(description),\n data: await toArray<D>(data),\n updated_at: toNullable(updated_at)\n };\n};\n\nexport const toDelDoc = <D>(doc: Doc<D>): DelDoc => {\n const {updated_at} = doc;\n\n return {\n updated_at: toNullable(updated_at)\n };\n};\n\nexport const fromDoc = async <D>({doc, key}: {doc: DocApi; key: string}): Promise<Doc<D>> => {\n const {owner, description: docDescription, data, ...rest} = doc;\n\n return {\n key,\n description: fromNullable(docDescription),\n owner: owner.toText(),\n data: await fromArray<D>(data),\n ...rest\n };\n};\n", "import {Principal} from '@dfinity/principal';\nimport {isNullish, toNullable} from '@junobuild/utils';\nimport type {ListParams as ListParamsApi} from '../../declarations/satellite/satellite.did';\nimport type {ListParams} from '../types/list.types';\n\nexport const toListParams = ({matcher, paginate, order, owner}: ListParams): ListParamsApi => ({\n matcher: isNullish(matcher)\n ? []\n : [\n {\n key: toNullable(matcher.key),\n description: toNullable(matcher.description)\n }\n ],\n paginate: toNullable(\n isNullish(paginate)\n ? undefined\n : {\n start_after: toNullable(paginate.startAfter),\n limit: toNullable(isNullish(paginate.limit) ? undefined : BigInt(paginate.limit))\n }\n ),\n order: toNullable(\n isNullish(order)\n ? undefined\n : {\n desc: order.desc,\n field:\n order.field === 'created_at'\n ? {CreatedAt: null}\n : order.field === 'updated_at'\n ? {UpdatedAt: null}\n : {Keys: null}\n }\n ),\n owner: toNullable(\n isNullish(owner) ? undefined : typeof owner === 'string' ? Principal.fromText(owner) : owner\n )\n});\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n const CommitBatch = IDL.Record({\n batch_id: IDL.Nat,\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n chunk_ids: IDL.Vec(IDL.Nat)\n });\n const DeleteControllersArgs = IDL.Record({\n controllers: IDL.Vec(IDL.Principal)\n });\n const ControllerScope = IDL.Variant({\n Write: IDL.Null,\n Admin: IDL.Null\n });\n const Controller = IDL.Record({\n updated_at: IDL.Nat64,\n metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n created_at: IDL.Nat64,\n scope: ControllerScope,\n expires_at: IDL.Opt(IDL.Nat64)\n });\n const DelDoc = IDL.Record({updated_at: IDL.Opt(IDL.Nat64)});\n const RulesType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});\n const DepositCyclesArgs = IDL.Record({\n cycles: IDL.Nat,\n destination_id: IDL.Principal\n });\n const AssetKey = IDL.Record({\n token: IDL.Opt(IDL.Text),\n collection: IDL.Text,\n owner: IDL.Principal,\n name: IDL.Text,\n description: IDL.Opt(IDL.Text),\n full_path: IDL.Text\n });\n const AssetEncodingNoContent = IDL.Record({\n modified: IDL.Nat64,\n sha256: IDL.Vec(IDL.Nat8),\n total_length: IDL.Nat\n });\n const AssetNoContent = IDL.Record({\n key: AssetKey,\n updated_at: IDL.Nat64,\n encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n created_at: IDL.Nat64\n });\n const StorageConfigIFrame = IDL.Variant({\n Deny: IDL.Null,\n AllowAny: IDL.Null,\n SameOrigin: IDL.Null\n });\n const StorageConfigRedirect = IDL.Record({\n status_code: IDL.Nat16,\n location: IDL.Text\n });\n const StorageConfig = IDL.Record({\n iframe: IDL.Opt(StorageConfigIFrame),\n rewrites: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)))),\n redirects: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, StorageConfigRedirect)))\n });\n const Config = IDL.Record({storage: StorageConfig});\n const Doc = IDL.Record({\n updated_at: IDL.Nat64,\n owner: IDL.Principal,\n data: IDL.Vec(IDL.Nat8),\n description: IDL.Opt(IDL.Text),\n created_at: IDL.Nat64\n });\n const HttpRequest = IDL.Record({\n url: IDL.Text,\n method: IDL.Text,\n body: IDL.Vec(IDL.Nat8),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n certificate_version: IDL.Opt(IDL.Nat16)\n });\n const Memory = IDL.Variant({Heap: IDL.Null, Stable: IDL.Null});\n const StreamingCallbackToken = IDL.Record({\n memory: Memory,\n token: IDL.Opt(IDL.Text),\n sha256: IDL.Opt(IDL.Vec(IDL.Nat8)),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n index: IDL.Nat64,\n encoding_type: IDL.Text,\n full_path: IDL.Text\n });\n const StreamingStrategy = IDL.Variant({\n Callback: IDL.Record({\n token: StreamingCallbackToken,\n callback: IDL.Func([], [], ['query'])\n })\n });\n const HttpResponse = IDL.Record({\n body: IDL.Vec(IDL.Nat8),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n streaming_strategy: IDL.Opt(StreamingStrategy),\n status_code: IDL.Nat16\n });\n const StreamingCallbackHttpResponse = IDL.Record({\n token: IDL.Opt(StreamingCallbackToken),\n body: IDL.Vec(IDL.Nat8)\n });\n const InitAssetKey = IDL.Record({\n token: IDL.Opt(IDL.Text),\n collection: IDL.Text,\n name: IDL.Text,\n description: IDL.Opt(IDL.Text),\n encoding_type: IDL.Opt(IDL.Text),\n full_path: IDL.Text\n });\n const InitUploadResult = IDL.Record({batch_id: IDL.Nat});\n const ListOrderField = IDL.Variant({\n UpdatedAt: IDL.Null,\n Keys: IDL.Null,\n CreatedAt: IDL.Null\n });\n const ListOrder = IDL.Record({field: ListOrderField, desc: IDL.Bool});\n const ListMatcher = IDL.Record({\n key: IDL.Opt(IDL.Text),\n description: IDL.Opt(IDL.Text)\n });\n const ListPaginate = IDL.Record({\n start_after: IDL.Opt(IDL.Text),\n limit: IDL.Opt(IDL.Nat64)\n });\n const ListParams = IDL.Record({\n order: IDL.Opt(ListOrder),\n owner: IDL.Opt(IDL.Principal),\n matcher: IDL.Opt(ListMatcher),\n paginate: IDL.Opt(ListPaginate)\n });\n const ListResults = IDL.Record({\n matches_pages: IDL.Opt(IDL.Nat64),\n matches_length: IDL.Nat64,\n items_page: IDL.Opt(IDL.Nat64),\n items: IDL.Vec(IDL.Tuple(IDL.Text, AssetNoContent)),\n items_length: IDL.Nat64\n });\n const CustomDomain = IDL.Record({\n updated_at: IDL.Nat64,\n created_at: IDL.Nat64,\n bn_id: IDL.Opt(IDL.Text)\n });\n const ListResults_1 = IDL.Record({\n matches_pages: IDL.Opt(IDL.Nat64),\n matches_length: IDL.Nat64,\n items_page: IDL.Opt(IDL.Nat64),\n items: IDL.Vec(IDL.Tuple(IDL.Text, Doc)),\n items_length: IDL.Nat64\n });\n const Permission = IDL.Variant({\n Controllers: IDL.Null,\n Private: IDL.Null,\n Public: IDL.Null,\n Managed: IDL.Null\n });\n const Rule = IDL.Record({\n memory: IDL.Opt(Memory),\n updated_at: IDL.Nat64,\n max_size: IDL.Opt(IDL.Nat),\n read: Permission,\n created_at: IDL.Nat64,\n mutable_permissions: IDL.Opt(IDL.Bool),\n write: Permission\n });\n const MemorySize = IDL.Record({stable: IDL.Nat64, heap: IDL.Nat64});\n const SetController = IDL.Record({\n metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n scope: ControllerScope,\n expires_at: IDL.Opt(IDL.Nat64)\n });\n const SetControllersArgs = IDL.Record({\n controller: SetController,\n controllers: IDL.Vec(IDL.Principal)\n });\n const SetDoc = IDL.Record({\n updated_at: IDL.Opt(IDL.Nat64),\n data: IDL.Vec(IDL.Nat8),\n description: IDL.Opt(IDL.Text)\n });\n const SetRule = IDL.Record({\n memory: IDL.Opt(Memory),\n updated_at: IDL.Opt(IDL.Nat64),\n max_size: IDL.Opt(IDL.Nat),\n read: Permission,\n mutable_permissions: IDL.Opt(IDL.Bool),\n write: Permission\n });\n const UploadChunk = IDL.Record({\n content: IDL.Vec(IDL.Nat8),\n batch_id: IDL.Nat,\n order_id: IDL.Opt(IDL.Nat)\n });\n const UploadChunkResult = IDL.Record({chunk_id: IDL.Nat});\n return IDL.Service({\n build_version: IDL.Func([], [IDL.Text], ['query']),\n commit_asset_upload: IDL.Func([CommitBatch], [], []),\n count_assets: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n count_docs: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n del_asset: IDL.Func([IDL.Text, IDL.Text], [], []),\n del_assets: IDL.Func([IDL.Text], [], []),\n del_controllers: IDL.Func(\n [DeleteControllersArgs],\n [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n []\n ),\n del_custom_domain: IDL.Func([IDL.Text], [], []),\n del_doc: IDL.Func([IDL.Text, IDL.Text, DelDoc], [], []),\n del_docs: IDL.Func([IDL.Text], [], []),\n del_many_assets: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),\n del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),\n del_rule: IDL.Func([RulesType, IDL.Text, DelDoc], [], []),\n deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),\n get_config: IDL.Func([], [Config], []),\n get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),\n get_many_assets: IDL.Func(\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(AssetNoContent)))],\n ['query']\n ),\n get_many_docs: IDL.Func(\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],\n ['query']\n ),\n http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),\n http_request_streaming_callback: IDL.Func(\n [StreamingCallbackToken],\n [StreamingCallbackHttpResponse],\n ['query']\n ),\n init_asset_upload: IDL.Func([InitAssetKey], [InitUploadResult], []),\n list_assets: IDL.Func([IDL.Text, ListParams], [ListResults], ['query']),\n list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),\n list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),\n list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),\n list_rules: IDL.Func([RulesType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),\n memory_size: IDL.Func([], [MemorySize], ['query']),\n set_config: IDL.Func([Config], [], []),\n set_controllers: IDL.Func(\n [SetControllersArgs],\n [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n []\n ),\n set_custom_domain: IDL.Func([IDL.Text, IDL.Opt(IDL.Text)], [], []),\n set_doc: IDL.Func([IDL.Text, IDL.Text, SetDoc], [Doc], []),\n set_many_docs: IDL.Func(\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, SetDoc))],\n [IDL.Vec(IDL.Tuple(IDL.Text, Doc))],\n []\n ),\n set_rule: IDL.Func([RulesType, IDL.Text, SetRule], [], []),\n upload_asset_chunk: IDL.Func([UploadChunk], [UploadChunkResult], []),\n version: IDL.Func([], [IDL.Text], ['query'])\n });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n return [];\n};\n", "import type {ActorMethod, ActorSubclass} from '@dfinity/agent';\nimport {Actor, HttpAgent} from '@dfinity/agent';\nimport type {IDL} from '@dfinity/candid';\nimport {nonNullish} from '@junobuild/utils';\nimport {DOCKER_CONTAINER_URL} from '../constants/container.constants';\nimport type {Satellite} from '../types/satellite.types';\n\nexport const createActor = async <T = Record<string, ActorMethod>>({\n satelliteId: canisterId,\n idlFactory,\n identity,\n fetch,\n container\n}: {\n idlFactory: IDL.InterfaceFactory;\n} & Required<Pick<Satellite, 'satelliteId' | 'identity'>> &\n Pick<Satellite, 'fetch' | 'container'>): Promise<ActorSubclass<T>> => {\n const localActor = nonNullish(container) && container !== false;\n\n const host = localActor\n ? container === true\n ? DOCKER_CONTAINER_URL\n : container\n : 'https://icp-api.io';\n\n const agent: HttpAgent = new HttpAgent({identity, host, ...(fetch && {fetch})});\n\n if (nonNullish(container)) {\n // Fetch root key for certificate validation during development\n await agent.fetchRootKey();\n }\n\n // Creates an actor with using the candid interface and the HttpAgent\n return Actor.createActor(idlFactory, {\n agent,\n canisterId\n });\n};\n", "import {nonNullish} from '@junobuild/utils';\nimport {DOCKER_CONTAINER_URL} from '../constants/container.constants';\nimport {EnvStore} from '../stores/env.store';\nimport type {Satellite} from '../types/satellite.types';\n\nexport const satelliteUrl = ({\n satelliteId: customSatelliteId,\n container: customContainer\n}: Satellite): string => {\n const {satelliteId} = customOrEnvSatelliteId({satelliteId: customSatelliteId});\n const {container} = customOrEnvContainer({container: customContainer});\n\n if (nonNullish(container) && container !== false) {\n const {host: containerHost, protocol} = new URL(\n container === true ? DOCKER_CONTAINER_URL : container\n );\n return `${protocol}//${satelliteId ?? 'unknown'}.${containerHost.replace('127.0.0.1', 'localhost')}`;\n }\n\n return `https://${satelliteId ?? 'unknown'}.icp0.io`;\n};\n\nexport const customOrEnvSatelliteId = ({\n satelliteId\n}: Pick<Satellite, 'satelliteId'>): Pick<Satellite, 'satelliteId'> =>\n nonNullish(satelliteId)\n ? {satelliteId}\n : EnvStore.getInstance().get() ?? {satelliteId: undefined};\n\nexport const customOrEnvContainer = ({\n container: customContainer\n}: Pick<Satellite, 'container'>): Pick<Satellite, 'container'> =>\n nonNullish(customContainer)\n ? {container: customContainer}\n : EnvStore.getInstance().get() ?? {container: undefined};\n", "import {assertNonNullish} from '@junobuild/utils';\nimport type {_SERVICE as SatelliteActor} from '../../declarations/satellite/satellite.did';\nimport {idlFactory} from '../../declarations/satellite/satellite.factory.did.js';\nimport type {Satellite} from '../types/satellite.types';\nimport {createActor} from '../utils/actor.utils';\nimport {customOrEnvContainer, customOrEnvSatelliteId} from '../utils/env.utils';\n\nexport const getSatelliteActor = async ({\n satelliteId: customSatelliteId,\n container: customContainer,\n ...rest\n}: Satellite): Promise<SatelliteActor> => {\n const {satelliteId} = customOrEnvSatelliteId({satelliteId: customSatelliteId});\n\n assertNonNullish(satelliteId, 'No satellite principal defined.');\n\n const {container} = customOrEnvContainer({container: customContainer});\n\n return createActor({\n satelliteId,\n container,\n idlFactory,\n ...rest\n });\n};\n", "import {fromNullable, isNullish, nonNullish} from '@junobuild/utils';\nimport type {\n DelDoc,\n Doc as DocApi,\n ListResults_1 as ListDocsApi,\n _SERVICE as SatelliteActor,\n SetDoc\n} from '../../declarations/satellite/satellite.did';\nimport type {Doc} from '../types/doc.types';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {Satellite} from '../types/satellite.types';\nimport {mapData} from '../utils/data.utils';\nimport {fromDoc, toDelDoc, toSetDoc} from '../utils/doc.utils';\nimport {toListParams} from '../utils/list.utils';\nimport {getSatelliteActor} from './actor.api';\n\nexport const getDoc = async <D>({\n collection,\n key,\n satellite\n}: {\n collection: string;\n satellite: Satellite;\n} & Pick<Doc<D>, 'key'>): Promise<Doc<D> | undefined> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const doc: DocApi | undefined = fromNullable(await actor.get_doc(collection, key));\n\n if (isNullish(doc)) {\n return undefined;\n }\n\n return fromDoc({doc, key});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getManyDocs = async ({\n docs,\n satellite\n}: {\n docs: ({collection: string} & Pick<Doc<any>, 'key'>)[];\n satellite: Satellite;\n}): Promise<(Doc<any> | undefined)[]> => {\n const {get_many_docs} = await getSatelliteActor(satellite);\n\n const payload: [string, string][] = docs.map(({collection, key}) => [collection, key]);\n\n const resultsDocs = await get_many_docs(payload);\n\n const results: (Doc<any> | undefined)[] = [];\n for (const [key, resultDoc] of resultsDocs) {\n const doc = fromNullable(resultDoc);\n results.push(nonNullish(doc) ? await fromDoc({key, doc}) : undefined);\n }\n\n return results;\n};\n/* eslint-enable */\n\nexport const setDoc = async <D>({\n collection,\n doc,\n satellite\n}: {\n collection: string;\n doc: Doc<D>;\n satellite: Satellite;\n}): Promise<Doc<D>> => {\n const {set_doc} = await getSatelliteActor(satellite);\n\n const {key} = doc;\n\n const setDoc = await toSetDoc(doc);\n\n const updatedDoc = await set_doc(collection, key, setDoc);\n\n return await fromDoc({key, doc: updatedDoc});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const setManyDocs = async ({\n docs,\n satellite\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite: Satellite;\n}): Promise<Doc<any>[]> => {\n const {set_many_docs} = await getSatelliteActor(satellite);\n\n const payload: [string, string, SetDoc][] = [];\n for (const {collection, doc} of docs) {\n const {key} = doc;\n payload.push([collection, key, await toSetDoc(doc)]);\n }\n\n const updatedDocs = await set_many_docs(payload);\n\n const results: Doc<any>[] = [];\n for (const [key, updatedDoc] of updatedDocs) {\n results.push(await fromDoc({key, doc: updatedDoc}));\n }\n\n return results;\n};\n/* eslint-enable */\n\nexport const deleteDoc = async <D>({\n collection,\n doc,\n satellite\n}: {\n collection: string;\n doc: Doc<D>;\n satellite: Satellite;\n}): Promise<void> => {\n const {del_doc} = await getSatelliteActor(satellite);\n\n const {key} = doc;\n\n return del_doc(collection, key, toDelDoc(doc));\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const deleteManyDocs = async ({\n docs,\n satellite\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite: Satellite;\n}): Promise<void> => {\n const {del_many_docs} = await getSatelliteActor(satellite);\n\n const payload: [string, string, DelDoc][] = docs.map(({collection, doc}) => [\n collection,\n doc.key,\n toDelDoc(doc)\n ]);\n\n await del_many_docs(payload);\n};\n/* eslint-enable */\n\nexport const listDocs = async <D>({\n collection,\n filter,\n satellite\n}: {\n collection: string;\n filter: ListParams;\n satellite: Satellite;\n}): Promise<ListResults<Doc<D>>> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const {items, items_page, items_length, matches_length, matches_pages}: ListDocsApi =\n await actor.list_docs(collection, toListParams(filter));\n\n const docs: Doc<D>[] = [];\n\n for (const [key, item] of items) {\n const {data: dataArray, owner, description, ...rest} = item;\n\n docs.push({\n key,\n description: fromNullable(description),\n owner: owner.toText(),\n data: await mapData<D>({data: dataArray}),\n ...rest\n });\n }\n\n return {\n items: docs,\n items_length,\n items_page: fromNullable(items_page),\n matches_length,\n matches_pages: fromNullable(matches_pages)\n };\n};\n", "import type {Identity} from '@dfinity/agent';\nimport {AnonymousIdentity} from '@dfinity/agent';\nimport {getIdentity as getAuthIdentity} from './auth.services';\n\nexport const getIdentity = (identity?: Identity): Identity => {\n if (identity !== undefined) {\n return identity;\n }\n\n const authIdentity: Identity | undefined = getAuthIdentity();\n\n return authIdentity ?? new AnonymousIdentity();\n};\n", "import {\n deleteDoc as deleteDocApi,\n deleteManyDocs as deleteManyDocsApi,\n getDoc as getDocApi,\n getManyDocs as getManyDocsApi,\n listDocs as listDocsApi,\n setDoc as setDocApi,\n setManyDocs as setManyDocsApi\n} from '../api/doc.api';\nimport type {Doc} from '../types/doc.types';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {SatelliteOptions} from '../types/satellite.types';\nimport {getIdentity} from './identity.services';\n\nexport const getDoc = async <D>({\n satellite,\n ...rest\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n} & Pick<Doc<D>, 'key'>): Promise<Doc<D> | undefined> => {\n const identity = getIdentity(satellite?.identity);\n\n return getDocApi({...rest, satellite: {...satellite, identity}});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getManyDocs = async ({\n satellite,\n ...rest\n}: {\n docs: ({collection: string} & Pick<Doc<any>, 'key'>)[];\n satellite?: SatelliteOptions;\n}): Promise<(Doc<any> | undefined)[]> => {\n const identity = getIdentity(satellite?.identity);\n\n return getManyDocsApi({...rest, satellite: {...satellite, identity}});\n};\n/* eslint-enable */\n\nexport const setDoc = async <D>({\n satellite,\n ...rest\n}: {\n collection: string;\n doc: Doc<D>;\n satellite?: SatelliteOptions;\n}): Promise<Doc<D>> => {\n const identity = getIdentity(satellite?.identity);\n\n return setDocApi({...rest, satellite: {...satellite, identity}});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const setManyDocs = async ({\n satellite,\n ...rest\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite?: SatelliteOptions;\n}): Promise<Doc<any>[]> => {\n const identity = getIdentity(satellite?.identity);\n\n return setManyDocsApi({...rest, satellite: {...satellite, identity}});\n};\n/* eslint-enable */\n\nexport const deleteDoc = async <D>({\n satellite,\n ...rest\n}: {\n collection: string;\n doc: Doc<D>;\n satellite?: SatelliteOptions;\n}): Promise<void> => {\n const identity = getIdentity(satellite?.identity);\n\n return deleteDocApi({...rest, satellite: {...satellite, identity}});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const deleteManyDocs = async ({\n satellite,\n ...rest\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite?: SatelliteOptions;\n}): Promise<void> => {\n const identity = getIdentity(satellite?.identity);\n\n return deleteManyDocsApi({...rest, satellite: {...satellite, identity}});\n};\n/* eslint-enable */\n\nexport const listDocs = async <D>({\n satellite,\n filter,\n ...rest\n}: {\n collection: string;\n filter?: ListParams;\n satellite?: SatelliteOptions;\n}): Promise<ListResults<Doc<D>>> => {\n const identity = getIdentity(satellite?.identity);\n\n return listDocsApi<D>({...rest, filter: filter ?? {}, satellite: {...satellite, identity}});\n};\n", "import type {Identity} from '@dfinity/agent';\nimport {isNullish} from '@junobuild/utils';\nimport type {Provider, User, UserData} from '../types/auth.types';\nimport {getIdentity} from './auth.services';\nimport {getDoc, setDoc} from './doc.services';\n\nexport const initUser = async (provider?: Provider): Promise<User> => {\n const identity: Identity | undefined = getIdentity();\n\n if (isNullish(identity)) {\n throw new Error('No identity to initialize the user. Have you initialized Juno?');\n }\n\n const userId = identity.getPrincipal().toText();\n\n const user: User | undefined = await getDoc<UserData>({\n collection: `#user`,\n key: userId\n });\n\n if (isNullish(user)) {\n const newUser: User = await createUser({userId, provider});\n return newUser;\n }\n\n return user;\n};\n\nconst createUser = async ({\n userId,\n ...rest\n}: {\n userId: string;\n} & UserData): Promise<User> =>\n setDoc<UserData>({\n collection: `#user`,\n doc: {\n key: userId,\n data: rest\n }\n });\n", "import type {Identity} from '@dfinity/agent';\nimport type {AuthClient} from '@dfinity/auth-client';\nimport {DELEGATION_IDENTITY_EXPIRATION} from '../constants/auth.constants';\nimport {InternetIdentityProvider} from '../providers/auth.providers';\nimport {AuthStore} from '../stores/auth.store';\nimport type {Provider, SignInOptions} from '../types/auth.types';\nimport {createAuthClient} from '../utils/auth.utils';\nimport {initUser} from './user.services';\n\nlet authClient: AuthClient | undefined;\n\nexport const initAuth = async (provider?: Provider) => {\n authClient = authClient ?? (await createAuthClient());\n\n const isAuthenticated: boolean = (await authClient?.isAuthenticated()) ?? false;\n\n if (!isAuthenticated) {\n return;\n }\n\n const user = await initUser(provider);\n AuthStore.getInstance().set(user);\n};\n\nexport const signIn = async (options?: SignInOptions) =>\n /* eslint-disable no-async-promise-executor */\n new Promise<void>(async (resolve, reject) => {\n authClient = authClient ?? (await createAuthClient());\n\n const provider = options?.provider ?? new InternetIdentityProvider({});\n\n await authClient.login({\n onSuccess: async () => {\n await initAuth(provider.id);\n resolve();\n },\n onError: (error?: string) => reject(error),\n maxTimeToLive: options?.maxTimeToLive ?? DELEGATION_IDENTITY_EXPIRATION,\n ...(options?.derivationOrigin !== undefined && {derivationOrigin: options.derivationOrigin}),\n ...provider.signInOptions({\n windowed: options?.windowed\n })\n });\n });\n\nexport const signOut = async (): Promise<void> => {\n await authClient?.logout();\n\n // Reset local object otherwise next sign in (sign in - sign out - sign in) might not work out - i.e. agent-js might not recreate the delegation or identity if not resetted\n authClient = undefined;\n\n AuthStore.getInstance().reset();\n};\n\nexport const getIdentity = (): Identity | undefined => {\n return authClient?.getIdentity();\n};\n\n/**\n * Return what can be the identity of a sign-in user or an anonymous identity.\n * Useful to load an identity in web workers.\n */\nexport const unsafeIdentity = async (): Promise<Identity> =>\n (authClient ?? (await createAuthClient())).getIdentity();\n", "import {isNullish} from '@junobuild/utils';\nimport {AuthStore} from '../stores/auth.store';\nimport type {User} from '../types/auth.types';\nimport type {EnvironmentWorker} from '../types/env.types';\nimport type {PostMessage, PostMessageDataResponseAuth} from '../types/post-message';\nimport type {Unsubscribe} from '../types/subscription.types';\nimport {emit} from '../utils/events.utils';\nimport {signOut} from './auth.services';\n\nexport const initAuthTimeoutWorker = (auth: EnvironmentWorker): Unsubscribe => {\n const workerUrl = auth === true ? './workers/auth.worker.js' : auth;\n const worker = new Worker(workerUrl);\n\n const timeoutSignOut = async () => {\n emit({message: 'junoSignOutAuthTimer'});\n await signOut();\n };\n\n worker.onmessage = async ({data}: MessageEvent<PostMessage<PostMessageDataResponseAuth>>) => {\n const {msg, data: value} = data;\n\n switch (msg) {\n case 'junoSignOutAuthTimer':\n await timeoutSignOut();\n return;\n case 'junoDelegationRemainingTime':\n emit({message: 'junoDelegationRemainingTime', detail: value?.authRemainingTime});\n return;\n }\n };\n\n return AuthStore.getInstance().subscribe((user: User | null) => {\n if (isNullish(user)) {\n worker.postMessage({msg: 'junoStopAuthTimer'});\n return;\n }\n\n worker.postMessage({msg: 'junoStartAuthTimer'});\n });\n};\n", "import {fromNullable, isBrowser, toNullable} from '@junobuild/utils';\nimport type {\n AssetNoContent,\n ListResults as ListAssetsApi,\n _SERVICE as SatelliteActor\n} from '../../declarations/satellite/satellite.did';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {Satellite} from '../types/satellite.types';\nimport type {AssetKey, ENCODING_TYPE, Storage} from '../types/storage.types';\nimport {toListParams} from '../utils/list.utils';\nimport {getSatelliteActor} from './actor.api';\n\nexport const uploadAsset = async ({\n data,\n filename,\n collection,\n headers,\n token,\n fullPath,\n encoding,\n description,\n satellite\n}: Required<Omit<Storage, 'token' | 'encoding' | 'description'>> &\n Pick<Storage, 'token' | 'encoding' | 'description'> & {satellite: Satellite}): Promise<void> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const {batch_id: batchId} = await actor.init_asset_upload({\n collection,\n full_path: fullPath,\n name: filename,\n token: toNullable<string>(token),\n encoding_type: toNullable<ENCODING_TYPE>(encoding),\n description: toNullable(description)\n });\n\n // https://forum.dfinity.org/t/optimal-upload-chunk-size/20444/23?u=peterparker\n const chunkSize = 1900000;\n\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 += chunkSize) {\n const chunk: Blob = clone.slice(start, start + chunkSize);\n\n uploadChunks.push({\n batchId,\n chunk,\n actor,\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 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 actor.commit_asset_upload({\n batch_id: batchId,\n chunk_ids: chunkIds.map(({chunk_id}: UploadChunkResult) => chunk_id),\n headers: [...headers, ...(contentType ? contentType : [])]\n });\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\ntype UploadChunkResult = {chunk_id: bigint};\n\ntype UploadChunkParams = {\n batchId: bigint;\n chunk: Blob;\n actor: SatelliteActor;\n orderId: bigint;\n};\n\nconst uploadChunk = async ({\n batchId,\n chunk,\n actor,\n orderId\n}: UploadChunkParams): Promise<UploadChunkResult> =>\n actor.upload_asset_chunk({\n batch_id: batchId,\n content: new Uint8Array(await chunk.arrayBuffer()),\n order_id: toNullable(orderId)\n });\n\nexport const listAssets = async ({\n collection,\n satellite,\n filter\n}: {\n collection: string;\n satellite: Satellite;\n filter: ListParams;\n}): Promise<ListResults<AssetNoContent>> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const {\n items: assets,\n items_length,\n items_page,\n matches_length,\n matches_pages\n }: ListAssetsApi = await actor.list_assets(collection, toListParams(filter));\n\n return {\n items: assets.map(([_, asset]) => asset),\n items_length,\n items_page: fromNullable(items_page),\n matches_length,\n matches_pages: fromNullable(matches_pages)\n };\n};\n\nexport const deleteAsset = async ({\n collection,\n fullPath,\n satellite\n}: {\n collection: string;\n satellite: Satellite;\n} & Pick<AssetKey, 'fullPath'>): Promise<void> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n return actor.del_asset(collection, fullPath);\n};\n\nexport const deleteManyAssets = async ({\n assets,\n satellite\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite: Satellite;\n}): Promise<void> => {\n const {del_many_assets} = await getSatelliteActor(satellite);\n\n const payload: [string, string][] = assets.map(({collection, fullPath}) => [\n collection,\n fullPath\n ]);\n\n await del_many_assets(payload);\n};\n\nexport const getAsset = async ({\n collection,\n fullPath,\n satellite\n}: {\n collection: string;\n satellite: Satellite;\n} & Pick<AssetKey, 'fullPath'>): Promise<AssetNoContent | undefined> => {\n const {get_asset} = await getSatelliteActor(satellite);\n return fromNullable(await get_asset(collection, fullPath));\n};\n\nexport const getManyAssets = async ({\n assets,\n satellite\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite: Satellite;\n}): Promise<(AssetNoContent | undefined)[]> => {\n const {get_many_assets} = await getSatelliteActor(satellite);\n\n const payload: [string, string][] = assets.map(({collection, fullPath}) => [\n collection,\n fullPath\n ]);\n\n const resultsAssets = await get_many_assets(payload);\n\n return resultsAssets.map(([_, resultAsset]) => fromNullable(resultAsset));\n};\n", "export const sha256ToBase64String = (sha256: Iterable<number>): string =>\n btoa([...sha256].map((c) => String.fromCharCode(c)).join(''));\n", "import {fromNullable} from '@junobuild/utils';\nimport type {AssetNoContent} from '../../declarations/satellite/satellite.did';\nimport {\n deleteAsset as deleteAssetApi,\n deleteManyAssets as deleteManyAssetsApi,\n getAsset as getAssetApi,\n getManyAssets as getManyAssetsApi,\n listAssets as listAssetsApi,\n uploadAsset as uploadAssetApi\n} from '../api/storage.api';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {SatelliteOptions} from '../types/satellite.types';\nimport type {Asset, AssetEncoding, AssetKey, Assets, Storage} from '../types/storage.types';\nimport {sha256ToBase64String} from '../utils/crypto.utils';\nimport {satelliteUrl} from '../utils/env.utils';\nimport {getIdentity} from './identity.services';\n\nexport const uploadBlob = async (\n params: Storage & {satellite?: SatelliteOptions}\n): Promise<AssetKey> => uploadAssetIC(params);\n\nexport const uploadFile = async (\n params: Partial<Pick<Storage, 'filename'>> &\n Omit<Storage, 'filename' | 'data'> & {data: File} & {satellite?: SatelliteOptions}\n): Promise<AssetKey> =>\n uploadAssetIC({\n filename: params.data.name,\n ...params\n });\n\nconst uploadAssetIC = async ({\n filename: storageFilename,\n data,\n collection,\n headers = [],\n fullPath: storagePath,\n token,\n satellite: satelliteOptions,\n encoding,\n description\n}: Storage & {satellite?: SatelliteOptions}): Promise<AssetKey> => {\n const identity = getIdentity(satelliteOptions?.identity);\n\n // The IC certification does not currently support encoding\n const filename: string = decodeURI(storageFilename);\n const fullPath: string = storagePath ?? `/${collection}/${filename}`;\n\n const satellite = {...satelliteOptions, identity};\n\n await uploadAssetApi({\n data,\n filename,\n collection,\n token,\n headers,\n fullPath,\n encoding,\n satellite,\n description\n });\n\n return {\n downloadUrl: `${satelliteUrl(satellite)}${fullPath}${token !== undefined ? `?token=${token}` : ''}`,\n fullPath,\n name: filename\n };\n};\n\nexport const listAssets = async ({\n collection,\n satellite: satelliteOptions,\n filter\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n filter?: ListParams;\n}): Promise<Assets> => {\n const satellite = {...satelliteOptions, identity: getIdentity(satelliteOptions?.identity)};\n\n const {items, ...rest}: ListResults<AssetNoContent> = await listAssetsApi({\n collection,\n satellite,\n filter: filter ?? {}\n });\n\n const host: string = satelliteUrl(satellite);\n\n return {\n assets: items.map(\n ({\n key: {full_path, token: t, name, owner, description},\n headers,\n encodings,\n created_at,\n updated_at\n }: AssetNoContent) => {\n const token = fromNullable(t);\n\n return {\n fullPath: full_path,\n description: fromNullable(description),\n name,\n downloadUrl: `${host}${full_path}${token !== undefined ? `?token=${token}` : ''}`,\n token,\n headers,\n encodings: encodings.reduce(\n (acc, [type, {modified, sha256, total_length}]) => ({\n ...acc,\n [type]: {\n modified,\n sha256: sha256ToBase64String(sha256),\n total_length\n }\n }),\n {} as Record<string, AssetEncoding>\n ),\n owner: owner.toText(),\n created_at,\n updated_at\n } as Asset;\n }\n ),\n ...rest\n };\n};\n\nexport const deleteAsset = async ({\n collection,\n fullPath,\n satellite\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n} & Pick<AssetKey, 'fullPath'>): Promise<void> =>\n deleteAssetApi({\n collection,\n fullPath,\n satellite: {...satellite, identity: getIdentity(satellite?.identity)}\n });\n\nexport const deleteManyAssets = async ({\n assets,\n satellite\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite?: SatelliteOptions;\n} & Pick<AssetKey, 'fullPath'>): Promise<void> =>\n deleteManyAssetsApi({\n assets,\n satellite: {...satellite, identity: getIdentity(satellite?.identity)}\n });\n\nexport const getAsset = async ({\n satellite,\n ...rest\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n} & Pick<AssetKey, 'fullPath'>): Promise<AssetNoContent | undefined> => {\n const identity = getIdentity(satellite?.identity);\n\n return getAssetApi({...rest, satellite: {...satellite, identity}});\n};\n\nexport const getManyAssets = async ({\n satellite,\n ...rest\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite?: SatelliteOptions;\n}): Promise<(AssetNoContent | undefined)[]> => {\n const identity = getIdentity(satellite?.identity);\n\n return getManyAssetsApi({...rest, satellite: {...satellite, identity}});\n};\n", "import {initAuthTimeoutWorker} from './services/auth-timout.services';\nimport {initAuth} from './services/auth.services';\nimport {AuthStore} from './stores/auth.store';\nimport {EnvStore} from './stores/env.store';\nimport type {User} from './types/auth.types';\nimport type {Environment} from './types/env.types';\nimport type {Unsubscribe} from './types/subscription.types';\n\nexport * from './providers/auth.providers';\nexport {signIn, signOut, unsafeIdentity} from './services/auth.services';\nexport * from './services/doc.services';\nexport * from './services/storage.services';\nexport * from './types/auth.types';\nexport * from './types/doc.types';\nexport * from './types/env.types';\nexport {ListOrder, ListPaginate, ListParams, ListResults} from './types/list.types';\nexport * from './types/satellite.types';\nexport * from './types/storage.types';\nexport * from './types/subscription.types';\n\nexport const initJuno = async (env: Environment): Promise<Unsubscribe[]> => {\n EnvStore.getInstance().set(env);\n\n await initAuth();\n\n const authSubscribe =\n env.workers?.auth !== undefined ? initAuthTimeoutWorker(env.workers.auth) : undefined;\n\n return [...(authSubscribe ? [authSubscribe] : [])];\n};\n\nexport const authSubscribe = (callback: (authUser: User | null) => void): Unsubscribe =>\n AuthStore.getInstance().subscribe(callback);\n"],
5
- "mappings": "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",
6
- "names": ["Principal", "isNullish", "argument", "nonNullish", "NullishError", "assertNonNullish", "value", "message", "JSON_KEY_BIGINT", "JSON_KEY_PRINCIPAL", "JSON_KEY_UINT8ARRAY", "jsonReplacer", "_key", "Principal", "jsonReviver", "mapValue", "key", "toNullable", "fromNullable", "toArray", "data", "blob", "fromArray", "isBrowser", "Store", "data", "callback", "callbackId", "id", "AuthStore", "_AuthStore", "Store", "authUser", "callback", "unsubscribe", "emit", "message", "detail", "$event", "DELEGATION_IDENTITY_EXPIRATION", "II_POPUP", "NFID_POPUP", "INTERNET_COMPUTER_ORG", "DOCKER_CONTAINER_URL", "DOCKER_INTERNET_IDENTITY_ID", "EnvStore", "_EnvStore", "Store", "env", "callback", "unsubscribe", "popupCenter", "width", "height", "h", "innerWidth", "innerHeight", "y", "x", "InternetIdentityProvider", "#domain", "domain", "windowed", "identityProviderUrl", "container", "EnvStore", "INTERNET_COMPUTER_ORG", "env", "internetIdentityId", "t", "DOCKER_INTERNET_IDENTITY_ID", "containerHost", "protocol", "DOCKER_CONTAINER_URL", "popupCenter", "II_POPUP", "NFIDProvider", "#appName", "#logoUrl", "appName", "logoUrl", "NFID_POPUP", "AuthClient", "createAuthClient", "mapData", "data", "B", "err", "toSetDoc", "doc", "data", "updated_at", "description", "g", "R", "toDelDoc", "fromDoc", "key", "owner", "docDescription", "rest", "j", "B", "Principal", "toListParams", "matcher", "paginate", "order", "owner", "g", "Principal", "idlFactory", "IDL", "CommitBatch", "DeleteControllersArgs", "ControllerScope", "Controller", "DelDoc", "RulesType", "DepositCyclesArgs", "AssetKey", "AssetEncodingNoContent", "AssetNoContent", "StorageConfigIFrame", "StorageConfigRedirect", "StorageConfig", "Config", "Doc", "HttpRequest", "Memory", "StreamingCallbackToken", "StreamingStrategy", "HttpResponse", "StreamingCallbackHttpResponse", "InitAssetKey", "InitUploadResult", "ListOrderField", "ListOrder", "ListMatcher", "ListPaginate", "ListParams", "ListResults", "CustomDomain", "ListResults_1", "Permission", "Rule", "MemorySize", "SetController", "SetControllersArgs", "SetDoc", "SetRule", "UploadChunk", "UploadChunkResult", "Actor", "HttpAgent", "createActor", "canisterId", "idlFactory", "identity", "fetch", "container", "host", "t", "DOCKER_CONTAINER_URL", "agent", "HttpAgent", "Actor", "satelliteUrl", "customSatelliteId", "customContainer", "satelliteId", "customOrEnvSatelliteId", "container", "customOrEnvContainer", "t", "containerHost", "protocol", "DOCKER_CONTAINER_URL", "EnvStore", "getSatelliteActor", "customSatelliteId", "customContainer", "rest", "satelliteId", "customOrEnvSatelliteId", "x", "container", "customOrEnvContainer", "createActor", "idlFactory", "getDoc", "collection", "key", "satellite", "actor", "getSatelliteActor", "doc", "j", "fromDoc", "getManyDocs", "docs", "get_many_docs", "payload", "resultsDocs", "results", "resultDoc", "t", "setDoc", "set_doc", "toSetDoc", "updatedDoc", "setManyDocs", "set_many_docs", "updatedDocs", "deleteDoc", "del_doc", "toDelDoc", "deleteManyDocs", "del_many_docs", "listDocs", "filter", "items", "items_page", "items_length", "matches_length", "matches_pages", "toListParams", "item", "dataArray", "owner", "description", "rest", "mapData", "AnonymousIdentity", "getIdentity", "identity", "AnonymousIdentity", "getDoc", "satellite", "rest", "identity", "getIdentity", "getManyDocs", "setDoc", "setManyDocs", "deleteDoc", "deleteManyDocs", "listDocs", "filter", "initUser", "provider", "identity", "getIdentity", "userId", "user", "getDoc", "createUser", "rest", "setDoc", "authClient", "initAuth", "provider", "createAuthClient", "user", "initUser", "AuthStore", "signIn", "options", "resolve", "reject", "InternetIdentityProvider", "error", "DELEGATION_IDENTITY_EXPIRATION", "signOut", "getIdentity", "unsafeIdentity", "initAuthTimeoutWorker", "auth", "workerUrl", "worker", "timeoutSignOut", "emit", "signOut", "data", "msg", "value", "AuthStore", "user", "uploadAsset", "data", "filename", "collection", "headers", "token", "fullPath", "encoding", "description", "satellite", "actor", "getSatelliteActor", "batchId", "g", "chunkSize", "uploadChunks", "clone", "h", "orderId", "start", "chunk", "chunkIds", "results", "batchUploadChunks", "contentType", "type", "_", "chunk_id", "limit", "i", "batch", "params", "uploadChunk", "listAssets", "filter", "assets", "items_length", "items_page", "matches_length", "matches_pages", "toListParams", "asset", "j", "deleteAsset", "deleteManyAssets", "del_many_assets", "payload", "getAsset", "get_asset", "getManyAssets", "get_many_assets", "resultAsset", "sha256ToBase64String", "sha256", "c", "uploadBlob", "params", "uploadAssetIC", "uploadFile", "storageFilename", "data", "collection", "headers", "storagePath", "token", "satelliteOptions", "encoding", "description", "identity", "getIdentity", "filename", "fullPath", "satellite", "uploadAsset", "satelliteUrl", "listAssets", "filter", "items", "rest", "host", "full_path", "t", "name", "owner", "encodings", "created_at", "updated_at", "j", "acc", "type", "modified", "sha256", "total_length", "sha256ToBase64String", "deleteAsset", "deleteManyAssets", "assets", "getAsset", "getManyAssets", "initJuno", "env", "EnvStore", "initAuth", "authSubscribe", "initAuthTimeoutWorker", "callback", "AuthStore"]
4
+ "sourcesContent": ["/* eslint-disable-next-line @typescript-eslint/ban-types */\nexport const debounce = (func: Function, timeout?: number) => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n return (...args: unknown[]) => {\n const next = () => func(...args);\n\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(next, timeout !== undefined && timeout > 0 ? timeout : 300);\n };\n};\n", "import {Principal} from '@dfinity/principal';\nimport {nonNullish} from './null.utils';\n\nconst JSON_KEY_BIGINT = '__bigint__';\nconst JSON_KEY_PRINCIPAL = '__principal__';\nconst JSON_KEY_UINT8ARRAY = '__uint8array__';\n\n/**\n * A parser that interprets revived BigInt, Principal, and Uint8Array when constructing JavaScript values or objects.\n */\nexport const jsonReplacer = (_key: string, value: unknown): unknown => {\n if (typeof value === 'bigint') {\n return {[JSON_KEY_BIGINT]: `${value}`};\n }\n\n if (nonNullish(value) && value instanceof Principal) {\n return {[JSON_KEY_PRINCIPAL]: value.toText()};\n }\n\n if (nonNullish(value) && value instanceof Uint8Array) {\n return {[JSON_KEY_UINT8ARRAY]: Array.from(value)};\n }\n\n return value;\n};\n\n/**\n * A function that alters the behavior of the stringification process for BigInt, Principal and Uint8Array.\n */\nexport const jsonReviver = (_key: string, value: unknown): unknown => {\n const mapValue = <T>(key: string): T => (value as Record<string, T>)[key];\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_BIGINT in value) {\n return BigInt(mapValue(JSON_KEY_BIGINT));\n }\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_PRINCIPAL in value) {\n return Principal.fromText(mapValue(JSON_KEY_PRINCIPAL));\n }\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_UINT8ARRAY in value) {\n return Uint8Array.from(mapValue(JSON_KEY_UINT8ARRAY));\n }\n\n return value;\n};\n", "/** Is null or undefined */\nexport const isNullish = <T>(argument: T | undefined | null): argument is undefined | null =>\n argument === null || argument === undefined;\n\n/** Not null and not undefined */\nexport const nonNullish = <T>(argument: T | undefined | null): argument is NonNullable<T> =>\n !isNullish(argument);\n\nexport class NullishError extends Error {}\n\nexport const assertNonNullish: <T>(\n value: T,\n message?: string\n) => asserts value is NonNullable<T> = <T>(value: T, message?: string): void => {\n if (isNullish(value)) {\n throw new NullishError(message);\n }\n};\n", "import {jsonReplacer, jsonReviver} from './json.utils';\nimport {nonNullish} from './null.utils';\n\nexport const toNullable = <T>(value?: T): [] | [T] => {\n return nonNullish(value) ? [value] : [];\n};\n\nexport const fromNullable = <T>(value: [] | [T]): T | undefined => {\n return value?.[0];\n};\n\nexport const toArray = async <T>(data: T): Promise<Uint8Array> => {\n const blob: Blob = new Blob([JSON.stringify(data, jsonReplacer)], {\n type: 'application/json; charset=utf-8'\n });\n return new Uint8Array(await blob.arrayBuffer());\n};\n\nexport const fromArray = async <T>(data: Uint8Array | number[]): Promise<T> => {\n const blob: Blob = new Blob([data instanceof Uint8Array ? data : new Uint8Array(data)], {\n type: 'application/json; charset=utf-8'\n });\n return JSON.parse(await blob.text(), jsonReviver);\n};\n", "export const isBrowser = () => typeof window !== `undefined`;\n", "export abstract class Store<T> {\n private callbacks: {id: symbol; callback: (data: T | null) => void}[] = [];\n\n protected populate(data: T | null) {\n this.callbacks.forEach(({callback}: {id: symbol; callback: (data: T | null) => void}) =>\n callback(data)\n );\n }\n\n subscribe(callback: (data: T | null) => void): () => void {\n const callbackId = Symbol();\n this.callbacks.push({id: callbackId, callback});\n\n return () =>\n (this.callbacks = this.callbacks.filter(\n ({id}: {id: symbol; callback: (data: T | null) => void}) => id !== callbackId\n ));\n }\n}\n", "import type {User} from '../types/auth.types';\nimport type {Unsubscribe} from '../types/subscription.types';\nimport {Store} from './store';\n\nexport class AuthStore extends Store<User | null> {\n private static instance: AuthStore;\n\n private authUser: User | null = null;\n\n private constructor() {\n super();\n }\n\n static getInstance() {\n if (!AuthStore.instance) {\n AuthStore.instance = new AuthStore();\n }\n return AuthStore.instance;\n }\n\n set(authUser: User | null) {\n this.authUser = authUser;\n\n this.populate(authUser);\n }\n\n get(): User | null {\n return this.authUser;\n }\n\n override subscribe(callback: (data: User | null) => void): Unsubscribe {\n const unsubscribe: () => void = super.subscribe(callback);\n\n callback(this.authUser);\n\n return unsubscribe;\n }\n\n reset() {\n this.authUser = null;\n\n this.populate(this.authUser);\n }\n}\n", "export const emit = <T>({message, detail}: {message: string; detail?: T | undefined}) => {\n const $event: CustomEvent<T> = new CustomEvent<T>(message, {detail, bubbles: true});\n document.dispatchEvent($event);\n};\n", "// How long the delegation identity should remain valid?\n// e.g. BigInt(7 * 24 * 60 * 60 * 1000 * 1000 * 1000) = 7 days in nanoseconds\n// For Juno: 4 hours\nexport const DELEGATION_IDENTITY_EXPIRATION = BigInt(4 * 60 * 60 * 1000 * 1000 * 1000);\n\n// We consider PIN authentication as \"insecure\" because users can easily lose their PIN if they do not register a passphrase, especially since Safari clears the browser cache every two weeks in cases of inactivity.\n// That's why we disable it by default.\nexport const ALLOW_PIN_AUTHENTICATION = false;\n\nexport const II_POPUP: {width: number; height: number} = {width: 576, height: 576};\nexport const NFID_POPUP: {width: number; height: number} = {width: 505, height: 705};\n\nexport const INTERNET_COMPUTER_ORG = 'internetcomputer.org';\n\n// Worker\nexport const AUTH_TIMER_INTERVAL = 1000;\n", "export const DOCKER_CONTAINER_URL = 'http://127.0.0.1:5987';\nexport const DOCKER_INTERNET_IDENTITY_ID = 'rdmx6-jaaaa-aaaaa-aaadq-cai';\n", "import type {Environment} from '../types/env.types';\nimport {Store} from './store';\n\nexport class EnvStore extends Store<Environment | undefined> {\n private static instance: EnvStore;\n\n private env: Environment | undefined;\n\n private constructor() {\n super();\n }\n\n static getInstance() {\n if (!EnvStore.instance) {\n EnvStore.instance = new EnvStore();\n }\n return EnvStore.instance;\n }\n\n set(env: Environment | undefined) {\n this.env = env;\n\n this.populate(env);\n }\n\n get(): Environment | undefined {\n return this.env;\n }\n\n override subscribe(callback: (data: Environment | null | undefined) => void): () => void {\n const unsubscribe: () => void = super.subscribe(callback);\n\n callback(this.env);\n\n return unsubscribe;\n }\n}\n", "import {isBrowser, isNullish} from '@junobuild/utils';\n\nexport const popupCenter = ({\n width,\n height\n}: {\n width: number;\n height: number;\n}): string | undefined => {\n if (!isBrowser()) {\n return undefined;\n }\n\n if (isNullish(window) || isNullish(window.top)) {\n return undefined;\n }\n\n const {\n top: {innerWidth, innerHeight}\n } = window;\n\n const y = innerHeight / 2 + screenY - height / 2;\n const x = innerWidth / 2 + screenX - width / 2;\n\n return `toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${width}, height=${height}, top=${y}, left=${x}`;\n};\n", "import {isNullish, nonNullish} from '@junobuild/utils';\nimport {II_POPUP, INTERNET_COMPUTER_ORG, NFID_POPUP} from '../constants/auth.constants';\nimport {DOCKER_CONTAINER_URL, DOCKER_INTERNET_IDENTITY_ID} from '../constants/container.constants';\nimport {EnvStore} from '../stores/env.store';\nimport type {\n InternetIdentityConfig,\n InternetIdentityDomain,\n NFIDConfig,\n Provider,\n SignInOptions\n} from '../types/auth.types';\nimport {popupCenter} from '../utils/window.utils';\n\nexport interface AuthProviderSignInOptions {\n identityProvider: string;\n windowOpenerFeatures?: string;\n}\n\nexport interface AuthProvider {\n readonly id: Provider;\n signInOptions: (options: Pick<SignInOptions, 'windowed'>) => AuthProviderSignInOptions;\n}\n\nexport class InternetIdentityProvider implements AuthProvider {\n #domain?: InternetIdentityDomain;\n\n constructor({domain}: InternetIdentityConfig) {\n this.#domain = domain;\n }\n\n get id(): Provider {\n return 'internet_identity';\n }\n\n signInOptions({windowed}: Pick<SignInOptions, 'windowed'>): AuthProviderSignInOptions {\n const identityProviderUrl = (): string => {\n const container = EnvStore.getInstance().get()?.container;\n\n // Production\n if (isNullish(container) || container === false) {\n return `https://identity.${this.#domain ?? INTERNET_COMPUTER_ORG}`;\n }\n\n const env = EnvStore.getInstance().get();\n\n const internetIdentityId =\n nonNullish(env) && nonNullish(env?.internetIdentityId)\n ? env.internetIdentityId\n : DOCKER_INTERNET_IDENTITY_ID;\n\n const {host: containerHost, protocol} = new URL(\n container === true ? DOCKER_CONTAINER_URL : container\n );\n\n return /apple/i.test(navigator?.vendor)\n ? `${protocol}//${containerHost}?canisterId=${internetIdentityId}`\n : `${protocol}//${internetIdentityId}.${containerHost.replace('127.0.0.1', 'localhost')}`;\n };\n\n return {\n ...(windowed !== false && {\n windowOpenerFeatures: popupCenter(II_POPUP)\n }),\n identityProvider: identityProviderUrl()\n };\n }\n}\n\nexport class NFIDProvider implements AuthProvider {\n #appName: string;\n #logoUrl: string;\n\n constructor({appName, logoUrl}: NFIDConfig) {\n this.#appName = appName;\n this.#logoUrl = logoUrl;\n }\n\n get id(): Provider {\n return 'nfid';\n }\n\n signInOptions({windowed}: Pick<SignInOptions, 'windowed'>): AuthProviderSignInOptions {\n return {\n ...(windowed !== false && {\n windowOpenerFeatures: popupCenter(NFID_POPUP)\n }),\n identityProvider: `https://nfid.one/authenticate/?applicationName=${encodeURI(\n this.#appName\n )}&applicationLogo=${encodeURI(this.#logoUrl)}`\n };\n }\n}\n", "import {AuthClient} from '@dfinity/auth-client';\n\nexport const createAuthClient = (): Promise<AuthClient> =>\n AuthClient.create({\n idleOptions: {\n disableIdle: true,\n disableDefaultIdleCallback: true\n }\n });\n", "import {fromArray} from '@junobuild/utils';\nimport type {Doc} from '../../declarations/satellite/satellite.did';\n\nexport const mapData = async <D>({data}: Pick<Doc, 'data'>): Promise<D> => {\n try {\n return await fromArray<D>(data);\n } catch (err: unknown) {\n console.error('The data parsing has failed, mapping to undefined as a fallback.', err);\n return undefined as D;\n }\n};\n", "import {fromArray, fromNullable, toArray, toNullable} from '@junobuild/utils';\nimport type {DelDoc, Doc as DocApi, SetDoc} from '../../declarations/satellite/satellite.did';\nimport type {Doc} from '../types/doc.types';\n\nexport const toSetDoc = async <D>(doc: Doc<D>): Promise<SetDoc> => {\n const {data, updated_at, description} = doc;\n\n return {\n description: toNullable(description),\n data: await toArray<D>(data),\n updated_at: toNullable(updated_at)\n };\n};\n\nexport const toDelDoc = <D>(doc: Doc<D>): DelDoc => {\n const {updated_at} = doc;\n\n return {\n updated_at: toNullable(updated_at)\n };\n};\n\nexport const fromDoc = async <D>({doc, key}: {doc: DocApi; key: string}): Promise<Doc<D>> => {\n const {owner, description: docDescription, data, ...rest} = doc;\n\n return {\n key,\n description: fromNullable(docDescription),\n owner: owner.toText(),\n data: await fromArray<D>(data),\n ...rest\n };\n};\n", "import {Principal} from '@dfinity/principal';\nimport {isNullish, toNullable} from '@junobuild/utils';\nimport type {ListParams as ListParamsApi} from '../../declarations/satellite/satellite.did';\nimport type {ListParams} from '../types/list.types';\n\nexport const toListParams = ({matcher, paginate, order, owner}: ListParams): ListParamsApi => ({\n matcher: isNullish(matcher)\n ? []\n : [\n {\n key: toNullable(matcher.key),\n description: toNullable(matcher.description)\n }\n ],\n paginate: toNullable(\n isNullish(paginate)\n ? undefined\n : {\n start_after: toNullable(paginate.startAfter),\n limit: toNullable(isNullish(paginate.limit) ? undefined : BigInt(paginate.limit))\n }\n ),\n order: toNullable(\n isNullish(order)\n ? undefined\n : {\n desc: order.desc,\n field:\n order.field === 'created_at'\n ? {CreatedAt: null}\n : order.field === 'updated_at'\n ? {UpdatedAt: null}\n : {Keys: null}\n }\n ),\n owner: toNullable(\n isNullish(owner) ? undefined : typeof owner === 'string' ? Principal.fromText(owner) : owner\n )\n});\n", "// @ts-ignore\nexport const idlFactory = ({IDL}) => {\n const CommitBatch = IDL.Record({\n batch_id: IDL.Nat,\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n chunk_ids: IDL.Vec(IDL.Nat)\n });\n const DeleteControllersArgs = IDL.Record({\n controllers: IDL.Vec(IDL.Principal)\n });\n const ControllerScope = IDL.Variant({\n Write: IDL.Null,\n Admin: IDL.Null\n });\n const Controller = IDL.Record({\n updated_at: IDL.Nat64,\n metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n created_at: IDL.Nat64,\n scope: ControllerScope,\n expires_at: IDL.Opt(IDL.Nat64)\n });\n const DelDoc = IDL.Record({updated_at: IDL.Opt(IDL.Nat64)});\n const RulesType = IDL.Variant({Db: IDL.Null, Storage: IDL.Null});\n const DepositCyclesArgs = IDL.Record({\n cycles: IDL.Nat,\n destination_id: IDL.Principal\n });\n const AssetKey = IDL.Record({\n token: IDL.Opt(IDL.Text),\n collection: IDL.Text,\n owner: IDL.Principal,\n name: IDL.Text,\n description: IDL.Opt(IDL.Text),\n full_path: IDL.Text\n });\n const AssetEncodingNoContent = IDL.Record({\n modified: IDL.Nat64,\n sha256: IDL.Vec(IDL.Nat8),\n total_length: IDL.Nat\n });\n const AssetNoContent = IDL.Record({\n key: AssetKey,\n updated_at: IDL.Nat64,\n encodings: IDL.Vec(IDL.Tuple(IDL.Text, AssetEncodingNoContent)),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n created_at: IDL.Nat64\n });\n const AuthenticationConfigInternetIdentity = IDL.Record({\n derivation_origin: IDL.Opt(IDL.Text)\n });\n const AuthenticationConfig = IDL.Record({\n internet_identity: IDL.Opt(AuthenticationConfigInternetIdentity)\n });\n const StorageConfigIFrame = IDL.Variant({\n Deny: IDL.Null,\n AllowAny: IDL.Null,\n SameOrigin: IDL.Null\n });\n const StorageConfigRedirect = IDL.Record({\n status_code: IDL.Nat16,\n location: IDL.Text\n });\n const StorageConfig = IDL.Record({\n iframe: IDL.Opt(StorageConfigIFrame),\n rewrites: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)))),\n redirects: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, StorageConfigRedirect)))\n });\n const Config = IDL.Record({storage: StorageConfig});\n const Doc = IDL.Record({\n updated_at: IDL.Nat64,\n owner: IDL.Principal,\n data: IDL.Vec(IDL.Nat8),\n description: IDL.Opt(IDL.Text),\n created_at: IDL.Nat64\n });\n const HttpRequest = IDL.Record({\n url: IDL.Text,\n method: IDL.Text,\n body: IDL.Vec(IDL.Nat8),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n certificate_version: IDL.Opt(IDL.Nat16)\n });\n const Memory = IDL.Variant({Heap: IDL.Null, Stable: IDL.Null});\n const StreamingCallbackToken = IDL.Record({\n memory: Memory,\n token: IDL.Opt(IDL.Text),\n sha256: IDL.Opt(IDL.Vec(IDL.Nat8)),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n index: IDL.Nat64,\n encoding_type: IDL.Text,\n full_path: IDL.Text\n });\n const StreamingStrategy = IDL.Variant({\n Callback: IDL.Record({\n token: StreamingCallbackToken,\n callback: IDL.Func([], [], ['query'])\n })\n });\n const HttpResponse = IDL.Record({\n body: IDL.Vec(IDL.Nat8),\n headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n streaming_strategy: IDL.Opt(StreamingStrategy),\n status_code: IDL.Nat16\n });\n const StreamingCallbackHttpResponse = IDL.Record({\n token: IDL.Opt(StreamingCallbackToken),\n body: IDL.Vec(IDL.Nat8)\n });\n const InitAssetKey = IDL.Record({\n token: IDL.Opt(IDL.Text),\n collection: IDL.Text,\n name: IDL.Text,\n description: IDL.Opt(IDL.Text),\n encoding_type: IDL.Opt(IDL.Text),\n full_path: IDL.Text\n });\n const InitUploadResult = IDL.Record({batch_id: IDL.Nat});\n const ListOrderField = IDL.Variant({\n UpdatedAt: IDL.Null,\n Keys: IDL.Null,\n CreatedAt: IDL.Null\n });\n const ListOrder = IDL.Record({field: ListOrderField, desc: IDL.Bool});\n const ListMatcher = IDL.Record({\n key: IDL.Opt(IDL.Text),\n description: IDL.Opt(IDL.Text)\n });\n const ListPaginate = IDL.Record({\n start_after: IDL.Opt(IDL.Text),\n limit: IDL.Opt(IDL.Nat64)\n });\n const ListParams = IDL.Record({\n order: IDL.Opt(ListOrder),\n owner: IDL.Opt(IDL.Principal),\n matcher: IDL.Opt(ListMatcher),\n paginate: IDL.Opt(ListPaginate)\n });\n const ListResults = IDL.Record({\n matches_pages: IDL.Opt(IDL.Nat64),\n matches_length: IDL.Nat64,\n items_page: IDL.Opt(IDL.Nat64),\n items: IDL.Vec(IDL.Tuple(IDL.Text, AssetNoContent)),\n items_length: IDL.Nat64\n });\n const CustomDomain = IDL.Record({\n updated_at: IDL.Nat64,\n created_at: IDL.Nat64,\n bn_id: IDL.Opt(IDL.Text)\n });\n const ListResults_1 = IDL.Record({\n matches_pages: IDL.Opt(IDL.Nat64),\n matches_length: IDL.Nat64,\n items_page: IDL.Opt(IDL.Nat64),\n items: IDL.Vec(IDL.Tuple(IDL.Text, Doc)),\n items_length: IDL.Nat64\n });\n const Permission = IDL.Variant({\n Controllers: IDL.Null,\n Private: IDL.Null,\n Public: IDL.Null,\n Managed: IDL.Null\n });\n const Rule = IDL.Record({\n max_capacity: IDL.Opt(IDL.Nat32),\n memory: IDL.Opt(Memory),\n updated_at: IDL.Nat64,\n max_size: IDL.Opt(IDL.Nat),\n read: Permission,\n created_at: IDL.Nat64,\n mutable_permissions: IDL.Opt(IDL.Bool),\n write: Permission\n });\n const MemorySize = IDL.Record({stable: IDL.Nat64, heap: IDL.Nat64});\n const SetController = IDL.Record({\n metadata: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),\n scope: ControllerScope,\n expires_at: IDL.Opt(IDL.Nat64)\n });\n const SetControllersArgs = IDL.Record({\n controller: SetController,\n controllers: IDL.Vec(IDL.Principal)\n });\n const SetDoc = IDL.Record({\n updated_at: IDL.Opt(IDL.Nat64),\n data: IDL.Vec(IDL.Nat8),\n description: IDL.Opt(IDL.Text)\n });\n const SetRule = IDL.Record({\n max_capacity: IDL.Opt(IDL.Nat32),\n memory: IDL.Opt(Memory),\n updated_at: IDL.Opt(IDL.Nat64),\n max_size: IDL.Opt(IDL.Nat),\n read: Permission,\n mutable_permissions: IDL.Opt(IDL.Bool),\n write: Permission\n });\n const UploadChunk = IDL.Record({\n content: IDL.Vec(IDL.Nat8),\n batch_id: IDL.Nat,\n order_id: IDL.Opt(IDL.Nat)\n });\n const UploadChunkResult = IDL.Record({chunk_id: IDL.Nat});\n return IDL.Service({\n build_version: IDL.Func([], [IDL.Text], ['query']),\n commit_asset_upload: IDL.Func([CommitBatch], [], []),\n count_assets: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n count_docs: IDL.Func([IDL.Text], [IDL.Nat64], ['query']),\n del_asset: IDL.Func([IDL.Text, IDL.Text], [], []),\n del_assets: IDL.Func([IDL.Text], [], []),\n del_controllers: IDL.Func(\n [DeleteControllersArgs],\n [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n []\n ),\n del_custom_domain: IDL.Func([IDL.Text], [], []),\n del_doc: IDL.Func([IDL.Text, IDL.Text, DelDoc], [], []),\n del_docs: IDL.Func([IDL.Text], [], []),\n del_many_assets: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))], [], []),\n del_many_docs: IDL.Func([IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, DelDoc))], [], []),\n del_rule: IDL.Func([RulesType, IDL.Text, DelDoc], [], []),\n deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),\n get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),\n get_auth_config: IDL.Func([], [IDL.Opt(AuthenticationConfig)], ['query']),\n get_config: IDL.Func([], [Config], []),\n get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),\n get_many_assets: IDL.Func(\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(AssetNoContent)))],\n ['query']\n ),\n get_many_docs: IDL.Func(\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Opt(Doc)))],\n ['query']\n ),\n http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),\n http_request_streaming_callback: IDL.Func(\n [StreamingCallbackToken],\n [StreamingCallbackHttpResponse],\n ['query']\n ),\n init_asset_upload: IDL.Func([InitAssetKey], [InitUploadResult], []),\n list_assets: IDL.Func([IDL.Text, ListParams], [ListResults], ['query']),\n list_controllers: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))], ['query']),\n list_custom_domains: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, CustomDomain))], ['query']),\n list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),\n list_rules: IDL.Func([RulesType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),\n memory_size: IDL.Func([], [MemorySize], ['query']),\n set_auth_config: IDL.Func([AuthenticationConfig], [], []),\n set_config: IDL.Func([Config], [], []),\n set_controllers: IDL.Func(\n [SetControllersArgs],\n [IDL.Vec(IDL.Tuple(IDL.Principal, Controller))],\n []\n ),\n set_custom_domain: IDL.Func([IDL.Text, IDL.Opt(IDL.Text)], [], []),\n set_doc: IDL.Func([IDL.Text, IDL.Text, SetDoc], [Doc], []),\n set_many_docs: IDL.Func(\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text, SetDoc))],\n [IDL.Vec(IDL.Tuple(IDL.Text, Doc))],\n []\n ),\n set_rule: IDL.Func([RulesType, IDL.Text, SetRule], [], []),\n upload_asset_chunk: IDL.Func([UploadChunk], [UploadChunkResult], []),\n version: IDL.Func([], [IDL.Text], ['query'])\n });\n};\n// @ts-ignore\nexport const init = ({IDL}) => {\n return [];\n};\n", "import type {ActorMethod, ActorSubclass} from '@dfinity/agent';\nimport {Actor, HttpAgent} from '@dfinity/agent';\nimport type {IDL} from '@dfinity/candid';\nimport {nonNullish} from '@junobuild/utils';\nimport {DOCKER_CONTAINER_URL} from '../constants/container.constants';\nimport type {Satellite} from '../types/satellite.types';\n\nexport const createActor = async <T = Record<string, ActorMethod>>({\n satelliteId: canisterId,\n idlFactory,\n identity,\n fetch,\n container\n}: {\n idlFactory: IDL.InterfaceFactory;\n} & Required<Pick<Satellite, 'satelliteId' | 'identity'>> &\n Pick<Satellite, 'fetch' | 'container'>): Promise<ActorSubclass<T>> => {\n const localActor = nonNullish(container) && container !== false;\n\n const host = localActor\n ? container === true\n ? DOCKER_CONTAINER_URL\n : container\n : 'https://icp-api.io';\n\n const agent: HttpAgent = new HttpAgent({identity, host, ...(fetch && {fetch})});\n\n if (nonNullish(container)) {\n // Fetch root key for certificate validation during development\n await agent.fetchRootKey();\n }\n\n // Creates an actor with using the candid interface and the HttpAgent\n return Actor.createActor(idlFactory, {\n agent,\n canisterId\n });\n};\n", "import {nonNullish} from '@junobuild/utils';\nimport {DOCKER_CONTAINER_URL} from '../constants/container.constants';\nimport {EnvStore} from '../stores/env.store';\nimport type {Satellite} from '../types/satellite.types';\n\nexport const satelliteUrl = ({\n satelliteId: customSatelliteId,\n container: customContainer\n}: Satellite): string => {\n const {satelliteId} = customOrEnvSatelliteId({satelliteId: customSatelliteId});\n const {container} = customOrEnvContainer({container: customContainer});\n\n if (nonNullish(container) && container !== false) {\n const {host: containerHost, protocol} = new URL(\n container === true ? DOCKER_CONTAINER_URL : container\n );\n return `${protocol}//${satelliteId ?? 'unknown'}.${containerHost.replace('127.0.0.1', 'localhost')}`;\n }\n\n return `https://${satelliteId ?? 'unknown'}.icp0.io`;\n};\n\nexport const customOrEnvSatelliteId = ({\n satelliteId\n}: Pick<Satellite, 'satelliteId'>): Pick<Satellite, 'satelliteId'> =>\n nonNullish(satelliteId)\n ? {satelliteId}\n : EnvStore.getInstance().get() ?? {satelliteId: undefined};\n\nexport const customOrEnvContainer = ({\n container: customContainer\n}: Pick<Satellite, 'container'>): Pick<Satellite, 'container'> =>\n nonNullish(customContainer)\n ? {container: customContainer}\n : EnvStore.getInstance().get() ?? {container: undefined};\n", "import {assertNonNullish} from '@junobuild/utils';\nimport type {_SERVICE as SatelliteActor} from '../../declarations/satellite/satellite.did';\nimport {idlFactory} from '../../declarations/satellite/satellite.factory.did.js';\nimport type {Satellite} from '../types/satellite.types';\nimport {createActor} from '../utils/actor.utils';\nimport {customOrEnvContainer, customOrEnvSatelliteId} from '../utils/env.utils';\n\nexport const getSatelliteActor = async ({\n satelliteId: customSatelliteId,\n container: customContainer,\n ...rest\n}: Satellite): Promise<SatelliteActor> => {\n const {satelliteId} = customOrEnvSatelliteId({satelliteId: customSatelliteId});\n\n assertNonNullish(satelliteId, 'No satellite principal defined.');\n\n const {container} = customOrEnvContainer({container: customContainer});\n\n return createActor({\n satelliteId,\n container,\n idlFactory,\n ...rest\n });\n};\n", "import {fromNullable, isNullish, nonNullish} from '@junobuild/utils';\nimport type {\n DelDoc,\n Doc as DocApi,\n ListResults_1 as ListDocsApi,\n _SERVICE as SatelliteActor,\n SetDoc\n} from '../../declarations/satellite/satellite.did';\nimport type {Doc} from '../types/doc.types';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {Satellite} from '../types/satellite.types';\nimport {mapData} from '../utils/data.utils';\nimport {fromDoc, toDelDoc, toSetDoc} from '../utils/doc.utils';\nimport {toListParams} from '../utils/list.utils';\nimport {getSatelliteActor} from './actor.api';\n\nexport const getDoc = async <D>({\n collection,\n key,\n satellite\n}: {\n collection: string;\n satellite: Satellite;\n} & Pick<Doc<D>, 'key'>): Promise<Doc<D> | undefined> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const doc: DocApi | undefined = fromNullable(await actor.get_doc(collection, key));\n\n if (isNullish(doc)) {\n return undefined;\n }\n\n return fromDoc({doc, key});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getManyDocs = async ({\n docs,\n satellite\n}: {\n docs: ({collection: string} & Pick<Doc<any>, 'key'>)[];\n satellite: Satellite;\n}): Promise<(Doc<any> | undefined)[]> => {\n const {get_many_docs} = await getSatelliteActor(satellite);\n\n const payload: [string, string][] = docs.map(({collection, key}) => [collection, key]);\n\n const resultsDocs = await get_many_docs(payload);\n\n const results: (Doc<any> | undefined)[] = [];\n for (const [key, resultDoc] of resultsDocs) {\n const doc = fromNullable(resultDoc);\n results.push(nonNullish(doc) ? await fromDoc({key, doc}) : undefined);\n }\n\n return results;\n};\n/* eslint-enable */\n\nexport const setDoc = async <D>({\n collection,\n doc,\n satellite\n}: {\n collection: string;\n doc: Doc<D>;\n satellite: Satellite;\n}): Promise<Doc<D>> => {\n const {set_doc} = await getSatelliteActor(satellite);\n\n const {key} = doc;\n\n const setDoc = await toSetDoc(doc);\n\n const updatedDoc = await set_doc(collection, key, setDoc);\n\n return await fromDoc({key, doc: updatedDoc});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const setManyDocs = async ({\n docs,\n satellite\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite: Satellite;\n}): Promise<Doc<any>[]> => {\n const {set_many_docs} = await getSatelliteActor(satellite);\n\n const payload: [string, string, SetDoc][] = [];\n for (const {collection, doc} of docs) {\n const {key} = doc;\n payload.push([collection, key, await toSetDoc(doc)]);\n }\n\n const updatedDocs = await set_many_docs(payload);\n\n const results: Doc<any>[] = [];\n for (const [key, updatedDoc] of updatedDocs) {\n results.push(await fromDoc({key, doc: updatedDoc}));\n }\n\n return results;\n};\n/* eslint-enable */\n\nexport const deleteDoc = async <D>({\n collection,\n doc,\n satellite\n}: {\n collection: string;\n doc: Doc<D>;\n satellite: Satellite;\n}): Promise<void> => {\n const {del_doc} = await getSatelliteActor(satellite);\n\n const {key} = doc;\n\n return del_doc(collection, key, toDelDoc(doc));\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const deleteManyDocs = async ({\n docs,\n satellite\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite: Satellite;\n}): Promise<void> => {\n const {del_many_docs} = await getSatelliteActor(satellite);\n\n const payload: [string, string, DelDoc][] = docs.map(({collection, doc}) => [\n collection,\n doc.key,\n toDelDoc(doc)\n ]);\n\n await del_many_docs(payload);\n};\n/* eslint-enable */\n\nexport const listDocs = async <D>({\n collection,\n filter,\n satellite\n}: {\n collection: string;\n filter: ListParams;\n satellite: Satellite;\n}): Promise<ListResults<Doc<D>>> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const {items, items_page, items_length, matches_length, matches_pages}: ListDocsApi =\n await actor.list_docs(collection, toListParams(filter));\n\n const docs: Doc<D>[] = [];\n\n for (const [key, item] of items) {\n const {data: dataArray, owner, description, ...rest} = item;\n\n docs.push({\n key,\n description: fromNullable(description),\n owner: owner.toText(),\n data: await mapData<D>({data: dataArray}),\n ...rest\n });\n }\n\n return {\n items: docs,\n items_length,\n items_page: fromNullable(items_page),\n matches_length,\n matches_pages: fromNullable(matches_pages)\n };\n};\n", "import type {Identity} from '@dfinity/agent';\nimport {AnonymousIdentity} from '@dfinity/agent';\nimport {getIdentity as getAuthIdentity} from './auth.services';\n\nexport const getIdentity = (identity?: Identity): Identity => {\n if (identity !== undefined) {\n return identity;\n }\n\n const authIdentity: Identity | undefined = getAuthIdentity();\n\n return authIdentity ?? new AnonymousIdentity();\n};\n", "import {\n deleteDoc as deleteDocApi,\n deleteManyDocs as deleteManyDocsApi,\n getDoc as getDocApi,\n getManyDocs as getManyDocsApi,\n listDocs as listDocsApi,\n setDoc as setDocApi,\n setManyDocs as setManyDocsApi\n} from '../api/doc.api';\nimport type {Doc} from '../types/doc.types';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {SatelliteOptions} from '../types/satellite.types';\nimport {getIdentity} from './identity.services';\n\nexport const getDoc = async <D>({\n satellite,\n ...rest\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n} & Pick<Doc<D>, 'key'>): Promise<Doc<D> | undefined> => {\n const identity = getIdentity(satellite?.identity);\n\n return getDocApi({...rest, satellite: {...satellite, identity}});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getManyDocs = async ({\n satellite,\n ...rest\n}: {\n docs: ({collection: string} & Pick<Doc<any>, 'key'>)[];\n satellite?: SatelliteOptions;\n}): Promise<(Doc<any> | undefined)[]> => {\n const identity = getIdentity(satellite?.identity);\n\n return getManyDocsApi({...rest, satellite: {...satellite, identity}});\n};\n/* eslint-enable */\n\nexport const setDoc = async <D>({\n satellite,\n ...rest\n}: {\n collection: string;\n doc: Doc<D>;\n satellite?: SatelliteOptions;\n}): Promise<Doc<D>> => {\n const identity = getIdentity(satellite?.identity);\n\n return setDocApi({...rest, satellite: {...satellite, identity}});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const setManyDocs = async ({\n satellite,\n ...rest\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite?: SatelliteOptions;\n}): Promise<Doc<any>[]> => {\n const identity = getIdentity(satellite?.identity);\n\n return setManyDocsApi({...rest, satellite: {...satellite, identity}});\n};\n/* eslint-enable */\n\nexport const deleteDoc = async <D>({\n satellite,\n ...rest\n}: {\n collection: string;\n doc: Doc<D>;\n satellite?: SatelliteOptions;\n}): Promise<void> => {\n const identity = getIdentity(satellite?.identity);\n\n return deleteDocApi({...rest, satellite: {...satellite, identity}});\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const deleteManyDocs = async ({\n satellite,\n ...rest\n}: {\n docs: {collection: string; doc: Doc<any>}[];\n satellite?: SatelliteOptions;\n}): Promise<void> => {\n const identity = getIdentity(satellite?.identity);\n\n return deleteManyDocsApi({...rest, satellite: {...satellite, identity}});\n};\n/* eslint-enable */\n\nexport const listDocs = async <D>({\n satellite,\n filter,\n ...rest\n}: {\n collection: string;\n filter?: ListParams;\n satellite?: SatelliteOptions;\n}): Promise<ListResults<Doc<D>>> => {\n const identity = getIdentity(satellite?.identity);\n\n return listDocsApi<D>({...rest, filter: filter ?? {}, satellite: {...satellite, identity}});\n};\n", "import type {Identity} from '@dfinity/agent';\nimport {isNullish} from '@junobuild/utils';\nimport type {Provider, User, UserData} from '../types/auth.types';\nimport {getIdentity} from './auth.services';\nimport {getDoc, setDoc} from './doc.services';\n\nexport const initUser = async (provider?: Provider): Promise<User> => {\n const identity: Identity | undefined = getIdentity();\n\n if (isNullish(identity)) {\n throw new Error('No identity to initialize the user. Have you initialized Juno?');\n }\n\n const userId = identity.getPrincipal().toText();\n\n const user: User | undefined = await getDoc<UserData>({\n collection: `#user`,\n key: userId\n });\n\n if (isNullish(user)) {\n const newUser: User = await createUser({userId, provider});\n return newUser;\n }\n\n return user;\n};\n\nconst createUser = async ({\n userId,\n ...rest\n}: {\n userId: string;\n} & UserData): Promise<User> =>\n setDoc<UserData>({\n collection: `#user`,\n doc: {\n key: userId,\n data: rest\n }\n });\n", "import type {Identity} from '@dfinity/agent';\nimport type {AuthClient} from '@dfinity/auth-client';\nimport {\n ALLOW_PIN_AUTHENTICATION,\n DELEGATION_IDENTITY_EXPIRATION\n} from '../constants/auth.constants';\nimport {InternetIdentityProvider} from '../providers/auth.providers';\nimport {AuthStore} from '../stores/auth.store';\nimport type {Provider, SignInOptions} from '../types/auth.types';\nimport {createAuthClient} from '../utils/auth.utils';\nimport {initUser} from './user.services';\n\nlet authClient: AuthClient | undefined;\n\nexport const initAuth = async (provider?: Provider) => {\n authClient = authClient ?? (await createAuthClient());\n\n const isAuthenticated: boolean = (await authClient?.isAuthenticated()) ?? false;\n\n if (!isAuthenticated) {\n return;\n }\n\n const user = await initUser(provider);\n AuthStore.getInstance().set(user);\n};\n\nexport const signIn = async (options?: SignInOptions) =>\n /* eslint-disable no-async-promise-executor */\n new Promise<void>(async (resolve, reject) => {\n authClient = authClient ?? (await createAuthClient());\n\n const provider = options?.provider ?? new InternetIdentityProvider({});\n\n await authClient.login({\n onSuccess: async () => {\n await initAuth(provider.id);\n resolve();\n },\n onError: (error?: string) => reject(error),\n maxTimeToLive: options?.maxTimeToLive ?? DELEGATION_IDENTITY_EXPIRATION,\n allowPinAuthentication: options?.allowPin ?? ALLOW_PIN_AUTHENTICATION,\n ...(options?.derivationOrigin !== undefined && {derivationOrigin: options.derivationOrigin}),\n ...provider.signInOptions({\n windowed: options?.windowed\n })\n });\n });\n\nexport const signOut = async (): Promise<void> => {\n await authClient?.logout();\n\n // Reset local object otherwise next sign in (sign in - sign out - sign in) might not work out - i.e. agent-js might not recreate the delegation or identity if not resetted\n authClient = undefined;\n\n AuthStore.getInstance().reset();\n};\n\nexport const getIdentity = (): Identity | undefined => {\n return authClient?.getIdentity();\n};\n\n/**\n * Return what can be the identity of a sign-in user or an anonymous identity.\n * Useful to load an identity in web workers.\n */\nexport const unsafeIdentity = async (): Promise<Identity> =>\n (authClient ?? (await createAuthClient())).getIdentity();\n", "import {isNullish} from '@junobuild/utils';\nimport {AuthStore} from '../stores/auth.store';\nimport type {User} from '../types/auth.types';\nimport type {EnvironmentWorker} from '../types/env.types';\nimport type {PostMessage, PostMessageDataResponseAuth} from '../types/post-message';\nimport type {Unsubscribe} from '../types/subscription.types';\nimport {emit} from '../utils/events.utils';\nimport {signOut} from './auth.services';\n\nexport const initAuthTimeoutWorker = (auth: EnvironmentWorker): Unsubscribe => {\n const workerUrl = auth === true ? './workers/auth.worker.js' : auth;\n const worker = new Worker(workerUrl);\n\n const timeoutSignOut = async () => {\n emit({message: 'junoSignOutAuthTimer'});\n await signOut();\n };\n\n worker.onmessage = async ({data}: MessageEvent<PostMessage<PostMessageDataResponseAuth>>) => {\n const {msg, data: value} = data;\n\n switch (msg) {\n case 'junoSignOutAuthTimer':\n await timeoutSignOut();\n return;\n case 'junoDelegationRemainingTime':\n emit({message: 'junoDelegationRemainingTime', detail: value?.authRemainingTime});\n return;\n }\n };\n\n return AuthStore.getInstance().subscribe((user: User | null) => {\n if (isNullish(user)) {\n worker.postMessage({msg: 'junoStopAuthTimer'});\n return;\n }\n\n worker.postMessage({msg: 'junoStartAuthTimer'});\n });\n};\n", "import {fromNullable, isBrowser, toNullable} from '@junobuild/utils';\nimport type {\n AssetNoContent,\n ListResults as ListAssetsApi,\n _SERVICE as SatelliteActor\n} from '../../declarations/satellite/satellite.did';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {Satellite} from '../types/satellite.types';\nimport type {AssetKey, ENCODING_TYPE, Storage} from '../types/storage.types';\nimport {toListParams} from '../utils/list.utils';\nimport {getSatelliteActor} from './actor.api';\n\nexport const uploadAsset = async ({\n data,\n filename,\n collection,\n headers,\n token,\n fullPath,\n encoding,\n description,\n satellite\n}: Required<Omit<Storage, 'token' | 'encoding' | 'description'>> &\n Pick<Storage, 'token' | 'encoding' | 'description'> & {satellite: Satellite}): Promise<void> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const {batch_id: batchId} = await actor.init_asset_upload({\n collection,\n full_path: fullPath,\n name: filename,\n token: toNullable<string>(token),\n encoding_type: toNullable<ENCODING_TYPE>(encoding),\n description: toNullable(description)\n });\n\n // https://forum.dfinity.org/t/optimal-upload-chunk-size/20444/23?u=peterparker\n const chunkSize = 1900000;\n\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 += chunkSize) {\n const chunk: Blob = clone.slice(start, start + chunkSize);\n\n uploadChunks.push({\n batchId,\n chunk,\n actor,\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 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 actor.commit_asset_upload({\n batch_id: batchId,\n chunk_ids: chunkIds.map(({chunk_id}: UploadChunkResult) => chunk_id),\n headers: [...headers, ...(contentType ? contentType : [])]\n });\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\ntype UploadChunkResult = {chunk_id: bigint};\n\ntype UploadChunkParams = {\n batchId: bigint;\n chunk: Blob;\n actor: SatelliteActor;\n orderId: bigint;\n};\n\nconst uploadChunk = async ({\n batchId,\n chunk,\n actor,\n orderId\n}: UploadChunkParams): Promise<UploadChunkResult> =>\n actor.upload_asset_chunk({\n batch_id: batchId,\n content: new Uint8Array(await chunk.arrayBuffer()),\n order_id: toNullable(orderId)\n });\n\nexport const listAssets = async ({\n collection,\n satellite,\n filter\n}: {\n collection: string;\n satellite: Satellite;\n filter: ListParams;\n}): Promise<ListResults<AssetNoContent>> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n const {\n items: assets,\n items_length,\n items_page,\n matches_length,\n matches_pages\n }: ListAssetsApi = await actor.list_assets(collection, toListParams(filter));\n\n return {\n items: assets.map(([_, asset]) => asset),\n items_length,\n items_page: fromNullable(items_page),\n matches_length,\n matches_pages: fromNullable(matches_pages)\n };\n};\n\nexport const deleteAsset = async ({\n collection,\n fullPath,\n satellite\n}: {\n collection: string;\n satellite: Satellite;\n} & Pick<AssetKey, 'fullPath'>): Promise<void> => {\n const actor: SatelliteActor = await getSatelliteActor(satellite);\n\n return actor.del_asset(collection, fullPath);\n};\n\nexport const deleteManyAssets = async ({\n assets,\n satellite\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite: Satellite;\n}): Promise<void> => {\n const {del_many_assets} = await getSatelliteActor(satellite);\n\n const payload: [string, string][] = assets.map(({collection, fullPath}) => [\n collection,\n fullPath\n ]);\n\n await del_many_assets(payload);\n};\n\nexport const getAsset = async ({\n collection,\n fullPath,\n satellite\n}: {\n collection: string;\n satellite: Satellite;\n} & Pick<AssetKey, 'fullPath'>): Promise<AssetNoContent | undefined> => {\n const {get_asset} = await getSatelliteActor(satellite);\n return fromNullable(await get_asset(collection, fullPath));\n};\n\nexport const getManyAssets = async ({\n assets,\n satellite\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite: Satellite;\n}): Promise<(AssetNoContent | undefined)[]> => {\n const {get_many_assets} = await getSatelliteActor(satellite);\n\n const payload: [string, string][] = assets.map(({collection, fullPath}) => [\n collection,\n fullPath\n ]);\n\n const resultsAssets = await get_many_assets(payload);\n\n return resultsAssets.map(([_, resultAsset]) => fromNullable(resultAsset));\n};\n", "export const sha256ToBase64String = (sha256: Iterable<number>): string =>\n btoa([...sha256].map((c) => String.fromCharCode(c)).join(''));\n", "import {fromNullable} from '@junobuild/utils';\nimport type {AssetNoContent} from '../../declarations/satellite/satellite.did';\nimport {\n deleteAsset as deleteAssetApi,\n deleteManyAssets as deleteManyAssetsApi,\n getAsset as getAssetApi,\n getManyAssets as getManyAssetsApi,\n listAssets as listAssetsApi,\n uploadAsset as uploadAssetApi\n} from '../api/storage.api';\nimport type {ListParams, ListResults} from '../types/list.types';\nimport type {SatelliteOptions} from '../types/satellite.types';\nimport type {Asset, AssetEncoding, AssetKey, Assets, Storage} from '../types/storage.types';\nimport {sha256ToBase64String} from '../utils/crypto.utils';\nimport {satelliteUrl} from '../utils/env.utils';\nimport {getIdentity} from './identity.services';\n\nexport const uploadBlob = async (\n params: Storage & {satellite?: SatelliteOptions}\n): Promise<AssetKey> => uploadAssetIC(params);\n\nexport const uploadFile = async (\n params: Partial<Pick<Storage, 'filename'>> &\n Omit<Storage, 'filename' | 'data'> & {data: File} & {satellite?: SatelliteOptions}\n): Promise<AssetKey> =>\n uploadAssetIC({\n filename: params.data.name,\n ...params\n });\n\nconst uploadAssetIC = async ({\n filename: storageFilename,\n data,\n collection,\n headers = [],\n fullPath: storagePath,\n token,\n satellite: satelliteOptions,\n encoding,\n description\n}: Storage & {satellite?: SatelliteOptions}): Promise<AssetKey> => {\n const identity = getIdentity(satelliteOptions?.identity);\n\n // The IC certification does not currently support encoding\n const filename: string = decodeURI(storageFilename);\n const fullPath: string = storagePath ?? `/${collection}/${filename}`;\n\n const satellite = {...satelliteOptions, identity};\n\n await uploadAssetApi({\n data,\n filename,\n collection,\n token,\n headers,\n fullPath,\n encoding,\n satellite,\n description\n });\n\n return {\n downloadUrl: `${satelliteUrl(satellite)}${fullPath}${token !== undefined ? `?token=${token}` : ''}`,\n fullPath,\n name: filename\n };\n};\n\nexport const listAssets = async ({\n collection,\n satellite: satelliteOptions,\n filter\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n filter?: ListParams;\n}): Promise<Assets> => {\n const satellite = {...satelliteOptions, identity: getIdentity(satelliteOptions?.identity)};\n\n const {items, ...rest}: ListResults<AssetNoContent> = await listAssetsApi({\n collection,\n satellite,\n filter: filter ?? {}\n });\n\n const host: string = satelliteUrl(satellite);\n\n return {\n assets: items.map(\n ({\n key: {full_path, token: t, name, owner, description},\n headers,\n encodings,\n created_at,\n updated_at\n }: AssetNoContent) => {\n const token = fromNullable(t);\n\n return {\n fullPath: full_path,\n description: fromNullable(description),\n name,\n downloadUrl: `${host}${full_path}${token !== undefined ? `?token=${token}` : ''}`,\n token,\n headers,\n encodings: encodings.reduce(\n (acc, [type, {modified, sha256, total_length}]) => ({\n ...acc,\n [type]: {\n modified,\n sha256: sha256ToBase64String(sha256),\n total_length\n }\n }),\n {} as Record<string, AssetEncoding>\n ),\n owner: owner.toText(),\n created_at,\n updated_at\n } as Asset;\n }\n ),\n ...rest\n };\n};\n\nexport const deleteAsset = async ({\n collection,\n fullPath,\n satellite\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n} & Pick<AssetKey, 'fullPath'>): Promise<void> =>\n deleteAssetApi({\n collection,\n fullPath,\n satellite: {...satellite, identity: getIdentity(satellite?.identity)}\n });\n\nexport const deleteManyAssets = async ({\n assets,\n satellite\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite?: SatelliteOptions;\n} & Pick<AssetKey, 'fullPath'>): Promise<void> =>\n deleteManyAssetsApi({\n assets,\n satellite: {...satellite, identity: getIdentity(satellite?.identity)}\n });\n\nexport const getAsset = async ({\n satellite,\n ...rest\n}: {\n collection: string;\n satellite?: SatelliteOptions;\n} & Pick<AssetKey, 'fullPath'>): Promise<AssetNoContent | undefined> => {\n const identity = getIdentity(satellite?.identity);\n\n return getAssetApi({...rest, satellite: {...satellite, identity}});\n};\n\nexport const getManyAssets = async ({\n satellite,\n ...rest\n}: {\n assets: ({collection: string} & Pick<AssetKey, 'fullPath'>)[];\n satellite?: SatelliteOptions;\n}): Promise<(AssetNoContent | undefined)[]> => {\n const identity = getIdentity(satellite?.identity);\n\n return getManyAssetsApi({...rest, satellite: {...satellite, identity}});\n};\n", "import {initAuthTimeoutWorker} from './services/auth-timout.services';\nimport {initAuth} from './services/auth.services';\nimport {AuthStore} from './stores/auth.store';\nimport {EnvStore} from './stores/env.store';\nimport type {User} from './types/auth.types';\nimport type {Environment} from './types/env.types';\nimport type {Unsubscribe} from './types/subscription.types';\n\nexport * from './providers/auth.providers';\nexport {signIn, signOut, unsafeIdentity} from './services/auth.services';\nexport * from './services/doc.services';\nexport * from './services/storage.services';\nexport * from './types/auth.types';\nexport * from './types/doc.types';\nexport * from './types/env.types';\nexport {ListOrder, ListPaginate, ListParams, ListResults} from './types/list.types';\nexport * from './types/satellite.types';\nexport * from './types/storage.types';\nexport * from './types/subscription.types';\n\nexport const initJuno = async (env: Environment): Promise<Unsubscribe[]> => {\n EnvStore.getInstance().set(env);\n\n await initAuth();\n\n const authSubscribe =\n env.workers?.auth !== undefined ? initAuthTimeoutWorker(env.workers.auth) : undefined;\n\n return [...(authSubscribe ? [authSubscribe] : [])];\n};\n\nexport const authSubscribe = (callback: (authUser: User | null) => void): Unsubscribe =>\n AuthStore.getInstance().subscribe(callback);\n"],
5
+ "mappings": "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",
6
+ "names": ["Principal", "isNullish", "argument", "nonNullish", "NullishError", "assertNonNullish", "value", "message", "JSON_KEY_BIGINT", "JSON_KEY_PRINCIPAL", "JSON_KEY_UINT8ARRAY", "jsonReplacer", "_key", "Principal", "jsonReviver", "mapValue", "key", "toNullable", "fromNullable", "toArray", "data", "blob", "fromArray", "isBrowser", "Store", "data", "callback", "callbackId", "id", "AuthStore", "_AuthStore", "Store", "authUser", "callback", "unsubscribe", "emit", "message", "detail", "$event", "DELEGATION_IDENTITY_EXPIRATION", "ALLOW_PIN_AUTHENTICATION", "II_POPUP", "NFID_POPUP", "INTERNET_COMPUTER_ORG", "DOCKER_CONTAINER_URL", "DOCKER_INTERNET_IDENTITY_ID", "EnvStore", "_EnvStore", "Store", "env", "callback", "unsubscribe", "popupCenter", "width", "height", "h", "innerWidth", "innerHeight", "y", "x", "InternetIdentityProvider", "#domain", "domain", "windowed", "identityProviderUrl", "container", "EnvStore", "INTERNET_COMPUTER_ORG", "env", "internetIdentityId", "t", "DOCKER_INTERNET_IDENTITY_ID", "containerHost", "protocol", "DOCKER_CONTAINER_URL", "popupCenter", "II_POPUP", "NFIDProvider", "#appName", "#logoUrl", "appName", "logoUrl", "NFID_POPUP", "AuthClient", "createAuthClient", "mapData", "data", "B", "err", "toSetDoc", "doc", "data", "updated_at", "description", "g", "R", "toDelDoc", "fromDoc", "key", "owner", "docDescription", "rest", "j", "B", "Principal", "toListParams", "matcher", "paginate", "order", "owner", "g", "Principal", "idlFactory", "IDL", "CommitBatch", "DeleteControllersArgs", "ControllerScope", "Controller", "DelDoc", "RulesType", "DepositCyclesArgs", "AssetKey", "AssetEncodingNoContent", "AssetNoContent", "AuthenticationConfigInternetIdentity", "AuthenticationConfig", "StorageConfigIFrame", "StorageConfigRedirect", "StorageConfig", "Config", "Doc", "HttpRequest", "Memory", "StreamingCallbackToken", "StreamingStrategy", "HttpResponse", "StreamingCallbackHttpResponse", "InitAssetKey", "InitUploadResult", "ListOrderField", "ListOrder", "ListMatcher", "ListPaginate", "ListParams", "ListResults", "CustomDomain", "ListResults_1", "Permission", "Rule", "MemorySize", "SetController", "SetControllersArgs", "SetDoc", "SetRule", "UploadChunk", "UploadChunkResult", "Actor", "HttpAgent", "createActor", "canisterId", "idlFactory", "identity", "fetch", "container", "host", "t", "DOCKER_CONTAINER_URL", "agent", "HttpAgent", "Actor", "satelliteUrl", "customSatelliteId", "customContainer", "satelliteId", "customOrEnvSatelliteId", "container", "customOrEnvContainer", "t", "containerHost", "protocol", "DOCKER_CONTAINER_URL", "EnvStore", "getSatelliteActor", "customSatelliteId", "customContainer", "rest", "satelliteId", "customOrEnvSatelliteId", "x", "container", "customOrEnvContainer", "createActor", "idlFactory", "getDoc", "collection", "key", "satellite", "actor", "getSatelliteActor", "doc", "j", "fromDoc", "getManyDocs", "docs", "get_many_docs", "payload", "resultsDocs", "results", "resultDoc", "t", "setDoc", "set_doc", "toSetDoc", "updatedDoc", "setManyDocs", "set_many_docs", "updatedDocs", "deleteDoc", "del_doc", "toDelDoc", "deleteManyDocs", "del_many_docs", "listDocs", "filter", "items", "items_page", "items_length", "matches_length", "matches_pages", "toListParams", "item", "dataArray", "owner", "description", "rest", "mapData", "AnonymousIdentity", "getIdentity", "identity", "AnonymousIdentity", "getDoc", "satellite", "rest", "identity", "getIdentity", "getManyDocs", "setDoc", "setManyDocs", "deleteDoc", "deleteManyDocs", "listDocs", "filter", "initUser", "provider", "identity", "getIdentity", "userId", "user", "getDoc", "createUser", "rest", "setDoc", "authClient", "initAuth", "provider", "createAuthClient", "user", "initUser", "AuthStore", "signIn", "options", "resolve", "reject", "InternetIdentityProvider", "error", "DELEGATION_IDENTITY_EXPIRATION", "ALLOW_PIN_AUTHENTICATION", "signOut", "getIdentity", "unsafeIdentity", "initAuthTimeoutWorker", "auth", "workerUrl", "worker", "timeoutSignOut", "emit", "signOut", "data", "msg", "value", "AuthStore", "user", "uploadAsset", "data", "filename", "collection", "headers", "token", "fullPath", "encoding", "description", "satellite", "actor", "getSatelliteActor", "batchId", "g", "chunkSize", "uploadChunks", "clone", "h", "orderId", "start", "chunk", "chunkIds", "results", "batchUploadChunks", "contentType", "type", "_", "chunk_id", "limit", "i", "batch", "params", "uploadChunk", "listAssets", "filter", "assets", "items_length", "items_page", "matches_length", "matches_pages", "toListParams", "asset", "j", "deleteAsset", "deleteManyAssets", "del_many_assets", "payload", "getAsset", "get_asset", "getManyAssets", "get_many_assets", "resultAsset", "sha256ToBase64String", "sha256", "c", "uploadBlob", "params", "uploadAssetIC", "uploadFile", "storageFilename", "data", "collection", "headers", "storagePath", "token", "satelliteOptions", "encoding", "description", "identity", "getIdentity", "filename", "fullPath", "satellite", "uploadAsset", "satelliteUrl", "listAssets", "filter", "items", "rest", "host", "full_path", "t", "name", "owner", "encodings", "created_at", "updated_at", "j", "acc", "type", "modified", "sha256", "total_length", "sha256ToBase64String", "deleteAsset", "deleteManyAssets", "assets", "getAsset", "getManyAssets", "initJuno", "env", "EnvStore", "initAuth", "authSubscribe", "initAuthTimeoutWorker", "callback", "AuthStore"]
7
7
  }
@@ -22,6 +22,12 @@ export interface AssetNoContent {
22
22
  headers: Array<[string, string]>;
23
23
  created_at: bigint;
24
24
  }
25
+ export interface AuthenticationConfig {
26
+ internet_identity: [] | [AuthenticationConfigInternetIdentity];
27
+ }
28
+ export interface AuthenticationConfigInternetIdentity {
29
+ derivation_origin: [] | [string];
30
+ }
25
31
  export interface CommitBatch {
26
32
  batch_id: bigint;
27
33
  headers: Array<[string, string]>;
@@ -124,6 +130,7 @@ export interface MemorySize {
124
130
  }
125
131
  export type Permission = {Controllers: null} | {Private: null} | {Public: null} | {Managed: null};
126
132
  export interface Rule {
133
+ max_capacity: [] | [number];
127
134
  memory: [] | [Memory];
128
135
  updated_at: bigint;
129
136
  max_size: [] | [bigint];
@@ -148,6 +155,7 @@ export interface SetDoc {
148
155
  description: [] | [string];
149
156
  }
150
157
  export interface SetRule {
158
+ max_capacity: [] | [number];
151
159
  memory: [] | [Memory];
152
160
  updated_at: [] | [bigint];
153
161
  max_size: [] | [bigint];
@@ -209,6 +217,7 @@ export interface _SERVICE {
209
217
  del_rule: ActorMethod<[RulesType, string, DelDoc], undefined>;
210
218
  deposit_cycles: ActorMethod<[DepositCyclesArgs], undefined>;
211
219
  get_asset: ActorMethod<[string, string], [] | [AssetNoContent]>;
220
+ get_auth_config: ActorMethod<[], [] | [AuthenticationConfig]>;
212
221
  get_config: ActorMethod<[], Config>;
213
222
  get_doc: ActorMethod<[string, string], [] | [Doc]>;
214
223
  get_many_assets: ActorMethod<[Array<[string, string]>], Array<[string, [] | [AssetNoContent]]>>;
@@ -225,6 +234,7 @@ export interface _SERVICE {
225
234
  list_docs: ActorMethod<[string, ListParams], ListResults_1>;
226
235
  list_rules: ActorMethod<[RulesType], Array<[string, Rule]>>;
227
236
  memory_size: ActorMethod<[], MemorySize>;
237
+ set_auth_config: ActorMethod<[AuthenticationConfig], undefined>;
228
238
  set_config: ActorMethod<[Config], undefined>;
229
239
  set_controllers: ActorMethod<[SetControllersArgs], Array<[Principal, Controller]>>;
230
240
  set_custom_domain: ActorMethod<[string, [] | [string]], undefined>;
@@ -235,3 +245,4 @@ export interface _SERVICE {
235
245
  version: ActorMethod<[], string>;
236
246
  }
237
247
  export declare const idlFactory: IDL.InterfaceFactory;
248
+ export declare const init: (args: {IDL: typeof IDL}) => IDL.Type[];
@@ -45,6 +45,12 @@ export const idlFactory = ({IDL}) => {
45
45
  headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),
46
46
  created_at: IDL.Nat64
47
47
  });
48
+ const AuthenticationConfigInternetIdentity = IDL.Record({
49
+ derivation_origin: IDL.Opt(IDL.Text)
50
+ });
51
+ const AuthenticationConfig = IDL.Record({
52
+ internet_identity: IDL.Opt(AuthenticationConfigInternetIdentity)
53
+ });
48
54
  const StorageConfigIFrame = IDL.Variant({
49
55
  Deny: IDL.Null,
50
56
  AllowAny: IDL.Null,
@@ -156,6 +162,7 @@ export const idlFactory = ({IDL}) => {
156
162
  Managed: IDL.Null
157
163
  });
158
164
  const Rule = IDL.Record({
165
+ max_capacity: IDL.Opt(IDL.Nat32),
159
166
  memory: IDL.Opt(Memory),
160
167
  updated_at: IDL.Nat64,
161
168
  max_size: IDL.Opt(IDL.Nat),
@@ -180,6 +187,7 @@ export const idlFactory = ({IDL}) => {
180
187
  description: IDL.Opt(IDL.Text)
181
188
  });
182
189
  const SetRule = IDL.Record({
190
+ max_capacity: IDL.Opt(IDL.Nat32),
183
191
  memory: IDL.Opt(Memory),
184
192
  updated_at: IDL.Opt(IDL.Nat64),
185
193
  max_size: IDL.Opt(IDL.Nat),
@@ -213,6 +221,7 @@ export const idlFactory = ({IDL}) => {
213
221
  del_rule: IDL.Func([RulesType, IDL.Text, DelDoc], [], []),
214
222
  deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),
215
223
  get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),
224
+ get_auth_config: IDL.Func([], [IDL.Opt(AuthenticationConfig)], ['query']),
216
225
  get_config: IDL.Func([], [Config], []),
217
226
  get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),
218
227
  get_many_assets: IDL.Func(
@@ -238,6 +247,7 @@ export const idlFactory = ({IDL}) => {
238
247
  list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),
239
248
  list_rules: IDL.Func([RulesType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),
240
249
  memory_size: IDL.Func([], [MemorySize], ['query']),
250
+ set_auth_config: IDL.Func([AuthenticationConfig], [], []),
241
251
  set_config: IDL.Func([Config], [], []),
242
252
  set_controllers: IDL.Func(
243
253
  [SetControllersArgs],
@@ -45,6 +45,12 @@ export const idlFactory = ({IDL}) => {
45
45
  headers: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text)),
46
46
  created_at: IDL.Nat64
47
47
  });
48
+ const AuthenticationConfigInternetIdentity = IDL.Record({
49
+ derivation_origin: IDL.Opt(IDL.Text)
50
+ });
51
+ const AuthenticationConfig = IDL.Record({
52
+ internet_identity: IDL.Opt(AuthenticationConfigInternetIdentity)
53
+ });
48
54
  const StorageConfigIFrame = IDL.Variant({
49
55
  Deny: IDL.Null,
50
56
  AllowAny: IDL.Null,
@@ -156,6 +162,7 @@ export const idlFactory = ({IDL}) => {
156
162
  Managed: IDL.Null
157
163
  });
158
164
  const Rule = IDL.Record({
165
+ max_capacity: IDL.Opt(IDL.Nat32),
159
166
  memory: IDL.Opt(Memory),
160
167
  updated_at: IDL.Nat64,
161
168
  max_size: IDL.Opt(IDL.Nat),
@@ -180,6 +187,7 @@ export const idlFactory = ({IDL}) => {
180
187
  description: IDL.Opt(IDL.Text)
181
188
  });
182
189
  const SetRule = IDL.Record({
190
+ max_capacity: IDL.Opt(IDL.Nat32),
183
191
  memory: IDL.Opt(Memory),
184
192
  updated_at: IDL.Opt(IDL.Nat64),
185
193
  max_size: IDL.Opt(IDL.Nat),
@@ -213,6 +221,7 @@ export const idlFactory = ({IDL}) => {
213
221
  del_rule: IDL.Func([RulesType, IDL.Text, DelDoc], [], []),
214
222
  deposit_cycles: IDL.Func([DepositCyclesArgs], [], []),
215
223
  get_asset: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(AssetNoContent)], ['query']),
224
+ get_auth_config: IDL.Func([], [IDL.Opt(AuthenticationConfig)], ['query']),
216
225
  get_config: IDL.Func([], [Config], []),
217
226
  get_doc: IDL.Func([IDL.Text, IDL.Text], [IDL.Opt(Doc)], ['query']),
218
227
  get_many_assets: IDL.Func(
@@ -238,6 +247,7 @@ export const idlFactory = ({IDL}) => {
238
247
  list_docs: IDL.Func([IDL.Text, ListParams], [ListResults_1], ['query']),
239
248
  list_rules: IDL.Func([RulesType], [IDL.Vec(IDL.Tuple(IDL.Text, Rule))], ['query']),
240
249
  memory_size: IDL.Func([], [MemorySize], ['query']),
250
+ set_auth_config: IDL.Func([AuthenticationConfig], [], []),
241
251
  set_config: IDL.Func([Config], [], []),
242
252
  set_controllers: IDL.Func(
243
253
  [SetControllersArgs],