From d360263d7e08e3e80b9860e67e98d3d07397f0bb Mon Sep 17 00:00:00 2001 From: "Nikola R. Hristov" Date: Mon, 18 Mar 2024 00:33:57 +0200 Subject: [PATCH] squash! --- .github/dependabot.yml | 14 + .github/workflows/Dependabot.yml | 45 + .github/workflows/GitHub.yml | 56 + .github/workflows/NPM.yml | 43 + .github/workflows/Node.yml | 91 ++ .npmignore | 6 + CHANGELOG.md | 281 ++++ CODE_OF_CONDUCT.md | 146 ++ CONTRIBUTING.md | 134 ++ Documentation/.nojekyll | 1 + Documentation/Class/Theme.theme.html | 83 + Documentation/Function/Build.Exec.html | 10 + Documentation/Function/Build.Merge.html | 2 + Documentation/Function/Build.build.html | 6 + Documentation/Function/Build.resolve.html | 9 + Documentation/Function/Exec.exec.html | 10 + Documentation/Function/File.file.html | 2 + Documentation/Function/JSON.JSON.html | 9 + Documentation/Function/Load.load-1.html | 1 + Documentation/Function/Merge.merge.html | 2 + .../Function/Theme.applyAnchorUrl.html | 4 + Documentation/Function/Theme.getUrl.html | 6 + Documentation/Interface/Build.Type.html | 6 + Documentation/Interface/Exec.Type.html | 10 + Documentation/Interface/File.Type.html | 2 + .../Interface/Interface_Mapping.Type.html | 5 + .../Interface/Interface_Merge.Generic.html | 2 + .../Interface/Interface_Merge.Type.html | 2 + .../Interface/Interface_Theme.Type.html | 74 + Documentation/Interface/JSON.Type.html | 9 + Documentation/Interface/Load.Type.html | 5 + Documentation/Module/Build.html | 8 + Documentation/Module/ESBuild.html | 2 + Documentation/Module/Exec.html | 3 + Documentation/Module/File.html | 3 + Documentation/Module/Interface_Mapping.html | 2 + Documentation/Module/Interface_Merge.html | 4 + Documentation/Module/Interface_Theme.html | 2 + Documentation/Module/JSON.html | 3 + Documentation/Module/Load.html | 5 + Documentation/Module/Merge.html | 2 + Documentation/Module/Theme.html | 15 + Documentation/Module/TypeScriptESBuild.html | 2 + Documentation/Module/Value.html | 2 + Documentation/Type/Value.Type.html | 1 + Documentation/Variable/Build.Current.html | 1 + Documentation/Variable/Build.Pipe.html | 1 + Documentation/Variable/ESBuild.ESBuild.html | 1 + Documentation/Variable/Load.Theme.html | 1 + Documentation/Variable/Load.load.html | 1 + Documentation/Variable/Theme.Class.html | 1 + .../Variable/Theme.DeclarationReflection.html | 1 + Documentation/Variable/Theme.Enum.html | 1 + Documentation/Variable/Theme.Interface.html | 1 + Documentation/Variable/Theme.Module.html | 1 + Documentation/Variable/Theme.Namespace.html | 1 + Documentation/Variable/Theme.TypeAlias.html | 1 + Documentation/Variable/Theme.URL_PREFIX.html | 1 + Documentation/Variable/Theme.UrlMapping.html | 1 + Documentation/Variable/Theme.Variable.html | 1 + Documentation/Variable/Theme._Function.html | 1 + .../TypeScriptESBuild.typeScriptESBuild.html | 1 + Documentation/assets/custom.css | 49 + Documentation/assets/highlight.css | 57 + Documentation/assets/icons.js | 15 + Documentation/assets/icons.svg | 1 + Documentation/assets/main.js | 59 + Documentation/assets/navigation.js | 1 + Documentation/assets/search.js | 1 + Documentation/assets/style.css | 1415 +++++++++++++++++ Documentation/hierarchy.html | 1 + Documentation/index.html | 17 + LICENSE | 20 + README.md | 57 + Source/Class/Theme.ts | 94 ++ Source/Class/TypeScriptDocument.ts | 13 + Source/Function/Document.ts | 101 ++ Source/Function/Exec.ts | 19 + Source/Function/File.ts | 58 + Source/Function/JSON.ts | 14 + Source/Function/Merge.ts | 10 + Source/Interface/Build.ts | 27 + Source/Interface/Exec.ts | 25 + Source/Interface/File.ts | 21 + Source/Interface/JSON.ts | 20 + Source/Interface/Load.ts | 16 + Source/Interface/Mapping.ts | 21 + Source/Interface/Merge.ts | 37 + Source/Interface/Theme.ts | 38 + Source/Notation/TypeScript.json | 65 + Source/Stylesheet/Theme.css | 49 + Source/Type/Value.ts | 7 + Source/Variable/ESBuild.ts | 57 + Source/Variable/Load.ts | 14 + Target/Class/Theme.d.ts | 14 + Target/Class/Theme.js | 1 + Target/Class/TypeScriptESBuild.d.ts | 7 + Target/Class/TypeScriptESBuild.js | 2 + Target/Function/Build.d.ts | 12 + Target/Function/Build.js | 1 + Target/Function/Exec.d.ts | 7 + Target/Function/Exec.js | 1 + Target/Function/File.d.ts | 7 + Target/Function/File.js | 1 + Target/Function/JSON.d.ts | 7 + Target/Function/JSON.js | 1 + Target/Function/Merge.d.ts | 8 + Target/Function/Merge.js | 1 + Target/Interface/Build.d.ts | 23 + Target/Interface/Build.js | 0 Target/Interface/Exec.d.ts | 21 + Target/Interface/Exec.js | 0 Target/Interface/File.d.ts | 20 + Target/Interface/File.js | 0 Target/Interface/JSON.d.ts | 20 + Target/Interface/JSON.js | 0 Target/Interface/Load.d.ts | 15 + Target/Interface/Load.js | 0 Target/Interface/Mapping.d.ts | 19 + Target/Interface/Mapping.js | 0 Target/Interface/Merge.d.ts | 21 + Target/Interface/Merge.js | 0 Target/Interface/Theme.d.ts | 29 + Target/Interface/Theme.js | 0 Target/Notation/TypeScript.json | 65 + Target/Stylesheet/Theme.css | 49 + Target/Type/Value.d.ts | 6 + Target/Type/Value.js | 0 Target/Variable/ESBuild.d.ts | 7 + Target/Variable/ESBuild.js | 1 + Target/Variable/Load.d.ts | 9 + Target/Variable/Load.js | 1 + package.json | 57 + tsconfig.json | 7 + 134 files changed, 3986 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/Dependabot.yml create mode 100644 .github/workflows/GitHub.yml create mode 100644 .github/workflows/NPM.yml create mode 100644 .github/workflows/Node.yml create mode 100644 .npmignore create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 Documentation/.nojekyll create mode 100644 Documentation/Class/Theme.theme.html create mode 100644 Documentation/Function/Build.Exec.html create mode 100644 Documentation/Function/Build.Merge.html create mode 100644 Documentation/Function/Build.build.html create mode 100644 Documentation/Function/Build.resolve.html create mode 100644 Documentation/Function/Exec.exec.html create mode 100644 Documentation/Function/File.file.html create mode 100644 Documentation/Function/JSON.JSON.html create mode 100644 Documentation/Function/Load.load-1.html create mode 100644 Documentation/Function/Merge.merge.html create mode 100644 Documentation/Function/Theme.applyAnchorUrl.html create mode 100644 Documentation/Function/Theme.getUrl.html create mode 100644 Documentation/Interface/Build.Type.html create mode 100644 Documentation/Interface/Exec.Type.html create mode 100644 Documentation/Interface/File.Type.html create mode 100644 Documentation/Interface/Interface_Mapping.Type.html create mode 100644 Documentation/Interface/Interface_Merge.Generic.html create mode 100644 Documentation/Interface/Interface_Merge.Type.html create mode 100644 Documentation/Interface/Interface_Theme.Type.html create mode 100644 Documentation/Interface/JSON.Type.html create mode 100644 Documentation/Interface/Load.Type.html create mode 100644 Documentation/Module/Build.html create mode 100644 Documentation/Module/ESBuild.html create mode 100644 Documentation/Module/Exec.html create mode 100644 Documentation/Module/File.html create mode 100644 Documentation/Module/Interface_Mapping.html create mode 100644 Documentation/Module/Interface_Merge.html create mode 100644 Documentation/Module/Interface_Theme.html create mode 100644 Documentation/Module/JSON.html create mode 100644 Documentation/Module/Load.html create mode 100644 Documentation/Module/Merge.html create mode 100644 Documentation/Module/Theme.html create mode 100644 Documentation/Module/TypeScriptESBuild.html create mode 100644 Documentation/Module/Value.html create mode 100644 Documentation/Type/Value.Type.html create mode 100644 Documentation/Variable/Build.Current.html create mode 100644 Documentation/Variable/Build.Pipe.html create mode 100644 Documentation/Variable/ESBuild.ESBuild.html create mode 100644 Documentation/Variable/Load.Theme.html create mode 100644 Documentation/Variable/Load.load.html create mode 100644 Documentation/Variable/Theme.Class.html create mode 100644 Documentation/Variable/Theme.DeclarationReflection.html create mode 100644 Documentation/Variable/Theme.Enum.html create mode 100644 Documentation/Variable/Theme.Interface.html create mode 100644 Documentation/Variable/Theme.Module.html create mode 100644 Documentation/Variable/Theme.Namespace.html create mode 100644 Documentation/Variable/Theme.TypeAlias.html create mode 100644 Documentation/Variable/Theme.URL_PREFIX.html create mode 100644 Documentation/Variable/Theme.UrlMapping.html create mode 100644 Documentation/Variable/Theme.Variable.html create mode 100644 Documentation/Variable/Theme._Function.html create mode 100644 Documentation/Variable/TypeScriptESBuild.typeScriptESBuild.html create mode 100644 Documentation/assets/custom.css create mode 100644 Documentation/assets/highlight.css create mode 100644 Documentation/assets/icons.js create mode 100644 Documentation/assets/icons.svg create mode 100644 Documentation/assets/main.js create mode 100644 Documentation/assets/navigation.js create mode 100644 Documentation/assets/search.js create mode 100644 Documentation/assets/style.css create mode 100644 Documentation/hierarchy.html create mode 100644 Documentation/index.html create mode 100644 LICENSE create mode 100644 README.md create mode 100644 Source/Class/Theme.ts create mode 100644 Source/Class/TypeScriptDocument.ts create mode 100644 Source/Function/Document.ts create mode 100644 Source/Function/Exec.ts create mode 100644 Source/Function/File.ts create mode 100644 Source/Function/JSON.ts create mode 100644 Source/Function/Merge.ts create mode 100644 Source/Interface/Build.ts create mode 100644 Source/Interface/Exec.ts create mode 100644 Source/Interface/File.ts create mode 100644 Source/Interface/JSON.ts create mode 100644 Source/Interface/Load.ts create mode 100644 Source/Interface/Mapping.ts create mode 100644 Source/Interface/Merge.ts create mode 100644 Source/Interface/Theme.ts create mode 100644 Source/Notation/TypeScript.json create mode 100644 Source/Stylesheet/Theme.css create mode 100644 Source/Type/Value.ts create mode 100644 Source/Variable/ESBuild.ts create mode 100644 Source/Variable/Load.ts create mode 100644 Target/Class/Theme.d.ts create mode 100644 Target/Class/Theme.js create mode 100644 Target/Class/TypeScriptESBuild.d.ts create mode 100644 Target/Class/TypeScriptESBuild.js create mode 100644 Target/Function/Build.d.ts create mode 100644 Target/Function/Build.js create mode 100644 Target/Function/Exec.d.ts create mode 100644 Target/Function/Exec.js create mode 100644 Target/Function/File.d.ts create mode 100644 Target/Function/File.js create mode 100644 Target/Function/JSON.d.ts create mode 100644 Target/Function/JSON.js create mode 100644 Target/Function/Merge.d.ts create mode 100644 Target/Function/Merge.js create mode 100644 Target/Interface/Build.d.ts create mode 100644 Target/Interface/Build.js create mode 100644 Target/Interface/Exec.d.ts create mode 100644 Target/Interface/Exec.js create mode 100644 Target/Interface/File.d.ts create mode 100644 Target/Interface/File.js create mode 100644 Target/Interface/JSON.d.ts create mode 100644 Target/Interface/JSON.js create mode 100644 Target/Interface/Load.d.ts create mode 100644 Target/Interface/Load.js create mode 100644 Target/Interface/Mapping.d.ts create mode 100644 Target/Interface/Mapping.js create mode 100644 Target/Interface/Merge.d.ts create mode 100644 Target/Interface/Merge.js create mode 100644 Target/Interface/Theme.d.ts create mode 100644 Target/Interface/Theme.js create mode 100644 Target/Notation/TypeScript.json create mode 100644 Target/Stylesheet/Theme.css create mode 100644 Target/Type/Value.d.ts create mode 100644 Target/Type/Value.js create mode 100644 Target/Variable/ESBuild.d.ts create mode 100644 Target/Variable/ESBuild.js create mode 100644 Target/Variable/Load.d.ts create mode 100644 Target/Variable/Load.js create mode 100644 package.json create mode 100644 tsconfig.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..575fdde --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +version: 2 +enable-beta-ecosystems: true + +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "daily" + versioning-strategy: increase diff --git a/.github/workflows/Dependabot.yml b/.github/workflows/Dependabot.yml new file mode 100644 index 0000000..819f8a1 --- /dev/null +++ b/.github/workflows/Dependabot.yml @@ -0,0 +1,45 @@ +name: Dependabot + +concurrency: + group: Dependabot-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + security-events: write + contents: write + pull-requests: write + +on: + workflow_dispatch: + pull_request: + +jobs: + Approve: + runs-on: ubuntu-latest + + if: ${{ github.actor == 'dependabot[bot]' }} + + steps: + - uses: dependabot/fetch-metadata@v1.6.0 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + + - run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + Merge: + runs-on: ubuntu-latest + + if: ${{ github.actor == 'dependabot[bot]' }} + + steps: + - uses: dependabot/fetch-metadata@v1.6.0 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + + - run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/GitHub.yml b/.github/workflows/GitHub.yml new file mode 100644 index 0000000..ffde8df --- /dev/null +++ b/.github/workflows/GitHub.yml @@ -0,0 +1,56 @@ +name: GitHub + +concurrency: + group: GitHub-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + issues: write + pull-requests: write + +on: + issues: + types: [opened] + pull_request: + types: [opened] + +jobs: + Assign: + runs-on: ubuntu-latest + + env: + ADBLOCK: true + TELEMETRY_DISABLED: 1 + ASTRO_TELEMETRY_DISABLED: 1 + AUTOMATEDLAB_TELEMETRY_OPTOUT: 1 + AZURE_CORE_COLLECT_TELEMETRY: 0 + CHOOSENIM_NO_ANALYTICS: 1 + DIEZ_DO_NOT_TRACK: 1 + DO_NOT_TRACK: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1 + ET_NO_TELEMETRY: 1 + GATSBY_TELEMETRY_DISABLED: 1 + GATSBY_TELEMETRY_OPT_OUT: 1 + GATSBY_TELEMETRY_OPTOUT: 1 + HASURA_GRAPHQL_ENABLE_TELEMETRY: false + HINT_TELEMETRY: off + HOMEBREW_NO_ANALYTICS: 1 + INFLUXD_REPORTING_DISABLED: true + ITERATIVE_DO_NOT_TRACK: 1 + NEXT_TELEMETRY_DEBUG: 1 + NEXT_TELEMETRY_DISABLED: 1 + NG_CLI_ANALYTICS: false + NUXT_TELEMETRY_DISABLED: 1 + PIN_DO_NOT_TRACK: 1 + POWERSHELL_TELEMETRY_OPTOUT: 1 + SAM_CLI_TELEMETRY: 0 + STNOUPGRADE: 1 + STRIPE_CLI_TELEMETRY_OPTOUT: 1 + + steps: + - uses: pozil/auto-assign-issue@v1.13.0 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + assignees: NikolaRHristov + numOfAssignee: 1 diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml new file mode 100644 index 0000000..b0332f1 --- /dev/null +++ b/.github/workflows/NPM.yml @@ -0,0 +1,43 @@ +name: NPM + +concurrency: + group: NPM-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + security-events: write + contents: write + pull-requests: write + +on: + workflow_dispatch: + release: + types: [created] + workflow_call: + +jobs: + Publish: + runs-on: ubuntu-latest + + permissions: + contents: read + id-token: write + + steps: + - uses: actions/checkout@v4.1.2 + + - uses: actions/setup-node@v4.0.2 + with: + node-version: "18" + registry-url: "https://registry.npmjs.org" + + - run: npm install -g npm + + - name: Publish . + continue-on-error: true + working-directory: . + run: | + npm install --legacy-peer-deps + npm publish --legacy-peer-deps --provenance + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml new file mode 100644 index 0000000..28da924 --- /dev/null +++ b/.github/workflows/Node.yml @@ -0,0 +1,91 @@ +name: Node + +concurrency: + group: Node-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + security-events: write + contents: write + pull-requests: write + +on: + workflow_dispatch: + push: + branches: [Current] + pull_request: + branches: [Current] + workflow_call: + +jobs: + Pre-Publish: + runs-on: ubuntu-latest + + env: + ADBLOCK: true + TELEMETRY_DISABLED: 1 + ASTRO_TELEMETRY_DISABLED: 1 + AUTOMATEDLAB_TELEMETRY_OPTOUT: 1 + AZURE_CORE_COLLECT_TELEMETRY: 0 + CHOOSENIM_NO_ANALYTICS: 1 + DIEZ_DO_NOT_TRACK: 1 + DO_NOT_TRACK: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1 + ET_NO_TELEMETRY: 1 + GATSBY_TELEMETRY_DISABLED: 1 + GATSBY_TELEMETRY_OPT_OUT: 1 + GATSBY_TELEMETRY_OPTOUT: 1 + HASURA_GRAPHQL_ENABLE_TELEMETRY: false + HINT_TELEMETRY: off + HOMEBREW_NO_ANALYTICS: 1 + INFLUXD_REPORTING_DISABLED: true + ITERATIVE_DO_NOT_TRACK: 1 + NEXT_TELEMETRY_DEBUG: 1 + NEXT_TELEMETRY_DISABLED: 1 + NG_CLI_ANALYTICS: false + NUXT_TELEMETRY_DISABLED: 1 + PIN_DO_NOT_TRACK: 1 + POWERSHELL_TELEMETRY_OPTOUT: 1 + SAM_CLI_TELEMETRY: 0 + STNOUPGRADE: 1 + STRIPE_CLI_TELEMETRY_OPTOUT: 1 + + strategy: + matrix: + node-version: [18, 19, 20] + + steps: + - uses: actions/checkout@v4.1.2 + + - uses: pnpm/action-setup@v3.0.0 + with: + version: 8.6.12 + run_install: | + - recursive: true + args: [ + --link-workspace-packages=true, + --lockfile-only, + --prefer-frozen-lockfile=false, + --shamefully-hoist=false, + --shared-workspace-lockfile=true, + --strict-peer-dependencies=false, + --unsafe-perm=true + ] + + - uses: actions/setup-node@v4.0.2 + with: + node-version: ${{ matrix.node-version }} + cache: "pnpm" + cache-dependency-path: ./pnpm-lock.yaml + + - run: pnpm install + working-directory: . + + - run: pnpm run prepublishOnly + working-directory: . + + - uses: actions/upload-artifact@v4.3.1 + with: + name: .-Node-${{ matrix.node-version }}-Target + path: ./Target diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..d0265ba --- /dev/null +++ b/.npmignore @@ -0,0 +1,6 @@ +.github/ +Source/ +Documentation/ +CHANGELOG.md +CODE_OF_CONDUCT.md +CONTRIBUTING.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..b457d07 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,281 @@ +## 0.4.1 + +- Cleanup + +## 0.4.0 + +- Cleanup + +## 0.3.12 + +- Cleanup + +## 0.3.11 + +- Cleanup + +## 0.3.10 + +- Cleanup + +## 0.3.9 + +- Cleanup + +## 0.3.8 + +- Cleanup + +## 0.3.7 + +- Cleanup + +## 0.3.6 + +- Cleanup + +## 0.3.5 + +- Cleanup + +## 0.3.4 + +- Cleanup + +## 0.3.3 + +- Cleanup + +## 0.3.2 + +- Cleanup + +## 0.3.1 + +- Cleanup + +## 0.3.0 + +- Documentation +- Cleanup + +## 0.2.26 + +- Cleanup + +## 0.2.25 + +- Cleanup + +## 0.2.24 + +- Cleanup + +## 0.2.23 + +- Cleanup + +## 0.2.22 + +- Cleanup + +## 0.2.21 + +- Cleanup + +## 0.2.20 + +- Cleanup + +## 0.2.19 + +- Cleanup + +## 0.2.18 + +- Cleanup + +## 0.2.17 + +- Cleanup + +## 0.2.16 + +- Cleanup + +## 0.2.15 + +- Cleanup + +## 0.2.14 + +- Cleanup + +## 0.2.13 + +- Cleanup + +## 0.2.12 + +- Cleanup + +## 0.2.11 + +- Cleanup + +## 0.2.10 + +- Cleanup + +## 0.2.9 + +- Cleanup + +## 0.2.8 + +- Cleanup + +## 0.2.7 + +- Bug fix + +## 0.2.6 + +- Cleanup + +## 0.2.5 + +- Cleanup + +## 0.2.4 + +- Bug fix + +## 0.2.3 + +- Cleanup + +## 0.2.2 + +- Bug fix + +## 0.2.1 + +- Cleanup + +## 0.2.0 + +- Refactor +- Introduces Documentation + +## 0.1.16 + +- Cleanup + +## 0.1.15 + +- Cleanup + +## 0.1.14 + +- Cleanup + +## 0.1.13 + +- Cleanup + +## 0.1.12 + +- Bug fix + +## 0.1.11 + +- Cleanup + +## 0.1.10 + +- Bug fix + +## 0.1.9 + +- Cleanup + +## 0.1.8 + +- Cleanup + +## 0.1.7 + +- Renamed + +## 0.1.6 + +- Cleanup + +## 0.1.5 + +- Cleanup + +## 0.1.4 + +- Renamed + +## 0.1.4 + +- Cleanup + +## 0.1.2 + +- Renamed + +## 0.1.1 + +- Cleanup + +## 0.1.0 + +- Custom ESBuild file + +## 0.0.11 + +- Cleanup + +## 0.0.10 + +- Cleanup + +## 0.0.9 + +- Cleanup + +## 0.0.8 + +- Cleanup + +## 0.0.7 + +- Cleanup + +## 0.0.6 + +- Cleanup + +## 0.0.5 + +- Cleanup + +## 0.0.4 + +- Cleanup + +## 0.0.3 + +- Cleanup + +## 0.0.2 + +- Cleanup + +## 0.0.1 + +- Initial version diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..0e092d3 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,146 @@ +# Code of Conduct + +## Our Pledge + +Welcome to our community! We are committed to creating a welcoming and inclusive +environment for all contributors. As members, contributors, and leaders, we +pledge to make participation in our community a harassment-free experience for +everyone, regardless of: + +- Age +- Body size +- Visible or invisible disability +- Ethnicity +- Sex characteristics +- Gender identity and expression +- Level of experience +- Education +- Socio-economic status +- Nationality +- Personal appearance +- Race +- Caste +- Color +- Religion +- Sexual identity and orientation + +We promise to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals but for the overall + community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or advances + of any kind +- Trolling, insulting, or derogatory comments, and personal or political + attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior. They will take appropriate and fair corrective action in +response to any behavior they deem inappropriate, threatening, offensive, or +harmful. This may include removing, editing, or rejecting comments, commits, +code, wiki edits, issues, and other contributions that do not align with this +Code of Conduct. Community leaders will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +Community@Playform.Cloud. All complaints will be reviewed and investigated +promptly and fairly. All community leaders are obligated to respect the privacy +and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations + +Thank you for being part of our community and helping us create a safe and +respectful environment for everyone! diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b8ceeae --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,134 @@ +# Contributing Guidelines + +Welcome to our community! We are committed to creating a welcoming and inclusive +environment for all contributors. Before you get started, please read and adhere +to the following code of conduct. By participating in our community, you agree +to abide by these guidelines. + +## Our Pledge + +We, as members, contributors, and leaders, pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. We pledge to act and interact in ways that contribute +to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or advances + of any kind +- Trolling, insulting, or derogatory comments, and personal or political + attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. Community leaders have the right and responsibility to remove, edit, +or reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned with this Code of Conduct, and will communicate reasons for +moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +Community@Playform.Cloud. All complaints will be reviewed and investigated +promptly and fairly. All community leaders are obligated to respect the privacy +and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations + +Thank you for being part of our community and helping us create a safe and +respectful environment for everyone! diff --git a/Documentation/.nojekyll b/Documentation/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/Documentation/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/Documentation/Class/Theme.theme.html b/Documentation/Class/Theme.theme.html new file mode 100644 index 0000000..f4e3cbc --- /dev/null +++ b/Documentation/Class/Theme.theme.html @@ -0,0 +1,83 @@ +theme | typescript-esbuild - v0.4.1

