@hyperjump/json-schema 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +176 -0
  3. package/dist/json-schema-amd.js +4710 -0
  4. package/dist/json-schema-amd.js.map +1 -0
  5. package/dist/json-schema-amd.min.js +2 -0
  6. package/dist/json-schema-amd.min.js.map +1 -0
  7. package/dist/json-schema-cjs.js +4708 -0
  8. package/dist/json-schema-cjs.js.map +1 -0
  9. package/dist/json-schema-cjs.min.js +2 -0
  10. package/dist/json-schema-cjs.min.js.map +1 -0
  11. package/dist/json-schema-esm.js +4691 -0
  12. package/dist/json-schema-esm.js.map +1 -0
  13. package/dist/json-schema-esm.min.js +2 -0
  14. package/dist/json-schema-esm.min.js.map +1 -0
  15. package/dist/json-schema-iife.js +4713 -0
  16. package/dist/json-schema-iife.js.map +1 -0
  17. package/dist/json-schema-iife.min.js +2 -0
  18. package/dist/json-schema-iife.min.js.map +1 -0
  19. package/dist/json-schema-system.js +4698 -0
  20. package/dist/json-schema-system.js.map +1 -0
  21. package/dist/json-schema-system.min.js +2 -0
  22. package/dist/json-schema-system.min.js.map +1 -0
  23. package/dist/json-schema-umd.js +4714 -0
  24. package/dist/json-schema-umd.js.map +1 -0
  25. package/dist/json-schema-umd.min.js +2 -0
  26. package/dist/json-schema-umd.min.js.map +1 -0
  27. package/lib/common.js +13 -0
  28. package/lib/draft-04.d.ts +40 -0
  29. package/lib/draft-04.js +94 -0
  30. package/lib/draft-06.d.ts +44 -0
  31. package/lib/draft-06.js +51 -0
  32. package/lib/draft-07.d.ts +52 -0
  33. package/lib/draft-07.js +55 -0
  34. package/lib/draft-2019-09.d.ts +62 -0
  35. package/lib/draft-2019-09.js +92 -0
  36. package/lib/draft-2020-12.d.ts +62 -0
  37. package/lib/draft-2020-12.js +103 -0
  38. package/lib/index.d.ts +28 -0
  39. package/lib/index.js +26 -0
  40. package/lib/index.mjs +18 -0
  41. package/lib/keywords/additionalItems.js +27 -0
  42. package/lib/keywords/additionalItems6.js +23 -0
  43. package/lib/keywords/additionalProperties.js +33 -0
  44. package/lib/keywords/additionalProperties6.js +28 -0
  45. package/lib/keywords/allOf.js +28 -0
  46. package/lib/keywords/anyOf.js +29 -0
  47. package/lib/keywords/const.js +8 -0
  48. package/lib/keywords/contains-minContains-maxContains.js +33 -0
  49. package/lib/keywords/contains.js +10 -0
  50. package/lib/keywords/definitions.js +15 -0
  51. package/lib/keywords/dependencies.js +29 -0
  52. package/lib/keywords/dependentRequired.js +19 -0
  53. package/lib/keywords/dependentSchemas.js +30 -0
  54. package/lib/keywords/dynamicRef.js +24 -0
  55. package/lib/keywords/else.js +43 -0
  56. package/lib/keywords/enum.js +8 -0
  57. package/lib/keywords/exclusiveMaximum.js +7 -0
  58. package/lib/keywords/exclusiveMinimum.js +7 -0
  59. package/lib/keywords/if.js +19 -0
  60. package/lib/keywords/index.js +55 -0
  61. package/lib/keywords/items.js +31 -0
  62. package/lib/keywords/items202012.js +23 -0
  63. package/lib/keywords/maxItems.js +7 -0
  64. package/lib/keywords/maxLength.js +7 -0
  65. package/lib/keywords/maxLength6.js +7 -0
  66. package/lib/keywords/maxProperties.js +7 -0
  67. package/lib/keywords/maximum-exclusiveMaximum.js +20 -0
  68. package/lib/keywords/maximum.js +7 -0
  69. package/lib/keywords/minItems.js +7 -0
  70. package/lib/keywords/minLength.js +7 -0
  71. package/lib/keywords/minLength6.js +7 -0
  72. package/lib/keywords/minProperties.js +7 -0
  73. package/lib/keywords/minimum-exclusiveMinimum.js +20 -0
  74. package/lib/keywords/minimum.js +7 -0
  75. package/lib/keywords/multipleOf.js +17 -0
  76. package/lib/keywords/not.js +7 -0
  77. package/lib/keywords/oneOf.js +48 -0
  78. package/lib/keywords/pattern.js +7 -0
  79. package/lib/keywords/patternProperties.js +23 -0
  80. package/lib/keywords/properties.js +25 -0
  81. package/lib/keywords/propertyNames.js +11 -0
  82. package/lib/keywords/ref.js +13 -0
  83. package/lib/keywords/required.js +10 -0
  84. package/lib/keywords/then.js +43 -0
  85. package/lib/keywords/tupleItems.js +24 -0
  86. package/lib/keywords/type.js +7 -0
  87. package/lib/keywords/unevaluatedItems.js +23 -0
  88. package/lib/keywords/unevaluatedProperties.js +24 -0
  89. package/lib/keywords/uniqueItems.js +16 -0
  90. package/meta/draft/2019-09/meta/applicator.js +55 -0
  91. package/meta/draft/2019-09/meta/content.js +17 -0
  92. package/meta/draft/2019-09/meta/core.js +57 -0
  93. package/meta/draft/2019-09/meta/format.js +14 -0
  94. package/meta/draft/2019-09/meta/meta-data.js +37 -0
  95. package/meta/draft/2019-09/meta/validation.js +98 -0
  96. package/meta/draft/2019-09/schema.js +42 -0
  97. package/meta/draft/2020-12/meta/applicator.js +49 -0
  98. package/meta/draft/2020-12/meta/content.js +17 -0
  99. package/meta/draft/2020-12/meta/core.js +57 -0
  100. package/meta/draft/2020-12/meta/format-annotation.js +14 -0
  101. package/meta/draft/2020-12/meta/format-assertion.js +14 -0
  102. package/meta/draft/2020-12/meta/meta-data.js +37 -0
  103. package/meta/draft/2020-12/meta/unevaluated.js +15 -0
  104. package/meta/draft/2020-12/meta/validation.js +98 -0
  105. package/meta/draft/2020-12/schema.js +44 -0
  106. package/meta/draft-04/hyper-schema.js +136 -0
  107. package/meta/draft-04/schema.js +149 -0
  108. package/meta/draft-06/schema.js +154 -0
  109. package/meta/draft-07/schema.js +172 -0
  110. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-esm.min.js","sources":["../node_modules/just-curry-it/index.js","../node_modules/pubsub-js/src/pubsub.js","../node_modules/url-resolve-browser/index.js","../node_modules/@hyperjump/json-schema-core/lib/common.js","../node_modules/@hyperjump/json-pointer/lib/index.js","../node_modules/@hyperjump/json-schema-core/lib/reference.js","../node_modules/@hyperjump/json-schema-core/lib/instance.js","../node_modules/content-type/index.js","../node_modules/@hyperjump/pact/lib/entries.js","../node_modules/@hyperjump/pact/lib/map.js","../node_modules/@hyperjump/pact/lib/reduce.js","../node_modules/@hyperjump/pact/lib/filter.js","../node_modules/@hyperjump/pact/lib/some.js","../node_modules/@hyperjump/pact/lib/every.js","../node_modules/@hyperjump/pact/lib/pipeline.js","../node_modules/@hyperjump/pact/lib/index.js","../node_modules/@hyperjump/pact/lib/all.js","../node_modules/@hyperjump/pact/lib/allValues.js","../node_modules/@hyperjump/json-schema-core/lib/fetch.browser.js","../node_modules/@hyperjump/json-schema-core/lib/schema.js","../node_modules/@hyperjump/json-schema-core/lib/invalid-schema-error.js","../node_modules/@hyperjump/json-schema-core/lib/core.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/meta-data.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/validate.js","../node_modules/@hyperjump/json-schema-core/lib/keywords/index.js","../node_modules/@hyperjump/json-schema-core/lib/index.js","../lib/keywords/additionalItems.js","../lib/keywords/additionalItems6.js","../lib/keywords/additionalProperties.js","../lib/keywords/additionalProperties6.js","../lib/keywords/allOf.js","../lib/keywords/anyOf.js","../node_modules/fastest-stable-stringify/index.js","../lib/keywords/const.js","../lib/keywords/contains.js","../lib/keywords/contains-minContains-maxContains.js","../lib/keywords/definitions.js","../lib/keywords/dependencies.js","../lib/keywords/dependentRequired.js","../lib/keywords/dependentSchemas.js","../lib/keywords/enum.js","../lib/keywords/exclusiveMaximum.js","../lib/keywords/exclusiveMinimum.js","../lib/keywords/if.js","../lib/keywords/then.js","../lib/keywords/else.js","../lib/keywords/items.js","../lib/keywords/items202012.js","../lib/keywords/maxItems.js","../lib/keywords/maxLength.js","../lib/keywords/maxLength6.js","../lib/keywords/maxProperties.js","../lib/keywords/maximum-exclusiveMaximum.js","../lib/keywords/maximum.js","../lib/keywords/minItems.js","../lib/keywords/minLength.js","../lib/keywords/minLength6.js","../lib/keywords/minProperties.js","../lib/keywords/minimum-exclusiveMinimum.js","../lib/keywords/minimum.js","../lib/keywords/multipleOf.js","../lib/keywords/not.js","../lib/keywords/oneOf.js","../lib/keywords/pattern.js","../lib/keywords/patternProperties.js","../lib/common.js","../lib/keywords/properties.js","../lib/keywords/propertyNames.js","../lib/keywords/dynamicRef.js","../lib/keywords/ref.js","../lib/keywords/required.js","../lib/keywords/tupleItems.js","../lib/keywords/type.js","../lib/keywords/unevaluatedItems.js","../lib/keywords/unevaluatedProperties.js","../lib/keywords/uniqueItems.js","../lib/keywords/index.js","../lib/draft-04.js","../meta/draft-04/schema.js","../meta/draft-04/hyper-schema.js","../lib/draft-06.js","../meta/draft-06/schema.js","../lib/draft-07.js","../meta/draft-07/schema.js","../lib/draft-2019-09.js","../meta/draft/2019-09/schema.js","../meta/draft/2019-09/meta/core.js","../meta/draft/2019-09/meta/applicator.js","../meta/draft/2019-09/meta/validation.js","../meta/draft/2019-09/meta/meta-data.js","../meta/draft/2019-09/meta/format.js","../meta/draft/2019-09/meta/content.js","../lib/draft-2020-12.js","../meta/draft/2020-12/schema.js","../meta/draft/2020-12/meta/core.js","../meta/draft/2020-12/meta/applicator.js","../meta/draft/2020-12/meta/validation.js","../meta/draft/2020-12/meta/meta-data.js","../meta/draft/2020-12/meta/format-annotation.js","../meta/draft/2020-12/meta/format-assertion.js","../meta/draft/2020-12/meta/content.js","../meta/draft/2020-12/meta/unevaluated.js","../lib/index.js"],"sourcesContent":["module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","/**\n * Copyright (c) 2010,2011,2012,2013,2014 Morgan Roderick http://roderick.dk\n * License: MIT - http://mrgnrdrck.mit-license.org\n *\n * https://github.com/mroderick/PubSubJS\n */\n\n(function (root, factory){\n 'use strict';\n\n var PubSub = {};\n root.PubSub = PubSub;\n factory(PubSub);\n // CommonJS and Node.js module support\n if (typeof exports === 'object'){\n if (module !== undefined && module.exports) {\n exports = module.exports = PubSub; // Node.js specific `module.exports`\n }\n exports.PubSub = PubSub; // CommonJS module 1.1.1 spec\n module.exports = exports = PubSub; // CommonJS\n }\n // AMD support\n /* eslint-disable no-undef */\n else if (typeof define === 'function' && define.amd){\n define(function() { return PubSub; });\n /* eslint-enable no-undef */\n }\n\n}(( typeof window === 'object' && window ) || this, function (PubSub){\n 'use strict';\n\n var messages = {},\n lastUid = -1,\n ALL_SUBSCRIBING_MSG = '*';\n\n function hasKeys(obj){\n var key;\n\n for (key in obj){\n if ( Object.prototype.hasOwnProperty.call(obj, key) ){\n return true;\n }\n }\n return false;\n }\n\n /**\n * Returns a function that throws the passed exception, for use as argument for setTimeout\n * @alias throwException\n * @function\n * @param { Object } ex An Error object\n */\n function throwException( ex ){\n return function reThrowException(){\n throw ex;\n };\n }\n\n function callSubscriberWithDelayedExceptions( subscriber, message, data ){\n try {\n subscriber( message, data );\n } catch( ex ){\n setTimeout( throwException( ex ), 0);\n }\n }\n\n function callSubscriberWithImmediateExceptions( subscriber, message, data ){\n subscriber( message, data );\n }\n\n function deliverMessage( originalMessage, matchedMessage, data, immediateExceptions ){\n var subscribers = messages[matchedMessage],\n callSubscriber = immediateExceptions ? callSubscriberWithImmediateExceptions : callSubscriberWithDelayedExceptions,\n s;\n\n if ( !Object.prototype.hasOwnProperty.call( messages, matchedMessage ) ) {\n return;\n }\n\n for (s in subscribers){\n if ( Object.prototype.hasOwnProperty.call(subscribers, s)){\n callSubscriber( subscribers[s], originalMessage, data );\n }\n }\n }\n\n function createDeliveryFunction( message, data, immediateExceptions ){\n return function deliverNamespaced(){\n var topic = String( message ),\n position = topic.lastIndexOf( '.' );\n\n // deliver the message as it is now\n deliverMessage(message, message, data, immediateExceptions);\n\n // trim the hierarchy and deliver message to each level\n while( position !== -1 ){\n topic = topic.substr( 0, position );\n position = topic.lastIndexOf('.');\n deliverMessage( message, topic, data, immediateExceptions );\n }\n\n deliverMessage(message, ALL_SUBSCRIBING_MSG, data, immediateExceptions);\n };\n }\n\n function hasDirectSubscribersFor( message ) {\n var topic = String( message ),\n found = Boolean(Object.prototype.hasOwnProperty.call( messages, topic ) && hasKeys(messages[topic]));\n\n return found;\n }\n\n function messageHasSubscribers( message ){\n var topic = String( message ),\n found = hasDirectSubscribersFor(topic) || hasDirectSubscribersFor(ALL_SUBSCRIBING_MSG),\n position = topic.lastIndexOf( '.' );\n\n while ( !found && position !== -1 ){\n topic = topic.substr( 0, position );\n position = topic.lastIndexOf( '.' );\n found = hasDirectSubscribersFor(topic);\n }\n\n return found;\n }\n\n function publish( message, data, sync, immediateExceptions ){\n message = (typeof message === 'symbol') ? message.toString() : message;\n\n var deliver = createDeliveryFunction( message, data, immediateExceptions ),\n hasSubscribers = messageHasSubscribers( message );\n\n if ( !hasSubscribers ){\n return false;\n }\n\n if ( sync === true ){\n deliver();\n } else {\n setTimeout( deliver, 0 );\n }\n return true;\n }\n\n /**\n * Publishes the message, passing the data to it's subscribers\n * @function\n * @alias publish\n * @param { String } message The message to publish\n * @param {} data The data to pass to subscribers\n * @return { Boolean }\n */\n PubSub.publish = function( message, data ){\n return publish( message, data, false, PubSub.immediateExceptions );\n };\n\n /**\n * Publishes the message synchronously, passing the data to it's subscribers\n * @function\n * @alias publishSync\n * @param { String } message The message to publish\n * @param {} data The data to pass to subscribers\n * @return { Boolean }\n */\n PubSub.publishSync = function( message, data ){\n return publish( message, data, true, PubSub.immediateExceptions );\n };\n\n /**\n * Subscribes the passed function to the passed message. Every returned token is unique and should be stored if you need to unsubscribe\n * @function\n * @alias subscribe\n * @param { String } message The message to subscribe to\n * @param { Function } func The function to call when a new message is published\n * @return { String }\n */\n PubSub.subscribe = function( message, func ){\n if ( typeof func !== 'function'){\n return false;\n }\n\n message = (typeof message === 'symbol') ? message.toString() : message;\n\n // message is not registered yet\n if ( !Object.prototype.hasOwnProperty.call( messages, message ) ){\n messages[message] = {};\n }\n\n // forcing token as String, to allow for future expansions without breaking usage\n // and allow for easy use as key names for the 'messages' object\n var token = 'uid_' + String(++lastUid);\n messages[message][token] = func;\n\n // return token for unsubscribing\n return token;\n };\n\n PubSub.subscribeAll = function( func ){\n return PubSub.subscribe(ALL_SUBSCRIBING_MSG, func);\n };\n\n /**\n * Subscribes the passed function to the passed message once\n * @function\n * @alias subscribeOnce\n * @param { String } message The message to subscribe to\n * @param { Function } func The function to call when a new message is published\n * @return { PubSub }\n */\n PubSub.subscribeOnce = function( message, func ){\n var token = PubSub.subscribe( message, function(){\n // before func apply, unsubscribe message\n PubSub.unsubscribe( token );\n func.apply( this, arguments );\n });\n return PubSub;\n };\n\n /**\n * Clears all subscriptions\n * @function\n * @public\n * @alias clearAllSubscriptions\n */\n PubSub.clearAllSubscriptions = function clearAllSubscriptions(){\n messages = {};\n };\n\n /**\n * Clear subscriptions by the topic\n * @function\n * @public\n * @alias clearAllSubscriptions\n * @return { int }\n */\n PubSub.clearSubscriptions = function clearSubscriptions(topic){\n var m;\n for (m in messages){\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0){\n delete messages[m];\n }\n }\n };\n\n /**\n Count subscriptions by the topic\n * @function\n * @public\n * @alias countSubscriptions\n * @return { Array }\n */\n PubSub.countSubscriptions = function countSubscriptions(topic){\n var m;\n // eslint-disable-next-line no-unused-vars\n var token;\n var count = 0;\n for (m in messages) {\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0) {\n for (token in messages[m]) {\n count++;\n }\n break;\n }\n }\n return count;\n };\n\n\n /**\n Gets subscriptions by the topic\n * @function\n * @public\n * @alias getSubscriptions\n */\n PubSub.getSubscriptions = function getSubscriptions(topic){\n var m;\n var list = [];\n for (m in messages){\n if (Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0){\n list.push(m);\n }\n }\n return list;\n };\n\n /**\n * Removes subscriptions\n *\n * - When passed a token, removes a specific subscription.\n *\n\t * - When passed a function, removes all subscriptions for that function\n *\n\t * - When passed a topic, removes all subscriptions for that topic (hierarchy)\n * @function\n * @public\n * @alias subscribeOnce\n * @param { String | Function } value A token, function or topic to unsubscribe from\n * @example // Unsubscribing with a token\n * var token = PubSub.subscribe('mytopic', myFunc);\n * PubSub.unsubscribe(token);\n * @example // Unsubscribing with a function\n * PubSub.unsubscribe(myFunc);\n * @example // Unsubscribing from a topic\n * PubSub.unsubscribe('mytopic');\n */\n PubSub.unsubscribe = function(value){\n var descendantTopicExists = function(topic) {\n var m;\n for ( m in messages ){\n if ( Object.prototype.hasOwnProperty.call(messages, m) && m.indexOf(topic) === 0 ){\n // a descendant of the topic exists:\n return true;\n }\n }\n\n return false;\n },\n isTopic = typeof value === 'string' && ( Object.prototype.hasOwnProperty.call(messages, value) || descendantTopicExists(value) ),\n isToken = !isTopic && typeof value === 'string',\n isFunction = typeof value === 'function',\n result = false,\n m, message, t;\n\n if (isTopic){\n PubSub.clearSubscriptions(value);\n return;\n }\n\n for ( m in messages ){\n if ( Object.prototype.hasOwnProperty.call( messages, m ) ){\n message = messages[m];\n\n if ( isToken && message[value] ){\n delete message[value];\n result = value;\n // tokens are unique, so we can just stop here\n break;\n }\n\n if (isFunction) {\n for ( t in message ){\n if (Object.prototype.hasOwnProperty.call(message, t) && message[t] === value){\n delete message[t];\n result = true;\n }\n }\n }\n }\n }\n\n return result;\n };\n}));\n","'use strict';\nmodule.exports = urlResolve;\n\n/*\nThe majority of the module is built by following RFC1808\nurl: https://tools.ietf.org/html/rfc1808\n*/\n\n// adds a slash at end if not present\nfunction _addSlash (url) {\n return url + (url[url.length-1] === '/' ? '' : '/');\n}\n\n// resolve the ..'s (directory up) and such\nfunction _pathResolve (path) {\n let pathSplit = path.split('/');\n\n // happens when path starts with /\n if (pathSplit[0] === '') {\n pathSplit = pathSplit.slice(1);\n }\n\n // let segmentCount = 0; // number of segments that have been passed\n let resultArray = [];\n pathSplit.forEach((current, index) => {\n // skip occurances of '.'\n if (current !== '.') {\n if (current === '..') {\n resultArray.pop(); // remove previous\n } else if (current !== '' || index === pathSplit.length - 1) {\n resultArray.push(current);\n }\n }\n });\n return '/' + resultArray.join('/');\n}\n\n// parses a base url string into an object containing host, path and query\nfunction _baseParse (base) {\n const resultObject = {\n host: '',\n path: '',\n query: '',\n protocol: ''\n };\n\n let path = base;\n let protocolEndIndex = base.indexOf('//');\n\n resultObject.protocol = path.substring(0, protocolEndIndex);\n\n protocolEndIndex += 2; // add two to pass double slash\n\n const pathIndex = base.indexOf('/', protocolEndIndex);\n const queryIndex = base.indexOf('?');\n const hashIndex = base.indexOf('#');\n\n if (hashIndex !== -1) {\n path = path.substring(0, hashIndex); // remove hash, not needed for base\n }\n\n if (queryIndex !== -1) {\n const query = path.substring(queryIndex); // remove query, save in return obj\n resultObject.query = query;\n path = path.substring(0, queryIndex);\n }\n\n if (pathIndex !== -1) {\n const host = path.substring(0, pathIndex); // separate host & path\n resultObject.host = host;\n path = path.substring(pathIndex);\n resultObject.path = path;\n } else {\n resultObject.host = path; // there was no path, therefore path is host\n }\n\n return resultObject;\n}\n\n// https://tools.ietf.org/html/rfc3986#section-3.1\nconst _scheme = '[a-z][a-z0-9+.-]*'; // ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )]\nconst _isAbsolute = new RegExp(`^(${_scheme}:)?//`, 'i');\n\n// parses a relative url string into an object containing the href,\n// hash, query and whether it is a net path, absolute path or relative path\nfunction _relativeParse (relative) {\n const resultObject = {\n href: relative, // href is always what was passed through\n hash: '',\n query: '',\n netPath: false,\n absolutePath: false,\n relativePath: false\n };\n // check for protocol\n // if protocol exists, is net path (absolute URL)\n if (_isAbsolute.test(relative)) {\n resultObject.netPath = true;\n // return, in this case the relative is the resolved url, no need to parse.\n return resultObject;\n }\n\n // if / is first, this is an absolute path,\n // I.E. it overwrites the base URL's path\n if (relative[0] === '/') {\n resultObject.absolutePath = true;\n // return resultObject\n } else if (relative !== '') {\n resultObject.relativePath = true;\n }\n\n let path = relative;\n const queryIndex = relative.indexOf('?');\n const hashIndex = relative.indexOf('#');\n\n if (hashIndex !== -1) {\n const hash = path.substring(hashIndex);\n resultObject.hash = hash;\n path = path.substring(0, hashIndex);\n }\n\n if (queryIndex !== -1) {\n const query = path.substring(queryIndex);\n resultObject.query = query;\n path = path.substring(0, queryIndex);\n }\n\n resultObject.path = path; // whatever is left is path\n return resultObject;\n}\n\nfunction _shouldAddSlash (url) {\n const protocolIndex = url.indexOf('//') + 2;\n const noPath = !(url.includes('/', protocolIndex));\n const noQuery = !(url.includes('?', protocolIndex));\n const noHash = !(url.includes('#', protocolIndex));\n return (noPath && noQuery && noHash);\n}\n\nfunction _shouldAddProtocol (url) {\n return url.startsWith('//');\n}\n\n/*\n* PRECONDITION: Base is a fully qualified URL. e.g. http://example.com/\n* optional: path, query or hash\n* returns the resolved url\n*/\nfunction urlResolve (base, relative) {\n base = base.trim();\n relative = relative.trim();\n\n // about is always absolute\n if (relative.startsWith('about:')) {\n return relative;\n }\n\n const baseObj = _baseParse(base);\n const relativeObj = _relativeParse(relative);\n\n if (!baseObj.protocol && !relativeObj.netPath) {\n throw new Error('Error, protocol is not specified');\n }\n\n if (relativeObj.netPath) { // relative is full qualified URL\n if (_shouldAddProtocol(relativeObj.href)) {\n relativeObj.href = baseObj.protocol + relativeObj.href;\n }\n\n if (_shouldAddSlash(relativeObj.href)) {\n return _addSlash(relativeObj.href);\n }\n\n return relativeObj.href;\n } else if (relativeObj.absolutePath) { // relative is an absolute path\n const {path, query, hash} = relativeObj;\n\n return baseObj.host + _pathResolve(path) + query + hash;\n } else if (relativeObj.relativePath) { // relative is a relative path\n const {path, query, hash} = relativeObj;\n\n let basePath = baseObj.path;\n let resultString = baseObj.host;\n\n let resolvePath;\n\n if (path.length === 0) {\n resolvePath = basePath;\n } else {\n // remove last segment if no slash at end\n basePath = basePath.substring(0, basePath.lastIndexOf('/'));\n resolvePath = _pathResolve(basePath + '/' + path);\n }\n\n // if result is just the base host, add /\n if ((resolvePath === '') && (!query) && (!hash)) {\n resultString += '/';\n } else {\n resultString += resolvePath + query + hash;\n }\n\n return resultString;\n } else {\n const {host, path, query} = baseObj;\n // when path and query aren't supplied add slash\n if ((!path) && (!query)) {\n return _addSlash(host);\n }\n return host + path + query + relativeObj.hash;\n }\n}\n","const resolveUrl = require(\"url-resolve-browser\");\n\n\nconst isObject = (value) => typeof value === \"object\" && !Array.isArray(value) && value !== null;\nconst isType = {\n null: (value) => value === null,\n boolean: (value) => typeof value === \"boolean\",\n object: isObject,\n array: (value) => Array.isArray(value),\n number: (value) => typeof value === \"number\",\n integer: (value) => Number.isInteger(value),\n string: (value) => typeof value === \"string\"\n};\nconst jsonTypeOf = (value, type) => isType[type](value);\n\nconst splitUrl = (url) => {\n const indexOfHash = url.indexOf(\"#\");\n const ndx = indexOfHash === -1 ? url.length : indexOfHash;\n const urlReference = url.slice(0, ndx);\n const urlFragment = url.slice(ndx + 1);\n\n return [decodeURI(urlReference), decodeURI(urlFragment)];\n};\n\nconst getScheme = (url) => {\n const matches = RegExp(/^(.+):\\/\\//).exec(url);\n return matches ? matches[1] : \"\";\n};\n\nconst safeResolveUrl = (contextUrl, url) => {\n const resolvedUrl = resolveUrl(contextUrl, url);\n const contextId = splitUrl(contextUrl)[0];\n if (contextId && getScheme(resolvedUrl) === \"file\" && getScheme(contextId) !== \"file\") {\n throw Error(`Can't access file '${resolvedUrl}' resource from network context '${contextUrl}'`);\n }\n return resolvedUrl;\n};\n\nmodule.exports = { jsonTypeOf, splitUrl, safeResolveUrl };\n","const curry = require(\"just-curry-it\");\n\n\nconst nil = \"\";\n\nconst compile = (pointer) => {\n if (pointer.length > 0 && pointer[0] !== \"/\") {\n throw Error(\"Invalid JSON Pointer\");\n }\n\n return pointer.split(\"/\").slice(1).map(unescape);\n};\n\nconst get = (pointer, value = undefined) => {\n const ptr = compile(pointer);\n\n const fn = (value) => ptr.reduce(([value, pointer], segment) => {\n return [applySegment(value, segment, pointer), append(segment, pointer)];\n }, [value, \"\"])[0];\n\n return value === undefined ? fn : fn(value);\n};\n\nconst set = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _set(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _set = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return value;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n return { ...subject, [segment]: _set(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n const clonedSubject = [...subject];\n const segment = computeSegment(subject, pointer[0]);\n clonedSubject[segment] = value;\n return clonedSubject;\n } else if (typeof subject === \"object\" && subject !== null) {\n return { ...subject, [pointer[0]]: value };\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst assign = (pointer, subject = undefined, value = undefined) => {\n const ptr = compile(pointer);\n const fn = curry((subject, value) => _assign(ptr, subject, value, nil));\n return subject === undefined ? fn : fn(subject, value);\n};\n\nconst _assign = (pointer, subject, value, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length === 1 && !isScalar(subject)) {\n const segment = computeSegment(subject, pointer[0]);\n subject[segment] = value;\n } else {\n const segment = pointer.shift();\n _assign(pointer, applySegment(subject, segment, cursor), value, append(segment, cursor));\n }\n};\n\nconst unset = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _unset(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _unset = (pointer, subject, cursor) => {\n if (pointer.length == 0) {\n return undefined;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n return { ...subject, [segment]: _unset(pointer, value, append(segment, cursor)) };\n } else if (Array.isArray(subject)) {\n return subject.filter((_, ndx) => ndx != pointer[0]);\n } else if (typeof subject === \"object\" && subject !== null) {\n // eslint-disable-next-line no-unused-vars\n const { [pointer[0]]: _, ...result } = subject;\n return result;\n } else {\n return applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst remove = (pointer, subject = undefined) => {\n const ptr = compile(pointer);\n const fn = (subject) => _remove(ptr, subject, nil);\n return subject === undefined ? fn : fn(subject);\n};\n\nconst _remove = (pointer, subject, cursor) => {\n if (pointer.length === 0) {\n return;\n } else if (pointer.length > 1) {\n const segment = pointer.shift();\n const value = applySegment(subject, segment, cursor);\n _remove(pointer, value, append(segment, cursor));\n } else if (Array.isArray(subject)) {\n subject.splice(pointer[0], 1);\n } else if (typeof subject === \"object\" && subject !== null) {\n delete subject[pointer[0]];\n } else {\n applySegment(subject, pointer[0], cursor);\n }\n};\n\nconst append = curry((segment, pointer) => pointer + \"/\" + escape(segment));\n\nconst escape = (segment) => segment.toString().replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\nconst unescape = (segment) => segment.toString().replace(/~1/g, \"/\").replace(/~0/g, \"~\");\nconst computeSegment = (value, segment) => Array.isArray(value) && segment === \"-\" ? value.length : segment;\n\nconst applySegment = (value, segment, cursor = \"\") => {\n if (value === undefined) {\n throw TypeError(`Value at '${cursor}' is undefined and does not have property '${segment}'`);\n } else if (value === null) {\n throw TypeError(`Value at '${cursor}' is null and does not have property '${segment}'`);\n } else if (isScalar(value)) {\n throw TypeError(`Value at '${cursor}' is a ${typeof value} and does not have property '${segment}'`);\n } else {\n const computedSegment = computeSegment(value, segment);\n return value[computedSegment];\n }\n};\n\nconst isScalar = (value) => value === null || typeof value !== \"object\";\n\nmodule.exports = { nil, append, get, set, assign, unset, remove };\n","const $__value = Symbol(\"$__value\");\nconst $__href = Symbol(\"$__href\");\n\nconst cons = (href, value) => Object.freeze({\n [$__href]: href,\n [$__value]: value\n});\n\nconst isReference = (ref) => ref && ref[$__href] !== undefined;\nconst href = (ref) => ref[$__href];\nconst value = (ref) => ref[$__value];\n\nmodule.exports = { cons, isReference, href, value };\n","const JsonPointer = require(\"@hyperjump/json-pointer\");\nconst curry = require(\"just-curry-it\");\nconst { jsonTypeOf } = require(\"./common\");\nconst Reference = require(\"./reference\");\n\n\nconst nil = Object.freeze({ id: \"\", pointer: \"\", instance: undefined, value: undefined });\nconst cons = (instance, id = \"\") => Object.freeze({ ...nil, id, instance, value: instance });\nconst uri = (doc) => `${doc.id}#${encodeURI(doc.pointer)}`;\nconst value = (doc) => Reference.isReference(doc.value) ? Reference.value(doc.value) : doc.value;\nconst has = (key, doc) => key in value(doc);\nconst typeOf = curry((doc, type) => jsonTypeOf(value(doc), type));\n\nconst step = (key, doc) => Object.freeze({\n ...doc,\n pointer: JsonPointer.append(key, doc.pointer),\n value: value(doc)[key]\n});\n\nconst entries = (doc) => Object.keys(value(doc))\n .map((key) => [key, step(key, doc)]);\n\nconst keys = (doc) => Object.keys(value(doc));\n\nconst map = curry((fn, doc) => value(doc)\n .map((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst filter = curry((fn, doc) => value(doc)\n .map((item, ndx, array, thisArg) => step(ndx, doc, array, thisArg))\n .filter((item, ndx, array, thisArg) => fn(item, ndx, array, thisArg)));\n\nconst reduce = curry((fn, acc, doc) => value(doc)\n .reduce((acc, item, ndx) => fn(acc, step(ndx, doc), ndx), acc));\n\nconst every = curry((fn, doc) => value(doc)\n .every((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst some = curry((fn, doc) => value(doc)\n .some((item, ndx, array, thisArg) => fn(step(ndx, doc), ndx, array, thisArg)));\n\nconst length = (doc) => value(doc).length;\n\nmodule.exports = { nil, cons, uri, value, has, typeOf, step, entries, keys, map, filter, reduce, every, some, length };\n","/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * RegExp to match *( \";\" parameter ) in RFC 7231 sec 3.1.1.1\n *\n * parameter = token \"=\" ( token / quoted-string )\n * token = 1*tchar\n * tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\"\n * / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\n * / DIGIT / ALPHA\n * ; any VCHAR, except delimiters\n * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE\n * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text\n * obs-text = %x80-FF\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n */\nvar PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *(\"(?:[\\u000b\\u0020\\u0021\\u0023-\\u005b\\u005d-\\u007e\\u0080-\\u00ff]|\\\\[\\u000b\\u0020-\\u00ff])*\"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g\nvar TEXT_REGEXP = /^[\\u000b\\u0020-\\u007e\\u0080-\\u00ff]+$/\nvar TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * RegExp to match quoted-pair in RFC 7230 sec 3.2.6\n *\n * quoted-pair = \"\\\" ( HTAB / SP / VCHAR / obs-text )\n * obs-text = %x80-FF\n */\nvar QESC_REGEXP = /\\\\([\\u000b\\u0020-\\u00ff])/g\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6\n */\nvar QUOTE_REGEXP = /([\\\\\"])/g\n\n/**\n * RegExp to match type in RFC 7231 sec 3.1.1.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nvar TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/\n\n/**\n * Module exports.\n * @public\n */\n\nexports.format = format\nexports.parse = parse\n\n/**\n * Format object to media type.\n *\n * @param {object} obj\n * @return {string}\n * @public\n */\n\nfunction format (obj) {\n if (!obj || typeof obj !== 'object') {\n throw new TypeError('argument obj is required')\n }\n\n var parameters = obj.parameters\n var type = obj.type\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid type')\n }\n\n var string = type\n\n // append parameters\n if (parameters && typeof parameters === 'object') {\n var param\n var params = Object.keys(parameters).sort()\n\n for (var i = 0; i < params.length; i++) {\n param = params[i]\n\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError('invalid parameter name')\n }\n\n string += '; ' + param + '=' + qstring(parameters[param])\n }\n }\n\n return string\n}\n\n/**\n * Parse media type to object.\n *\n * @param {string|object} string\n * @return {Object}\n * @public\n */\n\nfunction parse (string) {\n if (!string) {\n throw new TypeError('argument string is required')\n }\n\n // support req/res-like objects as argument\n var header = typeof string === 'object'\n ? getcontenttype(string)\n : string\n\n if (typeof header !== 'string') {\n throw new TypeError('argument string is required to be a string')\n }\n\n var index = header.indexOf(';')\n var type = index !== -1\n ? header.substr(0, index).trim()\n : header.trim()\n\n if (!TYPE_REGEXP.test(type)) {\n throw new TypeError('invalid media type')\n }\n\n var obj = new ContentType(type.toLowerCase())\n\n // parse parameters\n if (index !== -1) {\n var key\n var match\n var value\n\n PARAM_REGEXP.lastIndex = index\n\n while ((match = PARAM_REGEXP.exec(header))) {\n if (match.index !== index) {\n throw new TypeError('invalid parameter format')\n }\n\n index += match[0].length\n key = match[1].toLowerCase()\n value = match[2]\n\n if (value[0] === '\"') {\n // remove quotes and escapes\n value = value\n .substr(1, value.length - 2)\n .replace(QESC_REGEXP, '$1')\n }\n\n obj.parameters[key] = value\n }\n\n if (index !== header.length) {\n throw new TypeError('invalid parameter format')\n }\n }\n\n return obj\n}\n\n/**\n * Get content-type from req/res objects.\n *\n * @param {object}\n * @return {Object}\n * @private\n */\n\nfunction getcontenttype (obj) {\n var header\n\n if (typeof obj.getHeader === 'function') {\n // res-like\n header = obj.getHeader('content-type')\n } else if (typeof obj.headers === 'object') {\n // req-like\n header = obj.headers && obj.headers['content-type']\n }\n\n if (typeof header !== 'string') {\n throw new TypeError('content-type header is missing from object')\n }\n\n return header\n}\n\n/**\n * Quote a string if necessary.\n *\n * @param {string} val\n * @return {string}\n * @private\n */\n\nfunction qstring (val) {\n var str = String(val)\n\n // no need to quote tokens\n if (TOKEN_REGEXP.test(str)) {\n return str\n }\n\n if (str.length > 0 && !TEXT_REGEXP.test(str)) {\n throw new TypeError('invalid parameter value')\n }\n\n return '\"' + str.replace(QUOTE_REGEXP, '\\\\$1') + '\"'\n}\n\n/**\n * Class to represent a content type.\n * @private\n */\nfunction ContentType (type) {\n this.parameters = Object.create(null)\n this.type = type\n}\n","module.exports = async (doc) => Object.entries(await doc);\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry(async (fn, doc) => (await doc).map(fn));\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry(async (fn, acc, doc) => {\n return (await doc).reduce(async (acc, item) => fn(await acc, item), acc);\n});\n","const curry = require(\"just-curry-it\");\nconst reduce = require(\"./reduce\");\n\n\nmodule.exports = curry(async (fn, doc, options = {}) => {\n return reduce(async (acc, item) => {\n return (await fn(item)) ? acc.concat([item]) : acc;\n }, [], doc, options);\n});\n","const curry = require(\"just-curry-it\");\nconst map = require(\"./map\");\n\n\nmodule.exports = curry(async (fn, doc) => {\n const results = await map(fn, doc);\n return (await Promise.all(results))\n .some((a) => a);\n});\n","const curry = require(\"just-curry-it\");\nconst map = require(\"./map\");\n\n\nmodule.exports = curry(async (fn, doc) => {\n const results = await map(fn, doc);\n return (await Promise.all(results))\n .every((a) => a);\n});\n","const curry = require(\"just-curry-it\");\n\n\nmodule.exports = curry((fns, doc) => {\n return fns.reduce(async (acc, fn) => fn(await acc), doc);\n});\n","module.exports = {\n entries: require(\"./entries\"),\n map: require(\"./map\"),\n filter: require(\"./filter\"),\n reduce: require(\"./reduce\"),\n some: require(\"./some\"),\n every: require(\"./every\"),\n pipeline: require(\"./pipeline\"),\n all: require(\"./all\"),\n allValues: require(\"./allValues\")\n};\n","module.exports = (doc) => Promise.all(doc);\n","const pipeline = require(\"./pipeline\");\nconst entries = require(\"./entries\");\nconst reduce = require(\"./reduce\");\n\n\nmodule.exports = (doc) => {\n return pipeline([\n entries,\n reduce(async (acc, [propertyName, propertyValue]) => {\n acc[propertyName] = await propertyValue;\n return acc;\n }, {})\n ], doc);\n};\n","module.exports = fetch;\n","const contentTypeParser = require(\"content-type\");\nconst curry = require(\"just-curry-it\");\nconst Pact = require(\"@hyperjump/pact\");\nconst JsonPointer = require(\"@hyperjump/json-pointer\");\nconst { jsonTypeOf, splitUrl, safeResolveUrl } = require(\"./common\");\nconst fetch = require(\"./fetch\");\nconst Reference = require(\"./reference\");\n\n\n// Config\nconst config = {};\nconst configAlias = {};\n\nconst setConfig = (schemaVersion, key, value) => {\n if (!config[schemaVersion]) {\n config[schemaVersion] = {};\n }\n config[schemaVersion][key] = value;\n};\n\nconst getConfig = (schemaVersion, key) => {\n const configVersion = schemaVersion in configAlias ? configAlias[schemaVersion] : schemaVersion;\n if (configVersion in config) {\n return config[configVersion][key];\n }\n};\n\n// Schema Management\nconst schemaStore = {};\nconst schemaStoreAlias = {};\n\nconst add = (schema, url = \"\", defaultSchemaVersion = \"\") => {\n schema = JSON.parse(JSON.stringify(schema));\n\n // Schema Version\n const schemaVersion = splitUrl(schema[\"$schema\"] || defaultSchemaVersion)[0];\n if (!schemaVersion) {\n throw Error(\"Couldn't determine schema version\");\n }\n delete schema[\"$schema\"];\n\n // Identifier\n const baseToken = getConfig(schemaVersion, \"baseToken\");\n const anchorToken = getConfig(schemaVersion, \"anchorToken\");\n const externalId = splitUrl(url)[0];\n if (!externalId && !splitUrl(schema[baseToken] || \"\")[0]) {\n throw Error(\"Couldn't determine an identifier for the schema\");\n }\n const internalUrl = safeResolveUrl(externalId, schema[baseToken] || \"\");\n const [id, fragment] = splitUrl(internalUrl);\n delete schema[baseToken];\n if (fragment && baseToken === anchorToken) {\n schema[anchorToken] = anchorToken !== baseToken ? encodeURI(fragment) : `#${encodeURI(fragment)}`;\n }\n if (externalId) {\n schemaStoreAlias[externalId] = id;\n }\n\n // recursiveAnchor\n const dynamicAnchors = {};\n const recursiveAnchorToken = getConfig(schemaVersion, \"recursiveAnchorToken\");\n if (schema[recursiveAnchorToken] === true) {\n dynamicAnchors[\"\"] = `${id}#`;\n schema[anchorToken] = \"\";\n delete schema[recursiveAnchorToken];\n }\n\n // Vocabulary\n let vocabulary;\n const vocabularyToken = getConfig(schemaVersion, \"vocabularyToken\");\n if (jsonTypeOf(schema[vocabularyToken], \"object\")) {\n configAlias[id] = schemaVersion;\n vocabulary = schema[vocabularyToken];\n delete schema[vocabularyToken];\n } else {\n configAlias[id] = schemaVersion;\n vocabulary = { [schemaVersion]: true };\n }\n\n // Store Schema\n const anchors = { \"\": \"\" };\n schemaStore[id] = {\n id: id,\n schemaVersion: schemaVersion,\n schema: processSchema(schema, id, schemaVersion, JsonPointer.nil, anchors, dynamicAnchors),\n anchors: anchors,\n dynamicAnchors: dynamicAnchors,\n vocabulary: vocabulary,\n validated: false\n };\n\n return schemaStore[id];\n};\n\nconst processSchema = (subject, id, schemaVersion, pointer, anchors, dynamicAnchors) => {\n if (jsonTypeOf(subject, \"object\")) {\n const embeddedSchemaVersion = typeof subject[\"$schema\"] === \"string\" ? splitUrl(subject[\"$schema\"])[0] : schemaVersion;\n const embeddedEmbeddedToken = getConfig(embeddedSchemaVersion, \"embeddedToken\");\n const embeddedAnchorToken = getConfig(embeddedSchemaVersion, \"anchorToken\");\n if (typeof subject[embeddedEmbeddedToken] === \"string\" && (embeddedEmbeddedToken !== embeddedAnchorToken || subject[embeddedEmbeddedToken][0] !== \"#\")) {\n const ref = safeResolveUrl(id, subject[embeddedEmbeddedToken]);\n subject[embeddedEmbeddedToken] = ref;\n add(subject, ref, schemaVersion);\n return Reference.cons(subject[embeddedEmbeddedToken], subject);\n }\n\n const anchorToken = getConfig(schemaVersion, \"anchorToken\");\n const dynamicAnchorToken = getConfig(schemaVersion, \"dynamicAnchorToken\");\n if (typeof subject[dynamicAnchorToken] === \"string\") {\n dynamicAnchors[subject[dynamicAnchorToken]] = `${id}#${encodeURI(pointer)}`;\n anchors[subject[dynamicAnchorToken]] = pointer;\n delete subject[dynamicAnchorToken];\n }\n\n const embeddedToken = getConfig(schemaVersion, \"embeddedToken\");\n if (typeof subject[anchorToken] === \"string\") {\n const anchor = anchorToken !== embeddedToken ? subject[anchorToken] : subject[anchorToken].slice(1);\n anchors[anchor] = pointer;\n delete subject[anchorToken];\n }\n\n const jrefToken = getConfig(schemaVersion, \"jrefToken\");\n if (typeof subject[jrefToken] === \"string\") {\n return Reference.cons(subject[jrefToken], subject);\n }\n\n for (const key in subject) {\n subject[key] = processSchema(subject[key], id, schemaVersion, JsonPointer.append(key, pointer), anchors, dynamicAnchors);\n }\n\n return subject;\n } else if (Array.isArray(subject)) {\n return subject.map((item, ndx) => processSchema(item, id, schemaVersion, JsonPointer.append(ndx, pointer), anchors, dynamicAnchors));\n } else {\n return subject;\n }\n};\n\nconst hasStoredSchema = (id) => id in schemaStore || id in schemaStoreAlias;\nconst getStoredSchema = (id) => schemaStore[schemaStoreAlias[id]] || schemaStore[id];\n\nconst markValidated = (id) => {\n schemaStore[id].validated = true;\n};\n\n// Schema Retrieval\nconst nil = Object.freeze({\n id: \"\",\n schemaVersion: undefined,\n vocabulary: {},\n pointer: JsonPointer.nil,\n schema: undefined,\n value: undefined,\n anchors: {},\n dynamicAnchors: {},\n validated: true\n});\n\nconst get = async (url, contextDoc = nil) => {\n const resolvedUrl = safeResolveUrl(uri(contextDoc), url);\n const [id, fragment] = splitUrl(resolvedUrl);\n\n if (!hasStoredSchema(id)) {\n const response = await fetch(id, { headers: { Accept: \"application/schema+json\" } });\n if (response.status >= 400) {\n await response.text(); // Sometimes node hangs without this hack\n throw Error(`Failed to retrieve schema with id: ${id}`);\n }\n\n if (response.headers.has(\"content-type\")) {\n const contentType = contentTypeParser.parse(response.headers.get(\"content-type\")).type;\n if (contentType !== \"application/schema+json\") {\n throw Error(`${id} is not a schema. Found a document with media type: ${contentType}`);\n }\n }\n\n add(await response.json(), id);\n }\n\n const storedSchema = getStoredSchema(id);\n const pointer = fragment[0] !== \"/\" ? getAnchorPointer(storedSchema, fragment) : fragment;\n const doc = Object.freeze({\n ...storedSchema,\n pointer: pointer,\n value: JsonPointer.get(pointer, storedSchema.schema)\n });\n\n return followReferences(doc);\n};\n\nconst followReferences = (doc) => Reference.isReference(doc.value) ? get(Reference.href(doc.value), doc) : doc;\n\nconst getAnchorPointer = (schema, fragment) => {\n if (!(fragment in schema.anchors)) {\n throw Error(`No such anchor '${encodeURI(schema.id)}#${encodeURI(fragment)}'`);\n }\n\n return schema.anchors[fragment];\n};\n\n// Utility Functions\nconst uri = (doc) => `${doc.id}#${encodeURI(doc.pointer)}`;\nconst value = (doc) => Reference.isReference(doc.value) ? Reference.value(doc.value) : doc.value;\nconst has = (key, doc) => key in value(doc);\nconst typeOf = (doc, type) => jsonTypeOf(value(doc), type);\n\nconst step = (key, doc) => {\n const storedSchema = getStoredSchema(doc.id);\n const nextDoc = Object.freeze({\n ...doc,\n pointer: JsonPointer.append(key, doc.pointer),\n value: value(doc)[key],\n validated: storedSchema.validated\n });\n return followReferences(nextDoc);\n};\n\nconst keys = (doc) => Object.keys(value(doc));\n\nconst entries = (doc) => Pact.pipeline([\n value,\n Object.keys,\n Pact.map(async (key) => [key, await step(key, doc)]),\n Pact.all\n], doc);\n\nconst map = curry((fn, doc) => Pact.pipeline([\n value,\n Pact.map(async (item, ndx) => fn(await step(ndx, doc), ndx)),\n Pact.all\n], doc));\n\nconst length = (doc) => value(doc).length;\n\nmodule.exports = {\n setConfig, getConfig,\n add, get, markValidated,\n uri, value, getAnchorPointer, typeOf, has, step, keys, entries, map, length\n};\n","class InvalidSchemaError extends Error {\n constructor(output) {\n super(\"Invalid Schema\");\n this.name = this.constructor.name;\n this.output = output;\n }\n}\n\nmodule.exports = InvalidSchemaError;\n","const curry = require(\"just-curry-it\");\nconst PubSub = require(\"pubsub-js\");\nconst { splitUrl } = require(\"./common\");\nconst Instance = require(\"./instance\");\nconst Schema = require(\"./schema\");\nconst InvalidSchemaError = require(\"./invalid-schema-error\");\n\n\nconst FLAG = \"FLAG\", BASIC = \"BASIC\", DETAILED = \"DETAILED\", VERBOSE = \"VERBOSE\";\n\nlet metaOutputFormat = DETAILED;\nlet shouldMetaValidate = true;\n\nconst validate = async (schema, value = undefined, outputFormat = undefined) => {\n const compiled = await compile(schema);\n const interpretAst = (value, outputFormat) => interpret(compiled, Instance.cons(value), outputFormat);\n\n return value === undefined ? interpretAst : interpretAst(value, outputFormat);\n};\n\nconst compile = async (schema) => {\n const ast = { metaData: {} };\n const schemaUri = await compileSchema(schema, ast);\n return { ast, schemaUri };\n};\n\nconst interpret = curry(({ ast, schemaUri }, value, outputFormat = FLAG) => {\n if (![FLAG, BASIC, DETAILED, VERBOSE].includes(outputFormat)) {\n throw Error(`The '${outputFormat}' error format is not supported`);\n }\n\n const output = [];\n const subscriptionToken = PubSub.subscribe(\"result\", outputHandler(outputFormat, output));\n interpretSchema(schemaUri, value, ast, {});\n PubSub.unsubscribe(subscriptionToken);\n\n return output[0];\n});\n\nconst outputHandler = (outputFormat, output) => {\n const resultStack = [];\n\n return (message, keywordResult) => {\n if (message === \"result\") {\n const { keyword, absoluteKeywordLocation, instanceLocation, valid } = keywordResult;\n const result = { keyword, absoluteKeywordLocation, instanceLocation, valid, errors: [] };\n resultStack.push(result);\n } else if (message === \"result.start\") {\n resultStack.push(message);\n } else if (message === \"result.end\") {\n const result = resultStack.pop();\n while (resultStack[resultStack.length - 1] !== \"result.start\") {\n const topResult = resultStack.pop();\n\n const errors = [topResult];\n if (outputFormat === BASIC) {\n errors.push(...topResult.errors);\n delete topResult.errors;\n }\n\n if (outputFormat === VERBOSE || (outputFormat !== FLAG && !topResult.valid)) {\n result.errors.unshift(...errors);\n }\n }\n resultStack[resultStack.length - 1] = result;\n\n output[0] = result;\n }\n };\n};\n\nconst setMetaOutputFormat = (format) => {\n metaOutputFormat = format;\n};\n\nconst setShouldMetaValidate = (isEnabled) => {\n shouldMetaValidate = isEnabled;\n};\n\nconst _keywords = {};\nconst getKeyword = (id) => _keywords[id];\nconst hasKeyword = (id) => id in _keywords;\nconst addKeyword = (id, keywordHandler) => {\n _keywords[id] = {\n collectEvaluatedItems: (keywordValue, instance, ast, dynamicAnchors, isTop) => keywordHandler.interpret(keywordValue, instance, ast, dynamicAnchors, isTop) && new Set(),\n collectEvaluatedProperties: (keywordValue, instance, ast, dynamicAnchors, isTop) => keywordHandler.interpret(keywordValue, instance, ast, dynamicAnchors, isTop) && [],\n ...keywordHandler\n };\n};\n\nconst _vocabularies = {};\nconst defineVocabulary = (id, keywords) => {\n _vocabularies[id] = keywords;\n};\n\nconst metaValidators = {};\nconst compileSchema = async (schema, ast) => {\n schema = await followReferences(schema);\n\n // Vocabularies\n if (!hasKeyword(`${schema.schemaVersion}#validate`)) {\n const metaSchema = await Schema.get(schema.schemaVersion);\n\n // Check for mandatory vocabularies\n const mandatoryVocabularies = Schema.getConfig(metaSchema.id, \"mandatoryVocabularies\") || [];\n mandatoryVocabularies.forEach((vocabularyId) => {\n if (!metaSchema.vocabulary[vocabularyId]) {\n throw Error(`Vocabulary '${vocabularyId}' must be explicitly declared and required`);\n }\n });\n\n // Load vocabularies\n Object.entries(metaSchema.vocabulary)\n .forEach(([vocabularyId, isRequired]) => {\n if (vocabularyId in _vocabularies) {\n Object.entries(_vocabularies[vocabularyId])\n .forEach(([keyword, keywordHandler]) => {\n addKeyword(`${metaSchema.id}#${keyword}`, keywordHandler);\n });\n } else if (isRequired) {\n throw Error(`Missing required vocabulary: ${vocabularyId}`);\n }\n });\n }\n\n // Meta validation\n if (shouldMetaValidate && !schema.validated) {\n Schema.markValidated(schema.id);\n\n // Compile\n if (!(schema.schemaVersion in metaValidators)) {\n const metaSchema = await Schema.get(schema.schemaVersion);\n const compiledSchema = await compile(metaSchema);\n metaValidators[metaSchema.id] = interpret(compiledSchema);\n }\n\n // Interpret\n const schemaInstance = Instance.cons(schema.schema, schema.id);\n const metaResults = metaValidators[schema.schemaVersion](schemaInstance, metaOutputFormat);\n if (!metaResults.valid) {\n throw new InvalidSchemaError(metaResults);\n }\n }\n\n // Compile\n if (!(schema.id in ast.metaData)) {\n ast.metaData[schema.id] = {\n id: schema.id,\n dynamicAnchors: schema.dynamicAnchors,\n anchors: schema.anchors\n };\n }\n return getKeyword(`${schema.schemaVersion}#validate`).compile(schema, ast);\n};\n\nconst followReferences = async (doc) => {\n return Schema.typeOf(doc, \"string\") ? followReferences(await Schema.get(Schema.value(doc), doc)) : doc;\n};\n\nconst interpretSchema = (schemaUri, instance, ast, dynamicAnchors) => {\n const keywordId = getKeywordId(schemaUri, ast);\n const id = splitUrl(schemaUri)[0];\n return getKeyword(keywordId).interpret(schemaUri, instance, ast, { ...ast.metaData[id].dynamicAnchors, ...dynamicAnchors });\n};\n\nconst collectEvaluatedProperties = (schemaUri, instance, ast, dynamicAnchors, isTop) => {\n const keywordId = getKeywordId(schemaUri, ast);\n return getKeyword(keywordId).collectEvaluatedProperties(schemaUri, instance, ast, dynamicAnchors, isTop);\n};\n\nconst collectEvaluatedItems = (schemaUri, instance, ast, dynamicAnchors, isTop) => {\n const keywordId = getKeywordId(schemaUri, ast);\n return getKeyword(keywordId).collectEvaluatedItems(schemaUri, instance, ast, dynamicAnchors, isTop);\n};\n\nconst getKeywordId = (schemaUri, ast) => {\n if (!(schemaUri in ast)) {\n throw Error(`No schema found at ${schemaUri}`);\n }\n\n return ast[schemaUri][0];\n};\n\nconst add = (schema, url = \"\", defaultSchemaVersion = \"\") => {\n const doc = Schema.add(schema, url, defaultSchemaVersion);\n delete metaValidators[doc.id];\n\n return doc;\n};\n\nmodule.exports = {\n validate, compile, interpret,\n setMetaOutputFormat, setShouldMetaValidate, FLAG, BASIC, DETAILED, VERBOSE,\n add, getKeyword, hasKeyword, defineVocabulary,\n compileSchema, interpretSchema, collectEvaluatedProperties, collectEvaluatedItems\n};\n","const Schema = require(\"../schema\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = () => true;\n\nmodule.exports = { compile, interpret };\n","const Pact = require(\"@hyperjump/pact\");\nconst PubSub = require(\"pubsub-js\");\nconst Core = require(\"../core\");\nconst Instance = require(\"../instance\");\nconst Schema = require(\"../schema\");\n\n\nconst compile = async (schema, ast) => {\n const url = Schema.uri(schema);\n if (!(url in ast)) {\n ast[url] = false; // Place dummy entry in ast to avoid recursive loops\n\n const schemaValue = Schema.value(schema);\n if (![\"object\", \"boolean\"].includes(typeof schemaValue)) {\n throw Error(`No schema found at '${Schema.uri(schema)}'`);\n }\n\n ast[url] = [\n `${schema.schemaVersion}#validate`,\n Schema.uri(schema),\n typeof schemaValue === \"boolean\" ? schemaValue : await Pact.pipeline([\n Schema.entries,\n Pact.map(([keyword, keywordSchema]) => [`${schema.schemaVersion}#${keyword}`, keywordSchema]),\n Pact.filter(([keywordId]) => Core.hasKeyword(keywordId) && keywordId !== `${schema.schemaVersion}#validate`),\n Pact.map(async ([keywordId, keywordSchema]) => {\n const keywordAst = await Core.getKeyword(keywordId).compile(keywordSchema, ast, schema);\n return [keywordId, Schema.uri(keywordSchema), keywordAst];\n }),\n Pact.all\n ], schema)\n ];\n }\n\n return url;\n};\n\nconst interpret = (uri, instance, ast, dynamicAnchors) => {\n const [keywordId, schemaUrl, nodes] = ast[uri];\n\n PubSub.publishSync(\"result.start\");\n const isValid = typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, schemaUrl, keywordValue]) => {\n PubSub.publishSync(\"result.start\");\n const isValid = Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n\n PubSub.publishSync(\"result\", {\n keyword: keywordId,\n absoluteKeywordLocation: schemaUrl,\n instanceLocation: Instance.uri(instance),\n valid: isValid,\n ast: keywordValue\n });\n PubSub.publishSync(\"result.end\");\n return isValid;\n });\n\n PubSub.publishSync(\"result\", {\n keyword: keywordId,\n absoluteKeywordLocation: schemaUrl,\n instanceLocation: Instance.uri(instance),\n valid: isValid,\n ast: uri\n });\n PubSub.publishSync(\"result.end\");\n return isValid;\n};\n\nconst collectEvaluatedProperties = (uri, instance, ast, dynamicAnchors, isTop = false) => {\n const nodes = ast[uri][2];\n\n if (typeof nodes === \"boolean\") {\n return nodes ? [] : false;\n }\n\n return nodes\n .filter(([keywordId]) => !isTop || !keywordId.endsWith(\"#unevaluatedProperties\"))\n .reduce((acc, [keywordId, , keywordValue]) => {\n const propertyNames = acc && Core.getKeyword(keywordId).collectEvaluatedProperties(keywordValue, instance, ast, dynamicAnchors);\n return propertyNames !== false && [...acc, ...propertyNames];\n }, []);\n};\n\nconst collectEvaluatedItems = (uri, instance, ast, dynamicAnchors, isTop = false) => {\n const nodes = ast[uri][2];\n\n if (typeof nodes === \"boolean\") {\n return nodes ? new Set() : false;\n }\n\n return nodes\n .filter(([keywordId]) => !isTop || !keywordId.endsWith(\"#unevaluatedItems\"))\n .reduce((acc, [keywordId, , keywordValue]) => {\n const itemIndexes = acc !== false && Core.getKeyword(keywordId).collectEvaluatedItems(keywordValue, instance, ast, dynamicAnchors);\n return itemIndexes !== false && new Set([...acc, ...itemIndexes]);\n }, new Set());\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const metaData = require(\"./meta-data\");\nconst validate = require(\"./validate\");\n\n\nmodule.exports = { metaData, validate };\n","const Core = require(\"./core\");\nconst Schema = require(\"./schema\");\nconst Instance = require(\"./instance\");\nconst Keywords = require(\"./keywords\");\n\n\nmodule.exports = { Core, Schema, Instance, Keywords };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"items\", parentSchema);\n const numberOfItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : Number.MAX_SAFE_INTEGER;\n\n if (Schema.typeOf(schema, \"boolean\")) {\n return [numberOfItems, Schema.value(schema)];\n } else {\n return [numberOfItems, await Core.compileSchema(schema, ast)];\n }\n};\n\nconst interpret = ([numberOfItems, additionalItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n if (typeof additionalItems === \"string\") {\n return Instance.every((item, ndx) => ndx < numberOfItems || Core.interpretSchema(additionalItems, item, ast, dynamicAnchors), instance);\n } else {\n return Instance.every((item, ndx) => ndx < numberOfItems ? true : additionalItems, instance);\n }\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"items\", parentSchema);\n const numberOfItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : Number.MAX_SAFE_INTEGER;\n\n return [numberOfItems, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([numberOfItems, additionalItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => ndx < numberOfItems || Core.interpretSchema(additionalItems, item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const properties = await Schema.step(\"properties\", parentSchema);\n const propertyNames = Schema.typeOf(properties, \"object\") ? Schema.keys(properties) : [];\n\n const patternProperties = await Schema.step(\"patternProperties\", parentSchema);\n const propertyNamePatterns = Schema.typeOf(patternProperties, \"object\") ? Schema.keys(patternProperties).map((pattern) => new RegExp(pattern)) : [];\n\n if (Schema.typeOf(schema, \"boolean\")) {\n return [propertyNames, propertyNamePatterns, Schema.value(schema)];\n } else {\n return [propertyNames, propertyNamePatterns, await Core.compileSchema(schema, ast)];\n }\n};\n\nconst interpret = ([propertyNames, propertyNamePatterns, additionalProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n const properties = Instance.entries(instance)\n .filter(([propertyName]) => !propertyNames.includes(propertyName) && !propertyNamePatterns.some((pattern) => pattern.test(propertyName)));\n\n if (typeof additionalProperties === \"string\") {\n return properties.every(([, property]) => Core.interpretSchema(additionalProperties, property, ast, dynamicAnchors));\n } else {\n return properties.length === 0 || additionalProperties;\n }\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const propertiesSchema = await Schema.step(\"properties\", parentSchema);\n const propertyNames = Schema.typeOf(propertiesSchema, \"object\") ? Schema.keys(propertiesSchema) : [];\n\n const patternProperties = await Schema.step(\"patternProperties\", parentSchema);\n const propertyNamePatterns = Schema.typeOf(patternProperties, \"object\") ? Schema.keys(patternProperties).map((pattern) => new RegExp(pattern)) : [];\n\n return [propertyNames, propertyNamePatterns, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([propertyNames, propertyNamePatterns, additionalProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n return Instance.entries(instance)\n .filter(([propertyName]) => !propertyNames.includes(propertyName) && !propertyNamePatterns.some((pattern) => pattern.test(propertyName)))\n .every(([, property]) => Core.interpretSchema(additionalProperties, property, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && [new RegExp(\"\")];\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.map(async (itemSchema) => Core.compileSchema(await itemSchema, ast)),\n Pact.all\n], schema);\n\nconst interpret = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.every((schemaUrl) => Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.reduce((acc, schemaUrl) => {\n const propertyNames = acc && Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames !== false && [...acc, ...propertyNames];\n }, []);\n};\n\nconst collectEvaluatedItems = (allOf, instance, ast, dynamicAnchors) => {\n return allOf.reduce((acc, schemaUrl) => {\n const itemIndexes = acc !== false && Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes !== false && new Set([...acc, ...itemIndexes]);\n }, new Set());\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.map(async (itemSchema) => Core.compileSchema(await itemSchema, ast)),\n Pact.all\n], schema);\n\nconst interpret = (anyOf, instance, ast, dynamicAnchors) => {\n const matches = anyOf.filter((schemaUrl) => Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors));\n return matches.length > 0;\n};\n\nconst collectEvaluatedProperties = (anyOf, instance, ast, dynamicAnchors) => {\n return anyOf.reduce((acc, schemaUrl) => {\n const propertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames !== false ? [...acc || [], ...propertyNames] : acc;\n }, false);\n};\n\nconst collectEvaluatedItems = (anyOf, instance, ast, dynamicAnchors) => {\n return anyOf.reduce((acc, schemaUrl) => {\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes !== false ? new Set([...acc || [], ...itemIndexes]) : acc;\n }, false);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","'use strict';\n\nvar keyList = Object.keys;\nvar native_stringify = JSON.stringify;\n\nfunction stringify(val, allowUndefined) {\n var i, max, str, keys, key, propVal, tipeof;\n\n tipeof = typeof val;\n\n if (tipeof === 'string') return native_stringify(val);\n if (val === true) return 'true';\n if (val === false) return 'false';\n if (val === null) return 'null';\n\n if (val instanceof Array) {\n str = '[';\n max = val.length - 1;\n for(i = 0; i < max; i++)\n str += stringify(val[i], false) + ',';\n if (max > -1) {\n str += stringify(val[i], false);\n }\n\n return str + ']';\n }\n\n if (val instanceof Object) {\n if (typeof val.toJSON === 'function')\n return stringify(val.toJSON(), allowUndefined);\n\n // only object is left\n keys = keyList(val).sort();\n max = keys.length;\n str = '';\n i = 0;\n while (i < max) {\n key = keys[i];\n propVal = stringify(val[key], true);\n if (propVal !== undefined) {\n if (i && str !== '') { //if the string is empty, don't add comma to avoid the json to become invalid.\n str += ',';\n }\n str += native_stringify(key) + ':' + propVal;\n }\n i++;\n }\n return '{' + str + '}';\n }\n\n switch (tipeof) {\n case 'function':\n case 'undefined':\n return allowUndefined ? undefined : null;\n default:\n return isFinite(val) ? val : null;\n }\n}\n\nmodule.exports = function(obj) { return '' + stringify(obj, false); };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => jsonStringify(Schema.value(schema));\nconst interpret = (const_, instance) => jsonStringify(Instance.value(instance)) === const_;\n\nmodule.exports = { compile, interpret };\n","const { Core, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (contains, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"array\") || Instance.some((item) => Core.interpretSchema(contains, item, ast, dynamicAnchors), instance);\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const contains = await Core.compileSchema(schema, ast);\n\n const minContainsSchema = await Schema.step(\"minContains\", parentSchema);\n const minContains = Schema.typeOf(minContainsSchema, \"number\") ? Schema.value(minContainsSchema) : 1;\n\n const maxContainsSchema = await Schema.step(\"maxContains\", parentSchema);\n const maxContains = Schema.typeOf(maxContainsSchema, \"number\") ? Schema.value(maxContainsSchema) : Number.MAX_SAFE_INTEGER;\n\n return { contains, minContains, maxContains };\n};\n\nconst interpret = ({ contains, minContains, maxContains }, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n const matches = Instance.reduce((matches, item) => {\n return Core.interpretSchema(contains, item, ast, dynamicAnchors) ? matches + 1 : matches;\n }, 0, instance);\n return matches >= minContains && matches <= maxContains;\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && Instance.reduce((matchedIndexes, item, itemIndex) => {\n return Core.interpretSchema(keywordValue.contains, item, ast, dynamicAnchors) ? matchedIndexes.add(itemIndex) : matchedIndexes;\n }, new Set(), instance);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = async (schema, ast) => {\n await Pact.pipeline([\n Schema.entries,\n Pact.map(([, definitionSchema]) => Core.compileSchema(definitionSchema, ast)),\n Pact.all\n ], schema);\n};\n\nconst interpret = () => true;\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([key, dependency]) => {\n return [key, Schema.typeOf(dependency, \"array\") ? Schema.value(dependency) : await Core.compileSchema(dependency, ast)];\n }),\n Pact.all\n], schema);\n\nconst interpret = (dependencies, instance, ast, dynamicAnchors) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependencies.every(([propertyName, dependency]) => {\n if (!(propertyName in value)) {\n return true;\n }\n\n if (Array.isArray(dependency)) {\n return dependency.every((key) => key in value);\n } else {\n return Core.interpretSchema(dependency, instance, ast, dynamicAnchors);\n }\n });\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema) => Pact.pipeline([\n Schema.entries,\n Pact.map(([key, dependentRequired]) => [key, Schema.value(dependentRequired)]),\n Pact.all\n], schema);\n\nconst interpret = (dependentRequired, instance) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependentRequired.every(([propertyName, required]) => {\n return !(propertyName in value) || required.every((key) => key in value);\n });\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([key, dependentSchema]) => [key, await Core.compileSchema(dependentSchema, ast)]),\n Pact.all\n], schema);\n\nconst interpret = (dependentSchemas, instance, ast, dynamicAnchors) => {\n const value = Instance.value(instance);\n\n return !Instance.typeOf(instance, \"object\") || dependentSchemas.every(([propertyName, dependentSchema]) => {\n return !(propertyName in value) || Core.interpretSchema(dependentSchema, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = (dependentSchemas, instance, ast, dynamicAnchors) => {\n return dependentSchemas.reduce((acc, [propertyName, dependentSchema]) => {\n if (!acc || !Instance.has(propertyName, instance)) {\n return acc;\n }\n\n const propertyNames = Core.collectEvaluatedProperties(dependentSchema, instance, ast, dynamicAnchors);\n return propertyNames !== false && acc.concat(propertyNames);\n }, []);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => Schema.value(schema).map(jsonStringify);\nconst interpret = (enum_, instance) => enum_.some((enumValue) => jsonStringify(Instance.value(instance)) === enumValue);\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (exclusiveMaximum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) < exclusiveMaximum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (exclusiveMinimum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) > exclusiveMinimum;\n\nmodule.exports = { compile, interpret };\n","const { Core } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (ifSchema, instance, ast, dynamicAnchors) => {\n Core.interpretSchema(ifSchema, instance, ast, dynamicAnchors);\n return true;\n};\n\nconst collectEvaluatedProperties = (ifSchema, instance, ast, dynamicAnchors) => {\n return Core.collectEvaluatedProperties(ifSchema, instance, ast, dynamicAnchors) || [];\n};\n\nconst collectEvaluatedItems = (ifSchema, instance, ast, dynamicAnchors) => {\n return Core.collectEvaluatedItems(ifSchema, instance, ast, dynamicAnchors) || new Set();\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n if (Schema.has(\"if\", parentSchema)) {\n const ifSchema = await Schema.step(\"if\", parentSchema);\n return [await Core.compileSchema(ifSchema, ast), await Core.compileSchema(schema, ast)];\n } else {\n return [];\n }\n};\n\nconst interpret = ([guard, block], instance, ast, dynamicAnchors) => {\n return guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors) || Core.interpretSchema(block, instance, ast, dynamicAnchors);\n};\n\n// Interpret a schema without events being emitted\nconst quietInterpretSchema = (uri, instance, ast, dynamicAnchors) => {\n const nodes = ast[uri][2];\n\n return typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, , keywordValue]) => {\n return Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return [];\n }\n\n return Core.collectEvaluatedProperties(block, instance, ast, dynamicAnchors);\n};\n\nconst collectEvaluatedItems = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || !quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return new Set();\n }\n\n return Core.collectEvaluatedItems(block, instance, ast, dynamicAnchors);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n if (Schema.has(\"if\", parentSchema)) {\n const ifSchema = await Schema.step(\"if\", parentSchema);\n return [await Core.compileSchema(ifSchema, ast), await Core.compileSchema(schema, ast)];\n } else {\n return [];\n }\n};\n\nconst interpret = ([guard, block], instance, ast, dynamicAnchors) => {\n return guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors) || Core.interpretSchema(block, instance, ast, dynamicAnchors);\n};\n\n// Interpret a schema without events being emitted\nconst quietInterpretSchema = (uri, instance, ast, dynamicAnchors) => {\n const nodes = ast[uri][2];\n\n return typeof nodes === \"boolean\" ? nodes : nodes\n .every(([keywordId, , keywordValue]) => {\n return Core.getKeyword(keywordId).interpret(keywordValue, instance, ast, dynamicAnchors);\n });\n};\n\nconst collectEvaluatedProperties = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return [];\n }\n\n return Core.collectEvaluatedProperties(block, instance, ast, dynamicAnchors);\n};\n\nconst collectEvaluatedItems = ([guard, block], instance, ast, dynamicAnchors) => {\n if (guard === undefined || quietInterpretSchema(guard, instance, ast, dynamicAnchors)) {\n return new Set();\n }\n\n return Core.collectEvaluatedItems(block, instance, ast, dynamicAnchors);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast) => {\n if (Schema.typeOf(schema, \"array\")) {\n const tupleItems = await Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast), schema);\n return Promise.all(tupleItems);\n } else {\n return Core.compileSchema(schema, ast);\n }\n};\n\nconst interpret = (items, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n if (typeof items === \"string\") {\n return Instance.every((itemValue) => Core.interpretSchema(items, itemValue, ast, dynamicAnchors), instance);\n } else {\n return Instance.every((item, ndx) => !(ndx in items) || Core.interpretSchema(items[ndx], item, ast, dynamicAnchors), instance);\n }\n};\n\nconst collectEvaluatedItems = (items, instance, ast, dynamicAnchors) => {\n return interpret(items, instance, ast, dynamicAnchors) && (typeof items === \"string\"\n ? new Set(Instance.map((item, itemIndex) => itemIndex, instance))\n : new Set(items.map((item, itemIndex) => itemIndex)));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const items = await Schema.step(\"prefixItems\", parentSchema);\n const numberOfPrefixItems = Schema.typeOf(items, \"array\") ? Schema.length(items) : 0;\n\n return [numberOfPrefixItems, await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([numberOfPrefixItems, items], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => ndx < numberOfPrefixItems || Core.interpretSchema(items, item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxItems, instance) => !Instance.typeOf(instance, \"array\") || Instance.length(instance) <= maxItems;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxLength, instance) => !Instance.typeOf(instance, \"string\") || Instance.length(instance) <= maxLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxLength, instance) => !Instance.typeOf(instance, \"string\") || [...Instance.value(instance)].length <= maxLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (maxProperties, instance) => !Instance.typeOf(instance, \"object\") || Instance.keys(instance).length <= maxProperties;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const exclusiveMaximum = await Schema.step(\"exclusiveMaximum\", parentSchema);\n const isExclusive = Schema.value(exclusiveMaximum);\n\n return [Schema.value(schema), isExclusive];\n};\n\nconst interpret = ([maximum, isExclusive], instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const value = Instance.value(instance);\n return isExclusive ? value < maximum : value <= maximum;\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (maximum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) <= maximum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minItems, instance) => !Instance.typeOf(instance, \"array\") || Instance.length(instance) >= minItems;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minLength, instance) => !Instance.typeOf(instance, \"string\") || Instance.length(instance) >= minLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minLength, instance) => !Instance.typeOf(instance, \"string\") || [...Instance.value(instance)].length >= minLength;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (minProperties, instance) => !Instance.typeOf(instance, \"object\") || Instance.keys(instance).length >= minProperties;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n const exclusiveMinimum = await Schema.step(\"exclusiveMinimum\", parentSchema);\n const isExclusive = Schema.value(exclusiveMinimum);\n\n return [Schema.value(schema), isExclusive];\n};\n\nconst interpret = ([minimum, isExclusive], instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const value = Instance.value(instance);\n return isExclusive ? value > minimum : value >= minimum;\n};\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema) => Schema.value(schema);\nconst interpret = (minimum, instance) => !Instance.typeOf(instance, \"number\") || Instance.value(instance) >= minimum;\n\nmodule.exports = { compile, interpret };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (multipleOf, instance) => {\n if (!Instance.typeOf(instance, \"number\")) {\n return true;\n }\n\n const remainder = Instance.value(instance) % multipleOf;\n return numberEqual(0, remainder) || numberEqual(multipleOf, remainder);\n};\n\nconst numberEqual = (a, b) => Math.abs(a - b) < 1.19209290e-7;\n\nmodule.exports = { compile, interpret };\n","const { Core } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = Core.compileSchema;\nconst interpret = (not, instance, ast, dynamicAnchors) => !Core.interpretSchema(not, instance, ast, dynamicAnchors);\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast) => {\n const oneOf = await Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast), schema);\n return Promise.all(oneOf);\n};\n\nconst interpret = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n for (const schemaUrl of oneOf) {\n if (Core.interpretSchema(schemaUrl, instance, ast, dynamicAnchors)) {\n validCount++;\n }\n\n if (validCount > 1) {\n break;\n }\n }\n\n return validCount === 1;\n};\n\nconst collectEvaluatedProperties = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n return oneOf.reduce((acc, schemaUrl) => {\n if (validCount > 1) {\n return false;\n }\n\n const propertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors);\n return propertyNames ? validCount++ === 0 && propertyNames : acc;\n }, false);\n};\n\nconst collectEvaluatedItems = (oneOf, instance, ast, dynamicAnchors) => {\n let validCount = 0;\n return oneOf.reduce((acc, schemaUrl) => {\n if (validCount > 1) {\n return false;\n }\n\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors);\n return itemIndexes ? validCount++ === 0 && itemIndexes : acc;\n }, false);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => new RegExp(Schema.value(schema), \"u\");\nconst interpret = (pattern, instance) => !Instance.typeOf(instance, \"string\") || pattern.test(Instance.value(instance));\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.map(async ([pattern, propertySchema]) => [new RegExp(pattern, \"u\"), await Core.compileSchema(propertySchema, ast)]),\n Pact.all\n], schema);\n\nconst interpret = (patternProperties, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || patternProperties.every(([pattern, schemaUrl]) => {\n return Instance.entries(instance)\n .filter(([propertyName]) => pattern.test(propertyName))\n .every(([, propertyValue]) => Core.interpretSchema(schemaUrl, propertyValue, ast, dynamicAnchors));\n });\n};\n\nconst collectEvaluatedProperties = (patternProperties, instance, ast, dynamicAnchors) => {\n return interpret(patternProperties, instance, ast, dynamicAnchors) && patternProperties.map(([pattern]) => pattern);\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const isObject = (value) => typeof value === \"object\" && !Array.isArray(value) && value !== null;\nconst escapeRegExp = (string) => string.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\nconst splitUrl = (url) => {\n const indexOfHash = url.indexOf(\"#\");\n const ndx = indexOfHash === -1 ? url.length : indexOfHash;\n const urlReference = url.slice(0, ndx);\n const urlFragment = url.slice(ndx + 1);\n\n return [decodeURI(urlReference), decodeURI(urlFragment)];\n};\n\nmodule.exports = { isObject, escapeRegExp, splitUrl };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\nconst { escapeRegExp } = require(\"../common\");\n\n\nconst compile = (schema, ast) => Pact.pipeline([\n Schema.entries,\n Pact.reduce(async (acc, [propertyName, propertySchema]) => {\n acc[propertyName] = await Core.compileSchema(propertySchema, ast);\n return acc;\n }, Object.create(null))\n], schema);\n\nconst interpret = (properties, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || Instance.entries(instance)\n .filter(([propertyName]) => propertyName in properties)\n .every(([propertyName, schemaUrl]) => Core.interpretSchema(properties[propertyName], schemaUrl, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (properties, instance, ast, dynamicAnchors) => {\n return interpret(properties, instance, ast, dynamicAnchors) && Object.keys(properties)\n .map((propertyName) => new RegExp(`^${escapeRegExp(propertyName)}$`));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Core, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema, ast) => Core.compileSchema(schema, ast);\n\nconst interpret = (propertyNames, instance, ast, dynamicAnchors) => {\n return !Instance.typeOf(instance, \"object\") || Instance.keys(instance)\n .every((key) => Core.interpretSchema(propertyNames, Instance.cons(key), ast, dynamicAnchors));\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst { splitUrl } = require(\"../common\");\n\n\nconst compile = async (dynamicRef, ast) => {\n const [, fragment] = splitUrl(Schema.value(dynamicRef));\n const referencedSchema = await Schema.get(Schema.value(dynamicRef), dynamicRef);\n await Core.compileSchema(referencedSchema, ast);\n return [referencedSchema.id, fragment];\n};\n\nconst interpret = ([id, fragment], instance, ast, dynamicAnchors) => {\n if (fragment in ast.metaData[id].dynamicAnchors) {\n return Core.interpretSchema(dynamicAnchors[fragment], instance, ast, dynamicAnchors);\n } else {\n const pointer = Schema.getAnchorPointer(ast.metaData[id], fragment);\n return Core.interpretSchema(`${id}#${encodeURI(pointer)}`, instance, ast, dynamicAnchors);\n }\n};\n\nconst collectEvaluatedProperties = Core.collectEvaluatedProperties;\nconst collectEvaluatedItems = Core.collectEvaluatedItems;\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (ref, ast) => {\n const referencedSchema = await Schema.get(Schema.value(ref), ref);\n return Core.compileSchema(referencedSchema, ast);\n};\n\nconst interpret = Core.interpretSchema;\nconst collectEvaluatedProperties = Core.collectEvaluatedProperties;\nconst collectEvaluatedItems = Core.collectEvaluatedItems;\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (required, instance) => {\n return !Instance.typeOf(instance, \"object\") || required.every((propertyName) => Object.prototype.hasOwnProperty.call(Instance.value(instance), propertyName));\n};\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst Pact = require(\"@hyperjump/pact\");\n\n\nconst compile = (schema, ast) => {\n return Pact.pipeline([\n Schema.map((itemSchema) => Core.compileSchema(itemSchema, ast)),\n Pact.all\n ], schema);\n};\n\nconst interpret = (items, instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n return Instance.every((item, ndx) => !(ndx in items) || Core.interpretSchema(items[ndx], item, ast, dynamicAnchors), instance);\n};\n\nconst collectEvaluatedItems = (items, instance, ast, dynamicAnchors) => {\n return interpret(items, instance, ast, dynamicAnchors) && new Set(items.map((item, ndx) => ndx));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = (schema) => Schema.value(schema);\nconst interpret = (type, instance) => typeof type === \"string\" ? Instance.typeOf(instance, type) : type.some(Instance.typeOf(instance));\n\nmodule.exports = { compile, interpret };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n return [Schema.uri(parentSchema), await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([schemaUrl, unevaluatedItems], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"array\")) {\n return true;\n }\n\n const itemIndexes = Core.collectEvaluatedItems(schemaUrl, instance, ast, dynamicAnchors, true);\n return itemIndexes === false || Instance.every((item, itemIndex) => {\n return itemIndexes.has(itemIndex) || Core.interpretSchema(unevaluatedItems, Instance.step(itemIndex, instance), ast, dynamicAnchors);\n }, instance);\n};\n\nconst collectEvaluatedItems = (keywordValue, instance, ast, dynamicAnchors) => {\n return interpret(keywordValue, instance, ast, dynamicAnchors) && new Set(Instance.map((item, ndx) => ndx, instance));\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedItems };\n","const { Core, Schema, Instance } = require(\"@hyperjump/json-schema-core\");\n\n\nconst compile = async (schema, ast, parentSchema) => {\n return [Schema.uri(parentSchema), await Core.compileSchema(schema, ast)];\n};\n\nconst interpret = ([schemaUrl, unevaluatedProperties], instance, ast, dynamicAnchors) => {\n if (!Instance.typeOf(instance, \"object\")) {\n return true;\n }\n\n const evaluatedPropertyNames = Core.collectEvaluatedProperties(schemaUrl, instance, ast, dynamicAnchors, true);\n\n return !evaluatedPropertyNames || Instance.entries(instance)\n .filter(([propertyName]) => !evaluatedPropertyNames.some((pattern) => propertyName.match(pattern)))\n .every(([, property]) => Core.interpretSchema(unevaluatedProperties, property, ast, dynamicAnchors));\n};\n\nconst collectEvaluatedProperties = (keywordValue, instance, ast, dynamicAnchors) =>{\n return interpret(keywordValue, instance, ast, dynamicAnchors) && [new RegExp(\"\")];\n};\n\nmodule.exports = { compile, interpret, collectEvaluatedProperties };\n","const { Schema, Instance } = require(\"@hyperjump/json-schema-core\");\nconst jsonStringify = require(\"fastest-stable-stringify\");\n\n\nconst compile = (schema) => Schema.value(schema);\n\nconst interpret = (uniqueItems, instance) => {\n if (!Instance.typeOf(instance, \"array\") || uniqueItems === false) {\n return true;\n }\n\n const normalizedItems = Instance.map((item) => jsonStringify(Instance.value(item)), instance);\n return new Set(normalizedItems).size === normalizedItems.length;\n};\n\nmodule.exports = { compile, interpret };\n","const { Keywords } = require(\"@hyperjump/json-schema-core\");\n\n\nmodule.exports = {\n additionalItems: require(\"./additionalItems\"),\n additionalItems6: require(\"./additionalItems6\"),\n additionalProperties: require(\"./additionalProperties\"),\n additionalProperties6: require(\"./additionalProperties6\"),\n allOf: require(\"./allOf\"),\n anyOf: require(\"./anyOf\"),\n const: require(\"./const\"),\n contains: require(\"./contains\"),\n containsMinContainsMaxContains: require(\"./contains-minContains-maxContains\"),\n definitions: require(\"./definitions\"),\n dependencies: require(\"./dependencies\"),\n dependentRequired: require(\"./dependentRequired\"),\n dependentSchemas: require(\"./dependentSchemas\"),\n enum: require(\"./enum\"),\n exclusiveMaximum: require(\"./exclusiveMaximum\"),\n exclusiveMinimum: require(\"./exclusiveMinimum\"),\n if: require(\"./if\"),\n then: require(\"./then\"),\n else: require(\"./else\"),\n items: require(\"./items\"),\n items202012: require(\"./items202012\"),\n maxItems: require(\"./maxItems\"),\n maxLength: require(\"./maxLength\"),\n maxLength6: require(\"./maxLength6\"),\n maxProperties: require(\"./maxProperties\"),\n maximumExclusiveMaximum: require(\"./maximum-exclusiveMaximum\"),\n maximum: require(\"./maximum\"),\n metaData: Keywords.metaData,\n minItems: require(\"./minItems\"),\n minLength: require(\"./minLength\"),\n minLength6: require(\"./minLength6\"),\n minProperties: require(\"./minProperties\"),\n minimumExclusiveMinimum: require(\"./minimum-exclusiveMinimum\"),\n minimum: require(\"./minimum\"),\n multipleOf: require(\"./multipleOf\"),\n not: require(\"./not\"),\n oneOf: require(\"./oneOf\"),\n pattern: require(\"./pattern\"),\n patternProperties: require(\"./patternProperties\"),\n properties: require(\"./properties\"),\n propertyNames: require(\"./propertyNames\"),\n dynamicRef: require(\"./dynamicRef\"),\n ref: require(\"./ref\"),\n required: require(\"./required\"),\n tupleItems: require(\"./tupleItems\"),\n type: require(\"./type\"),\n unevaluatedItems: require(\"./unevaluatedItems\"),\n unevaluatedProperties: require(\"./unevaluatedProperties\"),\n uniqueItems: require(\"./uniqueItems\"),\n validate: Keywords.validate\n};\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-04/schema\");\nconst metaHyperSchema = require(\"../meta/draft-04/hyper-schema\");\n\n\n// JSON Schema Draft-04\nconst schemaVersion = \"http://json-schema.org/draft-04/schema\";\n\nSchema.setConfig(schemaVersion, \"baseToken\", \"id\");\nSchema.setConfig(schemaVersion, \"embeddedToken\", \"id\");\nSchema.setConfig(schemaVersion, \"anchorToken\", \"id\");\nSchema.setConfig(schemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(schemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems,\n \"additionalProperties\": keywords.additionalProperties,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"format\": keywords.metaData,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximumExclusiveMaximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimumExclusiveMinimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n\n// JSON Hyper-Schema Draft-04\nconst hyperSchemaVersion = \"http://json-schema.org/draft-04/hyper-schema\";\n\nSchema.setConfig(hyperSchemaVersion, \"baseToken\", \"id\");\nSchema.setConfig(hyperSchemaVersion, \"embeddedToken\", \"id\");\nSchema.setConfig(hyperSchemaVersion, \"anchorToken\", \"id\");\nSchema.setConfig(hyperSchemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaHyperSchema));\nCore.defineVocabulary(hyperSchemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems,\n \"additionalProperties\": keywords.additionalProperties,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"format\": keywords.metaData,\n \"fragmentResolution\": keywords.metaData,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"minProperties\": keywords.minProperties,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximumExclusiveMaximum,\n \"media\": keywords.metaData,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength,\n \"maxLength\": keywords.maxLength,\n \"minimum\": keywords.minimumExclusiveMinimum,\n \"multipleOf\": keywords.multipleOf,\n \"links\": keywords.metaData,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pathStart\": keywords.metaData,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"readOnly\": keywords.metaData,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n","module.exports = `{\n \"id\": \"http://json-schema.org/draft-04/schema#\",\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"description\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"positiveInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"positiveIntegerDefault0\": {\n \"allOf\": [ { \"$ref\": \"#/definitions/positiveInteger\" }, { \"default\": 0 } ]\n },\n \"simpleTypes\": {\n \"enum\": [ \"array\", \"boolean\", \"integer\", \"null\", \"number\", \"object\", \"string\" ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n },\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"$schema\": {\n \"type\": \"string\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": {},\n \"multipleOf\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"exclusiveMinimum\": true\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxLength\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": {\n \"anyOf\": [\n { \"type\": \"boolean\" },\n { \"$ref\": \"#\" }\n ],\n \"default\": {}\n },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": {}\n },\n \"maxItems\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxProperties\": { \"$ref\": \"#/definitions/positiveInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/positiveIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": {\n \"anyOf\": [\n { \"type\": \"boolean\" },\n { \"$ref\": \"#\" }\n ],\n \"default\": {}\n },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"enum\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"dependencies\": {\n \"exclusiveMaximum\": [ \"maximum\" ],\n \"exclusiveMinimum\": [ \"minimum\" ]\n },\n \"default\": {}\n}`;\n","module.exports = `{\n \"$schema\": \"http://json-schema.org/draft-04/hyper-schema#\",\n \"id\": \"http://json-schema.org/draft-04/hyper-schema#\",\n \"title\": \"JSON Hyper-Schema\",\n \"allOf\": [\n {\"$ref\": \"http://json-schema.org/draft-04/schema#\"}\n ],\n \"properties\": {\n \"additionalItems\": {\n \"anyOf\": [\n {\"type\": \"boolean\"},\n {\"$ref\": \"#\"}\n ]\n },\n \"additionalProperties\": {\n \"anyOf\": [\n {\"type\": \"boolean\"},\n {\"$ref\": \"#\"}\n ]\n },\n \"dependencies\": {\n \"additionalProperties\": {\n \"anyOf\": [\n {\"$ref\": \"#\"},\n {\"type\": \"array\"}\n ]\n }\n },\n \"items\": {\n \"anyOf\": [\n {\"$ref\": \"#\"},\n {\"$ref\": \"#/definitions/schemaArray\"}\n ]\n },\n \"definitions\": {\n \"additionalProperties\": {\"$ref\": \"#\"}\n },\n \"patternProperties\": {\n \"additionalProperties\": {\"$ref\": \"#\"}\n },\n \"properties\": {\n \"additionalProperties\": {\"$ref\": \"#\"}\n },\n \"allOf\": {\"$ref\": \"#/definitions/schemaArray\"},\n \"anyOf\": {\"$ref\": \"#/definitions/schemaArray\"},\n \"oneOf\": {\"$ref\": \"#/definitions/schemaArray\"},\n \"not\": { \"$ref\": \"#\" },\n\n \"links\": {\n \"type\": \"array\",\n \"items\": {\"$ref\": \"#/definitions/linkDescription\"}\n },\n \"fragmentResolution\": {\n \"type\": \"string\"\n },\n \"media\": {\n \"type\": \"object\",\n \"properties\": {\n \"type\": {\n \"description\": \"A media type, as described in RFC 2046\",\n \"type\": \"string\"\n },\n \"binaryEncoding\": {\n \"description\": \"A content encoding scheme, as described in RFC 2045\",\n \"type\": \"string\"\n }\n }\n },\n \"pathStart\": {\n \"description\": \"Instances' URIs must start with this value for this schema to apply to them\",\n \"type\": \"string\",\n \"format\": \"uri\"\n }\n },\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"items\": {\"$ref\": \"#\"}\n },\n \"linkDescription\": {\n \"title\": \"Link Description Object\",\n \"type\": \"object\",\n \"required\": [\"href\", \"rel\"],\n \"properties\": {\n \"href\": {\n \"description\": \"a URI template, as defined by RFC 6570, with the addition of the $, ( and ) characters for pre-processing\",\n \"type\": \"string\"\n },\n \"rel\": {\n \"description\": \"relation to the target resource of the link\",\n \"type\": \"string\"\n },\n \"title\": {\n \"description\": \"a title for the link\",\n \"type\": \"string\"\n },\n \"targetSchema\": {\n \"description\": \"JSON Schema describing the link target\",\n \"$ref\": \"#\"\n },\n \"mediaType\": {\n \"description\": \"media type (as defined by RFC 2046) describing the link target\",\n \"type\": \"string\"\n },\n \"method\": {\n \"description\": \"method for requesting the target of the link (e.g. for HTTP this might be \\\\\"GET\\\\\" or \\\\\"DELETE\\\\\")\",\n \"type\": \"string\"\n },\n \"encType\": {\n \"description\": \"The media type in which to submit data along with the request\",\n \"type\": \"string\",\n \"default\": \"application/json\"\n },\n \"schema\": {\n \"description\": \"Schema describing the data to submit along with the request\",\n \"$ref\": \"#\"\n }\n }\n },\n \"readOnly\": {\n \"description\": \"If true, indicates that the value of this property is controlled by the server.\",\n \"type\": \"boolean\",\n \"default\": false\n }\n },\n \"links\": [\n {\n \"rel\": \"self\",\n \"href\": \"{+id}\"\n },\n {\n \"rel\": \"full\",\n \"href\": \"{+($ref)}\"\n }\n ]\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-06/schema\");\n\n\nconst schemaVersion = \"http://json-schema.org/draft-06/schema\";\n\nSchema.setConfig(schemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"anchorToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(schemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"const\": keywords.const,\n \"contains\": keywords.contains,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"examples\": keywords.metaData,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"format\": keywords.metaData,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength6,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength6,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n","module.exports = `{\n \"$schema\": \"http://json-schema.org/draft-06/schema#\",\n \"$id\": \"http://json-schema.org/draft-06/schema#\",\n \"title\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"allOf\": [\n { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n { \"default\": 0 }\n ]\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n },\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": {},\n \"examples\": {\n \"type\": \"array\",\n \"items\": {}\n },\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": { \"$ref\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": {}\n },\n \"maxItems\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"contains\": { \"$ref\": \"#\" },\n \"maxProperties\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"propertyNames\": { \"$ref\": \"#\" },\n \"const\": {},\n \"enum\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"default\": {}\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft-07/schema\");\n\n\nconst schemaVersion = \"http://json-schema.org/draft-07/schema\";\n\nSchema.setConfig(schemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"anchorToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"jrefToken\", \"$ref\");\n\nSchema.add(JSON.parse(metaSchema));\nCore.defineVocabulary(schemaVersion, {\n \"validate\": keywords.validate,\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"const\": keywords.const,\n \"contains\": keywords.contains,\n \"default\": keywords.metaData,\n \"definitions\": keywords.definitions,\n \"dependencies\": keywords.dependencies,\n \"description\": keywords.metaData,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"format\": keywords.metaData,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength6,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength6,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"pattern\": keywords.pattern,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"readOnly\": keywords.metaData,\n \"required\": keywords.required,\n \"title\": keywords.metaData,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems,\n \"writeOnly\": keywords.metaData\n});\n","module.exports = `{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"Core schema meta-schema\",\n \"definitions\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$ref\": \"#\" }\n },\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"allOf\": [\n { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n { \"default\": 0 }\n ]\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n },\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"additionalItems\": { \"$ref\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/schemaArray\" }\n ],\n \"default\": true\n },\n \"maxItems\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"contains\": { \"$ref\": \"#\" },\n \"maxProperties\": { \"$ref\": \"#/definitions/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/definitions/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/definitions/stringArray\" },\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"definitions\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$ref\": \"#\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$ref\": \"#\" },\n { \"$ref\": \"#/definitions/stringArray\" }\n ]\n }\n },\n \"propertyNames\": { \"$ref\": \"#\" },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true,\n \"minItems\": 1,\n \"uniqueItems\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/definitions/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/definitions/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n },\n \"format\": { \"type\": \"string\" },\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"if\": { \"$ref\": \"#\" },\n \"then\": { \"$ref\": \"#\" },\n \"else\": { \"$ref\": \"#\" },\n \"allOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/definitions/schemaArray\" },\n \"not\": { \"$ref\": \"#\" }\n },\n \"default\": true\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft/2019-09/schema\");\nconst coreMetaSchema = require(\"../meta/draft/2019-09/meta/core\");\nconst applicatorMetaSchema = require(\"../meta/draft/2019-09/meta/applicator\");\nconst validationMetaSchema = require(\"../meta/draft/2019-09/meta/validation\");\nconst metaDataMetaSchema = require(\"../meta/draft/2019-09/meta/meta-data\");\nconst formatMetaSchema = require(\"../meta/draft/2019-09/meta/format\");\nconst contentMetaSchema = require(\"../meta/draft/2019-09/meta/content\");\n\n\nconst schemaVersion = \"https://json-schema.org/draft/2019-09/schema\";\n\nSchema.setConfig(schemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"anchorToken\", \"$anchor\");\nSchema.setConfig(schemaVersion, \"recursiveAnchorToken\", \"$recursiveAnchor\");\nSchema.setConfig(schemaVersion, \"vocabularyToken\", \"$vocabulary\");\nSchema.setConfig(schemaVersion, \"mandatoryVocabularies\", [\"https://json-schema.org/draft/2019-09/vocab/core\"]);\n\nSchema.add(JSON.parse(metaSchema));\n\nSchema.add(JSON.parse(coreMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/core\", {\n \"validate\": keywords.validate,\n \"$defs\": keywords.definitions,\n \"$recursiveRef\": keywords.dynamicRef,\n \"$ref\": keywords.ref\n});\n\nSchema.add(JSON.parse(applicatorMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/applicator\", {\n \"additionalItems\": keywords.additionalItems6,\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"contains\": keywords.containsMinContainsMaxContains,\n \"dependentSchemas\": keywords.dependentSchemas,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"patternProperties\": keywords.patternProperties,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames,\n \"unevaluatedItems\": keywords.unevaluatedItems,\n \"unevaluatedProperties\": keywords.unevaluatedProperties\n});\n\nSchema.add(JSON.parse(validationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/validation\", {\n \"const\": keywords.const,\n \"dependentRequired\": keywords.dependentRequired,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength6,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength6,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"pattern\": keywords.pattern,\n \"required\": keywords.required,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n\nSchema.add(JSON.parse(metaDataMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/meta-data\", {\n \"default\": keywords.metaData,\n \"deprecated\": keywords.metaData,\n \"description\": keywords.metaData,\n \"examples\": keywords.metaData,\n \"readOnly\": keywords.metaData,\n \"title\": keywords.metaData,\n \"writeOnly\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatMetaSchema));\n\nSchema.add(JSON.parse(contentMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2019-09/vocab/content\", {\n \"contentEncoding\": keywords.metaData,\n \"contentMediaType\": keywords.metaData,\n \"contentSchema\": keywords.metaData\n});\n","module.exports = `{\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$id\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/core\": true,\n \"https://json-schema.org/draft/2019-09/vocab/applicator\": true,\n \"https://json-schema.org/draft/2019-09/vocab/validation\": true,\n \"https://json-schema.org/draft/2019-09/vocab/meta-data\": true,\n \"https://json-schema.org/draft/2019-09/vocab/format\": false,\n \"https://json-schema.org/draft/2019-09/vocab/content\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Core and Validation specifications meta-schema\",\n \"allOf\": [\n {\"$ref\": \"meta/core\"},\n {\"$ref\": \"meta/applicator\"},\n {\"$ref\": \"meta/validation\"},\n {\"$ref\": \"meta/meta-data\"},\n {\"$ref\": \"meta/format\"},\n {\"$ref\": \"meta/content\"}\n ],\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"definitions\": {\n \"$comment\": \"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.\",\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"$comment\": \"\\\\\"dependencies\\\\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\\\\"dependentSchemas\\\\\" and \\\\\"dependentRequired\\\\\"\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$recursiveRef\": \"#\" },\n { \"$ref\": \"meta/validation#/$defs/stringArray\" }\n ]\n }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/core\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/core\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Core vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\",\n \"$comment\": \"Non-empty fragments not allowed.\",\n \"pattern\": \"^[^#]*#?$\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$anchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z][-A-Za-z0-9.:_]*$\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$recursiveRef\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$recursiveAnchor\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"$vocabulary\": {\n \"type\": \"object\",\n \"propertyNames\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"additionalProperties\": {\n \"type\": \"boolean\"\n }\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"$defs\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/applicator\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/applicator\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Applicator vocabulary meta-schema\",\n \"properties\": {\n \"additionalItems\": { \"$recursiveRef\": \"#\" },\n \"unevaluatedItems\": { \"$recursiveRef\": \"#\" },\n \"items\": {\n \"anyOf\": [\n { \"$recursiveRef\": \"#\" },\n { \"$ref\": \"#/$defs/schemaArray\" }\n ]\n },\n \"contains\": { \"$recursiveRef\": \"#\" },\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"unevaluatedProperties\": { \"$recursiveRef\": \"#\" },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$recursiveRef\": \"#\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependentSchemas\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$recursiveRef\": \"#\"\n }\n },\n \"propertyNames\": { \"$recursiveRef\": \"#\" },\n \"if\": { \"$recursiveRef\": \"#\" },\n \"then\": { \"$recursiveRef\": \"#\" },\n \"else\": { \"$recursiveRef\": \"#\" },\n \"allOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"not\": { \"$recursiveRef\": \"#\" }\n },\n \"$defs\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$recursiveRef\": \"#\" }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/validation\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/validation\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Validation vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"maxItems\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxContains\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minContains\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 1\n },\n \"maxProperties\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/$defs/stringArray\" },\n \"dependentRequired\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/$defs/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/$defs/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n }\n },\n \"$defs\": {\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 0\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/meta-data\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/meta-data\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Meta-data vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"deprecated\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/format\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/format\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Format vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2019-09/meta/content\",\n \"$schema\": \"https://json-schema.org/draft/2019-09/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2019-09/vocab/content\": true\n },\n \"$recursiveAnchor\": true,\n\n \"title\": \"Content vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"contentSchema\": { \"$recursiveRef\": \"#\" }\n }\n}`;\n","const { Core, Schema } = require(\"@hyperjump/json-schema-core\");\nconst keywords = require(\"./keywords\");\nconst metaSchema = require(\"../meta/draft/2020-12/schema\");\nconst coreMetaSchema = require(\"../meta/draft/2020-12/meta/core\");\nconst applicatorMetaSchema = require(\"../meta/draft/2020-12/meta/applicator\");\nconst validationMetaSchema = require(\"../meta/draft/2020-12/meta/validation\");\nconst metaDataMetaSchema = require(\"../meta/draft/2020-12/meta/meta-data\");\nconst formatAnnotationMetaSchema = require(\"../meta/draft/2020-12/meta/format-annotation\");\nconst formatAssertionMetaSchema = require(\"../meta/draft/2020-12/meta/format-assertion\");\nconst contentMetaSchema = require(\"../meta/draft/2020-12/meta/content\");\nconst unevaluatedMetaSchema = require(\"../meta/draft/2020-12/meta/unevaluated\");\n\n\nconst schemaVersion = \"https://json-schema.org/draft/2020-12/schema\";\n\nSchema.setConfig(schemaVersion, \"baseToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"embeddedToken\", \"$id\");\nSchema.setConfig(schemaVersion, \"anchorToken\", \"$anchor\");\nSchema.setConfig(schemaVersion, \"dynamicAnchorToken\", \"$dynamicAnchor\");\nSchema.setConfig(schemaVersion, \"vocabularyToken\", \"$vocabulary\");\nSchema.setConfig(schemaVersion, \"mandatoryVocabularies\", [\"https://json-schema.org/draft/2020-12/vocab/core\"]);\n\nSchema.add(JSON.parse(metaSchema));\n\nSchema.add(JSON.parse(coreMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/core\", {\n \"validate\": keywords.validate,\n \"$defs\": keywords.definitions,\n \"$dynamicRef\": keywords.dynamicRef,\n \"$ref\": keywords.ref\n});\n\nSchema.add(JSON.parse(applicatorMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/applicator\", {\n \"additionalProperties\": keywords.additionalProperties6,\n \"allOf\": keywords.allOf,\n \"anyOf\": keywords.anyOf,\n \"contains\": keywords.containsMinContainsMaxContains,\n \"dependentSchemas\": keywords.dependentSchemas,\n \"if\": keywords.if,\n \"then\": keywords.then,\n \"else\": keywords.else,\n \"items\": keywords.items202012,\n \"not\": keywords.not,\n \"oneOf\": keywords.oneOf,\n \"patternProperties\": keywords.patternProperties,\n \"prefixItems\": keywords.tupleItems,\n \"properties\": keywords.properties,\n \"propertyNames\": keywords.propertyNames\n});\n\nSchema.add(JSON.parse(validationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/validation\", {\n \"const\": keywords.const,\n \"dependentRequired\": keywords.dependentRequired,\n \"enum\": keywords.enum,\n \"exclusiveMaximum\": keywords.exclusiveMaximum,\n \"exclusiveMinimum\": keywords.exclusiveMinimum,\n \"maxItems\": keywords.maxItems,\n \"maxLength\": keywords.maxLength6,\n \"maxProperties\": keywords.maxProperties,\n \"maximum\": keywords.maximum,\n \"minItems\": keywords.minItems,\n \"minLength\": keywords.minLength6,\n \"minProperties\": keywords.minProperties,\n \"minimum\": keywords.minimum,\n \"multipleOf\": keywords.multipleOf,\n \"pattern\": keywords.pattern,\n \"required\": keywords.required,\n \"type\": keywords.type,\n \"uniqueItems\": keywords.uniqueItems\n});\n\nSchema.add(JSON.parse(metaDataMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/meta-data\", {\n \"default\": keywords.metaData,\n \"deprecated\": keywords.metaData,\n \"description\": keywords.metaData,\n \"examples\": keywords.metaData,\n \"readOnly\": keywords.metaData,\n \"title\": keywords.metaData,\n \"writeOnly\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatAnnotationMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/format-annotation\", {\n \"format\": keywords.metaData\n});\n\nSchema.add(JSON.parse(formatAssertionMetaSchema));\n\nSchema.add(JSON.parse(contentMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/content\", {\n \"contentEncoding\": keywords.metaData,\n \"contentMediaType\": keywords.metaData,\n \"contentSchema\": keywords.metaData\n});\n\nSchema.add(JSON.parse(unevaluatedMetaSchema));\nCore.defineVocabulary(\"https://json-schema.org/draft/2020-12/vocab/unevaluated\", {\n \"unevaluatedItems\": keywords.unevaluatedItems,\n \"unevaluatedProperties\": keywords.unevaluatedProperties\n});\n","module.exports = `{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/core\": true,\n \"https://json-schema.org/draft/2020-12/vocab/applicator\": true,\n \"https://json-schema.org/draft/2020-12/vocab/unevaluated\": true,\n \"https://json-schema.org/draft/2020-12/vocab/validation\": true,\n \"https://json-schema.org/draft/2020-12/vocab/meta-data\": true,\n \"https://json-schema.org/draft/2020-12/vocab/format-annotation\": true,\n \"https://json-schema.org/draft/2020-12/vocab/content\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Core and Validation specifications meta-schema\",\n \"allOf\": [\n {\"$ref\": \"meta/core\"},\n {\"$ref\": \"meta/applicator\"},\n {\"$ref\": \"meta/unevaluated\"},\n {\"$ref\": \"meta/validation\"},\n {\"$ref\": \"meta/meta-data\"},\n {\"$ref\": \"meta/format-annotation\"},\n {\"$ref\": \"meta/content\"}\n ],\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"definitions\": {\n \"$comment\": \"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.\",\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n },\n \"dependencies\": {\n \"$comment\": \"\\\\\"dependencies\\\\\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \\\\\"dependentSchemas\\\\\" and \\\\\"dependentRequired\\\\\"\",\n \"type\": \"object\",\n \"additionalProperties\": {\n \"anyOf\": [\n { \"$dynamicRef\": \"#meta\" },\n { \"$ref\": \"meta/validation#/$defs/stringArray\" }\n ]\n }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/core\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/core\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Core vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"$id\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\",\n \"$comment\": \"Non-empty fragments not allowed.\",\n \"pattern\": \"^[^#]*#?$\"\n },\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"$anchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z_][-A-Za-z0-9._]*$\"\n },\n \"$ref\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$dynamicRef\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\"\n },\n \"$dynamicAnchor\": {\n \"type\": \"string\",\n \"pattern\": \"^[A-Za-z_][-A-Za-z0-9._]*$\"\n },\n \"$vocabulary\": {\n \"type\": \"object\",\n \"propertyNames\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"additionalProperties\": {\n \"type\": \"boolean\"\n }\n },\n \"$comment\": {\n \"type\": \"string\"\n },\n \"$defs\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/applicator\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/applicator\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Applicator vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"prefixItems\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"items\": { \"$dynamicRef\": \"#meta\" },\n \"contains\": { \"$dynamicRef\": \"#meta\" },\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"properties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"default\": {}\n },\n \"patternProperties\": {\n \"type\": \"object\",\n \"additionalProperties\": { \"$dynamicRef\": \"#meta\" },\n \"propertyNames\": { \"format\": \"regex\" },\n \"default\": {}\n },\n \"dependentSchemas\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$dynamicRef\": \"#meta\"\n }\n },\n \"propertyNames\": { \"$dynamicRef\": \"#meta\" },\n \"if\": { \"$dynamicRef\": \"#meta\" },\n \"then\": { \"$dynamicRef\": \"#meta\" },\n \"else\": { \"$dynamicRef\": \"#meta\" },\n \"allOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"anyOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"oneOf\": { \"$ref\": \"#/$defs/schemaArray\" },\n \"not\": { \"$dynamicRef\": \"#meta\" }\n },\n \"$defs\": {\n \"schemaArray\": {\n \"type\": \"array\",\n \"minItems\": 1,\n \"items\": { \"$dynamicRef\": \"#meta\" }\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/validation\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/validation\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Validation vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"multipleOf\": {\n \"type\": \"number\",\n \"exclusiveMinimum\": 0\n },\n \"maximum\": {\n \"type\": \"number\"\n },\n \"exclusiveMaximum\": {\n \"type\": \"number\"\n },\n \"minimum\": {\n \"type\": \"number\"\n },\n \"exclusiveMinimum\": {\n \"type\": \"number\"\n },\n \"maxLength\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minLength\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"pattern\": {\n \"type\": \"string\",\n \"format\": \"regex\"\n },\n \"maxItems\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minItems\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"uniqueItems\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"maxContains\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minContains\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 1\n },\n \"maxProperties\": { \"$ref\": \"#/$defs/nonNegativeInteger\" },\n \"minProperties\": { \"$ref\": \"#/$defs/nonNegativeIntegerDefault0\" },\n \"required\": { \"$ref\": \"#/$defs/stringArray\" },\n \"dependentRequired\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/$defs/stringArray\"\n }\n },\n \"const\": true,\n \"enum\": {\n \"type\": \"array\",\n \"items\": true\n },\n \"type\": {\n \"anyOf\": [\n { \"$ref\": \"#/$defs/simpleTypes\" },\n {\n \"type\": \"array\",\n \"items\": { \"$ref\": \"#/$defs/simpleTypes\" },\n \"minItems\": 1,\n \"uniqueItems\": true\n }\n ]\n }\n },\n \"$defs\": {\n \"nonNegativeInteger\": {\n \"type\": \"integer\",\n \"minimum\": 0\n },\n \"nonNegativeIntegerDefault0\": {\n \"$ref\": \"#/$defs/nonNegativeInteger\",\n \"default\": 0\n },\n \"simpleTypes\": {\n \"enum\": [\n \"array\",\n \"boolean\",\n \"integer\",\n \"null\",\n \"number\",\n \"object\",\n \"string\"\n ]\n },\n \"stringArray\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"uniqueItems\": true,\n \"default\": []\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/meta-data\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/meta-data\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Meta-data vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"description\": {\n \"type\": \"string\"\n },\n \"default\": true,\n \"deprecated\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"readOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"writeOnly\": {\n \"type\": \"boolean\",\n \"default\": false\n },\n \"examples\": {\n \"type\": \"array\",\n \"items\": true\n }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/format-annotation\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/format-annotation\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Format vocabulary meta-schema for annotation results\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/format-assertion\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/format-assertion\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Format vocabulary meta-schema for assertion results\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"format\": { \"type\": \"string\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/content\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/content\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Content vocabulary meta-schema\",\n\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"contentMediaType\": { \"type\": \"string\" },\n \"contentEncoding\": { \"type\": \"string\" },\n \"contentSchema\": { \"$dynamicRef\": \"#meta\" }\n }\n}`;\n","module.exports = `{\n \"$id\": \"https://json-schema.org/draft/2020-12/meta/unevaluated\",\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$vocabulary\": {\n \"https://json-schema.org/draft/2020-12/vocab/unevaluated\": true\n },\n \"$dynamicAnchor\": \"meta\",\n\n \"title\": \"Unevaluated applicator vocabulary meta-schema\",\n \"type\": [\"object\", \"boolean\"],\n \"properties\": {\n \"unevaluatedItems\": { \"$dynamicRef\": \"#meta\" },\n \"unevaluatedProperties\": { \"$dynamicRef\": \"#meta\" }\n }\n}`;\n","const { Core, Schema, InvalidSchemaError } = require(\"@hyperjump/json-schema-core\");\nconst Keywords = require(\"./keywords\");\n\nrequire(\"./draft-04\");\nrequire(\"./draft-06\");\nrequire(\"./draft-07\");\nrequire(\"./draft-2019-09\");\nrequire(\"./draft-2020-12\");\n\n\nmodule.exports = {\n add: Core.add,\n get: Schema.get,\n validate: Core.validate,\n compile: Core.compile,\n interpret: Core.interpret,\n setMetaOutputFormat: Core.setMetaOutputFormat,\n setShouldMetaValidate: Core.setShouldMetaValidate,\n FLAG: Core.FLAG,\n BASIC: Core.BASIC,\n DETAILED: Core.DETAILED,\n VERBOSE: Core.VERBOSE,\n Keywords: Keywords,\n InvalidSchemaError: InvalidSchemaError\n};\n\n"],"names":["fn","arity","curried","length","args","slice","call","arguments","apply","this","concat","PubSub","window","messages","lastUid","callSubscriberWithDelayedExceptions","subscriber","message","data","ex","setTimeout","throwException","callSubscriberWithImmediateExceptions","deliverMessage","originalMessage","matchedMessage","immediateExceptions","s","subscribers","callSubscriber","Object","prototype","hasOwnProperty","hasDirectSubscribersFor","topic","String","Boolean","obj","key","hasKeys","publish","sync","deliver","position","lastIndexOf","substr","createDeliveryFunction","toString","found","messageHasSubscribers","publishSync","subscribe","func","token","subscribeAll","subscribeOnce","unsubscribe","clearAllSubscriptions","clearSubscriptions","m","indexOf","countSubscriptions","count","getSubscriptions","list","push","value","t","isTopic","descendantTopicExists","isToken","isFunction","result","factory","undefined","module","exports","base","relative","trim","startsWith","baseObj","resultObject","host","path","query","protocol","protocolEndIndex","substring","pathIndex","queryIndex","hashIndex","_baseParse","relativeObj","href","hash","netPath","absolutePath","relativePath","_isAbsolute","test","_relativeParse","Error","url","protocolIndex","noPath","includes","noQuery","noHash","_shouldAddSlash","_addSlash","_pathResolve","resolvePath","basePath","resultString","pathSplit","split","resultArray","forEach","current","index","pop","join","RegExp","isType","null","boolean","object","Array","isArray","array","number","integer","Number","isInteger","string","splitUrl","indexOfHash","ndx","urlReference","urlFragment","decodeURI","getScheme","matches","exec","type","contextUrl","resolvedUrl","resolveUrl","contextId","compile","pointer","map","unescape","_set","subject","cursor","segment","shift","[object Object]","applySegment","append","clonedSubject","computeSegment","_assign","isScalar","_unset","filter","_","_remove","splice","curry","escape","replace","TypeError","ptr","reduce","set","assign","unset","remove","$__value","Symbol","$__href","freeze","ref","jsonTypeOf","require$$0","nil","id","instance","doc","Reference","typeOf","step","JsonPointer","item","thisArg","acc","every","some","cons","encodeURI","keys","PARAM_REGEXP","TEXT_REGEXP","TOKEN_REGEXP","QESC_REGEXP","QUOTE_REGEXP","TYPE_REGEXP","qstring","val","str","ContentType","parameters","create","param","params","sort","i","header","getHeader","headers","getcontenttype","toLowerCase","match","lastIndex","async","entries","options","results","Promise","all","a","fns","require$$1","require$$2","require$$3","require$$4","require$$5","pipeline","require$$6","allValues","propertyName","propertyValue","fetch","safeResolveUrl","config","configAlias","getConfig","schemaVersion","configVersion","schemaStore","schemaStoreAlias","add","schema","defaultSchemaVersion","JSON","parse","stringify","baseToken","anchorToken","externalId","internalUrl","fragment","dynamicAnchors","recursiveAnchorToken","vocabulary","vocabularyToken","anchors","processSchema","validated","embeddedSchemaVersion","embeddedEmbeddedToken","embeddedAnchorToken","dynamicAnchorToken","embeddedToken","anchor","jrefToken","getStoredSchema","get","contextDoc","uri","hasStoredSchema","response","Accept","status","text","has","contentType","contentTypeParser","json","storedSchema","getAnchorPointer","followReferences","nextDoc","Pact","setConfig","markValidated","InvalidSchemaError","output","super","name","constructor","FLAG","BASIC","DETAILED","VERBOSE","metaOutputFormat","shouldMetaValidate","ast","metaData","schemaUri","compileSchema","interpret","outputFormat","subscriptionToken","outputHandler","interpretSchema","resultStack","keywordResult","keyword","absoluteKeywordLocation","instanceLocation","valid","errors","topResult","unshift","_keywords","getKeyword","hasKeyword","_vocabularies","metaValidators","metaSchema","Schema","vocabularyId","isRequired","keywordHandler","collectEvaluatedItems","keywordValue","isTop","Set","collectEvaluatedProperties","addKeyword","compiledSchema","schemaInstance","Instance","metaResults","keywordId","getKeywordId","compiled","interpretAst","setMetaOutputFormat","format","setShouldMetaValidate","isEnabled","defineVocabulary","keywords","schemaValue","keywordSchema","Core","keywordAst","schemaUrl","nodes","isValid","endsWith","propertyNames","itemIndexes","validate","Keywords","parentSchema","items","numberOfItems","MAX_SAFE_INTEGER","additionalItems","properties","patternProperties","propertyNamePatterns","pattern","additionalProperties","property","propertiesSchema","itemSchema","allOf","anyOf","keyList","native_stringify","allowUndefined","max","propVal","tipeof","toJSON","isFinite","jsonStringify","const_","contains","minContains","maxContains","minContainsSchema","maxContainsSchema","matchedIndexes","itemIndex","definitionSchema","dependency","dependencies","dependentRequired","required","dependentSchema","dependentSchemas","enum_","enumValue","exclusiveMaximum","exclusiveMinimum","ifSchema","quietInterpretSchema","guard","block","itemValue","tupleItems","numberOfPrefixItems","maxItems","maxLength","maxProperties","isExclusive","maximum","minItems","minLength","minProperties","minimum","numberEqual","b","Math","abs","multipleOf","remainder","not","oneOf","validCount","propertySchema","isObject","escapeRegExp","dynamicRef","referencedSchema","unevaluatedItems","unevaluatedProperties","evaluatedPropertyNames","uniqueItems","normalizedItems","size","additionalItems6","additionalProperties6","const","require$$7","require$$8","containsMinContainsMaxContains","require$$9","definitions","require$$10","require$$11","require$$12","require$$13","enum","require$$14","require$$15","require$$16","if","require$$17","then","require$$18","else","require$$19","require$$20","items202012","require$$21","require$$22","require$$23","maxLength6","require$$24","require$$25","maximumExclusiveMaximum","require$$26","require$$27","require$$28","require$$29","minLength6","require$$30","require$$31","minimumExclusiveMinimum","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40","require$$41","require$$42","require$$43","require$$44","require$$45","require$$46","require$$47","require$$48","default","description","title","hyperSchemaVersion","fragmentResolution","media","links","pathStart","readOnly","examples","writeOnly","$defs","$recursiveRef","$ref","deprecated","contentEncoding","contentMediaType","contentSchema","$dynamicRef","prefixItems"],"mappings":"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"}