html-validate 8.7.4 → 8.9.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 (74) hide show
  1. package/dist/cjs/browser.js +7 -21
  2. package/dist/cjs/browser.js.map +1 -1
  3. package/dist/cjs/cli.js +483 -451
  4. package/dist/cjs/cli.js.map +1 -1
  5. package/dist/cjs/core-browser.js +9 -20
  6. package/dist/cjs/core-browser.js.map +1 -1
  7. package/dist/cjs/core-nodejs.js +203 -297
  8. package/dist/cjs/core-nodejs.js.map +1 -1
  9. package/dist/cjs/core.js +9735 -10454
  10. package/dist/cjs/core.js.map +1 -1
  11. package/dist/cjs/elements.js +2311 -2296
  12. package/dist/cjs/elements.js.map +1 -1
  13. package/dist/cjs/html-validate.js +148 -169
  14. package/dist/cjs/html-validate.js.map +1 -1
  15. package/dist/cjs/html5.js.map +1 -1
  16. package/dist/cjs/index.js +8 -21
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/jest-diff.js +26 -36
  19. package/dist/cjs/jest-diff.js.map +1 -1
  20. package/dist/cjs/jest.js +8 -8
  21. package/dist/cjs/jest.js.map +1 -1
  22. package/dist/cjs/matcher-utils.js +12 -28
  23. package/dist/cjs/matcher-utils.js.map +1 -1
  24. package/dist/cjs/matchers-jestonly.js +38 -47
  25. package/dist/cjs/matchers-jestonly.js.map +1 -1
  26. package/dist/cjs/matchers.js +196 -196
  27. package/dist/cjs/matchers.js.map +1 -1
  28. package/dist/cjs/meta-helper.js +40 -60
  29. package/dist/cjs/meta-helper.js.map +1 -1
  30. package/dist/cjs/test-utils.js +26 -47
  31. package/dist/cjs/test-utils.js.map +1 -1
  32. package/dist/cjs/tsdoc-metadata.json +1 -1
  33. package/dist/cjs/utils/natural-join.js +10 -23
  34. package/dist/cjs/utils/natural-join.js.map +1 -1
  35. package/dist/cjs/vitest.js +6 -6
  36. package/dist/cjs/vitest.js.map +1 -1
  37. package/dist/es/browser.js +2 -2
  38. package/dist/es/cli.js +482 -454
  39. package/dist/es/cli.js.map +1 -1
  40. package/dist/es/core-browser.js +10 -21
  41. package/dist/es/core-browser.js.map +1 -1
  42. package/dist/es/core-nodejs.js +204 -299
  43. package/dist/es/core-nodejs.js.map +1 -1
  44. package/dist/es/core.js +9730 -10455
  45. package/dist/es/core.js.map +1 -1
  46. package/dist/es/elements.js +2311 -2296
  47. package/dist/es/elements.js.map +1 -1
  48. package/dist/es/html-validate.js +150 -171
  49. package/dist/es/html-validate.js.map +1 -1
  50. package/dist/es/html5.js.map +1 -1
  51. package/dist/es/index.js +3 -3
  52. package/dist/es/jest-diff.js +11 -21
  53. package/dist/es/jest-diff.js.map +1 -1
  54. package/dist/es/jest.js +8 -8
  55. package/dist/es/jest.js.map +1 -1
  56. package/dist/es/matcher-utils.js +12 -28
  57. package/dist/es/matcher-utils.js.map +1 -1
  58. package/dist/es/matchers-jestonly.js +39 -48
  59. package/dist/es/matchers-jestonly.js.map +1 -1
  60. package/dist/es/matchers.js +196 -196
  61. package/dist/es/matchers.js.map +1 -1
  62. package/dist/es/meta-helper.js +40 -60
  63. package/dist/es/meta-helper.js.map +1 -1
  64. package/dist/es/test-utils.js +26 -47
  65. package/dist/es/test-utils.js.map +1 -1
  66. package/dist/es/utils/natural-join.js +10 -23
  67. package/dist/es/utils/natural-join.js.map +1 -1
  68. package/dist/es/vitest.js +6 -6
  69. package/dist/es/vitest.js.map +1 -1
  70. package/dist/schema/elements.json +6 -0
  71. package/dist/tsdoc-metadata.json +1 -1
  72. package/dist/types/browser.d.ts +78 -32
  73. package/dist/types/index.d.ts +105 -34
  74. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.js","sources":["../../../src/jest/matchers/to-be-valid.ts","../../../src/jest/matchers/to-be-invalid.ts","../../../src/jest/matchers/to-htmlvalidate.ts","../../../src/jest/matchers/to-have-error.ts","../../../src/jest/matchers/to-have-errors.ts","../../../src/jest/matchers/get-results.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["createMatcher","diverge","deepmerge","FileSystemConfigLoader","HtmlValidate","flattenMessages"],"mappings":"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"}
