{"version":3,"file":"tool-helpers-CVAcqiCy.mjs","names":["IsAsyncIterator","IsObject","IsArray","IsUint8Array","IsBigInt","IsBoolean","IsDate","IsFunction","IsIterator","IsNull","IsNumber","IsRegExp","IsString","IsSymbol","IsUndefined","Visit","ValueGuard.IsArray","ValueGuard.IsDate","ValueGuard.IsUint8Array","ValueGuard.IsRegExp","ValueGuard.IsObject","IsObject","IsArray","IsUndefined","IsNumber","IsObject","IsArray","IsNumber","IsUndefined","ValueGuard.IsArray","ValueGuard.IsDate","ValueGuard.IsUint8Array","ValueGuard.IsRegExp","ValueGuard.IsObject","ValueGuard.IsObject","IsOptional","IsAny","IsKindOf","IsArgument","IsArray","IsAsyncIterator","IsBigInt","IsBoolean","IsComputed","IsConstructor","IsDate","IsFunction","IsInteger","IsIntersect","IsIterator","IsLiteralValue","ValueGuard.IsBoolean","ValueGuard.IsNumber","ValueGuard.IsString","IsLiteral","IsMappedKey","IsMappedResult","IsNever","IsNot","IsNull","IsNumber","IsObject","IsPromise","IsRecord","IsRef","IsRegExp","IsString","IsSymbol","IsTemplateLiteral","IsThis","IsTransform","IsTuple","IsUndefined","IsUnion","IsUint8Array","IsUnknown","IsUnsafe","IsVoid","IsKind","IsSchema","ValueGuard.IsString","ValueGuard.IsUndefined","ValueGuard.IsBigInt","ValueGuard.IsNumber","ValueGuard.IsBoolean","ValueGuard.IsObject","ValueGuard.IsArray","Array","IsOptional","RemoveOptionalFromRest","RemoveOptionalFromType","Number","String","FromUnion","Number","String","Visit","IsTemplateLiteral","IsUnion","IsNumber","IsInteger","IsBigInt","IsString","IsLiteral","IsBoolean","IsString","FromTemplateLiteral","FromUnion","FromLiteral","IsTemplateLiteral","IsUnion","IsLiteral","IsNumber","IsInteger","FromProperties","FromMappedResult","FromRest","IsNever","FromIntersect","FromUnion","FromTuple","FromArray","FromProperty","IsIntersect","IsUnion","IsTuple","IsArray","IsObject","IsRef","IsSchema","IsMappedResult","IsMappedKey","IsOptional","Object","Promise","IsMappedResult","FromProperties","FromMappedResult","FromMappedResult","FromMappedKey","FromRest","FromProperties","IsOptional","IsMappedResult","IsMappedKey","IsConstructor","IsFunction","FunctionType","IsAsyncIterator","IsIterator","IsIntersect","IsUnion","IsTuple","IsObject","Object","IsArray","Array","IsPromise","Promise","IsSchema","IsMappedResult","FromProperties","FromMappedResult","IsObject","IsSchema","IsOptional","IsTransform","IsTransform","FromComputed","FromRef","FromIntersect","FromRest","FromUnion","FromPromise","IsComputed","IsIntersect","IsUnion","IsPromise","IsRef","FromRest","FromIntersect","FromUnion","FromTuple","FromArray","FromProperties","IsIntersect","IsUnion","IsTuple","IsArray","IsObject","IsRecord","FromComputed","FromRef","Number","IsComputed","IsRef","IsMappedResult","FromProperties","FromMappedResult","IsNever","Object","Date","Symbol","Uint8Array","FromArray","FromProperties","IsAsyncIterator","IsIterator","IsArray","IsUint8Array","Uint8Array","IsDate","Date","IsObject","Object","IsFunction","FunctionType","IsUndefined","IsNull","IsSymbol","Symbol","IsBigInt","IsNumber","IsBoolean","IsString","KindGuard.IsConstructor","IsUndefined","TypeGuard.IsNever","TypeGuard.IsIntersect","TypeGuard.IsUnion","TypeGuard.IsUnknown","TypeGuard.IsAny","FromArray","TypeGuard.IsObject","TypeGuard.IsArray","FromAsyncIterator","TypeGuard.IsAsyncIterator","TypeGuard.IsRecord","TypeGuard.IsBigInt","TypeGuard.IsLiteralBoolean","TypeGuard.IsBoolean","FromConstructor","TypeGuard.IsConstructor","TypeGuard.IsDate","FromFunction","TypeGuard.IsFunction","TypeGuard.IsLiteral","ValueGuard.IsNumber","TypeGuard.IsNumber","TypeGuard.IsInteger","FromIntersect","FromIterator","TypeGuard.IsIterator","TypeGuard.IsString","TypeGuard.IsNot","TypeGuard.IsNull","TypeGuard.IsLiteralNumber","TypeGuard.IsUndefined","Number","FunctionType","TypeGuard.IsOptional","TypeGuard.IsLiteralString","TypeGuard.IsSymbol","TypeGuard.IsUint8Array","RecordKey","FromObject","FromPromise","TypeGuard.IsPromise","String","RecordValue","FromRecord","TypeGuard.IsRegExp","ValueGuard.IsString","FromTemplateLiteral","TypeGuard.IsTemplateLiteral","FromTuple","TypeGuard.IsTuple","ValueGuard.IsUndefined","TypeGuard.IsVoid","FromUnion","FromProperties","FromMappedResult","IsMappedResult","IsMappedKey","FromPropertyKey","FromPropertyKeys","FromMappedKey","IsTemplateLiteral","IsMappedResult","IsUnion","FromProperties","FromMappedResult","IsTemplateLiteral","IsMappedResult","IsUnion","FromProperties","FromMappedResult","KindGuard.IsConstructor","Object","IsUndefined","IsUnion","IsTemplateLiteral","IsLiteral","IsBoolean","IsInteger","IsNumber","IsRegExp","IsString","IsAny","IsNever","String","Number","FromConstructor","FromTypes","FromType","FromFunction","FromIntersect","FromUnion","FromTuple","ValueGuard.IsUndefined","FromArray","FromAsyncIterator","FromIterator","FromObject","FromProperties","Object","FromRecord","FromProperty","KindGuard.IsReadonly","KindGuard.IsOptional","KindGuard.IsConstructor","KindGuard.IsFunction","KindGuard.IsIntersect","KindGuard.IsUnion","KindGuard.IsTuple","KindGuard.IsArray","KindGuard.IsAsyncIterator","KindGuard.IsIterator","KindGuard.IsPromise","KindGuard.IsObject","KindGuard.IsRecord","KindGuard.IsArgument","FromRest","IsMappedKey","IsTemplateLiteral","IsUnion","IsLiteral","FromProperties","FromMappedResult","FromIntersect","FromUnion","FromProperties","FromObject","Object","UnionFromPropertyKeys","IsLiteralValue","IsIntersect","IsUnion","IsObject","IsArrayValue","IsSchema","IsRef","IsMappedResult","IsMappedKey","FromPropertyKey","FromPropertyKeys","FromMappedKey","FromProperties","FromMappedResult","FromIntersect","FromUnion","FromProperties","FromObject","Object","IsLiteralValue","IsIntersect","IsUnion","IsObject","IsArrayValue","IsSchema","IsRef","IsMappedResult","IsMappedKey","FromComputed","FromRef","FromProperties","FromObject","Object","FromRest","KindGuard.IsComputed","KindGuard.IsRef","KindGuard.IsIntersect","KindGuard.IsUnion","KindGuard.IsObject","KindGuard.IsBigInt","KindGuard.IsBoolean","KindGuard.IsInteger","KindGuard.IsLiteral","KindGuard.IsNull","KindGuard.IsNumber","KindGuard.IsString","KindGuard.IsSymbol","KindGuard.IsUndefined","KindGuard.IsMappedResult","FromProperties","FromMappedResult","FromComputed","FromProperties","FromObject","Object","KindGuard.IsComputed","KindGuard.IsRef","KindGuard.IsIntersect","KindGuard.IsUnion","KindGuard.IsObject","KindGuard.IsBigInt","KindGuard.IsBoolean","KindGuard.IsInteger","KindGuard.IsLiteral","KindGuard.IsNull","KindGuard.IsNumber","KindGuard.IsString","KindGuard.IsSymbol","KindGuard.IsUndefined","KindGuard.IsMappedResult","KindGuard.IsRef","Array","FunctionType","Object","KindGuard.IsOptional","KindGuard.IsReadonly","KindGuard.IsTransform","KindGuard.IsArray","KindGuard.IsAsyncIterator","KindGuard.IsComputed","KindGuard.IsConstructor","KindGuard.IsFunction","KindGuard.IsIntersect","KindGuard.IsIterator","KindGuard.IsObject","KindGuard.IsRecord","KindGuard.IsTuple","KindGuard.IsUnion","KindGuard.IsFunction","IsUndefined","RegExp","IsString","IsIntersect","IsUnion","IsTuple","KindGuard.IsFunction","IsTransform","TypeBuilder"],"sources":["../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/clone/value.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/clone/type.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/value/guard/guard.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/system/policy.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/create/immutable.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/create/type.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/error/error.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/symbols/symbols.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/guard/kind.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/guard/type.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/patterns/patterns.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/sets/set.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/any/any.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/array/array.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/argument/argument.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/async-iterator/async-iterator.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/computed/computed.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/discard/discard.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/never/never.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/constructor/constructor.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/function/function.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/union/union-create.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/union/union-evaluated.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/union/union.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/template-literal/parse.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/template-literal/finite.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/template-literal/generate.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/literal/literal.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/boolean/boolean.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/bigint/bigint.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/number/number.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/string/string.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/template-literal/syntax.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/template-literal/pattern.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/template-literal/union.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/template-literal/template-literal.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-property-keys.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-key.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/iterator/iterator.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/object/object.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/promise/promise.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/tuple/tuple.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/optional/optional.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/optional/optional-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-create.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-evaluated.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/ref/ref.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/awaited/awaited.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-keys.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/composite/composite.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/date/date.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/null/null.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/symbol/symbol.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/undefined/undefined.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/uint8array/uint8array.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/unknown/unknown.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/const/const.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/constructor-parameters.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/enum/enum.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/extends/extends-check.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/extends/extends.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-key.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-template-literal.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-template-literal.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/extract/extract.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/instance-type/instance-type.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/readonly-optional.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/record/record.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/instantiate/instantiate.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/integer/integer.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic-from-mapped-key.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intrinsic/capitalize.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intrinsic/lowercase.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uncapitalize.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uppercase.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/omit/omit.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-key.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/pick/pick.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-key.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/partial/partial.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/partial/partial-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/required/required.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/required/required-from-mapped-result.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/module/compute.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/module/module.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/not/not.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/parameters/parameters.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/recursive/recursive.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/regexp/regexp.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/rest/rest.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/return-type/return-type.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/transform/transform.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/unsafe/unsafe.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/void/void.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/type/type.mjs","../../../node_modules/.pnpm/@sinclair+typebox@0.34.49/node_modules/@sinclair/typebox/build/esm/type/type/index.mjs","../src/lib/tool-helpers.ts"],"sourcesContent":["// --------------------------------------------------------------------------\n// PropertyKey\n// --------------------------------------------------------------------------\n/** Returns true if this value has this property key */\nexport function HasPropertyKey(value, key) {\n    return key in value;\n}\n// --------------------------------------------------------------------------\n// Object Instances\n// --------------------------------------------------------------------------\n/** Returns true if this value is an async iterator */\nexport function IsAsyncIterator(value) {\n    return IsObject(value) && !IsArray(value) && !IsUint8Array(value) && Symbol.asyncIterator in value;\n}\n/** Returns true if this value is an array */\nexport function IsArray(value) {\n    return Array.isArray(value);\n}\n/** Returns true if this value is bigint */\nexport function IsBigInt(value) {\n    return typeof value === 'bigint';\n}\n/** Returns true if this value is a boolean */\nexport function IsBoolean(value) {\n    return typeof value === 'boolean';\n}\n/** Returns true if this value is a Date object */\nexport function IsDate(value) {\n    return value instanceof globalThis.Date;\n}\n/** Returns true if this value is a function */\nexport function IsFunction(value) {\n    return typeof value === 'function';\n}\n/** Returns true if this value is an iterator */\nexport function IsIterator(value) {\n    return IsObject(value) && !IsArray(value) && !IsUint8Array(value) && Symbol.iterator in value;\n}\n/** Returns true if this value is null */\nexport function IsNull(value) {\n    return value === null;\n}\n/** Returns true if this value is number */\nexport function IsNumber(value) {\n    return typeof value === 'number';\n}\n/** Returns true if this value is an object */\nexport function IsObject(value) {\n    return typeof value === 'object' && value !== null;\n}\n/** Returns true if this value is RegExp */\nexport function IsRegExp(value) {\n    return value instanceof globalThis.RegExp;\n}\n/** Returns true if this value is string */\nexport function IsString(value) {\n    return typeof value === 'string';\n}\n/** Returns true if this value is symbol */\nexport function IsSymbol(value) {\n    return typeof value === 'symbol';\n}\n/** Returns true if this value is a Uint8Array */\nexport function IsUint8Array(value) {\n    return value instanceof globalThis.Uint8Array;\n}\n/** Returns true if this value is undefined */\nexport function IsUndefined(value) {\n    return value === undefined;\n}\n","import * as ValueGuard from '../guard/value.mjs';\nfunction ArrayType(value) {\n    return value.map((value) => Visit(value));\n}\nfunction DateType(value) {\n    return new Date(value.getTime());\n}\nfunction Uint8ArrayType(value) {\n    return new Uint8Array(value);\n}\nfunction RegExpType(value) {\n    return new RegExp(value.source, value.flags);\n}\nfunction ObjectType(value) {\n    const result = {};\n    for (const key of Object.getOwnPropertyNames(value)) {\n        result[key] = Visit(value[key]);\n    }\n    for (const key of Object.getOwnPropertySymbols(value)) {\n        result[key] = Visit(value[key]);\n    }\n    return result;\n}\n// prettier-ignore\nfunction Visit(value) {\n    return (ValueGuard.IsArray(value) ? ArrayType(value) :\n        ValueGuard.IsDate(value) ? DateType(value) :\n            ValueGuard.IsUint8Array(value) ? Uint8ArrayType(value) :\n                ValueGuard.IsRegExp(value) ? RegExpType(value) :\n                    ValueGuard.IsObject(value) ? ObjectType(value) :\n                        value);\n}\n/** Clones a value */\nexport function Clone(value) {\n    return Visit(value);\n}\n","import { Clone } from './value.mjs';\n/** Clones a Rest */\nexport function CloneRest(schemas) {\n    return schemas.map((schema) => CloneType(schema));\n}\n/** Clones a Type */\nexport function CloneType(schema, options) {\n    return options === undefined ? Clone(schema) : Clone({ ...options, ...schema });\n}\n","// --------------------------------------------------------------------------\n// Iterators\n// --------------------------------------------------------------------------\n/** Returns true if this value is an async iterator */\nexport function IsAsyncIterator(value) {\n    return IsObject(value) && globalThis.Symbol.asyncIterator in value;\n}\n/** Returns true if this value is an iterator */\nexport function IsIterator(value) {\n    return IsObject(value) && globalThis.Symbol.iterator in value;\n}\n// --------------------------------------------------------------------------\n// Object Instances\n// --------------------------------------------------------------------------\n/** Returns true if this value is not an instance of a class */\nexport function IsStandardObject(value) {\n    return IsObject(value) && (globalThis.Object.getPrototypeOf(value) === Object.prototype || globalThis.Object.getPrototypeOf(value) === null);\n}\n/** Returns true if this value is an instance of a class */\nexport function IsInstanceObject(value) {\n    return IsObject(value) && !IsArray(value) && IsFunction(value.constructor) && value.constructor.name !== 'Object';\n}\n// --------------------------------------------------------------------------\n// JavaScript\n// --------------------------------------------------------------------------\n/** Returns true if this value is a Promise */\nexport function IsPromise(value) {\n    return value instanceof globalThis.Promise;\n}\n/** Returns true if this value is a Date */\nexport function IsDate(value) {\n    return value instanceof Date && globalThis.Number.isFinite(value.getTime());\n}\n/** Returns true if this value is an instance of Map<K, T> */\nexport function IsMap(value) {\n    return value instanceof globalThis.Map;\n}\n/** Returns true if this value is an instance of Set<T> */\nexport function IsSet(value) {\n    return value instanceof globalThis.Set;\n}\n/** Returns true if this value is RegExp */\nexport function IsRegExp(value) {\n    return value instanceof globalThis.RegExp;\n}\n/** Returns true if this value is a typed array */\nexport function IsTypedArray(value) {\n    return globalThis.ArrayBuffer.isView(value);\n}\n/** Returns true if the value is a Int8Array */\nexport function IsInt8Array(value) {\n    return value instanceof globalThis.Int8Array;\n}\n/** Returns true if the value is a Uint8Array */\nexport function IsUint8Array(value) {\n    return value instanceof globalThis.Uint8Array;\n}\n/** Returns true if the value is a Uint8ClampedArray */\nexport function IsUint8ClampedArray(value) {\n    return value instanceof globalThis.Uint8ClampedArray;\n}\n/** Returns true if the value is a Int16Array */\nexport function IsInt16Array(value) {\n    return value instanceof globalThis.Int16Array;\n}\n/** Returns true if the value is a Uint16Array */\nexport function IsUint16Array(value) {\n    return value instanceof globalThis.Uint16Array;\n}\n/** Returns true if the value is a Int32Array */\nexport function IsInt32Array(value) {\n    return value instanceof globalThis.Int32Array;\n}\n/** Returns true if the value is a Uint32Array */\nexport function IsUint32Array(value) {\n    return value instanceof globalThis.Uint32Array;\n}\n/** Returns true if the value is a Float32Array */\nexport function IsFloat32Array(value) {\n    return value instanceof globalThis.Float32Array;\n}\n/** Returns true if the value is a Float64Array */\nexport function IsFloat64Array(value) {\n    return value instanceof globalThis.Float64Array;\n}\n/** Returns true if the value is a BigInt64Array */\nexport function IsBigInt64Array(value) {\n    return value instanceof globalThis.BigInt64Array;\n}\n/** Returns true if the value is a BigUint64Array */\nexport function IsBigUint64Array(value) {\n    return value instanceof globalThis.BigUint64Array;\n}\n// --------------------------------------------------------------------------\n// PropertyKey\n// --------------------------------------------------------------------------\n/** Returns true if this value has this property key */\nexport function HasPropertyKey(value, key) {\n    return key in value;\n}\n// --------------------------------------------------------------------------\n// Standard\n// --------------------------------------------------------------------------\n/** Returns true of this value is an object type */\nexport function IsObject(value) {\n    return value !== null && typeof value === 'object';\n}\n/** Returns true if this value is an array, but not a typed array */\nexport function IsArray(value) {\n    return globalThis.Array.isArray(value) && !globalThis.ArrayBuffer.isView(value);\n}\n/** Returns true if this value is an undefined */\nexport function IsUndefined(value) {\n    return value === undefined;\n}\n/** Returns true if this value is an null */\nexport function IsNull(value) {\n    return value === null;\n}\n/** Returns true if this value is an boolean */\nexport function IsBoolean(value) {\n    return typeof value === 'boolean';\n}\n/** Returns true if this value is an number */\nexport function IsNumber(value) {\n    return typeof value === 'number';\n}\n/** Returns true if this value is an integer */\nexport function IsInteger(value) {\n    return globalThis.Number.isInteger(value);\n}\n/** Returns true if this value is bigint */\nexport function IsBigInt(value) {\n    return typeof value === 'bigint';\n}\n/** Returns true if this value is string */\nexport function IsString(value) {\n    return typeof value === 'string';\n}\n/** Returns true if this value is a function */\nexport function IsFunction(value) {\n    return typeof value === 'function';\n}\n/** Returns true if this value is a symbol */\nexport function IsSymbol(value) {\n    return typeof value === 'symbol';\n}\n/** Returns true if this value is a value type such as number, string, boolean */\nexport function IsValueType(value) {\n    // prettier-ignore\n    return (IsBigInt(value) ||\n        IsBoolean(value) ||\n        IsNull(value) ||\n        IsNumber(value) ||\n        IsString(value) ||\n        IsSymbol(value) ||\n        IsUndefined(value));\n}\n","import { IsObject, IsArray, IsNumber, IsUndefined } from '../value/guard/index.mjs';\nexport var TypeSystemPolicy;\n(function (TypeSystemPolicy) {\n    // ------------------------------------------------------------------\n    // TypeSystemPolicy: Instancing\n    // ------------------------------------------------------------------\n    /**\n     * Configures the instantiation behavior of TypeBox types. The `default` option assigns raw JavaScript\n     * references for embedded types, which may cause side effects if type properties are explicitly updated\n     * outside the TypeBox type builder. The `clone` option creates copies of any shared types upon creation,\n     * preventing unintended side effects. The `freeze` option applies `Object.freeze()` to the type, making\n     * it fully readonly and immutable. Implementations should use `default` whenever possible, as it is the\n     * fastest way to instantiate types. The default setting is `default`.\n     */\n    TypeSystemPolicy.InstanceMode = 'default';\n    // ------------------------------------------------------------------\n    // TypeSystemPolicy: Checking\n    // ------------------------------------------------------------------\n    /** Sets whether TypeBox should assert optional properties using the TypeScript `exactOptionalPropertyTypes` assertion policy. The default is `false` */\n    TypeSystemPolicy.ExactOptionalPropertyTypes = false;\n    /** Sets whether arrays should be treated as a kind of objects. The default is `false` */\n    TypeSystemPolicy.AllowArrayObject = false;\n    /** Sets whether `NaN` or `Infinity` should be treated as valid numeric values. The default is `false` */\n    TypeSystemPolicy.AllowNaN = false;\n    /** Sets whether `null` should validate for void types. The default is `false` */\n    TypeSystemPolicy.AllowNullVoid = false;\n    /** Checks this value using the ExactOptionalPropertyTypes policy */\n    function IsExactOptionalProperty(value, key) {\n        return TypeSystemPolicy.ExactOptionalPropertyTypes ? key in value : value[key] !== undefined;\n    }\n    TypeSystemPolicy.IsExactOptionalProperty = IsExactOptionalProperty;\n    /** Checks this value using the AllowArrayObjects policy */\n    function IsObjectLike(value) {\n        const isObject = IsObject(value);\n        return TypeSystemPolicy.AllowArrayObject ? isObject : isObject && !IsArray(value);\n    }\n    TypeSystemPolicy.IsObjectLike = IsObjectLike;\n    /** Checks this value as a record using the AllowArrayObjects policy */\n    function IsRecordLike(value) {\n        return IsObjectLike(value) && !(value instanceof Date) && !(value instanceof Uint8Array);\n    }\n    TypeSystemPolicy.IsRecordLike = IsRecordLike;\n    /** Checks this value using the AllowNaN policy */\n    function IsNumberLike(value) {\n        return TypeSystemPolicy.AllowNaN ? IsNumber(value) : Number.isFinite(value);\n    }\n    TypeSystemPolicy.IsNumberLike = IsNumberLike;\n    /** Checks this value using the AllowVoidNull policy */\n    function IsVoidLike(value) {\n        const isUndefined = IsUndefined(value);\n        return TypeSystemPolicy.AllowNullVoid ? isUndefined || value === null : isUndefined;\n    }\n    TypeSystemPolicy.IsVoidLike = IsVoidLike;\n})(TypeSystemPolicy || (TypeSystemPolicy = {}));\n","import * as ValueGuard from '../guard/value.mjs';\nfunction ImmutableArray(value) {\n    return globalThis.Object.freeze(value).map((value) => Immutable(value));\n}\nfunction ImmutableDate(value) {\n    return value;\n}\nfunction ImmutableUint8Array(value) {\n    return value;\n}\nfunction ImmutableRegExp(value) {\n    return value;\n}\nfunction ImmutableObject(value) {\n    const result = {};\n    for (const key of Object.getOwnPropertyNames(value)) {\n        result[key] = Immutable(value[key]);\n    }\n    for (const key of Object.getOwnPropertySymbols(value)) {\n        result[key] = Immutable(value[key]);\n    }\n    return globalThis.Object.freeze(result);\n}\n/** Specialized deep immutable value. Applies freeze recursively to the given value */\n// prettier-ignore\nexport function Immutable(value) {\n    return (ValueGuard.IsArray(value) ? ImmutableArray(value) :\n        ValueGuard.IsDate(value) ? ImmutableDate(value) :\n            ValueGuard.IsUint8Array(value) ? ImmutableUint8Array(value) :\n                ValueGuard.IsRegExp(value) ? ImmutableRegExp(value) :\n                    ValueGuard.IsObject(value) ? ImmutableObject(value) :\n                        value);\n}\n","import { TypeSystemPolicy } from '../../system/policy.mjs';\nimport { Immutable } from './immutable.mjs';\nimport { Clone } from '../clone/value.mjs';\n/** Creates TypeBox schematics using the configured InstanceMode */\nexport function CreateType(schema, options) {\n    const result = options !== undefined ? { ...options, ...schema } : schema;\n    switch (TypeSystemPolicy.InstanceMode) {\n        case 'freeze':\n            return Immutable(result);\n        case 'clone':\n            return Clone(result);\n        default:\n            return result;\n    }\n}\n","/** The base Error type thrown for all TypeBox exceptions  */\nexport class TypeBoxError extends Error {\n    constructor(message) {\n        super(message);\n    }\n}\n","/** Symbol key applied to transform types */\nexport const TransformKind = Symbol.for('TypeBox.Transform');\n/** Symbol key applied to readonly types */\nexport const ReadonlyKind = Symbol.for('TypeBox.Readonly');\n/** Symbol key applied to optional types */\nexport const OptionalKind = Symbol.for('TypeBox.Optional');\n/** Symbol key applied to types */\nexport const Hint = Symbol.for('TypeBox.Hint');\n/** Symbol key applied to types */\nexport const Kind = Symbol.for('TypeBox.Kind');\n","import * as ValueGuard from './value.mjs';\nimport { Kind, Hint, TransformKind, ReadonlyKind, OptionalKind } from '../symbols/index.mjs';\n/** `[Kind-Only]` Returns true if this value has a Readonly symbol */\nexport function IsReadonly(value) {\n    return ValueGuard.IsObject(value) && value[ReadonlyKind] === 'Readonly';\n}\n/** `[Kind-Only]` Returns true if this value has a Optional symbol */\nexport function IsOptional(value) {\n    return ValueGuard.IsObject(value) && value[OptionalKind] === 'Optional';\n}\n/** `[Kind-Only]` Returns true if the given value is TAny */\nexport function IsAny(value) {\n    return IsKindOf(value, 'Any');\n}\n/** `[Kind-Only]` Returns true if the given value is TArgument */\nexport function IsArgument(value) {\n    return IsKindOf(value, 'Argument');\n}\n/** `[Kind-Only]` Returns true if the given value is TArray */\nexport function IsArray(value) {\n    return IsKindOf(value, 'Array');\n}\n/** `[Kind-Only]` Returns true if the given value is TAsyncIterator */\nexport function IsAsyncIterator(value) {\n    return IsKindOf(value, 'AsyncIterator');\n}\n/** `[Kind-Only]` Returns true if the given value is TBigInt */\nexport function IsBigInt(value) {\n    return IsKindOf(value, 'BigInt');\n}\n/** `[Kind-Only]` Returns true if the given value is TBoolean */\nexport function IsBoolean(value) {\n    return IsKindOf(value, 'Boolean');\n}\n/** `[Kind-Only]` Returns true if the given value is TComputed */\nexport function IsComputed(value) {\n    return IsKindOf(value, 'Computed');\n}\n/** `[Kind-Only]` Returns true if the given value is TConstructor */\nexport function IsConstructor(value) {\n    return IsKindOf(value, 'Constructor');\n}\n/** `[Kind-Only]` Returns true if the given value is TDate */\nexport function IsDate(value) {\n    return IsKindOf(value, 'Date');\n}\n/** `[Kind-Only]` Returns true if the given value is TFunction */\nexport function IsFunction(value) {\n    return IsKindOf(value, 'Function');\n}\n/** `[Kind-Only]` Returns true if the given value is TInteger */\nexport function IsImport(value) {\n    return IsKindOf(value, 'Import');\n}\n/** `[Kind-Only]` Returns true if the given value is TInteger */\nexport function IsInteger(value) {\n    return IsKindOf(value, 'Integer');\n}\n/** `[Kind-Only]` Returns true if the given schema is TProperties */\nexport function IsProperties(value) {\n    return ValueGuard.IsObject(value);\n}\n/** `[Kind-Only]` Returns true if the given value is TIntersect */\nexport function IsIntersect(value) {\n    return IsKindOf(value, 'Intersect');\n}\n/** `[Kind-Only]` Returns true if the given value is TIterator */\nexport function IsIterator(value) {\n    return IsKindOf(value, 'Iterator');\n}\n/** `[Kind-Only]` Returns true if the given value is a TKind with the given name. */\nexport function IsKindOf(value, kind) {\n    return ValueGuard.IsObject(value) && Kind in value && value[Kind] === kind;\n}\n/** `[Kind-Only]` Returns true if the given value is TLiteral<string> */\nexport function IsLiteralString(value) {\n    return IsLiteral(value) && ValueGuard.IsString(value.const);\n}\n/** `[Kind-Only]` Returns true if the given value is TLiteral<number> */\nexport function IsLiteralNumber(value) {\n    return IsLiteral(value) && ValueGuard.IsNumber(value.const);\n}\n/** `[Kind-Only]` Returns true if the given value is TLiteral<boolean> */\nexport function IsLiteralBoolean(value) {\n    return IsLiteral(value) && ValueGuard.IsBoolean(value.const);\n}\n/** `[Kind-Only]` Returns true if the given value is TLiteralValue */\nexport function IsLiteralValue(value) {\n    return ValueGuard.IsBoolean(value) || ValueGuard.IsNumber(value) || ValueGuard.IsString(value);\n}\n/** `[Kind-Only]` Returns true if the given value is TLiteral */\nexport function IsLiteral(value) {\n    return IsKindOf(value, 'Literal');\n}\n/** `[Kind-Only]` Returns true if the given value is a TMappedKey */\nexport function IsMappedKey(value) {\n    return IsKindOf(value, 'MappedKey');\n}\n/** `[Kind-Only]` Returns true if the given value is TMappedResult */\nexport function IsMappedResult(value) {\n    return IsKindOf(value, 'MappedResult');\n}\n/** `[Kind-Only]` Returns true if the given value is TNever */\nexport function IsNever(value) {\n    return IsKindOf(value, 'Never');\n}\n/** `[Kind-Only]` Returns true if the given value is TNot */\nexport function IsNot(value) {\n    return IsKindOf(value, 'Not');\n}\n/** `[Kind-Only]` Returns true if the given value is TNull */\nexport function IsNull(value) {\n    return IsKindOf(value, 'Null');\n}\n/** `[Kind-Only]` Returns true if the given value is TNumber */\nexport function IsNumber(value) {\n    return IsKindOf(value, 'Number');\n}\n/** `[Kind-Only]` Returns true if the given value is TObject */\nexport function IsObject(value) {\n    return IsKindOf(value, 'Object');\n}\n/** `[Kind-Only]` Returns true if the given value is TPromise */\nexport function IsPromise(value) {\n    return IsKindOf(value, 'Promise');\n}\n/** `[Kind-Only]` Returns true if the given value is TRecord */\nexport function IsRecord(value) {\n    return IsKindOf(value, 'Record');\n}\n/** `[Kind-Only]` Returns true if this value is TRecursive */\nexport function IsRecursive(value) {\n    return ValueGuard.IsObject(value) && Hint in value && value[Hint] === 'Recursive';\n}\n/** `[Kind-Only]` Returns true if the given value is TRef */\nexport function IsRef(value) {\n    return IsKindOf(value, 'Ref');\n}\n/** `[Kind-Only]` Returns true if the given value is TRegExp */\nexport function IsRegExp(value) {\n    return IsKindOf(value, 'RegExp');\n}\n/** `[Kind-Only]` Returns true if the given value is TString */\nexport function IsString(value) {\n    return IsKindOf(value, 'String');\n}\n/** `[Kind-Only]` Returns true if the given value is TSymbol */\nexport function IsSymbol(value) {\n    return IsKindOf(value, 'Symbol');\n}\n/** `[Kind-Only]` Returns true if the given value is TTemplateLiteral */\nexport function IsTemplateLiteral(value) {\n    return IsKindOf(value, 'TemplateLiteral');\n}\n/** `[Kind-Only]` Returns true if the given value is TThis */\nexport function IsThis(value) {\n    return IsKindOf(value, 'This');\n}\n/** `[Kind-Only]` Returns true of this value is TTransform */\nexport function IsTransform(value) {\n    return ValueGuard.IsObject(value) && TransformKind in value;\n}\n/** `[Kind-Only]` Returns true if the given value is TTuple */\nexport function IsTuple(value) {\n    return IsKindOf(value, 'Tuple');\n}\n/** `[Kind-Only]` Returns true if the given value is TUndefined */\nexport function IsUndefined(value) {\n    return IsKindOf(value, 'Undefined');\n}\n/** `[Kind-Only]` Returns true if the given value is TUnion */\nexport function IsUnion(value) {\n    return IsKindOf(value, 'Union');\n}\n/** `[Kind-Only]` Returns true if the given value is TUint8Array */\nexport function IsUint8Array(value) {\n    return IsKindOf(value, 'Uint8Array');\n}\n/** `[Kind-Only]` Returns true if the given value is TUnknown */\nexport function IsUnknown(value) {\n    return IsKindOf(value, 'Unknown');\n}\n/** `[Kind-Only]` Returns true if the given value is a raw TUnsafe */\nexport function IsUnsafe(value) {\n    return IsKindOf(value, 'Unsafe');\n}\n/** `[Kind-Only]` Returns true if the given value is TVoid */\nexport function IsVoid(value) {\n    return IsKindOf(value, 'Void');\n}\n/** `[Kind-Only]` Returns true if the given value is TKind */\nexport function IsKind(value) {\n    return ValueGuard.IsObject(value) && Kind in value && ValueGuard.IsString(value[Kind]);\n}\n/** `[Kind-Only]` Returns true if the given value is TSchema */\nexport function IsSchema(value) {\n    // prettier-ignore\n    return (IsAny(value) ||\n        IsArgument(value) ||\n        IsArray(value) ||\n        IsBoolean(value) ||\n        IsBigInt(value) ||\n        IsAsyncIterator(value) ||\n        IsComputed(value) ||\n        IsConstructor(value) ||\n        IsDate(value) ||\n        IsFunction(value) ||\n        IsInteger(value) ||\n        IsIntersect(value) ||\n        IsIterator(value) ||\n        IsLiteral(value) ||\n        IsMappedKey(value) ||\n        IsMappedResult(value) ||\n        IsNever(value) ||\n        IsNot(value) ||\n        IsNull(value) ||\n        IsNumber(value) ||\n        IsObject(value) ||\n        IsPromise(value) ||\n        IsRecord(value) ||\n        IsRef(value) ||\n        IsRegExp(value) ||\n        IsString(value) ||\n        IsSymbol(value) ||\n        IsTemplateLiteral(value) ||\n        IsThis(value) ||\n        IsTuple(value) ||\n        IsUndefined(value) ||\n        IsUnion(value) ||\n        IsUint8Array(value) ||\n        IsUnknown(value) ||\n        IsUnsafe(value) ||\n        IsVoid(value) ||\n        IsKind(value));\n}\n","import * as ValueGuard from './value.mjs';\nimport { Kind, Hint, TransformKind, ReadonlyKind, OptionalKind } from '../symbols/index.mjs';\nimport { TypeBoxError } from '../error/index.mjs';\nexport class TypeGuardUnknownTypeError extends TypeBoxError {\n}\nconst KnownTypes = [\n    'Argument',\n    'Any',\n    'Array',\n    'AsyncIterator',\n    'BigInt',\n    'Boolean',\n    'Computed',\n    'Constructor',\n    'Date',\n    'Enum',\n    'Function',\n    'Integer',\n    'Intersect',\n    'Iterator',\n    'Literal',\n    'MappedKey',\n    'MappedResult',\n    'Not',\n    'Null',\n    'Number',\n    'Object',\n    'Promise',\n    'Record',\n    'Ref',\n    'RegExp',\n    'String',\n    'Symbol',\n    'TemplateLiteral',\n    'This',\n    'Tuple',\n    'Undefined',\n    'Union',\n    'Uint8Array',\n    'Unknown',\n    'Void',\n];\nfunction IsPattern(value) {\n    try {\n        new RegExp(value);\n        return true;\n    }\n    catch {\n        return false;\n    }\n}\nfunction IsControlCharacterFree(value) {\n    if (!ValueGuard.IsString(value))\n        return false;\n    for (let i = 0; i < value.length; i++) {\n        const code = value.charCodeAt(i);\n        if ((code >= 7 && code <= 13) || code === 27 || code === 127) {\n            return false;\n        }\n    }\n    return true;\n}\nfunction IsAdditionalProperties(value) {\n    return IsOptionalBoolean(value) || IsSchema(value);\n}\nfunction IsOptionalBigInt(value) {\n    return ValueGuard.IsUndefined(value) || ValueGuard.IsBigInt(value);\n}\nfunction IsOptionalNumber(value) {\n    return ValueGuard.IsUndefined(value) || ValueGuard.IsNumber(value);\n}\nfunction IsOptionalBoolean(value) {\n    return ValueGuard.IsUndefined(value) || ValueGuard.IsBoolean(value);\n}\nfunction IsOptionalString(value) {\n    return ValueGuard.IsUndefined(value) || ValueGuard.IsString(value);\n}\nfunction IsOptionalPattern(value) {\n    return ValueGuard.IsUndefined(value) || (ValueGuard.IsString(value) && IsControlCharacterFree(value) && IsPattern(value));\n}\nfunction IsOptionalFormat(value) {\n    return ValueGuard.IsUndefined(value) || (ValueGuard.IsString(value) && IsControlCharacterFree(value));\n}\nfunction IsOptionalSchema(value) {\n    return ValueGuard.IsUndefined(value) || IsSchema(value);\n}\n// ------------------------------------------------------------------\n// Modifiers\n// ------------------------------------------------------------------\n/** Returns true if this value has a Readonly symbol */\nexport function IsReadonly(value) {\n    return ValueGuard.IsObject(value) && value[ReadonlyKind] === 'Readonly';\n}\n/** Returns true if this value has a Optional symbol */\nexport function IsOptional(value) {\n    return ValueGuard.IsObject(value) && value[OptionalKind] === 'Optional';\n}\n// ------------------------------------------------------------------\n// Types\n// ------------------------------------------------------------------\n/** Returns true if the given value is TAny */\nexport function IsAny(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Any') &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is TArgument */\nexport function IsArgument(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Argument') &&\n        ValueGuard.IsNumber(value.index));\n}\n/** Returns true if the given value is TArray */\nexport function IsArray(value) {\n    return (IsKindOf(value, 'Array') &&\n        value.type === 'array' &&\n        IsOptionalString(value.$id) &&\n        IsSchema(value.items) &&\n        IsOptionalNumber(value.minItems) &&\n        IsOptionalNumber(value.maxItems) &&\n        IsOptionalBoolean(value.uniqueItems) &&\n        IsOptionalSchema(value.contains) &&\n        IsOptionalNumber(value.minContains) &&\n        IsOptionalNumber(value.maxContains));\n}\n/** Returns true if the given value is TAsyncIterator */\nexport function IsAsyncIterator(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'AsyncIterator') &&\n        value.type === 'AsyncIterator' &&\n        IsOptionalString(value.$id) &&\n        IsSchema(value.items));\n}\n/** Returns true if the given value is TBigInt */\nexport function IsBigInt(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'BigInt') &&\n        value.type === 'bigint' &&\n        IsOptionalString(value.$id) &&\n        IsOptionalBigInt(value.exclusiveMaximum) &&\n        IsOptionalBigInt(value.exclusiveMinimum) &&\n        IsOptionalBigInt(value.maximum) &&\n        IsOptionalBigInt(value.minimum) &&\n        IsOptionalBigInt(value.multipleOf));\n}\n/** Returns true if the given value is TBoolean */\nexport function IsBoolean(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Boolean') &&\n        value.type === 'boolean' &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is TComputed */\nexport function IsComputed(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Computed') &&\n        ValueGuard.IsString(value.target) &&\n        ValueGuard.IsArray(value.parameters) &&\n        value.parameters.every((schema) => IsSchema(schema)));\n}\n/** Returns true if the given value is TConstructor */\nexport function IsConstructor(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Constructor') &&\n        value.type === 'Constructor' &&\n        IsOptionalString(value.$id) &&\n        ValueGuard.IsArray(value.parameters) &&\n        value.parameters.every(schema => IsSchema(schema)) &&\n        IsSchema(value.returns));\n}\n/** Returns true if the given value is TDate */\nexport function IsDate(value) {\n    return (IsKindOf(value, 'Date') &&\n        value.type === 'Date' &&\n        IsOptionalString(value.$id) &&\n        IsOptionalNumber(value.exclusiveMaximumTimestamp) &&\n        IsOptionalNumber(value.exclusiveMinimumTimestamp) &&\n        IsOptionalNumber(value.maximumTimestamp) &&\n        IsOptionalNumber(value.minimumTimestamp) &&\n        IsOptionalNumber(value.multipleOfTimestamp));\n}\n/** Returns true if the given value is TFunction */\nexport function IsFunction(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Function') &&\n        value.type === 'Function' &&\n        IsOptionalString(value.$id) &&\n        ValueGuard.IsArray(value.parameters) &&\n        value.parameters.every(schema => IsSchema(schema)) &&\n        IsSchema(value.returns));\n}\n/** Returns true if the given value is TImport */\nexport function IsImport(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Import') &&\n        ValueGuard.HasPropertyKey(value, '$defs') &&\n        ValueGuard.IsObject(value.$defs) &&\n        IsProperties(value.$defs) &&\n        ValueGuard.HasPropertyKey(value, '$ref') &&\n        ValueGuard.IsString(value.$ref) &&\n        value.$ref in value.$defs // required\n    );\n}\n/** Returns true if the given value is TInteger */\nexport function IsInteger(value) {\n    return (IsKindOf(value, 'Integer') &&\n        value.type === 'integer' &&\n        IsOptionalString(value.$id) &&\n        IsOptionalNumber(value.exclusiveMaximum) &&\n        IsOptionalNumber(value.exclusiveMinimum) &&\n        IsOptionalNumber(value.maximum) &&\n        IsOptionalNumber(value.minimum) &&\n        IsOptionalNumber(value.multipleOf));\n}\n/** Returns true if the given schema is TProperties */\nexport function IsProperties(value) {\n    // prettier-ignore\n    return (ValueGuard.IsObject(value) &&\n        Object.entries(value).every(([key, schema]) => IsControlCharacterFree(key) && IsSchema(schema)));\n}\n/** Returns true if the given value is TIntersect */\nexport function IsIntersect(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Intersect') &&\n        (ValueGuard.IsString(value.type) && value.type !== 'object' ? false : true) &&\n        ValueGuard.IsArray(value.allOf) &&\n        value.allOf.every(schema => IsSchema(schema) && !IsTransform(schema)) &&\n        IsOptionalString(value.type) &&\n        (IsOptionalBoolean(value.unevaluatedProperties) || IsOptionalSchema(value.unevaluatedProperties)) &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is TIterator */\nexport function IsIterator(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Iterator') &&\n        value.type === 'Iterator' &&\n        IsOptionalString(value.$id) &&\n        IsSchema(value.items));\n}\n/** Returns true if the given value is a TKind with the given name. */\nexport function IsKindOf(value, kind) {\n    return ValueGuard.IsObject(value) && Kind in value && value[Kind] === kind;\n}\n/** Returns true if the given value is TLiteral<string> */\nexport function IsLiteralString(value) {\n    return IsLiteral(value) && ValueGuard.IsString(value.const);\n}\n/** Returns true if the given value is TLiteral<number> */\nexport function IsLiteralNumber(value) {\n    return IsLiteral(value) && ValueGuard.IsNumber(value.const);\n}\n/** Returns true if the given value is TLiteral<boolean> */\nexport function IsLiteralBoolean(value) {\n    return IsLiteral(value) && ValueGuard.IsBoolean(value.const);\n}\n/** Returns true if the given value is TLiteral */\nexport function IsLiteral(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Literal') &&\n        IsOptionalString(value.$id) && IsLiteralValue(value.const));\n}\n/** Returns true if the given value is a TLiteralValue */\nexport function IsLiteralValue(value) {\n    return ValueGuard.IsBoolean(value) || ValueGuard.IsNumber(value) || ValueGuard.IsString(value);\n}\n/** Returns true if the given value is a TMappedKey */\nexport function IsMappedKey(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'MappedKey') &&\n        ValueGuard.IsArray(value.keys) &&\n        value.keys.every(key => ValueGuard.IsNumber(key) || ValueGuard.IsString(key)));\n}\n/** Returns true if the given value is TMappedResult */\nexport function IsMappedResult(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'MappedResult') &&\n        IsProperties(value.properties));\n}\n/** Returns true if the given value is TNever */\nexport function IsNever(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Never') &&\n        ValueGuard.IsObject(value.not) &&\n        Object.getOwnPropertyNames(value.not).length === 0);\n}\n/** Returns true if the given value is TNot */\nexport function IsNot(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Not') &&\n        IsSchema(value.not));\n}\n/** Returns true if the given value is TNull */\nexport function IsNull(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Null') &&\n        value.type === 'null' &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is TNumber */\nexport function IsNumber(value) {\n    return (IsKindOf(value, 'Number') &&\n        value.type === 'number' &&\n        IsOptionalString(value.$id) &&\n        IsOptionalNumber(value.exclusiveMaximum) &&\n        IsOptionalNumber(value.exclusiveMinimum) &&\n        IsOptionalNumber(value.maximum) &&\n        IsOptionalNumber(value.minimum) &&\n        IsOptionalNumber(value.multipleOf));\n}\n/** Returns true if the given value is TObject */\nexport function IsObject(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Object') &&\n        value.type === 'object' &&\n        IsOptionalString(value.$id) &&\n        IsProperties(value.properties) &&\n        IsAdditionalProperties(value.additionalProperties) &&\n        IsOptionalNumber(value.minProperties) &&\n        IsOptionalNumber(value.maxProperties));\n}\n/** Returns true if the given value is TPromise */\nexport function IsPromise(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Promise') &&\n        value.type === 'Promise' &&\n        IsOptionalString(value.$id) &&\n        IsSchema(value.item));\n}\n/** Returns true if the given value is TRecord */\nexport function IsRecord(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Record') &&\n        value.type === 'object' &&\n        IsOptionalString(value.$id) &&\n        IsAdditionalProperties(value.additionalProperties) &&\n        ValueGuard.IsObject(value.patternProperties) &&\n        ((schema) => {\n            const keys = Object.getOwnPropertyNames(schema.patternProperties);\n            return (keys.length === 1 &&\n                IsPattern(keys[0]) &&\n                ValueGuard.IsObject(schema.patternProperties) &&\n                IsSchema(schema.patternProperties[keys[0]]));\n        })(value));\n}\n/** Returns true if this value is TRecursive */\nexport function IsRecursive(value) {\n    return ValueGuard.IsObject(value) && Hint in value && value[Hint] === 'Recursive';\n}\n/** Returns true if the given value is TRef */\nexport function IsRef(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Ref') &&\n        IsOptionalString(value.$id) &&\n        ValueGuard.IsString(value.$ref));\n}\n/** Returns true if the given value is TRegExp */\nexport function IsRegExp(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'RegExp') &&\n        IsOptionalString(value.$id) &&\n        ValueGuard.IsString(value.source) &&\n        ValueGuard.IsString(value.flags) &&\n        IsOptionalNumber(value.maxLength) &&\n        IsOptionalNumber(value.minLength));\n}\n/** Returns true if the given value is TString */\nexport function IsString(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'String') &&\n        value.type === 'string' &&\n        IsOptionalString(value.$id) &&\n        IsOptionalNumber(value.minLength) &&\n        IsOptionalNumber(value.maxLength) &&\n        IsOptionalPattern(value.pattern) &&\n        IsOptionalFormat(value.format));\n}\n/** Returns true if the given value is TSymbol */\nexport function IsSymbol(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Symbol') &&\n        value.type === 'symbol' &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is TTemplateLiteral */\nexport function IsTemplateLiteral(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'TemplateLiteral') &&\n        value.type === 'string' &&\n        ValueGuard.IsString(value.pattern) &&\n        value.pattern[0] === '^' &&\n        value.pattern[value.pattern.length - 1] === '$');\n}\n/** Returns true if the given value is TThis */\nexport function IsThis(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'This') &&\n        IsOptionalString(value.$id) &&\n        ValueGuard.IsString(value.$ref));\n}\n/** Returns true of this value is TTransform */\nexport function IsTransform(value) {\n    return ValueGuard.IsObject(value) && TransformKind in value;\n}\n/** Returns true if the given value is TTuple */\nexport function IsTuple(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Tuple') &&\n        value.type === 'array' &&\n        IsOptionalString(value.$id) &&\n        ValueGuard.IsNumber(value.minItems) &&\n        ValueGuard.IsNumber(value.maxItems) &&\n        value.minItems === value.maxItems &&\n        (( // empty\n        ValueGuard.IsUndefined(value.items) &&\n            ValueGuard.IsUndefined(value.additionalItems) &&\n            value.minItems === 0) || (ValueGuard.IsArray(value.items) &&\n            value.items.every(schema => IsSchema(schema)))));\n}\n/** Returns true if the given value is TUndefined */\nexport function IsUndefined(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Undefined') &&\n        value.type === 'undefined' &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is TUnion<Literal<string | number>[]> */\nexport function IsUnionLiteral(value) {\n    return IsUnion(value) && value.anyOf.every((schema) => IsLiteralString(schema) || IsLiteralNumber(schema));\n}\n/** Returns true if the given value is TUnion */\nexport function IsUnion(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Union') &&\n        IsOptionalString(value.$id) &&\n        ValueGuard.IsObject(value) &&\n        ValueGuard.IsArray(value.anyOf) &&\n        value.anyOf.every(schema => IsSchema(schema)));\n}\n/** Returns true if the given value is TUint8Array */\nexport function IsUint8Array(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Uint8Array') &&\n        value.type === 'Uint8Array' &&\n        IsOptionalString(value.$id) &&\n        IsOptionalNumber(value.minByteLength) &&\n        IsOptionalNumber(value.maxByteLength));\n}\n/** Returns true if the given value is TUnknown */\nexport function IsUnknown(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Unknown') &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is a raw TUnsafe */\nexport function IsUnsafe(value) {\n    return IsKindOf(value, 'Unsafe');\n}\n/** Returns true if the given value is TVoid */\nexport function IsVoid(value) {\n    // prettier-ignore\n    return (IsKindOf(value, 'Void') &&\n        value.type === 'void' &&\n        IsOptionalString(value.$id));\n}\n/** Returns true if the given value is TKind */\nexport function IsKind(value) {\n    return ValueGuard.IsObject(value) && Kind in value && ValueGuard.IsString(value[Kind]) && !KnownTypes.includes(value[Kind]);\n}\n/** Returns true if the given value is TSchema */\nexport function IsSchema(value) {\n    // prettier-ignore\n    return (ValueGuard.IsObject(value)) && (IsAny(value) ||\n        IsArgument(value) ||\n        IsArray(value) ||\n        IsBoolean(value) ||\n        IsBigInt(value) ||\n        IsAsyncIterator(value) ||\n        IsComputed(value) ||\n        IsConstructor(value) ||\n        IsDate(value) ||\n        IsFunction(value) ||\n        IsInteger(value) ||\n        IsIntersect(value) ||\n        IsIterator(value) ||\n        IsLiteral(value) ||\n        IsMappedKey(value) ||\n        IsMappedResult(value) ||\n        IsNever(value) ||\n        IsNot(value) ||\n        IsNull(value) ||\n        IsNumber(value) ||\n        IsObject(value) ||\n        IsPromise(value) ||\n        IsRecord(value) ||\n        IsRef(value) ||\n        IsRegExp(value) ||\n        IsString(value) ||\n        IsSymbol(value) ||\n        IsTemplateLiteral(value) ||\n        IsThis(value) ||\n        IsTuple(value) ||\n        IsUndefined(value) ||\n        IsUnion(value) ||\n        IsUint8Array(value) ||\n        IsUnknown(value) ||\n        IsUnsafe(value) ||\n        IsVoid(value) ||\n        IsKind(value));\n}\n","export const PatternBoolean = '(true|false)';\nexport const PatternNumber = '(0|[1-9][0-9]*)';\nexport const PatternString = '(.*)';\nexport const PatternNever = '(?!.*)';\nexport const PatternBooleanExact = `^${PatternBoolean}$`;\nexport const PatternNumberExact = `^${PatternNumber}$`;\nexport const PatternStringExact = `^${PatternString}$`;\nexport const PatternNeverExact = `^${PatternNever}$`;\n","/** Returns true if element right is in the set of left */\n// prettier-ignore\nexport function SetIncludes(T, S) {\n    return T.includes(S);\n}\n/** Returns true if left is a subset of right */\nexport function SetIsSubset(T, S) {\n    return T.every((L) => SetIncludes(S, L));\n}\n/** Returns a distinct set of elements */\nexport function SetDistinct(T) {\n    return [...new Set(T)];\n}\n/** Returns the Intersect of the given sets */\nexport function SetIntersect(T, S) {\n    return T.filter((L) => S.includes(L));\n}\n/** Returns the Union of the given sets */\nexport function SetUnion(T, S) {\n    return [...T, ...S];\n}\n/** Returns the Complement by omitting elements in T that are in S */\n// prettier-ignore\nexport function SetComplement(T, S) {\n    return T.filter(L => !S.includes(L));\n}\n// prettier-ignore\nfunction SetIntersectManyResolve(T, Init) {\n    return T.reduce((Acc, L) => {\n        return SetIntersect(Acc, L);\n    }, Init);\n}\n// prettier-ignore\nexport function SetIntersectMany(T) {\n    return (T.length === 1\n        ? T[0]\n        // Use left to initialize the accumulator for resolve\n        : T.length > 1\n            ? SetIntersectManyResolve(T.slice(1), T[0])\n            : []);\n}\n/** Returns the Union of multiple sets */\nexport function SetUnionMany(T) {\n    const Acc = [];\n    for (const L of T)\n        Acc.push(...L);\n    return Acc;\n}\n","import { CreateType } from '../create/index.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates an Any type */\nexport function Any(options) {\n    return CreateType({ [Kind]: 'Any' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates an Array type */\nexport function Array(items, options) {\n    return CreateType({ [Kind]: 'Array', type: 'array', items }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates an Argument Type. */\nexport function Argument(index) {\n    return CreateType({ [Kind]: 'Argument', index });\n}\n","import { Kind } from '../symbols/index.mjs';\nimport { CreateType } from '../create/type.mjs';\n/** `[JavaScript]` Creates a AsyncIterator type */\nexport function AsyncIterator(items, options) {\n    return CreateType({ [Kind]: 'AsyncIterator', type: 'AsyncIterator', items }, options);\n}\n","import { CreateType } from '../create/index.mjs';\nimport { Kind } from '../symbols/symbols.mjs';\n/** `[Internal]` Creates a deferred computed type. This type is used exclusively in modules to defer resolution of computable types that contain interior references  */\nexport function Computed(target, parameters, options) {\n    return CreateType({ [Kind]: 'Computed', target, parameters }, options);\n}\n","function DiscardKey(value, key) {\n    const { [key]: _, ...rest } = value;\n    return rest;\n}\n/** Discards property keys from the given value. This function returns a shallow Clone. */\nexport function Discard(value, keys) {\n    return keys.reduce((acc, key) => DiscardKey(acc, key), value);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Never type */\nexport function Never(options) {\n    return CreateType({ [Kind]: 'Never', not: {} }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n// prettier-ignore\nexport function MappedResult(properties) {\n    return CreateType({\n        [Kind]: 'MappedResult',\n        properties\n    });\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a Constructor type */\nexport function Constructor(parameters, returns, options) {\n    return CreateType({ [Kind]: 'Constructor', type: 'Constructor', parameters, returns }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a Function type */\nexport function Function(parameters, returns, options) {\n    return CreateType({ [Kind]: 'Function', type: 'Function', parameters, returns }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\nexport function UnionCreate(T, options) {\n    return CreateType({ [Kind]: 'Union', anyOf: T }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { OptionalKind } from '../symbols/index.mjs';\nimport { Discard } from '../discard/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport { Optional } from '../optional/index.mjs';\nimport { UnionCreate } from './union-create.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsOptional } from '../guard/kind.mjs';\n// prettier-ignore\nfunction IsUnionOptional(types) {\n    return types.some(type => IsOptional(type));\n}\n// prettier-ignore\nfunction RemoveOptionalFromRest(types) {\n    return types.map(left => IsOptional(left) ? RemoveOptionalFromType(left) : left);\n}\n// prettier-ignore\nfunction RemoveOptionalFromType(T) {\n    return (Discard(T, [OptionalKind]));\n}\n// prettier-ignore\nfunction ResolveUnion(types, options) {\n    const isOptional = IsUnionOptional(types);\n    return (isOptional\n        ? Optional(UnionCreate(RemoveOptionalFromRest(types), options))\n        : UnionCreate(RemoveOptionalFromRest(types), options));\n}\n/** `[Json]` Creates an evaluated Union type */\nexport function UnionEvaluated(T, options) {\n    // prettier-ignore\n    return (T.length === 1 ? CreateType(T[0], options) :\n        T.length === 0 ? Never(options) :\n            ResolveUnion(T, options));\n}\n","import { Never } from '../never/index.mjs';\nimport { CreateType } from '../create/type.mjs';\nimport { UnionCreate } from './union-create.mjs';\n/** `[Json]` Creates a Union type */\nexport function Union(types, options) {\n    // prettier-ignore\n    return (types.length === 0 ? Never(options) :\n        types.length === 1 ? CreateType(types[0], options) :\n            UnionCreate(types, options));\n}\n","import { TypeBoxError } from '../error/index.mjs';\n// ------------------------------------------------------------------\n// TemplateLiteralParserError\n// ------------------------------------------------------------------\nexport class TemplateLiteralParserError extends TypeBoxError {\n}\n// -------------------------------------------------------------------\n// Unescape\n//\n// Unescape for these control characters specifically. Note that this\n// function is only called on non union group content, and where we\n// still want to allow the user to embed control characters in that\n// content. For review.\n// -------------------------------------------------------------------\n// prettier-ignore\nfunction Unescape(pattern) {\n    return pattern\n        .replace(/\\\\\\$/g, '$')\n        .replace(/\\\\\\*/g, '*')\n        .replace(/\\\\\\^/g, '^')\n        .replace(/\\\\\\|/g, '|')\n        .replace(/\\\\\\(/g, '(')\n        .replace(/\\\\\\)/g, ')');\n}\n// -------------------------------------------------------------------\n// Control Characters\n// -------------------------------------------------------------------\nfunction IsNonEscaped(pattern, index, char) {\n    return pattern[index] === char && pattern.charCodeAt(index - 1) !== 92;\n}\nfunction IsOpenParen(pattern, index) {\n    return IsNonEscaped(pattern, index, '(');\n}\nfunction IsCloseParen(pattern, index) {\n    return IsNonEscaped(pattern, index, ')');\n}\nfunction IsSeparator(pattern, index) {\n    return IsNonEscaped(pattern, index, '|');\n}\n// -------------------------------------------------------------------\n// Control Groups\n// -------------------------------------------------------------------\nfunction IsGroup(pattern) {\n    if (!(IsOpenParen(pattern, 0) && IsCloseParen(pattern, pattern.length - 1)))\n        return false;\n    let count = 0;\n    for (let index = 0; index < pattern.length; index++) {\n        if (IsOpenParen(pattern, index))\n            count += 1;\n        if (IsCloseParen(pattern, index))\n            count -= 1;\n        if (count === 0 && index !== pattern.length - 1)\n            return false;\n    }\n    return true;\n}\n// prettier-ignore\nfunction InGroup(pattern) {\n    return pattern.slice(1, pattern.length - 1);\n}\n// prettier-ignore\nfunction IsPrecedenceOr(pattern) {\n    let count = 0;\n    for (let index = 0; index < pattern.length; index++) {\n        if (IsOpenParen(pattern, index))\n            count += 1;\n        if (IsCloseParen(pattern, index))\n            count -= 1;\n        if (IsSeparator(pattern, index) && count === 0)\n            return true;\n    }\n    return false;\n}\n// prettier-ignore\nfunction IsPrecedenceAnd(pattern) {\n    for (let index = 0; index < pattern.length; index++) {\n        if (IsOpenParen(pattern, index))\n            return true;\n    }\n    return false;\n}\n// prettier-ignore\nfunction Or(pattern) {\n    let [count, start] = [0, 0];\n    const expressions = [];\n    for (let index = 0; index < pattern.length; index++) {\n        if (IsOpenParen(pattern, index))\n            count += 1;\n        if (IsCloseParen(pattern, index))\n            count -= 1;\n        if (IsSeparator(pattern, index) && count === 0) {\n            const range = pattern.slice(start, index);\n            if (range.length > 0)\n                expressions.push(TemplateLiteralParse(range));\n            start = index + 1;\n        }\n    }\n    const range = pattern.slice(start);\n    if (range.length > 0)\n        expressions.push(TemplateLiteralParse(range));\n    if (expressions.length === 0)\n        return { type: 'const', const: '' };\n    if (expressions.length === 1)\n        return expressions[0];\n    return { type: 'or', expr: expressions };\n}\n// prettier-ignore\nfunction And(pattern) {\n    function Group(value, index) {\n        if (!IsOpenParen(value, index))\n            throw new TemplateLiteralParserError(`TemplateLiteralParser: Index must point to open parens`);\n        let count = 0;\n        for (let scan = index; scan < value.length; scan++) {\n            if (IsOpenParen(value, scan))\n                count += 1;\n            if (IsCloseParen(value, scan))\n                count -= 1;\n            if (count === 0)\n                return [index, scan];\n        }\n        throw new TemplateLiteralParserError(`TemplateLiteralParser: Unclosed group parens in expression`);\n    }\n    function Range(pattern, index) {\n        for (let scan = index; scan < pattern.length; scan++) {\n            if (IsOpenParen(pattern, scan))\n                return [index, scan];\n        }\n        return [index, pattern.length];\n    }\n    const expressions = [];\n    for (let index = 0; index < pattern.length; index++) {\n        if (IsOpenParen(pattern, index)) {\n            const [start, end] = Group(pattern, index);\n            const range = pattern.slice(start, end + 1);\n            expressions.push(TemplateLiteralParse(range));\n            index = end;\n        }\n        else {\n            const [start, end] = Range(pattern, index);\n            const range = pattern.slice(start, end);\n            if (range.length > 0)\n                expressions.push(TemplateLiteralParse(range));\n            index = end - 1;\n        }\n    }\n    return ((expressions.length === 0) ? { type: 'const', const: '' } :\n        (expressions.length === 1) ? expressions[0] :\n            { type: 'and', expr: expressions });\n}\n// ------------------------------------------------------------------\n// TemplateLiteralParse\n// ------------------------------------------------------------------\n/** Parses a pattern and returns an expression tree */\nexport function TemplateLiteralParse(pattern) {\n    // prettier-ignore\n    return (IsGroup(pattern) ? TemplateLiteralParse(InGroup(pattern)) :\n        IsPrecedenceOr(pattern) ? Or(pattern) :\n            IsPrecedenceAnd(pattern) ? And(pattern) :\n                { type: 'const', const: Unescape(pattern) });\n}\n// ------------------------------------------------------------------\n// TemplateLiteralParseExact\n// ------------------------------------------------------------------\n/** Parses a pattern and strips forward and trailing ^ and $ */\nexport function TemplateLiteralParseExact(pattern) {\n    return TemplateLiteralParse(pattern.slice(1, pattern.length - 1));\n}\n","import { TemplateLiteralParseExact } from './parse.mjs';\nimport { TypeBoxError } from '../error/index.mjs';\n// ------------------------------------------------------------------\n// TemplateLiteralFiniteError\n// ------------------------------------------------------------------\nexport class TemplateLiteralFiniteError extends TypeBoxError {\n}\n// ------------------------------------------------------------------\n// IsTemplateLiteralFiniteCheck\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction IsNumberExpression(expression) {\n    return (expression.type === 'or' &&\n        expression.expr.length === 2 &&\n        expression.expr[0].type === 'const' &&\n        expression.expr[0].const === '0' &&\n        expression.expr[1].type === 'const' &&\n        expression.expr[1].const === '[1-9][0-9]*');\n}\n// prettier-ignore\nfunction IsBooleanExpression(expression) {\n    return (expression.type === 'or' &&\n        expression.expr.length === 2 &&\n        expression.expr[0].type === 'const' &&\n        expression.expr[0].const === 'true' &&\n        expression.expr[1].type === 'const' &&\n        expression.expr[1].const === 'false');\n}\n// prettier-ignore\nfunction IsStringExpression(expression) {\n    return expression.type === 'const' && expression.const === '.*';\n}\n// ------------------------------------------------------------------\n// IsTemplateLiteralExpressionFinite\n// ------------------------------------------------------------------\n// prettier-ignore\nexport function IsTemplateLiteralExpressionFinite(expression) {\n    return (IsNumberExpression(expression) || IsStringExpression(expression) ? false :\n        IsBooleanExpression(expression) ? true :\n            (expression.type === 'and') ? expression.expr.every((expr) => IsTemplateLiteralExpressionFinite(expr)) :\n                (expression.type === 'or') ? expression.expr.every((expr) => IsTemplateLiteralExpressionFinite(expr)) :\n                    (expression.type === 'const') ? true :\n                        (() => { throw new TemplateLiteralFiniteError(`Unknown expression type`); })());\n}\n/** Returns true if this TemplateLiteral resolves to a finite set of values */\nexport function IsTemplateLiteralFinite(schema) {\n    const expression = TemplateLiteralParseExact(schema.pattern);\n    return IsTemplateLiteralExpressionFinite(expression);\n}\n","import { IsTemplateLiteralExpressionFinite } from './finite.mjs';\nimport { TemplateLiteralParseExact } from './parse.mjs';\nimport { TypeBoxError } from '../error/index.mjs';\n// ------------------------------------------------------------------\n// TemplateLiteralGenerateError\n// ------------------------------------------------------------------\nexport class TemplateLiteralGenerateError extends TypeBoxError {\n}\n// ------------------------------------------------------------------\n// TemplateLiteralExpressionGenerate\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction* GenerateReduce(buffer) {\n    if (buffer.length === 1)\n        return yield* buffer[0];\n    for (const left of buffer[0]) {\n        for (const right of GenerateReduce(buffer.slice(1))) {\n            yield `${left}${right}`;\n        }\n    }\n}\n// prettier-ignore\nfunction* GenerateAnd(expression) {\n    return yield* GenerateReduce(expression.expr.map((expr) => [...TemplateLiteralExpressionGenerate(expr)]));\n}\n// prettier-ignore\nfunction* GenerateOr(expression) {\n    for (const expr of expression.expr)\n        yield* TemplateLiteralExpressionGenerate(expr);\n}\n// prettier-ignore\nfunction* GenerateConst(expression) {\n    return yield expression.const;\n}\nexport function* TemplateLiteralExpressionGenerate(expression) {\n    return expression.type === 'and'\n        ? yield* GenerateAnd(expression)\n        : expression.type === 'or'\n            ? yield* GenerateOr(expression)\n            : expression.type === 'const'\n                ? yield* GenerateConst(expression)\n                : (() => {\n                    throw new TemplateLiteralGenerateError('Unknown expression');\n                })();\n}\n/** Generates a tuple of strings from the given TemplateLiteral. Returns an empty tuple if infinite. */\nexport function TemplateLiteralGenerate(schema) {\n    const expression = TemplateLiteralParseExact(schema.pattern);\n    // prettier-ignore\n    return (IsTemplateLiteralExpressionFinite(expression)\n        ? [...TemplateLiteralExpressionGenerate(expression)]\n        : []);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Literal type */\nexport function Literal(value, options) {\n    return CreateType({\n        [Kind]: 'Literal',\n        const: value,\n        type: typeof value,\n    }, options);\n}\n","import { Kind } from '../symbols/index.mjs';\nimport { CreateType } from '../create/index.mjs';\n/** `[Json]` Creates a Boolean type */\nexport function Boolean(options) {\n    return CreateType({ [Kind]: 'Boolean', type: 'boolean' }, options);\n}\n","import { Kind } from '../symbols/index.mjs';\nimport { CreateType } from '../create/index.mjs';\n/** `[JavaScript]` Creates a BigInt type */\nexport function BigInt(options) {\n    return CreateType({ [Kind]: 'BigInt', type: 'bigint' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Number type */\nexport function Number(options) {\n    return CreateType({ [Kind]: 'Number', type: 'number' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a String type */\nexport function String(options) {\n    return CreateType({ [Kind]: 'String', type: 'string' }, options);\n}\n","import { Literal } from '../literal/index.mjs';\nimport { Boolean } from '../boolean/index.mjs';\nimport { BigInt } from '../bigint/index.mjs';\nimport { Number } from '../number/index.mjs';\nimport { String } from '../string/index.mjs';\nimport { UnionEvaluated } from '../union/index.mjs';\nimport { Never } from '../never/index.mjs';\n// ------------------------------------------------------------------\n// SyntaxParsers\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction* FromUnion(syntax) {\n    const trim = syntax.trim().replace(/\"|'/g, '');\n    return (trim === 'boolean' ? yield Boolean() :\n        trim === 'number' ? yield Number() :\n            trim === 'bigint' ? yield BigInt() :\n                trim === 'string' ? yield String() :\n                    yield (() => {\n                        const literals = trim.split('|').map((literal) => Literal(literal.trim()));\n                        return (literals.length === 0 ? Never() :\n                            literals.length === 1 ? literals[0] :\n                                UnionEvaluated(literals));\n                    })());\n}\n// prettier-ignore\nfunction* FromTerminal(syntax) {\n    if (syntax[1] !== '{') {\n        const L = Literal('$');\n        const R = FromSyntax(syntax.slice(1));\n        return yield* [L, ...R];\n    }\n    for (let i = 2; i < syntax.length; i++) {\n        if (syntax[i] === '}') {\n            const L = FromUnion(syntax.slice(2, i));\n            const R = FromSyntax(syntax.slice(i + 1));\n            return yield* [...L, ...R];\n        }\n    }\n    yield Literal(syntax);\n}\n// prettier-ignore\nfunction* FromSyntax(syntax) {\n    for (let i = 0; i < syntax.length; i++) {\n        if (syntax[i] === '$') {\n            const L = Literal(syntax.slice(0, i));\n            const R = FromTerminal(syntax.slice(i));\n            return yield* [L, ...R];\n        }\n    }\n    yield Literal(syntax);\n}\n/** Parses TemplateLiteralSyntax and returns a tuple of TemplateLiteralKinds */\nexport function TemplateLiteralSyntax(syntax) {\n    return [...FromSyntax(syntax)];\n}\n","import { PatternNumber, PatternString, PatternBoolean } from '../patterns/index.mjs';\nimport { Kind } from '../symbols/index.mjs';\nimport { TypeBoxError } from '../error/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsTemplateLiteral, IsUnion, IsNumber, IsInteger, IsBigInt, IsString, IsLiteral, IsBoolean } from '../guard/kind.mjs';\n// ------------------------------------------------------------------\n// TemplateLiteralPatternError\n// ------------------------------------------------------------------\nexport class TemplateLiteralPatternError extends TypeBoxError {\n}\n// ------------------------------------------------------------------\n// TemplateLiteralPattern\n// ------------------------------------------------------------------\nfunction Escape(value) {\n    return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n// prettier-ignore\nfunction Visit(schema, acc) {\n    return (IsTemplateLiteral(schema) ? schema.pattern.slice(1, schema.pattern.length - 1) :\n        IsUnion(schema) ? `(${schema.anyOf.map((schema) => Visit(schema, acc)).join('|')})` :\n            IsNumber(schema) ? `${acc}${PatternNumber}` :\n                IsInteger(schema) ? `${acc}${PatternNumber}` :\n                    IsBigInt(schema) ? `${acc}${PatternNumber}` :\n                        IsString(schema) ? `${acc}${PatternString}` :\n                            IsLiteral(schema) ? `${acc}${Escape(schema.const.toString())}` :\n                                IsBoolean(schema) ? `${acc}${PatternBoolean}` :\n                                    (() => { throw new TemplateLiteralPatternError(`Unexpected Kind '${schema[Kind]}'`); })());\n}\nexport function TemplateLiteralPattern(kinds) {\n    return `^${kinds.map((schema) => Visit(schema, '')).join('')}\\$`;\n}\n","import { UnionEvaluated } from '../union/index.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { TemplateLiteralGenerate } from './generate.mjs';\n/** Returns a Union from the given TemplateLiteral */\nexport function TemplateLiteralToUnion(schema) {\n    const R = TemplateLiteralGenerate(schema);\n    const L = R.map((S) => Literal(S));\n    return UnionEvaluated(L);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { TemplateLiteralSyntax } from './syntax.mjs';\nimport { TemplateLiteralPattern } from './pattern.mjs';\nimport { IsString } from '../guard/value.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a TemplateLiteral type */\n// prettier-ignore\nexport function TemplateLiteral(unresolved, options) {\n    const pattern = IsString(unresolved)\n        ? TemplateLiteralPattern(TemplateLiteralSyntax(unresolved))\n        : TemplateLiteralPattern(unresolved);\n    return CreateType({ [Kind]: 'TemplateLiteral', type: 'string', pattern }, options);\n}\n","import { TemplateLiteralGenerate } from '../template-literal/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsTemplateLiteral, IsUnion, IsLiteral, IsNumber, IsInteger } from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromTemplateLiteral(templateLiteral) {\n    const keys = TemplateLiteralGenerate(templateLiteral);\n    return keys.map(key => key.toString());\n}\n// prettier-ignore\nfunction FromUnion(types) {\n    const result = [];\n    for (const type of types)\n        result.push(...IndexPropertyKeys(type));\n    return result;\n}\n// prettier-ignore\nfunction FromLiteral(literalValue) {\n    return ([literalValue.toString()] // TS 5.4 observes TLiteralValue as not having a toString()\n    );\n}\n/** Returns a tuple of PropertyKeys derived from the given TSchema */\n// prettier-ignore\nexport function IndexPropertyKeys(type) {\n    return [...new Set((IsTemplateLiteral(type) ? FromTemplateLiteral(type) :\n            IsUnion(type) ? FromUnion(type.anyOf) :\n                IsLiteral(type) ? FromLiteral(type.const) :\n                    IsNumber(type) ? ['[number]'] :\n                        IsInteger(type) ? ['[number]'] :\n                            []))];\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { IndexPropertyKeys } from './indexed-property-keys.mjs';\nimport { Index } from './index.mjs';\n// prettier-ignore\nfunction FromProperties(type, properties, options) {\n    const result = {};\n    for (const K2 of Object.getOwnPropertyNames(properties)) {\n        result[K2] = Index(type, IndexPropertyKeys(properties[K2]), options);\n    }\n    return result;\n}\n// prettier-ignore\nfunction FromMappedResult(type, mappedResult, options) {\n    return FromProperties(type, mappedResult.properties, options);\n}\n// prettier-ignore\nexport function IndexFromMappedResult(type, mappedResult, options) {\n    const properties = FromMappedResult(type, mappedResult, options);\n    return MappedResult(properties);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { TypeBoxError } from '../error/index.mjs';\nimport { Computed } from '../computed/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport { IntersectEvaluated } from '../intersect/index.mjs';\nimport { UnionEvaluated } from '../union/index.mjs';\nimport { IndexPropertyKeys } from './indexed-property-keys.mjs';\nimport { IndexFromMappedKey } from './indexed-from-mapped-key.mjs';\nimport { IndexFromMappedResult } from './indexed-from-mapped-result.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsArray, IsIntersect, IsObject, IsMappedKey, IsMappedResult, IsNever, IsSchema, IsTuple, IsUnion, IsRef } from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromRest(types, key) {\n    return types.map(type => IndexFromPropertyKey(type, key));\n}\n// prettier-ignore\nfunction FromIntersectRest(types) {\n    return types.filter(type => !IsNever(type));\n}\n// prettier-ignore\nfunction FromIntersect(types, key) {\n    return (IntersectEvaluated(FromIntersectRest(FromRest(types, key))));\n}\n// prettier-ignore\nfunction FromUnionRest(types) {\n    return (types.some(L => IsNever(L))\n        ? []\n        : types);\n}\n// prettier-ignore\nfunction FromUnion(types, key) {\n    return (UnionEvaluated(FromUnionRest(FromRest(types, key))));\n}\n// prettier-ignore\nfunction FromTuple(types, key) {\n    return (key in types ? types[key] :\n        key === '[number]' ? UnionEvaluated(types) :\n            Never());\n}\n// prettier-ignore\nfunction FromArray(type, key) {\n    return (key === '[number]'\n        ? type\n        : Never());\n}\n// prettier-ignore\nfunction FromProperty(properties, propertyKey) {\n    return (propertyKey in properties ? properties[propertyKey] : Never());\n}\n// prettier-ignore\nexport function IndexFromPropertyKey(type, propertyKey) {\n    return (IsIntersect(type) ? FromIntersect(type.allOf, propertyKey) :\n        IsUnion(type) ? FromUnion(type.anyOf, propertyKey) :\n            IsTuple(type) ? FromTuple(type.items ?? [], propertyKey) :\n                IsArray(type) ? FromArray(type.items, propertyKey) :\n                    IsObject(type) ? FromProperty(type.properties, propertyKey) :\n                        Never());\n}\n// prettier-ignore\nexport function IndexFromPropertyKeys(type, propertyKeys) {\n    return propertyKeys.map(propertyKey => IndexFromPropertyKey(type, propertyKey));\n}\n// prettier-ignore\nfunction FromSchema(type, propertyKeys) {\n    return (UnionEvaluated(IndexFromPropertyKeys(type, propertyKeys)));\n}\n// prettier-ignore\nexport function IndexFromComputed(type, key) {\n    return Computed('Index', [type, key]);\n}\n/** `[Json]` Returns an Indexed property type for the given keys */\nexport function Index(type, key, options) {\n    // computed-type\n    if (IsRef(type) || IsRef(key)) {\n        const error = `Index types using Ref parameters require both Type and Key to be of TSchema`;\n        if (!IsSchema(type) || !IsSchema(key))\n            throw new TypeBoxError(error);\n        return Computed('Index', [type, key]);\n    }\n    // mapped-types\n    if (IsMappedResult(key))\n        return IndexFromMappedResult(type, key, options);\n    if (IsMappedKey(key))\n        return IndexFromMappedKey(type, key, options);\n    // prettier-ignore\n    return CreateType(IsSchema(key)\n        ? FromSchema(type, IndexPropertyKeys(key))\n        : FromSchema(type, key), options);\n}\n","import { Index } from './indexed.mjs';\nimport { MappedResult } from '../mapped/index.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction MappedIndexPropertyKey(type, key, options) {\n    return { [key]: Index(type, [key], Clone(options)) };\n}\n// prettier-ignore\nfunction MappedIndexPropertyKeys(type, propertyKeys, options) {\n    return propertyKeys.reduce((result, left) => {\n        return { ...result, ...MappedIndexPropertyKey(type, left, options) };\n    }, {});\n}\n// prettier-ignore\nfunction MappedIndexProperties(type, mappedKey, options) {\n    return MappedIndexPropertyKeys(type, mappedKey.keys, options);\n}\n// prettier-ignore\nexport function IndexFromMappedKey(type, mappedKey, options) {\n    const properties = MappedIndexProperties(type, mappedKey, options);\n    return MappedResult(properties);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates an Iterator type */\nexport function Iterator(items, options) {\n    return CreateType({ [Kind]: 'Iterator', type: 'Iterator', items }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsOptional } from '../guard/kind.mjs';\n/** Creates a RequiredArray derived from the given TProperties value. */\nfunction RequiredArray(properties) {\n    return globalThis.Object.keys(properties).filter((key) => !IsOptional(properties[key]));\n}\n/** `[Json]` Creates an Object type */\nfunction _Object(properties, options) {\n    const required = RequiredArray(properties);\n    const schema = required.length > 0 ? { [Kind]: 'Object', type: 'object', required, properties } : { [Kind]: 'Object', type: 'object', properties };\n    return CreateType(schema, options);\n}\n/** `[Json]` Creates an Object type */\nexport var Object = _Object;\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a Promise type */\nexport function Promise(item, options) {\n    return CreateType({ [Kind]: 'Promise', type: 'Promise', item }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { ReadonlyKind } from '../symbols/index.mjs';\nimport { Discard } from '../discard/index.mjs';\nimport { ReadonlyFromMappedResult } from './readonly-from-mapped-result.mjs';\nimport { IsMappedResult } from '../guard/kind.mjs';\nfunction RemoveReadonly(schema) {\n    return CreateType(Discard(schema, [ReadonlyKind]));\n}\nfunction AddReadonly(schema) {\n    return CreateType({ ...schema, [ReadonlyKind]: 'Readonly' });\n}\n// prettier-ignore\nfunction ReadonlyWithFlag(schema, F) {\n    return (F === false\n        ? RemoveReadonly(schema)\n        : AddReadonly(schema));\n}\n/** `[Json]` Creates a Readonly property */\nexport function Readonly(schema, enable) {\n    const F = enable ?? true;\n    return IsMappedResult(schema) ? ReadonlyFromMappedResult(schema, F) : ReadonlyWithFlag(schema, F);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Readonly } from './readonly.mjs';\n// prettier-ignore\nfunction FromProperties(K, F) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(K))\n        Acc[K2] = Readonly(K[K2], F);\n    return Acc;\n}\n// prettier-ignore\nfunction FromMappedResult(R, F) {\n    return FromProperties(R.properties, F);\n}\n// prettier-ignore\nexport function ReadonlyFromMappedResult(R, F) {\n    const P = FromMappedResult(R, F);\n    return MappedResult(P);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Tuple type */\nexport function Tuple(types, options) {\n    // prettier-ignore\n    return CreateType(types.length > 0 ?\n        { [Kind]: 'Tuple', type: 'array', items: types, additionalItems: false, minItems: types.length, maxItems: types.length } :\n        { [Kind]: 'Tuple', type: 'array', minItems: types.length, maxItems: types.length }, options);\n}\n","import { Kind, OptionalKind, ReadonlyKind } from '../symbols/index.mjs';\nimport { Discard } from '../discard/index.mjs';\n// evaluation types\nimport { Array } from '../array/index.mjs';\nimport { AsyncIterator } from '../async-iterator/index.mjs';\nimport { Constructor } from '../constructor/index.mjs';\nimport { Function as FunctionType } from '../function/index.mjs';\nimport { IndexPropertyKeys } from '../indexed/index.mjs';\nimport { Intersect } from '../intersect/index.mjs';\nimport { Iterator } from '../iterator/index.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { Optional } from '../optional/index.mjs';\nimport { Promise } from '../promise/index.mjs';\nimport { Readonly } from '../readonly/index.mjs';\nimport { Tuple } from '../tuple/index.mjs';\nimport { Union } from '../union/index.mjs';\n// operator\nimport { SetIncludes } from '../sets/index.mjs';\n// mapping types\nimport { MappedResult } from './mapped-result.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsArray, IsAsyncIterator, IsConstructor, IsFunction, IsIntersect, IsIterator, IsReadonly, IsMappedResult, IsMappedKey, IsObject, IsOptional, IsPromise, IsSchema, IsTuple, IsUnion } from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromMappedResult(K, P) {\n    return (K in P\n        ? FromSchemaType(K, P[K])\n        : MappedResult(P));\n}\n// prettier-ignore\nfunction MappedKeyToKnownMappedResultProperties(K) {\n    return { [K]: Literal(K) };\n}\n// prettier-ignore\nfunction MappedKeyToUnknownMappedResultProperties(P) {\n    const Acc = {};\n    for (const L of P)\n        Acc[L] = Literal(L);\n    return Acc;\n}\n// prettier-ignore\nfunction MappedKeyToMappedResultProperties(K, P) {\n    return (SetIncludes(P, K)\n        ? MappedKeyToKnownMappedResultProperties(K)\n        : MappedKeyToUnknownMappedResultProperties(P));\n}\n// prettier-ignore\nfunction FromMappedKey(K, P) {\n    const R = MappedKeyToMappedResultProperties(K, P);\n    return FromMappedResult(K, R);\n}\n// prettier-ignore\nfunction FromRest(K, T) {\n    return T.map(L => FromSchemaType(K, L));\n}\n// prettier-ignore\nfunction FromProperties(K, T) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(T))\n        Acc[K2] = FromSchemaType(K, T[K2]);\n    return Acc;\n}\n// prettier-ignore\nfunction FromSchemaType(K, T) {\n    // required to retain user defined options for mapped type\n    const options = { ...T };\n    return (\n    // unevaluated modifier types\n    IsOptional(T) ? Optional(FromSchemaType(K, Discard(T, [OptionalKind]))) :\n        IsReadonly(T) ? Readonly(FromSchemaType(K, Discard(T, [ReadonlyKind]))) :\n            // unevaluated mapped types\n            IsMappedResult(T) ? FromMappedResult(K, T.properties) :\n                IsMappedKey(T) ? FromMappedKey(K, T.keys) :\n                    // unevaluated types\n                    IsConstructor(T) ? Constructor(FromRest(K, T.parameters), FromSchemaType(K, T.returns), options) :\n                        IsFunction(T) ? FunctionType(FromRest(K, T.parameters), FromSchemaType(K, T.returns), options) :\n                            IsAsyncIterator(T) ? AsyncIterator(FromSchemaType(K, T.items), options) :\n                                IsIterator(T) ? Iterator(FromSchemaType(K, T.items), options) :\n                                    IsIntersect(T) ? Intersect(FromRest(K, T.allOf), options) :\n                                        IsUnion(T) ? Union(FromRest(K, T.anyOf), options) :\n                                            IsTuple(T) ? Tuple(FromRest(K, T.items ?? []), options) :\n                                                IsObject(T) ? Object(FromProperties(K, T.properties), options) :\n                                                    IsArray(T) ? Array(FromSchemaType(K, T.items), options) :\n                                                        IsPromise(T) ? Promise(FromSchemaType(K, T.item), options) :\n                                                            T);\n}\n// prettier-ignore\nexport function MappedFunctionReturnType(K, T) {\n    const Acc = {};\n    for (const L of K)\n        Acc[L] = FromSchemaType(L, T);\n    return Acc;\n}\n/** `[Json]` Creates a Mapped object type */\nexport function Mapped(key, map, options) {\n    const K = IsSchema(key) ? IndexPropertyKeys(key) : key;\n    const RT = map({ [Kind]: 'MappedKey', keys: K });\n    const R = MappedFunctionReturnType(K, RT);\n    return Object(R, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { OptionalKind } from '../symbols/index.mjs';\nimport { Discard } from '../discard/index.mjs';\nimport { OptionalFromMappedResult } from './optional-from-mapped-result.mjs';\nimport { IsMappedResult } from '../guard/kind.mjs';\nfunction RemoveOptional(schema) {\n    return CreateType(Discard(schema, [OptionalKind]));\n}\nfunction AddOptional(schema) {\n    return CreateType({ ...schema, [OptionalKind]: 'Optional' });\n}\n// prettier-ignore\nfunction OptionalWithFlag(schema, F) {\n    return (F === false\n        ? RemoveOptional(schema)\n        : AddOptional(schema));\n}\n/** `[Json]` Creates a Optional property */\nexport function Optional(schema, enable) {\n    const F = enable ?? true;\n    return IsMappedResult(schema) ? OptionalFromMappedResult(schema, F) : OptionalWithFlag(schema, F);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Optional } from './optional.mjs';\n// prettier-ignore\nfunction FromProperties(P, F) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(P))\n        Acc[K2] = Optional(P[K2], F);\n    return Acc;\n}\n// prettier-ignore\nfunction FromMappedResult(R, F) {\n    return FromProperties(R.properties, F);\n}\n// prettier-ignore\nexport function OptionalFromMappedResult(R, F) {\n    const P = FromMappedResult(R, F);\n    return MappedResult(P);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsObject, IsSchema } from '../guard/kind.mjs';\n// ------------------------------------------------------------------\n// IntersectCreate\n// ------------------------------------------------------------------\n// prettier-ignore\nexport function IntersectCreate(T, options = {}) {\n    const allObjects = T.every((schema) => IsObject(schema));\n    const clonedUnevaluatedProperties = IsSchema(options.unevaluatedProperties)\n        ? { unevaluatedProperties: options.unevaluatedProperties }\n        : {};\n    return CreateType((options.unevaluatedProperties === false || IsSchema(options.unevaluatedProperties) || allObjects\n        ? { ...clonedUnevaluatedProperties, [Kind]: 'Intersect', type: 'object', allOf: T }\n        : { ...clonedUnevaluatedProperties, [Kind]: 'Intersect', allOf: T }), options);\n}\n","import { OptionalKind } from '../symbols/index.mjs';\nimport { CreateType } from '../create/type.mjs';\nimport { Discard } from '../discard/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport { Optional } from '../optional/index.mjs';\nimport { IntersectCreate } from './intersect-create.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsOptional, IsTransform } from '../guard/kind.mjs';\n// prettier-ignore\nfunction IsIntersectOptional(types) {\n    return types.every(left => IsOptional(left));\n}\n// prettier-ignore\nfunction RemoveOptionalFromType(type) {\n    return (Discard(type, [OptionalKind]));\n}\n// prettier-ignore\nfunction RemoveOptionalFromRest(types) {\n    return types.map(left => IsOptional(left) ? RemoveOptionalFromType(left) : left);\n}\n// prettier-ignore\nfunction ResolveIntersect(types, options) {\n    return (IsIntersectOptional(types)\n        ? Optional(IntersectCreate(RemoveOptionalFromRest(types), options))\n        : IntersectCreate(RemoveOptionalFromRest(types), options));\n}\n/** `[Json]` Creates an evaluated Intersect type */\nexport function IntersectEvaluated(types, options = {}) {\n    if (types.length === 1)\n        return CreateType(types[0], options);\n    if (types.length === 0)\n        return Never(options);\n    if (types.some((schema) => IsTransform(schema)))\n        throw new Error('Cannot intersect transform types');\n    return ResolveIntersect(types, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Never } from '../never/index.mjs';\nimport { IntersectCreate } from './intersect-create.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsTransform } from '../guard/kind.mjs';\n/** `[Json]` Creates an evaluated Intersect type */\nexport function Intersect(types, options) {\n    if (types.length === 1)\n        return CreateType(types[0], options);\n    if (types.length === 0)\n        return Never(options);\n    if (types.some((schema) => IsTransform(schema)))\n        throw new Error('Cannot intersect transform types');\n    return IntersectCreate(types, options);\n}\n","import { TypeBoxError } from '../error/index.mjs';\nimport { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Ref type. The referenced type must contain a $id */\nexport function Ref(...args) {\n    const [$ref, options] = typeof args[0] === 'string' ? [args[0], args[1]] : [args[0].$id, args[1]];\n    if (typeof $ref !== 'string')\n        throw new TypeBoxError('Ref: $ref must be a string');\n    return CreateType({ [Kind]: 'Ref', $ref }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Computed } from '../computed/index.mjs';\nimport { Intersect } from '../intersect/index.mjs';\nimport { Union } from '../union/index.mjs';\nimport { Ref } from '../ref/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsIntersect, IsUnion, IsPromise, IsRef, IsComputed } from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromComputed(target, parameters) {\n    return Computed('Awaited', [Computed(target, parameters)]);\n}\n// prettier-ignore\nfunction FromRef($ref) {\n    return Computed('Awaited', [Ref($ref)]);\n}\n// prettier-ignore\nfunction FromIntersect(types) {\n    return Intersect(FromRest(types));\n}\n// prettier-ignore\nfunction FromUnion(types) {\n    return Union(FromRest(types));\n}\n// prettier-ignore\nfunction FromPromise(type) {\n    return Awaited(type);\n}\n// prettier-ignore\nfunction FromRest(types) {\n    return types.map(type => Awaited(type));\n}\n/** `[JavaScript]` Constructs a type by recursively unwrapping Promise types */\nexport function Awaited(type, options) {\n    return CreateType(IsComputed(type) ? FromComputed(type.target, type.parameters) : IsIntersect(type) ? FromIntersect(type.allOf) : IsUnion(type) ? FromUnion(type.anyOf) : IsPromise(type) ? FromPromise(type.item) : IsRef(type) ? FromRef(type.$ref) : type, options);\n}\n","import { SetUnionMany, SetIntersectMany } from '../sets/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsIntersect, IsUnion, IsTuple, IsArray, IsObject, IsRecord } from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromRest(types) {\n    const result = [];\n    for (const L of types)\n        result.push(KeyOfPropertyKeys(L));\n    return result;\n}\n// prettier-ignore\nfunction FromIntersect(types) {\n    const propertyKeysArray = FromRest(types);\n    const propertyKeys = SetUnionMany(propertyKeysArray);\n    return propertyKeys;\n}\n// prettier-ignore\nfunction FromUnion(types) {\n    const propertyKeysArray = FromRest(types);\n    const propertyKeys = SetIntersectMany(propertyKeysArray);\n    return propertyKeys;\n}\n// prettier-ignore\nfunction FromTuple(types) {\n    return types.map((_, indexer) => indexer.toString());\n}\n// prettier-ignore\nfunction FromArray(_) {\n    return (['[number]']);\n}\n// prettier-ignore\nfunction FromProperties(T) {\n    return (globalThis.Object.getOwnPropertyNames(T));\n}\n// ------------------------------------------------------------------\n// FromPatternProperties\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromPatternProperties(patternProperties) {\n    if (!includePatternProperties)\n        return [];\n    const patternPropertyKeys = globalThis.Object.getOwnPropertyNames(patternProperties);\n    return patternPropertyKeys.map(key => {\n        return (key[0] === '^' && key[key.length - 1] === '$')\n            ? key.slice(1, key.length - 1)\n            : key;\n    });\n}\n/** Returns a tuple of PropertyKeys derived from the given TSchema. */\n// prettier-ignore\nexport function KeyOfPropertyKeys(type) {\n    return (IsIntersect(type) ? FromIntersect(type.allOf) :\n        IsUnion(type) ? FromUnion(type.anyOf) :\n            IsTuple(type) ? FromTuple(type.items ?? []) :\n                IsArray(type) ? FromArray(type.items) :\n                    IsObject(type) ? FromProperties(type.properties) :\n                        IsRecord(type) ? FromPatternProperties(type.patternProperties) :\n                            []);\n}\n// ----------------------------------------------------------------\n// KeyOfPattern\n// ----------------------------------------------------------------\nlet includePatternProperties = false;\n/** Returns a regular expression pattern derived from the given TSchema */\nexport function KeyOfPattern(schema) {\n    includePatternProperties = true;\n    const keys = KeyOfPropertyKeys(schema);\n    includePatternProperties = false;\n    const pattern = keys.map((key) => `(${key})`);\n    return `^(${pattern.join('|')})$`;\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { Number } from '../number/index.mjs';\nimport { Computed } from '../computed/index.mjs';\nimport { Ref } from '../ref/index.mjs';\nimport { KeyOfPropertyKeys } from './keyof-property-keys.mjs';\nimport { UnionEvaluated } from '../union/index.mjs';\nimport { KeyOfFromMappedResult } from './keyof-from-mapped-result.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsMappedResult, IsRef, IsComputed } from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromComputed(target, parameters) {\n    return Computed('KeyOf', [Computed(target, parameters)]);\n}\n// prettier-ignore\nfunction FromRef($ref) {\n    return Computed('KeyOf', [Ref($ref)]);\n}\n// prettier-ignore\nfunction KeyOfFromType(type, options) {\n    const propertyKeys = KeyOfPropertyKeys(type);\n    const propertyKeyTypes = KeyOfPropertyKeysToRest(propertyKeys);\n    const result = UnionEvaluated(propertyKeyTypes);\n    return CreateType(result, options);\n}\n// prettier-ignore\nexport function KeyOfPropertyKeysToRest(propertyKeys) {\n    return propertyKeys.map(L => L === '[number]' ? Number() : Literal(L));\n}\n/** `[Json]` Creates a KeyOf type */\nexport function KeyOf(type, options) {\n    return (IsComputed(type) ? FromComputed(type.target, type.parameters) : IsRef(type) ? FromRef(type.$ref) : IsMappedResult(type) ? KeyOfFromMappedResult(type, options) : KeyOfFromType(type, options));\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { KeyOf } from './keyof.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromProperties(properties, options) {\n    const result = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(properties))\n        result[K2] = KeyOf(properties[K2], Clone(options));\n    return result;\n}\n// prettier-ignore\nfunction FromMappedResult(mappedResult, options) {\n    return FromProperties(mappedResult.properties, options);\n}\n// prettier-ignore\nexport function KeyOfFromMappedResult(mappedResult, options) {\n    const properties = FromMappedResult(mappedResult, options);\n    return MappedResult(properties);\n}\n","import { IntersectEvaluated } from '../intersect/index.mjs';\nimport { IndexFromPropertyKeys } from '../indexed/index.mjs';\nimport { KeyOfPropertyKeys } from '../keyof/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { SetDistinct } from '../sets/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsNever } from '../guard/kind.mjs';\n// prettier-ignore\nfunction CompositeKeys(T) {\n    const Acc = [];\n    for (const L of T)\n        Acc.push(...KeyOfPropertyKeys(L));\n    return SetDistinct(Acc);\n}\n// prettier-ignore\nfunction FilterNever(T) {\n    return T.filter(L => !IsNever(L));\n}\n// prettier-ignore\nfunction CompositeProperty(T, K) {\n    const Acc = [];\n    for (const L of T)\n        Acc.push(...IndexFromPropertyKeys(L, [K]));\n    return FilterNever(Acc);\n}\n// prettier-ignore\nfunction CompositeProperties(T, K) {\n    const Acc = {};\n    for (const L of K) {\n        Acc[L] = IntersectEvaluated(CompositeProperty(T, L));\n    }\n    return Acc;\n}\n// prettier-ignore\nexport function Composite(T, options) {\n    const K = CompositeKeys(T);\n    const P = CompositeProperties(T, K);\n    const R = Object(P, options);\n    return R;\n}\n","import { Kind } from '../symbols/index.mjs';\nimport { CreateType } from '../create/type.mjs';\n/** `[JavaScript]` Creates a Date type */\nexport function Date(options) {\n    return CreateType({ [Kind]: 'Date', type: 'Date' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Null type */\nexport function Null(options) {\n    return CreateType({ [Kind]: 'Null', type: 'null' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a Symbol type */\nexport function Symbol(options) {\n    return CreateType({ [Kind]: 'Symbol', type: 'symbol' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a Undefined type */\nexport function Undefined(options) {\n    return CreateType({ [Kind]: 'Undefined', type: 'undefined' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a Uint8Array type */\nexport function Uint8Array(options) {\n    return CreateType({ [Kind]: 'Uint8Array', type: 'Uint8Array' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates an Unknown type */\nexport function Unknown(options) {\n    return CreateType({ [Kind]: 'Unknown' }, options);\n}\n","import { Any } from '../any/index.mjs';\nimport { BigInt } from '../bigint/index.mjs';\nimport { Date } from '../date/index.mjs';\nimport { Function as FunctionType } from '../function/index.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { Null } from '../null/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { Symbol } from '../symbol/index.mjs';\nimport { Tuple } from '../tuple/index.mjs';\nimport { Readonly } from '../readonly/index.mjs';\nimport { Undefined } from '../undefined/index.mjs';\nimport { Uint8Array } from '../uint8array/index.mjs';\nimport { Unknown } from '../unknown/index.mjs';\nimport { CreateType } from '../create/index.mjs';\n// ------------------------------------------------------------------\n// ValueGuard\n// ------------------------------------------------------------------\nimport { IsArray, IsNumber, IsBigInt, IsUint8Array, IsDate, IsIterator, IsObject, IsAsyncIterator, IsFunction, IsUndefined, IsNull, IsSymbol, IsBoolean, IsString } from '../guard/value.mjs';\n// prettier-ignore\nfunction FromArray(T) {\n    return T.map(L => FromValue(L, false));\n}\n// prettier-ignore\nfunction FromProperties(value) {\n    const Acc = {};\n    for (const K of globalThis.Object.getOwnPropertyNames(value))\n        Acc[K] = Readonly(FromValue(value[K], false));\n    return Acc;\n}\nfunction ConditionalReadonly(T, root) {\n    return (root === true ? T : Readonly(T));\n}\n// prettier-ignore\nfunction FromValue(value, root) {\n    return (IsAsyncIterator(value) ? ConditionalReadonly(Any(), root) :\n        IsIterator(value) ? ConditionalReadonly(Any(), root) :\n            IsArray(value) ? Readonly(Tuple(FromArray(value))) :\n                IsUint8Array(value) ? Uint8Array() :\n                    IsDate(value) ? Date() :\n                        IsObject(value) ? ConditionalReadonly(Object(FromProperties(value)), root) :\n                            IsFunction(value) ? ConditionalReadonly(FunctionType([], Unknown()), root) :\n                                IsUndefined(value) ? Undefined() :\n                                    IsNull(value) ? Null() :\n                                        IsSymbol(value) ? Symbol() :\n                                            IsBigInt(value) ? BigInt() :\n                                                IsNumber(value) ? Literal(value) :\n                                                    IsBoolean(value) ? Literal(value) :\n                                                        IsString(value) ? Literal(value) :\n                                                            Object({}));\n}\n/** `[JavaScript]` Creates a readonly const type from the given value. */\nexport function Const(T, options) {\n    return CreateType(FromValue(T, true), options);\n}\n","import { Tuple } from '../tuple/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport * as KindGuard from '../guard/kind.mjs';\n/** `[JavaScript]` Extracts the ConstructorParameters from the given Constructor type */\nexport function ConstructorParameters(schema, options) {\n    return (KindGuard.IsConstructor(schema) ? Tuple(schema.parameters, options) : Never(options));\n}\n","import { Literal } from '../literal/index.mjs';\nimport { Kind, Hint } from '../symbols/index.mjs';\nimport { Union } from '../union/index.mjs';\n// ------------------------------------------------------------------\n// ValueGuard\n// ------------------------------------------------------------------\nimport { IsUndefined } from '../guard/value.mjs';\n/** `[Json]` Creates a Enum type */\nexport function Enum(item, options) {\n    if (IsUndefined(item))\n        throw new Error('Enum undefined or empty');\n    const values1 = globalThis.Object.getOwnPropertyNames(item)\n        .filter((key) => isNaN(key))\n        .map((key) => item[key]);\n    const values2 = [...new Set(values1)];\n    const anyOf = values2.map((value) => Literal(value));\n    return Union(anyOf, { ...options, [Hint]: 'Enum' });\n}\n","import { Any } from '../any/index.mjs';\nimport { Function as FunctionType } from '../function/index.mjs';\nimport { Number } from '../number/index.mjs';\nimport { String } from '../string/index.mjs';\nimport { Unknown } from '../unknown/index.mjs';\nimport { TemplateLiteralToUnion } from '../template-literal/index.mjs';\nimport { PatternNumberExact, PatternStringExact } from '../patterns/index.mjs';\nimport { Kind, Hint } from '../symbols/index.mjs';\nimport { TypeBoxError } from '../error/index.mjs';\nimport { TypeGuard, ValueGuard } from '../guard/index.mjs';\nexport class ExtendsResolverError extends TypeBoxError {\n}\nexport var ExtendsResult;\n(function (ExtendsResult) {\n    ExtendsResult[ExtendsResult[\"Union\"] = 0] = \"Union\";\n    ExtendsResult[ExtendsResult[\"True\"] = 1] = \"True\";\n    ExtendsResult[ExtendsResult[\"False\"] = 2] = \"False\";\n})(ExtendsResult || (ExtendsResult = {}));\n// ------------------------------------------------------------------\n// IntoBooleanResult\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction IntoBooleanResult(result) {\n    return result === ExtendsResult.False ? result : ExtendsResult.True;\n}\n// ------------------------------------------------------------------\n// Throw\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction Throw(message) {\n    throw new ExtendsResolverError(message);\n}\n// ------------------------------------------------------------------\n// StructuralRight\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction IsStructuralRight(right) {\n    return (TypeGuard.IsNever(right) ||\n        TypeGuard.IsIntersect(right) ||\n        TypeGuard.IsUnion(right) ||\n        TypeGuard.IsUnknown(right) ||\n        TypeGuard.IsAny(right));\n}\n// prettier-ignore\nfunction StructuralRight(left, right) {\n    return (TypeGuard.IsNever(right) ? FromNeverRight(left, right) :\n        TypeGuard.IsIntersect(right) ? FromIntersectRight(left, right) :\n            TypeGuard.IsUnion(right) ? FromUnionRight(left, right) :\n                TypeGuard.IsUnknown(right) ? FromUnknownRight(left, right) :\n                    TypeGuard.IsAny(right) ? FromAnyRight(left, right) :\n                        Throw('StructuralRight'));\n}\n// ------------------------------------------------------------------\n// Any\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromAnyRight(left, right) {\n    return ExtendsResult.True;\n}\n// prettier-ignore\nfunction FromAny(left, right) {\n    return (TypeGuard.IsIntersect(right) ? FromIntersectRight(left, right) :\n        (TypeGuard.IsUnion(right) && right.anyOf.some((schema) => TypeGuard.IsAny(schema) || TypeGuard.IsUnknown(schema))) ? ExtendsResult.True :\n            TypeGuard.IsUnion(right) ? ExtendsResult.Union :\n                TypeGuard.IsUnknown(right) ? ExtendsResult.True :\n                    TypeGuard.IsAny(right) ? ExtendsResult.True :\n                        ExtendsResult.Union);\n}\n// ------------------------------------------------------------------\n// Array\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromArrayRight(left, right) {\n    return (TypeGuard.IsUnknown(left) ? ExtendsResult.False :\n        TypeGuard.IsAny(left) ? ExtendsResult.Union :\n            TypeGuard.IsNever(left) ? ExtendsResult.True :\n                ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromArray(left, right) {\n    return (TypeGuard.IsObject(right) && IsObjectArrayLike(right) ? ExtendsResult.True :\n        IsStructuralRight(right) ? StructuralRight(left, right) :\n            !TypeGuard.IsArray(right) ? ExtendsResult.False :\n                IntoBooleanResult(Visit(left.items, right.items)));\n}\n// ------------------------------------------------------------------\n// AsyncIterator\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromAsyncIterator(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        !TypeGuard.IsAsyncIterator(right) ? ExtendsResult.False :\n            IntoBooleanResult(Visit(left.items, right.items)));\n}\n// ------------------------------------------------------------------\n// BigInt\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromBigInt(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsBigInt(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Boolean\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromBooleanRight(left, right) {\n    return (TypeGuard.IsLiteralBoolean(left) ? ExtendsResult.True :\n        TypeGuard.IsBoolean(left) ? ExtendsResult.True :\n            ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromBoolean(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsBoolean(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Constructor\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromConstructor(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            !TypeGuard.IsConstructor(right) ? ExtendsResult.False :\n                left.parameters.length > right.parameters.length ? ExtendsResult.False :\n                    (!left.parameters.every((schema, index) => IntoBooleanResult(Visit(right.parameters[index], schema)) === ExtendsResult.True)) ? ExtendsResult.False :\n                        IntoBooleanResult(Visit(left.returns, right.returns)));\n}\n// ------------------------------------------------------------------\n// Date\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromDate(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsDate(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Function\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromFunction(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            !TypeGuard.IsFunction(right) ? ExtendsResult.False :\n                left.parameters.length > right.parameters.length ? ExtendsResult.False :\n                    (!left.parameters.every((schema, index) => IntoBooleanResult(Visit(right.parameters[index], schema)) === ExtendsResult.True)) ? ExtendsResult.False :\n                        IntoBooleanResult(Visit(left.returns, right.returns)));\n}\n// ------------------------------------------------------------------\n// Integer\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromIntegerRight(left, right) {\n    return (TypeGuard.IsLiteral(left) && ValueGuard.IsNumber(left.const) ? ExtendsResult.True :\n        TypeGuard.IsNumber(left) || TypeGuard.IsInteger(left) ? ExtendsResult.True :\n            ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromInteger(left, right) {\n    return (TypeGuard.IsInteger(right) || TypeGuard.IsNumber(right) ? ExtendsResult.True :\n        IsStructuralRight(right) ? StructuralRight(left, right) :\n            TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n                TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Intersect\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromIntersectRight(left, right) {\n    return right.allOf.every((schema) => Visit(left, schema) === ExtendsResult.True)\n        ? ExtendsResult.True\n        : ExtendsResult.False;\n}\n// prettier-ignore\nfunction FromIntersect(left, right) {\n    return left.allOf.some((schema) => Visit(schema, right) === ExtendsResult.True)\n        ? ExtendsResult.True\n        : ExtendsResult.False;\n}\n// ------------------------------------------------------------------\n// Iterator\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromIterator(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        !TypeGuard.IsIterator(right) ? ExtendsResult.False :\n            IntoBooleanResult(Visit(left.items, right.items)));\n}\n// ------------------------------------------------------------------\n// Literal\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromLiteral(left, right) {\n    return (TypeGuard.IsLiteral(right) && right.const === left.const ? ExtendsResult.True :\n        IsStructuralRight(right) ? StructuralRight(left, right) :\n            TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n                TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                    TypeGuard.IsString(right) ? FromStringRight(left, right) :\n                        TypeGuard.IsNumber(right) ? FromNumberRight(left, right) :\n                            TypeGuard.IsInteger(right) ? FromIntegerRight(left, right) :\n                                TypeGuard.IsBoolean(right) ? FromBooleanRight(left, right) :\n                                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Never\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromNeverRight(left, right) {\n    return ExtendsResult.False;\n}\n// prettier-ignore\nfunction FromNever(left, right) {\n    return ExtendsResult.True;\n}\n// ------------------------------------------------------------------\n// Not\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction UnwrapTNot(schema) {\n    let [current, depth] = [schema, 0];\n    while (true) {\n        if (!TypeGuard.IsNot(current))\n            break;\n        current = current.not;\n        depth += 1;\n    }\n    return depth % 2 === 0 ? current : Unknown();\n}\n// prettier-ignore\nfunction FromNot(left, right) {\n    // TypeScript has no concept of negated types, and attempts to correctly check the negated\n    // type at runtime would put TypeBox at odds with TypeScripts ability to statically infer\n    // the type. Instead we unwrap to either unknown or T and continue evaluating.\n    // prettier-ignore\n    return (TypeGuard.IsNot(left) ? Visit(UnwrapTNot(left), right) :\n        TypeGuard.IsNot(right) ? Visit(left, UnwrapTNot(right)) :\n            Throw('Invalid fallthrough for Not'));\n}\n// ------------------------------------------------------------------\n// Null\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromNull(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsNull(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Number\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromNumberRight(left, right) {\n    return (TypeGuard.IsLiteralNumber(left) ? ExtendsResult.True :\n        TypeGuard.IsNumber(left) || TypeGuard.IsInteger(left) ? ExtendsResult.True :\n            ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromNumber(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsInteger(right) || TypeGuard.IsNumber(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Object\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction IsObjectPropertyCount(schema, count) {\n    return Object.getOwnPropertyNames(schema.properties).length === count;\n}\n// prettier-ignore\nfunction IsObjectStringLike(schema) {\n    return IsObjectArrayLike(schema);\n}\n// prettier-ignore\nfunction IsObjectSymbolLike(schema) {\n    return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'description' in schema.properties && TypeGuard.IsUnion(schema.properties.description) && schema.properties.description.anyOf.length === 2 && ((TypeGuard.IsString(schema.properties.description.anyOf[0]) &&\n        TypeGuard.IsUndefined(schema.properties.description.anyOf[1])) || (TypeGuard.IsString(schema.properties.description.anyOf[1]) &&\n        TypeGuard.IsUndefined(schema.properties.description.anyOf[0]))));\n}\n// prettier-ignore\nfunction IsObjectNumberLike(schema) {\n    return IsObjectPropertyCount(schema, 0);\n}\n// prettier-ignore\nfunction IsObjectBooleanLike(schema) {\n    return IsObjectPropertyCount(schema, 0);\n}\n// prettier-ignore\nfunction IsObjectBigIntLike(schema) {\n    return IsObjectPropertyCount(schema, 0);\n}\n// prettier-ignore\nfunction IsObjectDateLike(schema) {\n    return IsObjectPropertyCount(schema, 0);\n}\n// prettier-ignore\nfunction IsObjectUint8ArrayLike(schema) {\n    return IsObjectArrayLike(schema);\n}\n// prettier-ignore\nfunction IsObjectFunctionLike(schema) {\n    const length = Number();\n    return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'length' in schema.properties && IntoBooleanResult(Visit(schema.properties['length'], length)) === ExtendsResult.True);\n}\n// prettier-ignore\nfunction IsObjectConstructorLike(schema) {\n    return IsObjectPropertyCount(schema, 0);\n}\n// prettier-ignore\nfunction IsObjectArrayLike(schema) {\n    const length = Number();\n    return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'length' in schema.properties && IntoBooleanResult(Visit(schema.properties['length'], length)) === ExtendsResult.True);\n}\n// prettier-ignore\nfunction IsObjectPromiseLike(schema) {\n    const then = FunctionType([Any()], Any());\n    return IsObjectPropertyCount(schema, 0) || (IsObjectPropertyCount(schema, 1) && 'then' in schema.properties && IntoBooleanResult(Visit(schema.properties['then'], then)) === ExtendsResult.True);\n}\n// ------------------------------------------------------------------\n// Property\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction Property(left, right) {\n    return (Visit(left, right) === ExtendsResult.False ? ExtendsResult.False :\n        TypeGuard.IsOptional(left) && !TypeGuard.IsOptional(right) ? ExtendsResult.False :\n            ExtendsResult.True);\n}\n// prettier-ignore\nfunction FromObjectRight(left, right) {\n    return (TypeGuard.IsUnknown(left) ? ExtendsResult.False :\n        TypeGuard.IsAny(left) ? ExtendsResult.Union : (TypeGuard.IsNever(left) ||\n            (TypeGuard.IsLiteralString(left) && IsObjectStringLike(right)) ||\n            (TypeGuard.IsLiteralNumber(left) && IsObjectNumberLike(right)) ||\n            (TypeGuard.IsLiteralBoolean(left) && IsObjectBooleanLike(right)) ||\n            (TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right)) ||\n            (TypeGuard.IsBigInt(left) && IsObjectBigIntLike(right)) ||\n            (TypeGuard.IsString(left) && IsObjectStringLike(right)) ||\n            (TypeGuard.IsSymbol(left) && IsObjectSymbolLike(right)) ||\n            (TypeGuard.IsNumber(left) && IsObjectNumberLike(right)) ||\n            (TypeGuard.IsInteger(left) && IsObjectNumberLike(right)) ||\n            (TypeGuard.IsBoolean(left) && IsObjectBooleanLike(right)) ||\n            (TypeGuard.IsUint8Array(left) && IsObjectUint8ArrayLike(right)) ||\n            (TypeGuard.IsDate(left) && IsObjectDateLike(right)) ||\n            (TypeGuard.IsConstructor(left) && IsObjectConstructorLike(right)) ||\n            (TypeGuard.IsFunction(left) && IsObjectFunctionLike(right))) ? ExtendsResult.True :\n            (TypeGuard.IsRecord(left) && TypeGuard.IsString(RecordKey(left))) ? (() => {\n                // When expressing a Record with literal key values, the Record is converted into a Object with\n                // the Hint assigned as `Record`. This is used to invert the extends logic.\n                return right[Hint] === 'Record' ? ExtendsResult.True : ExtendsResult.False;\n            })() :\n                (TypeGuard.IsRecord(left) && TypeGuard.IsNumber(RecordKey(left))) ? (() => {\n                    return IsObjectPropertyCount(right, 0) ? ExtendsResult.True : ExtendsResult.False;\n                })() :\n                    ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromObject(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n            !TypeGuard.IsObject(right) ? ExtendsResult.False :\n                (() => {\n                    for (const key of Object.getOwnPropertyNames(right.properties)) {\n                        if (!(key in left.properties) && !TypeGuard.IsOptional(right.properties[key])) {\n                            return ExtendsResult.False;\n                        }\n                        if (TypeGuard.IsOptional(right.properties[key])) {\n                            return ExtendsResult.True;\n                        }\n                        if (Property(left.properties[key], right.properties[key]) === ExtendsResult.False) {\n                            return ExtendsResult.False;\n                        }\n                    }\n                    return ExtendsResult.True;\n                })());\n}\n// ------------------------------------------------------------------\n// Promise\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromPromise(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) && IsObjectPromiseLike(right) ? ExtendsResult.True :\n            !TypeGuard.IsPromise(right) ? ExtendsResult.False :\n                IntoBooleanResult(Visit(left.item, right.item)));\n}\n// ------------------------------------------------------------------\n// Record\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction RecordKey(schema) {\n    return (PatternNumberExact in schema.patternProperties ? Number() :\n        PatternStringExact in schema.patternProperties ? String() :\n            Throw('Unknown record key pattern'));\n}\n// prettier-ignore\nfunction RecordValue(schema) {\n    return (PatternNumberExact in schema.patternProperties ? schema.patternProperties[PatternNumberExact] :\n        PatternStringExact in schema.patternProperties ? schema.patternProperties[PatternStringExact] :\n            Throw('Unable to get record value schema'));\n}\n// prettier-ignore\nfunction FromRecordRight(left, right) {\n    const [Key, Value] = [RecordKey(right), RecordValue(right)];\n    return ((TypeGuard.IsLiteralString(left) && TypeGuard.IsNumber(Key) && IntoBooleanResult(Visit(left, Value)) === ExtendsResult.True) ? ExtendsResult.True :\n        TypeGuard.IsUint8Array(left) && TypeGuard.IsNumber(Key) ? Visit(left, Value) :\n            TypeGuard.IsString(left) && TypeGuard.IsNumber(Key) ? Visit(left, Value) :\n                TypeGuard.IsArray(left) && TypeGuard.IsNumber(Key) ? Visit(left, Value) :\n                    TypeGuard.IsObject(left) ? (() => {\n                        for (const key of Object.getOwnPropertyNames(left.properties)) {\n                            if (Property(Value, left.properties[key]) === ExtendsResult.False) {\n                                return ExtendsResult.False;\n                            }\n                        }\n                        return ExtendsResult.True;\n                    })() :\n                        ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromRecord(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            !TypeGuard.IsRecord(right) ? ExtendsResult.False :\n                Visit(RecordValue(left), RecordValue(right)));\n}\n// ------------------------------------------------------------------\n// RegExp\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromRegExp(left, right) {\n    // Note: RegExp types evaluate as strings, not RegExp objects.\n    // Here we remap either into string and continue evaluating.\n    const L = TypeGuard.IsRegExp(left) ? String() : left;\n    const R = TypeGuard.IsRegExp(right) ? String() : right;\n    return Visit(L, R);\n}\n// ------------------------------------------------------------------\n// String\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromStringRight(left, right) {\n    return (TypeGuard.IsLiteral(left) && ValueGuard.IsString(left.const) ? ExtendsResult.True :\n        TypeGuard.IsString(left) ? ExtendsResult.True :\n            ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromString(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsString(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Symbol\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromSymbol(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsSymbol(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// TemplateLiteral\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromTemplateLiteral(left, right) {\n    // TemplateLiteral types are resolved to either unions for finite expressions or string\n    // for infinite expressions. Here we call to TemplateLiteralResolver to resolve for\n    // either type and continue evaluating.\n    return (TypeGuard.IsTemplateLiteral(left) ? Visit(TemplateLiteralToUnion(left), right) :\n        TypeGuard.IsTemplateLiteral(right) ? Visit(left, TemplateLiteralToUnion(right)) :\n            Throw('Invalid fallthrough for TemplateLiteral'));\n}\n// ------------------------------------------------------------------\n// Tuple\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction IsArrayOfTuple(left, right) {\n    return (TypeGuard.IsArray(right) &&\n        left.items !== undefined &&\n        left.items.every((schema) => Visit(schema, right.items) === ExtendsResult.True));\n}\n// prettier-ignore\nfunction FromTupleRight(left, right) {\n    return (TypeGuard.IsNever(left) ? ExtendsResult.True :\n        TypeGuard.IsUnknown(left) ? ExtendsResult.False :\n            TypeGuard.IsAny(left) ? ExtendsResult.Union :\n                ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromTuple(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) && IsObjectArrayLike(right) ? ExtendsResult.True :\n            TypeGuard.IsArray(right) && IsArrayOfTuple(left, right) ? ExtendsResult.True :\n                !TypeGuard.IsTuple(right) ? ExtendsResult.False :\n                    (ValueGuard.IsUndefined(left.items) && !ValueGuard.IsUndefined(right.items)) || (!ValueGuard.IsUndefined(left.items) && ValueGuard.IsUndefined(right.items)) ? ExtendsResult.False :\n                        (ValueGuard.IsUndefined(left.items) && !ValueGuard.IsUndefined(right.items)) ? ExtendsResult.True :\n                            left.items.every((schema, index) => Visit(schema, right.items[index]) === ExtendsResult.True) ? ExtendsResult.True :\n                                ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Uint8Array\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromUint8Array(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsUint8Array(right) ? ExtendsResult.True :\n                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Undefined\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromUndefined(left, right) {\n    return (IsStructuralRight(right) ? StructuralRight(left, right) :\n        TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n            TypeGuard.IsRecord(right) ? FromRecordRight(left, right) :\n                TypeGuard.IsVoid(right) ? FromVoidRight(left, right) :\n                    TypeGuard.IsUndefined(right) ? ExtendsResult.True :\n                        ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Union\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromUnionRight(left, right) {\n    return right.anyOf.some((schema) => Visit(left, schema) === ExtendsResult.True)\n        ? ExtendsResult.True\n        : ExtendsResult.False;\n}\n// prettier-ignore\nfunction FromUnion(left, right) {\n    return left.anyOf.every((schema) => Visit(schema, right) === ExtendsResult.True)\n        ? ExtendsResult.True\n        : ExtendsResult.False;\n}\n// ------------------------------------------------------------------\n// Unknown\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromUnknownRight(left, right) {\n    return ExtendsResult.True;\n}\n// prettier-ignore\nfunction FromUnknown(left, right) {\n    return (TypeGuard.IsNever(right) ? FromNeverRight(left, right) :\n        TypeGuard.IsIntersect(right) ? FromIntersectRight(left, right) :\n            TypeGuard.IsUnion(right) ? FromUnionRight(left, right) :\n                TypeGuard.IsAny(right) ? FromAnyRight(left, right) :\n                    TypeGuard.IsString(right) ? FromStringRight(left, right) :\n                        TypeGuard.IsNumber(right) ? FromNumberRight(left, right) :\n                            TypeGuard.IsInteger(right) ? FromIntegerRight(left, right) :\n                                TypeGuard.IsBoolean(right) ? FromBooleanRight(left, right) :\n                                    TypeGuard.IsArray(right) ? FromArrayRight(left, right) :\n                                        TypeGuard.IsTuple(right) ? FromTupleRight(left, right) :\n                                            TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n                                                TypeGuard.IsUnknown(right) ? ExtendsResult.True :\n                                                    ExtendsResult.False);\n}\n// ------------------------------------------------------------------\n// Void\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromVoidRight(left, right) {\n    return (TypeGuard.IsUndefined(left) ? ExtendsResult.True :\n        TypeGuard.IsUndefined(left) ? ExtendsResult.True :\n            ExtendsResult.False);\n}\n// prettier-ignore\nfunction FromVoid(left, right) {\n    return (TypeGuard.IsIntersect(right) ? FromIntersectRight(left, right) :\n        TypeGuard.IsUnion(right) ? FromUnionRight(left, right) :\n            TypeGuard.IsUnknown(right) ? FromUnknownRight(left, right) :\n                TypeGuard.IsAny(right) ? FromAnyRight(left, right) :\n                    TypeGuard.IsObject(right) ? FromObjectRight(left, right) :\n                        TypeGuard.IsVoid(right) ? ExtendsResult.True :\n                            ExtendsResult.False);\n}\n// prettier-ignore\nfunction Visit(left, right) {\n    return (\n    // resolvable\n    (TypeGuard.IsTemplateLiteral(left) || TypeGuard.IsTemplateLiteral(right)) ? FromTemplateLiteral(left, right) :\n        (TypeGuard.IsRegExp(left) || TypeGuard.IsRegExp(right)) ? FromRegExp(left, right) :\n            (TypeGuard.IsNot(left) || TypeGuard.IsNot(right)) ? FromNot(left, right) :\n                // standard\n                TypeGuard.IsAny(left) ? FromAny(left, right) :\n                    TypeGuard.IsArray(left) ? FromArray(left, right) :\n                        TypeGuard.IsBigInt(left) ? FromBigInt(left, right) :\n                            TypeGuard.IsBoolean(left) ? FromBoolean(left, right) :\n                                TypeGuard.IsAsyncIterator(left) ? FromAsyncIterator(left, right) :\n                                    TypeGuard.IsConstructor(left) ? FromConstructor(left, right) :\n                                        TypeGuard.IsDate(left) ? FromDate(left, right) :\n                                            TypeGuard.IsFunction(left) ? FromFunction(left, right) :\n                                                TypeGuard.IsInteger(left) ? FromInteger(left, right) :\n                                                    TypeGuard.IsIntersect(left) ? FromIntersect(left, right) :\n                                                        TypeGuard.IsIterator(left) ? FromIterator(left, right) :\n                                                            TypeGuard.IsLiteral(left) ? FromLiteral(left, right) :\n                                                                TypeGuard.IsNever(left) ? FromNever(left, right) :\n                                                                    TypeGuard.IsNull(left) ? FromNull(left, right) :\n                                                                        TypeGuard.IsNumber(left) ? FromNumber(left, right) :\n                                                                            TypeGuard.IsObject(left) ? FromObject(left, right) :\n                                                                                TypeGuard.IsRecord(left) ? FromRecord(left, right) :\n                                                                                    TypeGuard.IsString(left) ? FromString(left, right) :\n                                                                                        TypeGuard.IsSymbol(left) ? FromSymbol(left, right) :\n                                                                                            TypeGuard.IsTuple(left) ? FromTuple(left, right) :\n                                                                                                TypeGuard.IsPromise(left) ? FromPromise(left, right) :\n                                                                                                    TypeGuard.IsUint8Array(left) ? FromUint8Array(left, right) :\n                                                                                                        TypeGuard.IsUndefined(left) ? FromUndefined(left, right) :\n                                                                                                            TypeGuard.IsUnion(left) ? FromUnion(left, right) :\n                                                                                                                TypeGuard.IsUnknown(left) ? FromUnknown(left, right) :\n                                                                                                                    TypeGuard.IsVoid(left) ? FromVoid(left, right) :\n                                                                                                                        Throw(`Unknown left type operand '${left[Kind]}'`));\n}\nexport function ExtendsCheck(left, right) {\n    return Visit(left, right);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Extends } from './extends.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromProperties(P, Right, True, False, options) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(P))\n        Acc[K2] = Extends(P[K2], Right, True, False, Clone(options));\n    return Acc;\n}\n// prettier-ignore\nfunction FromMappedResult(Left, Right, True, False, options) {\n    return FromProperties(Left.properties, Right, True, False, options);\n}\n// prettier-ignore\nexport function ExtendsFromMappedResult(Left, Right, True, False, options) {\n    const P = FromMappedResult(Left, Right, True, False, options);\n    return MappedResult(P);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Union } from '../union/index.mjs';\nimport { ExtendsCheck, ExtendsResult } from './extends-check.mjs';\nimport { ExtendsFromMappedKey } from './extends-from-mapped-key.mjs';\nimport { ExtendsFromMappedResult } from './extends-from-mapped-result.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsMappedKey, IsMappedResult } from '../guard/kind.mjs';\n// prettier-ignore\nfunction ExtendsResolve(left, right, trueType, falseType) {\n    const R = ExtendsCheck(left, right);\n    return (R === ExtendsResult.Union ? Union([trueType, falseType]) :\n        R === ExtendsResult.True ? trueType :\n            falseType);\n}\n/** `[Json]` Creates a Conditional type */\nexport function Extends(L, R, T, F, options) {\n    // prettier-ignore\n    return (IsMappedResult(L) ? ExtendsFromMappedResult(L, R, T, F, options) :\n        IsMappedKey(L) ? CreateType(ExtendsFromMappedKey(L, R, T, F, options)) :\n            CreateType(ExtendsResolve(L, R, T, F), options));\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { Extends } from './extends.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromPropertyKey(K, U, L, R, options) {\n    return {\n        [K]: Extends(Literal(K), U, L, R, Clone(options))\n    };\n}\n// prettier-ignore\nfunction FromPropertyKeys(K, U, L, R, options) {\n    return K.reduce((Acc, LK) => {\n        return { ...Acc, ...FromPropertyKey(LK, U, L, R, options) };\n    }, {});\n}\n// prettier-ignore\nfunction FromMappedKey(K, U, L, R, options) {\n    return FromPropertyKeys(K.keys, U, L, R, options);\n}\n// prettier-ignore\nexport function ExtendsFromMappedKey(T, U, L, R, options) {\n    const P = FromMappedKey(T, U, L, R, options);\n    return MappedResult(P);\n}\n","import { Exclude } from './exclude.mjs';\nimport { TemplateLiteralToUnion } from '../template-literal/index.mjs';\nexport function ExcludeFromTemplateLiteral(L, R) {\n    return Exclude(TemplateLiteralToUnion(L), R);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Union } from '../union/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport { ExtendsCheck, ExtendsResult } from '../extends/index.mjs';\nimport { ExcludeFromMappedResult } from './exclude-from-mapped-result.mjs';\nimport { ExcludeFromTemplateLiteral } from './exclude-from-template-literal.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsMappedResult, IsTemplateLiteral, IsUnion } from '../guard/kind.mjs';\nfunction ExcludeRest(L, R) {\n    const excluded = L.filter((inner) => ExtendsCheck(inner, R) === ExtendsResult.False);\n    return excluded.length === 1 ? excluded[0] : Union(excluded);\n}\n/** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */\nexport function Exclude(L, R, options = {}) {\n    // overloads\n    if (IsTemplateLiteral(L))\n        return CreateType(ExcludeFromTemplateLiteral(L, R), options);\n    if (IsMappedResult(L))\n        return CreateType(ExcludeFromMappedResult(L, R), options);\n    // prettier-ignore\n    return CreateType(IsUnion(L) ? ExcludeRest(L.anyOf, R) :\n        ExtendsCheck(L, R) !== ExtendsResult.False ? Never() : L, options);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Exclude } from './exclude.mjs';\n// prettier-ignore\nfunction FromProperties(P, U) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(P))\n        Acc[K2] = Exclude(P[K2], U);\n    return Acc;\n}\n// prettier-ignore\nfunction FromMappedResult(R, T) {\n    return FromProperties(R.properties, T);\n}\n// prettier-ignore\nexport function ExcludeFromMappedResult(R, T) {\n    const P = FromMappedResult(R, T);\n    return MappedResult(P);\n}\n","import { Extract } from './extract.mjs';\nimport { TemplateLiteralToUnion } from '../template-literal/index.mjs';\nexport function ExtractFromTemplateLiteral(L, R) {\n    return Extract(TemplateLiteralToUnion(L), R);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Union } from '../union/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport { ExtendsCheck, ExtendsResult } from '../extends/index.mjs';\nimport { ExtractFromMappedResult } from './extract-from-mapped-result.mjs';\nimport { ExtractFromTemplateLiteral } from './extract-from-template-literal.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsMappedResult, IsTemplateLiteral, IsUnion } from '../guard/kind.mjs';\nfunction ExtractRest(L, R) {\n    const extracted = L.filter((inner) => ExtendsCheck(inner, R) !== ExtendsResult.False);\n    return extracted.length === 1 ? extracted[0] : Union(extracted);\n}\n/** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */\nexport function Extract(L, R, options) {\n    // overloads\n    if (IsTemplateLiteral(L))\n        return CreateType(ExtractFromTemplateLiteral(L, R), options);\n    if (IsMappedResult(L))\n        return CreateType(ExtractFromMappedResult(L, R), options);\n    // prettier-ignore\n    return CreateType(IsUnion(L) ? ExtractRest(L.anyOf, R) :\n        ExtendsCheck(L, R) !== ExtendsResult.False ? L : Never(), options);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Extract } from './extract.mjs';\n// prettier-ignore\nfunction FromProperties(P, T) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(P))\n        Acc[K2] = Extract(P[K2], T);\n    return Acc;\n}\n// prettier-ignore\nfunction FromMappedResult(R, T) {\n    return FromProperties(R.properties, T);\n}\n// prettier-ignore\nexport function ExtractFromMappedResult(R, T) {\n    const P = FromMappedResult(R, T);\n    return MappedResult(P);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Never } from '../never/index.mjs';\nimport * as KindGuard from '../guard/kind.mjs';\n/** `[JavaScript]` Extracts the InstanceType from the given Constructor type */\nexport function InstanceType(schema, options) {\n    return (KindGuard.IsConstructor(schema) ? CreateType(schema.returns, options) : Never(options));\n}\n","import { Readonly } from '../readonly/index.mjs';\nimport { Optional } from '../optional/index.mjs';\n/** `[Json]` Creates a Readonly and Optional property */\nexport function ReadonlyOptional(schema) {\n    return Readonly(Optional(schema));\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind, Hint } from '../symbols/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport { Number } from '../number/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { String } from '../string/index.mjs';\nimport { Union } from '../union/index.mjs';\nimport { IsTemplateLiteralFinite } from '../template-literal/index.mjs';\nimport { PatternStringExact, PatternNumberExact, PatternNeverExact } from '../patterns/index.mjs';\nimport { IndexPropertyKeys } from '../indexed/index.mjs';\n// ------------------------------------------------------------------\n// ValueGuard\n// ------------------------------------------------------------------\nimport { IsUndefined } from '../guard/value.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsInteger, IsLiteral, IsAny, IsBoolean, IsNever, IsNumber, IsString, IsRegExp, IsTemplateLiteral, IsUnion } from '../guard/kind.mjs';\n// ------------------------------------------------------------------\n// RecordCreateFromPattern\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction RecordCreateFromPattern(pattern, T, options) {\n    return CreateType({ [Kind]: 'Record', type: 'object', patternProperties: { [pattern]: T } }, options);\n}\n// ------------------------------------------------------------------\n// RecordCreateFromKeys\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction RecordCreateFromKeys(K, T, options) {\n    const result = {};\n    for (const K2 of K)\n        result[K2] = T;\n    return Object(result, { ...options, [Hint]: 'Record' });\n}\n// prettier-ignore\nfunction FromTemplateLiteralKey(K, T, options) {\n    return (IsTemplateLiteralFinite(K)\n        ? RecordCreateFromKeys(IndexPropertyKeys(K), T, options)\n        : RecordCreateFromPattern(K.pattern, T, options));\n}\n// prettier-ignore\nfunction FromUnionKey(key, type, options) {\n    return RecordCreateFromKeys(IndexPropertyKeys(Union(key)), type, options);\n}\n// prettier-ignore\nfunction FromLiteralKey(key, type, options) {\n    return RecordCreateFromKeys([key.toString()], type, options);\n}\n// prettier-ignore\nfunction FromRegExpKey(key, type, options) {\n    return RecordCreateFromPattern(key.source, type, options);\n}\n// prettier-ignore\nfunction FromStringKey(key, type, options) {\n    const pattern = IsUndefined(key.pattern) ? PatternStringExact : key.pattern;\n    return RecordCreateFromPattern(pattern, type, options);\n}\n// prettier-ignore\nfunction FromAnyKey(_, type, options) {\n    return RecordCreateFromPattern(PatternStringExact, type, options);\n}\n// prettier-ignore\nfunction FromNeverKey(_key, type, options) {\n    return RecordCreateFromPattern(PatternNeverExact, type, options);\n}\n// prettier-ignore\nfunction FromBooleanKey(_key, type, options) {\n    return Object({ true: type, false: type }, options);\n}\n// prettier-ignore\nfunction FromIntegerKey(_key, type, options) {\n    return RecordCreateFromPattern(PatternNumberExact, type, options);\n}\n// prettier-ignore\nfunction FromNumberKey(_, type, options) {\n    return RecordCreateFromPattern(PatternNumberExact, type, options);\n}\n// ------------------------------------------------------------------\n// TRecordOrObject\n// ------------------------------------------------------------------\n/** `[Json]` Creates a Record type */\nexport function Record(key, type, options = {}) {\n    // prettier-ignore\n    return (IsUnion(key) ? FromUnionKey(key.anyOf, type, options) :\n        IsTemplateLiteral(key) ? FromTemplateLiteralKey(key, type, options) :\n            IsLiteral(key) ? FromLiteralKey(key.const, type, options) :\n                IsBoolean(key) ? FromBooleanKey(key, type, options) :\n                    IsInteger(key) ? FromIntegerKey(key, type, options) :\n                        IsNumber(key) ? FromNumberKey(key, type, options) :\n                            IsRegExp(key) ? FromRegExpKey(key, type, options) :\n                                IsString(key) ? FromStringKey(key, type, options) :\n                                    IsAny(key) ? FromAnyKey(key, type, options) :\n                                        IsNever(key) ? FromNeverKey(key, type, options) :\n                                            Never(options));\n}\n// ------------------------------------------------------------------\n// Record Utilities\n// ------------------------------------------------------------------\n/** Gets the Records Pattern */\nexport function RecordPattern(record) {\n    return globalThis.Object.getOwnPropertyNames(record.patternProperties)[0];\n}\n/** Gets the Records Key Type */\n// prettier-ignore\nexport function RecordKey(type) {\n    const pattern = RecordPattern(type);\n    return (pattern === PatternStringExact ? String() :\n        pattern === PatternNumberExact ? Number() :\n            String({ pattern }));\n}\n/** Gets a Record Value Type */\n// prettier-ignore\nexport function RecordValue(type) {\n    return type.patternProperties[RecordPattern(type)];\n}\n","import { CloneType } from '../clone/type.mjs';\nimport { Unknown } from '../unknown/index.mjs';\nimport { ReadonlyOptional } from '../readonly-optional/index.mjs';\nimport { Readonly } from '../readonly/index.mjs';\nimport { Optional } from '../optional/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { Record, RecordKey, RecordValue } from '../record/index.mjs';\nimport * as ValueGuard from '../guard/value.mjs';\nimport * as KindGuard from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromConstructor(args, type) {\n    type.parameters = FromTypes(args, type.parameters);\n    type.returns = FromType(args, type.returns);\n    return type;\n}\n// prettier-ignore\nfunction FromFunction(args, type) {\n    type.parameters = FromTypes(args, type.parameters);\n    type.returns = FromType(args, type.returns);\n    return type;\n}\n// prettier-ignore\nfunction FromIntersect(args, type) {\n    type.allOf = FromTypes(args, type.allOf);\n    return type;\n}\n// prettier-ignore\nfunction FromUnion(args, type) {\n    type.anyOf = FromTypes(args, type.anyOf);\n    return type;\n}\n// prettier-ignore\nfunction FromTuple(args, type) {\n    if (ValueGuard.IsUndefined(type.items))\n        return type;\n    type.items = FromTypes(args, type.items);\n    return type;\n}\n// prettier-ignore\nfunction FromArray(args, type) {\n    type.items = FromType(args, type.items);\n    return type;\n}\n// prettier-ignore\nfunction FromAsyncIterator(args, type) {\n    type.items = FromType(args, type.items);\n    return type;\n}\n// prettier-ignore\nfunction FromIterator(args, type) {\n    type.items = FromType(args, type.items);\n    return type;\n}\n// prettier-ignore\nfunction FromPromise(args, type) {\n    type.item = FromType(args, type.item);\n    return type;\n}\n// prettier-ignore\nfunction FromObject(args, type) {\n    const mappedProperties = FromProperties(args, type.properties);\n    return { ...type, ...Object(mappedProperties) }; // retain options\n}\n// prettier-ignore\nfunction FromRecord(args, type) {\n    const mappedKey = FromType(args, RecordKey(type));\n    const mappedValue = FromType(args, RecordValue(type));\n    const result = Record(mappedKey, mappedValue);\n    return { ...type, ...result }; // retain options\n}\n// prettier-ignore\nfunction FromArgument(args, argument) {\n    return argument.index in args ? args[argument.index] : Unknown();\n}\n// prettier-ignore\nfunction FromProperty(args, type) {\n    const isReadonly = KindGuard.IsReadonly(type);\n    const isOptional = KindGuard.IsOptional(type);\n    const mapped = FromType(args, type);\n    return (isReadonly && isOptional ? ReadonlyOptional(mapped) :\n        isReadonly && !isOptional ? Readonly(mapped) :\n            !isReadonly && isOptional ? Optional(mapped) :\n                mapped);\n}\n// prettier-ignore\nfunction FromProperties(args, properties) {\n    return globalThis.Object.getOwnPropertyNames(properties).reduce((result, key) => {\n        return { ...result, [key]: FromProperty(args, properties[key]) };\n    }, {});\n}\n// prettier-ignore\nexport function FromTypes(args, types) {\n    return types.map(type => FromType(args, type));\n}\n// prettier-ignore\nfunction FromType(args, type) {\n    return (KindGuard.IsConstructor(type) ? FromConstructor(args, type) :\n        KindGuard.IsFunction(type) ? FromFunction(args, type) :\n            KindGuard.IsIntersect(type) ? FromIntersect(args, type) :\n                KindGuard.IsUnion(type) ? FromUnion(args, type) :\n                    KindGuard.IsTuple(type) ? FromTuple(args, type) :\n                        KindGuard.IsArray(type) ? FromArray(args, type) :\n                            KindGuard.IsAsyncIterator(type) ? FromAsyncIterator(args, type) :\n                                KindGuard.IsIterator(type) ? FromIterator(args, type) :\n                                    KindGuard.IsPromise(type) ? FromPromise(args, type) :\n                                        KindGuard.IsObject(type) ? FromObject(args, type) :\n                                            KindGuard.IsRecord(type) ? FromRecord(args, type) :\n                                                KindGuard.IsArgument(type) ? FromArgument(args, type) :\n                                                    type);\n}\n/** `[JavaScript]` Instantiates a type with the given parameters */\n// prettier-ignore\nexport function Instantiate(type, args) {\n    return FromType(args, CloneType(type));\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates an Integer type */\nexport function Integer(options) {\n    return CreateType({ [Kind]: 'Integer', type: 'integer' }, options);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Intrinsic } from './intrinsic.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction MappedIntrinsicPropertyKey(K, M, options) {\n    return {\n        [K]: Intrinsic(Literal(K), M, Clone(options))\n    };\n}\n// prettier-ignore\nfunction MappedIntrinsicPropertyKeys(K, M, options) {\n    const result = K.reduce((Acc, L) => {\n        return { ...Acc, ...MappedIntrinsicPropertyKey(L, M, options) };\n    }, {});\n    return result;\n}\n// prettier-ignore\nfunction MappedIntrinsicProperties(T, M, options) {\n    return MappedIntrinsicPropertyKeys(T['keys'], M, options);\n}\n// prettier-ignore\nexport function IntrinsicFromMappedKey(T, M, options) {\n    const P = MappedIntrinsicProperties(T, M, options);\n    return MappedResult(P);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { TemplateLiteral, TemplateLiteralParseExact, IsTemplateLiteralExpressionFinite, TemplateLiteralExpressionGenerate } from '../template-literal/index.mjs';\nimport { IntrinsicFromMappedKey } from './intrinsic-from-mapped-key.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { Union } from '../union/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsMappedKey, IsTemplateLiteral, IsUnion, IsLiteral } from '../guard/kind.mjs';\n// ------------------------------------------------------------------\n// Apply\n// ------------------------------------------------------------------\nfunction ApplyUncapitalize(value) {\n    const [first, rest] = [value.slice(0, 1), value.slice(1)];\n    return [first.toLowerCase(), rest].join('');\n}\nfunction ApplyCapitalize(value) {\n    const [first, rest] = [value.slice(0, 1), value.slice(1)];\n    return [first.toUpperCase(), rest].join('');\n}\nfunction ApplyUppercase(value) {\n    return value.toUpperCase();\n}\nfunction ApplyLowercase(value) {\n    return value.toLowerCase();\n}\nfunction FromTemplateLiteral(schema, mode, options) {\n    // note: template literals require special runtime handling as they are encoded in string patterns.\n    // This diverges from the mapped type which would otherwise map on the template literal kind.\n    const expression = TemplateLiteralParseExact(schema.pattern);\n    const finite = IsTemplateLiteralExpressionFinite(expression);\n    if (!finite)\n        return { ...schema, pattern: FromLiteralValue(schema.pattern, mode) };\n    const strings = [...TemplateLiteralExpressionGenerate(expression)];\n    const literals = strings.map((value) => Literal(value));\n    const mapped = FromRest(literals, mode);\n    const union = Union(mapped);\n    return TemplateLiteral([union], options);\n}\n// prettier-ignore\nfunction FromLiteralValue(value, mode) {\n    return (typeof value === 'string' ? (mode === 'Uncapitalize' ? ApplyUncapitalize(value) :\n        mode === 'Capitalize' ? ApplyCapitalize(value) :\n            mode === 'Uppercase' ? ApplyUppercase(value) :\n                mode === 'Lowercase' ? ApplyLowercase(value) :\n                    value) : value.toString());\n}\n// prettier-ignore\nfunction FromRest(T, M) {\n    return T.map(L => Intrinsic(L, M));\n}\n/** Applies an intrinsic string manipulation to the given type. */\nexport function Intrinsic(schema, mode, options = {}) {\n    // prettier-ignore\n    return (\n    // Intrinsic-Mapped-Inference\n    IsMappedKey(schema) ? IntrinsicFromMappedKey(schema, mode, options) :\n        // Standard-Inference\n        IsTemplateLiteral(schema) ? FromTemplateLiteral(schema, mode, options) :\n            IsUnion(schema) ? Union(FromRest(schema.anyOf, mode), options) :\n                IsLiteral(schema) ? Literal(FromLiteralValue(schema.const, mode), options) :\n                    // Default Type\n                    CreateType(schema, options));\n}\n","import { Intrinsic } from './intrinsic.mjs';\n/** `[Json]` Intrinsic function to Capitalize LiteralString types */\nexport function Capitalize(T, options = {}) {\n    return Intrinsic(T, 'Capitalize', options);\n}\n","import { Intrinsic } from './intrinsic.mjs';\n/** `[Json]` Intrinsic function to Lowercase LiteralString types */\nexport function Lowercase(T, options = {}) {\n    return Intrinsic(T, 'Lowercase', options);\n}\n","import { Intrinsic } from './intrinsic.mjs';\n/** `[Json]` Intrinsic function to Uncapitalize LiteralString types */\nexport function Uncapitalize(T, options = {}) {\n    return Intrinsic(T, 'Uncapitalize', options);\n}\n","import { Intrinsic } from './intrinsic.mjs';\n/** `[Json]` Intrinsic function to Uppercase LiteralString types */\nexport function Uppercase(T, options = {}) {\n    return Intrinsic(T, 'Uppercase', options);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Omit } from './omit.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromProperties(properties, propertyKeys, options) {\n    const result = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(properties))\n        result[K2] = Omit(properties[K2], propertyKeys, Clone(options));\n    return result;\n}\n// prettier-ignore\nfunction FromMappedResult(mappedResult, propertyKeys, options) {\n    return FromProperties(mappedResult.properties, propertyKeys, options);\n}\n// prettier-ignore\nexport function OmitFromMappedResult(mappedResult, propertyKeys, options) {\n    const properties = FromMappedResult(mappedResult, propertyKeys, options);\n    return MappedResult(properties);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Discard } from '../discard/discard.mjs';\nimport { TransformKind } from '../symbols/symbols.mjs';\nimport { Computed } from '../computed/index.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { IndexPropertyKeys } from '../indexed/index.mjs';\nimport { Intersect } from '../intersect/index.mjs';\nimport { Union } from '../union/index.mjs';\nimport { Object } from '../object/index.mjs';\n// ------------------------------------------------------------------\n// Mapped\n// ------------------------------------------------------------------\nimport { OmitFromMappedKey } from './omit-from-mapped-key.mjs';\nimport { OmitFromMappedResult } from './omit-from-mapped-result.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsMappedKey, IsIntersect, IsUnion, IsObject, IsSchema, IsMappedResult, IsLiteralValue, IsRef } from '../guard/kind.mjs';\nimport { IsArray as IsArrayValue } from '../guard/value.mjs';\n// prettier-ignore\nfunction FromIntersect(types, propertyKeys) {\n    return types.map((type) => OmitResolve(type, propertyKeys));\n}\n// prettier-ignore\nfunction FromUnion(types, propertyKeys) {\n    return types.map((type) => OmitResolve(type, propertyKeys));\n}\n// ------------------------------------------------------------------\n// FromProperty\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction FromProperty(properties, key) {\n    const { [key]: _, ...R } = properties;\n    return R;\n}\n// prettier-ignore\nfunction FromProperties(properties, propertyKeys) {\n    return propertyKeys.reduce((T, K2) => FromProperty(T, K2), properties);\n}\n// prettier-ignore\nfunction FromObject(type, propertyKeys, properties) {\n    const options = Discard(type, [TransformKind, '$id', 'required', 'properties']);\n    const mappedProperties = FromProperties(properties, propertyKeys);\n    return Object(mappedProperties, options);\n}\n// prettier-ignore\nfunction UnionFromPropertyKeys(propertyKeys) {\n    const result = propertyKeys.reduce((result, key) => IsLiteralValue(key) ? [...result, Literal(key)] : result, []);\n    return Union(result);\n}\n// prettier-ignore\nfunction OmitResolve(type, propertyKeys) {\n    return (IsIntersect(type) ? Intersect(FromIntersect(type.allOf, propertyKeys)) :\n        IsUnion(type) ? Union(FromUnion(type.anyOf, propertyKeys)) :\n            IsObject(type) ? FromObject(type, propertyKeys, type.properties) :\n                Object({}));\n}\n/** `[Json]` Constructs a type whose keys are picked from the given type */\n// prettier-ignore\nexport function Omit(type, key, options) {\n    const typeKey = IsArrayValue(key) ? UnionFromPropertyKeys(key) : key;\n    const propertyKeys = IsSchema(key) ? IndexPropertyKeys(key) : key;\n    const isTypeRef = IsRef(type);\n    const isKeyRef = IsRef(key);\n    return (IsMappedResult(type) ? OmitFromMappedResult(type, propertyKeys, options) :\n        IsMappedKey(key) ? OmitFromMappedKey(type, key, options) :\n            (isTypeRef && isKeyRef) ? Computed('Omit', [type, typeKey], options) :\n                (!isTypeRef && isKeyRef) ? Computed('Omit', [type, typeKey], options) :\n                    (isTypeRef && !isKeyRef) ? Computed('Omit', [type, typeKey], options) :\n                        CreateType({ ...OmitResolve(type, propertyKeys), ...options }));\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Omit } from './omit.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromPropertyKey(type, key, options) {\n    return { [key]: Omit(type, [key], Clone(options)) };\n}\n// prettier-ignore\nfunction FromPropertyKeys(type, propertyKeys, options) {\n    return propertyKeys.reduce((Acc, LK) => {\n        return { ...Acc, ...FromPropertyKey(type, LK, options) };\n    }, {});\n}\n// prettier-ignore\nfunction FromMappedKey(type, mappedKey, options) {\n    return FromPropertyKeys(type, mappedKey.keys, options);\n}\n// prettier-ignore\nexport function OmitFromMappedKey(type, mappedKey, options) {\n    const properties = FromMappedKey(type, mappedKey, options);\n    return MappedResult(properties);\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Pick } from './pick.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromProperties(properties, propertyKeys, options) {\n    const result = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(properties))\n        result[K2] = Pick(properties[K2], propertyKeys, Clone(options));\n    return result;\n}\n// prettier-ignore\nfunction FromMappedResult(mappedResult, propertyKeys, options) {\n    return FromProperties(mappedResult.properties, propertyKeys, options);\n}\n// prettier-ignore\nexport function PickFromMappedResult(mappedResult, propertyKeys, options) {\n    const properties = FromMappedResult(mappedResult, propertyKeys, options);\n    return MappedResult(properties);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Discard } from '../discard/discard.mjs';\nimport { Computed } from '../computed/index.mjs';\nimport { Intersect } from '../intersect/index.mjs';\nimport { Literal } from '../literal/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { Union } from '../union/index.mjs';\nimport { IndexPropertyKeys } from '../indexed/index.mjs';\nimport { TransformKind } from '../symbols/symbols.mjs';\n// ------------------------------------------------------------------\n// Guards\n// ------------------------------------------------------------------\nimport { IsMappedKey, IsMappedResult, IsIntersect, IsUnion, IsObject, IsSchema, IsLiteralValue, IsRef } from '../guard/kind.mjs';\nimport { IsArray as IsArrayValue } from '../guard/value.mjs';\n// ------------------------------------------------------------------\n// Infrastructure\n// ------------------------------------------------------------------\nimport { PickFromMappedKey } from './pick-from-mapped-key.mjs';\nimport { PickFromMappedResult } from './pick-from-mapped-result.mjs';\nfunction FromIntersect(types, propertyKeys) {\n    return types.map((type) => PickResolve(type, propertyKeys));\n}\n// prettier-ignore\nfunction FromUnion(types, propertyKeys) {\n    return types.map((type) => PickResolve(type, propertyKeys));\n}\n// prettier-ignore\nfunction FromProperties(properties, propertyKeys) {\n    const result = {};\n    for (const K2 of propertyKeys)\n        if (K2 in properties)\n            result[K2] = properties[K2];\n    return result;\n}\n// prettier-ignore\nfunction FromObject(Type, keys, properties) {\n    const options = Discard(Type, [TransformKind, '$id', 'required', 'properties']);\n    const mappedProperties = FromProperties(properties, keys);\n    return Object(mappedProperties, options);\n}\n// prettier-ignore\nfunction UnionFromPropertyKeys(propertyKeys) {\n    const result = propertyKeys.reduce((result, key) => IsLiteralValue(key) ? [...result, Literal(key)] : result, []);\n    return Union(result);\n}\n// prettier-ignore\nfunction PickResolve(type, propertyKeys) {\n    return (IsIntersect(type) ? Intersect(FromIntersect(type.allOf, propertyKeys)) :\n        IsUnion(type) ? Union(FromUnion(type.anyOf, propertyKeys)) :\n            IsObject(type) ? FromObject(type, propertyKeys, type.properties) :\n                Object({}));\n}\n/** `[Json]` Constructs a type whose keys are picked from the given type */\n// prettier-ignore\nexport function Pick(type, key, options) {\n    const typeKey = IsArrayValue(key) ? UnionFromPropertyKeys(key) : key;\n    const propertyKeys = IsSchema(key) ? IndexPropertyKeys(key) : key;\n    const isTypeRef = IsRef(type);\n    const isKeyRef = IsRef(key);\n    return (IsMappedResult(type) ? PickFromMappedResult(type, propertyKeys, options) :\n        IsMappedKey(key) ? PickFromMappedKey(type, key, options) :\n            (isTypeRef && isKeyRef) ? Computed('Pick', [type, typeKey], options) :\n                (!isTypeRef && isKeyRef) ? Computed('Pick', [type, typeKey], options) :\n                    (isTypeRef && !isKeyRef) ? Computed('Pick', [type, typeKey], options) :\n                        CreateType({ ...PickResolve(type, propertyKeys), ...options }));\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Pick } from './pick.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromPropertyKey(type, key, options) {\n    return {\n        [key]: Pick(type, [key], Clone(options))\n    };\n}\n// prettier-ignore\nfunction FromPropertyKeys(type, propertyKeys, options) {\n    return propertyKeys.reduce((result, leftKey) => {\n        return { ...result, ...FromPropertyKey(type, leftKey, options) };\n    }, {});\n}\n// prettier-ignore\nfunction FromMappedKey(type, mappedKey, options) {\n    return FromPropertyKeys(type, mappedKey.keys, options);\n}\n// prettier-ignore\nexport function PickFromMappedKey(type, mappedKey, options) {\n    const properties = FromMappedKey(type, mappedKey, options);\n    return MappedResult(properties);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Computed } from '../computed/index.mjs';\nimport { Optional } from '../optional/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { Intersect } from '../intersect/index.mjs';\nimport { Union } from '../union/index.mjs';\nimport { Ref } from '../ref/index.mjs';\nimport { Discard } from '../discard/index.mjs';\nimport { TransformKind } from '../symbols/index.mjs';\nimport { PartialFromMappedResult } from './partial-from-mapped-result.mjs';\n// ------------------------------------------------------------------\n// KindGuard\n// ------------------------------------------------------------------\nimport * as KindGuard from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromComputed(target, parameters) {\n    return Computed('Partial', [Computed(target, parameters)]);\n}\n// prettier-ignore\nfunction FromRef($ref) {\n    return Computed('Partial', [Ref($ref)]);\n}\n// prettier-ignore\nfunction FromProperties(properties) {\n    const partialProperties = {};\n    for (const K of globalThis.Object.getOwnPropertyNames(properties))\n        partialProperties[K] = Optional(properties[K]);\n    return partialProperties;\n}\n// prettier-ignore\nfunction FromObject(type, properties) {\n    const options = Discard(type, [TransformKind, '$id', 'required', 'properties']);\n    const mappedProperties = FromProperties(properties);\n    return Object(mappedProperties, options);\n}\n// prettier-ignore\nfunction FromRest(types) {\n    return types.map(type => PartialResolve(type));\n}\n// ------------------------------------------------------------------\n// PartialResolve\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction PartialResolve(type) {\n    return (\n    // Mappable\n    KindGuard.IsComputed(type) ? FromComputed(type.target, type.parameters) :\n        KindGuard.IsRef(type) ? FromRef(type.$ref) :\n            KindGuard.IsIntersect(type) ? Intersect(FromRest(type.allOf)) :\n                KindGuard.IsUnion(type) ? Union(FromRest(type.anyOf)) :\n                    KindGuard.IsObject(type) ? FromObject(type, type.properties) :\n                        // Intrinsic\n                        KindGuard.IsBigInt(type) ? type :\n                            KindGuard.IsBoolean(type) ? type :\n                                KindGuard.IsInteger(type) ? type :\n                                    KindGuard.IsLiteral(type) ? type :\n                                        KindGuard.IsNull(type) ? type :\n                                            KindGuard.IsNumber(type) ? type :\n                                                KindGuard.IsString(type) ? type :\n                                                    KindGuard.IsSymbol(type) ? type :\n                                                        KindGuard.IsUndefined(type) ? type :\n                                                            // Passthrough\n                                                            Object({}));\n}\n/** `[Json]` Constructs a type where all properties are optional */\nexport function Partial(type, options) {\n    if (KindGuard.IsMappedResult(type)) {\n        return PartialFromMappedResult(type, options);\n    }\n    else {\n        // special: mapping types require overridable options\n        return CreateType({ ...PartialResolve(type), ...options });\n    }\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Partial } from './partial.mjs';\nimport { Clone } from '../clone/value.mjs';\n// prettier-ignore\nfunction FromProperties(K, options) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(K))\n        Acc[K2] = Partial(K[K2], Clone(options));\n    return Acc;\n}\n// prettier-ignore\nfunction FromMappedResult(R, options) {\n    return FromProperties(R.properties, options);\n}\n// prettier-ignore\nexport function PartialFromMappedResult(R, options) {\n    const P = FromMappedResult(R, options);\n    return MappedResult(P);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Computed } from '../computed/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { Intersect } from '../intersect/index.mjs';\nimport { Union } from '../union/index.mjs';\nimport { Ref } from '../ref/index.mjs';\nimport { OptionalKind, TransformKind } from '../symbols/index.mjs';\nimport { Discard } from '../discard/index.mjs';\nimport { RequiredFromMappedResult } from './required-from-mapped-result.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport * as KindGuard from '../guard/kind.mjs';\n// prettier-ignore\nfunction FromComputed(target, parameters) {\n    return Computed('Required', [Computed(target, parameters)]);\n}\n// prettier-ignore\nfunction FromRef($ref) {\n    return Computed('Required', [Ref($ref)]);\n}\n// prettier-ignore\nfunction FromProperties(properties) {\n    const requiredProperties = {};\n    for (const K of globalThis.Object.getOwnPropertyNames(properties))\n        requiredProperties[K] = Discard(properties[K], [OptionalKind]);\n    return requiredProperties;\n}\n// prettier-ignore\nfunction FromObject(type, properties) {\n    const options = Discard(type, [TransformKind, '$id', 'required', 'properties']);\n    const mappedProperties = FromProperties(properties);\n    return Object(mappedProperties, options);\n}\n// prettier-ignore\nfunction FromRest(types) {\n    return types.map(type => RequiredResolve(type));\n}\n// ------------------------------------------------------------------\n// RequiredResolve\n// ------------------------------------------------------------------\n// prettier-ignore\nfunction RequiredResolve(type) {\n    return (\n    // Mappable\n    KindGuard.IsComputed(type) ? FromComputed(type.target, type.parameters) :\n        KindGuard.IsRef(type) ? FromRef(type.$ref) :\n            KindGuard.IsIntersect(type) ? Intersect(FromRest(type.allOf)) :\n                KindGuard.IsUnion(type) ? Union(FromRest(type.anyOf)) :\n                    KindGuard.IsObject(type) ? FromObject(type, type.properties) :\n                        // Intrinsic\n                        KindGuard.IsBigInt(type) ? type :\n                            KindGuard.IsBoolean(type) ? type :\n                                KindGuard.IsInteger(type) ? type :\n                                    KindGuard.IsLiteral(type) ? type :\n                                        KindGuard.IsNull(type) ? type :\n                                            KindGuard.IsNumber(type) ? type :\n                                                KindGuard.IsString(type) ? type :\n                                                    KindGuard.IsSymbol(type) ? type :\n                                                        KindGuard.IsUndefined(type) ? type :\n                                                            // Passthrough\n                                                            Object({}));\n}\n/** `[Json]` Constructs a type where all properties are required */\nexport function Required(type, options) {\n    if (KindGuard.IsMappedResult(type)) {\n        return RequiredFromMappedResult(type, options);\n    }\n    else {\n        // special: mapping types require overridable options\n        return CreateType({ ...RequiredResolve(type), ...options });\n    }\n}\n","import { MappedResult } from '../mapped/index.mjs';\nimport { Required } from './required.mjs';\n// prettier-ignore\nfunction FromProperties(P, options) {\n    const Acc = {};\n    for (const K2 of globalThis.Object.getOwnPropertyNames(P))\n        Acc[K2] = Required(P[K2], options);\n    return Acc;\n}\n// prettier-ignore\nfunction FromMappedResult(R, options) {\n    return FromProperties(R.properties, options);\n}\n// prettier-ignore\nexport function RequiredFromMappedResult(R, options) {\n    const P = FromMappedResult(R, options);\n    return MappedResult(P);\n}\n","import { CreateType } from '../create/index.mjs';\nimport { CloneType } from '../clone/index.mjs';\nimport { Discard } from '../discard/index.mjs';\nimport { Array } from '../array/index.mjs';\nimport { Awaited } from '../awaited/index.mjs';\nimport { AsyncIterator } from '../async-iterator/index.mjs';\nimport { Constructor } from '../constructor/index.mjs';\nimport { Index } from '../indexed/index.mjs';\nimport { Function as FunctionType } from '../function/index.mjs';\nimport { Intersect } from '../intersect/index.mjs';\nimport { Iterator } from '../iterator/index.mjs';\nimport { KeyOf } from '../keyof/index.mjs';\nimport { Object } from '../object/index.mjs';\nimport { Omit } from '../omit/index.mjs';\nimport { Pick } from '../pick/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport { Partial } from '../partial/index.mjs';\nimport { RecordValue, RecordPattern } from '../record/index.mjs';\nimport { Required } from '../required/index.mjs';\nimport { Tuple } from '../tuple/index.mjs';\nimport { Union } from '../union/index.mjs';\n// ------------------------------------------------------------------\n// Symbols\n// ------------------------------------------------------------------\nimport { TransformKind, OptionalKind, ReadonlyKind } from '../symbols/index.mjs';\n// ------------------------------------------------------------------\n// KindGuard\n// ------------------------------------------------------------------\nimport * as KindGuard from '../guard/kind.mjs';\n// prettier-ignore\nfunction DereferenceParameters(moduleProperties, types) {\n    return types.map((type) => {\n        return KindGuard.IsRef(type)\n            ? Dereference(moduleProperties, type.$ref)\n            : FromType(moduleProperties, type);\n    });\n}\n// prettier-ignore\nfunction Dereference(moduleProperties, ref) {\n    return (ref in moduleProperties\n        ? KindGuard.IsRef(moduleProperties[ref])\n            ? Dereference(moduleProperties, moduleProperties[ref].$ref)\n            : FromType(moduleProperties, moduleProperties[ref])\n        : Never());\n}\n// prettier-ignore\nfunction FromAwaited(parameters) {\n    return Awaited(parameters[0]);\n}\n// prettier-ignore\nfunction FromIndex(parameters) {\n    return Index(parameters[0], parameters[1]);\n}\n// prettier-ignore\nfunction FromKeyOf(parameters) {\n    return KeyOf(parameters[0]);\n}\n// prettier-ignore\nfunction FromPartial(parameters) {\n    return Partial(parameters[0]);\n}\n// prettier-ignore\nfunction FromOmit(parameters) {\n    return Omit(parameters[0], parameters[1]);\n}\n// prettier-ignore\nfunction FromPick(parameters) {\n    return Pick(parameters[0], parameters[1]);\n}\n// prettier-ignore\nfunction FromRequired(parameters) {\n    return Required(parameters[0]);\n}\n// prettier-ignore\nfunction FromComputed(moduleProperties, target, parameters) {\n    const dereferenced = DereferenceParameters(moduleProperties, parameters);\n    return (target === 'Awaited' ? FromAwaited(dereferenced) :\n        target === 'Index' ? FromIndex(dereferenced) :\n            target === 'KeyOf' ? FromKeyOf(dereferenced) :\n                target === 'Partial' ? FromPartial(dereferenced) :\n                    target === 'Omit' ? FromOmit(dereferenced) :\n                        target === 'Pick' ? FromPick(dereferenced) :\n                            target === 'Required' ? FromRequired(dereferenced) :\n                                Never());\n}\nfunction FromArray(moduleProperties, type) {\n    return Array(FromType(moduleProperties, type));\n}\nfunction FromAsyncIterator(moduleProperties, type) {\n    return AsyncIterator(FromType(moduleProperties, type));\n}\n// prettier-ignore\nfunction FromConstructor(moduleProperties, parameters, instanceType) {\n    return Constructor(FromTypes(moduleProperties, parameters), FromType(moduleProperties, instanceType));\n}\n// prettier-ignore\nfunction FromFunction(moduleProperties, parameters, returnType) {\n    return FunctionType(FromTypes(moduleProperties, parameters), FromType(moduleProperties, returnType));\n}\nfunction FromIntersect(moduleProperties, types) {\n    return Intersect(FromTypes(moduleProperties, types));\n}\nfunction FromIterator(moduleProperties, type) {\n    return Iterator(FromType(moduleProperties, type));\n}\nfunction FromObject(moduleProperties, properties) {\n    return Object(globalThis.Object.keys(properties).reduce((result, key) => {\n        return { ...result, [key]: FromType(moduleProperties, properties[key]) };\n    }, {}));\n}\n// prettier-ignore\nfunction FromRecord(moduleProperties, type) {\n    const [value, pattern] = [FromType(moduleProperties, RecordValue(type)), RecordPattern(type)];\n    const result = CloneType(type);\n    result.patternProperties[pattern] = value;\n    return result;\n}\n// prettier-ignore\nfunction FromTransform(moduleProperties, transform) {\n    return (KindGuard.IsRef(transform))\n        ? { ...Dereference(moduleProperties, transform.$ref), [TransformKind]: transform[TransformKind] }\n        : transform;\n}\nfunction FromTuple(moduleProperties, types) {\n    return Tuple(FromTypes(moduleProperties, types));\n}\nfunction FromUnion(moduleProperties, types) {\n    return Union(FromTypes(moduleProperties, types));\n}\nfunction FromTypes(moduleProperties, types) {\n    return types.map((type) => FromType(moduleProperties, type));\n}\n// prettier-ignore\nexport function FromType(moduleProperties, type) {\n    return (\n    // Modifiers\n    KindGuard.IsOptional(type) ? CreateType(FromType(moduleProperties, Discard(type, [OptionalKind])), type) :\n        KindGuard.IsReadonly(type) ? CreateType(FromType(moduleProperties, Discard(type, [ReadonlyKind])), type) :\n            // Transform\n            KindGuard.IsTransform(type) ? CreateType(FromTransform(moduleProperties, type), type) :\n                // Types\n                KindGuard.IsArray(type) ? CreateType(FromArray(moduleProperties, type.items), type) :\n                    KindGuard.IsAsyncIterator(type) ? CreateType(FromAsyncIterator(moduleProperties, type.items), type) :\n                        KindGuard.IsComputed(type) ? CreateType(FromComputed(moduleProperties, type.target, type.parameters)) :\n                            KindGuard.IsConstructor(type) ? CreateType(FromConstructor(moduleProperties, type.parameters, type.returns), type) :\n                                KindGuard.IsFunction(type) ? CreateType(FromFunction(moduleProperties, type.parameters, type.returns), type) :\n                                    KindGuard.IsIntersect(type) ? CreateType(FromIntersect(moduleProperties, type.allOf), type) :\n                                        KindGuard.IsIterator(type) ? CreateType(FromIterator(moduleProperties, type.items), type) :\n                                            KindGuard.IsObject(type) ? CreateType(FromObject(moduleProperties, type.properties), type) :\n                                                KindGuard.IsRecord(type) ? CreateType(FromRecord(moduleProperties, type)) :\n                                                    KindGuard.IsTuple(type) ? CreateType(FromTuple(moduleProperties, type.items || []), type) :\n                                                        KindGuard.IsUnion(type) ? CreateType(FromUnion(moduleProperties, type.anyOf), type) :\n                                                            type);\n}\n// prettier-ignore\nexport function ComputeType(moduleProperties, key) {\n    return (key in moduleProperties\n        ? FromType(moduleProperties, moduleProperties[key])\n        : Never());\n}\n// prettier-ignore\nexport function ComputeModuleProperties(moduleProperties) {\n    return globalThis.Object.getOwnPropertyNames(moduleProperties).reduce((result, key) => {\n        return { ...result, [key]: ComputeType(moduleProperties, key) };\n    }, {});\n}\n","import { CreateType } from '../create/index.mjs';\nimport { Kind } from '../symbols/index.mjs';\n// ------------------------------------------------------------------\n// Module Infrastructure Types\n// ------------------------------------------------------------------\nimport { ComputeModuleProperties } from './compute.mjs';\n// ------------------------------------------------------------------\n// Module\n// ------------------------------------------------------------------\n// prettier-ignore\nexport class TModule {\n    constructor($defs) {\n        const computed = ComputeModuleProperties($defs);\n        const identified = this.WithIdentifiers(computed);\n        this.$defs = identified;\n    }\n    /** `[Json]` Imports a Type by Key. */\n    Import(key, options) {\n        const $defs = { ...this.$defs, [key]: CreateType(this.$defs[key], options) };\n        return CreateType({ [Kind]: 'Import', $defs, $ref: key });\n    }\n    // prettier-ignore\n    WithIdentifiers($defs) {\n        return globalThis.Object.getOwnPropertyNames($defs).reduce((result, key) => {\n            return { ...result, [key]: { ...$defs[key], $id: key } };\n        }, {});\n    }\n}\n/** `[Json]` Creates a Type Definition Module. */\nexport function Module(properties) {\n    return new TModule(properties);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Not type */\nexport function Not(type, options) {\n    return CreateType({ [Kind]: 'Not', not: type }, options);\n}\n","import { Tuple } from '../tuple/index.mjs';\nimport { Never } from '../never/index.mjs';\nimport * as KindGuard from '../guard/kind.mjs';\n/** `[JavaScript]` Extracts the Parameters from the given Function type */\nexport function Parameters(schema, options) {\n    return (KindGuard.IsFunction(schema) ? Tuple(schema.parameters, options) : Never());\n}\n","import { CloneType } from '../clone/type.mjs';\nimport { CreateType } from '../create/type.mjs';\nimport { IsUndefined } from '../guard/value.mjs';\nimport { Kind, Hint } from '../symbols/index.mjs';\n// Auto Tracked For Recursive Types without ID's\nlet Ordinal = 0;\n/** `[Json]` Creates a Recursive type */\nexport function Recursive(callback, options = {}) {\n    if (IsUndefined(options.$id))\n        options.$id = `T${Ordinal++}`;\n    const thisType = CloneType(callback({ [Kind]: 'This', $ref: `${options.$id}` }));\n    thisType.$id = options.$id;\n    // prettier-ignore\n    return CreateType({ [Hint]: 'Recursive', ...thisType }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { IsString } from '../guard/value.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a RegExp type */\nexport function RegExp(unresolved, options) {\n    const expr = IsString(unresolved) ? new globalThis.RegExp(unresolved) : unresolved;\n    return CreateType({ [Kind]: 'RegExp', type: 'RegExp', source: expr.source, flags: expr.flags }, options);\n}\n","// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsIntersect, IsUnion, IsTuple } from '../guard/kind.mjs';\n// prettier-ignore\nfunction RestResolve(T) {\n    return (IsIntersect(T) ? T.allOf :\n        IsUnion(T) ? T.anyOf :\n            IsTuple(T) ? T.items ?? [] :\n                []);\n}\n/** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */\nexport function Rest(T) {\n    return RestResolve(T);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Never } from '../never/index.mjs';\nimport * as KindGuard from '../guard/kind.mjs';\n/** `[JavaScript]` Extracts the ReturnType from the given Function type */\nexport function ReturnType(schema, options) {\n    return (KindGuard.IsFunction(schema) ? CreateType(schema.returns, options) : Never(options));\n}\n","import { TransformKind } from '../symbols/index.mjs';\n// ------------------------------------------------------------------\n// TypeGuard\n// ------------------------------------------------------------------\nimport { IsTransform } from '../guard/kind.mjs';\n// ------------------------------------------------------------------\n// TransformBuilders\n// ------------------------------------------------------------------\nexport class TransformDecodeBuilder {\n    constructor(schema) {\n        this.schema = schema;\n    }\n    Decode(decode) {\n        return new TransformEncodeBuilder(this.schema, decode);\n    }\n}\n// prettier-ignore\nexport class TransformEncodeBuilder {\n    constructor(schema, decode) {\n        this.schema = schema;\n        this.decode = decode;\n    }\n    EncodeTransform(encode, schema) {\n        const Encode = (value) => schema[TransformKind].Encode(encode(value));\n        const Decode = (value) => this.decode(schema[TransformKind].Decode(value));\n        const Codec = { Encode: Encode, Decode: Decode };\n        return { ...schema, [TransformKind]: Codec };\n    }\n    EncodeSchema(encode, schema) {\n        const Codec = { Decode: this.decode, Encode: encode };\n        return { ...schema, [TransformKind]: Codec };\n    }\n    Encode(encode) {\n        return (IsTransform(this.schema) ? this.EncodeTransform(encode, this.schema) : this.EncodeSchema(encode, this.schema));\n    }\n}\n/** `[Json]` Creates a Transform type */\nexport function Transform(schema) {\n    return new TransformDecodeBuilder(schema);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[Json]` Creates a Unsafe type that will infers as the generic argument T */\nexport function Unsafe(options = {}) {\n    return CreateType({ [Kind]: options[Kind] ?? 'Unsafe' }, options);\n}\n","import { CreateType } from '../create/type.mjs';\nimport { Kind } from '../symbols/index.mjs';\n/** `[JavaScript]` Creates a Void type */\nexport function Void(options) {\n    return CreateType({ [Kind]: 'Void', type: 'void' }, options);\n}\n","// ------------------------------------------------------------------\n// Type: Module\n// ------------------------------------------------------------------\nexport { Any } from '../any/index.mjs';\nexport { Argument } from '../argument/index.mjs';\nexport { Array } from '../array/index.mjs';\nexport { AsyncIterator } from '../async-iterator/index.mjs';\nexport { Awaited } from '../awaited/index.mjs';\nexport { BigInt } from '../bigint/index.mjs';\nexport { Boolean } from '../boolean/index.mjs';\nexport { Composite } from '../composite/index.mjs';\nexport { Const } from '../const/index.mjs';\nexport { Constructor } from '../constructor/index.mjs';\nexport { ConstructorParameters } from '../constructor-parameters/index.mjs';\nexport { Date } from '../date/index.mjs';\nexport { Enum } from '../enum/index.mjs';\nexport { Exclude } from '../exclude/index.mjs';\nexport { Extends } from '../extends/index.mjs';\nexport { Extract } from '../extract/index.mjs';\nexport { Function } from '../function/index.mjs';\nexport { Index } from '../indexed/index.mjs';\nexport { InstanceType } from '../instance-type/index.mjs';\nexport { Instantiate } from '../instantiate/index.mjs';\nexport { Integer } from '../integer/index.mjs';\nexport { Intersect } from '../intersect/index.mjs';\nexport { Capitalize, Uncapitalize, Lowercase, Uppercase } from '../intrinsic/index.mjs';\nexport { Iterator } from '../iterator/index.mjs';\nexport { KeyOf } from '../keyof/index.mjs';\nexport { Literal } from '../literal/index.mjs';\nexport { Mapped } from '../mapped/index.mjs';\nexport { Module } from '../module/index.mjs';\nexport { Never } from '../never/index.mjs';\nexport { Not } from '../not/index.mjs';\nexport { Null } from '../null/index.mjs';\nexport { Number } from '../number/index.mjs';\nexport { Object } from '../object/index.mjs';\nexport { Omit } from '../omit/index.mjs';\nexport { Optional } from '../optional/index.mjs';\nexport { Parameters } from '../parameters/index.mjs';\nexport { Partial } from '../partial/index.mjs';\nexport { Pick } from '../pick/index.mjs';\nexport { Promise } from '../promise/index.mjs';\nexport { Readonly } from '../readonly/index.mjs';\nexport { ReadonlyOptional } from '../readonly-optional/index.mjs';\nexport { Record } from '../record/index.mjs';\nexport { Recursive } from '../recursive/index.mjs';\nexport { Ref } from '../ref/index.mjs';\nexport { RegExp } from '../regexp/index.mjs';\nexport { Required } from '../required/index.mjs';\nexport { Rest } from '../rest/index.mjs';\nexport { ReturnType } from '../return-type/index.mjs';\nexport { String } from '../string/index.mjs';\nexport { Symbol } from '../symbol/index.mjs';\nexport { TemplateLiteral } from '../template-literal/index.mjs';\nexport { Transform } from '../transform/index.mjs';\nexport { Tuple } from '../tuple/index.mjs';\nexport { Uint8Array } from '../uint8array/index.mjs';\nexport { Undefined } from '../undefined/index.mjs';\nexport { Union } from '../union/index.mjs';\nexport { Unknown } from '../unknown/index.mjs';\nexport { Unsafe } from '../unsafe/index.mjs';\nexport { Void } from '../void/index.mjs';\n","// ------------------------------------------------------------------\n// JsonTypeBuilder\n// ------------------------------------------------------------------\nexport { JsonTypeBuilder } from './json.mjs';\n// ------------------------------------------------------------------\n// JavaScriptTypeBuilder\n// ------------------------------------------------------------------\nimport * as TypeBuilder from './type.mjs';\nimport { JavaScriptTypeBuilder } from './javascript.mjs';\n/** JavaScript Type Builder with Static Resolution for TypeScript */\nconst Type = TypeBuilder;\nexport { JavaScriptTypeBuilder };\nexport { Type };\n","/**\n * Tool helper utilities — matches OpenClaw's AnyAgentTool patterns.\n * \n * These mirror the helpers from openclaw/plugin-sdk but are self-contained\n * so the extension can work without a direct import dependency on openclaw internals.\n */\n\nimport { Type, type TSchema, type Static } from '@sinclair/typebox';\n\n// ─── TypeBox Schema Helpers ──────────────────────────────────────────────\n\n/**\n * Create a string enum schema (required).\n * Matches OpenClaw's `stringEnum()` from src/agents/schema/typebox.ts\n */\nexport function stringEnum<T extends readonly string[]>(\n  values: T,\n  options: Record<string, unknown> = {},\n) {\n  return Type.Unsafe<T[number]>({\n    type: 'string',\n    enum: [...values],\n    ...options,\n  });\n}\n\n/**\n * Create an optional string enum schema.\n */\nexport function optionalStringEnum<T extends readonly string[]>(\n  values: T,\n  options: Record<string, unknown> = {},\n) {\n  return Type.Optional(stringEnum(values, options));\n}\n\n// ─── Tool Result Helpers ─────────────────────────────────────────────────\n\n/**\n * Wrap a value as a JSON tool result.\n * Matches OpenClaw's `jsonResult()` from src/agents/tools/common.ts\n * Returns AgentToolResult shape: { content: [...], details: T }\n */\nexport function jsonResult(data: unknown): { content: Array<{ type: 'text'; text: string }>; details: unknown } {\n  return {\n    content: [{\n      type: 'text' as const,\n      text: typeof data === 'string' ? data : JSON.stringify(data, bigintReplacer, 2),\n    }],\n    details: data,\n  };\n}\n\n/**\n * Wrap a plain text string as a tool result.\n */\nexport function textResult(text: string): { content: Array<{ type: 'text'; text: string }>; details: unknown } {\n  return {\n    content: [{ type: 'text' as const, text }],\n    details: { text },\n  };\n}\n\n/**\n * Create an error result.\n */\nexport function errorResult(message: string): { content: Array<{ type: 'text'; text: string }>; details: unknown; isError: true } {\n  return {\n    content: [{ type: 'text' as const, text: `Error: ${message}` }],\n    details: { error: message },\n    isError: true as const,\n  };\n}\n\n// ─── Parameter Helpers ───────────────────────────────────────────────────\n\n/**\n * Read a string parameter, supporting both camelCase and snake_case keys.\n * Matches OpenClaw's `readStringParam()`.\n */\nexport function readStringParam(\n  params: Record<string, unknown>,\n  key: string,\n  opts?: { required?: boolean },\n): string | undefined {\n  const val = params[key] ?? params[toSnakeCase(key)];\n  if (val === undefined || val === null) {\n    if (opts?.required) throw new ToolInputError(`Missing required parameter: ${key}`);\n    return undefined;\n  }\n  return String(val);\n}\n\n/**\n * Read a number parameter.\n */\nexport function readNumberParam(\n  params: Record<string, unknown>,\n  key: string,\n  opts?: { required?: boolean },\n): number | undefined {\n  const val = params[key] ?? params[toSnakeCase(key)];\n  if (val === undefined || val === null) {\n    if (opts?.required) throw new ToolInputError(`Missing required parameter: ${key}`);\n    return undefined;\n  }\n  const num = Number(val);\n  if (isNaN(num)) throw new ToolInputError(`Parameter ${key} must be a number, got: ${val}`);\n  return num;\n}\n\n// ─── Error Classes ───────────────────────────────────────────────────────\n\nexport class ToolInputError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ToolInputError';\n  }\n}\n\nexport class ToolAuthorizationError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ToolAuthorizationError';\n  }\n}\n\n// ─── Internal Helpers ────────────────────────────────────────────────────\n\nfunction toSnakeCase(s: string): string {\n  return s.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\n}\n\nfunction bigintReplacer(_key: string, value: unknown): unknown {\n  if (typeof value === 'bigint') return value.toString();\n  return value;\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],"mappings":"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"}