{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "schemaVersion": 1011,
    "oldestForwardsCompatibleVersion": 1001,
    "tsdocConfig": {
      "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
      "noStandardTags": true,
      "tagDefinitions": [
        {
          "tagName": "@alpha",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@beta",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@defaultValue",
          "syntaxKind": "block"
        },
        {
          "tagName": "@decorator",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@deprecated",
          "syntaxKind": "block"
        },
        {
          "tagName": "@eventProperty",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@example",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@experimental",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@inheritDoc",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@internal",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@label",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@link",
          "syntaxKind": "inline",
          "allowMultiple": true
        },
        {
          "tagName": "@override",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@packageDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@param",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@privateRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@public",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@readonly",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@remarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@returns",
          "syntaxKind": "block"
        },
        {
          "tagName": "@sealed",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@see",
          "syntaxKind": "block"
        },
        {
          "tagName": "@throws",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@typeParam",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@virtual",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@jsx",
          "syntaxKind": "block"
        },
        {
          "tagName": "@jsxRuntime",
          "syntaxKind": "block"
        },
        {
          "tagName": "@jsxFrag",
          "syntaxKind": "block"
        },
        {
          "tagName": "@jsxImportSource",
          "syntaxKind": "block"
        },
        {
          "tagName": "@betaDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@internalRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@preapproved",
          "syntaxKind": "modifier"
        }
      ],
      "supportForTags": {
        "@alpha": true,
        "@beta": true,
        "@defaultValue": true,
        "@decorator": true,
        "@deprecated": true,
        "@eventProperty": true,
        "@example": true,
        "@experimental": true,
        "@inheritDoc": true,
        "@internal": true,
        "@label": true,
        "@link": true,
        "@override": true,
        "@packageDocumentation": true,
        "@param": true,
        "@privateRemarks": true,
        "@public": true,
        "@readonly": true,
        "@remarks": true,
        "@returns": true,
        "@sealed": true,
        "@see": true,
        "@throws": true,
        "@typeParam": true,
        "@virtual": true,
        "@betaDocumentation": true,
        "@internalRemarks": true,
        "@preapproved": true
      },
      "reportUnsupportedHtmlElements": false
    }
  },
  "kind": "Package",
  "canonicalReference": "@csstools/postcss-tape!",
  "docComment": "/**\n * A test suite for PostCSS plugins.\n *\n * @example\n * ```sh\n * node --test\n * ```\n *\n * ```js\n * // test/_tape.mjs\n * import { postcssTape } from '@csstools/postcss-tape';\n * import plugin from '<your plugin package name>';\n *\n * postcssTape(plugin)({\n * \tbasic: {\n * \t\tmessage: \"supports basic usage\",\n * \t},\n * \t'basic:color': {\n * \t\tmessage: \"supports { color: '<a color>' }\",\n * \t\toptions: {\n * \t\t\tcolor: 'purple'\n * \t\t}\n * \t},\n * });\n * ```\n *\n * @packageDocumentation\n */\n",
  "name": "@csstools/postcss-tape",
  "preserveMemberOrder": false,
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@csstools/postcss-tape!",
      "name": "",
      "preserveMemberOrder": false,
      "members": [
        {
          "kind": "Variable",
          "canonicalReference": "@csstools/postcss-tape!atRuleClonerPlugin:var",
          "docComment": "/**\n * A dummy PostCSS plugin that clones any at rule with params `to-clone` to a new at rule with params `cloned`.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "atRuleClonerPlugin: "
            },
            {
              "kind": "Content",
              "text": "{\n    postcssPlugin: string;\n    prepare(): "
            },
            {
              "kind": "Reference",
              "text": "Plugin",
              "canonicalReference": "postcss!postcss.Plugin:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            }
          ],
          "fileUrlPath": "dist/_types/index.d.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "atRuleClonerPlugin",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "@csstools/postcss-tape!declarationClonerPlugin:var",
          "docComment": "/**\n * A dummy PostCSS plugin that clones any declaration with the property `to-clone` to a new declaration with the property `cloned`.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "declarationClonerPlugin: "
            },
            {
              "kind": "Content",
              "text": "{\n    postcssPlugin: string;\n    Declaration(decl: "
            },
            {
              "kind": "Reference",
              "text": "Declaration",
              "canonicalReference": "postcss!Declaration_:class"
            },
            {
              "kind": "Content",
              "text": "): void;\n}"
            }
          ],
          "fileUrlPath": "dist/_types/index.d.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "declarationClonerPlugin",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@csstools/postcss-tape!Options:type",
          "docComment": "/**\n * General options for `@csstools/postcss-tape`. These affect the entire test run, not individual test cases.\n *\n * @example\n * ```js\n * import { postcssTape } from '@csstools/postcss-tape';\n * import plugin from 'your-postcss-plugin';\n *\n * postcssTape(plugin, {\n *   skipPackageNameCheck: true,\n * })(...);\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type Options = "
            },
            {
              "kind": "Content",
              "text": "{\n    skipPackageNameCheck?: boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/index.d.ts",
          "releaseTag": "Public",
          "name": "Options",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/postcss-tape!postcssTape:function(1)",
          "docComment": "/**\n * Create a test suite for a PostCSS plugin.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function postcssTape(pluginCreator: "
            },
            {
              "kind": "Reference",
              "text": "PluginCreator",
              "canonicalReference": "postcss!postcss.PluginCreator:interface"
            },
            {
              "kind": "Content",
              "text": "<unknown>"
            },
            {
              "kind": "Content",
              "text": ", runOptions?: "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@csstools/postcss-tape!Options:type"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "(options: "
            },
            {
              "kind": "Reference",
              "text": "Record",
              "canonicalReference": "!Record:type"
            },
            {
              "kind": "Content",
              "text": "<string, "
            },
            {
              "kind": "Reference",
              "text": "TestCaseOptions",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions:interface"
            },
            {
              "kind": "Content",
              "text": ">) => "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/index.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 6,
            "endIndex": 13
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "pluginCreator",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isOptional": false
            },
            {
              "parameterName": "runOptions",
              "parameterTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "isOptional": true
            }
          ],
          "name": "postcssTape"
        },
        {
          "kind": "Variable",
          "canonicalReference": "@csstools/postcss-tape!ruleClonerPlugin:var",
          "docComment": "/**\n * A dummy PostCSS plugin that clones any rule with the selector `to-clone` to a new rule with the selector `cloned`.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "ruleClonerPlugin: "
            },
            {
              "kind": "Content",
              "text": "{\n    postcssPlugin: string;\n    prepare(): "
            },
            {
              "kind": "Reference",
              "text": "Plugin",
              "canonicalReference": "postcss!postcss.Plugin:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            }
          ],
          "fileUrlPath": "dist/_types/index.d.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "ruleClonerPlugin",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@csstools/postcss-tape!TestCaseOptions:interface",
          "docComment": "/**\n * Options for a test case.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface TestCaseOptions "
            }
          ],
          "fileUrlPath": "dist/_types/test-case-options.d.ts",
          "releaseTag": "Public",
          "name": "TestCaseOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#after:member",
              "docComment": "/**\n * Do something after the test is run.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "after?: "
                },
                {
                  "kind": "Content",
                  "text": "() => void | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "after",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#before:member",
              "docComment": "/**\n * Do something before the test is run.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "before?: "
                },
                {
                  "kind": "Content",
                  "text": "() => void | "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "before",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#exception:member",
              "docComment": "/**\n * Expected exception\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exception?: "
                },
                {
                  "kind": "Reference",
                  "text": "RegExp",
                  "canonicalReference": "!RegExp:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "exception",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#expect:member",
              "docComment": "/**\n * Override the file name of the \"expect\" file.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "expect?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "expect",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#message:member",
              "docComment": "/**\n * Debug message\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "message?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "message",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#options:member",
              "docComment": "/**\n * Plugin options. Only used if `plugins` is not specified.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "options?: "
                },
                {
                  "kind": "Content",
                  "text": "unknown"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "options",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#plugins:member",
              "docComment": "/**\n * Plugins to use. When specified the original plugin is not used.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "plugins?: "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Plugin",
                  "canonicalReference": "postcss!postcss.Plugin:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "plugins",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#result:member",
              "docComment": "/**\n * Override the file name of the \"result\" file.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "result?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "result",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#source:member",
              "docComment": "/**\n * Override the file name of the \"source\" file.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "source?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "source",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/postcss-tape!TestCaseOptions#warnings:member",
              "docComment": "/**\n * The expected number of warnings.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "warnings?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "warnings",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        }
      ]
    }
  ]
}