1
+ {"version":3,"file":"matchers.js","sources":["../../src/jest/matchers/to-be-valid.ts","../../src/jest/matchers/to-be-invalid.ts","../../src/jest/matchers/to-htmlvalidate.ts","../../src/jest/matchers/to-have-error.ts","../../src/jest/matchers/to-have-errors.ts","../../src/jest/matchers/get-results.ts"],"sourcesContent":["import { type Report } from \"../../reporter\";\nimport { type MatcherResult, type MaybeAsyncCallback, diverge } from \"../utils\";\n\nfunction createMatcher(): MaybeAsyncCallback<Report, []> {\n\tfunction toBeValid(report: Report): MatcherResult {\n\t\tif (report.valid) {\n\t\t\treturn {\n\t\t\t\tpass: true,\n\t\t\t\tmessage: /* istanbul ignore next */ () => \"Result should not contain error\",\n\t\t\t};\n\t\t} else {\n\t\t\tconst firstError = report.results[0].messages[0];\n\t\t\treturn {\n\t\t\t\tpass: false,\n\t\t\t\tmessage: () => `Result should be valid but had error \"${firstError.message}\"`,\n\t\t\t};\n\t\t}\n\t}\n\treturn diverge(toBeValid);\n}\n\nexport { createMatcher as toBeValid };\n","import { type Report } from \"../../reporter\";\nimport { type MatcherResult, type MaybeAsyncCallback, diverge } from \"../utils\";\n\nfunction createMatcher(): MaybeAsyncCallback<Report, []> {\n\tfunction toBeInvalid(report: Report): MatcherResult {\n\t\tif (report.valid) {\n\t\t\treturn {\n\t\t\t\tpass: false,\n\t\t\t\tmessage: () => \"Result should be invalid but had no errors\",\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tpass: true,\n\t\t\t\tmessage: /* istanbul ignore next */ () => \"Result should not contain error\",\n\t\t\t};\n\t\t}\n\t}\n\treturn diverge(toBeInvalid);\n}\n\nexport { createMatcher as toBeInvalid };\n","import deepmerge from \"deepmerge\";\nimport { type ConfigData } from \"../../config\";\nimport { FileSystemConfigLoader } from \"../../config/loaders/file-system\";\nimport { HtmlValidate } from \"../../htmlvalidate\";\nimport { type Message } from \"../../reporter\";\nimport {\n\ttype DiffFunction,\n\ttype MatcherContext,\n\ttype MatcherExpect,\n\ttype MatcherResult,\n\ttype MaybeAsyncCallback,\n\tdiverge,\n} from \"../utils\";\n\nfunction isMessage(arg: any): arg is Partial<Message> {\n\tif (!arg) {\n\t\treturn false;\n\t}\n\treturn Boolean(\n\t\targ.ruleId ||\n\t\t\targ.severity ||\n\t\t\targ.message ||\n\t\t\targ.offset ||\n\t\t\targ.line ||\n\t\t\targ.column ||\n\t\t\targ.size ||\n\t\t\targ.selector ||\n\t\t\targ.context,\n\t);\n}\n\nfunction isConfig(arg: any): arg is ConfigData {\n\tif (!arg) {\n\t\treturn false;\n\t}\n\treturn Boolean(\n\t\targ.root || arg.extends || arg.elements || arg.plugin || arg.transform || arg.rules,\n\t);\n}\n\nfunction isString(arg: any): arg is string {\n\treturn typeof arg === \"string\";\n}\n\nfunction getMarkup(src: unknown): string {\n\tif (typeof HTMLElement !== \"undefined\" && src instanceof HTMLElement) {\n\t\treturn (src as { outerHTML: string }).outerHTML;\n\t}\n\t/* istanbul ignore else: prototype only allows string or HTMLElement */\n\tif (typeof src === \"string\") {\n\t\treturn src;\n\t} else {\n\t\tthrow new Error(`Failed to get markup from \"${typeof src}\" argument`);\n\t}\n}\n\ntype Arg1 = Partial<Message> | ConfigData | string;\ntype Arg2 = ConfigData | string;\ntype Arg3 = string;\n\nfunction createMatcher(\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n): MaybeAsyncCallback<unknown, [Arg1?, Arg2?, Arg3?]> {\n\tfunction toHTMLValidate(\n\t\tthis: MatcherContext,\n\t\tactual: unknown,\n\t\targ0?: Arg1,\n\t\targ1?: Arg2,\n\t\targ2?: Arg3,\n\t): MatcherResult {\n\t\tconst markup = getMarkup(actual);\n\t\tconst message = isMessage(arg0) ? arg0 : undefined;\n\t\tconst config = isConfig(arg0) ? arg0 : isConfig(arg1) ? arg1 : undefined;\n\t\tconst filename = isString(arg0) ? arg0 : isString(arg1) ? arg1 : arg2;\n\t\treturn toHTMLValidateImpl.call(this, expect, diff, markup, message, config, filename);\n\t}\n\treturn diverge(toHTMLValidate);\n}\n\nfunction toHTMLValidateImpl(\n\tthis: MatcherContext,\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n\tactual: string,\n\texpectedError?: Partial<Message>,\n\tuserConfig?: ConfigData,\n\tfilename?: string,\n): MatcherResult {\n\tconst defaultConfig = {\n\t\trules: {\n\t\t\t/* jsdom normalizes style so disabling rule when using this matcher or it\n\t\t\t * gets quite noisy when configured with self-closing */\n\t\t\t\"void-style\": \"off\",\n\t\t},\n\t};\n\tconst config = deepmerge(defaultConfig, userConfig ?? {});\n\t/* istanbul ignore next: cant figure out when this would be unset */\n\tconst actualFilename = filename ?? this.testPath ?? \"inline\";\n\tconst loader = new FileSystemConfigLoader({\n\t\textends: [\"html-validate:recommended\"],\n\t});\n\tconst htmlvalidate = new HtmlValidate(loader);\n\tconst report = htmlvalidate.validateStringSync(actual, actualFilename, config);\n\tconst pass = report.valid;\n\tconst result = report.results[0];\n\tif (pass) {\n\t\treturn { pass, message: () => \"HTML is valid when an error was expected\" };\n\t} else {\n\t\tif (expectedError) {\n\t\t\tconst actual = result.messages;\n\t\t\tconst expected = expect.arrayContaining([expect.objectContaining(expectedError)]);\n\t\t\tconst errorPass = this.equals(actual, expected);\n\t\t\tconst diffString = diff\n\t\t\t\t? diff(expected, actual, {\n\t\t\t\t\t\texpand: this.expand,\n\t\t\t\t\t\taAnnotation: \"Expected error\",\n\t\t\t\t\t\tbAnnotation: \"Actual error\",\n\t\t\t\t })\n\t\t\t\t: /* istanbul ignore next */ undefined;\n\t\t\tconst hint = this.utils.matcherHint(\".not.toHTMLValidate\", undefined, undefined, {\n\t\t\t\tcomment: \"expected error\",\n\t\t\t});\n\t\t\tconst expectedErrorMessage = (): string =>\n\t\t\t\t[\n\t\t\t\t\thint,\n\t\t\t\t\t\"\",\n\t\t\t\t\t\"Expected error to be present:\",\n\t\t\t\t\tthis.utils.printExpected(expectedError),\n\t\t\t\t\t/* istanbul ignore next */ diffString ? `\\n${diffString}` : \"\",\n\t\t\t\t].join(\"\\n\");\n\t\t\treturn { pass: !errorPass, message: expectedErrorMessage, actual, expected };\n\t\t}\n\n\t\tconst errors = result.messages.map((message) => ` ${message.message} [${message.ruleId}]`);\n\t\treturn {\n\t\t\tpass,\n\t\t\tmessage: () =>\n\t\t\t\t[\"Expected HTML to be valid but had the following errors:\", \"\"].concat(errors).join(\"\\n\"),\n\t\t};\n\t}\n}\n\nexport { createMatcher as toHTMLValidate };\n","import { type Message, type Report } from \"../../reporter\";\nimport {\n\ttype DiffFunction,\n\ttype MatcherContext,\n\ttype MatcherExpect,\n\ttype MatcherResult,\n\ttype MaybeAsyncCallback,\n\tdiverge,\n} from \"../utils\";\nimport { flattenMessages } from \"../utils/flatten-messages\";\n\nfunction toHaveErrorImpl(\n\tcontext: MatcherContext,\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n\tactual: Report,\n\texpected: Partial<Message>,\n): MatcherResult {\n\tconst flattened = flattenMessages(actual);\n\tconst matcher = [expect.objectContaining(expected)];\n\tconst pass = context.equals(flattened, matcher);\n\tconst diffString = diff\n\t\t? diff(matcher, flattened, { expand: context.expand })\n\t\t: /* istanbul ignore next */ undefined;\n\tconst hint = context.utils.matcherHint(\".toHaveError\");\n\tconst prettyExpected = context.utils.printExpected(matcher);\n\tconst prettyReceived = context.utils.printReceived(flattened);\n\tconst resultMessage = (): string => {\n\t\treturn [\n\t\t\thint,\n\t\t\t\"\",\n\t\t\t\"Expected error to equal:\",\n\t\t\t` ${prettyExpected}`,\n\t\t\t\"Received:\",\n\t\t\t` ${prettyReceived}`,\n\t\t\t/* istanbul ignore next */ diffString ? `\\nDifference:\\n\\n${diffString}` : \"\",\n\t\t].join(\"\\n\");\n\t};\n\treturn { pass, message: resultMessage, actual: flattened, expected: matcher };\n}\n\nfunction createMatcher(\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n):\n\t| MaybeAsyncCallback<Report, [Partial<Message>]>\n\t| MaybeAsyncCallback<Report, [string, string, any?]> {\n\tfunction toHaveError(\n\t\tthis: MatcherContext,\n\t\tactual: Report,\n\t\terror: Partial<Message>,\n\t): MatcherResult;\n\tfunction toHaveError(\n\t\tthis: MatcherContext,\n\t\tactual: Report,\n\t\truleId: string,\n\t\tmessage: string,\n\t\tcontext?: any,\n\t): MatcherResult;\n\tfunction toHaveError(\n\t\tthis: MatcherContext,\n\t\tactual: Report,\n\t\targ1: string | Partial<Message>,\n\t\targ2?: string,\n\t\targ3?: any,\n\t): MatcherResult {\n\t\tif (typeof arg1 === \"string\") {\n\t\t\tconst expected: Partial<Message> = {\n\t\t\t\truleId: arg1,\n\t\t\t\tmessage: arg2,\n\t\t\t};\n\t\t\tif (arg3) {\n\t\t\t\t/* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- this is supposed to accept anything */\n\t\t\t\texpected.context = arg3;\n\t\t\t}\n\t\t\treturn toHaveErrorImpl(this, expect, diff, actual, expected);\n\t\t} else {\n\t\t\treturn toHaveErrorImpl(this, expect, diff, actual, arg1);\n\t\t}\n\t}\n\treturn diverge(toHaveError);\n}\n\nexport { createMatcher as toHaveError };\n","/* eslint-disable prefer-template -- technical debt, should be refactored */\n\nimport { type Report } from \"../../reporter\";\nimport {\n\ttype DiffFunction,\n\ttype MatcherContext,\n\ttype MatcherExpect,\n\ttype MatcherResult,\n\ttype MaybeAsyncCallback,\n\tdiverge,\n\tflattenMessages,\n} from \"../utils\";\n\nfunction createMatcher(\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n): MaybeAsyncCallback<Report, [Array<[string, string] | Record<string, unknown>>]> {\n\tfunction toHaveErrors(\n\t\tthis: MatcherContext,\n\t\treport: Report,\n\t\terrors: Array<[string, string] | Record<string, unknown>>,\n\t): MatcherResult {\n\t\tconst flattened = flattenMessages(report);\n\t\tconst matcher = errors.map((entry) => {\n\t\t\tif (Array.isArray(entry)) {\n\t\t\t\tconst [ruleId, message] = entry;\n\t\t\t\treturn expect.objectContaining({ ruleId, message });\n\t\t\t} else {\n\t\t\t\treturn expect.objectContaining(entry);\n\t\t\t}\n\t\t});\n\t\tconst pass = this.equals(flattened, matcher);\n\t\tconst diffString = diff\n\t\t\t? diff(matcher, flattened, { expand: this.expand })\n\t\t\t: /* istanbul ignore next */ undefined;\n\t\tconst resultMessage = (): string =>\n\t\t\tthis.utils.matcherHint(\".toHaveErrors\") +\n\t\t\t\"\\n\\n\" +\n\t\t\t\"Expected error to equal:\\n\" +\n\t\t\t` ${this.utils.printExpected(matcher)}\\n` +\n\t\t\t\"Received:\\n\" +\n\t\t\t` ${this.utils.printReceived(flattened)}` +\n\t\t\t/* istanbul ignore next */ (diffString ? `\\n\\nDifference:\\n\\n${diffString}` : \"\");\n\n\t\treturn { pass, message: resultMessage };\n\t}\n\treturn diverge(toHaveErrors);\n}\n\nexport { createMatcher as toHaveErrors };\n","import { FileSystemConfigLoader } from \"../../config/loaders/file-system\";\nimport { type Report, type Result } from \"../../reporter\";\nimport { HtmlValidate } from \"../../htmlvalidate\";\n\n/**\n * @internal\n */\nexport function getResults(filename: string, value: Report | string): Result[] {\n\tif (typeof value === \"string\") {\n\t\tconst loader = new FileSystemConfigLoader({\n\t\t\textends: [\"html-validate:recommended\"],\n\t\t});\n\t\tconst htmlvalidate = new HtmlValidate(loader);\n\t\tconst report = htmlvalidate.validateStringSync(value, filename, {\n\t\t\trules: {\n\t\t\t\t\"void-style\": \"off\",\n\t\t\t},\n\t\t});\n\t\treturn report.results.map((it) => {\n\t\t\treturn { ...it, filePath: \"inline\" };\n\t\t});\n\t} else {\n\t\treturn value.results;\n\t}\n}\n"],"names":["createMatcher","diverge","deepmerge","FileSystemConfigLoader","HtmlValidate","actual","flattenMessages"],"mappings":";;;;;;AAGA,SAASA,eAAgD,GAAA;AACxD,EAAA,SAAS,UAAU,MAA+B,EAAA;AACjD,IAAA,IAAI,OAAO,KAAO,EAAA;AACjB,MAAO,OAAA;AAAA,QACN,IAAM,EAAA,IAAA;AAAA,QACN,OAAA;AAAA;AAAA,UAAoC,MAAM,iCAAA;AAAA,SAAA;AAAA,OAC3C,CAAA;AAAA,KACM,MAAA;AACN,MAAA,MAAM,aAAa,MAAO,CAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,SAAS,CAAC,CAAA,CAAA;AAC/C,MAAO,OAAA;AAAA,QACN,IAAM,EAAA,KAAA;AAAA,QACN,OAAS,EAAA,MAAM,CAAyC,sCAAA,EAAA,UAAA,CAAW,OAAO,CAAA,CAAA,CAAA;AAAA,OAC3E,CAAA;AAAA,KACD;AAAA,GACD;AACA,EAAA,OAAOC,qBAAQ,SAAS,CAAA,CAAA;AACzB;;AChBA,SAASD,eAAgD,GAAA;AACxD,EAAA,SAAS,YAAY,MAA+B,EAAA;AACnD,IAAA,IAAI,OAAO,KAAO,EAAA;AACjB,MAAO,OAAA;AAAA,QACN,IAAM,EAAA,KAAA;AAAA,QACN,SAAS,MAAM,4CAAA;AAAA,OAChB,CAAA;AAAA,KACM,MAAA;AACN,MAAO,OAAA;AAAA,QACN,IAAM,EAAA,IAAA;AAAA,QACN,OAAA;AAAA;AAAA,UAAoC,MAAM,iCAAA;AAAA,SAAA;AAAA,OAC3C,CAAA;AAAA,KACD;AAAA,GACD;AACA,EAAA,OAAOC,qBAAQ,WAAW,CAAA,CAAA;AAC3B;;ACJA,SAAS,UAAU,GAAmC,EAAA;AACrD,EAAA,IAAI,CAAC,GAAK,EAAA;AACT,IAAO,OAAA,KAAA,CAAA;AAAA,GACR;AACA,EAAO,OAAA,OAAA;AAAA,IACN,IAAI,MACH,IAAA,GAAA,CAAI,QACJ,IAAA,GAAA,CAAI,WACJ,GAAI,CAAA,MAAA,IACJ,GAAI,CAAA,IAAA,IACJ,IAAI,MACJ,IAAA,GAAA,CAAI,IACJ,IAAA,GAAA,CAAI,YACJ,GAAI,CAAA,OAAA;AAAA,GACN,CAAA;AACD,CAAA;AAEA,SAAS,SAAS,GAA6B,EAAA;AAC9C,EAAA,IAAI,CAAC,GAAK,EAAA;AACT,IAAO,OAAA,KAAA,CAAA;AAAA,GACR;AACA,EAAO,OAAA,OAAA;AAAA,IACN,GAAA,CAAI,IAAQ,IAAA,GAAA,CAAI,OAAW,IAAA,GAAA,CAAI,YAAY,GAAI,CAAA,MAAA,IAAU,GAAI,CAAA,SAAA,IAAa,GAAI,CAAA,KAAA;AAAA,GAC/E,CAAA;AACD,CAAA;AAEA,SAAS,SAAS,GAAyB,EAAA;AAC1C,EAAA,OAAO,OAAO,GAAQ,KAAA,QAAA,CAAA;AACvB,CAAA;AAEA,SAAS,UAAU,GAAsB,EAAA;AACxC,EAAA,IAAI,OAAO,WAAA,KAAgB,WAAe,IAAA,GAAA,YAAe,WAAa,EAAA;AACrE,IAAA,OAAQ,GAA8B,CAAA,SAAA,CAAA;AAAA,GACvC;AAEA,EAAI,IAAA,OAAO,QAAQ,QAAU,EAAA;AAC5B,IAAO,OAAA,GAAA,CAAA;AAAA,GACD,MAAA;AACN,IAAA,MAAM,IAAI,KAAA,CAAM,CAA8B,2BAAA,EAAA,OAAO,GAAG,CAAY,UAAA,CAAA,CAAA,CAAA;AAAA,GACrE;AACD,CAAA;AAMA,SAASD,eAAA,CACR,QACA,IACqD,EAAA;AACrD,EAAA,SAAS,cAER,CAAA,MAAA,EACA,IACA,EAAA,IAAA,EACA,IACgB,EAAA;AAChB,IAAM,MAAA,MAAA,GAAS,UAAU,MAAM,CAAA,CAAA;AAC/B,IAAA,MAAM,OAAU,GAAA,SAAA,CAAU,IAAI,CAAA,GAAI,IAAO,GAAA,KAAA,CAAA,CAAA;AACzC,IAAM,MAAA,MAAA,GAAS,SAAS,IAAI,CAAA,GAAI,OAAO,QAAS,CAAA,IAAI,IAAI,IAAO,GAAA,KAAA,CAAA,CAAA;AAC/D,IAAM,MAAA,QAAA,GAAW,SAAS,IAAI,CAAA,GAAI,OAAO,QAAS,CAAA,IAAI,IAAI,IAAO,GAAA,IAAA,CAAA;AACjE,IAAO,OAAA,kBAAA,CAAmB,KAAK,IAAM,EAAA,MAAA,EAAQ,MAAM,MAAQ,EAAA,OAAA,EAAS,QAAQ,QAAQ,CAAA,CAAA;AAAA,GACrF;AACA,EAAA,OAAOC,qBAAQ,cAAc,CAAA,CAAA;AAC9B,CAAA;AAEA,SAAS,mBAER,MACA,EAAA,IAAA,EACA,MACA,EAAA,aAAA,EACA,YACA,QACgB,EAAA;AAChB,EAAA,MAAM,aAAgB,GAAA;AAAA,IACrB,KAAO,EAAA;AAAA;AAAA;AAAA,MAGN,YAAc,EAAA,KAAA;AAAA,KACf;AAAA,GACD,CAAA;AACA,EAAA,MAAM,MAAS,GAAAC,cAAA,CAAU,aAAe,EAAA,UAAA,IAAc,EAAE,CAAA,CAAA;AAExD,EAAM,MAAA,cAAA,GAAiB,QAAY,IAAA,IAAA,CAAK,QAAY,IAAA,QAAA,CAAA;AACpD,EAAM,MAAA,MAAA,GAAS,IAAIC,iCAAuB,CAAA;AAAA,IACzC,OAAA,EAAS,CAAC,2BAA2B,CAAA;AAAA,GACrC,CAAA,CAAA;AACD,EAAM,MAAA,YAAA,GAAe,IAAIC,iBAAA,CAAa,MAAM,CAAA,CAAA;AAC5C,EAAA,MAAM,MAAS,GAAA,YAAA,CAAa,kBAAmB,CAAA,MAAA,EAAQ,gBAAgB,MAAM,CAAA,CAAA;AAC7E,EAAA,MAAM,OAAO,MAAO,CAAA,KAAA,CAAA;AACpB,EAAM,MAAA,MAAA,GAAS,MAAO,CAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAC/B,EAAA,IAAI,IAAM,EAAA;AACT,IAAA,OAAO,EAAE,IAAA,EAAM,OAAS,EAAA,MAAM,0CAA2C,EAAA,CAAA;AAAA,GACnE,MAAA;AACN,IAAA,IAAI,aAAe,EAAA;AAClB,MAAA,MAAMC,UAAS,MAAO,CAAA,QAAA,CAAA;AACtB,MAAM,MAAA,QAAA,GAAW,OAAO,eAAgB,CAAA,CAAC,OAAO,gBAAiB,CAAA,aAAa,CAAC,CAAC,CAAA,CAAA;AAChF,MAAA,MAAM,SAAY,GAAA,IAAA,CAAK,MAAOA,CAAAA,OAAAA,EAAQ,QAAQ,CAAA,CAAA;AAC9C,MAAA,MAAM,UAAa,GAAA,IAAA,GAChB,IAAK,CAAA,QAAA,EAAUA,OAAQ,EAAA;AAAA,QACvB,QAAQ,IAAK,CAAA,MAAA;AAAA,QACb,WAAa,EAAA,gBAAA;AAAA,QACb,WAAa,EAAA,cAAA;AAAA,OACZ,CAAA;AAAA;AAAA,QAC0B,KAAA,CAAA;AAAA,OAAA,CAAA;AAC9B,MAAA,MAAM,OAAO,IAAK,CAAA,KAAA,CAAM,WAAY,CAAA,qBAAA,EAAuB,QAAW,KAAW,CAAA,EAAA;AAAA,QAChF,OAAS,EAAA,gBAAA;AAAA,OACT,CAAA,CAAA;AACD,MAAA,MAAM,uBAAuB,MAC5B;AAAA,QACC,IAAA;AAAA,QACA,EAAA;AAAA,QACA,+BAAA;AAAA,QACA,IAAA,CAAK,KAAM,CAAA,aAAA,CAAc,aAAa,CAAA;AAAA;AAAA,QACX,UAAa,GAAA,CAAA;AAAA,EAAK,UAAU,CAAK,CAAA,GAAA,EAAA;AAAA,OAC7D,CAAE,KAAK,IAAI,CAAA,CAAA;AACZ,MAAO,OAAA,EAAE,MAAM,CAAC,SAAA,EAAW,SAAS,oBAAsB,EAAA,MAAA,EAAAA,SAAQ,QAAS,EAAA,CAAA;AAAA,KAC5E;AAEA,IAAA,MAAM,MAAS,GAAA,MAAA,CAAO,QAAS,CAAA,GAAA,CAAI,CAAC,OAAA,KAAY,CAAK,EAAA,EAAA,OAAA,CAAQ,OAAO,CAAA,EAAA,EAAK,OAAQ,CAAA,MAAM,CAAG,CAAA,CAAA,CAAA,CAAA;AAC1F,IAAO,OAAA;AAAA,MACN,IAAA;AAAA,MACA,OAAA,EAAS,MACR,CAAC,yDAA2D,EAAA,EAAE,EAAE,MAAO,CAAA,MAAM,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA,KAC1F,CAAA;AAAA,GACD;AACD;;AClIA,SAAS,eACR,CAAA,OAAA,EACA,MACA,EAAA,IAAA,EACA,QACA,QACgB,EAAA;AAChB,EAAM,MAAA,SAAA,GAAYC,6BAAgB,MAAM,CAAA,CAAA;AACxC,EAAA,MAAM,OAAU,GAAA,CAAC,MAAO,CAAA,gBAAA,CAAiB,QAAQ,CAAC,CAAA,CAAA;AAClD,EAAA,MAAM,IAAO,GAAA,OAAA,CAAQ,MAAO,CAAA,SAAA,EAAW,OAAO,CAAA,CAAA;AAC9C,EAAM,MAAA,UAAA,GAAa,OAChB,IAAK,CAAA,OAAA,EAAS,WAAW,EAAE,MAAA,EAAQ,OAAQ,CAAA,MAAA,EAAQ,CAAA;AAAA;AAAA,IACxB,KAAA,CAAA;AAAA,GAAA,CAAA;AAC9B,EAAA,MAAM,IAAO,GAAA,OAAA,CAAQ,KAAM,CAAA,WAAA,CAAY,cAAc,CAAA,CAAA;AACrD,EAAA,MAAM,cAAiB,GAAA,OAAA,CAAQ,KAAM,CAAA,aAAA,CAAc,OAAO,CAAA,CAAA;AAC1D,EAAA,MAAM,cAAiB,GAAA,OAAA,CAAQ,KAAM,CAAA,aAAA,CAAc,SAAS,CAAA,CAAA;AAC5D,EAAA,MAAM,gBAAgB,MAAc;AACnC,IAAO,OAAA;AAAA,MACN,IAAA;AAAA,MACA,EAAA;AAAA,MACA,0BAAA;AAAA,MACA,KAAK,cAAc,CAAA,CAAA;AAAA,MACnB,WAAA;AAAA,MACA,KAAK,cAAc,CAAA,CAAA;AAAA;AAAA,MACQ,UAAa,GAAA,CAAA;AAAA;AAAA;AAAA,EAAoB,UAAU,CAAK,CAAA,GAAA,EAAA;AAAA,KAC5E,CAAE,KAAK,IAAI,CAAA,CAAA;AAAA,GACZ,CAAA;AACA,EAAA,OAAO,EAAE,IAAM,EAAA,OAAA,EAAS,eAAe,MAAQ,EAAA,SAAA,EAAW,UAAU,OAAQ,EAAA,CAAA;AAC7E,CAAA;AAEA,SAASN,eAAA,CACR,QACA,IAGqD,EAAA;AAarD,EAAA,SAAS,WAER,CAAA,MAAA,EACA,IACA,EAAA,IAAA,EACA,IACgB,EAAA;AAChB,IAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC7B,MAAA,MAAM,QAA6B,GAAA;AAAA,QAClC,MAAQ,EAAA,IAAA;AAAA,QACR,OAAS,EAAA,IAAA;AAAA,OACV,CAAA;AACA,MAAA,IAAI,IAAM,EAAA;AAET,QAAA,QAAA,CAAS,OAAU,GAAA,IAAA,CAAA;AAAA,OACpB;AACA,MAAA,OAAO,eAAgB,CAAA,IAAA,EAAM,MAAQ,EAAA,IAAA,EAAM,QAAQ,QAAQ,CAAA,CAAA;AAAA,KACrD,MAAA;AACN,MAAA,OAAO,eAAgB,CAAA,IAAA,EAAM,MAAQ,EAAA,IAAA,EAAM,QAAQ,IAAI,CAAA,CAAA;AAAA,KACxD;AAAA,GACD;AACA,EAAA,OAAOC,qBAAQ,WAAW,CAAA,CAAA;AAC3B;;ACpEA,SAAS,aAAA,CACR,QACA,IACkF,EAAA;AAClF,EAAS,SAAA,YAAA,CAER,QACA,MACgB,EAAA;AAChB,IAAM,MAAA,SAAA,GAAYK,6BAAgB,MAAM,CAAA,CAAA;AACxC,IAAA,MAAM,OAAU,GAAA,MAAA,CAAO,GAAI,CAAA,CAAC,KAAU,KAAA;AACrC,MAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACzB,QAAM,MAAA,CAAC,MAAQ,EAAA,OAAO,CAAI,GAAA,KAAA,CAAA;AAC1B,QAAA,OAAO,MAAO,CAAA,gBAAA,CAAiB,EAAE,MAAA,EAAQ,SAAS,CAAA,CAAA;AAAA,OAC5C,MAAA;AACN,QAAO,OAAA,MAAA,CAAO,iBAAiB,KAAK,CAAA,CAAA;AAAA,OACrC;AAAA,KACA,CAAA,CAAA;AACD,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,MAAO,CAAA,SAAA,EAAW,OAAO,CAAA,CAAA;AAC3C,IAAM,MAAA,UAAA,GAAa,OAChB,IAAK,CAAA,OAAA,EAAS,WAAW,EAAE,MAAA,EAAQ,IAAK,CAAA,MAAA,EAAQ,CAAA;AAAA;AAAA,MACrB,KAAA,CAAA;AAAA,KAAA,CAAA;AAC9B,IAAA,MAAM,gBAAgB,MACrB,IAAA,CAAK,KAAM,CAAA,WAAA,CAAY,eAAe,CACtC,GAAA,CAAA;AAAA;AAAA;AAAA,EAAA,EAEK,IAAK,CAAA,KAAA,CAAM,aAAc,CAAA,OAAO,CAAC,CAAA;AAAA;AAAA,EAAA,EAEjC,IAAK,CAAA,KAAA,CAAM,aAAc,CAAA,SAAS,CAAC,CAAA,CAAA;AAAA,KACZ,UAAa,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA,EAAsB,UAAU,CAAK,CAAA,GAAA,EAAA,CAAA,CAAA;AAE/E,IAAO,OAAA,EAAE,IAAM,EAAA,OAAA,EAAS,aAAc,EAAA,CAAA;AAAA,GACvC;AACA,EAAA,OAAOL,qBAAQ,YAAY,CAAA,CAAA;AAC5B;;ACxCgB,SAAA,UAAA,CAAW,UAAkB,KAAkC,EAAA;AAC9E,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC9B,IAAM,MAAA,MAAA,GAAS,IAAIE,iCAAuB,CAAA;AAAA,MACzC,OAAA,EAAS,CAAC,2BAA2B,CAAA;AAAA,KACrC,CAAA,CAAA;AACD,IAAM,MAAA,YAAA,GAAe,IAAIC,iBAAA,CAAa,MAAM,CAAA,CAAA;AAC5C,IAAA,MAAM,MAAS,GAAA,YAAA,CAAa,kBAAmB,CAAA,KAAA,EAAO,QAAU,EAAA;AAAA,MAC/D,KAAO,EAAA;AAAA,QACN,YAAc,EAAA,KAAA;AAAA,OACf;AAAA,KACA,CAAA,CAAA;AACD,IAAA,OAAO,MAAO,CAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,EAAO,KAAA;AACjC,MAAA,OAAO,EAAE,GAAG,EAAI,EAAA,QAAA,EAAU,QAAS,EAAA,CAAA;AAAA,KACnC,CAAA,CAAA;AAAA,GACK,MAAA;AACN,IAAA,OAAO,KAAM,CAAA,OAAA,CAAA;AAAA,GACd;AACD;;;;;;;;;"}
@@ -2,78 +2,58 @@
2
2
 
