Compare commits
5 Commits
4d8ac0717d
...
669b348160
Author | SHA1 | Date |
---|---|---|
Tomáš Mládek | 669b348160 | |
Tomáš Mládek | 175518e3a6 | |
Tomáš Mládek | 94818b992a | |
Tomáš Mládek | f2261998ee | |
Tomáš Mládek | 730cc02d7a |
|
@ -278,4 +278,11 @@ dev-local:
|
||||||
COPY +wasmlib/pkg-node /wasm-node
|
COPY +wasmlib/pkg-node /wasm-node
|
||||||
SAVE ARTIFACT /js-dist AS LOCAL sdks/js/dist
|
SAVE ARTIFACT /js-dist AS LOCAL sdks/js/dist
|
||||||
SAVE ARTIFACT /wasm-web AS LOCAL wasm/pkg-web
|
SAVE ARTIFACT /wasm-web AS LOCAL wasm/pkg-web
|
||||||
SAVE ARTIFACT /wasm-node AS LOCAL wasm/pkg-node
|
SAVE ARTIFACT /wasm-node AS LOCAL wasm/pkg-node
|
||||||
|
|
||||||
|
dev-update-sdk:
|
||||||
|
LOCALLY
|
||||||
|
WORKDIR sdks/js
|
||||||
|
RUN pnpm build
|
||||||
|
WORKDIR webui
|
||||||
|
RUN pnpm install
|
|
@ -103,12 +103,14 @@ impl Address {
|
||||||
UP_UUID => Ok(Address::Uuid(
|
UP_UUID => Ok(Address::Uuid(
|
||||||
Uuid::from_slice(digest.as_slice()).map_err(UpEndError::from_any)?,
|
Uuid::from_slice(digest.as_slice()).map_err(UpEndError::from_any)?,
|
||||||
)),
|
)),
|
||||||
UP_ATTRIBUTE => Ok(Address::Attribute(
|
UP_ATTRIBUTE => {
|
||||||
String::from_utf8(digest)
|
let attribute = String::from_utf8(digest).map_err(UpEndError::from_any)?;
|
||||||
.map_err(UpEndError::from_any)?
|
if attribute.is_empty() {
|
||||||
.as_str()
|
Ok(Address::Attribute(Attribute::null()))
|
||||||
.parse()?,
|
} else {
|
||||||
)),
|
Ok(Address::Attribute(attribute.parse()?))
|
||||||
|
}
|
||||||
|
}
|
||||||
UP_URL => Ok(Address::Url(
|
UP_URL => Ok(Address::Url(
|
||||||
Url::parse(&String::from_utf8(digest).map_err(UpEndError::from_any)?)
|
Url::parse(&String::from_utf8(digest).map_err(UpEndError::from_any)?)
|
||||||
.map_err(UpEndError::from_any)?,
|
.map_err(UpEndError::from_any)?,
|
||||||
|
@ -255,6 +257,9 @@ mod tests {
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
use crate::addressing::{Address, IDENTITY};
|
use crate::addressing::{Address, IDENTITY};
|
||||||
|
use crate::constants::{
|
||||||
|
TYPE_ATTRIBUTE_ADDRESS, TYPE_HASH_ADDRESS, TYPE_URL_ADDRESS, TYPE_UUID_ADDRESS,
|
||||||
|
};
|
||||||
use crate::hash::{LargeMultihash, UpMultihash};
|
use crate::hash::{LargeMultihash, UpMultihash};
|
||||||
|
|
||||||
use super::UpEndError;
|
use super::UpEndError;
|
||||||
|
@ -267,6 +272,11 @@ mod tests {
|
||||||
let encoded = addr.encode()?;
|
let encoded = addr.encode()?;
|
||||||
let decoded = Address::decode(&encoded)?;
|
let decoded = Address::decode(&encoded)?;
|
||||||
assert_eq!(addr, decoded);
|
assert_eq!(addr, decoded);
|
||||||
|
|
||||||
|
let addr = &*TYPE_HASH_ADDRESS;
|
||||||
|
let encoded = addr.encode()?;
|
||||||
|
let decoded = Address::decode(&encoded)?;
|
||||||
|
assert_eq!(addr, &decoded);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -276,6 +286,11 @@ mod tests {
|
||||||
let encoded = addr.encode()?;
|
let encoded = addr.encode()?;
|
||||||
let decoded = Address::decode(&encoded)?;
|
let decoded = Address::decode(&encoded)?;
|
||||||
assert_eq!(addr, decoded);
|
assert_eq!(addr, decoded);
|
||||||
|
|
||||||
|
let addr = &*TYPE_UUID_ADDRESS;
|
||||||
|
let encoded = addr.encode()?;
|
||||||
|
let decoded = Address::decode(&encoded)?;
|
||||||
|
assert_eq!(addr, &decoded);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -285,6 +300,11 @@ mod tests {
|
||||||
let encoded = addr.encode()?;
|
let encoded = addr.encode()?;
|
||||||
let decoded = Address::decode(&encoded)?;
|
let decoded = Address::decode(&encoded)?;
|
||||||
assert_eq!(addr, decoded);
|
assert_eq!(addr, decoded);
|
||||||
|
|
||||||
|
let addr = &*TYPE_ATTRIBUTE_ADDRESS;
|
||||||
|
let encoded = addr.encode()?;
|
||||||
|
let decoded = Address::decode(&encoded)?;
|
||||||
|
assert_eq!(addr, &decoded);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -294,6 +314,11 @@ mod tests {
|
||||||
let encoded = addr.encode()?;
|
let encoded = addr.encode()?;
|
||||||
let decoded = Address::decode(&encoded)?;
|
let decoded = Address::decode(&encoded)?;
|
||||||
assert_eq!(addr, decoded);
|
assert_eq!(addr, decoded);
|
||||||
|
|
||||||
|
let addr = &*TYPE_URL_ADDRESS;
|
||||||
|
let encoded = addr.encode()?;
|
||||||
|
let decoded = Address::decode(&encoded)?;
|
||||||
|
assert_eq!(addr, &decoded);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,7 @@ pub struct InvariantEntry {
|
||||||
pub value: EntryValue,
|
pub value: EntryValue,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::large_enum_variant)]
|
||||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
#[serde(tag = "t", content = "c")]
|
#[serde(tag = "t", content = "c")]
|
||||||
pub enum EntryValue {
|
pub enum EntryValue {
|
||||||
|
|
|
@ -79,6 +79,7 @@ impl TryFrom<lexpr::Value> for Attribute {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::large_enum_variant)]
|
||||||
#[derive(Debug, Clone, PartialEq)]
|
#[derive(Debug, Clone, PartialEq)]
|
||||||
pub enum QueryPart {
|
pub enum QueryPart {
|
||||||
Matches(PatternQuery),
|
Matches(PatternQuery),
|
||||||
|
|
|
@ -3,6 +3,7 @@ use std::{process::Command, sync::Arc};
|
||||||
use super::Extractor;
|
use super::Extractor;
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
|
use tracing::{debug, trace};
|
||||||
use upend_base::{
|
use upend_base::{
|
||||||
addressing::Address,
|
addressing::Address,
|
||||||
constants::{ATTR_IN, ATTR_KEY, ATTR_LABEL, ATTR_OF},
|
constants::{ATTR_IN, ATTR_KEY, ATTR_LABEL, ATTR_OF},
|
||||||
|
|
|
@ -349,7 +349,7 @@ async fn main() -> Result<()> {
|
||||||
if !exists {
|
if !exists {
|
||||||
warn!(
|
warn!(
|
||||||
"Couldn't locate Web UI directory ({:?}), disabling...",
|
"Couldn't locate Web UI directory ({:?}), disabling...",
|
||||||
WEBUI_PATH.to_owned()
|
*WEBUI_PATH
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
exists
|
exists
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
|
use anyhow::Result;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
use tracing::{debug, trace};
|
||||||
use anyhow::Result;
|
|
||||||
|
|
||||||
use super::Previewable;
|
use super::Previewable;
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
|
use anyhow::Result;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::io::Read;
|
use std::io::Read;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
use tracing::{debug, trace};
|
||||||
use anyhow::Result;
|
|
||||||
|
|
||||||
use super::Previewable;
|
use super::Previewable;
|
||||||
|
|
||||||
|
|
|
@ -385,6 +385,7 @@ pub struct InEntry {
|
||||||
pub value: EntryValue,
|
pub value: EntryValue,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::large_enum_variant)]
|
||||||
#[derive(Debug, Clone, Deserialize)]
|
#[derive(Debug, Clone, Deserialize)]
|
||||||
#[serde(untagged, deny_unknown_fields)]
|
#[serde(untagged, deny_unknown_fields)]
|
||||||
pub enum PutInput {
|
pub enum PutInput {
|
||||||
|
|
|
@ -178,9 +178,7 @@ pub fn execute(
|
||||||
var_name.clone(),
|
var_name.clone(),
|
||||||
subquery_results
|
subquery_results
|
||||||
.iter()
|
.iter()
|
||||||
.map(|e| {
|
.map(|e| e.attribute.parse().map(EntryPart::Attribute))
|
||||||
e.attribute.parse().map(|a| EntryPart::Attribute(a))
|
|
||||||
})
|
|
||||||
.collect::<Result<Vec<EntryPart>, _>>()?,
|
.collect::<Result<Vec<EntryPart>, _>>()?,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,6 +136,7 @@ impl FsStore {
|
||||||
|
|
||||||
// Actual processing
|
// Actual processing
|
||||||
let count = RwLock::new(0_usize);
|
let count = RwLock::new(0_usize);
|
||||||
|
#[allow(clippy::type_complexity)]
|
||||||
let resolve_cache: Arc<Mutex<LruCache<(Option<Address>, UNode), Address>>> =
|
let resolve_cache: Arc<Mutex<LruCache<(Option<Address>, UNode), Address>>> =
|
||||||
Arc::new(Mutex::new(LruCache::new(256)));
|
Arc::new(Mutex::new(LruCache::new(256)));
|
||||||
let total = paths.len() as f32;
|
let total = paths.len() as f32;
|
||||||
|
@ -238,6 +239,7 @@ impl FsStore {
|
||||||
Ok(all_outcomes)
|
Ok(all_outcomes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::too_many_arguments)]
|
||||||
fn process_directory_entry<D: Borrow<UpEndDatabase>>(
|
fn process_directory_entry<D: Borrow<UpEndDatabase>>(
|
||||||
&self,
|
&self,
|
||||||
db: D,
|
db: D,
|
||||||
|
|
Loading…
Reference in New Issue