import * as __typia_transform__assertGuard from "typia/lib/internal/_assertGuard.js";
import * as __typia_transform__accessExpressionAsString from "typia/lib/internal/_accessExpressionAsString.js";
import * as typia from 'typia';
export const assertKeetaAnchorCertificateRequiredErrorJSONProperties = (() => { const _io0 = (input, _exceptionable = true) => Array.isArray(input.acceptedIssuers) && input.acceptedIssuers.every((elem, _index1) => Array.isArray(elem) && elem.every((elem, _index2) => "object" === typeof elem && null !== elem && _io1(elem, true && _exceptionable))) && ("missing" === input.kind || "untrusted" === input.kind) && (2 === Object.keys(input).length || Object.keys(input).every(key => {
    if (["acceptedIssuers", "kind"].some(prop => key === prop))
        return true;
    const value = input[key];
    if (undefined === value)
        return true;
    return false;
})); const _io1 = (input, _exceptionable = true) => "string" === typeof input.name && "string" === typeof input.value && (2 === Object.keys(input).length || Object.keys(input).every(key => {
    if (["name", "value"].some(prop => key === prop))
        return true;
    const value = input[key];
    if (undefined === value)
        return true;
    return false;
})); const _ao0 = (input, _path, _exceptionable = true) => ((Array.isArray(input.acceptedIssuers) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".acceptedIssuers",
    expected: "Array<Array<__type>>",
    value: input.acceptedIssuers
}, _errorFactory)) && input.acceptedIssuers.every((elem, _index3) => (Array.isArray(elem) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".acceptedIssuers[" + _index3 + "]",
    expected: "Array<__type>",
    value: elem
}, _errorFactory)) && elem.every((elem, _index4) => ("object" === typeof elem && null !== elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".acceptedIssuers[" + _index3 + "][" + _index4 + "]",
    expected: "__type",
    value: elem
}, _errorFactory)) && _ao1(elem, _path + ".acceptedIssuers[" + _index3 + "][" + _index4 + "]", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".acceptedIssuers[" + _index3 + "][" + _index4 + "]",
    expected: "__type",
    value: elem
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".acceptedIssuers[" + _index3 + "]",
    expected: "Array<__type>",
    value: elem
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".acceptedIssuers",
    expected: "Array<Array<__type>>",
    value: input.acceptedIssuers
}, _errorFactory)) && ("missing" === input.kind || "untrusted" === input.kind || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".kind",
    expected: "(\"missing\" | \"untrusted\")",
    value: input.kind
}, _errorFactory)) && (2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).every(key => {
    if (["acceptedIssuers", "kind"].some(prop => key === prop))
        return true;
    const value = input[key];
    if (undefined === value)
        return true;
    return __typia_transform__assertGuard._assertGuard(_exceptionable, {
        method: "typia.createAssertEquals",
        path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
        expected: "undefined",
        value: value
    }, _errorFactory);
}))); const _ao1 = (input, _path, _exceptionable = true) => ("string" === typeof input.name || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".name",
    expected: "string",
    value: input.name
}, _errorFactory)) && ("string" === typeof input.value || __typia_transform__assertGuard._assertGuard(_exceptionable, {
    method: "typia.createAssertEquals",
    path: _path + ".value",
    expected: "string",
    value: input.value
}, _errorFactory)) && (2 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).every(key => {
    if (["name", "value"].some(prop => key === prop))
        return true;
    const value = input[key];
    if (undefined === value)
        return true;
    return __typia_transform__assertGuard._assertGuard(_exceptionable, {
        method: "typia.createAssertEquals",
        path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
        expected: "undefined",
        value: value
    }, _errorFactory);
}))); const __is = (input, _exceptionable = true) => "object" === typeof input && null !== input && _io0(input, true); let _errorFactory; return (input, errorFactory) => {
    if (false === __is(input)) {
        _errorFactory = errorFactory;
        ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || __typia_transform__assertGuard._assertGuard(true, {
            method: "typia.createAssertEquals",
            path: _path + "",
            expected: "KeetaAnchorCertificateRequiredErrorJSONProperties",
            value: input
        }, _errorFactory)) && _ao0(input, _path + "", true) || __typia_transform__assertGuard._assertGuard(true, {
            method: "typia.createAssertEquals",
            path: _path + "",
            expected: "KeetaAnchorCertificateRequiredErrorJSONProperties",
            value: input
        }, _errorFactory))(input, "$input", true);
    }
    return input;
}; })();
//# sourceMappingURL=error.generated.js.map