3
3
  var utils_naturalJoin = require('./utils/natural-join.js');
4
4
 
5
- /**
6
- * Helper function to assist IDE with completion and type-checking.
7
- *
8
- * @public
9
- */
10
5
  function defineMetadata(metatable) {
11
- return metatable;
6
+ return metatable;
12
7
  }
13
8
 
14
- /**
15
- * @internal
16
- */
17
9
  function allowedIfAttributeIsPresent(...attr) {
18
- return (node) => {
19
- if (attr.some((it) => node.hasAttribute(it))) {
20
- return null;
21
- }
22
- const expected = utils_naturalJoin.naturalJoin(attr.map((it) => `"${it}"`));
23
- return `requires ${expected} attribute to be present`;
24
- };
10
+ return (node) => {
11
+ if (attr.some((it) => node.hasAttribute(it))) {
12
+ return null;
13
+ }
14
+ const expected = utils_naturalJoin.naturalJoin(attr.map((it) => `"${it}"`));
15
+ return `requires ${expected} attribute to be present`;
16
+ };
25
17
  }
26
- /**
27
- * @internal
28
- */
29
18
  function allowedIfAttributeIsAbsent(...attr) {
30
- return (node) => {
31
- const present = attr.filter((it) => node.hasAttribute(it));
32
- if (present.length === 0) {
33
- return null;
34
- }
35
- const expected = utils_naturalJoin.naturalJoin(present.map((it) => `"${it}"`));
36
- return `cannot be used at the same time as ${expected}`;
37
- };
19
+ return (node) => {
20
+ const present = attr.filter((it) => node.hasAttribute(it));
21
+ if (present.length === 0) {
22
+ return null;
23
+ }
24
+ const expected = utils_naturalJoin.naturalJoin(present.map((it) => `"${it}"`));
25
+ return `cannot be used at the same time as ${expected}`;
26
+ };
38
27
  }
