@junobuild/functions 0.0.15 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,100 @@
1
+ import type { ListResults } from '../schemas/list';
2
+ import type { AssetNoContent, Blob, OptionAsset } from '../schemas/storage';
3
+ import { type CountAssetsStoreParams, type CountCollectionAssetsStoreParams, type DeleteAssetsStoreParams, type DeleteAssetStoreParams, type DeleteFilteredAssetsStoreParams, type GetAssetStoreParams, type GetContentChunksStoreParams, type ListAssetsStoreParams, type SetAssetHandlerParams } from './schemas/storage';
4
+ /**
5
+ * Counts the number of assets in a specific collection.
6
+ *
7
+ * @param {CountCollectionAssetsStoreParams} params - The parameters required to count assets in the collection.
8
+ *
9
+ * @returns {bigint} The total number of assets in the specified collection.
10
+ *
11
+ * @throws {z.ZodError} If the input parameters do not conform to the schema.
12
+ * @throws {Error} If the Satellite fails while performing the count operation.
13
+ */
14
+ export declare const countCollectionAssetsStore: (params: CountCollectionAssetsStoreParams) => bigint;
15
+ /**
16
+ * Counts the number of assets in a collection matching specific filters and owned by a specific caller.
17
+ *
18
+ * @param {CountAssetsStoreParams} params - The parameters required to perform the filtered count.
19
+ *
20
+ * @returns {bigint} The number of assets that match the provided filters.
21
+ *
22
+ * @throws {z.ZodError} If the input parameters do not conform to the schema.
23
+ * @throws {Error} If the Satellite fails while performing the count operation.
24
+ */
25
+ export declare const countAssetsStore: (params: CountAssetsStoreParams) => bigint;
26
+ /**
27
+ * Sets or updates an asset in the storage.
28
+ *
29
+ * @param {SetAssetHandlerParams} params - The parameters required to set or update an asset.
30
+ *
31
+ * @throws {z.ZodError} If the input parameters do not conform to the schema.
32
+ * @throws {Error} If the Satellite fails while performing the operation.
33
+ */
34
+ export declare const setAssetHandler: (params: SetAssetHandlerParams) => void;
35
+ /**
36
+ * Deletes an asset from the storage.
37
+ *
38
+ * @param {DeleteAssetStoreParams} params - The parameters required to delete the asset.
39
+ *
40
+ * @returns {OptionAsset} The potentially deleted asset.
41
+ *
42
+ * @throws {z.ZodError} If the provided parameters do not match the expected schema.
43
+ * @throws {Error} If the Satellite fails to validate the request or the asset cannot be deleted.
44
+ */
45
+ export declare const deleteAssetStore: (params: DeleteAssetStoreParams) => OptionAsset;
46
+ /**
47
+ * Delete assets in a specific collection of the Storage.
48
+ *
49
+ * @param {DeleteAssetsStoreParams} params - The parameters required to delete assets in the collection.
50
+ *
51
+ * @throws {z.ZodError} If the input parameters do not conform to the schema.
52
+ * @throws {Error} If the Satellite fails while performing the count operation.
53
+ */
54
+ export declare const deleteAssetsStore: (params: DeleteAssetsStoreParams) => void;
55
+ /**
56
+ * Delete assets in a collection matching specific filters and owned by a specific caller.
57
+ *
58
+ * @param {DeleteFilteredAssetsStoreParams} params - The parameters required to perform the filtered deletion.
59
+ *
60
+ * @returns {OptionAsset[]} The potential asset resulting of the deletion that match the provided filters.
61
+ *
62
+ * @throws {z.ZodError} If the input parameters do not conform to the schema.
63
+ * @throws {Error} If the Satellite fails while performing the count operation.
64
+ */
65
+ export declare const deleteFilteredAssetsStore: (params: DeleteFilteredAssetsStoreParams) => OptionAsset[];
66
+ /**
67
+ * Retrieve an asset from the storage.
68
+ *
69
+ * @param {GetAssetStoreParams} params - The parameters required to get the asset.
70
+ *
71
+ * @returns {OptionAsset} The asset if found, or undefined if not.
72
+ *
73
+ * @throws {z.ZodError} If the provided parameters do not match the expected schema.
74
+ * @throws {Error} If the Satellite fails while retrieving the document.
75
+ */
76
+ export declare const getAssetStore: (params: GetAssetStoreParams) => OptionAsset;
77
+ /**
78
+ * Lists assets (without content) from the storage using optional filtering, pagination, and ordering parameters.
79
+ *
80
+ * @param {ListStoreParams} params - The parameters required to perform the list operation.
81
+ *
82
+ * @returns {ListResults<AssetNoContent>} A list result containing matching assets and pagination metadata.
83
+ *
84
+ * @throws {z.ZodError} If the input parameters do not conform to the schema.
85
+ * @throws {Error} If the Satellite fails while performing the listing operation.
86
+ */
87
+ export declare const listAssetsStore: (params: ListAssetsStoreParams) => ListResults<AssetNoContent>;
88
+ /**
89
+ * Retrieves content chunks of an asset.
90
+ *
91
+ * This function fetches a content chunk of a given asset encoding using the specified parameters.
92
+ *
93
+ * @param {GetContentChunksStoreParams} params - The parameters including encoding, chunk index, and memory type.
94
+ *
95
+ * @returns {Blob | undefined} The content chunk if found, or `undefined` if not.
96
+ *
97
+ * @throws {z.ZodError} If the input parameters do not conform to the schema.
98
+ * @throws {Error} If the Satellite throws an internal error during retrieval.
99
+ */
100
+ export declare const getContentChunksStore: (params: GetContentChunksStoreParams) => Blob | undefined;
package/sdk.d.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  export * from './sdk/controllers.sdk';
2
2
  export * from './sdk/db.sdk';
3
+ export * from './sdk/schemas/collections';
3
4
  export * from './sdk/schemas/controllers';
4
5
  export * from './sdk/schemas/db';
6
+ export * from './sdk/schemas/params';
7
+ export * from './sdk/schemas/storage';
5
8
  export * from './sdk/serializer.sdk';