Hierarchy

  • DefaultTheme
    • theme

Implements

Constructors

  • Create a new DefaultTheme instance.

    +

    Parameters

    • renderer: Renderer

      The renderer this theme is attached to.

      +

    Returns theme

Properties

Mapping: Type[] = ...

An array of Mappings representing the theme's mapping configuration.

+
componentName: string

The name of this component as set by the @Component decorator.

+
defaultLayoutTemplate: ((pageEvent, template) => JsxElement)

Type declaration

    • (pageEvent, template): JsxElement
    • Parameters

      • pageEvent: PageEvent<Reflection>
      • template: RenderTemplate<PageEvent<Reflection>>

      Returns JsxElement

hierarchyTemplate: ((pageEvent) => JsxElement)

Type declaration

    • (pageEvent): JsxElement
    • Parameters

      • pageEvent: PageEvent<ProjectReflection>

      Returns JsxElement

icons: {
    1: (() => JsxElement);
    1024: (() => JsxElement);
    1048576: (() => JsxElement);
    128: (() => JsxElement);
    131072: (() => JsxElement);
    16: (() => JsxElement);
    16384: (() => JsxElement);
    2: (() => JsxElement);
    2048: (() => JsxElement);
    2097152: (() => JsxElement);
    256: (() => JsxElement);
    262144: (() => JsxElement);
    32: (() => JsxElement);
    32768: (() => JsxElement);
    4: (() => JsxElement);
    4096: (() => JsxElement);
    4194304: (() => JsxElement);
    512: (() => JsxElement);
    524288: (() => JsxElement);
    64: (() => JsxElement);
    65536: (() => JsxElement);
    8: (() => JsxElement);
    8192: (() => JsxElement);
    anchor: (() => JsxElement);
    checkbox: (() => JsxElement);
    chevronDown: (() => JsxElement);
    chevronSmall: (() => JsxElement);
    menu: (() => JsxElement);
    search: (() => JsxElement);
}

The icons which will actually be rendered. The source of truth lives on the theme, and +the DefaultThemeRenderContext.icons member will produce references to these.

+

These icons will be written twice. Once to an icons.svg file in the assets directory +which will be referenced by icons on the context, and once to an icons.js file so that +references to the icons can be dynamically embedded within the page for use by the search +dropdown and when loading the page on file:// urls.

+

Custom themes may overwrite this entire object or individual properties on it to customize +the icons used within the page, however TypeDoc currently assumes that all icons are svg +elements, so custom themes must also use svg elements.

+

Type declaration

  • 1: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 1024: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 1048576: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 128: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 131072: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 16: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 16384: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 2: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 2048: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 2097152: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 256: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 262144: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 32: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 32768: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 4: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 4096: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 4194304: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 512: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 524288: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 64: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 65536: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 8: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 8192: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • anchor: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • checkbox: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • chevronDown: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • chevronSmall: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • menu: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • search: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

indexTemplate: ((pageEvent) => JsxElement)

Type declaration

    • (pageEvent): JsxElement
    • Parameters

      • pageEvent: PageEvent<ProjectReflection>

      Returns JsxElement

markedPlugin: MarkedPlugin
reflectionTemplate: ((pageEvent) => JsxElement)

Type declaration

    • (pageEvent): JsxElement
    • Parameters

      • pageEvent: PageEvent<ContainerReflection>

      Returns JsxElement

URL_PREFIX: RegExp

Accessors

  • get _listenId(): any
  • A unique id that identifies this instance.

    +

    Returns any

  • get application(): Application
  • Return the application / root component instance.

    +

    Returns Application

  • get owner(): O
  • Return the owner of this component.

    +

    Returns O

