harn-modules 0.7.29

Cross-file module graph and import resolution utilities for Harn
Documentation
import { filter_nil } from "std/collections"
import { merge } from "std/json"

var notion_connector_config = {}

pub fn configure(config) {
  notion_connector_config = filter_nil(config ?? {})
  return notion_connector_config
}

pub fn reset() {
  notion_connector_config = {}
}

fn __call(method, params = {}) {
  return connector_call("notion", method, filter_nil(merge(notion_connector_config, params ?? {})))
}

pub fn get_page(id, options = nil) {
  return __call("get_page", (options ?? {}) + {id: id})
}

pub fn update_page(id, properties, options = nil) {
  return __call("update_page", (options ?? {}) + {id: id, properties: properties})
}

pub fn append_blocks(page_id, blocks, options = nil) {
  return __call("append_blocks", (options ?? {}) + {page_id: page_id, blocks: blocks})
}

pub fn query_database(id, filter = nil, sorts = nil, options = nil) {
  return __call(
    "query_database",
    filter_nil((options ?? {}) + {id: id, filter: filter, sorts: sorts}),
  )
}

pub fn search(query, options = nil) {
  return __call("search", (options ?? {}) + {query: query})
}

pub fn create_comment(page_id, rich_text, options = nil) {
  return __call("create_comment", (options ?? {}) + {page_id: page_id, rich_text: rich_text})
}

pub fn api_call(path, method, body = nil, options = nil) {
  return __call("api_call", filter_nil((options ?? {}) + {path: path, method: method, body: body}))
}