@waku/rln
Version:
RLN (Rate Limiting Nullifier) implementation for Waku
41 lines (38 loc) • 1.6 kB
JavaScript
import { __exports as schemaValidation } from '../../../../_virtual/schema-validation.js';
import './schema-validation-generated.js';
import { __exports as schemaValidationGenerated } from '../../../../_virtual/schema-validation-generated.js';
Object.defineProperty(schemaValidation, "__esModule", { value: true });
schemaValidation.isValidKeystore = schemaValidation.validateKeystore = schemaValidation.schemaValidationErrors = void 0;
const schema_validation_generated_1 = schemaValidationGenerated;
// Redeclare generated function with the proper type
const _validateKeystore = schema_validation_generated_1.Keystore;
/**
* Return schema validation errors for a potential keystore object
*/
// This function wraps the generated code weirdness
function schemaValidationErrors(data) {
const validated = _validateKeystore(data);
if (validated) {
return null;
}
return _validateKeystore.errors;
}
schemaValidation.schemaValidationErrors = schemaValidationErrors;
/**
* Validate an unknown object as a valid keystore, throws on invalid keystore
*/
function validateKeystore(keystore) {
const errors = schemaValidationErrors(keystore);
if (errors) {
throw new Error(errors.map((error) => `${error.instancePath}: ${error.message}`).join('\n'));
}
}
schemaValidation.validateKeystore = validateKeystore;
/**
* Predicate for validating an unknown object as a valid keystore
*/
function isValidKeystore(keystore) {
return !schemaValidationErrors(keystore);
}
schemaValidation.isValidKeystore = isValidKeystore;
export { schemaValidation as default };