Methods

  • Parameters

    • name: string | Event | EventMap
    • Rest ...args: any[]

    Returns this

  • Parameters

    • project: ProjectReflection

    Returns NavigationElement[]

  • If implementing a custom theme, it is recommended to override buildNavigation instead.

    +

    Parameters

    • project: ProjectReflection

    Returns NavigationElement[]

  • Parameters

    • reflection: DeclarationReflection

    Returns string

  • Parameters

    • pageEvent: PageEvent<Reflection>

    Returns DefaultThemeRenderContext

  • Map the models of the given project to the desired output files.

    +

    Parameters

    • project: ProjectReflection

      The project whose urls should be generated.

      +

    Returns UrlMapping<any>[]

    A list of UrlMapping instances defining which models + should be rendered to which files.

    +
  • Initialize this component.

    +

    Returns void

  • Inversion-of-control versions of on. Tell this object to listen to +an event in another object... keeping track of what it's listening to +for easier unbinding later.

    +

    Parameters

    • obj: EventDispatcher
    • name: string | EventMap
    • Optional callback: EventCallback
    • Optional priority: number

    Returns this

  • Inversion-of-control versions of once.

    +

    Parameters

    • obj: EventDispatcher
    • eventMap: EventMap

    Returns this

  • Parameters

    • obj: EventDispatcher
    • name: string
    • callback: EventCallback
    • Optional priority: number

    Returns this

  • Remove one or many callbacks. If context is null, removes all +callbacks with that function. If callback is null, removes all +callbacks for the event. If name is null, removes all bound +callbacks for all events.

    +

    Returns this

  • Parameters

    • eventMap: undefined | EventMap
    • Optional context: any

    Returns this

  • Parameters

    • name: undefined | string
    • Optional callback: EventCallback
    • Optional context: any

    Returns this

  • Bind an event to a callback function. Passing "all" will bind +the callback to all events fired.

    +

    Parameters

    • eventMap: EventMap
    • Optional context: any

    Returns this

  • Parameters

    • eventMap: EventMap
    • Optional callback: EventCallback
    • Optional context: any
    • Optional priority: number

    Returns this

  • Parameters

    • name: string
    • callback: EventCallback
    • Optional context: any
    • Optional priority: number

    Returns this

  • Bind an event to only be triggered a single time. After the first time +the callback is invoked, its listener will be removed. If multiple events +are passed in using the space-separated syntax, the handler will fire +once for each event, not once for a combination of all events.

    +

    Parameters

    • eventMap: EventMap
    • Optional context: any

    Returns this

  • Parameters

    • name: string
    • callback: EventCallback
    • Optional context: any
    • Optional priority: any

    Returns this

  • Parameters

    • page: PageEvent<Reflection>
    • template: RenderTemplate<PageEvent<Reflection>>

    Returns string

  • Tell this object to stop listening to either specific events ... or +to every object it's currently listening to.

    +

    Parameters

    • Optional obj: EventDispatcher
    • Optional name: string | EventMap
    • Optional callback: EventCallback

    Returns this

  • Trigger one or many events, firing all bound callbacks. Callbacks are +passed the same arguments as trigger is, apart from the event name +(unless you're listening on "all", which will cause your callback to +receive the true name of the event as the first argument).

    +

    Parameters

    • name: string | Event | EventMap
    • Rest ...args: any[]

    Returns this

  • Generate an anchor url for the given reflection and all of its children.

    +

    Parameters

    • reflection: Reflection

      The reflection an anchor url should be created for.

      +
    • container: Reflection

      The nearest reflection having an own document.

      +

    Returns void

  • Return a url for the given reflection.

    +

    Parameters

    • reflection: Reflection

      The reflection the url should be generated for.

      +
    • Optional relative: Reflection

      The parent reflection the url generation should stop on.

      +
    • Optional separator: string

      The separator used to generate the url.

      +

    Returns string

    The generated url.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Build.Exec.html b/Documentation/Function/Build.Exec.html new file mode 100644 index 0000000..8e83893 --- /dev/null +++ b/Documentation/Function/Build.Exec.html @@ -0,0 +1,10 @@ +Exec | typescript-esbuild - v0.4.1
  • The 'Exec' function is an asynchronous function that executes a command and logs the +stdout of the child process.

    +

    Parameters

    • Command: string

      The 'Command' parameter is a string that represents the +command you want to execute. It can be any valid command that can be executed in a +terminal or command prompt.

      +
    • Optional Echo: false | ((Return) => void)

      An optional parameter that controls whether the stdout +of the child process should be logged. If set to 'false', no logging will occur. If set +to a function, the function will be called with the stdout data as a parameter for custom +logging. If not provided, stdout will be logged to the console by default.

      +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Build.Merge.html b/Documentation/Function/Build.Merge.html new file mode 100644 index 0000000..1666851 --- /dev/null +++ b/Documentation/Function/Build.Merge.html @@ -0,0 +1,2 @@ +Merge | typescript-esbuild - v0.4.1
  • Merges multiple objects of type Ts using the provided merge functions and built-in metadata.

    +

    Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest ...Objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeLeafURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Build.build.html b/Documentation/Function/Build.build.html new file mode 100644 index 0000000..e44306e --- /dev/null +++ b/Documentation/Function/Build.build.html @@ -0,0 +1,6 @@ +build | typescript-esbuild - v0.4.1
  • Represents a function that processes file patterns.

    +

    Parameters

    • File: string[]

      An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files.

      +
    • Optional Option: {
          ESBuild?: string;
          TypeScript?: string;
      }

      An optional object that can contain two properties.

      +
      • Optional ESBuild?: string

        A string representing the ESBuild option.

        +
      • Optional TypeScript?: string

        A string representing the TypeScript option.

        +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Build.resolve.html b/Documentation/Function/Build.resolve.html new file mode 100644 index 0000000..91c81c9 --- /dev/null +++ b/Documentation/Function/Build.resolve.html @@ -0,0 +1,9 @@ +resolve | typescript-esbuild - v0.4.1
  • The right-most parameter is considered {to}. Other parameters are considered an array of {from}.

    +

    Starting from leftmost {from} parameter, resolves {to} to an absolute path.

    +

    If {to} isn't already absolute, {from} arguments are prepended in right to left order, +until an absolute path is found. If after using all {from} paths still no absolute path is found, +the current working directory is used as well. The resulting path is normalized, +and trailing slashes are removed unless the path gets resolved to the root directory.

    +

    Parameters

    • Rest ...paths: string[]

      A sequence of paths or path segments.

      +

    Returns string

    Throws

    if any of the arguments is not a string.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Exec.exec.html b/Documentation/Function/Exec.exec.html new file mode 100644 index 0000000..b1d57d0 --- /dev/null +++ b/Documentation/Function/Exec.exec.html @@ -0,0 +1,10 @@ +exec | typescript-esbuild - v0.4.1
  • The 'Exec' function is an asynchronous function that executes a command and logs the +stdout of the child process.

    +

    Parameters

    • Command: string

      The 'Command' parameter is a string that represents the +command you want to execute. It can be any valid command that can be executed in a +terminal or command prompt.

      +
    • Optional Echo: false | ((Return) => void)

      An optional parameter that controls whether the stdout +of the child process should be logged. If set to 'false', no logging will occur. If set +to a function, the function will be called with the stdout data as a parameter for custom +logging. If not provided, stdout will be logged to the console by default.

      +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/File.file.html b/Documentation/Function/File.file.html new file mode 100644 index 0000000..c433df8 --- /dev/null +++ b/Documentation/Function/File.file.html @@ -0,0 +1,2 @@ +file | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/JSON.JSON.html b/Documentation/Function/JSON.JSON.html new file mode 100644 index 0000000..31cd5c3 --- /dev/null +++ b/Documentation/Function/JSON.JSON.html @@ -0,0 +1,9 @@ +JSON | typescript-esbuild - v0.4.1
  • The function 'JSON' is a TypeScript function that reads a JSON file and returns its +parsed content.

    +

    Parameters

    • File: string

      The File parameter is a string that represents the name or +path of the JSON file that you want to parse.

      +
    • Optional From: string

      The From parameter is an optional string that represents +the directory path from which the JSON file should be loaded. If From is provided, +it will be used as the base directory path. If From is not provided, the current +directory will be used as the base directory path.

      +

    Returns Promise<any>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Load.load-1.html b/Documentation/Function/Load.load-1.html new file mode 100644 index 0000000..abd0443 --- /dev/null +++ b/Documentation/Function/Load.load-1.html @@ -0,0 +1 @@ +load | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Merge.merge.html b/Documentation/Function/Merge.merge.html new file mode 100644 index 0000000..d0a74b4 --- /dev/null +++ b/Documentation/Function/Merge.merge.html @@ -0,0 +1,2 @@ +merge | typescript-esbuild - v0.4.1
  • Merges multiple objects of type Ts using the provided merge functions and built-in metadata.

    +

    Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest ...Objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeLeafURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Theme.applyAnchorUrl.html b/Documentation/Function/Theme.applyAnchorUrl.html new file mode 100644 index 0000000..c95b733 --- /dev/null +++ b/Documentation/Function/Theme.applyAnchorUrl.html @@ -0,0 +1,4 @@ +applyAnchorUrl | typescript-esbuild - v0.4.1
  • Generate an anchor url for the given reflection and all of its children.

    +

    Parameters

    • reflection: Reflection

      The reflection an anchor url should be created for.

      +
    • container: Reflection

      The nearest reflection having an own document.

      +

    Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Function/Theme.getUrl.html b/Documentation/Function/Theme.getUrl.html new file mode 100644 index 0000000..16d9900 --- /dev/null +++ b/Documentation/Function/Theme.getUrl.html @@ -0,0 +1,6 @@ +getUrl | typescript-esbuild - v0.4.1
  • Return a url for the given reflection.

    +

    Parameters

    • reflection: Reflection

      The reflection the url should be generated for.

      +
    • Optional relative: Reflection

      The parent reflection the url generation should stop on.

      +
    • Optional separator: string

      The separator used to generate the url.

      +

    Returns string

    The generated url.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/Build.Type.html b/Documentation/Interface/Build.Type.html new file mode 100644 index 0000000..25baad3 --- /dev/null +++ b/Documentation/Interface/Build.Type.html @@ -0,0 +1,6 @@ +Type | typescript-esbuild - v0.4.1
interface Type ((File, Option?) => Promise<void>)
  • Represents a function that processes file patterns.

    +

    Parameters

    • File: string[]

      An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files.

      +
    • Optional Option: {
          ESBuild?: string;
          TypeScript?: string;
      }

      An optional object that can contain two properties.

      +
      • Optional ESBuild?: string

        A string representing the ESBuild option.

        +
      • Optional TypeScript?: string

        A string representing the TypeScript option.

        +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/Exec.Type.html b/Documentation/Interface/Exec.Type.html new file mode 100644 index 0000000..439c3a6 --- /dev/null +++ b/Documentation/Interface/Exec.Type.html @@ -0,0 +1,10 @@ +Type | typescript-esbuild - v0.4.1
interface Type ((Command, Echo?) => Promise<void>)
  • The 'Exec' function is an asynchronous function that executes a command and logs the +stdout of the child process.

    +

    Parameters

    • Command: string

      The 'Command' parameter is a string that represents the +command you want to execute. It can be any valid command that can be executed in a +terminal or command prompt.

      +
    • Optional Echo: false | ((Return) => void)

      An optional parameter that controls whether the stdout +of the child process should be logged. If set to 'false', no logging will occur. If set +to a function, the function will be called with the stdout data as a parameter for custom +logging. If not provided, stdout will be logged to the console by default.

      +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/File.Type.html b/Documentation/Interface/File.Type.html new file mode 100644 index 0000000..c981f5b --- /dev/null +++ b/Documentation/Interface/File.Type.html @@ -0,0 +1,2 @@ +Type | typescript-esbuild - v0.4.1
interface Type ((Path) => Promise<any>)

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/Interface_Mapping.Type.html b/Documentation/Interface/Interface_Mapping.Type.html new file mode 100644 index 0000000..0bee2f7 --- /dev/null +++ b/Documentation/Interface/Interface_Mapping.Type.html @@ -0,0 +1,5 @@ +Type | typescript-esbuild - v0.4.1
interface Type {
    Directory: string;
    Kind: ReflectionKind[];
}

Properties

Properties

Directory: string

The name of the directory the output files should be written to.

+
Kind: ReflectionKind[]

DeclarationReflection.kind this rule applies to.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/Interface_Merge.Generic.html b/Documentation/Interface/Interface_Merge.Generic.html new file mode 100644 index 0000000..bdba82e --- /dev/null +++ b/Documentation/Interface/Interface_Merge.Generic.html @@ -0,0 +1,2 @@ +Generic | typescript-esbuild - v0.4.1
interface Generic {
    DeepMergeArraysURI: "DeepMergeLeafURI";
}

Properties

Properties

DeepMergeArraysURI: "DeepMergeLeafURI"

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/Interface_Merge.Type.html b/Documentation/Interface/Interface_Merge.Type.html new file mode 100644 index 0000000..a294ec8 --- /dev/null +++ b/Documentation/Interface/Interface_Merge.Type.html @@ -0,0 +1,2 @@ +Type | typescript-esbuild - v0.4.1
interface Type<PMF> (<Ts>(...Objects) => DeepMergeHKT<Ts, Readonly<{
    DeepMergeArraysURI: PMF["DeepMergeArraysURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
        ? any[any]
        : "DeepMergeArraysDefaultURI";
    DeepMergeMapsURI: PMF["DeepMergeMapsURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
        ? any[any]
        : "DeepMergeMapsDefaultURI";
    DeepMergeOthersURI: PMF["DeepMergeOthersURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
        ? any[any]
        : "DeepMergeLeafURI";
    DeepMergeRecordsURI: PMF["DeepMergeRecordsURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
        ? any[any]
        : "DeepMergeRecordsDefaultURI";
    DeepMergeSetsURI: PMF["DeepMergeSetsURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
        ? any[any]
        : "DeepMergeSetsDefaultURI";
}>, Readonly<{
    key: PropertyKey;
    parents: readonly Readonly<Record<PropertyKey, unknown>>[];
}>>)

Type Parameters

  • PMF extends Partial<DeepMergeMergeFunctionsURIs>
  • Merges multiple objects of type Ts using the provided merge functions and built-in metadata.

    +

    Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest ...Objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: PMF["DeepMergeArraysURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
            ? any[any]
            : "DeepMergeArraysDefaultURI";
        DeepMergeMapsURI: PMF["DeepMergeMapsURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
            ? any[any]
            : "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: PMF["DeepMergeOthersURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
            ? any[any]
            : "DeepMergeLeafURI";
        DeepMergeRecordsURI: PMF["DeepMergeRecordsURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
            ? any[any]
            : "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: PMF["DeepMergeSetsURI"] extends keyof DeepMergeMergeFunctionURItoKind<any, any, any>
            ? any[any]
            : "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/Interface_Theme.Type.html b/Documentation/Interface/Interface_Theme.Type.html new file mode 100644 index 0000000..901afa0 --- /dev/null +++ b/Documentation/Interface/Interface_Theme.Type.html @@ -0,0 +1,74 @@ +Type | typescript-esbuild - v0.4.1
interface Type {
    Mapping: Type[];
    _Mapping: ((Reflection) => undefined | Type);
    buildUrls: ((Reflection, URLs) => UrlMapping<any>[]);
    componentName: string;
    defaultLayoutTemplate: ((pageEvent, template) => JsxElement);
    hierarchyTemplate: ((pageEvent) => JsxElement);
    icons: {
        1: (() => JsxElement);
        1024: (() => JsxElement);
        1048576: (() => JsxElement);
        128: (() => JsxElement);
        131072: (() => JsxElement);
        16: (() => JsxElement);
        16384: (() => JsxElement);
        2: (() => JsxElement);
        2048: (() => JsxElement);
        2097152: (() => JsxElement);
        256: (() => JsxElement);
        262144: (() => JsxElement);
        32: (() => JsxElement);
        32768: (() => JsxElement);
        4: (() => JsxElement);
        4096: (() => JsxElement);
        4194304: (() => JsxElement);
        512: (() => JsxElement);
        524288: (() => JsxElement);
        64: (() => JsxElement);
        65536: (() => JsxElement);
        8: (() => JsxElement);
        8192: (() => JsxElement);
        anchor: (() => JsxElement);
        checkbox: (() => JsxElement);
        chevronDown: (() => JsxElement);
        chevronSmall: (() => JsxElement);
        menu: (() => JsxElement);
        search: (() => JsxElement);
    };
    indexTemplate: ((pageEvent) => JsxElement);
    markedPlugin: MarkedPlugin;
    reflectionTemplate: ((pageEvent) => JsxElement);
    get _listenId(): any;
    get application(): Application;
    get owner(): O;
    bubble(name, ...args): this;
    buildNavigation(project): NavigationElement[];
    getNavigation(project): NavigationElement[];
    getReflectionClasses(reflection): string;
    getRenderContext(pageEvent): DefaultThemeRenderContext;
    getUrls(project): UrlMapping<any>[];
    initialize(): void;
    listenTo(obj, name, callback?, priority?): this;
    listenToOnce(obj, eventMap): this;
    listenToOnce(obj, name, callback, priority?): this;
    off(): this;
    off(eventMap, context?): this;
    off(name, callback?, context?): this;
    on(eventMap, context?): this;
    on(eventMap, callback?, context?, priority?): this;
    on(name, callback, context?, priority?): this;
    once(eventMap, context?): this;
    once(name, callback, context?, priority?): this;
    render(page, template): string;
    stopListening(obj?, name?, callback?): this;
    trigger(name, ...args): this;
}

Hierarchy

  • DefaultTheme
    • Type

Implemented by

Properties

Mapping: Type[]

An array of Mappings representing the theme's mapping configuration.

+
_Mapping: ((Reflection) => undefined | Type)

A function that maps a DeclarationReflection to a Mapping or returns undefined.

+

Type declaration

    • (Reflection): undefined | Type
    • Parameters

      • Reflection: DeclarationReflection

        The DeclarationReflection to map to a Mapping.

        +

      Returns undefined | Type

buildUrls: ((Reflection, URLs) => UrlMapping<any>[])

A function that builds URLs for a given DeclarationReflection and an array of URLs mappings.

+

Type declaration

    • (Reflection, URLs): UrlMapping<any>[]
    • Parameters

      • Reflection: DeclarationReflection

        The DeclarationReflection for which URLs are being built.

        +
      • URLs: UrlMapping<any>[]

        An array of URLs mappings with any data type.

        +

      Returns UrlMapping<any>[]

componentName: string

The name of this component as set by the @Component decorator.

+
defaultLayoutTemplate: ((pageEvent, template) => JsxElement)

Type declaration

    • (pageEvent, template): JsxElement
    • Parameters

      • pageEvent: PageEvent<Reflection>
      • template: RenderTemplate<PageEvent<Reflection>>

      Returns JsxElement

hierarchyTemplate: ((pageEvent) => JsxElement)

Type declaration

    • (pageEvent): JsxElement
    • Parameters

      • pageEvent: PageEvent<ProjectReflection>

      Returns JsxElement

icons: {
    1: (() => JsxElement);
    1024: (() => JsxElement);
    1048576: (() => JsxElement);
    128: (() => JsxElement);
    131072: (() => JsxElement);
    16: (() => JsxElement);
    16384: (() => JsxElement);
    2: (() => JsxElement);
    2048: (() => JsxElement);
    2097152: (() => JsxElement);
    256: (() => JsxElement);
    262144: (() => JsxElement);
    32: (() => JsxElement);
    32768: (() => JsxElement);
    4: (() => JsxElement);
    4096: (() => JsxElement);
    4194304: (() => JsxElement);
    512: (() => JsxElement);
    524288: (() => JsxElement);
    64: (() => JsxElement);
    65536: (() => JsxElement);
    8: (() => JsxElement);
    8192: (() => JsxElement);
    anchor: (() => JsxElement);
    checkbox: (() => JsxElement);
    chevronDown: (() => JsxElement);
    chevronSmall: (() => JsxElement);
    menu: (() => JsxElement);
    search: (() => JsxElement);
}

The icons which will actually be rendered. The source of truth lives on the theme, and +the DefaultThemeRenderContext.icons member will produce references to these.

+

These icons will be written twice. Once to an icons.svg file in the assets directory +which will be referenced by icons on the context, and once to an icons.js file so that +references to the icons can be dynamically embedded within the page for use by the search +dropdown and when loading the page on file:// urls.

+

Custom themes may overwrite this entire object or individual properties on it to customize +the icons used within the page, however TypeDoc currently assumes that all icons are svg +elements, so custom themes must also use svg elements.

+

Type declaration

  • 1: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 1024: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 1048576: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 128: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 131072: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 16: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 16384: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 2: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 2048: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 2097152: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 256: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 262144: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 32: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 32768: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 4: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 4096: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 4194304: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 512: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 524288: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 64: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 65536: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 8: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • 8192: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • anchor: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • checkbox: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • chevronDown: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • chevronSmall: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • menu: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

  • search: (() => JsxElement)
      • (): JsxElement
      • Returns JsxElement

indexTemplate: ((pageEvent) => JsxElement)

Type declaration

    • (pageEvent): JsxElement
    • Parameters

      • pageEvent: PageEvent<ProjectReflection>

      Returns JsxElement

markedPlugin: MarkedPlugin
reflectionTemplate: ((pageEvent) => JsxElement)

Type declaration

    • (pageEvent): JsxElement
    • Parameters

      • pageEvent: PageEvent<ContainerReflection>

      Returns JsxElement

Accessors

  • get _listenId(): any
  • A unique id that identifies this instance.

    +

    Returns any

  • get application(): Application
  • Return the application / root component instance.

    +

    Returns Application

  • get owner(): O
  • Return the owner of this component.

    +

    Returns O

Methods

  • Parameters

    • name: string | Event | EventMap
    • Rest ...args: any[]

    Returns this

  • Parameters

    • project: ProjectReflection

    Returns NavigationElement[]

  • If implementing a custom theme, it is recommended to override buildNavigation instead.

    +

    Parameters

    • project: ProjectReflection

    Returns NavigationElement[]

  • Parameters

    • reflection: DeclarationReflection

    Returns string

  • Parameters

    • pageEvent: PageEvent<Reflection>

    Returns DefaultThemeRenderContext

  • Map the models of the given project to the desired output files.

    +

    Parameters

    • project: ProjectReflection

      The project whose urls should be generated.

      +

    Returns UrlMapping<any>[]

    A list of UrlMapping instances defining which models + should be rendered to which files.

    +
  • Initialize this component.

    +

    Returns void

  • Inversion-of-control versions of on. Tell this object to listen to +an event in another object... keeping track of what it's listening to +for easier unbinding later.

    +

    Parameters

    • obj: EventDispatcher
    • name: string | EventMap
    • Optional callback: EventCallback
    • Optional priority: number

    Returns this

  • Inversion-of-control versions of once.

    +

    Parameters

    • obj: EventDispatcher
    • eventMap: EventMap

    Returns this

  • Parameters

    • obj: EventDispatcher
    • name: string
    • callback: EventCallback
    • Optional priority: number

    Returns this

  • Remove one or many callbacks. If context is null, removes all +callbacks with that function. If callback is null, removes all +callbacks for the event. If name is null, removes all bound +callbacks for all events.

    +

    Returns this

  • Parameters

    • eventMap: undefined | EventMap
    • Optional context: any

    Returns this

  • Parameters

    • name: undefined | string
    • Optional callback: EventCallback
    • Optional context: any

    Returns this

  • Bind an event to a callback function. Passing "all" will bind +the callback to all events fired.

    +

    Parameters

    • eventMap: EventMap
    • Optional context: any

    Returns this

  • Parameters

    • eventMap: EventMap
    • Optional callback: EventCallback
    • Optional context: any
    • Optional priority: number

    Returns this

  • Parameters

    • name: string
    • callback: EventCallback
    • Optional context: any
    • Optional priority: number

    Returns this

  • Bind an event to only be triggered a single time. After the first time +the callback is invoked, its listener will be removed. If multiple events +are passed in using the space-separated syntax, the handler will fire +once for each event, not once for a combination of all events.

    +

    Parameters

    • eventMap: EventMap
    • Optional context: any

    Returns this

  • Parameters

    • name: string
    • callback: EventCallback
    • Optional context: any
    • Optional priority: any

    Returns this

  • Parameters

    • page: PageEvent<Reflection>
    • template: RenderTemplate<PageEvent<Reflection>>

    Returns string

  • Tell this object to stop listening to either specific events ... or +to every object it's currently listening to.

    +

    Parameters

    • Optional obj: EventDispatcher
    • Optional name: string | EventMap
    • Optional callback: EventCallback

    Returns this

  • Trigger one or many events, firing all bound callbacks. Callbacks are +passed the same arguments as trigger is, apart from the event name +(unless you're listening on "all", which will cause your callback to +receive the true name of the event as the first argument).

    +

    Parameters

    • name: string | Event | EventMap
    • Rest ...args: any[]

    Returns this

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/JSON.Type.html b/Documentation/Interface/JSON.Type.html new file mode 100644 index 0000000..9d98b34 --- /dev/null +++ b/Documentation/Interface/JSON.Type.html @@ -0,0 +1,9 @@ +Type | typescript-esbuild - v0.4.1
interface Type ((File, From?) => Promise<any>)
  • The function 'JSON' is a TypeScript function that reads a JSON file and returns its +parsed content.

    +

    Parameters

    • File: string

      The File parameter is a string that represents the name or +path of the JSON file that you want to parse.

      +
    • Optional From: string

      The From parameter is an optional string that represents +the directory path from which the JSON file should be loaded. If From is provided, +it will be used as the base directory path. If From is not provided, the current +directory will be used as the base directory path.

      +

    Returns Promise<any>

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Interface/Load.Type.html b/Documentation/Interface/Load.Type.html new file mode 100644 index 0000000..62c150c --- /dev/null +++ b/Documentation/Interface/Load.Type.html @@ -0,0 +1,5 @@ +Type | typescript-esbuild - v0.4.1
interface Type {
    load: ((Application) => void);
}

Properties

Properties

load: ((Application) => void)

The Load function is responsible for loading a plugin into the TypeDoc instance.

+

Type declaration

    • (Application): void
    • Parameters

      • Application: Application

        The Application parameter is an instance of TypeDoc's Application +class, representing the TypeDoc application to which the plugin should be loaded.

        +

      Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Build.html b/Documentation/Module/Build.html new file mode 100644 index 0000000..789dd9a --- /dev/null +++ b/Documentation/Module/Build.html @@ -0,0 +1,8 @@ +Build | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/ESBuild.html b/Documentation/Module/ESBuild.html new file mode 100644 index 0000000..e47b2bb --- /dev/null +++ b/Documentation/Module/ESBuild.html @@ -0,0 +1,2 @@ +ESBuild | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Exec.html b/Documentation/Module/Exec.html new file mode 100644 index 0000000..08528b1 --- /dev/null +++ b/Documentation/Module/Exec.html @@ -0,0 +1,3 @@ +Exec | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/File.html b/Documentation/Module/File.html new file mode 100644 index 0000000..ae313c7 --- /dev/null +++ b/Documentation/Module/File.html @@ -0,0 +1,3 @@ +File | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Interface_Mapping.html b/Documentation/Module/Interface_Mapping.html new file mode 100644 index 0000000..fb4b5b7 --- /dev/null +++ b/Documentation/Module/Interface_Mapping.html @@ -0,0 +1,2 @@ +Interface/Mapping | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Interface_Merge.html b/Documentation/Module/Interface_Merge.html new file mode 100644 index 0000000..1a6a0a1 --- /dev/null +++ b/Documentation/Module/Interface_Merge.html @@ -0,0 +1,4 @@ +Interface/Merge | typescript-esbuild - v0.4.1

Module Interface/Merge

Template: PMF

A type parameter representing Partial.

+

Index

Interfaces

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Interface_Theme.html b/Documentation/Module/Interface_Theme.html new file mode 100644 index 0000000..769f2eb --- /dev/null +++ b/Documentation/Module/Interface_Theme.html @@ -0,0 +1,2 @@ +Interface/Theme | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/JSON.html b/Documentation/Module/JSON.html new file mode 100644 index 0000000..89bec44 --- /dev/null +++ b/Documentation/Module/JSON.html @@ -0,0 +1,3 @@ +JSON | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Load.html b/Documentation/Module/Load.html new file mode 100644 index 0000000..d7b8b29 --- /dev/null +++ b/Documentation/Module/Load.html @@ -0,0 +1,5 @@ +Load | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Merge.html b/Documentation/Module/Merge.html new file mode 100644 index 0000000..b342330 --- /dev/null +++ b/Documentation/Module/Merge.html @@ -0,0 +1,2 @@ +Merge | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Theme.html b/Documentation/Module/Theme.html new file mode 100644 index 0000000..313585f --- /dev/null +++ b/Documentation/Module/Theme.html @@ -0,0 +1,15 @@ +Theme | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/TypeScriptESBuild.html b/Documentation/Module/TypeScriptESBuild.html new file mode 100644 index 0000000..0237d5d --- /dev/null +++ b/Documentation/Module/TypeScriptESBuild.html @@ -0,0 +1,2 @@ +TypeScriptESBuild | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Module/Value.html b/Documentation/Module/Value.html new file mode 100644 index 0000000..367401d --- /dev/null +++ b/Documentation/Module/Value.html @@ -0,0 +1,2 @@ +Value | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Type/Value.Type.html b/Documentation/Type/Value.Type.html new file mode 100644 index 0000000..e6f772d --- /dev/null +++ b/Documentation/Type/Value.Type.html @@ -0,0 +1 @@ +Type | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Build.Current.html b/Documentation/Variable/Build.Current.html new file mode 100644 index 0000000..799d9e3 --- /dev/null +++ b/Documentation/Variable/Build.Current.html @@ -0,0 +1 @@ +Current | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Build.Pipe.html b/Documentation/Variable/Build.Pipe.html new file mode 100644 index 0000000..32a8af7 --- /dev/null +++ b/Documentation/Variable/Build.Pipe.html @@ -0,0 +1 @@ +Pipe | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/ESBuild.ESBuild.html b/Documentation/Variable/ESBuild.ESBuild.html new file mode 100644 index 0000000..75c5599 --- /dev/null +++ b/Documentation/Variable/ESBuild.ESBuild.html @@ -0,0 +1 @@ +ESBuild | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Load.Theme.html b/Documentation/Variable/Load.Theme.html new file mode 100644 index 0000000..e28b148 --- /dev/null +++ b/Documentation/Variable/Load.Theme.html @@ -0,0 +1 @@ +Theme | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Load.load.html b/Documentation/Variable/Load.load.html new file mode 100644 index 0000000..248e0cc --- /dev/null +++ b/Documentation/Variable/Load.load.html @@ -0,0 +1 @@ +load | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.Class.html b/Documentation/Variable/Theme.Class.html new file mode 100644 index 0000000..06f67d4 --- /dev/null +++ b/Documentation/Variable/Theme.Class.html @@ -0,0 +1 @@ +Class | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.DeclarationReflection.html b/Documentation/Variable/Theme.DeclarationReflection.html new file mode 100644 index 0000000..45a0611 --- /dev/null +++ b/Documentation/Variable/Theme.DeclarationReflection.html @@ -0,0 +1 @@ +DeclarationReflection | typescript-esbuild - v0.4.1

Variable DeclarationReflection

DeclarationReflection: typeof DeclarationReflection

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.Enum.html b/Documentation/Variable/Theme.Enum.html new file mode 100644 index 0000000..8a03621 --- /dev/null +++ b/Documentation/Variable/Theme.Enum.html @@ -0,0 +1 @@ +Enum | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.Interface.html b/Documentation/Variable/Theme.Interface.html new file mode 100644 index 0000000..0484762 --- /dev/null +++ b/Documentation/Variable/Theme.Interface.html @@ -0,0 +1 @@ +Interface | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.Module.html b/Documentation/Variable/Theme.Module.html new file mode 100644 index 0000000..8679343 --- /dev/null +++ b/Documentation/Variable/Theme.Module.html @@ -0,0 +1 @@ +Module | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.Namespace.html b/Documentation/Variable/Theme.Namespace.html new file mode 100644 index 0000000..2d61dd2 --- /dev/null +++ b/Documentation/Variable/Theme.Namespace.html @@ -0,0 +1 @@ +Namespace | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.TypeAlias.html b/Documentation/Variable/Theme.TypeAlias.html new file mode 100644 index 0000000..0aa4683 --- /dev/null +++ b/Documentation/Variable/Theme.TypeAlias.html @@ -0,0 +1 @@ +TypeAlias | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.URL_PREFIX.html b/Documentation/Variable/Theme.URL_PREFIX.html new file mode 100644 index 0000000..c9f8fd9 --- /dev/null +++ b/Documentation/Variable/Theme.URL_PREFIX.html @@ -0,0 +1 @@ +URL_PREFIX | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.UrlMapping.html b/Documentation/Variable/Theme.UrlMapping.html new file mode 100644 index 0000000..84fc709 --- /dev/null +++ b/Documentation/Variable/Theme.UrlMapping.html @@ -0,0 +1 @@ +UrlMapping | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme.Variable.html b/Documentation/Variable/Theme.Variable.html new file mode 100644 index 0000000..54315f9 --- /dev/null +++ b/Documentation/Variable/Theme.Variable.html @@ -0,0 +1 @@ +Variable | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/Theme._Function.html b/Documentation/Variable/Theme._Function.html new file mode 100644 index 0000000..6e9bfc5 --- /dev/null +++ b/Documentation/Variable/Theme._Function.html @@ -0,0 +1 @@ +_Function | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/Variable/TypeScriptESBuild.typeScriptESBuild.html b/Documentation/Variable/TypeScriptESBuild.typeScriptESBuild.html new file mode 100644 index 0000000..ceed09d --- /dev/null +++ b/Documentation/Variable/TypeScriptESBuild.typeScriptESBuild.html @@ -0,0 +1 @@ +typeScriptESBuild | typescript-esbuild - v0.4.1

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/assets/custom.css b/Documentation/assets/custom.css new file mode 100644 index 0000000..e3a4462 --- /dev/null +++ b/Documentation/assets/custom.css @@ -0,0 +1,49 @@ +:root { + --dark-color-background: #000; + --dark-color-background-secondary: #000; + --dark-code-background: #040404; + --color-accent: #2463eb; + --dark-hl-0: #ffdd00; + --dark-hl-1: #ff66ff; + --dark-hl-2: #ff4444; + --dark-hl-3: #44ffff; + --dark-hl-4: #44ff44; +} + +body #tsd-search .field label { + left: 50%; + margin-left: -20px; + z-index: 1; + text-align: center; +} + +body #tsd-search.has-focus .field label { + display: none; +} + +body #tsd-search .field input { + z-index: 2; +} + +body pre, +body .tsd-page-toolbar, +body .tsd-generator { + border: none; +} + +body .tsd-navigation a, +body .tsd-navigation summary > span, +body .tsd-page-navigation a { + padding: 0.5rem; + border-radius: 8px; +} + +body .tsd-description .tsd-signatures .tsd-signature, +body .tsd-signature, +body .tsd-signatures .tsd-signature, +body .tsd-typography td, +body .tsd-typography th, +body code.tsd-tag { + border-radius: 12px; + border-width: 2px; +} diff --git a/Documentation/assets/highlight.css b/Documentation/assets/highlight.css new file mode 100644 index 0000000..a99bf37 --- /dev/null +++ b/Documentation/assets/highlight.css @@ -0,0 +1,57 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #0451A5; + --dark-hl-4: #9CDCFE; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +pre, code { background: var(--code-background); } diff --git a/Documentation/assets/icons.js b/Documentation/assets/icons.js new file mode 100644 index 0000000..b79c9e8 --- /dev/null +++ b/Documentation/assets/icons.js @@ -0,0 +1,15 @@ +(function(svg) { + svg.innerHTML = ``; + svg.style.display = 'none'; + if (location.protocol === 'file:') { + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); + else updateUseElements() + function updateUseElements() { + document.querySelectorAll('use').forEach(el => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } + } +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/Documentation/assets/icons.svg b/Documentation/assets/icons.svg new file mode 100644 index 0000000..7dead61 --- /dev/null +++ b/Documentation/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Documentation/assets/main.js b/Documentation/assets/main.js new file mode 100644 index 0000000..1daeb69 --- /dev/null +++ b/Documentation/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.scrollToHash(),this.updateIndexVisibility())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.scrollToHash(),this.updateIndexVisibility())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/Documentation/assets/navigation.js b/Documentation/assets/navigation.js new file mode 100644 index 0000000..cd0c9c0 --- /dev/null +++ b/Documentation/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACq2WbW/aMBDHv4tfswfo2m2867oydSpdBW01qULIhAOsOSEyzlQ07btPdhIT5+wLG3sZ3/1//t/5Kc+/mIYXzYbsUyHkkvVYzvWGDdl4uywkvLGjrzc6lazHfohsyYaDHks2Qi4VZGz47PQP+xwO8ptMg1rxpCaYaAtzfvG759RXhVKQ6QPgiSvBF85BFfcRZ4MG4V4052/JTZDQXr9ActCOiizRYptVWhP0tRfvGtoxqDVExTZKqBd+11vqBe6+p1aw28qf8dmrOCLMmrVPwytfjR+19ojh2l9TgrSzge/EW4XaBur+X+4/C+jafhDeAFYLofVv+h4JCci3GTzJtwV0+V55UzvfVrtCDlq+3Vws7GzM81xka1Sa082rjJPqxLRw0bP4mcO+8KmLuPoCGSiRdBizuCqVWo4jarSo7gofNpBSFdr4f+p7yYp5arr6Ov12h0yZwZOcWEDXTvendjvdarGD1k6/3XJ8wZnBk3xbQJfv1kK6i7EU41X03iXp+fa1EtknpK5fTvqqT3YsfMKOP1dp5FUsCWnwVeze/8fveu3rryTf7Sq5xpD+4EPzX8QkB9peym2UaPxnSCRX3FQ7gZUEW3eUFsym/lSyIo3CTJDQNu/7MMBlEJRyKaKIMkzo73gKu5xy4TIIijl2l1Lw+Dq5DILyOLmd30+uRzffo5hDCsVREj2WbY5LITi1JkqpPwnGvD5rUYjLICg8z+X+Mks2W/WoZOAglyg/jfhTXYOmOGWYvhH2OUwTJXId+2NFGcfdFHHuoW+IjFTkn+0TlwW+zezoP7xA5qsSB16ftx/f98/N9LM/nyoNm9wNAAA=" \ No newline at end of file diff --git a/Documentation/assets/search.js b/Documentation/assets/search.js new file mode 100644 index 0000000..be7293b --- /dev/null +++ b/Documentation/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACs0cXY/bNvK/KA99YRXxU9LiXnptesjdtVekl+KARbDQ2tpdtbJlSPI2uSD//UBSlDk0x5bdHJqXmhE5H5zvGWn7Mem734fk5vZj8luzXSc3jCTbalMnN8k/u2qdkGTft8lN8kO33rf1S/0sfRo3bUKSVVsNQz0kN0nyiThwJWb41of/fr9djU23tRj01tc0gogku6qvt6Mjf0DMD4z9+6ne1DPmX6q+qe4db2bvWsSAY4i3jV8cR3vA+urnv+6b9kiU0+OT0uQ4lpk9hwfH5zHpsMT4/KVq93XIpXl4kkeWlTmVnnY+7A5Y9D8mHHp5mjnLQIy119ux7h+qVf0S6n5ict6+w9TvIZUqzuqBRojuPOchfwdyNGMHj7jXsn/bt8MlRF/4UIvIG1jfJ6Xkh0vf3Y0XXvvAQWqBv2YXsZIeboAI5u6Hardrto8XceUB/TlicQykM+wFMpm5R0RyjUT+oEBi/vZD3T+e8Dezvdjf/lZv675ZnbyTxTidXOp1lktEkt/V9c4c+Kbvqw/D2zevL2TgRRTDIp4cnmsDkEVySQAKRRFVamBbx2qdDPuzBVKH8KKbnHaQf+hHF9F8MYEsJBy6BzSqpq9XY9d/uJAFH+5KPhYI3pZCZ2UdlCzggqAWwjC/mE7h6K8MuhEy56LsAaTFKrG///yvH0Oj18/+qJ0bHOfFbcjH+Pq+aY9irH72R/kyOM7zZchHK9f39eqobH1fx8LyRXwZHOf5MuRjfEXr6fPV9ALOLJLzrOFVdDRhnk+TXt+0ARjmxsni2CCYPN7CDOChBg4wYzbmi/gBbr4e2gfffme0xvoe4maMW5+HtvbNb0ZrjKeOWyFuPB7aV1G0UxN1Fm+oeQ/xD3HFWcyYCSxD3ddD1z6jyKfty9B7zeVPzS7SUFvceu9qxN/ue3MIwT1tXy2WexAIAqHcn2+HcTfWIeDnVd/sRqR9PzqwtJEfUcyzcI5xHwGdvtcx99E7xnrp8x20d5fv6lVb9ZUW+pv6oa2N+CP3MTijh8/cI+imPdJv3/zz7qc3r75//R+M3uHEZUQ8+3qsx7d9e2xgloDdvRp5tdu1H77Zrp66/gQReOpqcc0pDpPWfOBqEt9qAAy92bwa9avtfoNh1ntXI/6x2tTD7oRY5gNXk7B+heG3u1cj147+TdtUqNznA1eTuHMGiZGYD1xNwiHEKLh/Xh8s+jbsecNgMZ+4jAhlxSGyg3hqLH7CPp6fSoeIWSYKmOfA4DCOfcGs0APBqB1N4xBiZwdwcVonx1wIqYsovSNJs13X75Obj8lz3Q/adm8SlvK0TEjy0NTtWr/xsCyQZNVtNhrLu2nvF9Og6xP2yMssIbcZYSItRPnuHbl1EGbDPDDHKHaMgmMsIbeUsDLlCh5j4BjHsHFwTCTklhHO0pwLcEyAYxI7JsExlZBbTnieFoKBYwocyxNyKwiVaZGDUzk4VSTkVsaQFeBYiSAroXC1rFXsBmYnJzTlBScFoWlGBSn1r5KEZoSmZSkJpYSnlElCGaGppJJQTmiqeE6ocE/kBE0VoSktGKG52ypIlpYqJ7S0UB5nWr0si2mUQs1TrWFGo5dg0yUKWZhLUMXNJRijlsGc54QxwlJWFIRx90RvKUaYdDua9SLPCcvtE488xxmFRkWNVQnCeErz4KTeMvKRRaHlw9KMKy0fmnItHZYyy1VRloQVhKUiU4SVRqI54RlhqSoY4dQuPKraFjmLWYzZMlctcmJ0IjRurVFGOCc8FXlJuCAizZiP0hh01AgpNGmqbZer6Elo1rRADHbamOxktiVnOawkWVoU2r208krCi+m3tL8im37pZJiCTQ+0tgXlRIjpgZx+lTtpUXpMGq8qoteBjsUy5DoMRjembVmUMYxmi3GtT0GJzKwWiKRuwdyChwpi2u61MiPh0ARK4wtZ6Vl8OXmJhkozyYmUhrIkUrlF7haFW5TTQmV24bHAMQFAp2ACi8jTDk2VVCQ36pbEMW7ijd4wjIuCEaX1K0RJtN+mkjGiuFsIt5BuodwitwuPIYn6M4NhnWlbVzo4pIVU8CR0A4aFdrOhrYyVytxNFCXRFl0WVBt7lpZc2ugjs2IydirsZXUQUzYUcKKMAnlB8swt9BmeMZIbWYmS5NxtCbvwONReltNYbGIwsTAss5iNXGpb1OFEuUVuF14ONqmliNHi0Ds4RWiZDW0TuRRWbhm1cpvEVihl802mjUUHi4JNxqIn5UZ+lDOSa2CW5SQ3W6wkReYW1C2YW3C3EG4h7cJjWftXEU2pPChFMA8xGyb1CmouJ23mVTTXSmUpFZLooJ9mmoXCLUq78ChoDxI8KmhYyHCJn5RfTvzluMeZrS/Bk3iOepLdWuIhBe4hxRdr+SXOdPmlMi0y1PDt1pdh+ELHuzKLlQnChUKWMStMxpkWZpbmptTOUq7xab4FVTbly7y0Fyh14cz1TaThNEu5NlA1LaS+f55TqwFeMFLqM2XJSclIlkpWkJK7J8I9kW6hjK4lKXWapXpRuK1yWtAsm1eaSK5dKmPTeZrxCQXNxHxOzis10aZZPj8r5tVMg840qOOfUjY/0zcQMieUzjToTMOI0q7y+dxMg8402EyD0Xk102B8Xs002EyDzTTYfA8202AzDT7T4DMNPtPgEw3Pbky1x0XUcGA6Ejrr6CvGut6gOxZojjNbnyN3CWk4l1EisA4T6sRRWIiJHBsTCNiOCB1mqYjVpQLWQ6I01KM9joBNgczM0Tx2VLp+W1uKqW5LZrpplmYFtaFQB0mu01SpPZxrmeVSN7K6+tZxkgpqdz2a1Fwk2v/ZPVdJm85dx1Xpamxl0imzbWgmp6ypy3CTCEvjCZpDqoMvL93K8GNXrgSnQswrGZbc0lipiIpQQiuVxkpFXITQSqXpqePdmgzmOMbY4m2YhMYmjbHJaCiW0NikMTZJo0ehuUljbjKuJWhv0tibjM6TJLQ3ZexNRr1fwUpbUcwxFJy2KIZNjBT7cydGiqNzIMX//3MghU931Oef7phh7HPdj/X6tR3K3t7O3/18TO6mSS3L3Ej4Y0JpcvPxE0kot79M6t9Ph0mt/pdm++5hfjVxwOR9i/wxkQUGunETZY8H6vHALG3FEQSVD5nPgOBkQrPpJhM2Kqcbiek3t798ujGfbszV9FtMv6X9FdM5McHLCb+C3FoG74eu3Y9AyrpwiXNqMU+QD2PdAzDKloC1LQTiJ4FIIgFwX1frD5BZuYQqVL46pwkRSByRsKSBZIVPUr+NBWSFQOiCO+qvD31DPcdrgViJPGMl2am7OF6grPkiw9jt2qYefECJKZkFcB+s1PRbHiA431kp5ms9sOISUzLgtX/c6+cDNKlloH0FpXPWvwWUeNRqICdewDvByfBhu3rqu223B9B5iQDHzdoiuwdClBgK5lnJfdNtAFSO2SybbI/nHrT9uuUAXRykn3Dmh7KI0g10oL0zavAN3IDvzZvQAwaPfgATpz/6wAL1Vyds6fufxbJ6CmWARYpTqjNY+hqGOpQfP+as7EcZPljueRyW3fS/g3BVYBHiJOPd9qF53NuvfnxsaLxxruS7zqrbDs267mvAUHk6v8ygo/kAzbNhTANznFUevPuAzU9sngTFsQQB/fXho6fe+0LK14eH7LhaOSohYqk+SiQ1b9t9j8fchwF+6535xtQEwWHfN0BrvgPliO2sD5+4e8S9a7Jjl5ueESC72nz144uq8EwXixv1cBR3vBzjCicM2Hwb6tmKR5FnUTtf7Asa936E6bPAdHIKkf3c1mPSq1uZO3+snYN9B1WmEBA3TPBY7vPzxENQDmHlojNmFtSvsQrlodsH9RJdUqM89B0wmhLjHwBF+ojiXM5n8C4X1/LCvzN0aMcP0ARaY57KP4/674+qoAsQWOT0M4eDhDoQmA5kSLQBjsSlFzkU4n2PdVCuMUwJAjA6hlUl93NchlFrnoOMionFqfyUuTYPsFRZkpyax20HS9scq09j9VUDuBdo6xM1Dxhqm+0wVtsV4EWhni98wPm7Ut9KvDwhsQJrBn0Z6cX9UE+PA+0RBvvpvWdvXsynWLQ/wE+f7nlh7wCOjRCa7dgBeaG1sS8vWI9i3oQGlZODAUdi+xUsWDIscgAw6Hs5FsNhlQS7+F8HGEOVp0WmfLjzlVdYvojSw4V1im39EFx9SQTRUJtuAJAl1h8BwGY7vhz2w65ZNd1+eLnt6ve7tlk1Y9Bf56gvRfza/lHdAdgbjbncMwH5GQi3OY0vcC+Ftu0A7hEWK5hJnCpWYnM2rxYMyn0YuNzUzJ3h4KyPHqYNTHVhux5r0zfVDiBjaC0TydtHYcjLtAl3oyeYphencoMc8MbRucRJNGO1rkYwvxRXIZo+bPcnWp6pSizLH3nakuHiZt+OzQ6S42iJdoJrA+AHejRqMwg0/ZmAn+W8iCSxHLMFOYKiA0r/stuu31Rt89+g9mJLaoptBwMgXyLd7v7XegXjP0ed6IRwO1gEnS2hJ4+YB50syHZu0HnRgBP6M+xMGDrDiXhz16+DOXi2JCl04xMEK5ek324/7vZAdRKtBT3L3FV9tamDeT1HC1npCy7AANRfLpm976p+gDaao3klkuF3VT82VfuXeeZg/jP3PvseFksc7X+kj3N8gipbYv8aCqYQukRnu2oc6x52aQU6mp2yl99t7xr4FoxyfxqEFc67dv8Ia3+FjrR8Yn29q7frIKhkS/rjXd+tajhHLDADOVUMTHiCGQgWJqIS67vnJriDQFP0iVClXzfBghcdj0VMF5vlYThg5+hwbLrnMMQvSQ99vevrod6OYV2FxlsXZ+VxfJyRQZ1gVhHTyfzHyV748AoBgRXrE1wggSUhdoIM3g4seaPS18NOT5PvYSmh0G4H3lNXIVDoFC0QIdlx3wfDBkxbMgvhYEGK9vluIBU0aH5K65vHJ1h8LZmp9V1YVCwSdVAdSlTGHtDw1O3h8FZicvLT4NBWw1NgD2iu95kcRp2EoErLJT3jMK47mK8LLPediojD2ISvzZex3Yd2iCZ9H258qqD6lw45P+Nwc3yCX36gPCDVITobufS1eDjNE4BH2Cb4I/YJzUReYeHN4PgKljDoG8zIW6/xCdY/Eh0W+QoG7QbaMcx6pVC28wtsX1991bRHUW9JfQRzCpocT6Xp8Dshrz6a5F8GVuJeMbjhyHRsHrQAC46Xx+cYquxfXPuNr2cfEnsxpkHXHRiLK7TGF5DkYP5vDgAUfYEfqVcOKCKvx6g/nBfuzlj7vt+u64dmC9M2QwcIkQCw37ZBMUlReN+c9tuxCWLlkjx09HIAE1ysSNv37d2urx+a9xCHN+AW2Hh637eR6Rf1X4Uq7OVE+OUC+u4r9u3DPujKKDoRA3Iawhk8SnPBG4Vn+38T9WKfd2vk0s/z/wfAF5cHKDFR/14HWZQtqWt+7/rfQu2gQwsA2DfjCF8eKbR9cIp5R0y/1zbbOrm5fffp0/8AqYxC63xXAAA="; \ No newline at end of file diff --git a/Documentation/assets/style.css b/Documentation/assets/style.css new file mode 100644 index 0000000..072daed --- /dev/null +++ b/Documentation/assets/style.css @@ -0,0 +1,1415 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/Documentation/hierarchy.html b/Documentation/hierarchy.html new file mode 100644 index 0000000..4857680 --- /dev/null +++ b/Documentation/hierarchy.html @@ -0,0 +1 @@ +typescript-esbuild - v0.4.1

typescript-esbuild - v0.4.1

Class Hierarchy

Generated using TypeDoc

\ No newline at end of file diff --git a/Documentation/index.html b/Documentation/index.html new file mode 100644 index 0000000..b867485 --- /dev/null +++ b/Documentation/index.html @@ -0,0 +1,17 @@ +typescript-esbuild - v0.4.1

typescript-esbuild - v0.4.1

🌀 TypeScriptESBuild

Builds all your TypeScript files into JavaScript.

+

Installation

Add configuration and setup scripts:

+
npm install -D -E typescript-esbuild
+
+

Usage

package.json

+
{
"scripts": {
"prepublishOnly": "TypeScriptESBuild 'Source/**/*.ts'"
}
} +
+

ESBuild Configuration

Or with a custom esbuild config file:

+

package.json

+
{
"scripts": {
"prepublishOnly": "TypeScriptESBuild 'Source/**/*.ts' -es ESBuild.ts"
}
} +
+

See an example of a configuration file in +ESBuild.ts

+

TypeScript Configuration

tsconfig.json

+
{
"compilerOptions": {
"outDir": "Target"
},
"extends": "typescript-esbuild/Target/Notation/TypeScript",
"include": ["Source"]
} +
+

Generated using TypeDoc

\ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c47b9fa --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +MIT License + +Copyright (c) 2023-2024 Nikola R. Hristov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..bbd2cf6 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# 📃 [TypeScriptDocument] + +Document all your TypeScript files using TypeDoc. + +## Installation + +Add configuration and setup scripts: + +```sh +npm install -D -E typescript-document +``` + +## Usage + +`package.json` + +```json +{ + "scripts": { + "prepublishOnly": "TypeScriptDocument 'Source/**/*.ts'" + } +} +``` + +### ESBuild Configuration + +Or with a custom ESBuild config file: + +`package.json` + +```json +{ + "scripts": { + "prepublishOnly": "TypeScriptDocument 'Source/**/*.ts' -es ESBuild.ts" + } +} +``` + +See an example of a configuration file in +[ESBuild.ts](Source/Variable/ESBuild.ts) + +### TypeScript Configuration + +`tsconfig.json` + +```json +{ + "compilerOptions": { + "outDir": "Target" + }, + "extends": "typescript-document/Target/Notation/TypeScript", + "include": ["Source"] +} +``` + +[typedoc]: https://npmjs.org/typedoc +[TypeScriptDocument]: https://npmjs.org/typescript-document diff --git a/Source/Class/Theme.ts b/Source/Class/Theme.ts new file mode 100644 index 0000000..4067c77 --- /dev/null +++ b/Source/Class/Theme.ts @@ -0,0 +1,94 @@ +/** + * @module Theme + * + */ +export default class + extends (await import("typedoc")).DefaultTheme + implements Type +{ + public override buildUrls( + ...[Reflection, URLs]: Parameters + ) { + const { Directory } = this._Mapping(Reflection) ?? {}; + + if (Directory) { + if (!(Reflection.url && URL_PREFIX.test(Reflection.url))) { + const URL = [Directory, `${getUrl(Reflection)}.html`].join("/"); + + URLs.push( + new UrlMapping(URL, Reflection, this.reflectionTemplate), + ); + + Reflection.url = URL; + Reflection.hasOwnDocument = true; + } + + Reflection.traverse((Child) => { + if (Child instanceof DeclarationReflection) { + this.buildUrls(Child, URLs); + } else { + applyAnchorUrl(Child, Reflection); + } + + return true; + }); + } else if (Reflection.parent) { + applyAnchorUrl(Reflection, Reflection.parent); + } + + return URLs; + } + + _Mapping = (...[Reflection]: Parameters) => + this.Mapping.find((Mapping) => Reflection.kindOf(Mapping.Kind)); + + Mapping: Mapping[] = [ + { + Kind: [Class], + Directory: "Class", + }, + { + Kind: [Interface], + Directory: "Interface", + }, + { + Kind: [Enum], + Directory: "Enum", + }, + { + Kind: [Namespace, Module], + Directory: "Module", + }, + { + Kind: [TypeAlias], + Directory: "Type", + }, + { + Kind: [_Function], + Directory: "Function", + }, + { + Kind: [Variable], + Directory: "Variable", + }, + ]; +} + +import type Mapping from "../Interface/Mapping.js"; +import type Type from "../Interface/Theme.js"; + +export const { + DeclarationReflection, + DefaultTheme: { URL_PREFIX, getUrl, applyAnchorUrl }, + ReflectionKind: { + Interface, + Class, + Enum, + Namespace, + Module, + TypeAlias, + Function: _Function, + Variable, + }, + UrlMapping, +} = await import("typedoc"); diff --git a/Source/Class/TypeScriptDocument.ts b/Source/Class/TypeScriptDocument.ts new file mode 100644 index 0000000..d26ddb7 --- /dev/null +++ b/Source/Class/TypeScriptDocument.ts @@ -0,0 +1,13 @@ +#!/usr/bin/env node + +/** + * @module TypeScriptDocument + * + */ +export default new (await import("commander")).Command() + .name("TypeScriptDocument") + .version(process.env["VERSION_PACKAGE"] ?? "0.0.1") + .description("📃 Document TypeScript") + .argument("", "Document File.") + .action((await import("../Function/Document.js")).default) + .parse(); diff --git a/Source/Function/Document.ts b/Source/Function/Document.ts new file mode 100644 index 0000000..381a4e0 --- /dev/null +++ b/Source/Function/Document.ts @@ -0,0 +1,101 @@ +/** + * @module Document + * + */ +export default (async (...[File, Option]: Parameters) => { + for (const _File of File) { + for (const __File of await (await import("fast-glob")).default( + _File.replaceAll("'", "").replaceAll('"', ""), + )) { + Pipe.push(__File); + } + } + + Pipe.reverse(); + + const Configuration = Merge( + (await import("../Variable/ESBuild.js")).default, + { + entryPoints: Object.fromEntries( + Pipe.map((File) => [ + File.replace("Source/", "") + .split(".") + .slice(0, -1.0) + .join("."), + File, + ]), + ), + }, + ); + + console.log( + await (await import("esbuild")).analyzeMetafile( + ( + await ( + await import("esbuild") + ).build( + Option?.ESBuild + ? Merge( + Configuration, + await ( + await import("../Function/File.js") + ).default(Option.ESBuild), + ) + : Configuration, + ) + )?.metafile ?? "", + { + verbose: true, + }, + ), + ); + + Exec(`tsc -p ${Option?.TypeScript ?? "tsconfig.json"}`); + + Exec( + [ + "typedoc", + "--commentStyle all", + "--gitRevision main", + `--customCss ${resolve(`${Current}/../Stylesheet/Theme.css`)}`, + "--includeVersion", + "--out ./Documentation", + `--plugin ${resolve(`${Current}/../../Target/Variable/Load.js`)}`, + "--plugin typedoc-plugin-remove-references", + "--plugin typedoc-plugin-rename-defaults", + "--plugin typedoc-plugin-mdn-links", + "--plugin typedoc-plugin-zod", + "--plugin typedoc-plugin-merge-modules", + "--plugin typedoc-plugin-keywords", + "--searchInComments", + `--keywords ${ + ( + await ( + await import("../Function/JSON.js") + ).default("package.json", process.cwd()) + )?.keywords?.join(" --keywords ") ?? " typescript-document " + }`, + "--theme TypeScriptDocument", + "--entryPointStrategy expand", + "--mergeModulesRenameDefaults", + "--mergeModulesMergeMode module", + `--entryPoints ${Object.values(Configuration.entryPoints).join( + " --entryPoints ", + )}`, + ].join(" "), + ); +}) satisfies Type as Type; + +import type Type from "../Interface/Build.js"; + +export const { default: Exec } = await import("../Function/Exec.js"); + +export const { default: Merge } = await import("../Function/Merge.js"); + +export const { resolve } = await import("path"); + +export const Pipe: string[] = []; + +export const Current = (await import("url")).fileURLToPath( + (await import("path")).dirname(import.meta.url), +); diff --git a/Source/Function/Exec.ts b/Source/Function/Exec.ts new file mode 100644 index 0000000..932c4e4 --- /dev/null +++ b/Source/Function/Exec.ts @@ -0,0 +1,19 @@ +/** + * @module Exec + * + */ +export default (async ( + ...[Command, Echo = (Return) => console.log(Return)]: Parameters +) => { + try { + const { stdout } = (await import("child_process")).exec(Command); + + if (typeof Echo === "function") { + stdout?.on("data", (Data) => Echo(Data)); + } + } catch (_Error) { + console.log(_Error); + } +}) satisfies Type as Type; + +import type Type from "../Interface/Exec.js"; diff --git a/Source/Function/File.ts b/Source/Function/File.ts new file mode 100644 index 0000000..212ba4a --- /dev/null +++ b/Source/Function/File.ts @@ -0,0 +1,58 @@ +/** + * @module File + * + */ +export default (async (...[Path]: Parameters) => { + if (Path.split(".").pop() === "ts") { + const { options } = ( + await import("typescript") + ).default.convertCompilerOptionsFromJson( + ( + await ( + await import("./JSON.js") + ).default( + "../Notation/TypeScript.json", + ( + await import("path") + ).dirname( + (await import("url")).fileURLToPath(import.meta.url), + ), + ) + )?.compilerOptions, + ".", + ); + + (await import("typescript")).default + .createProgram( + [Path], + options, + (await import("typescript")).default.createCompilerHost( + options, + ), + ) + .emit(); + + await (await import("fs/promises")).writeFile( + Path.replace(".ts", ".js"), + (await import("typescript")).default.transpile( + ( + await (await import("fs/promises")).readFile(Path, "utf-8") + ).toString(), + options, + ), + ); + } + + return ( + await import( + ( + await import("url") + ) + .pathToFileURL(Path) + .toString() + .replace(".ts", ".js") + ) + ).default; +}) satisfies Type as Type; + +import type Type from "../Interface/File.js"; diff --git a/Source/Function/JSON.ts b/Source/Function/JSON.ts new file mode 100644 index 0000000..9f75935 --- /dev/null +++ b/Source/Function/JSON.ts @@ -0,0 +1,14 @@ +/** + * @module JSON + * + */ +export default (async (...[File, From]: Parameters) => + JSON.parse( + ( + await ( + await import("fs/promises") + ).readFile(`${From ?? "."}/${File}`, "utf-8") + ).toString(), + )) satisfies Type as Type; + +import type Type from "../Interface/JSON.js"; diff --git a/Source/Function/Merge.ts b/Source/Function/Merge.ts new file mode 100644 index 0000000..8586054 --- /dev/null +++ b/Source/Function/Merge.ts @@ -0,0 +1,10 @@ +/** + * @module Merge + * + */ +export default (await import("deepmerge-ts")).deepmergeCustom({ + mergeArrays: false, +}) satisfies Type as Type; + +import type Type from "../Interface/Merge.js"; +import type { Generic } from "../Interface/Merge.js"; diff --git a/Source/Interface/Build.ts b/Source/Interface/Build.ts new file mode 100644 index 0000000..01dce34 --- /dev/null +++ b/Source/Interface/Build.ts @@ -0,0 +1,27 @@ +/** + * @module Build + * + */ +export default interface Type { + /** + * Represents a function that processes file patterns. + * + * @param File - An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files. + * + * @param Option - An optional object that can contain two properties. + * + * @param Option.ESBuild - A string representing the ESBuild option. + * + * @param Option.TypeScript - A string representing the TypeScript option. + * + */ + ( + File: Pattern[], + Option?: { + ESBuild?: string; + TypeScript?: string; + }, + ): Promise; +} + +import type { Pattern } from "fast-glob"; diff --git a/Source/Interface/Exec.ts b/Source/Interface/Exec.ts new file mode 100644 index 0000000..4aa5b30 --- /dev/null +++ b/Source/Interface/Exec.ts @@ -0,0 +1,25 @@ +/** + * @module Exec + * + */ +export default interface Type { + /** + * The 'Exec' function is an asynchronous function that executes a command and logs the + * stdout of the child process. + * + * @param Command - The 'Command' parameter is a string that represents the + * command you want to execute. It can be any valid command that can be executed in a + * terminal or command prompt. + * + * @param Echo - An optional parameter that controls whether the stdout + * of the child process should be logged. If set to 'false', no logging will occur. If set + * to a function, the function will be called with the stdout data as a parameter for custom + * logging. If not provided, stdout will be logged to the console by default. + * + */ + ( + Command: string, + // biome-ignore lint/suspicious/noExplicitAny: + Echo?: false | ((Return: any) => void), + ): Promise; +} diff --git a/Source/Interface/File.ts b/Source/Interface/File.ts new file mode 100644 index 0000000..607aee2 --- /dev/null +++ b/Source/Interface/File.ts @@ -0,0 +1,21 @@ +/** + * @module File + * + */ +export default interface Type { + /** + * This function asynchronously processes a file located at the given path. If the file is a TypeScript + * (.ts) file, it performs the following steps: + * 1. Converts TypeScript code to JavaScript. + * 2. Creates a JavaScript module and emits it. + * 3. Writes the transpiled JavaScript code to a new file with a .js extension. + * + * Finally, it imports and returns the default export of the processed JavaScript module. + * + * @param Path - The 'Path' parameter is a string that represents the file path of the file + * you want to process. + * + */ + // biome-ignore lint/suspicious/noExplicitAny: + (Path: string): Promise; +} diff --git a/Source/Interface/JSON.ts b/Source/Interface/JSON.ts new file mode 100644 index 0000000..9447d0c --- /dev/null +++ b/Source/Interface/JSON.ts @@ -0,0 +1,20 @@ +/** + * @module JSON + * + */ +export default interface Type { + /** + * The function 'JSON' is a TypeScript function that reads a JSON file and returns its + * parsed content. + * + * @param File - The `File` parameter is a string that represents the name or + * path of the JSON file that you want to parse. + * + * @param From - The `From` parameter is an optional string that represents + * the directory path from which the JSON file should be loaded. If `From` is provided, + * it will be used as the base directory path. If `From` is not provided, the current + * directory will be used as the base directory path. + * + */ + (File: string, From?: string): Promise>; +} diff --git a/Source/Interface/Load.ts b/Source/Interface/Load.ts new file mode 100644 index 0000000..fda2db9 --- /dev/null +++ b/Source/Interface/Load.ts @@ -0,0 +1,16 @@ +/** + * @module Load + * + */ +export default interface Type { + /** + * The `Load` function is responsible for loading a plugin into the TypeDoc instance. + * + * @param Application - The `Application` parameter is an instance of TypeDoc's Application + * class, representing the TypeDoc application to which the plugin should be loaded. + * + */ + load: (Application: Application) => void; +} + +import type { Application } from "typedoc"; diff --git a/Source/Interface/Mapping.ts b/Source/Interface/Mapping.ts new file mode 100644 index 0000000..5b91846 --- /dev/null +++ b/Source/Interface/Mapping.ts @@ -0,0 +1,21 @@ +/** + * @module Mapping + * + * Defines a mapping of a {@link Models.Kind} to a template file. + * + * Used by {@link DefaultTheme} to map reflections to output files. + * + */ +export default interface Type { + /** + * {@link DeclarationReflection.kind} this rule applies to. + */ + Kind: ReflectionKind[]; + + /** + * The name of the directory the output files should be written to. + */ + Directory: string; +} + +import type { ReflectionKind } from "typedoc"; diff --git a/Source/Interface/Merge.ts b/Source/Interface/Merge.ts new file mode 100644 index 0000000..5e66d23 --- /dev/null +++ b/Source/Interface/Merge.ts @@ -0,0 +1,37 @@ +/** + * @module Merge + * + * Represents a generic interface for deep merging objects using merge functions defined in DeepMergeMergeFunctionsURIs. + * + * @template PMF - A type parameter representing Partial. + * + */ +export default interface Type< + PMF extends Partial, +> { + /** + * Merges multiple objects of type Ts using the provided merge functions and built-in metadata. + * + * @param ...Objects - An arbitrary number of objects to be merged. + * + */ + ( + ...Objects: Ts + ): DeepMergeHKT< + Ts, + GetDeepMergeMergeFunctionsURIs, + DeepMergeBuiltInMetaData + >; +} + +export interface Generic { + DeepMergeArraysURI: DeepMergeLeafURI; +} + +import type { + DeepMergeBuiltInMetaData, + DeepMergeHKT, + DeepMergeLeafURI, + DeepMergeMergeFunctionsURIs, + GetDeepMergeMergeFunctionsURIs, +} from "deepmerge-ts"; diff --git a/Source/Interface/Theme.ts b/Source/Interface/Theme.ts new file mode 100644 index 0000000..84b6915 --- /dev/null +++ b/Source/Interface/Theme.ts @@ -0,0 +1,38 @@ +/** + * @module Theme + * + * Represents an interface for defining a theme with various methods and properties. + */ +export default interface Type extends DefaultTheme { + /** + * A function that builds URLs for a given DeclarationReflection and an array of URLs mappings. + * + * @param Reflection - The DeclarationReflection for which URLs are being built. + * + * @param URLs - An array of URLs mappings with any data type. + * + */ + buildUrls: ( + Reflection: DeclarationReflection, + // biome-ignore lint/suspicious/noExplicitAny: + URLs: UrlMapping[], + // biome-ignore lint/suspicious/noExplicitAny: + ) => UrlMapping[]; + + /** + * A function that maps a DeclarationReflection to a Mapping or returns undefined. + * + * @param Reflection - The DeclarationReflection to map to a Mapping. + * + */ + _Mapping: (Reflection: DeclarationReflection) => Mapping | undefined; + + /** + * An array of Mappings representing the theme's mapping configuration. + */ + Mapping: Mapping[]; +} + +import type Mapping from "./Mapping.js"; + +import type { DeclarationReflection, DefaultTheme, UrlMapping } from "typedoc"; diff --git a/Source/Notation/TypeScript.json b/Source/Notation/TypeScript.json new file mode 100644 index 0000000..80ad3c6 --- /dev/null +++ b/Source/Notation/TypeScript.json @@ -0,0 +1,65 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "allowArbitraryExtensions": true, + "allowImportingTsExtensions": true, + "allowJs": true, + "allowSyntheticDefaultImports": true, + "allowUmdGlobalAccess": false, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "alwaysStrict": true, + "assumeChangesOnlyAffectDirectDependencies": true, + "baseUrl": "./", + "checkJs": true, + "declaration": true, + "disableReferencedProjectLoad": false, + "emitDeclarationOnly": true, + "esModuleInterop": true, + "exactOptionalPropertyTypes": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["ESNext"], + "module": "ESNext", + "moduleResolution": "Bundler", + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "target": "ESNext", + "types": ["node", "@types/node"], + "verbatimModuleSyntax": true, + "noImplicitThis": true, + "paths": { + "@Asset/*": ["Source/Asset/*"], + "@Class/*": ["Source/Class/*"], + "@Component/*": ["Source/Component/*"], + "@Context/*": ["Source/Context/*"], + "@Element/*": ["Source/Element/*"], + "@Function/*": ["Source/Function/*"], + "@Interface/*": ["Source/Interface/*"], + "@Layout/*": ["Source/Layout/*"], + "@Library/*": ["Source/Library/*"], + "@Notation/*": ["Source/Notation/*"], + "@Option/*": ["Source/Option/*"], + "@Page/*": ["Source/pages/*"], + "@Script/*": ["Source/Script/*"], + "@Stylesheet/*": ["Source/Stylesheet/*"], + "@Type/*": ["Source/Type/*"], + "@Variable/*": ["Source/Variable/*"] + } + }, + "ts-node": { + "esm": true + } +} diff --git a/Source/Stylesheet/Theme.css b/Source/Stylesheet/Theme.css new file mode 100644 index 0000000..e3a4462 --- /dev/null +++ b/Source/Stylesheet/Theme.css @@ -0,0 +1,49 @@ +:root { + --dark-color-background: #000; + --dark-color-background-secondary: #000; + --dark-code-background: #040404; + --color-accent: #2463eb; + --dark-hl-0: #ffdd00; + --dark-hl-1: #ff66ff; + --dark-hl-2: #ff4444; + --dark-hl-3: #44ffff; + --dark-hl-4: #44ff44; +} + +body #tsd-search .field label { + left: 50%; + margin-left: -20px; + z-index: 1; + text-align: center; +} + +body #tsd-search.has-focus .field label { + display: none; +} + +body #tsd-search .field input { + z-index: 2; +} + +body pre, +body .tsd-page-toolbar, +body .tsd-generator { + border: none; +} + +body .tsd-navigation a, +body .tsd-navigation summary > span, +body .tsd-page-navigation a { + padding: 0.5rem; + border-radius: 8px; +} + +body .tsd-description .tsd-signatures .tsd-signature, +body .tsd-signature, +body .tsd-signatures .tsd-signature, +body .tsd-typography td, +body .tsd-typography th, +body code.tsd-tag { + border-radius: 12px; + border-width: 2px; +} diff --git a/Source/Type/Value.ts b/Source/Type/Value.ts new file mode 100644 index 0000000..7c1f62c --- /dev/null +++ b/Source/Type/Value.ts @@ -0,0 +1,7 @@ +/** + * @module Value + * + */ +export type Type = T[keyof T]; + +export type { Type as default }; diff --git a/Source/Variable/ESBuild.ts b/Source/Variable/ESBuild.ts new file mode 100644 index 0000000..df1bb66 --- /dev/null +++ b/Source/Variable/ESBuild.ts @@ -0,0 +1,57 @@ +/** + * @module ESBuild + * + */ +export default { + color: true, + format: "esm", + metafile: true, + minify: true, + outdir: "Target", + platform: "node", + target: "esnext", + write: true, + logLevel: "debug", + plugins: [ + { + name: "Target", + setup({ onStart, initialOptions: { outdir } }) { + onStart(async () => { + try { + outdir + ? await (await import("fs/promises")).rm(outdir, { + recursive: true, + }) + : {}; + } catch (_Error) { + console.log(_Error); + } + }); + }, + }, + (await import("esbuild-plugin-copy")).copy({ + resolveFrom: "out", + assets: [ + { + from: "./Source/Notation/TypeScript.json", + to: "./Notation/", + }, + { + from: "./Source/Stylesheet/Theme.css", + to: "./Stylesheet/", + }, + ], + }), + ], + define: { + "process.env.VERSION_PACKAGE": `'${ + ( + await ( + await import("../Function/JSON.js") + ).default("package.json") + )?.version + }'`, + }, +} satisfies BuildOptions as BuildOptions; + +import type { BuildOptions } from "esbuild"; diff --git a/Source/Variable/Load.ts b/Source/Variable/Load.ts new file mode 100644 index 0000000..d37addb --- /dev/null +++ b/Source/Variable/Load.ts @@ -0,0 +1,14 @@ +/** + * @module Load + * + */ +export const load = (...[Application]: Parameters) => + Application.renderer.defineTheme("TypeScriptDocument", Theme); + +export default { + load, +} satisfies Type as Type; + +import type Type from "../Interface/Load.js"; + +export const { default: Theme } = await import("../Class/Theme.js"); diff --git a/Target/Class/Theme.d.ts b/Target/Class/Theme.d.ts new file mode 100644 index 0000000..f60b23d --- /dev/null +++ b/Target/Class/Theme.d.ts @@ -0,0 +1,14 @@ +declare const default_base: typeof import("typedoc").DefaultTheme; +/** + * @module Theme + * + */ +export default class extends default_base implements Type { + buildUrls(...[Reflection, URLs]: Parameters): import("typedoc").UrlMapping[]; + _Mapping: (Reflection: import("typedoc").DeclarationReflection) => Mapping | undefined; + Mapping: Mapping[]; +} +import type Mapping from "../Interface/Mapping.js"; +import type Type from "../Interface/Theme.js"; +export declare const DeclarationReflection: typeof import("typedoc").DeclarationReflection, URL_PREFIX: RegExp, getUrl: typeof import("typedoc").DefaultTheme.getUrl, applyAnchorUrl: typeof import("typedoc").DefaultTheme.applyAnchorUrl, Interface: import("typedoc").ReflectionKind, Class: import("typedoc").ReflectionKind, Enum: import("typedoc").ReflectionKind, Namespace: import("typedoc").ReflectionKind, Module: import("typedoc").ReflectionKind, TypeAlias: import("typedoc").ReflectionKind, _Function: import("typedoc").ReflectionKind, Variable: import("typedoc").ReflectionKind, UrlMapping: typeof import("typedoc").UrlMapping; +export {}; diff --git a/Target/Class/Theme.js b/Target/Class/Theme.js new file mode 100644 index 0000000..329025f --- /dev/null +++ b/Target/Class/Theme.js @@ -0,0 +1 @@ +class g extends(await import("typedoc")).DefaultTheme{buildUrls(...[r,i]){const{Directory:t}=this._Mapping(r)??{};if(t){if(!(r.url&&p.test(r.url))){const e=[t,`${s(r)}.html`].join("/");i.push(new M(e,r,this.reflectionTemplate)),r.url=e,r.hasOwnDocument=!0}r.traverse(e=>(e instanceof n?this.buildUrls(e,i):a(e,r),!0))}else r.parent&&a(r,r.parent);return i}_Mapping=(...[r])=>this.Mapping.find(i=>r.kindOf(i.Kind));Mapping=[{Kind:[o],Directory:"Class"},{Kind:[u],Directory:"Interface"},{Kind:[l],Directory:"Enum"},{Kind:[m,c],Directory:"Module"},{Kind:[d],Directory:"Type"},{Kind:[y],Directory:"Function"},{Kind:[D],Directory:"Variable"}]}const{DeclarationReflection:n,DefaultTheme:{URL_PREFIX:p,getUrl:s,applyAnchorUrl:a},ReflectionKind:{Interface:u,Class:o,Enum:l,Namespace:m,Module:c,TypeAlias:d,Function:y,Variable:D},UrlMapping:M}=await import("typedoc");export{o as Class,n as DeclarationReflection,l as Enum,u as Interface,c as Module,m as Namespace,d as TypeAlias,p as URL_PREFIX,M as UrlMapping,D as Variable,y as _Function,a as applyAnchorUrl,g as default,s as getUrl}; diff --git a/Target/Class/TypeScriptESBuild.d.ts b/Target/Class/TypeScriptESBuild.d.ts new file mode 100644 index 0000000..c40181e --- /dev/null +++ b/Target/Class/TypeScriptESBuild.d.ts @@ -0,0 +1,7 @@ +#!/usr/bin/env node +/** + * @module TypeScriptESBuild + * + */ +declare const _default: import("commander").Command; +export default _default; diff --git a/Target/Class/TypeScriptESBuild.js b/Target/Class/TypeScriptESBuild.js new file mode 100644 index 0000000..416c280 --- /dev/null +++ b/Target/Class/TypeScriptESBuild.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +var i=new(await import("commander")).Command().name("TypeScriptESBuild").version("0.4.1").description("Builds files").argument("","Files to build").option("-es, --ESBuild ","esbuild configuration file").option("-ts, --TypeScript ","TypeScript configuration file").action((await import("../Function/Build.js")).default).parse();export{i as default}; diff --git a/Target/Function/Build.d.ts b/Target/Function/Build.d.ts new file mode 100644 index 0000000..939ac58 --- /dev/null +++ b/Target/Function/Build.d.ts @@ -0,0 +1,12 @@ +/** + * @module Build + * + */ +declare const _default: Type; +export default _default; +import type Type from "../Interface/Build.js"; +export declare const Exec: import("../Interface/Exec.js").default; +export declare const Merge: import("../Interface/Merge.js").default; +export declare const resolve: (...paths: string[]) => string; +export declare const Pipe: string[]; +export declare const Current: string; diff --git a/Target/Function/Build.js b/Target/Function/Build.js new file mode 100644 index 0000000..fb9465f --- /dev/null +++ b/Target/Function/Build.js @@ -0,0 +1 @@ +var u=async(...[s,t])=>{for(const e of s)for(const l of await(await import("fast-glob")).default(e.replaceAll("'","").replaceAll('"',"")))o.push(l);o.reverse();const i=r((await import("../Variable/ESBuild.js")).default,{entryPoints:Object.fromEntries(o.map(e=>[e.replace("Source/","").split(".").slice(0,-1).join("."),e]))});console.log(await(await import("esbuild")).analyzeMetafile((await(await import("esbuild")).build(t?.ESBuild?r(i,await(await import("../Function/File.js")).default(t.ESBuild)):i))?.metafile??"",{verbose:!0})),a(`tsc -p ${t?.TypeScript??"tsconfig.json"}`),a(["typedoc","--commentStyle all","--gitRevision main",`--customCss ${n(`${p}/../Stylesheet/Theme.css`)}`,"--includeVersion","--out ./Documentation",`--plugin ${n(`${p}/../../Target/Variable/Load.js`)}`,"--plugin typedoc-plugin-remove-references","--plugin typedoc-plugin-rename-defaults","--plugin typedoc-plugin-mdn-links","--plugin typedoc-plugin-zod","--plugin typedoc-plugin-merge-modules","--plugin typedoc-plugin-keywords","--searchInComments",`--keywords ${(await(await import("../Function/JSON.js")).default("package.json",process.cwd()))?.keywords?.join(" --keywords ")??" typescript-esbuild "}`,"--theme TypeScriptESBuild","--entryPointStrategy expand","--mergeModulesRenameDefaults","--mergeModulesMergeMode module",`--entryPoints ${Object.values(i.entryPoints).join(" --entryPoints ")}`].join(" "))};const{default:a}=await import("../Function/Exec.js"),{default:r}=await import("../Function/Merge.js"),{resolve:n}=await import("path"),o=[],p=(await import("url")).fileURLToPath((await import("path")).dirname(import.meta.url));export{p as Current,a as Exec,r as Merge,o as Pipe,u as default,n as resolve}; diff --git a/Target/Function/Exec.d.ts b/Target/Function/Exec.d.ts new file mode 100644 index 0000000..d8a04ea --- /dev/null +++ b/Target/Function/Exec.d.ts @@ -0,0 +1,7 @@ +/** + * @module Exec + * + */ +declare const _default: Type; +export default _default; +import type Type from "../Interface/Exec.js"; diff --git a/Target/Function/Exec.js b/Target/Function/Exec.js new file mode 100644 index 0000000..13605e9 --- /dev/null +++ b/Target/Function/Exec.js @@ -0,0 +1 @@ +var r=async(...[o,t=e=>console.log(e)])=>{try{const{stdout:e}=(await import("child_process")).exec(o);typeof t=="function"&&e?.on("data",a=>t(a))}catch(e){console.log(e)}};export{r as default}; diff --git a/Target/Function/File.d.ts b/Target/Function/File.d.ts new file mode 100644 index 0000000..820371d --- /dev/null +++ b/Target/Function/File.d.ts @@ -0,0 +1,7 @@ +/** + * @module File + * + */ +declare const _default: Type; +export default _default; +import type Type from "../Interface/File.js"; diff --git a/Target/Function/File.js b/Target/Function/File.js new file mode 100644 index 0000000..adadfc9 --- /dev/null +++ b/Target/Function/File.js @@ -0,0 +1 @@ +var a=async(...[t])=>{if(t.split(".").pop()==="ts"){const{options:i}=(await import("typescript")).default.convertCompilerOptionsFromJson((await(await import("./JSON.js")).default("../Notation/TypeScript.json",(await import("path")).dirname((await import("url")).fileURLToPath(import.meta.url))))?.compilerOptions,".");(await import("typescript")).default.createProgram([t],i,(await import("typescript")).default.createCompilerHost(i)).emit(),await(await import("fs/promises")).writeFile(t.replace(".ts",".js"),(await import("typescript")).default.transpile((await(await import("fs/promises")).readFile(t,"utf-8")).toString(),i))}return(await import((await import("url")).pathToFileURL(t).toString().replace(".ts",".js"))).default};export{a as default}; diff --git a/Target/Function/JSON.d.ts b/Target/Function/JSON.d.ts new file mode 100644 index 0000000..f938b98 --- /dev/null +++ b/Target/Function/JSON.d.ts @@ -0,0 +1,7 @@ +/** + * @module JSON + * + */ +declare const _default: Type; +export default _default; +import type Type from "../Interface/JSON.js"; diff --git a/Target/Function/JSON.js b/Target/Function/JSON.js new file mode 100644 index 0000000..3c59905 --- /dev/null +++ b/Target/Function/JSON.js @@ -0,0 +1 @@ +var t=async(...[e,a])=>JSON.parse((await(await import("fs/promises")).readFile(`${a??"."}/${e}`,"utf-8")).toString());export{t as default}; diff --git a/Target/Function/Merge.d.ts b/Target/Function/Merge.d.ts new file mode 100644 index 0000000..edbf7f0 --- /dev/null +++ b/Target/Function/Merge.d.ts @@ -0,0 +1,8 @@ +/** + * @module Merge + * + */ +declare const _default: Type; +export default _default; +import type Type from "../Interface/Merge.js"; +import type { Generic } from "../Interface/Merge.js"; diff --git a/Target/Function/Merge.js b/Target/Function/Merge.js new file mode 100644 index 0000000..e898449 --- /dev/null +++ b/Target/Function/Merge.js @@ -0,0 +1 @@ +var e=(await import("deepmerge-ts")).deepmergeCustom({mergeArrays:!1});export{e as default}; diff --git a/Target/Interface/Build.d.ts b/Target/Interface/Build.d.ts new file mode 100644 index 0000000..d43567b --- /dev/null +++ b/Target/Interface/Build.d.ts @@ -0,0 +1,23 @@ +/** + * @module Build + * + */ +export default interface Type { + /** + * Represents a function that processes file patterns. + * + * @param File - An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files. + * + * @param Option - An optional object that can contain two properties. + * + * @param Option.ESBuild - A string representing the ESBuild option. + * + * @param Option.TypeScript - A string representing the TypeScript option. + * + */ + (File: Pattern[], Option?: { + ESBuild?: string; + TypeScript?: string; + }): Promise; +} +import type { Pattern } from "fast-glob"; diff --git a/Target/Interface/Build.js b/Target/Interface/Build.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Interface/Exec.d.ts b/Target/Interface/Exec.d.ts new file mode 100644 index 0000000..86972ab --- /dev/null +++ b/Target/Interface/Exec.d.ts @@ -0,0 +1,21 @@ +/** + * @module Exec + * + */ +export default interface Type { + /** + * The 'Exec' function is an asynchronous function that executes a command and logs the + * stdout of the child process. + * + * @param Command - The 'Command' parameter is a string that represents the + * command you want to execute. It can be any valid command that can be executed in a + * terminal or command prompt. + * + * @param Echo - An optional parameter that controls whether the stdout + * of the child process should be logged. If set to 'false', no logging will occur. If set + * to a function, the function will be called with the stdout data as a parameter for custom + * logging. If not provided, stdout will be logged to the console by default. + * + */ + (Command: string, Echo?: false | ((Return: any) => void)): Promise; +} diff --git a/Target/Interface/Exec.js b/Target/Interface/Exec.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Interface/File.d.ts b/Target/Interface/File.d.ts new file mode 100644 index 0000000..e99789c --- /dev/null +++ b/Target/Interface/File.d.ts @@ -0,0 +1,20 @@ +/** + * @module File + * + */ +export default interface Type { + /** + * This function asynchronously processes a file located at the given path. If the file is a TypeScript + * (.ts) file, it performs the following steps: + * 1. Converts TypeScript code to JavaScript. + * 2. Creates a JavaScript module and emits it. + * 3. Writes the transpiled JavaScript code to a new file with a .js extension. + * + * Finally, it imports and returns the default export of the processed JavaScript module. + * + * @param Path - The 'Path' parameter is a string that represents the file path of the file + * you want to process. + * + */ + (Path: string): Promise; +} diff --git a/Target/Interface/File.js b/Target/Interface/File.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Interface/JSON.d.ts b/Target/Interface/JSON.d.ts new file mode 100644 index 0000000..6ea2f92 --- /dev/null +++ b/Target/Interface/JSON.d.ts @@ -0,0 +1,20 @@ +/** + * @module JSON + * + */ +export default interface Type { + /** + * The function 'JSON' is a TypeScript function that reads a JSON file and returns its + * parsed content. + * + * @param File - The `File` parameter is a string that represents the name or + * path of the JSON file that you want to parse. + * + * @param From - The `From` parameter is an optional string that represents + * the directory path from which the JSON file should be loaded. If `From` is provided, + * it will be used as the base directory path. If `From` is not provided, the current + * directory will be used as the base directory path. + * + */ + (File: string, From?: string): Promise>; +} diff --git a/Target/Interface/JSON.js b/Target/Interface/JSON.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Interface/Load.d.ts b/Target/Interface/Load.d.ts new file mode 100644 index 0000000..fe89f2e --- /dev/null +++ b/Target/Interface/Load.d.ts @@ -0,0 +1,15 @@ +/** + * @module Load + * + */ +export default interface Type { + /** + * The `Load` function is responsible for loading a plugin into the TypeDoc instance. + * + * @param Application - The `Application` parameter is an instance of TypeDoc's Application + * class, representing the TypeDoc application to which the plugin should be loaded. + * + */ + load: (Application: Application) => void; +} +import type { Application } from "typedoc"; diff --git a/Target/Interface/Load.js b/Target/Interface/Load.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Interface/Mapping.d.ts b/Target/Interface/Mapping.d.ts new file mode 100644 index 0000000..2af3688 --- /dev/null +++ b/Target/Interface/Mapping.d.ts @@ -0,0 +1,19 @@ +/** + * @module Mapping + * + * Defines a mapping of a {@link Models.Kind} to a template file. + * + * Used by {@link DefaultTheme} to map reflections to output files. + * + */ +export default interface Type { + /** + * {@link DeclarationReflection.kind} this rule applies to. + */ + Kind: ReflectionKind[]; + /** + * The name of the directory the output files should be written to. + */ + Directory: string; +} +import type { ReflectionKind } from "typedoc"; diff --git a/Target/Interface/Mapping.js b/Target/Interface/Mapping.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Interface/Merge.d.ts b/Target/Interface/Merge.d.ts new file mode 100644 index 0000000..8d125c4 --- /dev/null +++ b/Target/Interface/Merge.d.ts @@ -0,0 +1,21 @@ +/** + * @module Merge + * + * Represents a generic interface for deep merging objects using merge functions defined in DeepMergeMergeFunctionsURIs. + * + * @template PMF - A type parameter representing Partial. + * + */ +export default interface Type> { + /** + * Merges multiple objects of type Ts using the provided merge functions and built-in metadata. + * + * @param ...Objects - An arbitrary number of objects to be merged. + * + */ + (...Objects: Ts): DeepMergeHKT, DeepMergeBuiltInMetaData>; +} +export interface Generic { + DeepMergeArraysURI: DeepMergeLeafURI; +} +import type { DeepMergeBuiltInMetaData, DeepMergeHKT, DeepMergeLeafURI, DeepMergeMergeFunctionsURIs, GetDeepMergeMergeFunctionsURIs } from "deepmerge-ts"; diff --git a/Target/Interface/Merge.js b/Target/Interface/Merge.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Interface/Theme.d.ts b/Target/Interface/Theme.d.ts new file mode 100644 index 0000000..61e6eb4 --- /dev/null +++ b/Target/Interface/Theme.d.ts @@ -0,0 +1,29 @@ +/** + * @module Theme + * + * Represents an interface for defining a theme with various methods and properties. + */ +export default interface Type extends DefaultTheme { + /** + * A function that builds URLs for a given DeclarationReflection and an array of URLs mappings. + * + * @param Reflection - The DeclarationReflection for which URLs are being built. + * + * @param URLs - An array of URLs mappings with any data type. + * + */ + buildUrls: (Reflection: DeclarationReflection, URLs: UrlMapping[]) => UrlMapping[]; + /** + * A function that maps a DeclarationReflection to a Mapping or returns undefined. + * + * @param Reflection - The DeclarationReflection to map to a Mapping. + * + */ + _Mapping: (Reflection: DeclarationReflection) => Mapping | undefined; + /** + * An array of Mappings representing the theme's mapping configuration. + */ + Mapping: Mapping[]; +} +import type Mapping from "./Mapping.js"; +import type { DeclarationReflection, DefaultTheme, UrlMapping } from "typedoc"; diff --git a/Target/Interface/Theme.js b/Target/Interface/Theme.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Notation/TypeScript.json b/Target/Notation/TypeScript.json new file mode 100644 index 0000000..80ad3c6 --- /dev/null +++ b/Target/Notation/TypeScript.json @@ -0,0 +1,65 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "allowArbitraryExtensions": true, + "allowImportingTsExtensions": true, + "allowJs": true, + "allowSyntheticDefaultImports": true, + "allowUmdGlobalAccess": false, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "alwaysStrict": true, + "assumeChangesOnlyAffectDirectDependencies": true, + "baseUrl": "./", + "checkJs": true, + "declaration": true, + "disableReferencedProjectLoad": false, + "emitDeclarationOnly": true, + "esModuleInterop": true, + "exactOptionalPropertyTypes": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["ESNext"], + "module": "ESNext", + "moduleResolution": "Bundler", + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "target": "ESNext", + "types": ["node", "@types/node"], + "verbatimModuleSyntax": true, + "noImplicitThis": true, + "paths": { + "@Asset/*": ["Source/Asset/*"], + "@Class/*": ["Source/Class/*"], + "@Component/*": ["Source/Component/*"], + "@Context/*": ["Source/Context/*"], + "@Element/*": ["Source/Element/*"], + "@Function/*": ["Source/Function/*"], + "@Interface/*": ["Source/Interface/*"], + "@Layout/*": ["Source/Layout/*"], + "@Library/*": ["Source/Library/*"], + "@Notation/*": ["Source/Notation/*"], + "@Option/*": ["Source/Option/*"], + "@Page/*": ["Source/pages/*"], + "@Script/*": ["Source/Script/*"], + "@Stylesheet/*": ["Source/Stylesheet/*"], + "@Type/*": ["Source/Type/*"], + "@Variable/*": ["Source/Variable/*"] + } + }, + "ts-node": { + "esm": true + } +} diff --git a/Target/Stylesheet/Theme.css b/Target/Stylesheet/Theme.css new file mode 100644 index 0000000..e3a4462 --- /dev/null +++ b/Target/Stylesheet/Theme.css @@ -0,0 +1,49 @@ +:root { + --dark-color-background: #000; + --dark-color-background-secondary: #000; + --dark-code-background: #040404; + --color-accent: #2463eb; + --dark-hl-0: #ffdd00; + --dark-hl-1: #ff66ff; + --dark-hl-2: #ff4444; + --dark-hl-3: #44ffff; + --dark-hl-4: #44ff44; +} + +body #tsd-search .field label { + left: 50%; + margin-left: -20px; + z-index: 1; + text-align: center; +} + +body #tsd-search.has-focus .field label { + display: none; +} + +body #tsd-search .field input { + z-index: 2; +} + +body pre, +body .tsd-page-toolbar, +body .tsd-generator { + border: none; +} + +body .tsd-navigation a, +body .tsd-navigation summary > span, +body .tsd-page-navigation a { + padding: 0.5rem; + border-radius: 8px; +} + +body .tsd-description .tsd-signatures .tsd-signature, +body .tsd-signature, +body .tsd-signatures .tsd-signature, +body .tsd-typography td, +body .tsd-typography th, +body code.tsd-tag { + border-radius: 12px; + border-width: 2px; +} diff --git a/Target/Type/Value.d.ts b/Target/Type/Value.d.ts new file mode 100644 index 0000000..5fe64a3 --- /dev/null +++ b/Target/Type/Value.d.ts @@ -0,0 +1,6 @@ +/** + * @module Value + * + */ +export type Type = T[keyof T]; +export type { Type as default }; diff --git a/Target/Type/Value.js b/Target/Type/Value.js new file mode 100644 index 0000000..e69de29 diff --git a/Target/Variable/ESBuild.d.ts b/Target/Variable/ESBuild.d.ts new file mode 100644 index 0000000..e47c394 --- /dev/null +++ b/Target/Variable/ESBuild.d.ts @@ -0,0 +1,7 @@ +/** + * @module ESBuild + * + */ +declare const _default: BuildOptions; +export default _default; +import type { BuildOptions } from "esbuild"; diff --git a/Target/Variable/ESBuild.js b/Target/Variable/ESBuild.js new file mode 100644 index 0000000..c841995 --- /dev/null +++ b/Target/Variable/ESBuild.js @@ -0,0 +1 @@ +var r={color:!0,format:"esm",metafile:!0,minify:!0,outdir:"Target",platform:"node",target:"esnext",write:!0,logLevel:"debug",plugins:[{name:"Target",setup({onStart:t,initialOptions:{outdir:e}}){t(async()=>{try{e&&await(await import("fs/promises")).rm(e,{recursive:!0})}catch(o){console.log(o)}})}},(await import("esbuild-plugin-copy")).copy({resolveFrom:"out",assets:[{from:"./Source/Notation/TypeScript.json",to:"./Notation/"},{from:"./Source/Stylesheet/Theme.css",to:"./Stylesheet/"}]})],define:{"process.env.VERSION_PACKAGE":`'${(await(await import("../Function/JSON.js")).default("package.json"))?.version}'`}};export{r as default}; diff --git a/Target/Variable/Load.d.ts b/Target/Variable/Load.d.ts new file mode 100644 index 0000000..4446d88 --- /dev/null +++ b/Target/Variable/Load.d.ts @@ -0,0 +1,9 @@ +/** + * @module Load + * + */ +export declare const load: (Application: import("typedoc").Application) => void; +declare const _default: Type; +export default _default; +import type Type from "../Interface/Load.js"; +export declare const Theme: typeof import("../Class/Theme.js").default; diff --git a/Target/Variable/Load.js b/Target/Variable/Load.js new file mode 100644 index 0000000..ef92fe9 --- /dev/null +++ b/Target/Variable/Load.js @@ -0,0 +1 @@ +const t=(...[e])=>e.renderer.defineTheme("TypeScriptESBuild",r);var a={load:t};const{default:r}=await import("../Class/Theme.js");export{r as Theme,a as default,t as load}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..9357052 --- /dev/null +++ b/package.json @@ -0,0 +1,57 @@ +{ + "name": "typescript-document", + "version": "0.0.1", + "private": false, + "description": "📃 TypeDoc Wrapper.", + "keywords": [ + "documentation", + "javascript", + "typedoc", + "typescript" + ], + "homepage": "https://github.com/Playform/TypeScriptDocument#readme", + "bugs": { + "url": "https://github.com/Playform/TypeScriptDocument/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Playform/TypeScriptDocument.git" + }, + "license": "SEE LICENSE IN LICENSE", + "author": { + "name": "Playform", + "email": "Hello@Playform.Cloud", + "url": "https://playform.cloud" + }, + "type": "module", + "main": "./Target/Class/TypeScriptDocument.js", + "types": "./Target/Class/TypeScriptDocument.d.ts", + "bin": { + "TypeScriptDocument": "Target/Class/TypeScriptDocument.js" + }, + "scripts": { + "prepublishOnly": "node --no-warnings --loader ts-node/esm Source/Class/TypeScriptDocument.ts 'Source/**/*.ts'" + }, + "dependencies": { + "@types/node": "20.11.28", + "commander": "12.0.0", + "deepmerge-ts": "5.1.0", + "esbuild": "0.20.2", + "esbuild-plugin-copy": "2.1.1", + "fast-glob": "3.3.2", + "typedoc": "0.25.12", + "typedoc-plugin-keywords": "1.6.0", + "typedoc-plugin-mdn-links": "3.1.18", + "typedoc-plugin-merge-modules": "5.1.0", + "typedoc-plugin-remove-references": "0.0.6", + "typedoc-plugin-rename-defaults": "0.7.0", + "typedoc-plugin-zod": "1.1.2", + "typescript": "5.4.2" + }, + "devDependencies": { + "ts-node": "10.9.2" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..12e0400 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "outDir": "Target" + }, + "extends": "./Source/Notation/TypeScript", + "include": ["Source"] +}