9
+ export * from './sdk/storage.sdk';
package/sdk.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as c,c as s,d as n,e as _,f as S,k as C,l as x}from"./chunk-ZUGCGTXG.js";import{b as d}from"./chunk-CCKUQNB5.js";import*as o from"zod";var P=o.enum(["write","admin"]),z=o.tuple([o.string(),o.string()]),R=o.object({metadata:o.array(z),created_at:c,updated_at:c,expires_at:c.optional(),scope:P}).strict(),U=o.tuple([d,R]),I=o.array(U),i=o.object({caller:s.or(n),controllers:I});import{Principal as w}from"@dfinity/principal";var l=e=>e instanceof w?e.toUint8Array():e;var K=()=>__juno_satellite_datastore_get_admin_controllers(),J=()=>__juno_satellite_datastore_get_controllers(),N=e=>{i.parse(e);let{caller:t,controllers:r}=e,a=l(t);return __juno_satellite_datastore_is_admin_controller(a,r)},O=e=>{i.parse(e);let{caller:t,controllers:r}=e,a=l(t);return __juno_satellite_datastore_is_controller(a,r)};import*as D from"zod";var y=D.object({caller:s.or(n),collection:_,key:S}),h=y.extend({doc:C}).strict(),f=y.extend({doc:x}).strict();var L=e=>{h.parse(e);let{caller:t,collection:r,key:a,doc:m}=e,p=l(t);__juno_satellite_datastore_set_doc_store(p,r,a,m)},Q=e=>{f.parse(e);let{caller:t,collection:r,key:a,doc:m}=e,p=l(t);__juno_satellite_datastore_delete_doc_store(p,r,a,m)};import{jsonReplacer as u,jsonReviver as j}from"@dfinity/utils";var X=e=>JSON.parse(__juno_satellite_datastore_raw_data_to_text(e),j),Y=e=>__juno_satellite_datastore_raw_data_from_text(JSON.stringify(e,u));export{i as ControllerCheckParamsSchema,U as ControllerRecordSchema,R as ControllerSchema,P as ControllerScopeSchema,I as ControllersSchema,f as DeleteDocStoreParamsSchema,z as MetadataSchema,h as SetDocStoreParamsSchema,X as decodeDocData,Q as deleteDocStore,Y as encodeDocData,K as getAdminControllers,J as getControllers,N as isAdminController,O as isController,L as setDocStore};
1
+ import{B as I,a as S,c as n,d as m,e as D,f as y,k as x,l as u,m as f,n as A,o as g,p as U,u as j}from"./chunk-SFZECPH3.js";import{b as h}from"./chunk-CCKUQNB5.js";import*as l from"zod";var q=l.enum(["write","admin"]),Q=l.tuple([l.string(),l.string()]),V=l.object({metadata:l.array(Q),created_at:S,updated_at:S,expires_at:S.optional(),scope:q}).strict(),W=l.tuple([h,V]),X=l.array(W),P=l.object({caller:n.or(m),controllers:X});import{Principal as Y}from"@dfinity/principal";var a=e=>e instanceof Y?e.toUint8Array():e;var ce=()=>__juno_satellite_get_admin_controllers(),ne=()=>__juno_satellite_get_controllers(),me=e=>{P.parse(e);let{caller:t,controllers:o}=e,r=a(t);return __juno_satellite_is_admin_controller(r,o)},ie=e=>{P.parse(e);let{caller:t,controllers:o}=e,r=a(t);return __juno_satellite_is_controller(r,o)};import*as L from"zod";var c=L.object({collection:D}).strict(),i=c.extend({caller:n.or(m),params:I}).strict();var _=c.extend({caller:n.or(m),key:y}).strict(),R=_.extend({doc:x}).strict(),z=_.extend({doc:u}).strict(),k=c,b=i,w=i,v=c,F=i;var ue=e=>{R.parse(e);let{caller:t,collection:o,key:r,doc:s}=e,d=a(t);return __juno_satellite_datastore_set_doc_store(d,o,r,s)},fe=e=>{z.parse(e);let{caller:t,collection:o,key:r,doc:s}=e,d=a(t);return __juno_satellite_datastore_delete_doc_store(d,o,r,s)},Ae=e=>{_.parse(e);let{caller:t,collection:o,key:r}=e,s=a(t);return __juno_satellite_datastore_get_doc_store(s,o,r)},ge=e=>{w.parse(e);let{caller:t,collection:o,params:r}=e,s=a(t);return __juno_satellite_datastore_list_docs_store(s,o,r)},Ue=e=>{k.parse(e);let{collection:t}=e;return __juno_satellite_datastore_count_collection_docs_store(t)},je=e=>{b.parse(e);let{caller:t,collection:o,params:r}=e,s=a(t);return __juno_satellite_datastore_count_docs_store(s,o,r)},Ie=e=>{v.parse(e);let{collection:t}=e;__juno_satellite_datastore_delete_docs_store(t)},Le=e=>{F.parse(e);let{caller:t,collection:o,params:r}=e,s=a(t);return __juno_satellite_datastore_delete_filtered_docs_store(s,o,r)};import*as G from"zod";var M=G.enum(["heap","stable"]);import*as p from"zod";var C=c.extend({caller:n.or(m),full_path:j}).strict(),O=c,H=i,T=p.object({key:g,content:A,headers:f}).strict(),K=c,B=i,N=C,E=i,J=p.object({encoding:U,chunk_index:p.bigint(),memory:M}).strict();import{jsonReplacer as Z,jsonReviver as $}from"@dfinity/utils";var Me=e=>JSON.parse(__juno_satellite_datastore_raw_data_to_text(e),$),Oe=e=>__juno_satellite_datastore_raw_data_from_text(JSON.stringify(e,Z));var Be=e=>{O.parse(e);let{collection:t}=e;return __juno_satellite_storage_count_collection_assets_store(t)},Ne=e=>{H.parse(e);let{caller:t,collection:o,params:r}=e,s=a(t);return __juno_satellite_storage_count_assets_store(s,o,r)},Ee=e=>{T.parse(e);let{key:t,content:o,headers:r}=e;__juno_satellite_storage_set_asset_handler(t,o,r)},Je=e=>{N.parse(e);let{caller:t,collection:o,full_path:r}=e,s=a(t);return __juno_satellite_storage_delete_asset_store(s,o,r)},qe=e=>{K.parse(e);let{collection:t}=e;__juno_satellite_storage_delete_assets_store(t)},Qe=e=>{B.parse(e);let{caller:t,collection:o,params:r}=e,s=a(t);return __juno_satellite_storage_delete_filtered_assets_store(s,o,r)},Ve=e=>{C.parse(e);let{caller:t,collection:o,full_path:r}=e,s=a(t);return __juno_satellite_storage_get_asset_store(s,o,r)},We=e=>{E.parse(e);let{caller:t,collection:o,params:r}=e,s=a(t);return __juno_satellite_storage_list_assets_store(s,o,r)},Xe=e=>{J.parse(e);let{encoding:t,chunk_index:o,memory:r}=e;return __juno_satellite_storage_get_content_chunks_store(t,o,r)};export{c as CollectionParamsSchema,P as ControllerCheckParamsSchema,W as ControllerRecordSchema,V as ControllerSchema,q as ControllerScopeSchema,X as ControllersSchema,H as CountAssetsStoreParamsSchema,O as CountCollectionAssetsStoreParamsSchema,k as CountCollectionDocsStoreParamsSchema,b as CountDocsStoreParamsSchema,N as DeleteAssetStoreParamsSchema,K as DeleteAssetsStoreParamsSchema,z as DeleteDocStoreParamsSchema,v as DeleteDocsStoreParamsSchema,B as DeleteFilteredAssetsStoreParamsSchema,F as DeleteFilteredDocsStoreParamsSchema,C as GetAssetStoreParamsSchema,J as GetContentChunksStoreParamsSchema,_ as GetDocStoreParamsSchema,E as ListAssetsStoreParamsSchema,w as ListDocsStoreParamsSchema,i as ListStoreParamsSchema,M as MemorySchema,Q as MetadataSchema,T as SetAssetHandlerParamsSchema,R as SetDocStoreParamsSchema,Ne as countAssetsStore,Be as countCollectionAssetsStore,Ue as countCollectionDocsStore,je as countDocsStore,Me as decodeDocData,Je as deleteAssetStore,qe as deleteAssetsStore,fe as deleteDocStore,Ie as deleteDocsStore,Qe as deleteFilteredAssetsStore,Le as deleteFilteredDocsStore,Oe as encodeDocData,ce as getAdminControllers,Ve as getAssetStore,Xe as getContentChunksStore,ne as getControllers,Ae as getDocStore,me as isAdminController,ie as isController,We as listAssetsStore,ge as listDocsStore,Ee as setAssetHandler,ue as setDocStore};
2
2
  //# sourceMappingURL=sdk.js.map