39
- /**
40
- * @internal
41
- */
42
28
  function allowedIfAttributeHasValue(key, expectedValue, { defaultValue } = {}) {
43
- return (node) => {
44
- const attr = node.getAttribute(key);
45
- if (attr && typeof attr !== "string") {
46
- return null;
47
- }
48
- const actualValue = attr ? attr : defaultValue;
49
- if (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {
50
- return null;
51
- }
52
- const expected = utils_naturalJoin.naturalJoin(expectedValue.map((it) => `"${it}"`));
53
- return `"${key}" attribute must be ${expected}`;
54
- };
29
+ return (node) => {
30
+ const attr = node.getAttribute(key);
31
+ if (attr && typeof attr !== "string") {
32
+ return null;
33
+ }
34
+ const actualValue = attr ? attr : defaultValue;
35
+ if (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {
36
+ return null;
37
+ }
38
+ const expected = utils_naturalJoin.naturalJoin(expectedValue.map((it) => `"${it}"`));
39
+ return `"${key}" attribute must be ${expected}`;
40
+ };
55
41
  }
56
- /**
57
- * @internal
58
- */
59
42
  function allowedIfParentIsPresent(...tags) {
60
- return (node) => {
61
- const match = tags.some((it) => node.closest(it));
62
- if (match) {
63
- return null;
64
- }
65
- const expected = utils_naturalJoin.naturalJoin(tags.map((it) => `<${it}>`));
66
- return `requires ${expected} as parent`;
67
- };
43
+ return (node) => {
44
+ const match = tags.some((it) => node.closest(it));
45
+ if (match) {
46
+ return null;
47
+ }
48
+ const expected = utils_naturalJoin.naturalJoin(tags.map((it) => `<${it}>`));
49
+ return `requires ${expected} as parent`;
50
+ };
68
51
  }
69
- /**
70
- * @public
71
- */
72
52
  const metadataHelper = {
73
- allowedIfAttributeIsPresent,
74
- allowedIfAttributeIsAbsent,
75
- allowedIfAttributeHasValue,
76
- allowedIfParentIsPresent,
53
+ allowedIfAttributeIsPresent,
54
+ allowedIfAttributeIsAbsent,
55
+ allowedIfAttributeHasValue,
56
+ allowedIfParentIsPresent
77
57
  };
78
58
 
79
59
  exports.defineMetadata = defineMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"meta-helper.js","sources":["../../../src/meta/define-metadata.ts","../../../src/meta/helper.ts"],"sourcesContent":[null,null],"names":["naturalJoin"],"mappings":"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"}
1
+ {"version":3,"file":"meta-helper.js","sources":["../../src/meta/define-metadata.ts","../../src/meta/helper.ts"],"sourcesContent":["import { type MetaDataTable } from \"./element\";\n\n/**\n * Helper function to assist IDE with completion and type-checking.\n *\n * @public\n */\nexport function defineMetadata(metatable: MetaDataTable): MetaDataTable {\n\treturn metatable;\n}\n","import { naturalJoin } from \"../utils/natural-join\";\nimport { type MetaAttributeAllowedCallback } from \"./element\";\nimport { type HtmlElementLike } from \"./html-element-like\";\n\n/**\n * Helpers when writing element metadata.\n *\n * @public\n */\nexport interface MetadataHelper {\n\t/** Returns an error if another attribute is omitted, i.e. it requires another attribute to be present to pass. */\n\tallowedIfAttributeIsPresent(this: void, ...attr: string[]): MetaAttributeAllowedCallback;\n\n\t/** Returns an error if another attribute is present, i.e. it requires another attribute to be omitted to pass. */\n\tallowedIfAttributeIsAbsent(this: void, ...attr: string[]): MetaAttributeAllowedCallback;\n\n\t/** Returns an error if another attribute does not have one of the listed values */\n\tallowedIfAttributeHasValue(\n\t\tthis: void,\n\t\tattr: string,\n\t\tvalue: string[],\n\t\toptions?: { defaultValue?: string | null },\n\t): MetaAttributeAllowedCallback;\n\n\t/**\n\t * Returns an error if the node doesn't have any of the given elements as parent\n\t *\n\t * @since 8.2.0\n\t **/\n\tallowedIfParentIsPresent(this: void, ...tags: string[]): MetaAttributeAllowedCallback;\n}\n\n/**\n * @internal\n */\nexport function allowedIfAttributeIsPresent(...attr: string[]) {\n\treturn (node: HtmlElementLike) => {\n\t\tif (attr.some((it) => node.hasAttribute(it))) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(attr.map((it) => `\"${it}\"`));\n\t\treturn `requires ${expected} attribute to be present`;\n\t};\n}\n\n/**\n * @internal\n */\nexport function allowedIfAttributeIsAbsent(...attr: string[]): MetaAttributeAllowedCallback {\n\treturn (node: HtmlElementLike) => {\n\t\tconst present = attr.filter((it) => node.hasAttribute(it));\n\t\tif (present.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(present.map((it) => `\"${it}\"`));\n\t\treturn `cannot be used at the same time as ${expected}`;\n\t};\n}\n\n/**\n * @internal\n */\nexport function allowedIfAttributeHasValue(\n\tkey: string,\n\texpectedValue: string[],\n\t{ defaultValue }: { defaultValue?: string | null } = {},\n): MetaAttributeAllowedCallback {\n\treturn (node: HtmlElementLike) => {\n\t\tconst attr = node.getAttribute(key);\n\t\tif (attr && typeof attr !== \"string\") {\n\t\t\treturn null;\n\t\t}\n\t\tconst actualValue = attr ? attr : defaultValue;\n\t\tif (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(expectedValue.map((it) => `\"${it}\"`));\n\t\treturn `\"${key}\" attribute must be ${expected}`;\n\t};\n}\n\n/**\n * @internal\n */\nexport function allowedIfParentIsPresent(\n\tthis: void,\n\t...tags: string[]\n): MetaAttributeAllowedCallback {\n\treturn (node: HtmlElementLike) => {\n\t\tconst match = tags.some((it) => node.closest(it));\n\t\tif (match) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(tags.map((it) => `<${it}>`));\n\t\treturn `requires ${expected} as parent`;\n\t};\n}\n\n/**\n * @public\n */\nexport const metadataHelper: MetadataHelper = {\n\tallowedIfAttributeIsPresent,\n\tallowedIfAttributeIsAbsent,\n\tallowedIfAttributeHasValue,\n\tallowedIfParentIsPresent,\n};\n"],"names":["naturalJoin"],"mappings":";;;;AAOO,SAAS,eAAe,SAAyC,EAAA;AACvE,EAAO,OAAA,SAAA,CAAA;AACR;;AC0BO,SAAS,+BAA+B,IAAgB,EAAA;AAC9D,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAI,IAAA,IAAA,CAAK,KAAK,CAAC,EAAA,KAAO,KAAK,YAAa,CAAA,EAAE,CAAC,CAAG,EAAA;AAC7C,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAWA,8BAAY,IAAK,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AACxD,IAAA,OAAO,YAAY,QAAQ,CAAA,wBAAA,CAAA,CAAA;AAAA,GAC5B,CAAA;AACD,CAAA;AAKO,SAAS,8BAA8B,IAA8C,EAAA;AAC3F,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAM,MAAA,OAAA,GAAU,KAAK,MAAO,CAAA,CAAC,OAAO,IAAK,CAAA,YAAA,CAAa,EAAE,CAAC,CAAA,CAAA;AACzD,IAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACzB,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAWA,8BAAY,OAAQ,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AAC3D,IAAA,OAAO,sCAAsC,QAAQ,CAAA,CAAA,CAAA;AAAA,GACtD,CAAA;AACD,CAAA;AAKO,SAAS,2BACf,GACA,EAAA,aAAA,EACA,EAAE,YAAa,EAAA,GAAsC,EACtB,EAAA;AAC/B,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAM,MAAA,IAAA,GAAO,IAAK,CAAA,YAAA,CAAa,GAAG,CAAA,CAAA;AAClC,IAAI,IAAA,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAU,EAAA;AACrC,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,WAAA,GAAc,OAAO,IAAO,GAAA,YAAA,CAAA;AAClC,IAAA,IAAI,eAAe,aAAc,CAAA,QAAA,CAAS,WAAY,CAAA,iBAAA,EAAmB,CAAG,EAAA;AAC3E,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAWA,8BAAY,aAAc,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AACjE,IAAO,OAAA,CAAA,CAAA,EAAI,GAAG,CAAA,oBAAA,EAAuB,QAAQ,CAAA,CAAA,CAAA;AAAA,GAC9C,CAAA;AACD,CAAA;AAKO,SAAS,4BAEZ,IAC4B,EAAA;AAC/B,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,KAAK,IAAK,CAAA,CAAC,OAAO,IAAK,CAAA,OAAA,CAAQ,EAAE,CAAC,CAAA,CAAA;AAChD,IAAA,IAAI,KAAO,EAAA;AACV,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAWA,8BAAY,IAAK,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AACxD,IAAA,OAAO,YAAY,QAAQ,CAAA,UAAA,CAAA,CAAA;AAAA,GAC5B,CAAA;AACD,CAAA;AAKO,MAAM,cAAiC,GAAA;AAAA,EAC7C,2BAAA;AAAA,EACA,0BAAA;AAAA,EACA,0BAAA;AAAA,EACA,wBAAA;AACD;;;;;"}
@@ -6,58 +6,37 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
6
 
7
7
  var fs__default = /*#__PURE__*/_interopDefault(fs);
8
8
 
9
- /**
10
- * Helper function to call a transformer function in test-cases.
11
- *
12
- * @public
13
- * @param fn - Transformer function to call.
14
- * @param filename - Filename to read data from. Must be readable.
15
- * @param chain - If set this function is called when chaining transformers. Default is pass-thru.
16
- */
17
9
  function transformFile(fn, filename, chain) {
18
- const data = fs__default.default.readFileSync(filename, "utf-8");
19
- const source = {
20
- filename,
21
- line: 1,
22
- column: 1,
23
- offset: 0,
24
- data,
25
- };
26
- return transformSource(fn, source, chain);
10
+ const data = fs__default.default.readFileSync(filename, "utf-8");
11
+ const source = {
12
+ filename,
13
+ line: 1,
14
+ column: 1,
15
+ offset: 0,
16
+ data
17
+ };
18
+ return transformSource(fn, source, chain);
27
19
  }
28
- /**
29
- * Helper function to call a transformer function in test-cases.
30
- *
31
- * @public
32
- * @param fn - Transformer function to call.
33
- * @param data - String to transform.
34
- * @param chain - If set this function is called when chaining transformers. Default is pass-thru.
35
- */
36
20
  function transformString(fn, data, chain) {
37
- const source = {
38
- filename: "inline",
39
- line: 1,
40
- column: 1,
41
- offset: 0,
42
- data,
43
- };
44
- return transformSource(fn, source, chain);
21
+ const source = {
22
+ filename: "inline",
23
+ line: 1,
24
+ column: 1,
25
+ offset: 0,
26
+ data
27
+ };
28
+ return transformSource(fn, source, chain);
45
29
  }
46
- /**
47
- * Helper function to call a transformer function in test-cases.
48
- *
49
- * @public
50
- * @param fn - Transformer function to call.
51
- * @param data - Source to transform.
52
- * @param chain - If set this function is called when chaining transformers. Default is pass-thru.
53
- */
54
30
  function transformSource(fn, source, chain) {
55
- const defaultChain = (source) => [source];
56
- const context = {
57
- hasChain: /* istanbul ignore next */ () => true,
58
- chain: chain !== null && chain !== void 0 ? chain : defaultChain,
59
- };
60
- return Array.from(fn.call(context, source));
31
+ const defaultChain = (source2) => [source2];
32
+ const context = {
33
+ hasChain: (
34
+ /* istanbul ignore next */
35
+ () => true
36
+ ),
37
+ chain: chain ?? defaultChain
38
+ };
39
+ return Array.from(fn.call(context, source));
61
40
  }
62
41
 
63
42
  exports.transformFile = transformFile;
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sources":["../../../src/transform/test-utils.ts"],"sourcesContent":[null],"names":["fs"],"mappings":";;;;;;;;AAQA;;;;;;;AAOG;SACa,aAAa,CAC5B,EAAe,EACf,QAAgB,EAChB,KAA8D,EAAA;IAE9D,MAAM,IAAI,GAAGA,mBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChD,IAAA,MAAM,MAAM,GAAW;QACtB,QAAQ;AACR,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,MAAM,EAAE,CAAC;QACT,IAAI;KACJ,CAAC;IACF,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;SACa,eAAe,CAC9B,EAAe,EACf,IAAY,EACZ,KAA8D,EAAA;AAE9D,IAAA,MAAM,MAAM,GAAW;AACtB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,MAAM,EAAE,CAAC;QACT,IAAI;KACJ,CAAC;IACF,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;SACa,eAAe,CAC9B,EAAe,EACf,MAAc,EACd,KAA8D,EAAA;IAE9D,MAAM,YAAY,GAAG,CAAC,MAAc,KAAuB,CAAC,MAAM,CAAC,CAAC;AACpE,IAAA,MAAM,OAAO,GAAqB;AACjC,QAAA,QAAQ,6BAA6B,MAAM,IAAI;AAC/C,QAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,YAAY;KAC5B,CAAC;AACF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7C;;;;;;"}
1
+ {"version":3,"file":"test-utils.js","sources":["../../src/transform/test-utils.ts"],"sourcesContent":["import fs from \"fs\";\nimport { type Source, type TransformContext } from \"html-validate\";\n\n/**\n * @public\n */\nexport type Transformer = (this: TransformContext, source: Source) => Iterable<Source>;\n\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param filename - Filename to read data from. Must be readable.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformFile(\n\tfn: Transformer,\n\tfilename: string,\n\tchain?: (source: Source, filename: string) => Iterable<Source>,\n): Source[] {\n\tconst data = fs.readFileSync(filename, \"utf-8\");\n\tconst source: Source = {\n\t\tfilename,\n\t\tline: 1,\n\t\tcolumn: 1,\n\t\toffset: 0,\n\t\tdata,\n\t};\n\treturn transformSource(fn, source, chain);\n}\n\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param data - String to transform.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformString(\n\tfn: Transformer,\n\tdata: string,\n\tchain?: (source: Source, filename: string) => Iterable<Source>,\n): Source[] {\n\tconst source: Source = {\n\t\tfilename: \"inline\",\n\t\tline: 1,\n\t\tcolumn: 1,\n\t\toffset: 0,\n\t\tdata,\n\t};\n\treturn transformSource(fn, source, chain);\n}\n\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param data - Source to transform.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformSource(\n\tfn: Transformer,\n\tsource: Source,\n\tchain?: (source: Source, filename: string) => Iterable<Source>,\n): Source[] {\n\tconst defaultChain = (source: Source): Iterable<Source> => [source];\n\tconst context: TransformContext = {\n\t\thasChain: /* istanbul ignore next */ () => true,\n\t\tchain: chain ?? defaultChain,\n\t};\n\treturn Array.from(fn.call(context, source));\n}\n"],"names":["fs","source"],"mappings":";;;;;;;;AAgBgB,SAAA,aAAA,CACf,EACA,EAAA,QAAA,EACA,KACW,EAAA;AACX,EAAA,MAAM,IAAO,GAAAA,mBAAA,CAAG,YAAa,CAAA,QAAA,EAAU,OAAO,CAAA,CAAA;AAC9C,EAAA,MAAM,MAAiB,GAAA;AAAA,IACtB,QAAA;AAAA,IACA,IAAM,EAAA,CAAA;AAAA,IACN,MAAQ,EAAA,CAAA;AAAA,IACR,MAAQ,EAAA,CAAA;AAAA,IACR,IAAA;AAAA,GACD,CAAA;AACA,EAAO,OAAA,eAAA,CAAgB,EAAI,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AACzC,CAAA;AAUgB,SAAA,eAAA,CACf,EACA,EAAA,IAAA,EACA,KACW,EAAA;AACX,EAAA,MAAM,MAAiB,GAAA;AAAA,IACtB,QAAU,EAAA,QAAA;AAAA,IACV,IAAM,EAAA,CAAA;AAAA,IACN,MAAQ,EAAA,CAAA;AAAA,IACR,MAAQ,EAAA,CAAA;AAAA,IACR,IAAA;AAAA,GACD,CAAA;AACA,EAAO,OAAA,eAAA,CAAgB,EAAI,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AACzC,CAAA;AAUgB,SAAA,eAAA,CACf,EACA,EAAA,MAAA,EACA,KACW,EAAA;AACX,EAAA,MAAM,YAAe,GAAA,CAACC,OAAqC,KAAA,CAACA,OAAM,CAAA,CAAA;AAClE,EAAA,MAAM,OAA4B,GAAA;AAAA,IACjC,QAAA;AAAA;AAAA,MAAqC,MAAM,IAAA;AAAA,KAAA;AAAA,IAC3C,OAAO,KAAS,IAAA,YAAA;AAAA,GACjB,CAAA;AACA,EAAA,OAAO,MAAM,IAAK,CAAA,EAAA,CAAG,IAAK,CAAA,OAAA,EAAS,MAAM,CAAC,CAAA,CAAA;AAC3C;;;;;;"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.38.5"
8
+ "packageVersion": "7.39.1"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,29 +1,16 @@
1
1
  'use strict';
2
2
 
3
- /**
4
- * Joins a list of words into natural language.
5
- *
6
- * - `["foo"]` becomes `"foo"`
7
- * - `["foo", "bar"]` becomes `"foo or bar"`
8
- * - `["foo", "bar", "baz"]` becomes `"foo, bar or baz"`
9
- * - and so on...
10
- *
11
- * @internal
12
- * @param values - List of words to join
13
- * @param conjunction - Conjunction for the last element.
14
- * @returns String with the words naturally joined with a conjunction.
15
- */
16
3
  function naturalJoin(values, conjunction = "or") {
17
- switch (values.length) {
18
- case 0:
19
- return "";
20
- case 1:
21
- return values[0];
22
- case 2:
23
- return `${values[0]} ${conjunction} ${values[1]}`;
24
- default:
25
- return `${values.slice(0, -1).join(", ")} ${conjunction} ${values.slice(-1)[0]}`;
26
- }
4
+ switch (values.length) {
5
+ case 0:
6
+ return "";
7
+ case 1:
8
+ return values[0];
9
+ case 2:
10
+ return `${values[0]} ${conjunction} ${values[1]}`;
11
+ default:
12
+ return `${values.slice(0, -1).join(", ")} ${conjunction} ${values.slice(-1)[0]}`;
13
+ }
27
14
  }
28
15
 
29
16
  exports.naturalJoin = naturalJoin;
@@ -1 +1 @@
1
- {"version":3,"file":"natural-join.js","sources":["../../../../src/utils/natural-join.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;;;;;;;;AAYG;SACa,WAAW,CAAC,MAAgB,EAAE,cAAsB,IAAI,EAAA;AACvE,IAAA,QAAQ,MAAM,CAAC,MAAM;AACpB,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,EAAE,CAAC;AACX,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,CAAG,EAAA,MAAM,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,QAAA;AACC,YAAA,OAAO,CAAG,EAAA,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF;AACF;;;;"}
1
+ {"version":3,"file":"natural-join.js","sources":["../../../src/utils/natural-join.ts"],"sourcesContent":["/**\n * Joins a list of words into natural language.\n *\n * - `[\"foo\"]` becomes `\"foo\"`\n * - `[\"foo\", \"bar\"]` becomes `\"foo or bar\"`\n * - `[\"foo\", \"bar\", \"baz\"]` becomes `\"foo, bar or baz\"`\n * - and so on...\n *\n * @internal\n * @param values - List of words to join\n * @param conjunction - Conjunction for the last element.\n * @returns String with the words naturally joined with a conjunction.\n */\nexport function naturalJoin(values: string[], conjunction: string = \"or\"): string {\n\tswitch (values.length) {\n\t\tcase 0:\n\t\t\treturn \"\";\n\t\tcase 1:\n\t\t\treturn values[0];\n\t\tcase 2:\n\t\t\treturn `${values[0]} ${conjunction} ${values[1]}`;\n\t\tdefault:\n\t\t\treturn `${values.slice(0, -1).join(\", \")} ${conjunction} ${values.slice(-1)[0]}`;\n\t}\n}\n"],"names":[],"mappings":";;AAagB,SAAA,WAAA,CAAY,MAAkB,EAAA,WAAA,GAAsB,IAAc,EAAA;AACjF,EAAA,QAAQ,OAAO,MAAQ;AAAA,IACtB,KAAK,CAAA;AACJ,MAAO,OAAA,EAAA,CAAA;AAAA,IACR,KAAK,CAAA;AACJ,MAAA,OAAO,OAAO,CAAC,CAAA,CAAA;AAAA,IAChB,KAAK,CAAA;AACJ,MAAO,OAAA,CAAA,EAAG,OAAO,CAAC,CAAC,IAAI,WAAW,CAAA,CAAA,EAAI,MAAO,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA,IAChD;AACC,MAAA,OAAO,GAAG,MAAO,CAAA,KAAA,CAAM,CAAG,EAAA,CAAA,CAAE,EAAE,IAAK,CAAA,IAAI,CAAC,CAAA,CAAA,EAAI,WAAW,CAAI,CAAA,EAAA,MAAA,CAAO,MAAM,CAAE,CAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA,GAChF;AACD;;;;"}
@@ -8,8 +8,8 @@ require('ajv');
8
8
  require('./elements.js');
9
9
  require('./meta-helper.js');
10
10
  require('./utils/natural-join.js');
11
- require('fs');
12
11
  require('@sidvind/better-ajv-errors');
12
+ require('fs');
13
13
  require('@babel/code-frame');
14
14
  require('kleur');
15
15
  require('@html-validate/stylish');
@@ -19,10 +19,10 @@ require('node:fs');
19
19
  require('node:path');
20
20
 
21
21
  vitest.expect.extend({
22
- toBeValid: matchers.createMatcher(),
23
- toBeInvalid: matchers.createMatcher$1(),
24
- toHTMLValidate: matchers.createMatcher$2(vitest.expect, undefined),
25
- toHaveError: matchers.createMatcher$3(vitest.expect, undefined),
26
- toHaveErrors: matchers.createMatcher$4(vitest.expect, undefined),
22
+ toBeValid: matchers.createMatcher(),
23
+ toBeInvalid: matchers.createMatcher$1(),
24
+ toHTMLValidate: matchers.createMatcher$2(vitest.expect, void 0),
25
+ toHaveError: matchers.createMatcher$3(vitest.expect, void 0),
26
+ toHaveErrors: matchers.createMatcher$4(vitest.expect, void 0)
27
27
  });
28
28
  //# sourceMappingURL=vitest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sources":["../../../src/vitest/vitest.ts"],"sourcesContent":[null],"names":["expect","toBeValid","toBeInvalid","toHTMLValidate","toHaveError","toHaveErrors"],"mappings":";;;;;;;;;;;;;;;;;;;;AAWAA,aAAM,CAAC,MAAM,CAAC;IACb,SAAS,EAAEC,sBAAS,EAAE;IACtB,WAAW,EAAEC,wBAAW,EAAE;AAC1B,IAAA,cAAc,EAAEC,wBAAc,CAACH,aAAM,EAAE,SAAS,CAAC;AACjD,IAAA,WAAW,EAAEI,wBAAW,CAACJ,aAAM,EAAE,SAAS,CAAC;AAC3C,IAAA,YAAY,EAAEK,wBAAY,CAACL,aAAM,EAAE,SAAS,CAAC;AAC7C,CAAA,CAAC;;"}
1
+ {"version":3,"file":"vitest.js","sources":["../../src/vitest/vitest.ts"],"sourcesContent":["import \"./augmentation\";\n\nimport { expect } from \"vitest\";\nimport {\n\ttoBeValid,\n\ttoBeInvalid,\n\ttoHTMLValidate,\n\ttoHaveError,\n\ttoHaveErrors,\n} from \"../jest/matchers\";\n\nexpect.extend({\n\ttoBeValid: toBeValid(),\n\ttoBeInvalid: toBeInvalid(),\n\ttoHTMLValidate: toHTMLValidate(expect, undefined),\n\ttoHaveError: toHaveError(expect, undefined),\n\ttoHaveErrors: toHaveErrors(expect, undefined),\n});\n"],"names":["expect","toBeValid","toBeInvalid","toHTMLValidate","toHaveError","toHaveErrors"],"mappings":";;;;;;;;;;;;;;;;;;;;AAWAA,aAAA,CAAO,MAAO,CAAA;AAAA,EACb,WAAWC,sBAAU,EAAA;AAAA,EACrB,aAAaC,wBAAY,EAAA;AAAA,EACzB,cAAA,EAAgBC,wBAAe,CAAAH,aAAA,EAAQ,KAAS,CAAA,CAAA;AAAA,EAChD,WAAA,EAAaI,wBAAY,CAAAJ,aAAA,EAAQ,KAAS,CAAA,CAAA;AAAA,EAC1C,YAAA,EAAcK,wBAAa,CAAAL,aAAA,EAAQ,KAAS,CAAA,CAAA;AAC7C,CAAC,CAAA;;"}
@@ -1,11 +1,11 @@
1
1
  export { c as compatibilityCheck } from './core-browser.js';
2
- export { A as Attribute, C as Config, a as ConfigError, b as ConfigLoader, D as DOMNode, f as DOMTokenList, h as DOMTree, j as DynamicValue, E as EventHandler, k as HtmlElement, H as HtmlValidate, M as MetaCopyableProperty, o as MetaTable, m as NestedError, N as NodeClosed, l as NodeType, z as Parser, x as Reporter, R as ResolvedConfig, q as Rule, n as SchemaValidationError, S as Severity, c as StaticConfigLoader, r as TextClassification, p as TextContent, T as TextNode, U as UserError, V as Validator, W as WrappedError, t as classifyNodeText, P as configPresets, y as definePlugin, u as keywordPatternMatcher, B as ruleExists, w as sliceLocation, s as staticResolver, v as version } from './core.js';
2
+ export { A as Attribute, C as Config, a as ConfigError, b as ConfigLoader, D as DOMNode, h as DOMTokenList, j as DOMTree, k as DynamicValue, F as EventHandler, l as HtmlElement, H as HtmlValidate, M as MetaCopyableProperty, p as MetaTable, n as NestedError, N as NodeClosed, m as NodeType, B as Parser, y as Reporter, R as ResolvedConfig, r as Rule, o as SchemaValidationError, S as Severity, f as StaticConfigLoader, t as TextClassification, q as TextContent, T as TextNode, U as UserError, V as Validator, W as WrappedError, u as classifyNodeText, P as configPresets, c as defineConfig, z as definePlugin, w as keywordPatternMatcher, E as ruleExists, x as sliceLocation, s as staticResolver, v as version } from './core.js';
3
3
  export { d as defineMetadata, m as metadataHelper } from './meta-helper.js';
4
4
  import 'ajv';
5
5
  import './elements.js';
6
- import 'fs';
7
6
  import '@sidvind/better-ajv-errors';
8
7
  import './utils/natural-join.js';
8
+ import 'fs';
9
9
  import '@babel/code-frame';
10
10
  import 'kleur';
11
11
  import '@html-validate/stylish';