@absolutejs/absolute 0.20.0-beta.15 → 0.20.0-beta.16

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.
package/dist/cli/index.js CHANGED
@@ -6325,6 +6325,8 @@ var RUNTIME_TRANSPORT, host, isRegistry = (value) => typeof value === "object" &
6325
6325
  }
6326
6326
  for (const [index, rule] of (policy.mutations ?? []).entries()) {
6327
6327
  validatePolicyMatch(rule.match, `${label}.mutations[${index}]`);
6328
+ if (rule.persistence === "memory-only" && rule.protection === "required")
6329
+ throw new SyncLocalDataPolicyError("INVALID_POLICY", `${label}.mutations[${index}] cannot require at-rest protection when it is memory-only.`);
6328
6330
  if (rule.sensitivity !== undefined && rule.sensitivity !== "public" && rule.protection !== "required" && rule.persistence !== "memory-only")
6329
6331
  throw new SyncLocalDataPolicyError("INVALID_POLICY", `${label}.mutations[${index}] declares ${rule.sensitivity} arguments without required protection.`);
6330
6332
  }
@@ -6577,6 +6579,7 @@ var object = (value) => typeof value === "object" && value !== null && !Array.is
6577
6579
  const rule = requireObject(entry, id, `localData.mutations[${index}] must be an object.`);
