@junobuild/functions 0.0.2 → 0.0.3

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,2 +1,2 @@
1
- function n(o){return o}function i(o){return o}import{jsonReplacer as t,jsonReviver as e}from"@dfinity/utils";var c=o=>JSON.parse(__juno_satellite_datastore_raw_data_to_text(o),e),p=o=>__juno_satellite_datastore_raw_data_from_text(JSON.stringify(o,t));export{c as decodeDocData,n as defineAssert,i as defineHook,p as encodeDocData};
1
+ function c(o){return o}function p(o){return o}import{jsonReplacer as r,jsonReviver as i}from"@dfinity/utils";var l=o=>JSON.parse(__juno_satellite_datastore_raw_data_to_text(o),i),x=o=>__juno_satellite_datastore_raw_data_from_text(JSON.stringify(o,r));import{jsonReplacer as s}from"@dfinity/utils";var t=o=>{let n=o.map(e=>typeof e=="object"?JSON.stringify(e,s):e).join(" ");globalThis.__ic_cdk_print(n)};globalThis.console={info(...o){t(o)},log(...o){t(o)},warn(...o){t(o)},error(...o){t(o)}};export{l as decodeDocData,c as defineAssert,p as defineHook,x as encodeDocData};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/configs/assert.config.ts", "../../src/configs/hook.config.ts", "../../src/sdk/datastore.sdk.ts"],
4
- "sourcesContent": ["import type {AssertSetDocContext} from '../hooks/context';\nimport type {CollectionsConfig} from './collection.config';\nimport type {SatelliteConfigEnv} from './satellite.config';\n\n/**\n * The generic configuration for assertion hooks that manage collections.\n */\nexport interface AssertAssertConfig extends CollectionsConfig {\n assertSetDoc: never;\n}\n\n/**\n * A configuration object that includes the `assertSetDoc` function.\n * This function is called to validate a document before it is created or updated.\n */\nexport interface AssertSetDocConfig extends Omit<AssertAssertConfig, 'assertSetDoc'> {\n /**\n * A function that runs synchronously before a document is set in the Datastore.\n * This can be used to enforce your validation rules.\n *\n * @param {AssertSetDocContext} context - Provides details about the document being validated.\n * @throws {Error} If your validation fails, throw an exception to prevent the document from being saved.\n *\n */\n assertSetDoc: (context: AssertSetDocContext) => void;\n}\n\nexport type AssertConfig = AssertSetDocConfig;\n\nexport type AssertFn = (config: SatelliteConfigEnv) => AssertConfig;\n\nexport type AssertFnOrObject = AssertConfig | AssertFn;\n\nexport function defineAssert(config: AssertConfig): AssertConfig;\nexport function defineAssert(config: AssertFn): AssertFn;\nexport function defineAssert(config: AssertFnOrObject): AssertFnOrObject;\nexport function defineAssert(config: AssertFnOrObject): AssertFnOrObject {\n return config;\n}\n", "import type {OnSetDocContext} from '../hooks/context';\nimport type {CollectionsConfig} from './collection.config';\nimport type {SatelliteConfigEnv} from './satellite.config';\n\n/**\n * The generic configuration for hooks that manage collections.\n */\nexport interface OnHookConfig extends CollectionsConfig {\n onSetDoc: never;\n}\n\n/**\n * A configuration object that includes the `onSetDoc` function.\n * This function is called when a document is created or updated.\n */\nexport interface OnSetDocConfig extends Omit<OnHookConfig, 'onSetDoc'> {\n /**\n * A function that runs when a document is set in the Datastore.\n *\n * @param {OnSetDocContext} context - Provides details about the document being saved.\n * @returns {Promise<void>} Resolves when your operation is complete.\n */\n onSetDoc: (context: OnSetDocContext) => Promise<void>;\n}\n\nexport type HookConfig = OnSetDocConfig; // TODO: to be extended\n\nexport type HookFn = (config: SatelliteConfigEnv) => HookConfig;\n\nexport type HookFnOrObject = HookConfig | HookFn;\n\nexport function defineHook(config: HookConfig): HookConfig;\nexport function defineHook(config: HookFn): HookFn;\nexport function defineHook(config: HookFnOrObject): HookFnOrObject;\nexport function defineHook(config: HookFnOrObject): HookFnOrObject {\n return config;\n}\n", "import {jsonReplacer, jsonReviver} from '@dfinity/utils';\nimport type {RawData} from '../hooks/core';\n\nexport const decodeDocData = <T>(data: RawData): T =>\n JSON.parse(__juno_satellite_datastore_raw_data_to_text(data), jsonReviver);\n\nexport const encodeDocData = <T>(data: T): RawData =>\n __juno_satellite_datastore_raw_data_from_text(JSON.stringify(data, jsonReplacer));\n"],
5
- "mappings": "AAoCO,SAASA,EAAaC,EAA4C,CACvE,OAAOA,CACT,CCJO,SAASC,EAAWC,EAAwC,CACjE,OAAOA,CACT,CCpCA,OAAQ,gBAAAC,EAAc,eAAAC,MAAkB,iBAGjC,IAAMC,EAAoBC,GAC/B,KAAK,MAAM,4CAA4CA,CAAI,EAAGF,CAAW,EAE9DG,EAAoBD,GAC/B,8CAA8C,KAAK,UAAUA,EAAMH,CAAY,CAAC",
6
- "names": ["defineAssert", "config", "defineHook", "config", "jsonReplacer", "jsonReviver", "decodeDocData", "data", "encodeDocData"]
3
+ "sources": ["../../src/configs/assert.config.ts", "../../src/configs/hook.config.ts", "../../src/sdk/datastore.sdk.ts", "../../src/polyfills/console.polyfill.ts"],
4
+ "sourcesContent": ["import type {AssertSetDocContext} from '../hooks/context';\nimport type {CollectionsConfig} from './collection.config';\nimport type {SatelliteConfigEnv} from './satellite.config';\n\n/**\n * The generic configuration for assertion hooks that manage collections.\n */\nexport interface AssertAssertConfig extends CollectionsConfig {\n assertSetDoc: never;\n}\n\n/**\n * A configuration object that includes the `assertSetDoc` function.\n * This function is called to validate a document before it is created or updated.\n */\nexport interface AssertSetDocConfig extends Omit<AssertAssertConfig, 'assertSetDoc'> {\n /**\n * A function that runs synchronously before a document is set in the Datastore.\n * This can be used to enforce your validation rules.\n *\n * @param {AssertSetDocContext} context - Provides details about the document being validated.\n * @throws {Error} If your validation fails, throw an exception to prevent the document from being saved.\n *\n */\n assertSetDoc: (context: AssertSetDocContext) => void;\n}\n\nexport type AssertConfig = AssertSetDocConfig;\n\nexport type AssertFn = (config: SatelliteConfigEnv) => AssertConfig;\n\nexport type AssertFnOrObject = AssertConfig | AssertFn;\n\nexport function defineAssert(config: AssertConfig): AssertConfig;\nexport function defineAssert(config: AssertFn): AssertFn;\nexport function defineAssert(config: AssertFnOrObject): AssertFnOrObject;\nexport function defineAssert(config: AssertFnOrObject): AssertFnOrObject {\n return config;\n}\n", "import type {OnSetDocContext} from '../hooks/context';\nimport type {CollectionsConfig} from './collection.config';\nimport type {SatelliteConfigEnv} from './satellite.config';\n\n/**\n * The generic configuration for hooks that manage collections.\n */\nexport interface OnHookConfig extends CollectionsConfig {\n onSetDoc: never;\n}\n\n/**\n * A configuration object that includes the `onSetDoc` function.\n * This function is called when a document is created or updated.\n */\nexport interface OnSetDocConfig extends Omit<OnHookConfig, 'onSetDoc'> {\n /**\n * A function that runs when a document is set in the Datastore.\n *\n * @param {OnSetDocContext} context - Provides details about the document being saved.\n * @returns {Promise<void>} Resolves when your operation is complete.\n */\n onSetDoc: (context: OnSetDocContext) => Promise<void>;\n}\n\nexport type HookConfig = OnSetDocConfig; // TODO: to be extended\n\nexport type HookFn = (config: SatelliteConfigEnv) => HookConfig;\n\nexport type HookFnOrObject = HookConfig | HookFn;\n\nexport function defineHook(config: HookConfig): HookConfig;\nexport function defineHook(config: HookFn): HookFn;\nexport function defineHook(config: HookFnOrObject): HookFnOrObject;\nexport function defineHook(config: HookFnOrObject): HookFnOrObject {\n return config;\n}\n", "import {jsonReplacer, jsonReviver} from '@dfinity/utils';\nimport type {RawData} from '../hooks/core';\n\nexport const decodeDocData = <T>(data: RawData): T =>\n JSON.parse(__juno_satellite_datastore_raw_data_to_text(data), jsonReviver);\n\nexport const encodeDocData = <T>(data: T): RawData =>\n __juno_satellite_datastore_raw_data_from_text(JSON.stringify(data, jsonReplacer));\n", "import {jsonReplacer} from '@dfinity/utils';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst __juno_satellite_console_log = (v: any[]) => {\n const msg = v\n .map((arg) => (typeof arg === 'object' ? JSON.stringify(arg, jsonReplacer) : arg))\n .join(' ');\n\n globalThis.__ic_cdk_print(msg);\n};\n\n// @ts-expect-error We want to override the console\nglobalThis.console = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n info(...v: any[]) {\n __juno_satellite_console_log(v);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n log(...v: any[]) {\n __juno_satellite_console_log(v);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n warn(...v: any[]) {\n __juno_satellite_console_log(v);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n error(...v: any[]) {\n __juno_satellite_console_log(v);\n }\n};\n"],
5
+ "mappings": "AAoCO,SAASA,EAAaC,EAA4C,CACvE,OAAOA,CACT,CCJO,SAASC,EAAWC,EAAwC,CACjE,OAAOA,CACT,CCpCA,OAAQ,gBAAAC,EAAc,eAAAC,MAAkB,iBAGjC,IAAMC,EAAoBC,GAC/B,KAAK,MAAM,4CAA4CA,CAAI,EAAGF,CAAW,EAE9DG,EAAoBD,GAC/B,8CAA8C,KAAK,UAAUA,EAAMH,CAAY,CAAC,ECPlF,OAAQ,gBAAAK,MAAmB,iBAG3B,IAAMC,EAAgCC,GAAa,CACjD,IAAMC,EAAMD,EACT,IAAKE,GAAS,OAAOA,GAAQ,SAAW,KAAK,UAAUA,EAAKJ,CAAY,EAAII,CAAI,EAChF,KAAK,GAAG,EAEX,WAAW,eAAeD,CAAG,CAC/B,EAGA,WAAW,QAAU,CAEnB,QAAQD,EAAU,CAChBD,EAA6BC,CAAC,CAChC,EAEA,OAAOA,EAAU,CACfD,EAA6BC,CAAC,CAChC,EAEA,QAAQA,EAAU,CAChBD,EAA6BC,CAAC,CAChC,EAEA,SAASA,EAAU,CACjBD,EAA6BC,CAAC,CAChC,CACF",
6
+ "names": ["defineAssert", "config", "defineHook", "config", "jsonReplacer", "jsonReviver", "decodeDocData", "data", "encodeDocData", "jsonReplacer", "__juno_satellite_console_log", "v", "msg", "arg"]
7
7
  }
@@ -3,4 +3,6 @@ import type {RawData} from './hooks/core';
3
3
  declare global {
4
4
  function __juno_satellite_datastore_raw_data_to_text(data: RawData): string;
5
5
  function __juno_satellite_datastore_raw_data_from_text(data: string): RawData;
6
+
7
+ function __ic_cdk_print(msg: string): void;
6
8
  }
@@ -6,3 +6,4 @@ export type * from './hooks/datastore';
6
6
  export * from './configs/assert.config';
7
7
  export * from './configs/hook.config';
8
8
  export * from './sdk/datastore.sdk';
9
+ import './polyfills/console.polyfill';
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@junobuild/functions",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "JavaScript and TypeScript utilities for Juno Serverless Functions",
5
5
  "author": "David Dal Busco (https://daviddalbusco.com)",
6
6
  "license": "MIT",