Skip to content

Commit 593b1d9

Browse files
committed
Added changelog
1 parent ee33988 commit 593b1d9

3 files changed

Lines changed: 57 additions & 34 deletions

File tree

.claude/scheduled_tasks.lock

Lines changed: 0 additions & 1 deletion
This file was deleted.

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Change Log
2+
3+
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
4+
5+
## [0.1.0] - 2026-04-18
6+
7+
## Added
8+
- Initial release.
9+
10+
### Changed
11+
12+
### Fixed
13+

src/commands/snapshot.rs

Lines changed: 44 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,8 @@ fn topologically_sort(schema: &Schema, shards: &mut Vec<Shard>) -> CliResult<()>
217217

218218
while let Some(i) = ready.pop() {
219219
order.push(i);
220-
for j in 0..n {
221-
if deps[j].remove(&i) && deps[j].is_empty() {
220+
for (j, dep) in deps.iter_mut().enumerate() {
221+
if dep.remove(&i) && dep.is_empty() {
222222
ready.push(j);
223223
}
224224
}
@@ -316,9 +316,7 @@ fn push_shard_refs(schema: &Schema, object_name: &str, out: &mut Vec<ShardKey>)
316316
Some(ObjectType::View {
317317
object_name: parent,
318318
}) => {
319-
let parent_variant = object_name
320-
.rsplit_once('/')
321-
.map(|(_, v)| v.to_string());
319+
let parent_variant = object_name.rsplit_once('/').map(|(_, v)| v.to_string());
322320
out.push(ShardKey {
323321
canonical: parent.clone(),
324322
variant: parent_variant,
@@ -470,10 +468,7 @@ fn emit_create<W: Write>(
470468
sink.write_all(b"\",\"value\":{")?;
471469

472470
let fields = shard_fields(schema, &shard.key).ok_or_else(|| {
473-
CliError::UnexpectedResponse(format!(
474-
"no schema available for {}",
475-
shard.key.canonical
476-
))
471+
CliError::UnexpectedResponse(format!("no schema available for {}", shard.key.canonical))
477472
})?;
478473
let query_method = format!("{}/query", shard.key.canonical);
479474
let get_method = format!("{}/get", shard.key.canonical);
@@ -511,12 +506,12 @@ fn emit_create<W: Write>(
511506
)));
512507
}
513508
let mut iter = resp.responses.into_iter();
514-
let q_resp = iter.next().ok_or_else(|| {
515-
CliError::UnexpectedResponse("missing query response".into())
516-
})?;
517-
let g_resp = iter.next().ok_or_else(|| {
518-
CliError::UnexpectedResponse("missing get response".into())
519-
})?;
509+
let q_resp = iter
510+
.next()
511+
.ok_or_else(|| CliError::UnexpectedResponse("missing query response".into()))?;
512+
let g_resp = iter
513+
.next()
514+
.ok_or_else(|| CliError::UnexpectedResponse("missing get response".into()))?;
520515
check_response(q_resp, &query_method)?;
521516
let g_result = check_response(g_resp, &get_method)?;
522517

@@ -526,22 +521,21 @@ fn emit_create<W: Write>(
526521
if list.is_empty() {
527522
break;
528523
}
529-
let last_id = list.last().and_then(|v| v.get("id").and_then(Value::as_str)).map(String::from);
524+
let last_id = list
525+
.last()
526+
.and_then(|v| v.get("id").and_then(Value::as_str))
527+
.map(String::from);
530528
let returned = list.len();
531529

532530
for item in list {
533-
let Some(obj) = item.as_object() else { continue };
531+
let Some(obj) = item.as_object() else {
532+
continue;
533+
};
534534
let server_id = match obj.get("id").and_then(Value::as_str) {
535535
Some(s) => s,
536536
None => continue,
537537
};
538-
let mut out_obj = transform_object(
539-
schema,
540-
fields,
541-
obj,
542-
allow,
543-
include_secrets,
544-
);
538+
let mut out_obj = transform_object(schema, fields, obj, allow, include_secrets);
545539
if shard.key.variant.is_some()
546540
&& let Some(at_type) = obj.get("@type")
547541
{
@@ -619,9 +613,9 @@ fn emit_singleton_update<W: Write>(
619613
resolve::display_name(canonical)
620614
)));
621615
};
622-
let obj = item.as_object().ok_or_else(|| {
623-
CliError::UnexpectedResponse("singleton result is not an object".into())
624-
})?;
616+
let obj = item
617+
.as_object()
618+
.ok_or_else(|| CliError::UnexpectedResponse("singleton result is not an object".into()))?;
625619
let transformed = transform_object(schema, fields, obj, allow, include_secrets);
626620

627621
if !*first {
@@ -703,7 +697,9 @@ fn transform_value(
703697
if allow.contains(base) {
704698
return None;
705699
}
706-
let Value::String(id) = value else { return Some(Value::Null) };
700+
let Value::String(id) = value else {
701+
return Some(Value::Null);
702+
};
707703
let prefix = prefix_for(object_name);
708704
let mut s = String::with_capacity(prefix.len() + id.len() + 2);
709705
s.push('#');
@@ -717,7 +713,14 @@ fn transform_value(
717713
key_class,
718714
value_class,
719715
..
720-
} => transform_map(schema, key_class, value_class, value, allow, include_secrets),
716+
} => transform_map(
717+
schema,
718+
key_class,
719+
value_class,
720+
value,
721+
allow,
722+
include_secrets,
723+
),
721724
FieldType::Object { object_name, .. } => {
722725
transform_embedded(schema, object_name, value, allow, include_secrets)
723726
}
@@ -734,7 +737,9 @@ fn transform_set(
734737
value: Value,
735738
allow: &HashSet<String>,
736739
) -> Option<Value> {
737-
let Value::Object(map) = value else { return Some(value) };
740+
let Value::Object(map) = value else {
741+
return Some(value);
742+
};
738743
match class {
739744
ScalarType::ObjectId { object_name } => {
740745
let (base, _) = split_view(object_name);
@@ -765,7 +770,9 @@ fn transform_map(
765770
allow: &HashSet<String>,
766771
include_secrets: bool,
767772
) -> Option<Value> {
768-
let Value::Object(map) = value else { return Some(value) };
773+
let Value::Object(map) = value else {
774+
return Some(value);
775+
};
769776
let prefix = match key_class {
770777
ScalarType::ObjectId { object_name } => {
771778
let (base, _) = split_view(object_name);
@@ -810,7 +817,9 @@ fn transform_embedded(
810817
allow: &HashSet<String>,
811818
include_secrets: bool,
812819
) -> Option<Value> {
813-
let Value::Object(map) = value else { return Some(value) };
820+
let Value::Object(map) = value else {
821+
return Some(value);
822+
};
814823
let obj_schema = schema.schemas.get(object_name)?;
815824
let fields = match obj_schema {
816825
ObjectSchema::Single { schema_name } => schema.fields.get(schema_name)?,
@@ -846,7 +855,9 @@ fn transform_object_list(
846855
allow: &HashSet<String>,
847856
include_secrets: bool,
848857
) -> Option<Value> {
849-
let Value::Object(map) = value else { return Some(value) };
858+
let Value::Object(map) = value else {
859+
return Some(value);
860+
};
850861
let mut out = Map::with_capacity(map.len());
851862
for (idx, item) in map {
852863
if let Some(tv) = transform_embedded(schema, object_name, item, allow, include_secrets) {

0 commit comments

Comments
 (0)