6578
6580
  const allowedRuleKeys = new Set([
6579
6581
  "match",
6582
+ "onProtectionUnavailable",
6580
6583
  "persistence",
6581
6584
  "protection",
6582
6585
  "sensitivity"
@@ -6587,15 +6590,19 @@ var object = (value) => typeof value === "object" && value !== null && !Array.is
6587
6590
  const protection = unknownField(rule, "protection");
6588
6591
  const sensitivity = unknownField(rule, "sensitivity");
6589
6592
  const persistence = unknownField(rule, "persistence");
6593
+ const onProtectionUnavailable = unknownField(rule, "onProtectionUnavailable");
6590
6594
  if (protection !== undefined && protection !== "none" && protection !== "required")
6591
6595
  throw metadataError(id, `localData.mutations[${index}].protection is invalid.`);
6592
6596
  if (sensitivity !== undefined && sensitivity !== "public" && sensitivity !== "private" && sensitivity !== "secret")
6593
6597
  throw metadataError(id, `localData.mutations[${index}].sensitivity is invalid.`);
6598
+ if (onProtectionUnavailable !== undefined && onProtectionUnavailable !== "error" && onProtectionUnavailable !== "memory-only")
6599
+ throw metadataError(id, `localData.mutations[${index}].onProtectionUnavailable is invalid.`);
6594
6600
  if (persistence !== undefined && persistence !== "durable" && persistence !== "memory-only")
6595
6601
  throw metadataError(id, `localData.mutations[${index}].persistence is invalid.`);
6596
6602
  return {
6597
6603
  match: nonEmpty(Reflect.get(rule, "match"), id, `localData.mutations[${index}].match`),
6598
6604
  ...sensitivity ? { sensitivity } : {},
6605
+ ...onProtectionUnavailable ? { onProtectionUnavailable } : {},
6599
6606
  ...persistence ? {
6600
6607
  persistence
6601
6608
  } : {},
@@ -16970,7 +16977,7 @@ var HMR_ASSET_PATTERN, RELEASE_ASSET_EXTENSIONS, pathExists5 = async (path) => {
16970
16977
  const collectionRules = schema.components.flatMap((component2) => component2.localData?.collections ?? []);
16971
16978
  const mutationRules = schema.components.flatMap((component2) => component2.localData?.mutations ?? []);
16972
16979
  const protectedCount = [...collectionRules, ...mutationRules].filter((rule) => rule.protection === "required").length;
16973
- const memoryOnlyCount = collectionRules.filter((rule) => rule.persistence === "memory-only" || rule.onProtectionUnavailable === "memory-only").length;
16980
+ const memoryOnlyCount = [...collectionRules, ...mutationRules].filter((rule) => rule.persistence === "memory-only" || rule.onProtectionUnavailable === "memory-only").length;
16974
16981
  const quotas = schema.components.map((component2) => component2.localData?.maxBytesPerNamespace).filter((value) => value !== undefined);
16975
16982
  const policy = `${collectionRules.length} collection rule(s), ${mutationRules.length} mutation rule(s), ${protectedCount} encryption-required, ${memoryOnlyCount} memory-only fallback(s)${quotas.length > 0 ? `, ${Math.min(...quotas)}-byte effective quota` : ", no logical quota"}`;
16976
16983
  return pass("sync.storage-schema", `Generated offline schema is compatible: ${versions}; ${policy}.`, manifestPath);
package/dist/index.js CHANGED
@@ -13220,6 +13220,8 @@ var RUNTIME_TRANSPORT, host, isRegistry = (value) => typeof value === "object" &
13220
13220
  }
13221
13221
  for (const [index, rule] of (policy.mutations ?? []).entries()) {
13222
13222
  validatePolicyMatch(rule.match, `${label}.mutations[${index}]`);
13223
+ if (rule.persistence === "memory-only" && rule.protection === "required")
13224
+ throw new SyncLocalDataPolicyError("INVALID_POLICY", `${label}.mutations[${index}] cannot require at-rest protection when it is memory-only.`);
13223
13225
  if (rule.sensitivity !== undefined && rule.sensitivity !== "public" && rule.protection !== "required" && rule.persistence !== "memory-only")
13224
13226
  throw new SyncLocalDataPolicyError("INVALID_POLICY", `${label}.mutations[${index}] declares ${rule.sensitivity} arguments without required protection.`);
13225
13227
  }
@@ -13472,6 +13474,7 @@ var object = (value) => typeof value === "object" && value !== null && !Array.is
13472
13474
  const rule = requireObject(entry, id, `localData.mutations[${index}] must be an object.`);
13473
13475
  const allowedRuleKeys = new Set([
13474
13476
  "match",
13477
+ "onProtectionUnavailable",
13475
13478
  "persistence",
13476
13479
  "protection",
13477
13480
  "sensitivity"
@@ -13482,15 +13485,19 @@ var object = (value) => typeof value === "object" && value !== null && !Array.is
13482
13485
  const protection = unknownField(rule, "protection");
13483
13486
  const sensitivity = unknownField(rule, "sensitivity");
13484
13487
  const persistence = unknownField(rule, "persistence");
13488
+ const onProtectionUnavailable = unknownField(rule, "onProtectionUnavailable");
13485
13489
  if (protection !== undefined && protection !== "none" && protection !== "required")
13486
13490
  throw metadataError(id, `localData.mutations[${index}].protection is invalid.`);
13487
13491
  if (sensitivity !== undefined && sensitivity !== "public" && sensitivity !== "private" && sensitivity !== "secret")
13488
13492
  throw metadataError(id, `localData.mutations[${index}].sensitivity is invalid.`);
13493
+ if (onProtectionUnavailable !== undefined && onProtectionUnavailable !== "error" && onProtectionUnavailable !== "memory-only")
13494
+ throw metadataError(id, `localData.mutations[${index}].onProtectionUnavailable is invalid.`);
13489
13495
  if (persistence !== undefined && persistence !== "durable" && persistence !== "memory-only")
13490
13496
  throw metadataError(id, `localData.mutations[${index}].persistence is invalid.`);
13491
13497
  return {
13492
13498
  match: nonEmpty(Reflect.get(rule, "match"), id, `localData.mutations[${index}].match`),
13493
13499
  ...sensitivity ? { sensitivity } : {},
13500
+ ...onProtectionUnavailable ? { onProtectionUnavailable } : {},
13494
13501
  ...persistence ? {
13495
13502
  persistence
13496
13503
  } : {},
@@ -40380,5 +40387,5 @@ export {
40380
40387
  ANGULAR_INIT_TIMEOUT_MS
40381
40388
  };
40382
40389
 
40383
- //# debugId=6C5F45490109F7A064756E2164756E21
40390
+ //# debugId=FF975832AE5A306264756E2164756E21
40384
40391
  //# sourceMappingURL=index.js.map