package/sdk.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["src/sdk/schemas/controllers.ts", "src/sdk/utils/caller.utils.ts", "src/sdk/controllers.sdk.ts", "src/sdk/schemas/db.ts", "src/sdk/db.sdk.ts", "src/sdk/serializer.sdk.ts"],
4
- "sourcesContent": ["import * as z from 'zod';\nimport {RawPrincipalSchema} from '../../schemas/candid';\nimport {\n type RawUserId,\n type Timestamp,\n type UserId,\n RawUserIdSchema,\n TimestampSchema,\n UserIdSchema\n} from '../../schemas/satellite';\n\n/**\n * @see ControllerScopeSchema\n */\nexport const ControllerScopeSchema = z.enum(['write', 'admin']);\n\n/**\n * Represents the permission scope of a controller.\n */\nexport type ControllerScope = z.infer<typeof ControllerScopeSchema>;\n\n/**\n * @see MetadataSchema\n */\nexport const MetadataSchema = z.tuple([z.string(), z.string()]);\n\n/**\n * Represents a single metadata entry as a key-value tuple.\n */\nexport type Metadata = z.infer<typeof MetadataSchema>;\n\n/**\n * @see ControllerSchema\n */\nexport const ControllerSchema = z\n .object({\n metadata: z.array(MetadataSchema),\n created_at: TimestampSchema,\n updated_at: TimestampSchema,\n expires_at: TimestampSchema.optional(),\n scope: ControllerScopeSchema\n })\n .strict();\n\n/**\n * Represents a controller with access scope and associated metadata.\n */\nexport interface Controller {\n /**\n * A list of key-value metadata pairs associated with the controller.\n */\n metadata: Metadata[];\n\n /**\n * The timestamp when the controller was created.\n */\n created_at: Timestamp;\n\n /**\n * The timestamp when the controller was last updated.\n */\n updated_at: Timestamp;\n\n /**\n * Optional expiration timestamp for the controller.\n * \uD83D\uDC49 It's a placeholder for future implementation.\n */\n expires_at?: Timestamp;\n\n /**\n * The scope assigned to the controller.\n */\n scope: ControllerScope;\n}\n\n/**\n * @see ControllerRecordSchema\n */\nexport const ControllerRecordSchema = z.tuple([RawPrincipalSchema, ControllerSchema]);\n\n/**\n * Represents a tuple containing the principal ID and associated controller data.\n */\nexport type ControllerRecord = z.infer<typeof ControllerRecordSchema>;\n\n/**\n * @see ControllersSchema\n */\nexport const ControllersSchema = z.array(ControllerRecordSchema);\n\n/**\n * Represents a list of controllers.\n */\nexport type Controllers = z.infer<typeof ControllersSchema>;\n\n/**\n * @see ControllerCheckParamsSchema\n */\nexport const ControllerCheckParamsSchema = z.object({\n caller: RawUserIdSchema.or(UserIdSchema),\n controllers: ControllersSchema\n});\n\n/**\n * Represents the parameters required to perform controller checks.\n */\nexport interface ControllerCheckParams {\n /**\n * The identity of the caller to verify against the controller list.\n */\n caller: RawUserId | UserId;\n\n /**\n * The list of controllers to check against.\n */\n controllers: Controllers;\n}\n", "import {Principal} from '@dfinity/principal';\nimport type {RawUserId, UserId} from '../../schemas/satellite';\n\n/**\n * Normalizes a user ID into a raw `Uint8Array` representation.\n *\n * @param {RawUserId | UserId} caller - The caller identity, either a raw `Uint8Array`\n * or a `Principal` instance.\n *\n * @returns {RawUserId} The raw user ID as a `Uint8Array`.\n */\nexport const normalizeCaller = (caller: RawUserId | UserId): RawUserId =>\n caller instanceof Principal ? caller.toUint8Array() : caller;\n", "import {\n type ControllerCheckParams,\n type Controllers,\n ControllerCheckParamsSchema\n} from './schemas/controllers';\nimport {normalizeCaller} from './utils/caller.utils';\n\n/**\n * Gets the list of admin controllers from the Satellite.\n *\n * @returns {Controllers} The list of admin controllers.\n *\n * @throws {z.ZodError} If the returned value does not match the expected schema.\n */\nexport const getAdminControllers = (): Controllers =>\n __juno_satellite_datastore_get_admin_controllers();\n\n/**\n * Gets the list of controllers from the Satellite.\n *\n * @returns {Controllers} The list of all controllers.\n *\n * @throws {z.ZodError} If the returned value does not match the expected schema.\n */\nexport const getControllers = (): Controllers => __juno_satellite_datastore_get_controllers();\n\n/**\n * Checks if the given caller is an admin among the provided controllers.\n *\n * @param {ControllerCheckParams} params - The parameters including the caller identity\n * and the list of controllers to verify against.\n *\n * @returns {boolean} Whether the caller is an admin.\n *\n * @throws {z.ZodError} If any input does not match the expected schema.\n */\nexport const isAdminController = (params: ControllerCheckParams): boolean => {\n ControllerCheckParamsSchema.parse(params);\n\n const {caller: providedCaller, controllers} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_is_admin_controller(caller, controllers);\n};\n\n/**\n * Checks if the given caller exists among the provided controllers.\n *\n * @param {ControllerCheckParams} params - The parameters including the caller identity\n * and the list of controllers to verify against.\n *\n * @returns {boolean} Whether the caller is a controller.\n *\n * @throws {z.ZodError} If any input does not match the expected schema.\n */\nexport const isController = (params: ControllerCheckParams): boolean => {\n ControllerCheckParamsSchema.parse(params);\n\n const {caller: providedCaller, controllers} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_is_controller(caller, controllers);\n};\n", "import * as z from 'zod';\nimport {type DelDoc, DelDocSchema, type SetDoc, SetDocSchema} from '../../schemas/db';\nimport {\n type Collection,\n CollectionSchema,\n type Key,\n KeySchema,\n type RawUserId,\n RawUserIdSchema,\n type UserId,\n UserIdSchema\n} from '../../schemas/satellite';\n\n/**\n * @see DocStoreParams\n */\nconst DocStoreParamsSchema = z.object({\n caller: RawUserIdSchema.or(UserIdSchema),\n collection: CollectionSchema,\n key: KeySchema\n});\n\n/**\n * Represents the base parameters required to access the datastore and modify a document.\n */\nexport interface DocStoreParams {\n /**\n * The caller who initiate the document operation.\n */\n caller: RawUserId | UserId;\n\n /**\n * The name of the collection where the document is stored.\n */\n collection: Collection;\n\n /**\n * The key identifying the document within the collection.\n */\n key: Key;\n}\n\n/**\n * @see SetDocStoreParams\n */\nexport const SetDocStoreParamsSchema = DocStoreParamsSchema.extend({\n doc: SetDocSchema\n}).strict();\n\n/**\n * Represents the parameters required to store or update a document.\n *\n * This includes the document data along with metadata such as the caller,\n * collection, and key.\n */\nexport type SetDocStoreParams = DocStoreParams & {\n /**\n * The data, optional description and version required to create or update a document.\n */\n doc: SetDoc;\n};\n\n/**\n * @see DeleteDocStoreParams\n */\nexport const DeleteDocStoreParamsSchema = DocStoreParamsSchema.extend({\n doc: DelDocSchema\n}).strict();\n\n/**\n * Represents the parameters required to delete a document.\n *\n * This includes the document version along with metadata such as the caller,\n * collection, and key.\n */\nexport type DeleteDocStoreParams = DocStoreParams & {\n /**\n * The version required to delete a document.\n */\n doc: DelDoc;\n};\n", "import {\n type DeleteDocStoreParams,\n type SetDocStoreParams,\n DeleteDocStoreParamsSchema,\n SetDocStoreParamsSchema\n} from './schemas/db';\nimport {normalizeCaller} from './utils/caller.utils';\n\n/**\n * Stores or updates a document in the datastore.\n *\n * The data must have been encoded - using encodeDocData - before calling this function.\n *\n * @param {SetDocStoreParams} params - The parameters required to store the document,\n * including the caller, collection, key, and document data.\n *\n * @throws {z.ZodError} If the provided parameters do not match the expected schema.\n * @throws {Error} If the Satellite fails at validating the submitted document before storing it.\n */\nexport const setDocStore = (params: SetDocStoreParams) => {\n SetDocStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, key, doc} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n __juno_satellite_datastore_set_doc_store(caller, collection, key, doc);\n};\n\n/**\n * Delete a document in the datastore.\n *\n * @param {DeleteDocStoreParams} params - The parameters required to delete the document,\n * including the caller, collection, key, and version of the document.\n *\n * @throws {z.ZodError} If the provided parameters do not match the expected schema.\n * @throws {Error} If the Satellite fails at validating the submitted request before deleting it.\n */\nexport const deleteDocStore = (params: DeleteDocStoreParams) => {\n DeleteDocStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, key, doc} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n __juno_satellite_datastore_delete_doc_store(caller, collection, key, doc);\n};\n", "import {jsonReplacer, jsonReviver} from '@dfinity/utils';\nimport type {RawData} from '../schemas/db';\n\n/**\n * Decodes the raw data of a document into a JavaScript object.\n *\n * @template T The expected type of the decoded object.\n * @param {RawData} data - The raw data to be decoded.\n * @returns {T} The parsed JavaScript object.\n */\nexport const decodeDocData = <T>(data: RawData): T =>\n JSON.parse(__juno_satellite_datastore_raw_data_to_text(data), jsonReviver);\n\n/**\n * Encodes a JavaScript object into a raw data format to be applied to a document.\n *\n * @template T The type of the object to be encoded.\n * @param {T} data - The data to be encoded.\n * @returns {RawData} The serialized raw data.\n */\nexport const encodeDocData = <T>(data: T): RawData =>\n __juno_satellite_datastore_raw_data_from_text(JSON.stringify(data, jsonReplacer));\n"],
5
- "mappings": "0HAAA,UAAYA,MAAO,MAcZ,IAAMC,EAA0B,OAAK,CAAC,QAAS,OAAO,CAAC,EAUjDC,EAAmB,QAAM,CAAG,SAAO,EAAK,SAAO,CAAC,CAAC,EAUjDC,EACV,SAAO,CACN,SAAY,QAAMD,CAAc,EAChC,WAAYE,EACZ,WAAYA,EACZ,WAAYA,EAAgB,SAAS,EACrC,MAAOH,CACT,CAAC,EACA,OAAO,EAoCGI,EAA2B,QAAM,CAACC,EAAoBH,CAAgB,CAAC,EAUvEI,EAAsB,QAAMF,CAAsB,EAUlDG,EAAgC,SAAO,CAClD,OAAQC,EAAgB,GAAGC,CAAY,EACvC,YAAaH,CACf,CAAC,ECrGD,OAAQ,aAAAI,MAAgB,qBAWjB,IAAMC,EAAmBC,GAC9BA,aAAkBF,EAAYE,EAAO,aAAa,EAAIA,ECEjD,IAAMC,EAAsB,IACjC,iDAAiD,EAStCC,EAAiB,IAAmB,2CAA2C,EAY/EC,EAAqBC,GAA2C,CAC3EC,EAA4B,MAAMD,CAAM,EAExC,GAAM,CAAC,OAAQE,EAAgB,YAAAC,CAAW,EAAIH,EAExCI,EAASC,EAAgBH,CAAc,EAE7C,OAAO,+CAA+CE,EAAQD,CAAW,CAC3E,EAYaG,EAAgBN,GAA2C,CACtEC,EAA4B,MAAMD,CAAM,EAExC,GAAM,CAAC,OAAQE,EAAgB,YAAAC,CAAW,EAAIH,EAExCI,EAASC,EAAgBH,CAAc,EAE7C,OAAO,yCAAyCE,EAAQD,CAAW,CACrE,EChEA,UAAYI,MAAO,MAgBnB,IAAMC,EAAyB,SAAO,CACpC,OAAQC,EAAgB,GAAGC,CAAY,EACvC,WAAYC,EACZ,IAAKC,CACP,CAAC,EAyBYC,EAA0BL,EAAqB,OAAO,CACjE,IAAKM,CACP,CAAC,EAAE,OAAO,EAkBGC,EAA6BP,EAAqB,OAAO,CACpE,IAAKQ,CACP,CAAC,EAAE,OAAO,EChDH,IAAMC,EAAeC,GAA8B,CACxDC,EAAwB,MAAMD,CAAM,EAEpC,GAAM,CAAC,OAAQE,EAAgB,WAAAC,EAAY,IAAAC,EAAK,IAAAC,CAAG,EAAIL,EAEjDM,EAASC,EAAgBL,CAAc,EAE7C,yCAAyCI,EAAQH,EAAYC,EAAKC,CAAG,CACvE,EAWaG,EAAkBR,GAAiC,CAC9DS,EAA2B,MAAMT,CAAM,EAEvC,GAAM,CAAC,OAAQE,EAAgB,WAAAC,EAAY,IAAAC,EAAK,IAAAC,CAAG,EAAIL,EAEjDM,EAASC,EAAgBL,CAAc,EAE7C,4CAA4CI,EAAQH,EAAYC,EAAKC,CAAG,CAC1E,EC9CA,OAAQ,gBAAAK,EAAc,eAAAC,MAAkB,iBAUjC,IAAMC,EAAoBC,GAC/B,KAAK,MAAM,4CAA4CA,CAAI,EAAGF,CAAW,EAS9DG,EAAoBD,GAC/B,8CAA8C,KAAK,UAAUA,EAAMH,CAAY,CAAC",
6
- "names": ["z", "ControllerScopeSchema", "MetadataSchema", "ControllerSchema", "TimestampSchema", "ControllerRecordSchema", "RawPrincipalSchema", "ControllersSchema", "ControllerCheckParamsSchema", "RawUserIdSchema", "UserIdSchema", "Principal", "normalizeCaller", "caller", "getAdminControllers", "getControllers", "isAdminController", "params", "ControllerCheckParamsSchema", "providedCaller", "controllers", "caller", "normalizeCaller", "isController", "z", "DocStoreParamsSchema", "RawUserIdSchema", "UserIdSchema", "CollectionSchema", "KeySchema", "SetDocStoreParamsSchema", "SetDocSchema", "DeleteDocStoreParamsSchema", "DelDocSchema", "setDocStore", "params", "SetDocStoreParamsSchema", "providedCaller", "collection", "key", "doc", "caller", "normalizeCaller", "deleteDocStore", "DeleteDocStoreParamsSchema", "jsonReplacer", "jsonReviver", "decodeDocData", "data", "encodeDocData"]
3
+ "sources": ["src/sdk/schemas/controllers.ts", "src/sdk/utils/caller.utils.ts", "src/sdk/controllers.sdk.ts", "src/sdk/schemas/params.ts", "src/sdk/schemas/db.ts", "src/sdk/db.sdk.ts", "src/sdk/schemas/collections.ts", "src/sdk/schemas/storage.ts", "src/sdk/serializer.sdk.ts", "src/sdk/storage.sdk.ts"],
4
+ "sourcesContent": ["import * as z from 'zod';\nimport {RawPrincipalSchema} from '../../schemas/candid';\nimport {\n type RawUserId,\n type Timestamp,\n type UserId,\n RawUserIdSchema,\n TimestampSchema,\n UserIdSchema\n} from '../../schemas/satellite';\n\n/**\n * @see ControllerScopeSchema\n */\nexport const ControllerScopeSchema = z.enum(['write', 'admin']);\n\n/**\n * Represents the permission scope of a controller.\n */\nexport type ControllerScope = z.infer<typeof ControllerScopeSchema>;\n\n/**\n * @see MetadataSchema\n */\nexport const MetadataSchema = z.tuple([z.string(), z.string()]);\n\n/**\n * Represents a single metadata entry as a key-value tuple.\n */\nexport type Metadata = z.infer<typeof MetadataSchema>;\n\n/**\n * @see ControllerSchema\n */\nexport const ControllerSchema = z\n .object({\n metadata: z.array(MetadataSchema),\n created_at: TimestampSchema,\n updated_at: TimestampSchema,\n expires_at: TimestampSchema.optional(),\n scope: ControllerScopeSchema\n })\n .strict();\n\n/**\n * Represents a controller with access scope and associated metadata.\n */\nexport interface Controller {\n /**\n * A list of key-value metadata pairs associated with the controller.\n */\n metadata: Metadata[];\n\n /**\n * The timestamp when the controller was created.\n */\n created_at: Timestamp;\n\n /**\n * The timestamp when the controller was last updated.\n */\n updated_at: Timestamp;\n\n /**\n * Optional expiration timestamp for the controller.\n * \uD83D\uDC49 It's a placeholder for future implementation.\n */\n expires_at?: Timestamp;\n\n /**\n * The scope assigned to the controller.\n */\n scope: ControllerScope;\n}\n\n/**\n * @see ControllerRecordSchema\n */\nexport const ControllerRecordSchema = z.tuple([RawPrincipalSchema, ControllerSchema]);\n\n/**\n * Represents a tuple containing the principal ID and associated controller data.\n */\nexport type ControllerRecord = z.infer<typeof ControllerRecordSchema>;\n\n/**\n * @see ControllersSchema\n */\nexport const ControllersSchema = z.array(ControllerRecordSchema);\n\n/**\n * Represents a list of controllers.\n */\nexport type Controllers = z.infer<typeof ControllersSchema>;\n\n/**\n * @see ControllerCheckParamsSchema\n */\nexport const ControllerCheckParamsSchema = z.object({\n caller: RawUserIdSchema.or(UserIdSchema),\n controllers: ControllersSchema\n});\n\n/**\n * Represents the parameters required to perform controller checks.\n */\nexport interface ControllerCheckParams {\n /**\n * The identity of the caller to verify against the controller list.\n */\n caller: RawUserId | UserId;\n\n /**\n * The list of controllers to check against.\n */\n controllers: Controllers;\n}\n", "import {Principal} from '@dfinity/principal';\nimport type {RawUserId, UserId} from '../../schemas/satellite';\n\n/**\n * Normalizes a user ID into a raw `Uint8Array` representation.\n *\n * @param {RawUserId | UserId} caller - The caller identity, either a raw `Uint8Array`\n * or a `Principal` instance.\n *\n * @returns {RawUserId} The raw user ID as a `Uint8Array`.\n */\nexport const normalizeCaller = (caller: RawUserId | UserId): RawUserId =>\n caller instanceof Principal ? caller.toUint8Array() : caller;\n", "import {\n type ControllerCheckParams,\n type Controllers,\n ControllerCheckParamsSchema\n} from './schemas/controllers';\nimport {normalizeCaller} from './utils/caller.utils';\n\n/**\n * Gets the list of admin controllers from the Satellite.\n *\n * @returns {Controllers} The list of admin controllers.\n *\n * @throws {z.ZodError} If the returned value does not match the expected schema.\n */\nexport const getAdminControllers = (): Controllers => __juno_satellite_get_admin_controllers();\n\n/**\n * Gets the list of controllers from the Satellite.\n *\n * @returns {Controllers} The list of all controllers.\n *\n * @throws {z.ZodError} If the returned value does not match the expected schema.\n */\nexport const getControllers = (): Controllers => __juno_satellite_get_controllers();\n\n/**\n * Checks if the given caller is an admin among the provided controllers.\n *\n * @param {ControllerCheckParams} params - The parameters including the caller identity\n * and the list of controllers to verify against.\n *\n * @returns {boolean} Whether the caller is an admin.\n *\n * @throws {z.ZodError} If any input does not match the expected schema.\n */\nexport const isAdminController = (params: ControllerCheckParams): boolean => {\n ControllerCheckParamsSchema.parse(params);\n\n const {caller: providedCaller, controllers} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_is_admin_controller(caller, controllers);\n};\n\n/**\n * Checks if the given caller exists among the provided controllers.\n *\n * @param {ControllerCheckParams} params - The parameters including the caller identity\n * and the list of controllers to verify against.\n *\n * @returns {boolean} Whether the caller is a controller.\n *\n * @throws {z.ZodError} If any input does not match the expected schema.\n */\nexport const isController = (params: ControllerCheckParams): boolean => {\n ControllerCheckParamsSchema.parse(params);\n\n const {caller: providedCaller, controllers} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_is_controller(caller, controllers);\n};\n", "import * as z from 'zod';\nimport {type ListParams, ListParamsSchema} from '../../schemas/list';\nimport {\n type Collection,\n CollectionSchema,\n type RawUserId,\n RawUserIdSchema,\n type UserId,\n UserIdSchema\n} from '../../schemas/satellite';\n\n/**\n * @see CollectionParams\n */\nexport const CollectionParamsSchema = z\n .object({\n collection: CollectionSchema\n })\n .strict();\n\n/**\n * The parameters required to scope an operation to a collection.\n */\nexport interface CollectionParams {\n /**\n * The name of the collection to target.\n */\n collection: Collection;\n}\n\n/**\n * @see ListStoreParams\n */\nexport const ListStoreParamsSchema = CollectionParamsSchema.extend({\n caller: RawUserIdSchema.or(UserIdSchema),\n params: ListParamsSchema\n}).strict();\n\n/**\n * The parameters required to list documents from the datastore respectively assets from the storage.\n */\nexport type ListStoreParams = CollectionParams & {\n /**\n * The identity of the caller requesting the list operation.\n */\n caller: RawUserId | UserId;\n\n /**\n * Optional filtering, ordering, and pagination parameters.\n */\n params: ListParams;\n};\n", "import {type DelDoc, DelDocSchema, type SetDoc, SetDocSchema} from '../../schemas/db';\nimport {\n type Key,\n KeySchema,\n type RawUserId,\n RawUserIdSchema,\n type UserId,\n UserIdSchema\n} from '../../schemas/satellite';\nimport {\n type CollectionParams,\n CollectionParamsSchema,\n type ListStoreParams,\n ListStoreParamsSchema\n} from './params';\n\n/**\n * @see GetDocStoreParams\n */\nexport const GetDocStoreParamsSchema = CollectionParamsSchema.extend({\n caller: RawUserIdSchema.or(UserIdSchema),\n key: KeySchema\n}).strict();\n\n/**\n * Represents the base parameters required to access the datastore and modify a document.\n */\nexport type GetDocStoreParams = CollectionParams & {\n /**\n * The caller who initiate the document operation.\n */\n caller: RawUserId | UserId;\n\n /**\n * The key identifying the document within the collection.\n */\n key: Key;\n};\n\n/**\n * @see SetDocStoreParams\n */\nexport const SetDocStoreParamsSchema = GetDocStoreParamsSchema.extend({\n doc: SetDocSchema\n}).strict();\n\n/**\n * Represents the parameters required to store or update a document.\n *\n * This includes the document data along with metadata such as the caller,\n * collection, and key.\n */\nexport type SetDocStoreParams = GetDocStoreParams & {\n /**\n * The data, optional description and version required to create or update a document.\n */\n doc: SetDoc;\n};\n\n/**\n * @see DeleteDocStoreParams\n */\nexport const DeleteDocStoreParamsSchema = GetDocStoreParamsSchema.extend({\n doc: DelDocSchema\n}).strict();\n\n/**\n * Represents the parameters required to delete a document.\n *\n * This includes the document version along with metadata such as the caller,\n * collection, and key.\n */\nexport type DeleteDocStoreParams = GetDocStoreParams & {\n /**\n * The version required to delete a document.\n */\n doc: DelDoc;\n};\n\n/**\n * @see CountCollectionDocsStoreParams\n */\nexport const CountCollectionDocsStoreParamsSchema = CollectionParamsSchema;\n\n/**\n * The parameters required to count documents from the datastore.\n */\nexport type CountCollectionDocsStoreParams = CollectionParams;\n\n/**\n * @see CountDocsStoreParams\n */\nexport const CountDocsStoreParamsSchema = ListStoreParamsSchema;\n\n/**\n * The parameters required to count documents from the datastore.\n */\nexport type CountDocsStoreParams = ListStoreParams;\n\n/**\n * @see ListDocsStoreParams\n */\nexport const ListDocsStoreParamsSchema = ListStoreParamsSchema;\n\n/**\n * The parameters required to list documents from the datastore.\n */\nexport type ListDocsStoreParams = ListStoreParams;\n\n/**\n * @see DeleteDocsStoreParams\n */\nexport const DeleteDocsStoreParamsSchema = CollectionParamsSchema;\n\n/**\n * The parameters required to delete the documents from a collection of the datastore.\n */\nexport type DeleteDocsStoreParams = CollectionParams;\n\n/**\n * @see DeleteFilteredDocsParams\n */\nexport const DeleteFilteredDocsStoreParamsSchema = ListStoreParamsSchema;\n\n/**\n * The parameters required to delete documents from the datastore.\n */\nexport type DeleteFilteredDocsStoreParams = ListStoreParams;\n", "import type {DocContext} from '../hooks/schemas/db/context';\nimport type {DocUpsert} from '../hooks/schemas/db/payload';\nimport type {Doc, OptionDoc} from '../schemas/db';\nimport type {ListResults} from '../schemas/list';\nimport {\n type CountCollectionDocsStoreParams,\n CountCollectionDocsStoreParamsSchema,\n type CountDocsStoreParams,\n CountDocsStoreParamsSchema,\n type DeleteDocsStoreParams,\n DeleteDocsStoreParamsSchema,\n type DeleteDocStoreParams,\n DeleteDocStoreParamsSchema,\n type DeleteFilteredDocsStoreParams,\n DeleteFilteredDocsStoreParamsSchema,\n type GetDocStoreParams,\n GetDocStoreParamsSchema,\n type ListDocsStoreParams,\n ListDocsStoreParamsSchema,\n type SetDocStoreParams,\n SetDocStoreParamsSchema\n} from './schemas/db';\nimport {normalizeCaller} from './utils/caller.utils';\n\n/**\n * Stores or updates a document in the datastore.\n *\n * The data must have been encoded - using encodeDocData - before calling this function.\n *\n * @param {SetDocStoreParams} params - The parameters required to store the document,\n * including the caller, collection, key, and document data.\n *\n * @returns {DocContext<DocUpsert>} The context of the stored or updated document,\n * including its key, collection, and both the previous and current versions of the document.\n *\n * @throws {z.ZodError} If the provided parameters do not match the expected schema.\n * @throws {Error} If the Satellite fails to validate or store the document.\n */\nexport const setDocStore = (params: SetDocStoreParams): DocContext<DocUpsert> => {\n SetDocStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, key, doc} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_set_doc_store(caller, collection, key, doc);\n};\n\n/**\n * Deletes a document from the datastore.\n *\n * @param {DeleteDocStoreParams} params - The parameters required to delete the document,\n * including the caller, collection, key, and the expected version of the document.\n *\n * @returns {DocContext<OptionDoc>} The context of the deleted document,\n * including its key, collection, and optionally the previous document data if it existed.\n *\n * @throws {z.ZodError} If the provided parameters do not match the expected schema.\n * @throws {Error} If the Satellite fails to validate the request or the document cannot be deleted.\n */\nexport const deleteDocStore = (params: DeleteDocStoreParams): DocContext<OptionDoc> => {\n DeleteDocStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, key, doc} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_delete_doc_store(caller, collection, key, doc);\n};\n\n/**\n * Retrieve a document from the datastore.\n *\n * @param {GetDocStoreParams} params - The parameters required to get the document.\n *\n * @returns {OptionDoc} The document if found, or undefined if not.\n *\n * @throws {z.ZodError} If the provided parameters do not match the expected schema.\n * @throws {Error} If the Satellite fails while retrieving the document.\n */\nexport const getDocStore = (params: GetDocStoreParams): OptionDoc => {\n GetDocStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, key} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_get_doc_store(caller, collection, key);\n};\n\n/**\n * Lists documents from the datastore using optional filtering, pagination, and ordering parameters.\n *\n * @param {ListStoreParams} params - The parameters required to perform the list operation.\n *\n * @returns {ListResults<Doc>} A list result containing matching documents and pagination metadata.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the listing operation.\n */\nexport const listDocsStore = (params: ListDocsStoreParams): ListResults<Doc> => {\n ListDocsStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, params: listParams} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_list_docs_store(caller, collection, listParams);\n};\n\n/**\n * Counts the number of documents in a specific collection.\n *\n * @param {CountCollectionDocsStoreParams} params - The parameters required to count documents in the collection.\n *\n * @returns {bigint} The total number of documents in the specified collection.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const countCollectionDocsStore = (params: CountCollectionDocsStoreParams): bigint => {\n CountCollectionDocsStoreParamsSchema.parse(params);\n\n const {collection} = params;\n\n return __juno_satellite_datastore_count_collection_docs_store(collection);\n};\n\n/**\n * Counts the number of documents in a collection matching specific filters and owned by a specific caller.\n *\n * @param {CountDocsStoreParams} params - The parameters required to perform the filtered count.\n *\n * @returns {bigint} The number of documents that match the provided filters.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const countDocsStore = (params: CountDocsStoreParams): bigint => {\n CountDocsStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, params: listParams} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_count_docs_store(caller, collection, listParams);\n};\n\n/**\n * Delete documents in a specific collection of the Datastore.\n *\n * @param {DeleteDocsStoreParams} params - The parameters required to delete documents in the collection.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const deleteDocsStore = (params: DeleteDocsStoreParams): void => {\n DeleteDocsStoreParamsSchema.parse(params);\n\n const {collection} = params;\n\n __juno_satellite_datastore_delete_docs_store(collection);\n};\n\n/**\n * Delete documents in a collection matching specific filters and owned by a specific caller.\n *\n * @param {DeleteFilteredDocsStoreParams} params - The parameters required to perform the filtered deletion.\n *\n * @returns {DocContext<OptionDoc>[]} The context resulting of the deletion of documents that match the provided filters.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const deleteFilteredDocsStore = (\n params: DeleteFilteredDocsStoreParams\n): DocContext<OptionDoc>[] => {\n DeleteFilteredDocsStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, params: listParams} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_datastore_delete_filtered_docs_store(caller, collection, listParams);\n};\n", "import * as z from 'zod';\n\n/**\n * @see Memory\n */\nexport const MemorySchema = z.enum(['heap', 'stable']);\n\n/**\n * Memory type used to select storage or datastore location.\n */\nexport type Memory = z.infer<typeof MemorySchema>;\n", "import * as z from 'zod';\nimport {type RawUserId, type UserId, RawUserIdSchema, UserIdSchema} from '../../schemas/satellite';\nimport {\n type AssetEncoding,\n type AssetKey,\n type Blob,\n type FullPath,\n type HeaderFields,\n AssetEncodingSchema,\n AssetKeySchema,\n BlobSchema,\n FullPathSchema,\n HeaderFieldsSchema\n} from '../../schemas/storage';\nimport {type Memory, MemorySchema} from './collections';\nimport {\n type CollectionParams,\n type ListStoreParams,\n CollectionParamsSchema,\n ListStoreParamsSchema\n} from './params';\n\n/**\n * @see GetAssetStoreParams\n */\nexport const GetAssetStoreParamsSchema = CollectionParamsSchema.extend({\n caller: RawUserIdSchema.or(UserIdSchema),\n full_path: FullPathSchema\n}).strict();\n\n/**\n * Represents the base parameters required to access the storage and modify an asset.\n */\nexport type GetAssetStoreParams = CollectionParams & {\n /**\n * The caller who initiate the document operation.\n */\n caller: RawUserId | UserId;\n\n /**\n * The full_path identifying the asset within the collection.\n */\n full_path: FullPath;\n};\n\n/**\n * @see CountCollectionAssetsStoreParams\n */\nexport const CountCollectionAssetsStoreParamsSchema = CollectionParamsSchema;\n\n/**\n * The parameters required to count documents from the storage.\n */\nexport type CountCollectionAssetsStoreParams = CollectionParams;\n\n/**\n * @see CountAssetsStoreParams\n */\nexport const CountAssetsStoreParamsSchema = ListStoreParamsSchema;\n\n/**\n * The parameters required to count documents from the storage.\n */\nexport type CountAssetsStoreParams = ListStoreParams;\n\n/**\n * @see SetAssetHandlerParams\n */\nexport const SetAssetHandlerParamsSchema = z\n .object({\n key: AssetKeySchema,\n content: BlobSchema,\n headers: HeaderFieldsSchema\n })\n .strict();\n\n/**\n * The parameters required to set (or update) an asset.\n */\nexport interface SetAssetHandlerParams {\n /**\n * The key identifying the asset.\n */\n key: AssetKey;\n\n /**\n * The binary content of the asset.\n */\n content: Blob;\n\n /**\n * Associated HTTP headers.\n */\n headers: HeaderFields;\n}\n\n/**\n * @see DeleteAssetsStoreParams\n */\nexport const DeleteAssetsStoreParamsSchema = CollectionParamsSchema;\n\n/**\n * The parameters required to delete the assets from a collection of the storage.\n */\nexport type DeleteAssetsStoreParams = CollectionParams;\n\n/**\n * @see DeleteFilteredAssetsParams\n */\nexport const DeleteFilteredAssetsStoreParamsSchema = ListStoreParamsSchema;\n\n/**\n * The parameters required to delete assets from the storage.\n */\nexport type DeleteFilteredAssetsStoreParams = ListStoreParams;\n\n/**\n * @see DeleteAssetStoreParams\n */\nexport const DeleteAssetStoreParamsSchema = GetAssetStoreParamsSchema;\n\n/**\n * Represents the parameters required to delete an asset.\n */\nexport type DeleteAssetStoreParams = GetAssetStoreParams;\n\n/**\n * @see ListAssetsStoreParams\n */\nexport const ListAssetsStoreParamsSchema = ListStoreParamsSchema;\n\n/**\n * The parameters required to list documents from the datastore.\n */\nexport type ListAssetsStoreParams = ListStoreParams;\n\n/**\n * @see GetContentChunksStoreParams\n */\nexport const GetContentChunksStoreParamsSchema = z\n .object({\n encoding: AssetEncodingSchema,\n chunk_index: z.bigint(),\n memory: MemorySchema\n })\n .strict();\n\n/**\n * The parameters required to retrieve a specific chunk from an asset.\n */\nexport interface GetContentChunksStoreParams {\n /**\n * The encoding of the chunks.\n */\n encoding: AssetEncoding;\n\n /**\n * The index of the chunk to retrieve.\n */\n chunk_index: bigint;\n\n /**\n * The memory type to retrieve the chunk from.\n */\n memory: Memory;\n}\n", "import {jsonReplacer, jsonReviver} from '@dfinity/utils';\nimport type {RawData} from '../schemas/db';\n\n/**\n * Decodes the raw data of a document into a JavaScript object.\n *\n * @template T The expected type of the decoded object.\n * @param {RawData} data - The raw data to be decoded.\n * @returns {T} The parsed JavaScript object.\n */\nexport const decodeDocData = <T>(data: RawData): T =>\n JSON.parse(__juno_satellite_datastore_raw_data_to_text(data), jsonReviver);\n\n/**\n * Encodes a JavaScript object into a raw data format to be applied to a document.\n *\n * @template T The type of the object to be encoded.\n * @param {T} data - The data to be encoded.\n * @returns {RawData} The serialized raw data.\n */\nexport const encodeDocData = <T>(data: T): RawData =>\n __juno_satellite_datastore_raw_data_from_text(JSON.stringify(data, jsonReplacer));\n", "import type {ListResults} from '../schemas/list';\nimport type {AssetNoContent, Blob, OptionAsset} from '../schemas/storage';\nimport {\n type CountAssetsStoreParams,\n CountAssetsStoreParamsSchema,\n type CountCollectionAssetsStoreParams,\n CountCollectionAssetsStoreParamsSchema,\n type DeleteAssetsStoreParams,\n DeleteAssetsStoreParamsSchema,\n type DeleteAssetStoreParams,\n DeleteAssetStoreParamsSchema,\n type DeleteFilteredAssetsStoreParams,\n DeleteFilteredAssetsStoreParamsSchema,\n type GetAssetStoreParams,\n GetAssetStoreParamsSchema,\n type GetContentChunksStoreParams,\n GetContentChunksStoreParamsSchema,\n type ListAssetsStoreParams,\n ListAssetsStoreParamsSchema,\n type SetAssetHandlerParams,\n SetAssetHandlerParamsSchema\n} from './schemas/storage';\nimport {normalizeCaller} from './utils/caller.utils';\n\n/**\n * Counts the number of assets in a specific collection.\n *\n * @param {CountCollectionAssetsStoreParams} params - The parameters required to count assets in the collection.\n *\n * @returns {bigint} The total number of assets in the specified collection.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const countCollectionAssetsStore = (params: CountCollectionAssetsStoreParams): bigint => {\n CountCollectionAssetsStoreParamsSchema.parse(params);\n\n const {collection} = params;\n\n return __juno_satellite_storage_count_collection_assets_store(collection);\n};\n\n/**\n * Counts the number of assets in a collection matching specific filters and owned by a specific caller.\n *\n * @param {CountAssetsStoreParams} params - The parameters required to perform the filtered count.\n *\n * @returns {bigint} The number of assets that match the provided filters.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const countAssetsStore = (params: CountAssetsStoreParams): bigint => {\n CountAssetsStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, params: listParams} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_storage_count_assets_store(caller, collection, listParams);\n};\n\n/**\n * Sets or updates an asset in the storage.\n *\n * @param {SetAssetHandlerParams} params - The parameters required to set or update an asset.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the operation.\n */\nexport const setAssetHandler = (params: SetAssetHandlerParams): void => {\n SetAssetHandlerParamsSchema.parse(params);\n\n const {key, content, headers} = params;\n\n __juno_satellite_storage_set_asset_handler(key, content, headers);\n};\n\n/**\n * Deletes an asset from the storage.\n *\n * @param {DeleteAssetStoreParams} params - The parameters required to delete the asset.\n *\n * @returns {OptionAsset} The potentially deleted asset.\n *\n * @throws {z.ZodError} If the provided parameters do not match the expected schema.\n * @throws {Error} If the Satellite fails to validate the request or the asset cannot be deleted.\n */\nexport const deleteAssetStore = (params: DeleteAssetStoreParams): OptionAsset => {\n DeleteAssetStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, full_path} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_storage_delete_asset_store(caller, collection, full_path);\n};\n\n/**\n * Delete assets in a specific collection of the Storage.\n *\n * @param {DeleteAssetsStoreParams} params - The parameters required to delete assets in the collection.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const deleteAssetsStore = (params: DeleteAssetsStoreParams): void => {\n DeleteAssetsStoreParamsSchema.parse(params);\n\n const {collection} = params;\n\n __juno_satellite_storage_delete_assets_store(collection);\n};\n\n/**\n * Delete assets in a collection matching specific filters and owned by a specific caller.\n *\n * @param {DeleteFilteredAssetsStoreParams} params - The parameters required to perform the filtered deletion.\n *\n * @returns {OptionAsset[]} The potential asset resulting of the deletion that match the provided filters.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the count operation.\n */\nexport const deleteFilteredAssetsStore = (\n params: DeleteFilteredAssetsStoreParams\n): OptionAsset[] => {\n DeleteFilteredAssetsStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, params: listParams} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_storage_delete_filtered_assets_store(caller, collection, listParams);\n};\n\n/**\n * Retrieve an asset from the storage.\n *\n * @param {GetAssetStoreParams} params - The parameters required to get the asset.\n *\n * @returns {OptionAsset} The asset if found, or undefined if not.\n *\n * @throws {z.ZodError} If the provided parameters do not match the expected schema.\n * @throws {Error} If the Satellite fails while retrieving the document.\n */\nexport const getAssetStore = (params: GetAssetStoreParams): OptionAsset => {\n GetAssetStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, full_path} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_storage_get_asset_store(caller, collection, full_path);\n};\n\n/**\n * Lists assets (without content) from the storage using optional filtering, pagination, and ordering parameters.\n *\n * @param {ListStoreParams} params - The parameters required to perform the list operation.\n *\n * @returns {ListResults<AssetNoContent>} A list result containing matching assets and pagination metadata.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite fails while performing the listing operation.\n */\nexport const listAssetsStore = (params: ListAssetsStoreParams): ListResults<AssetNoContent> => {\n ListAssetsStoreParamsSchema.parse(params);\n\n const {caller: providedCaller, collection, params: listParams} = params;\n\n const caller = normalizeCaller(providedCaller);\n\n return __juno_satellite_storage_list_assets_store(caller, collection, listParams);\n};\n\n/**\n * Retrieves content chunks of an asset.\n *\n * This function fetches a content chunk of a given asset encoding using the specified parameters.\n *\n * @param {GetContentChunksStoreParams} params - The parameters including encoding, chunk index, and memory type.\n *\n * @returns {Blob | undefined} The content chunk if found, or `undefined` if not.\n *\n * @throws {z.ZodError} If the input parameters do not conform to the schema.\n * @throws {Error} If the Satellite throws an internal error during retrieval.\n */\nexport const getContentChunksStore = (params: GetContentChunksStoreParams): Blob | undefined => {\n GetContentChunksStoreParamsSchema.parse(params);\n\n const {encoding, chunk_index, memory} = params;\n\n return __juno_satellite_storage_get_content_chunks_store(encoding, chunk_index, memory);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["z", "ControllerScopeSchema", "MetadataSchema", "ControllerSchema", "TimestampSchema", "ControllerRecordSchema", "RawPrincipalSchema", "ControllersSchema", "ControllerCheckParamsSchema", "RawUserIdSchema", "UserIdSchema", "Principal", "normalizeCaller", "caller", "getAdminControllers", "getControllers", "isAdminController", "params", "ControllerCheckParamsSchema", "providedCaller", "controllers", "caller", "normalizeCaller", "isController", "z", "CollectionParamsSchema", "CollectionSchema", "ListStoreParamsSchema", "RawUserIdSchema", "UserIdSchema", "ListParamsSchema", "GetDocStoreParamsSchema", "CollectionParamsSchema", "RawUserIdSchema", "UserIdSchema", "KeySchema", "SetDocStoreParamsSchema", "SetDocSchema", "DeleteDocStoreParamsSchema", "DelDocSchema", "CountCollectionDocsStoreParamsSchema", "CountDocsStoreParamsSchema", "ListStoreParamsSchema", "ListDocsStoreParamsSchema", "DeleteDocsStoreParamsSchema", "DeleteFilteredDocsStoreParamsSchema", "setDocStore", "params", "SetDocStoreParamsSchema", "providedCaller", "collection", "key", "doc", "caller", "normalizeCaller", "deleteDocStore", "DeleteDocStoreParamsSchema", "getDocStore", "GetDocStoreParamsSchema", "listDocsStore", "ListDocsStoreParamsSchema", "listParams", "countCollectionDocsStore", "CountCollectionDocsStoreParamsSchema", "countDocsStore", "CountDocsStoreParamsSchema", "deleteDocsStore", "DeleteDocsStoreParamsSchema", "deleteFilteredDocsStore", "DeleteFilteredDocsStoreParamsSchema", "z", "MemorySchema", "z", "GetAssetStoreParamsSchema", "CollectionParamsSchema", "RawUserIdSchema", "UserIdSchema", "FullPathSchema", "CountCollectionAssetsStoreParamsSchema", "CountAssetsStoreParamsSchema", "ListStoreParamsSchema", "SetAssetHandlerParamsSchema", "AssetKeySchema", "BlobSchema", "HeaderFieldsSchema", "DeleteAssetsStoreParamsSchema", "DeleteFilteredAssetsStoreParamsSchema", "DeleteAssetStoreParamsSchema", "ListAssetsStoreParamsSchema", "GetContentChunksStoreParamsSchema", "AssetEncodingSchema", "MemorySchema", "jsonReplacer", "jsonReviver", "decodeDocData", "data", "encodeDocData", "countCollectionAssetsStore", "params", "CountCollectionAssetsStoreParamsSchema", "collection", "countAssetsStore", "CountAssetsStoreParamsSchema", "providedCaller", "listParams", "caller", "normalizeCaller", "setAssetHandler", "SetAssetHandlerParamsSchema", "key", "content", "headers", "deleteAssetStore", "DeleteAssetStoreParamsSchema", "full_path", "deleteAssetsStore", "DeleteAssetsStoreParamsSchema", "deleteFilteredAssetsStore", "DeleteFilteredAssetsStoreParamsSchema", "getAssetStore", "GetAssetStoreParamsSchema", "listAssetsStore", "ListAssetsStoreParamsSchema", "getContentChunksStore", "GetContentChunksStoreParamsSchema", "encoding", "chunk_index", "memory"]
7
7
  }
package/src/global.d.ts CHANGED
@@ -1,36 +1,109 @@
1
- import type {DelDoc, RawData, SetDoc} from './schemas/db';
1
+ import type {DocContext} from './hooks/schemas/db/context';
2
+ import type {DocUpsert} from './hooks/schemas/db/payload';
3
+ import type {DelDoc, Doc, OptionDoc, RawData, SetDoc} from './schemas/db';
4
+ import type {ListParams, ListResults} from './schemas/list';
2
5
  import type {Collection, Key, RawPrincipal, RawUserId} from './schemas/satellite';
6
+ import type {
7
+ AssetEncoding,
8
+ AssetKey,
9
+ AssetNoContent,
10
+ Blob,
11
+ FullPath,
12
+ HeaderFields,
13
+ OptionAsset
14
+ } from './schemas/storage';
15
+ import type {Memory} from './sdk/schemas/collections';
3
16
  import type {Controllers} from './sdk/schemas/controllers';
4
17
 
5
18
  declare global {
6
- function __juno_satellite_datastore_raw_data_to_text(data: RawData): string;
7
- function __juno_satellite_datastore_raw_data_from_text(data: string): RawData;
8
-
9
- function __juno_satellite_datastore_get_admin_controllers(): Controllers;
10
- function __juno_satellite_datastore_get_controllers(): Controllers;
11
- function __juno_satellite_datastore_is_admin_controller(
12
- caller: RawUserId,
13
- controllers: Controllers
14
- ): boolean;
15
- function __juno_satellite_datastore_is_controller(
19
+ function __juno_satellite_get_admin_controllers(): Controllers;
20
+ function __juno_satellite_get_controllers(): Controllers;
21
+ function __juno_satellite_is_admin_controller(
16
22
  caller: RawUserId,
17
23
  controllers: Controllers
18
24
  ): boolean;
25
+ function __juno_satellite_is_controller(caller: RawUserId, controllers: Controllers): boolean;
19
26
 
27
+ function __juno_satellite_random(): number;
28
+
29
+ function __juno_satellite_datastore_raw_data_to_text(data: RawData): string;
30
+ function __juno_satellite_datastore_raw_data_from_text(data: string): RawData;
31
+
32
+ function __juno_satellite_datastore_count_collection_docs_store(collection: Collection): bigint;
33
+ function __juno_satellite_datastore_count_docs_store(
34
+ caller: RawUserId,
35
+ collection: Collection,
36
+ filter: ListParams
37
+ ): bigint;
20
38
  function __juno_satellite_datastore_set_doc_store(
21
39
  caller: RawUserId,
22
40
  collection: Collection,
23
41
  key: Key,
24
42
  value: SetDoc
25
- ): void;
43
+ ): DocContext<DocUpsert>;
26
44
  function __juno_satellite_datastore_delete_doc_store(
27
45
  caller: RawUserId,
28
46
  collection: Collection,
29
47
  key: Key,
30
48
  value: DelDoc
49
+ ): DocContext<OptionDoc>;
50
+ function __juno_satellite_datastore_delete_docs_store(collection: Collection): void;
51
+ function __juno_satellite_datastore_delete_filtered_docs_store(
52
+ caller: RawUserId,
53
+ collection: Collection,
54
+ filter: ListParams
55
+ ): DocContext<OptionDoc>[];
56
+ function __juno_satellite_datastore_get_doc_store(
57
+ caller: RawUserId,
58
+ collection: Collection,
59
+ key: Key
60
+ ): OptionDoc;
61
+ function __juno_satellite_datastore_list_docs_store(
62
+ caller: RawUserId,
63
+ collection: Collection,
64
+ params: ListParams
65
+ ): ListResults<Doc>;
66
+
67
+ function __juno_satellite_storage_count_collection_assets_store(collection: Collection): bigint;
68
+ function __juno_satellite_storage_count_assets_store(
69
+ caller: RawUserId,
70
+ collection: Collection,
71
+ filter: ListParams
72
+ ): bigint;
73
+ function __juno_satellite_storage_set_asset_handler(
74
+ key: AssetKey,
75
+ content: Blob,
76
+ headers: HeaderFields
31
77
  ): void;
78
+ function __juno_satellite_storage_delete_asset_store(
79
+ caller: RawUserId,
80
+ collection: Collection,
81
+ full_path: FullPath
82
+ ): OptionAsset;
83
+ function __juno_satellite_storage_delete_assets_store(collection: Collection): void;
84
+ function __juno_satellite_storage_delete_filtered_assets_store(
85
+ caller: RawUserId,
86
+ collection: Collection,
87
+ filter: ListParams
88
+ ): OptionAsset[];
89
+ function __juno_satellite_storage_get_asset_store(
90
+ caller: RawUserId,
91
+ collection: Collection,
92
+ full_path: FullPath
93
+ ): OptionAsset;
94
+ function __juno_satellite_storage_list_assets_store(
95
+ caller: RawUserId,
96
+ collection: Collection,
97
+ params: ListParams
98
+ ): ListResults<AssetNoContent>;
99
+ function __juno_satellite_storage_get_content_chunks_store(
100
+ encoding: AssetEncoding,
101
+ chunk_index: bigint,
102
+ memory: Memory
103
+ ): Blob | undefined;
32
104
 
33
105
  function __ic_cdk_id(): RawPrincipal;
106
+ function __ic_cdk_time(): bigint;
34
107
  function __ic_cdk_print(msg: string): void;
35
108
  function __ic_cdk_call_raw(
36
109
  canisterId: RawPrincipal,
package/chunk-ZUGCGTXG.js DELETED
@@ -1,2 +0,0 @@
1
- import{a,b as p,c}from"./chunk-CCKUQNB5.js";import*as e from"zod";var r=e.bigint(),t=e.bigint(),n=p,h=c,y=e.string(),d=e.string(),i=e.string().max(1024);import*as o from"zod";var s=a,m=o.object({owner:n,data:s,description:i.optional(),created_at:r,updated_at:r,version:t.optional()}).strict(),z=m.optional(),l=o.object({data:s,description:i.optional(),version:t.optional()}).strict(),w=o.object({version:t.optional()}).strict();export{r as a,t as b,n as c,h as d,y as e,d as f,i as g,s as h,m as i,z as j,l as k,w as l};
2
- //# sourceMappingURL=chunk-ZUGCGTXG.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["src/schemas/satellite.ts", "src/schemas/db.ts"],
4
- "sourcesContent": ["import * as z from 'zod';\nimport {PrincipalSchema, RawPrincipalSchema} from './candid';\n\n/**\n * @see Timestamp\n */\nexport const TimestampSchema = z.bigint();\n\n/**\n * Represents a timestamp in nanoseconds since the Unix epoch.\n *\n * Used for tracking when events occur, such as document creation and updates.\n */\nexport type Timestamp = z.infer<typeof TimestampSchema>;\n\n/**\n * @see Version\n */\nexport const VersionSchema = z.bigint();\n\n/**\n * Represents a version number for tracking changes.\n *\n * This is typically incremented with each update to ensure consistency.\n */\nexport type Version = z.infer<typeof VersionSchema>;\n\n/**\n * @see RawUserId\n */\nexport const RawUserIdSchema = RawPrincipalSchema;\n\n/**\n * Represents a raw user identifier.\n *\n * This is a principal associated with a user.\n */\nexport type RawUserId = z.infer<typeof RawUserIdSchema>;\n\n/**\n * @see UserId\n */\nexport const UserIdSchema = PrincipalSchema;\n\n/**\n * Represents a user identifier.\n *\n * This is a principal associated with a user.\n */\nexport type UserId = z.infer<typeof UserIdSchema>;\n\n/**\n * @see Collection\n */\nexport const CollectionSchema = z.string();\n\n/**\n * A collection name where data are stored.\n */\nexport type Collection = z.infer<typeof CollectionSchema>;\n\n/**\n * @see Key\n */\nexport const KeySchema = z.string();\n\n/**\n * A key identifier within a collection.\n */\nexport type Key = z.infer<typeof KeySchema>;\n\n/**\n * @see Description\n */\nexport const DescriptionSchema = z.string().max(1024);\n\n/**\n * Represents a description with a maximum length of 1024 characters.\n * Used for document and asset fields which can be useful for search purpose.\n */\nexport type Description = z.infer<typeof DescriptionSchema>;\n", "import * as z from 'zod';\nimport {Uint8ArraySchema} from './candid';\nimport {\n type Description,\n DescriptionSchema,\n type RawUserId,\n RawUserIdSchema,\n type Timestamp,\n TimestampSchema,\n type Version,\n VersionSchema\n} from './satellite';\n\n/**\n * @see RawData\n */\nexport const RawDataSchema = Uint8ArraySchema;\n\n/**\n * Represents raw binary data.\n *\n * This is used to store structured data in a document.\n */\nexport type RawData = z.infer<typeof Uint8ArraySchema>;\n\n/**\n * @see Doc\n */\nexport const DocSchema = z\n .object({\n owner: RawUserIdSchema,\n data: RawDataSchema,\n description: DescriptionSchema.optional(),\n created_at: TimestampSchema,\n updated_at: TimestampSchema,\n version: VersionSchema.optional()\n })\n .strict();\n\n/**\n * Represents a document stored in a collection.\n */\nexport interface Doc {\n /**\n * The user who owns this document.\n */\n owner: RawUserId;\n\n /**\n * The raw data of the document.\n */\n data: RawData;\n\n /**\n * An optional description of the document.\n */\n description?: Description;\n\n /**\n * The timestamp when the document was first created.\n */\n created_at: Timestamp;\n\n /**\n * The timestamp when the document was last updated.\n */\n updated_at: Timestamp;\n\n /**\n * The version number of the document, used for consistency checks.\n * If not provided, it's assumed to be the first version.\n */\n version?: Version;\n}\n\n/**\n * @see OptionDoc\n */\nexport const OptionDocSchema = DocSchema.optional();\n\n/**\n * A shorthand for a document that might or not be defined.\n */\nexport type OptionDoc = Doc | undefined;\n\n/**\n * @see SetDoc\n */\nexport const SetDocSchema = z\n .object({\n data: RawDataSchema,\n description: DescriptionSchema.optional(),\n version: VersionSchema.optional()\n })\n .strict();\n\n/**\n * Represents the proposed version of a document to be created or updated.\n * This can be validated before allowing the operation.\n */\nexport interface SetDoc {\n /**\n * The raw data of the document.\n */\n data: RawData;\n\n /**\n * An optional description of the document.\n */\n description?: Description;\n\n /**\n * The expected version number to ensure consistency.\n */\n version?: Version;\n}\n\n/**\n * @see DelDoc\n */\nexport const DelDocSchema = z\n .object({\n version: VersionSchema.optional()\n })\n .strict();\n\n/**\n * Represents the proposed version of a document to be deleted.\n * This can be validated before allowing the operation.\n */\nexport interface DelDoc {\n /**\n * The expected version number to ensure consistency.\n */\n version?: Version;\n}\n"],
5
- "mappings": "4CAAA,UAAYA,MAAO,MAMZ,IAAMC,EAAoB,SAAO,EAY3BC,EAAkB,SAAO,EAYzBC,EAAkBC,EAYlBC,EAAeC,EAYfC,EAAqB,SAAO,EAU5BC,EAAc,SAAO,EAUrBC,EAAsB,SAAO,EAAE,IAAI,IAAI,EC1EpD,UAAYC,MAAO,MAgBZ,IAAMC,EAAgBC,EAYhBC,EACV,SAAO,CACN,MAAOC,EACP,KAAMH,EACN,YAAaI,EAAkB,SAAS,EACxC,WAAYC,EACZ,WAAYA,EACZ,QAASC,EAAc,SAAS,CAClC,CAAC,EACA,OAAO,EAyCGC,EAAkBL,EAAU,SAAS,EAUrCM,EACV,SAAO,CACN,KAAMR,EACN,YAAaI,EAAkB,SAAS,EACxC,QAASE,EAAc,SAAS,CAClC,CAAC,EACA,OAAO,EA0BGG,EACV,SAAO,CACN,QAASH,EAAc,SAAS,CAClC,CAAC,EACA,OAAO",
6
- "names": ["z", "TimestampSchema", "VersionSchema", "RawUserIdSchema", "RawPrincipalSchema", "UserIdSchema", "PrincipalSchema", "CollectionSchema", "KeySchema", "DescriptionSchema", "z", "RawDataSchema", "Uint8ArraySchema", "DocSchema", "RawUserIdSchema", "DescriptionSchema", "TimestampSchema", "VersionSchema", "OptionDocSchema", "SetDocSchema", "DelDocSchema"]
7
- }