├── .gitignore ├── images └── logo.png ├── docs ├── assets │ ├── icons.png │ ├── widgets.png │ ├── icons@2x.png │ ├── widgets@2x.png │ ├── highlight.css │ ├── search.js │ ├── icons.css │ ├── style.css │ └── main.js ├── .nojekyll ├── modules.html ├── index.html └── classes │ └── Guid.html ├── .prettierrc ├── .editorconfig ├── .sonarcloud.properties ├── jestconfig.json ├── tsconfig.json ├── .eslintrc.json ├── .github └── workflows │ ├── build-test.yml │ ├── npmpublish.yml │ └── codeql-analysis.yml ├── LICENSE ├── package.json ├── README.md └── src ├── __tests__ └── Guid.test.ts └── index.ts /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | /lib 3 | coverage 4 | -------------------------------------------------------------------------------- /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/guid-ts/main/images/logo.png -------------------------------------------------------------------------------- /docs/assets/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/guid-ts/main/docs/assets/icons.png -------------------------------------------------------------------------------- /docs/assets/widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/guid-ts/main/docs/assets/widgets.png -------------------------------------------------------------------------------- /docs/assets/icons@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/guid-ts/main/docs/assets/icons@2x.png -------------------------------------------------------------------------------- /docs/assets/widgets@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/guid-ts/main/docs/assets/widgets@2x.png -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120, 3 | "trailingComma": "all", 4 | "singleQuote": true, 5 | "tabWidth": 2 6 | } -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- 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. -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true -------------------------------------------------------------------------------- /.sonarcloud.properties: -------------------------------------------------------------------------------- 1 | # Path to sources 2 | sonar.sources=src 3 | sonar.exclusions=docs,coverage/lcov-report/* 4 | sonar.inclusions=src/* 5 | 6 | # Path to tests 7 | sonar.tests=src/__tests__ 8 | 9 | # Source encoding 10 | sonar.sourceEncoding=UTF-8 -------------------------------------------------------------------------------- /jestconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "transform": { 3 | "^.+\\.(t|j)sx?$": "ts-jest" 4 | }, 5 | "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", 6 | "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"], 7 | "coverageReporters": ["lcov", "text", "clover"] 8 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "outDir": "./lib", 7 | "strict": true 8 | }, 9 | "typedocOptions": { 10 | "out": "docs", 11 | "exclude": "**/*+(e2e|spec|test).ts" 12 | }, 13 | "include": ["src"], 14 | "exclude": ["node_modules", "**/__tests__/*"] 15 | } -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es6": true 5 | }, 6 | "extends": [ 7 | "eslint:recommended", 8 | "plugin:@typescript-eslint/eslint-recommended", 9 | "plugin:prettier/recommended" 10 | ], 11 | "globals": { 12 | "Atomics": "readonly", 13 | "SharedArrayBuffer": "readonly" 14 | }, 15 | "parser": "@typescript-eslint/parser", 16 | "parserOptions": { 17 | "ecmaVersion": 6, 18 | "sourceType": "module" 19 | }, 20 | "plugins": [ 21 | "@typescript-eslint" 22 | ], 23 | "rules": { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.github/workflows/build-test.yml: -------------------------------------------------------------------------------- 1 | name: Build and Test Typescript CI 2 | 3 | on: 4 | push: 5 | branches: [ main ] 6 | pull_request: 7 | branches: [ main ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | strategy: 15 | matrix: 16 | node-version: [16.x, 17.x] 17 | 18 | steps: 19 | - uses: actions/checkout@v2 20 | - name: Use Node.js ${{ matrix.node-version }} 21 | uses: actions/setup-node@v1 22 | with: 23 | node-version: ${{ matrix.node-version }} 24 | - run: npm ci 25 | - run: npm run build --if-present 26 | - run: npm test 27 | - run: npm run lint 28 | env: 29 | CI: true 30 | -------------------------------------------------------------------------------- /.github/workflows/npmpublish.yml: -------------------------------------------------------------------------------- 1 | name: NPM Package 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v2 12 | - uses: actions/setup-node@v1 13 | with: 14 | node-version: 17 15 | - run: npm ci 16 | - run: npm test 17 | 18 | publish-npm: 19 | needs: build 20 | runs-on: ubuntu-latest 21 | steps: 22 | - uses: actions/checkout@v2 23 | - uses: actions/setup-node@v1 24 | with: 25 | node-version: 17 26 | registry-url: https://registry.npmjs.org/ 27 | - run: npm ci 28 | - run: npm publish 29 | env: 30 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Raul Piraces Alastuey 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "guid-ts", 3 | "version": "1.1.2", 4 | "description": "NPM package for generating and managing globally unique identifiers (GUIDs)", 5 | "main": "lib/index.js", 6 | "types": "lib/index.d.ts", 7 | "scripts": { 8 | "prepare": "npm run build", 9 | "prepublishOnly": "npm test && npm run lint", 10 | "preversion": "npm run lint", 11 | "version": "npm run format && git add -A src", 12 | "postversion": "git push && git push --tags", 13 | "test": "jest --config jestconfig.json --coverage", 14 | "build": "tsc", 15 | "lint": "eslint --ext .ts ./src", 16 | "lint:fix": "eslint --fix --ext .ts ./src", 17 | "docs": "typedoc src" 18 | }, 19 | "files": [ 20 | "lib/**/*" 21 | ], 22 | "repository": { 23 | "type": "git", 24 | "url": "git+https://github.com/piraces/guid-ts.git" 25 | }, 26 | "keywords": [ 27 | "typescript", 28 | "guid", 29 | "id", 30 | "uuid", 31 | "identifier" 32 | ], 33 | "author": "Raúl Piracés Alastuey (https://piraces.dev)", 34 | "license": "MIT", 35 | "bugs": { 36 | "url": "https://github.com/piraces/guid-ts/issues" 37 | }, 38 | "homepage": "https://github.com/piraces/guid-ts#readme", 39 | "devDependencies": { 40 | "@types/jest": "^27.4.0", 41 | "@typescript-eslint/eslint-plugin": "^5.10.0", 42 | "@typescript-eslint/parser": "^5.10.0", 43 | "eslint": "^8.7.0", 44 | "eslint-config-prettier": "^8.3.0", 45 | "eslint-config-typescript": "^3.0.0", 46 | "eslint-plugin-prettier": "^4.0.0", 47 | "jest": "^27.4.7", 48 | "prettier": "^2.5.1", 49 | "ts-jest": "^27.1.3", 50 | "typedoc": "^0.22.11", 51 | "typescript": "^4.5.5" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /docs/assets/highlight.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --light-hl-0: #000000; 3 | --dark-hl-0: #D4D4D4; 4 | --light-hl-1: #AF00DB; 5 | --dark-hl-1: #C586C0; 6 | --light-hl-2: #001080; 7 | --dark-hl-2: #9CDCFE; 8 | --light-hl-3: #A31515; 9 | --dark-hl-3: #CE9178; 10 | --light-hl-4: #0000FF; 11 | --dark-hl-4: #569CD6; 12 | --light-hl-5: #0070C1; 13 | --dark-hl-5: #4FC1FF; 14 | --light-hl-6: #795E26; 15 | --dark-hl-6: #DCDCAA; 16 | --light-hl-7: #008000; 17 | --dark-hl-7: #6A9955; 18 | --light-code-background: #F5F5F5; 19 | --dark-code-background: #1E1E1E; 20 | } 21 | 22 | @media (prefers-color-scheme: light) { :root { 23 | --hl-0: var(--light-hl-0); 24 | --hl-1: var(--light-hl-1); 25 | --hl-2: var(--light-hl-2); 26 | --hl-3: var(--light-hl-3); 27 | --hl-4: var(--light-hl-4); 28 | --hl-5: var(--light-hl-5); 29 | --hl-6: var(--light-hl-6); 30 | --hl-7: var(--light-hl-7); 31 | --code-background: var(--light-code-background); 32 | } } 33 | 34 | @media (prefers-color-scheme: dark) { :root { 35 | --hl-0: var(--dark-hl-0); 36 | --hl-1: var(--dark-hl-1); 37 | --hl-2: var(--dark-hl-2); 38 | --hl-3: var(--dark-hl-3); 39 | --hl-4: var(--dark-hl-4); 40 | --hl-5: var(--dark-hl-5); 41 | --hl-6: var(--dark-hl-6); 42 | --hl-7: var(--dark-hl-7); 43 | --code-background: var(--dark-code-background); 44 | } } 45 | 46 | body.light { 47 | --hl-0: var(--light-hl-0); 48 | --hl-1: var(--light-hl-1); 49 | --hl-2: var(--light-hl-2); 50 | --hl-3: var(--light-hl-3); 51 | --hl-4: var(--light-hl-4); 52 | --hl-5: var(--light-hl-5); 53 | --hl-6: var(--light-hl-6); 54 | --hl-7: var(--light-hl-7); 55 | --code-background: var(--light-code-background); 56 | } 57 | 58 | body.dark { 59 | --hl-0: var(--dark-hl-0); 60 | --hl-1: var(--dark-hl-1); 61 | --hl-2: var(--dark-hl-2); 62 | --hl-3: var(--dark-hl-3); 63 | --hl-4: var(--dark-hl-4); 64 | --hl-5: var(--dark-hl-5); 65 | --hl-6: var(--dark-hl-6); 66 | --hl-7: var(--dark-hl-7); 67 | --code-background: var(--dark-code-background); 68 | } 69 | 70 | .hl-0 { color: var(--hl-0); } 71 | .hl-1 { color: var(--hl-1); } 72 | .hl-2 { color: var(--hl-2); } 73 | .hl-3 { color: var(--hl-3); } 74 | .hl-4 { color: var(--hl-4); } 75 | .hl-5 { color: var(--hl-5); } 76 | .hl-6 { color: var(--hl-6); } 77 | .hl-7 { color: var(--hl-7); } 78 | pre, code { background: var(--code-background); } 79 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ main ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ main ] 20 | schedule: 21 | - cron: '35 10 * * 5' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: [ 'javascript' ] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] 37 | # Learn more about CodeQL language support at https://git.io/codeql-language-support 38 | 39 | steps: 40 | - name: Checkout repository 41 | uses: actions/checkout@v2 42 | 43 | # Initializes the CodeQL tools for scanning. 44 | - name: Initialize CodeQL 45 | uses: github/codeql-action/init@v1 46 | with: 47 | languages: ${{ matrix.language }} 48 | # If you wish to specify custom queries, you can do so here or in a config file. 49 | # By default, queries listed here will override any specified in a config file. 50 | # Prefix the list here with "+" to use these queries and those in the config file. 51 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 52 | 53 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 54 | # If this step fails, then you should remove it and run the build manually (see below) 55 | - name: Autobuild 56 | uses: github/codeql-action/autobuild@v1 57 | 58 | # ℹ️ Command-line programs to run using the OS shell. 59 | # 📚 https://git.io/JvXDl 60 | 61 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 62 | # and modify them (or add more) to build your code if your project 63 | # uses a compiled language 64 | 65 | #- run: | 66 | # make bootstrap 67 | # make release 68 | 69 | - name: Perform CodeQL Analysis 70 | uses: github/codeql-action/analyze@v1 71 | -------------------------------------------------------------------------------- /docs/modules.html: -------------------------------------------------------------------------------- 1 | guid-ts
Options
All
  • Public
  • Public/Protected
  • All
Menu

guid-ts

Index

Classes

Generated using TypeDoc

-------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # guid-ts 2 | 3 | ![Build and Test Typescript CI](https://github.com/piraces/guid-ts/workflows/Build%20and%20Test%20Typescript%20CI/badge.svg?branch=master) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=piraces_guid-ts&metric=alert_status)](https://sonarcloud.io/dashboard?id=piraces_guid-ts) ![npm bundle size](https://img.shields.io/bundlephobia/min/guid-ts) 4 | 5 | Package for generating and managing globally unique identifiers (GUIDs) v4 in Typescript. 6 | 7 | Lightweight, simple, dependency free, and reliable package. 8 | 9 | This package provides a class which can parse and generate a GUID based on the [RFC4122](https://www.ietf.org/rfc/rfc4122.txt). 10 | The package also expose methods to manage GUIDs. 11 | 12 | The focus of this package is to provide a simple mechanism to generate and manage v4 UUIDs, following this principles: 13 | - Keep It Simple Stupid [(KISS Principle)](https://en.wikipedia.org/wiki/KISS_principle) 14 | - Keep it lightweight 15 | - Dependency free 16 | - Well tested 17 | - Reliable 18 | - RFC compilant ([RFC4122](https://www.ietf.org/rfc/rfc4122.txt)) 19 | - Compatible with all major browsers 20 | - Up-to-date 21 | 22 | ## Installation 23 | 24 | Simply install it with your favourite package manager: 25 | 26 | ### Yarn 27 | 28 | ```shell 29 | yarn add guid-ts 30 | ``` 31 | 32 | ### NPM 33 | 34 | ```shell 35 | npm install guid-ts 36 | ``` 37 | 38 | ## Usage 39 | 40 | ```typescript 41 | import { Guid } from 'guid-ts'; 42 | 43 | const newGuid = Guid.newGuid(); // => ex: b631e90e-6e7f-488e-88fb-a7c2ef44bb8d 44 | ``` 45 | 46 | You can use and test the package online on Stackblitz, checkout our example playground: [guid-ts-playground](https://stackblitz.com/edit/guid-ts-playground). 47 | 48 | ## Documentation 49 | 50 | You can find all the code documentation in [https://piraces.github.io/guid-ts/index.html](https://piraces.github.io/guid-ts/index.html). 51 | The documentation is generated using [TypeDoc](https://typedoc.org/), and resides in the `docs` folder. 52 | 53 | ## How does it works? 54 | 55 | The implementation is very simple. It basically generates random numbers to compose a valid v4 UUID, following the specification and a regex to check it. 56 | 57 | ### How do it generates random numbers? 58 | 59 | In order to support all browsers as possible, the implementation checks if the browser has implemented the [Crypto API](https://caniuse.com/#feat=mdn-api_crypto_getrandomvalues) (or mscrypto in the case of IE11), in order to generate the random values, since it is a more reliable source for random values. If the crypto object its not available in runtime, then [Math.random()](https://caniuse.com/#feat=mdn-javascript_builtins_math_random) is used as a fallback (which is a less reliable source of random values, but available in almost all browsers). 60 | 61 | ## Browsers support 62 | 63 | | [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](http://godban.github.io/browsers-support-badges/)
Safari | [iOS Safari](http://godban.github.io/browsers-support-badges/)
iOS Safari | [Samsung](http://godban.github.io/browsers-support-badges/)
Samsung | [Opera](http://godban.github.io/browsers-support-badges/)
Opera | 64 | | --------- | --------- | --------- | --------- | --------- | --------- | --------- | 65 | | IE6-IE11, Edge | 2-latest | 4-latest | 3.1-latest | 3.2-latest | 4-latest | 10-latest 66 | -------------------------------------------------------------------------------- /src/__tests__/Guid.test.ts: -------------------------------------------------------------------------------- 1 | import { Guid } from '../index'; 2 | 3 | const TestGuidString = '6531b3a1-e00b-4c82-8a7d-0fbfc34cf2fc'; 4 | // eslint-disable-next-line no-loss-of-precision 5 | const TestGuidNumber = 0x6531b3a1e00b4c828a7d0fbfc34cf2fc; 6 | const TestInvalidGuidString = 'b68b422c-3897-4aba-1ee2-f8e4f160bf00'; 7 | const TestFixedValues = [167, 69, 83, 48, 57, 88, 151, 132, 49, 172, 215, 201, 179, 96, 159, 219]; 8 | 9 | const cryptoMock = { 10 | subtle: { 11 | encrypt() { 12 | return {} as Promise; 13 | }, 14 | decrypt() { 15 | return {} as Promise; 16 | }, 17 | deriveBits() { 18 | return {} as Promise; 19 | }, 20 | deriveKey() { 21 | return {} as Promise; 22 | }, 23 | digest() { 24 | return {} as Promise; 25 | }, 26 | exportKey() { 27 | return {} as Promise; 28 | }, 29 | generateKey() { 30 | return {} as Promise; 31 | }, 32 | importKey() { 33 | return {} as Promise; 34 | }, 35 | sign() { 36 | return {} as Promise; 37 | }, 38 | unwrapKey() { 39 | return {} as Promise; 40 | }, 41 | verify() { 42 | return {} as Promise; 43 | }, 44 | wrapKey() { 45 | return {} as Promise; 46 | }, 47 | }, 48 | getRandomValues(): T { 49 | return Uint8Array.from(TestFixedValues) as unknown as T; 50 | }, 51 | }; 52 | 53 | test('Generated GUID by newGuid() is valid', () => { 54 | const guid = Guid.newGuid(); 55 | expect(guid.isValid()).toBeTruthy(); 56 | }); 57 | 58 | test('Generated GUID by newGuid() with custom implementation is valid', () => { 59 | const guid = Guid.newGuid(cryptoMock); 60 | expect(guid.isValid()).toBeTruthy(); 61 | }); 62 | 63 | test('Generate GUID from constructor with valid string is valid', () => { 64 | const guid = new Guid(TestGuidString); 65 | expect(guid.isValid()).toBeTruthy(); 66 | }); 67 | 68 | test('Generate GUID from constructor with valid string is non empty', () => { 69 | const guid = new Guid(TestGuidString); 70 | expect(guid.isEmpty()).toBeFalsy(); 71 | }); 72 | 73 | test('New GUIDs from constructor by same string are equal', () => { 74 | const guid = new Guid(TestGuidString); 75 | const otherGuid = new Guid(TestGuidString); 76 | expect(guid.equals(otherGuid)).toBeTruthy(); 77 | }); 78 | 79 | test('New GUIDs from constructor by same string but different casing are equal', () => { 80 | const guid = new Guid(TestGuidString); 81 | const otherGuid = new Guid(TestGuidString.toUpperCase()); 82 | expect(guid.equals(otherGuid)).toBeTruthy(); 83 | }); 84 | 85 | test('Generate GUID from constructor with invalid string is not valid', () => { 86 | const guid = new Guid(TestInvalidGuidString); 87 | expect(guid.isValid()).toBeFalsy(); 88 | }); 89 | 90 | test('Generate GUID from constructor with invalid string is empty', () => { 91 | const guid = new Guid(TestInvalidGuidString); 92 | expect(guid.isEmpty()).toBeTruthy(); 93 | }); 94 | 95 | test('Generate GUID using empty constructor is not valid', () => { 96 | const guid = new Guid(); 97 | expect(guid.isValid()).toBeFalsy(); 98 | }); 99 | 100 | test('Generate GUID using empty constructor is empty', () => { 101 | const guid = new Guid(); 102 | expect(guid.isEmpty()).toBeTruthy(); 103 | }); 104 | 105 | test('Generate GUID using static empty method is not valid', () => { 106 | const guid = Guid.empty(); 107 | expect(guid.isValid()).toBeFalsy(); 108 | }); 109 | 110 | test('Generate GUID using static empty method is empty', () => { 111 | const guid = Guid.empty(); 112 | expect(guid.isEmpty()).toBeTruthy(); 113 | }); 114 | 115 | test('Generate GUID from constructor with valid string returns valid number', () => { 116 | const guid = new Guid(TestGuidString); 117 | expect(guid.toNumber()).toBe(TestGuidNumber); 118 | }); 119 | 120 | test('Generate GUID from constructor with invalid string returns -1 number value', () => { 121 | const guid = new Guid(TestInvalidGuidString); 122 | expect(guid.toNumber()).toBe(-1); 123 | }); 124 | 125 | test('Generate GUID from constructor with no value returns -1 number value', () => { 126 | const guid = new Guid(TestInvalidGuidString); 127 | expect(guid.toNumber()).toBe(-1); 128 | }); 129 | 130 | test('Generate GUID using static empty method returns -1 number value', () => { 131 | const guid = Guid.empty(); 132 | expect(guid.toNumber()).toBe(-1); 133 | }); 134 | 135 | test('Validate GUID string using static isValid method returns true with valid GUID string', () => { 136 | expect(Guid.isValid(TestGuidString)).toBeTruthy(); 137 | }); 138 | 139 | test('Validate GUID string using static isValid method returns false with invalid GUID string', () => { 140 | expect(Guid.isValid(TestInvalidGuidString)).toBeFalsy(); 141 | }); 142 | 143 | test('Validate GUID string using static isValid method returns false with empty string', () => { 144 | expect(Guid.isValid('')).toBeFalsy(); 145 | }); 146 | -------------------------------------------------------------------------------- /docs/assets/search.js: -------------------------------------------------------------------------------- 1 | window.searchData = JSON.parse("{\"kinds\":{\"128\":\"Class\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\"},\"rows\":[{\"id\":0,\"kind\":128,\"name\":\"Guid\",\"url\":\"classes/Guid.html\",\"classes\":\"tsd-kind-class\"},{\"id\":1,\"kind\":1024,\"name\":\"patternV4\",\"url\":\"classes/Guid.html#patternV4\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":2,\"kind\":1024,\"name\":\"emptyStr\",\"url\":\"classes/Guid.html#emptyStr\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":3,\"kind\":1024,\"name\":\"MAX_UINT_8\",\"url\":\"classes/Guid.html#MAX_UINT_8\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":4,\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/Guid.html#empty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"Guid\"},{\"id\":5,\"kind\":2048,\"name\":\"newGuid\",\"url\":\"classes/Guid.html#newGuid\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"Guid\"},{\"id\":6,\"kind\":2048,\"name\":\"isValid\",\"url\":\"classes/Guid.html#isValid-1\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"Guid\"},{\"id\":7,\"kind\":2048,\"name\":\"generate\",\"url\":\"classes/Guid.html#generate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":8,\"kind\":2048,\"name\":\"generateRandomBytes\",\"url\":\"classes/Guid.html#generateRandomBytes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":9,\"kind\":2048,\"name\":\"getCryptoRandomBytes\",\"url\":\"classes/Guid.html#getCryptoRandomBytes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":10,\"kind\":2048,\"name\":\"getRandomBytes\",\"url\":\"classes/Guid.html#getRandomBytes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":11,\"kind\":2048,\"name\":\"setSpecialBytesForV4Guid\",\"url\":\"classes/Guid.html#setSpecialBytesForV4Guid\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":12,\"kind\":2048,\"name\":\"getCryptoImplementation\",\"url\":\"classes/Guid.html#getCryptoImplementation\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private tsd-is-static\",\"parent\":\"Guid\"},{\"id\":13,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Guid.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Guid\"},{\"id\":14,\"kind\":1024,\"name\":\"contentStr\",\"url\":\"classes/Guid.html#contentStr\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Guid\"},{\"id\":15,\"kind\":1024,\"name\":\"contentInt\",\"url\":\"classes/Guid.html#contentInt\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Guid\"},{\"id\":16,\"kind\":1024,\"name\":\"DASH\",\"url\":\"classes/Guid.html#DASH\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Guid\"},{\"id\":17,\"kind\":1024,\"name\":\"DASH_REGEXP\",\"url\":\"classes/Guid.html#DASH_REGEXP\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Guid\"},{\"id\":18,\"kind\":2048,\"name\":\"isValid\",\"url\":\"classes/Guid.html#isValid\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Guid\"},{\"id\":19,\"kind\":2048,\"name\":\"isEmpty\",\"url\":\"classes/Guid.html#isEmpty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Guid\"},{\"id\":20,\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/Guid.html#equals\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Guid\"},{\"id\":21,\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/Guid.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Guid\"},{\"id\":22,\"kind\":2048,\"name\":\"toNumber\",\"url\":\"classes/Guid.html#toNumber\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Guid\"},{\"id\":23,\"kind\":2048,\"name\":\"getNumberFromGuidString\",\"url\":\"classes/Guid.html#getNumberFromGuidString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"Guid\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"parent\"],\"fieldVectors\":[[\"name/0\",[0,0.202]],[\"parent/0\",[]],[\"name/1\",[1,28.134]],[\"parent/1\",[0,0.02]],[\"name/2\",[2,28.134]],[\"parent/2\",[0,0.02]],[\"name/3\",[3,28.134]],[\"parent/3\",[0,0.02]],[\"name/4\",[4,28.134]],[\"parent/4\",[0,0.02]],[\"name/5\",[5,28.134]],[\"parent/5\",[0,0.02]],[\"name/6\",[6,23.026]],[\"parent/6\",[0,0.02]],[\"name/7\",[7,28.134]],[\"parent/7\",[0,0.02]],[\"name/8\",[8,28.134]],[\"parent/8\",[0,0.02]],[\"name/9\",[9,28.134]],[\"parent/9\",[0,0.02]],[\"name/10\",[10,28.134]],[\"parent/10\",[0,0.02]],[\"name/11\",[11,28.134]],[\"parent/11\",[0,0.02]],[\"name/12\",[12,28.134]],[\"parent/12\",[0,0.02]],[\"name/13\",[13,28.134]],[\"parent/13\",[0,0.02]],[\"name/14\",[14,28.134]],[\"parent/14\",[0,0.02]],[\"name/15\",[15,28.134]],[\"parent/15\",[0,0.02]],[\"name/16\",[16,28.134]],[\"parent/16\",[0,0.02]],[\"name/17\",[17,28.134]],[\"parent/17\",[0,0.02]],[\"name/18\",[6,23.026]],[\"parent/18\",[0,0.02]],[\"name/19\",[18,28.134]],[\"parent/19\",[0,0.02]],[\"name/20\",[19,28.134]],[\"parent/20\",[0,0.02]],[\"name/21\",[20,28.134]],[\"parent/21\",[0,0.02]],[\"name/22\",[21,28.134]],[\"parent/22\",[0,0.02]],[\"name/23\",[22,28.134]],[\"parent/23\",[0,0.02]]],\"invertedIndex\":[[\"constructor\",{\"_index\":13,\"name\":{\"13\":{}},\"parent\":{}}],[\"contentint\",{\"_index\":15,\"name\":{\"15\":{}},\"parent\":{}}],[\"contentstr\",{\"_index\":14,\"name\":{\"14\":{}},\"parent\":{}}],[\"dash\",{\"_index\":16,\"name\":{\"16\":{}},\"parent\":{}}],[\"dash_regexp\",{\"_index\":17,\"name\":{\"17\":{}},\"parent\":{}}],[\"empty\",{\"_index\":4,\"name\":{\"4\":{}},\"parent\":{}}],[\"emptystr\",{\"_index\":2,\"name\":{\"2\":{}},\"parent\":{}}],[\"equals\",{\"_index\":19,\"name\":{\"20\":{}},\"parent\":{}}],[\"generate\",{\"_index\":7,\"name\":{\"7\":{}},\"parent\":{}}],[\"generaterandombytes\",{\"_index\":8,\"name\":{\"8\":{}},\"parent\":{}}],[\"getcryptoimplementation\",{\"_index\":12,\"name\":{\"12\":{}},\"parent\":{}}],[\"getcryptorandombytes\",{\"_index\":9,\"name\":{\"9\":{}},\"parent\":{}}],[\"getnumberfromguidstring\",{\"_index\":22,\"name\":{\"23\":{}},\"parent\":{}}],[\"getrandombytes\",{\"_index\":10,\"name\":{\"10\":{}},\"parent\":{}}],[\"guid\",{\"_index\":0,\"name\":{\"0\":{}},\"parent\":{\"1\":{},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"10\":{},\"11\":{},\"12\":{},\"13\":{},\"14\":{},\"15\":{},\"16\":{},\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{},\"22\":{},\"23\":{}}}],[\"isempty\",{\"_index\":18,\"name\":{\"19\":{}},\"parent\":{}}],[\"isvalid\",{\"_index\":6,\"name\":{\"6\":{},\"18\":{}},\"parent\":{}}],[\"max_uint_8\",{\"_index\":3,\"name\":{\"3\":{}},\"parent\":{}}],[\"newguid\",{\"_index\":5,\"name\":{\"5\":{}},\"parent\":{}}],[\"patternv4\",{\"_index\":1,\"name\":{\"1\":{}},\"parent\":{}}],[\"setspecialbytesforv4guid\",{\"_index\":11,\"name\":{\"11\":{}},\"parent\":{}}],[\"tonumber\",{\"_index\":21,\"name\":{\"22\":{}},\"parent\":{}}],[\"tostring\",{\"_index\":20,\"name\":{\"21\":{}},\"parent\":{}}]],\"pipeline\":[]}}"); -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | const toHex: string[] = []; // Array to map bytes to its corresponding hex value. 2 | for (let i = 0; i < 256; ++i) { 3 | toHex[i] = (i + 0x100).toString(16).substr(1); 4 | } 5 | 6 | export class Guid { 7 | private static readonly patternV4 = 8 | /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[4][0-9a-fA-F]{3}-[89ab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/i; // RegEx to validate v4 UUIDs. 9 | private static readonly emptyStr = '00000000-0000-0000-0000-000000000000'; // Represents an empty formatted GUID. 10 | private static readonly MAX_UINT_8 = 255; // Max value of an unsigned 8-bit integer. 11 | 12 | private contentStr?: string; // Internal Guid value represented as a string. 13 | private contentInt?: number; // Internal Guid value represented as a number. 14 | private readonly DASH = '-'; // Separator for the formatting of the GUID. 15 | private readonly DASH_REGEXP = /-/g; // Regex to match GUID separator. 16 | 17 | /** 18 | * Creates a new Guid object using a string, if no string is provided (or the string is not valid), 19 | * the Guid value will be initialized with all zeroes (empty Guid). 20 | * 21 | * @param str is the string to use to initialize the Guid object. If its not valid an empty GUID string will be used. 22 | */ 23 | constructor(str?: string) { 24 | this.contentStr = str; 25 | this.contentInt = this.getNumberFromGuidString(); 26 | if (!this.isValid()) { 27 | this.contentStr = Guid.emptyStr; 28 | this.contentInt = -1; 29 | } 30 | } 31 | 32 | /** 33 | * Returns a new Guid object with an all zeroes internal value. 34 | * 35 | * @returns new Guid object with an internal value with all zeroes (an empty GUID, non valid). 36 | */ 37 | public static empty() { 38 | return new Guid(); 39 | } 40 | 41 | /** 42 | * Returns a Guid object with a random valid UUID v4 value. 43 | * The method allows the use of a custom random value generator that implements the Crypto API. 44 | * The internal guid value is generated using the provided generator (if any), if not provided, it attempts 45 | * to generate random values from the Crypto API of the browser. If the browser does not support the Crypto API, 46 | * Math.random() is used as a fallback to generate random values. 47 | * 48 | * @param generator? - Custom random values generator that implements the Crypto API. 49 | * @returns A new Guid object with a valid random value generated by the provided generator or the defaults. 50 | */ 51 | public static newGuid(generator?: Crypto): Guid { 52 | return new Guid(this.generate(generator)); 53 | } 54 | 55 | /** 56 | * Checks if a string represents a valid v4 GUID. 57 | * 58 | * @returns true if its a valid v4 GUID value represented as string. 59 | */ 60 | public static isValid(str: string): boolean { 61 | if (str) { 62 | return Guid.patternV4.test(str); 63 | } 64 | return false; 65 | } 66 | 67 | /** 68 | * Checks if the current internal value is a valid v4 GUID. 69 | * 70 | * @returns true if its a valid v4 GUID value. 71 | */ 72 | public isValid(): boolean { 73 | if (this.contentStr) { 74 | return Guid.patternV4.test(this.contentStr); 75 | } 76 | return false; 77 | } 78 | 79 | /** 80 | * Checks if the current internal value is empty (all zeroes value). 81 | * 82 | * @returns true if the object has an empty value. 83 | */ 84 | public isEmpty(): boolean { 85 | return this.contentStr === Guid.emptyStr; 86 | } 87 | 88 | /** 89 | * Checks if the current Guid object is equal to the provided one. 90 | * 91 | * @param otherGuid represents the Guid object to compare to this one. 92 | * @returns true if this object value is equal to the provided one. 93 | */ 94 | public equals(otherGuid: Guid): boolean { 95 | return otherGuid && !!this.contentStr && otherGuid.toString().toLowerCase() === this.contentStr.toLowerCase(); 96 | } 97 | 98 | /** 99 | * Returns the object value as string. 100 | * 101 | * @returns the string representing the Guid value. 102 | */ 103 | public toString(): string { 104 | return this.contentStr ?? ''; 105 | } 106 | 107 | /** 108 | * Returns the object value as number. 109 | * 110 | * @returns the hex number representing the Guid value. 111 | */ 112 | public toNumber(): number { 113 | return this.contentInt ?? -1; 114 | } 115 | 116 | /** 117 | * Attempts to get the number GUID value for the current object. 118 | * 119 | * @returns the hex number representing the Guid value or -1 if its value cannot be parsed. 120 | */ 121 | private getNumberFromGuidString(): number { 122 | if (!this.contentStr || this.contentStr.indexOf(this.DASH) === -1) { 123 | return -1; 124 | } 125 | 126 | return Number('0x' + this.contentStr.replace(this.DASH_REGEXP, '')); 127 | } 128 | 129 | /** 130 | * Generates a string with a valid GUID v4 value from a custom Crypto object or the defaults. 131 | * 132 | * @param generator? is the custom generator of values to use to generate the value. 133 | * @returns a valid GUID v4 value as a string. 134 | */ 135 | private static generate(generator?: Crypto): string { 136 | const val = Guid.generateRandomBytes(generator); 137 | return ( 138 | toHex[val[0]] + 139 | toHex[val[1]] + 140 | toHex[val[2]] + 141 | toHex[val[3]] + 142 | '-' + 143 | toHex[val[4]] + 144 | toHex[val[5]] + 145 | '-' + 146 | toHex[val[6]] + 147 | toHex[val[7]] + 148 | '-' + 149 | toHex[val[8]] + 150 | toHex[val[9]] + 151 | '-' + 152 | toHex[val[10]] + 153 | toHex[val[11]] + 154 | toHex[val[12]] + 155 | toHex[val[13]] + 156 | toHex[val[14]] + 157 | toHex[val[15]] 158 | ); 159 | } 160 | 161 | /** 162 | * Generates an Uint8Array with 16 random values generated using the crypto object provided or the defaults. 163 | * 164 | * @param generator is the Crypto implementation to use instead of the defaults. 165 | * @returns an Uint8Array with 16 random values. 166 | */ 167 | private static generateRandomBytes(generator?: Crypto): Uint8Array { 168 | const cryptoObj = Guid.getCryptoImplementation(); 169 | if (typeof generator !== 'undefined') { 170 | return Guid.getCryptoRandomBytes(generator); 171 | } else if (typeof cryptoObj !== 'undefined') { 172 | return Guid.getCryptoRandomBytes(cryptoObj); 173 | } else { 174 | return Guid.getRandomBytes(); 175 | } 176 | } 177 | 178 | /** 179 | * Generates an Uint8Array with 16 random values generated using the crypto object provided. 180 | * 181 | * @param crypto is the Crypto implementation to use to generate the random values to fill the array. 182 | * @returns an Uint8Array with 16 random values. 183 | */ 184 | private static getCryptoRandomBytes(crypto: Crypto): Uint8Array { 185 | const val = crypto.getRandomValues(new Uint8Array(16)); 186 | Guid.setSpecialBytesForV4Guid(val); 187 | return val; 188 | } 189 | 190 | /** 191 | * Generates an Uint8Array with 16 random values generated using the Math.random() method. 192 | * 193 | * @returns an Uint8Array with 16 random values. 194 | */ 195 | private static getRandomBytes(): Uint8Array { 196 | let val = new Uint8Array(16); 197 | val = val.map(() => { 198 | return (Math.random() * Guid.MAX_UINT_8) | 0; 199 | }); 200 | Guid.setSpecialBytesForV4Guid(val); 201 | return val; 202 | } 203 | 204 | /** 205 | * Sets the bytes of an Uint8Array to match the RFC definition of v4 GUIDs. 206 | * 207 | * @param arr is the array to be modified. 208 | */ 209 | private static setSpecialBytesForV4Guid(arr: Uint8Array) { 210 | arr[6] = (arr[6] & 0x0f) | 0x40; 211 | arr[8] = (arr[8] & 0x3f) | 0x80; 212 | } 213 | 214 | /** 215 | * Returns the Crypto object that implements the Crypto API from the browser. 216 | * 217 | * @returns Crypto object from the browser implementation. 218 | */ 219 | private static getCryptoImplementation(): Crypto | undefined { 220 | if (typeof window === 'undefined') { 221 | return undefined; 222 | } 223 | // @ts-ignore: msCrypto does not exists in window (only for IE11) 224 | return window.crypto || window.msCrypto; 225 | } 226 | } 227 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | guid-ts
Options
All
  • Public
  • Public/Protected
  • All
Menu

guid-ts

2 | 3 |

guid-ts

4 |
5 |

Build and Test Typescript CI Quality Gate Status npm bundle size

6 |

Package for generating and managing globally unique identifiers (GUIDs) v4 in Typescript.

7 |

Lightweight, simple, dependency free, and reliable package.

8 |

This package provides a class which can parse and generate a GUID based on the RFC4122. 9 | The package also expose methods to manage GUIDs.

10 |

The focus of this package is to provide a simple mechanism to generate and manage v4 UUIDs, following this principles:

11 |
    12 |
  • Keep It Simple Stupid (KISS Principle)
  • 13 |
  • Keep it lightweight
  • 14 |
  • Dependency free
  • 15 |
  • Well tested
  • 16 |
  • Reliable
  • 17 |
  • RFC compilant (RFC4122)
  • 18 |
  • Compatible with all major browsers
  • 19 |
  • Up-to-date
  • 20 |
21 | 22 | 23 |

Installation

24 |
25 |

Simply install it with your favourite package manager:

26 | 27 | 28 |

Yarn

29 |
30 |
yarn add guid-ts
31 | 
32 | 33 | 34 |

NPM

35 |
36 |
npm install guid-ts
37 | 
38 | 39 | 40 |

Usage

41 |
42 |
import { Guid } from 'guid-ts';

const newGuid = Guid.newGuid(); // => ex: b631e90e-6e7f-488e-88fb-a7c2ef44bb8d 43 |
44 |

You can use and test the package online on Stackblitz, checkout our example playground: guid-ts-playground.

45 | 46 | 47 |

Documentation

48 |
49 |

You can find all the code documentation in https://piraces.github.io/guid-ts/index.html. 50 | The documentation is generated using TypeDoc, and resides in the docs folder.

51 | 52 | 53 |

How does it works?

54 |
55 |

The implementation is very simple. It basically generates random numbers to compose a valid v4 UUID, following the specification and a regex to check it.

56 | 57 | 58 |

How do it generates random numbers?

59 |
60 |

In order to support all browsers as possible, the implementation checks if the browser has implemented the Crypto API (or mscrypto in the case of IE11), in order to generate the random values, since it is a more reliable source for random values. If the crypto object its not available in runtime, then Math.random() is used as a fallback (which is a less reliable source of random values, but available in almost all browsers).

61 | 62 | 63 |

Browsers support

64 |
65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
iOS Safari
iOS Safari
Samsung
Samsung
Opera
Opera
IE6-IE11, Edge2-latest4-latest3.1-latest3.2-latest4-latest10-latest
87 |

Legend

  • Constructor
  • Method
  • Private property
  • Private method
  • Static method

Settings

Theme

Generated using TypeDoc

-------------------------------------------------------------------------------- /docs/assets/icons.css: -------------------------------------------------------------------------------- 1 | .tsd-kind-icon { 2 | display: block; 3 | position: relative; 4 | padding-left: 20px; 5 | text-indent: -20px; 6 | } 7 | .tsd-kind-icon:before { 8 | content: ""; 9 | display: inline-block; 10 | vertical-align: middle; 11 | width: 17px; 12 | height: 17px; 13 | margin: 0 3px 2px 0; 14 | background-image: url(./icons.png); 15 | } 16 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { 17 | .tsd-kind-icon:before { 18 | background-image: url(./icons@2x.png); 19 | background-size: 238px 204px; 20 | } 21 | } 22 | 23 | .tsd-signature.tsd-kind-icon:before { 24 | background-position: 0 -153px; 25 | } 26 | 27 | .tsd-kind-object-literal > .tsd-kind-icon:before { 28 | background-position: 0px -17px; 29 | } 30 | .tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { 31 | background-position: -17px -17px; 32 | } 33 | .tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { 34 | background-position: -34px -17px; 35 | } 36 | 37 | .tsd-kind-class > .tsd-kind-icon:before { 38 | background-position: 0px -34px; 39 | } 40 | .tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { 41 | background-position: -17px -34px; 42 | } 43 | .tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { 44 | background-position: -34px -34px; 45 | } 46 | 47 | .tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { 48 | background-position: 0px -51px; 49 | } 50 | .tsd-kind-class.tsd-has-type-parameter.tsd-is-protected 51 | > .tsd-kind-icon:before { 52 | background-position: -17px -51px; 53 | } 54 | .tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { 55 | background-position: -34px -51px; 56 | } 57 | 58 | .tsd-kind-interface > .tsd-kind-icon:before { 59 | background-position: 0px -68px; 60 | } 61 | .tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { 62 | background-position: -17px -68px; 63 | } 64 | .tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { 65 | background-position: -34px -68px; 66 | } 67 | 68 | .tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { 69 | background-position: 0px -85px; 70 | } 71 | .tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected 72 | > .tsd-kind-icon:before { 73 | background-position: -17px -85px; 74 | } 75 | .tsd-kind-interface.tsd-has-type-parameter.tsd-is-private 76 | > .tsd-kind-icon:before { 77 | background-position: -34px -85px; 78 | } 79 | 80 | .tsd-kind-namespace > .tsd-kind-icon:before { 81 | background-position: 0px -102px; 82 | } 83 | .tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { 84 | background-position: -17px -102px; 85 | } 86 | .tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { 87 | background-position: -34px -102px; 88 | } 89 | 90 | .tsd-kind-module > .tsd-kind-icon:before { 91 | background-position: 0px -102px; 92 | } 93 | .tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { 94 | background-position: -17px -102px; 95 | } 96 | .tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { 97 | background-position: -34px -102px; 98 | } 99 | 100 | .tsd-kind-enum > .tsd-kind-icon:before { 101 | background-position: 0px -119px; 102 | } 103 | .tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 104 | background-position: -17px -119px; 105 | } 106 | .tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { 107 | background-position: -34px -119px; 108 | } 109 | 110 | .tsd-kind-enum-member > .tsd-kind-icon:before { 111 | background-position: 0px -136px; 112 | } 113 | .tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { 114 | background-position: -17px -136px; 115 | } 116 | .tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { 117 | background-position: -34px -136px; 118 | } 119 | 120 | .tsd-kind-signature > .tsd-kind-icon:before { 121 | background-position: 0px -153px; 122 | } 123 | .tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { 124 | background-position: -17px -153px; 125 | } 126 | .tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { 127 | background-position: -34px -153px; 128 | } 129 | 130 | .tsd-kind-type-alias > .tsd-kind-icon:before { 131 | background-position: 0px -170px; 132 | } 133 | .tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { 134 | background-position: -17px -170px; 135 | } 136 | .tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { 137 | background-position: -34px -170px; 138 | } 139 | 140 | .tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { 141 | background-position: 0px -187px; 142 | } 143 | .tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected 144 | > .tsd-kind-icon:before { 145 | background-position: -17px -187px; 146 | } 147 | .tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private 148 | > .tsd-kind-icon:before { 149 | background-position: -34px -187px; 150 | } 151 | 152 | .tsd-kind-variable > .tsd-kind-icon:before { 153 | background-position: -136px -0px; 154 | } 155 | .tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { 156 | background-position: -153px -0px; 157 | } 158 | .tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { 159 | background-position: -119px -0px; 160 | } 161 | .tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { 162 | background-position: -51px -0px; 163 | } 164 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited 165 | > .tsd-kind-icon:before { 166 | background-position: -68px -0px; 167 | } 168 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected 169 | > .tsd-kind-icon:before { 170 | background-position: -85px -0px; 171 | } 172 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 173 | > .tsd-kind-icon:before { 174 | background-position: -102px -0px; 175 | } 176 | .tsd-kind-variable.tsd-parent-kind-class.tsd-is-private 177 | > .tsd-kind-icon:before { 178 | background-position: -119px -0px; 179 | } 180 | .tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { 181 | background-position: -170px -0px; 182 | } 183 | .tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected 184 | > .tsd-kind-icon:before { 185 | background-position: -187px -0px; 186 | } 187 | .tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 188 | background-position: -119px -0px; 189 | } 190 | .tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { 191 | background-position: -204px -0px; 192 | } 193 | .tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited 194 | > .tsd-kind-icon:before { 195 | background-position: -221px -0px; 196 | } 197 | 198 | .tsd-kind-property > .tsd-kind-icon:before { 199 | background-position: -136px -0px; 200 | } 201 | .tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { 202 | background-position: -153px -0px; 203 | } 204 | .tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { 205 | background-position: -119px -0px; 206 | } 207 | .tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { 208 | background-position: -51px -0px; 209 | } 210 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited 211 | > .tsd-kind-icon:before { 212 | background-position: -68px -0px; 213 | } 214 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-protected 215 | > .tsd-kind-icon:before { 216 | background-position: -85px -0px; 217 | } 218 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 219 | > .tsd-kind-icon:before { 220 | background-position: -102px -0px; 221 | } 222 | .tsd-kind-property.tsd-parent-kind-class.tsd-is-private 223 | > .tsd-kind-icon:before { 224 | background-position: -119px -0px; 225 | } 226 | .tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { 227 | background-position: -170px -0px; 228 | } 229 | .tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected 230 | > .tsd-kind-icon:before { 231 | background-position: -187px -0px; 232 | } 233 | .tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 234 | background-position: -119px -0px; 235 | } 236 | .tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { 237 | background-position: -204px -0px; 238 | } 239 | .tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited 240 | > .tsd-kind-icon:before { 241 | background-position: -221px -0px; 242 | } 243 | 244 | .tsd-kind-get-signature > .tsd-kind-icon:before { 245 | background-position: -136px -17px; 246 | } 247 | .tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { 248 | background-position: -153px -17px; 249 | } 250 | .tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { 251 | background-position: -119px -17px; 252 | } 253 | .tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 254 | background-position: -51px -17px; 255 | } 256 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited 257 | > .tsd-kind-icon:before { 258 | background-position: -68px -17px; 259 | } 260 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected 261 | > .tsd-kind-icon:before { 262 | background-position: -85px -17px; 263 | } 264 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 265 | > .tsd-kind-icon:before { 266 | background-position: -102px -17px; 267 | } 268 | .tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private 269 | > .tsd-kind-icon:before { 270 | background-position: -119px -17px; 271 | } 272 | .tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 273 | background-position: -170px -17px; 274 | } 275 | .tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected 276 | > .tsd-kind-icon:before { 277 | background-position: -187px -17px; 278 | } 279 | .tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private 280 | > .tsd-kind-icon:before { 281 | background-position: -119px -17px; 282 | } 283 | .tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 284 | background-position: -204px -17px; 285 | } 286 | .tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited 287 | > .tsd-kind-icon:before { 288 | background-position: -221px -17px; 289 | } 290 | 291 | .tsd-kind-set-signature > .tsd-kind-icon:before { 292 | background-position: -136px -34px; 293 | } 294 | .tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { 295 | background-position: -153px -34px; 296 | } 297 | .tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { 298 | background-position: -119px -34px; 299 | } 300 | .tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 301 | background-position: -51px -34px; 302 | } 303 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited 304 | > .tsd-kind-icon:before { 305 | background-position: -68px -34px; 306 | } 307 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected 308 | > .tsd-kind-icon:before { 309 | background-position: -85px -34px; 310 | } 311 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 312 | > .tsd-kind-icon:before { 313 | background-position: -102px -34px; 314 | } 315 | .tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private 316 | > .tsd-kind-icon:before { 317 | background-position: -119px -34px; 318 | } 319 | .tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 320 | background-position: -170px -34px; 321 | } 322 | .tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected 323 | > .tsd-kind-icon:before { 324 | background-position: -187px -34px; 325 | } 326 | .tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private 327 | > .tsd-kind-icon:before { 328 | background-position: -119px -34px; 329 | } 330 | .tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 331 | background-position: -204px -34px; 332 | } 333 | .tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited 334 | > .tsd-kind-icon:before { 335 | background-position: -221px -34px; 336 | } 337 | 338 | .tsd-kind-accessor > .tsd-kind-icon:before { 339 | background-position: -136px -51px; 340 | } 341 | .tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { 342 | background-position: -153px -51px; 343 | } 344 | .tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { 345 | background-position: -119px -51px; 346 | } 347 | .tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { 348 | background-position: -51px -51px; 349 | } 350 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited 351 | > .tsd-kind-icon:before { 352 | background-position: -68px -51px; 353 | } 354 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected 355 | > .tsd-kind-icon:before { 356 | background-position: -85px -51px; 357 | } 358 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 359 | > .tsd-kind-icon:before { 360 | background-position: -102px -51px; 361 | } 362 | .tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private 363 | > .tsd-kind-icon:before { 364 | background-position: -119px -51px; 365 | } 366 | .tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { 367 | background-position: -170px -51px; 368 | } 369 | .tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected 370 | > .tsd-kind-icon:before { 371 | background-position: -187px -51px; 372 | } 373 | .tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 374 | background-position: -119px -51px; 375 | } 376 | .tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { 377 | background-position: -204px -51px; 378 | } 379 | .tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited 380 | > .tsd-kind-icon:before { 381 | background-position: -221px -51px; 382 | } 383 | 384 | .tsd-kind-function > .tsd-kind-icon:before { 385 | background-position: -136px -68px; 386 | } 387 | .tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { 388 | background-position: -153px -68px; 389 | } 390 | .tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { 391 | background-position: -119px -68px; 392 | } 393 | .tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { 394 | background-position: -51px -68px; 395 | } 396 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited 397 | > .tsd-kind-icon:before { 398 | background-position: -68px -68px; 399 | } 400 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-protected 401 | > .tsd-kind-icon:before { 402 | background-position: -85px -68px; 403 | } 404 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 405 | > .tsd-kind-icon:before { 406 | background-position: -102px -68px; 407 | } 408 | .tsd-kind-function.tsd-parent-kind-class.tsd-is-private 409 | > .tsd-kind-icon:before { 410 | background-position: -119px -68px; 411 | } 412 | .tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { 413 | background-position: -170px -68px; 414 | } 415 | .tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected 416 | > .tsd-kind-icon:before { 417 | background-position: -187px -68px; 418 | } 419 | .tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 420 | background-position: -119px -68px; 421 | } 422 | .tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { 423 | background-position: -204px -68px; 424 | } 425 | .tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited 426 | > .tsd-kind-icon:before { 427 | background-position: -221px -68px; 428 | } 429 | 430 | .tsd-kind-method > .tsd-kind-icon:before { 431 | background-position: -136px -68px; 432 | } 433 | .tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { 434 | background-position: -153px -68px; 435 | } 436 | .tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { 437 | background-position: -119px -68px; 438 | } 439 | .tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { 440 | background-position: -51px -68px; 441 | } 442 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited 443 | > .tsd-kind-icon:before { 444 | background-position: -68px -68px; 445 | } 446 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-protected 447 | > .tsd-kind-icon:before { 448 | background-position: -85px -68px; 449 | } 450 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 451 | > .tsd-kind-icon:before { 452 | background-position: -102px -68px; 453 | } 454 | .tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 455 | background-position: -119px -68px; 456 | } 457 | .tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { 458 | background-position: -170px -68px; 459 | } 460 | .tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 461 | background-position: -187px -68px; 462 | } 463 | .tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 464 | background-position: -119px -68px; 465 | } 466 | .tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { 467 | background-position: -204px -68px; 468 | } 469 | .tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited 470 | > .tsd-kind-icon:before { 471 | background-position: -221px -68px; 472 | } 473 | 474 | .tsd-kind-call-signature > .tsd-kind-icon:before { 475 | background-position: -136px -68px; 476 | } 477 | .tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { 478 | background-position: -153px -68px; 479 | } 480 | .tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { 481 | background-position: -119px -68px; 482 | } 483 | .tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 484 | background-position: -51px -68px; 485 | } 486 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited 487 | > .tsd-kind-icon:before { 488 | background-position: -68px -68px; 489 | } 490 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected 491 | > .tsd-kind-icon:before { 492 | background-position: -85px -68px; 493 | } 494 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 495 | > .tsd-kind-icon:before { 496 | background-position: -102px -68px; 497 | } 498 | .tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private 499 | > .tsd-kind-icon:before { 500 | background-position: -119px -68px; 501 | } 502 | .tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 503 | background-position: -170px -68px; 504 | } 505 | .tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected 506 | > .tsd-kind-icon:before { 507 | background-position: -187px -68px; 508 | } 509 | .tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private 510 | > .tsd-kind-icon:before { 511 | background-position: -119px -68px; 512 | } 513 | .tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 514 | background-position: -204px -68px; 515 | } 516 | .tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited 517 | > .tsd-kind-icon:before { 518 | background-position: -221px -68px; 519 | } 520 | 521 | .tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { 522 | background-position: -136px -85px; 523 | } 524 | .tsd-kind-function.tsd-has-type-parameter.tsd-is-protected 525 | > .tsd-kind-icon:before { 526 | background-position: -153px -85px; 527 | } 528 | .tsd-kind-function.tsd-has-type-parameter.tsd-is-private 529 | > .tsd-kind-icon:before { 530 | background-position: -119px -85px; 531 | } 532 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class 533 | > .tsd-kind-icon:before { 534 | background-position: -51px -85px; 535 | } 536 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited 537 | > .tsd-kind-icon:before { 538 | background-position: -68px -85px; 539 | } 540 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected 541 | > .tsd-kind-icon:before { 542 | background-position: -85px -85px; 543 | } 544 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 545 | > .tsd-kind-icon:before { 546 | background-position: -102px -85px; 547 | } 548 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private 549 | > .tsd-kind-icon:before { 550 | background-position: -119px -85px; 551 | } 552 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum 553 | > .tsd-kind-icon:before { 554 | background-position: -170px -85px; 555 | } 556 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected 557 | > .tsd-kind-icon:before { 558 | background-position: -187px -85px; 559 | } 560 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private 561 | > .tsd-kind-icon:before { 562 | background-position: -119px -85px; 563 | } 564 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface 565 | > .tsd-kind-icon:before { 566 | background-position: -204px -85px; 567 | } 568 | .tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited 569 | > .tsd-kind-icon:before { 570 | background-position: -221px -85px; 571 | } 572 | 573 | .tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { 574 | background-position: -136px -85px; 575 | } 576 | .tsd-kind-method.tsd-has-type-parameter.tsd-is-protected 577 | > .tsd-kind-icon:before { 578 | background-position: -153px -85px; 579 | } 580 | .tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { 581 | background-position: -119px -85px; 582 | } 583 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class 584 | > .tsd-kind-icon:before { 585 | background-position: -51px -85px; 586 | } 587 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited 588 | > .tsd-kind-icon:before { 589 | background-position: -68px -85px; 590 | } 591 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected 592 | > .tsd-kind-icon:before { 593 | background-position: -85px -85px; 594 | } 595 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 596 | > .tsd-kind-icon:before { 597 | background-position: -102px -85px; 598 | } 599 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private 600 | > .tsd-kind-icon:before { 601 | background-position: -119px -85px; 602 | } 603 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum 604 | > .tsd-kind-icon:before { 605 | background-position: -170px -85px; 606 | } 607 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected 608 | > .tsd-kind-icon:before { 609 | background-position: -187px -85px; 610 | } 611 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private 612 | > .tsd-kind-icon:before { 613 | background-position: -119px -85px; 614 | } 615 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface 616 | > .tsd-kind-icon:before { 617 | background-position: -204px -85px; 618 | } 619 | .tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited 620 | > .tsd-kind-icon:before { 621 | background-position: -221px -85px; 622 | } 623 | 624 | .tsd-kind-constructor > .tsd-kind-icon:before { 625 | background-position: -136px -102px; 626 | } 627 | .tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { 628 | background-position: -153px -102px; 629 | } 630 | .tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { 631 | background-position: -119px -102px; 632 | } 633 | .tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { 634 | background-position: -51px -102px; 635 | } 636 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited 637 | > .tsd-kind-icon:before { 638 | background-position: -68px -102px; 639 | } 640 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected 641 | > .tsd-kind-icon:before { 642 | background-position: -85px -102px; 643 | } 644 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 645 | > .tsd-kind-icon:before { 646 | background-position: -102px -102px; 647 | } 648 | .tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private 649 | > .tsd-kind-icon:before { 650 | background-position: -119px -102px; 651 | } 652 | .tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { 653 | background-position: -170px -102px; 654 | } 655 | .tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected 656 | > .tsd-kind-icon:before { 657 | background-position: -187px -102px; 658 | } 659 | .tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private 660 | > .tsd-kind-icon:before { 661 | background-position: -119px -102px; 662 | } 663 | .tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { 664 | background-position: -204px -102px; 665 | } 666 | .tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited 667 | > .tsd-kind-icon:before { 668 | background-position: -221px -102px; 669 | } 670 | 671 | .tsd-kind-constructor-signature > .tsd-kind-icon:before { 672 | background-position: -136px -102px; 673 | } 674 | .tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { 675 | background-position: -153px -102px; 676 | } 677 | .tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { 678 | background-position: -119px -102px; 679 | } 680 | .tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 681 | background-position: -51px -102px; 682 | } 683 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited 684 | > .tsd-kind-icon:before { 685 | background-position: -68px -102px; 686 | } 687 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected 688 | > .tsd-kind-icon:before { 689 | background-position: -85px -102px; 690 | } 691 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 692 | > .tsd-kind-icon:before { 693 | background-position: -102px -102px; 694 | } 695 | .tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private 696 | > .tsd-kind-icon:before { 697 | background-position: -119px -102px; 698 | } 699 | .tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 700 | background-position: -170px -102px; 701 | } 702 | .tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected 703 | > .tsd-kind-icon:before { 704 | background-position: -187px -102px; 705 | } 706 | .tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private 707 | > .tsd-kind-icon:before { 708 | background-position: -119px -102px; 709 | } 710 | .tsd-kind-constructor-signature.tsd-parent-kind-interface 711 | > .tsd-kind-icon:before { 712 | background-position: -204px -102px; 713 | } 714 | .tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited 715 | > .tsd-kind-icon:before { 716 | background-position: -221px -102px; 717 | } 718 | 719 | .tsd-kind-index-signature > .tsd-kind-icon:before { 720 | background-position: -136px -119px; 721 | } 722 | .tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { 723 | background-position: -153px -119px; 724 | } 725 | .tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { 726 | background-position: -119px -119px; 727 | } 728 | .tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { 729 | background-position: -51px -119px; 730 | } 731 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited 732 | > .tsd-kind-icon:before { 733 | background-position: -68px -119px; 734 | } 735 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected 736 | > .tsd-kind-icon:before { 737 | background-position: -85px -119px; 738 | } 739 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 740 | > .tsd-kind-icon:before { 741 | background-position: -102px -119px; 742 | } 743 | .tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private 744 | > .tsd-kind-icon:before { 745 | background-position: -119px -119px; 746 | } 747 | .tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { 748 | background-position: -170px -119px; 749 | } 750 | .tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected 751 | > .tsd-kind-icon:before { 752 | background-position: -187px -119px; 753 | } 754 | .tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private 755 | > .tsd-kind-icon:before { 756 | background-position: -119px -119px; 757 | } 758 | .tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { 759 | background-position: -204px -119px; 760 | } 761 | .tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited 762 | > .tsd-kind-icon:before { 763 | background-position: -221px -119px; 764 | } 765 | 766 | .tsd-kind-event > .tsd-kind-icon:before { 767 | background-position: -136px -136px; 768 | } 769 | .tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { 770 | background-position: -153px -136px; 771 | } 772 | .tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { 773 | background-position: -119px -136px; 774 | } 775 | .tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { 776 | background-position: -51px -136px; 777 | } 778 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 779 | background-position: -68px -136px; 780 | } 781 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 782 | background-position: -85px -136px; 783 | } 784 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 785 | > .tsd-kind-icon:before { 786 | background-position: -102px -136px; 787 | } 788 | .tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 789 | background-position: -119px -136px; 790 | } 791 | .tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { 792 | background-position: -170px -136px; 793 | } 794 | .tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 795 | background-position: -187px -136px; 796 | } 797 | .tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 798 | background-position: -119px -136px; 799 | } 800 | .tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { 801 | background-position: -204px -136px; 802 | } 803 | .tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited 804 | > .tsd-kind-icon:before { 805 | background-position: -221px -136px; 806 | } 807 | 808 | .tsd-is-static > .tsd-kind-icon:before { 809 | background-position: -136px -153px; 810 | } 811 | .tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { 812 | background-position: -153px -153px; 813 | } 814 | .tsd-is-static.tsd-is-private > .tsd-kind-icon:before { 815 | background-position: -119px -153px; 816 | } 817 | .tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { 818 | background-position: -51px -153px; 819 | } 820 | .tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { 821 | background-position: -68px -153px; 822 | } 823 | .tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { 824 | background-position: -85px -153px; 825 | } 826 | .tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 827 | > .tsd-kind-icon:before { 828 | background-position: -102px -153px; 829 | } 830 | .tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { 831 | background-position: -119px -153px; 832 | } 833 | .tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { 834 | background-position: -170px -153px; 835 | } 836 | .tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { 837 | background-position: -187px -153px; 838 | } 839 | .tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { 840 | background-position: -119px -153px; 841 | } 842 | .tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { 843 | background-position: -204px -153px; 844 | } 845 | .tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited 846 | > .tsd-kind-icon:before { 847 | background-position: -221px -153px; 848 | } 849 | 850 | .tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { 851 | background-position: -136px -170px; 852 | } 853 | .tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { 854 | background-position: -153px -170px; 855 | } 856 | .tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { 857 | background-position: -119px -170px; 858 | } 859 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { 860 | background-position: -51px -170px; 861 | } 862 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited 863 | > .tsd-kind-icon:before { 864 | background-position: -68px -170px; 865 | } 866 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected 867 | > .tsd-kind-icon:before { 868 | background-position: -85px -170px; 869 | } 870 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 871 | > .tsd-kind-icon:before { 872 | background-position: -102px -170px; 873 | } 874 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private 875 | > .tsd-kind-icon:before { 876 | background-position: -119px -170px; 877 | } 878 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { 879 | background-position: -170px -170px; 880 | } 881 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected 882 | > .tsd-kind-icon:before { 883 | background-position: -187px -170px; 884 | } 885 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private 886 | > .tsd-kind-icon:before { 887 | background-position: -119px -170px; 888 | } 889 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-interface 890 | > .tsd-kind-icon:before { 891 | background-position: -204px -170px; 892 | } 893 | .tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited 894 | > .tsd-kind-icon:before { 895 | background-position: -221px -170px; 896 | } 897 | 898 | .tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { 899 | background-position: -136px -170px; 900 | } 901 | .tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { 902 | background-position: -153px -170px; 903 | } 904 | .tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { 905 | background-position: -119px -170px; 906 | } 907 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { 908 | background-position: -51px -170px; 909 | } 910 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited 911 | > .tsd-kind-icon:before { 912 | background-position: -68px -170px; 913 | } 914 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected 915 | > .tsd-kind-icon:before { 916 | background-position: -85px -170px; 917 | } 918 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 919 | > .tsd-kind-icon:before { 920 | background-position: -102px -170px; 921 | } 922 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private 923 | > .tsd-kind-icon:before { 924 | background-position: -119px -170px; 925 | } 926 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { 927 | background-position: -170px -170px; 928 | } 929 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected 930 | > .tsd-kind-icon:before { 931 | background-position: -187px -170px; 932 | } 933 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private 934 | > .tsd-kind-icon:before { 935 | background-position: -119px -170px; 936 | } 937 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-interface 938 | > .tsd-kind-icon:before { 939 | background-position: -204px -170px; 940 | } 941 | .tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited 942 | > .tsd-kind-icon:before { 943 | background-position: -221px -170px; 944 | } 945 | 946 | .tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { 947 | background-position: -136px -170px; 948 | } 949 | .tsd-is-static.tsd-kind-call-signature.tsd-is-protected 950 | > .tsd-kind-icon:before { 951 | background-position: -153px -170px; 952 | } 953 | .tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { 954 | background-position: -119px -170px; 955 | } 956 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class 957 | > .tsd-kind-icon:before { 958 | background-position: -51px -170px; 959 | } 960 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited 961 | > .tsd-kind-icon:before { 962 | background-position: -68px -170px; 963 | } 964 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected 965 | > .tsd-kind-icon:before { 966 | background-position: -85px -170px; 967 | } 968 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 969 | > .tsd-kind-icon:before { 970 | background-position: -102px -170px; 971 | } 972 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private 973 | > .tsd-kind-icon:before { 974 | background-position: -119px -170px; 975 | } 976 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum 977 | > .tsd-kind-icon:before { 978 | background-position: -170px -170px; 979 | } 980 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected 981 | > .tsd-kind-icon:before { 982 | background-position: -187px -170px; 983 | } 984 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private 985 | > .tsd-kind-icon:before { 986 | background-position: -119px -170px; 987 | } 988 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface 989 | > .tsd-kind-icon:before { 990 | background-position: -204px -170px; 991 | } 992 | .tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited 993 | > .tsd-kind-icon:before { 994 | background-position: -221px -170px; 995 | } 996 | 997 | .tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { 998 | background-position: -136px -187px; 999 | } 1000 | .tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { 1001 | background-position: -153px -187px; 1002 | } 1003 | .tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { 1004 | background-position: -119px -187px; 1005 | } 1006 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { 1007 | background-position: -51px -187px; 1008 | } 1009 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited 1010 | > .tsd-kind-icon:before { 1011 | background-position: -68px -187px; 1012 | } 1013 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected 1014 | > .tsd-kind-icon:before { 1015 | background-position: -85px -187px; 1016 | } 1017 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited 1018 | > .tsd-kind-icon:before { 1019 | background-position: -102px -187px; 1020 | } 1021 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private 1022 | > .tsd-kind-icon:before { 1023 | background-position: -119px -187px; 1024 | } 1025 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { 1026 | background-position: -170px -187px; 1027 | } 1028 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected 1029 | > .tsd-kind-icon:before { 1030 | background-position: -187px -187px; 1031 | } 1032 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private 1033 | > .tsd-kind-icon:before { 1034 | background-position: -119px -187px; 1035 | } 1036 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-interface 1037 | > .tsd-kind-icon:before { 1038 | background-position: -204px -187px; 1039 | } 1040 | .tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited 1041 | > .tsd-kind-icon:before { 1042 | background-position: -221px -187px; 1043 | } 1044 | -------------------------------------------------------------------------------- /docs/assets/style.css: -------------------------------------------------------------------------------- 1 | @import url("./icons.css"); 2 | 3 | :root { 4 | /* Light */ 5 | --light-color-background: #fcfcfc; 6 | --light-color-secondary-background: #fff; 7 | --light-color-text: #222; 8 | --light-color-text-aside: #707070; 9 | --light-color-link: #4da6ff; 10 | --light-color-menu-divider: #eee; 11 | --light-color-menu-divider-focus: #000; 12 | --light-color-menu-label: #707070; 13 | --light-color-panel: var(--light-color-secondary-background); 14 | --light-color-panel-divider: #eee; 15 | --light-color-comment-tag: #707070; 16 | --light-color-comment-tag-text: #fff; 17 | --light-color-ts: #9600ff; 18 | --light-color-ts-interface: #647f1b; 19 | --light-color-ts-enum: #937210; 20 | --light-color-ts-class: #0672de; 21 | --light-color-ts-private: #707070; 22 | --light-color-toolbar: #fff; 23 | --light-color-toolbar-text: #333; 24 | --light-icon-filter: invert(0); 25 | --light-external-icon: url("data:image/svg+xml;utf8,"); 26 | 27 | /* Dark */ 28 | --dark-color-background: #36393f; 29 | --dark-color-secondary-background: #2f3136; 30 | --dark-color-text: #ffffff; 31 | --dark-color-text-aside: #e6e4e4; 32 | --dark-color-link: #00aff4; 33 | --dark-color-menu-divider: #eee; 34 | --dark-color-menu-divider-focus: #000; 35 | --dark-color-menu-label: #707070; 36 | --dark-color-panel: var(--dark-color-secondary-background); 37 | --dark-color-panel-divider: #818181; 38 | --dark-color-comment-tag: #dcddde; 39 | --dark-color-comment-tag-text: #2f3136; 40 | --dark-color-ts: #c97dff; 41 | --dark-color-ts-interface: #9cbe3c; 42 | --dark-color-ts-enum: #d6ab29; 43 | --dark-color-ts-class: #3695f3; 44 | --dark-color-ts-private: #e2e2e2; 45 | --dark-color-toolbar: #34373c; 46 | --dark-color-toolbar-text: #ffffff; 47 | --dark-icon-filter: invert(1); 48 | --dark-external-icon: url("data:image/svg+xml;utf8,"); 49 | } 50 | 51 | @media (prefers-color-scheme: light) { 52 | :root { 53 | --color-background: var(--light-color-background); 54 | --color-secondary-background: var(--light-color-secondary-background); 55 | --color-text: var(--light-color-text); 56 | --color-text-aside: var(--light-color-text-aside); 57 | --color-link: var(--light-color-link); 58 | --color-menu-divider: var(--light-color-menu-divider); 59 | --color-menu-divider-focus: var(--light-color-menu-divider-focus); 60 | --color-menu-label: var(--light-color-menu-label); 61 | --color-panel: var(--light-color-panel); 62 | --color-panel-divider: var(--light-color-panel-divider); 63 | --color-comment-tag: var(--light-color-comment-tag); 64 | --color-comment-tag-text: var(--light-color-comment-tag-text); 65 | --color-ts: var(--light-color-ts); 66 | --color-ts-interface: var(--light-color-ts-interface); 67 | --color-ts-enum: var(--light-color-ts-enum); 68 | --color-ts-class: var(--light-color-ts-class); 69 | --color-ts-private: var(--light-color-ts-private); 70 | --color-toolbar: var(--light-color-toolbar); 71 | --color-toolbar-text: var(--light-color-toolbar-text); 72 | --icon-filter: var(--light-icon-filter); 73 | --external-icon: var(--light-external-icon); 74 | } 75 | } 76 | 77 | @media (prefers-color-scheme: dark) { 78 | :root { 79 | --color-background: var(--dark-color-background); 80 | --color-secondary-background: var(--dark-color-secondary-background); 81 | --color-text: var(--dark-color-text); 82 | --color-text-aside: var(--dark-color-text-aside); 83 | --color-link: var(--dark-color-link); 84 | --color-menu-divider: var(--dark-color-menu-divider); 85 | --color-menu-divider-focus: var(--dark-color-menu-divider-focus); 86 | --color-menu-label: var(--dark-color-menu-label); 87 | --color-panel: var(--dark-color-panel); 88 | --color-panel-divider: var(--dark-color-panel-divider); 89 | --color-comment-tag: var(--dark-color-comment-tag); 90 | --color-comment-tag-text: var(--dark-color-comment-tag-text); 91 | --color-ts: var(--dark-color-ts); 92 | --color-ts-interface: var(--dark-color-ts-interface); 93 | --color-ts-enum: var(--dark-color-ts-enum); 94 | --color-ts-class: var(--dark-color-ts-class); 95 | --color-ts-private: var(--dark-color-ts-private); 96 | --color-toolbar: var(--dark-color-toolbar); 97 | --color-toolbar-text: var(--dark-color-toolbar-text); 98 | --icon-filter: var(--dark-icon-filter); 99 | --external-icon: var(--dark-external-icon); 100 | } 101 | } 102 | 103 | body { 104 | margin: 0; 105 | } 106 | 107 | body.light { 108 | --color-background: var(--light-color-background); 109 | --color-secondary-background: var(--light-color-secondary-background); 110 | --color-text: var(--light-color-text); 111 | --color-text-aside: var(--light-color-text-aside); 112 | --color-link: var(--light-color-link); 113 | --color-menu-divider: var(--light-color-menu-divider); 114 | --color-menu-divider-focus: var(--light-color-menu-divider-focus); 115 | --color-menu-label: var(--light-color-menu-label); 116 | --color-panel: var(--light-color-panel); 117 | --color-panel-divider: var(--light-color-panel-divider); 118 | --color-comment-tag: var(--light-color-comment-tag); 119 | --color-comment-tag-text: var(--light-color-comment-tag-text); 120 | --color-ts: var(--light-color-ts); 121 | --color-ts-interface: var(--light-color-ts-interface); 122 | --color-ts-enum: var(--light-color-ts-enum); 123 | --color-ts-class: var(--light-color-ts-class); 124 | --color-ts-private: var(--light-color-ts-private); 125 | --color-toolbar: var(--light-color-toolbar); 126 | --color-toolbar-text: var(--light-color-toolbar-text); 127 | --icon-filter: var(--light-icon-filter); 128 | --external-icon: var(--light-external-icon); 129 | } 130 | 131 | body.dark { 132 | --color-background: var(--dark-color-background); 133 | --color-secondary-background: var(--dark-color-secondary-background); 134 | --color-text: var(--dark-color-text); 135 | --color-text-aside: var(--dark-color-text-aside); 136 | --color-link: var(--dark-color-link); 137 | --color-menu-divider: var(--dark-color-menu-divider); 138 | --color-menu-divider-focus: var(--dark-color-menu-divider-focus); 139 | --color-menu-label: var(--dark-color-menu-label); 140 | --color-panel: var(--dark-color-panel); 141 | --color-panel-divider: var(--dark-color-panel-divider); 142 | --color-comment-tag: var(--dark-color-comment-tag); 143 | --color-comment-tag-text: var(--dark-color-comment-tag-text); 144 | --color-ts: var(--dark-color-ts); 145 | --color-ts-interface: var(--dark-color-ts-interface); 146 | --color-ts-enum: var(--dark-color-ts-enum); 147 | --color-ts-class: var(--dark-color-ts-class); 148 | --color-ts-private: var(--dark-color-ts-private); 149 | --color-toolbar: var(--dark-color-toolbar); 150 | --color-toolbar-text: var(--dark-color-toolbar-text); 151 | --icon-filter: var(--dark-icon-filter); 152 | --external-icon: var(--dark-external-icon); 153 | } 154 | 155 | h1, 156 | h2, 157 | h3, 158 | h4, 159 | h5, 160 | h6 { 161 | line-height: 1.2; 162 | } 163 | 164 | h1 { 165 | font-size: 2em; 166 | margin: 0.67em 0; 167 | } 168 | 169 | h2 { 170 | font-size: 1.5em; 171 | margin: 0.83em 0; 172 | } 173 | 174 | h3 { 175 | font-size: 1.17em; 176 | margin: 1em 0; 177 | } 178 | 179 | h4, 180 | .tsd-index-panel h3 { 181 | font-size: 1em; 182 | margin: 1.33em 0; 183 | } 184 | 185 | h5 { 186 | font-size: 0.83em; 187 | margin: 1.67em 0; 188 | } 189 | 190 | h6 { 191 | font-size: 0.67em; 192 | margin: 2.33em 0; 193 | } 194 | 195 | pre { 196 | white-space: pre; 197 | white-space: pre-wrap; 198 | word-wrap: break-word; 199 | } 200 | 201 | dl, 202 | menu, 203 | ol, 204 | ul { 205 | margin: 1em 0; 206 | } 207 | 208 | dd { 209 | margin: 0 0 0 40px; 210 | } 211 | 212 | .container { 213 | max-width: 1200px; 214 | margin: 0 auto; 215 | padding: 0 40px; 216 | } 217 | @media (max-width: 640px) { 218 | .container { 219 | padding: 0 20px; 220 | } 221 | } 222 | 223 | .container-main { 224 | padding-bottom: 200px; 225 | } 226 | 227 | .row { 228 | display: flex; 229 | position: relative; 230 | margin: 0 -10px; 231 | } 232 | .row:after { 233 | visibility: hidden; 234 | display: block; 235 | content: ""; 236 | clear: both; 237 | height: 0; 238 | } 239 | 240 | .col-4, 241 | .col-8 { 242 | box-sizing: border-box; 243 | float: left; 244 | padding: 0 10px; 245 | } 246 | 247 | .col-4 { 248 | width: 33.3333333333%; 249 | } 250 | .col-8 { 251 | width: 66.6666666667%; 252 | } 253 | 254 | ul.tsd-descriptions > li > :first-child, 255 | .tsd-panel > :first-child, 256 | .col-8 > :first-child, 257 | .col-4 > :first-child, 258 | ul.tsd-descriptions > li > :first-child > :first-child, 259 | .tsd-panel > :first-child > :first-child, 260 | .col-8 > :first-child > :first-child, 261 | .col-4 > :first-child > :first-child, 262 | ul.tsd-descriptions > li > :first-child > :first-child > :first-child, 263 | .tsd-panel > :first-child > :first-child > :first-child, 264 | .col-8 > :first-child > :first-child > :first-child, 265 | .col-4 > :first-child > :first-child > :first-child { 266 | margin-top: 0; 267 | } 268 | ul.tsd-descriptions > li > :last-child, 269 | .tsd-panel > :last-child, 270 | .col-8 > :last-child, 271 | .col-4 > :last-child, 272 | ul.tsd-descriptions > li > :last-child > :last-child, 273 | .tsd-panel > :last-child > :last-child, 274 | .col-8 > :last-child > :last-child, 275 | .col-4 > :last-child > :last-child, 276 | ul.tsd-descriptions > li > :last-child > :last-child > :last-child, 277 | .tsd-panel > :last-child > :last-child > :last-child, 278 | .col-8 > :last-child > :last-child > :last-child, 279 | .col-4 > :last-child > :last-child > :last-child { 280 | margin-bottom: 0; 281 | } 282 | 283 | @keyframes fade-in { 284 | from { 285 | opacity: 0; 286 | } 287 | to { 288 | opacity: 1; 289 | } 290 | } 291 | @keyframes fade-out { 292 | from { 293 | opacity: 1; 294 | visibility: visible; 295 | } 296 | to { 297 | opacity: 0; 298 | } 299 | } 300 | @keyframes fade-in-delayed { 301 | 0% { 302 | opacity: 0; 303 | } 304 | 33% { 305 | opacity: 0; 306 | } 307 | 100% { 308 | opacity: 1; 309 | } 310 | } 311 | @keyframes fade-out-delayed { 312 | 0% { 313 | opacity: 1; 314 | visibility: visible; 315 | } 316 | 66% { 317 | opacity: 0; 318 | } 319 | 100% { 320 | opacity: 0; 321 | } 322 | } 323 | @keyframes shift-to-left { 324 | from { 325 | transform: translate(0, 0); 326 | } 327 | to { 328 | transform: translate(-25%, 0); 329 | } 330 | } 331 | @keyframes unshift-to-left { 332 | from { 333 | transform: translate(-25%, 0); 334 | } 335 | to { 336 | transform: translate(0, 0); 337 | } 338 | } 339 | @keyframes pop-in-from-right { 340 | from { 341 | transform: translate(100%, 0); 342 | } 343 | to { 344 | transform: translate(0, 0); 345 | } 346 | } 347 | @keyframes pop-out-to-right { 348 | from { 349 | transform: translate(0, 0); 350 | visibility: visible; 351 | } 352 | to { 353 | transform: translate(100%, 0); 354 | } 355 | } 356 | body { 357 | background: var(--color-background); 358 | font-family: "Segoe UI", sans-serif; 359 | font-size: 16px; 360 | color: var(--color-text); 361 | } 362 | 363 | a { 364 | color: var(--color-link); 365 | text-decoration: none; 366 | } 367 | a:hover { 368 | text-decoration: underline; 369 | } 370 | a.external[target="_blank"] { 371 | background-image: var(--external-icon); 372 | background-position: top 3px right; 373 | background-repeat: no-repeat; 374 | padding-right: 13px; 375 | } 376 | 377 | code, 378 | pre { 379 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 380 | padding: 0.2em; 381 | margin: 0; 382 | font-size: 14px; 383 | } 384 | 385 | pre { 386 | padding: 10px; 387 | } 388 | pre code { 389 | padding: 0; 390 | font-size: 100%; 391 | } 392 | 393 | blockquote { 394 | margin: 1em 0; 395 | padding-left: 1em; 396 | border-left: 4px solid gray; 397 | } 398 | 399 | .tsd-typography { 400 | line-height: 1.333em; 401 | } 402 | .tsd-typography ul { 403 | list-style: square; 404 | padding: 0 0 0 20px; 405 | margin: 0; 406 | } 407 | .tsd-typography h4, 408 | .tsd-typography .tsd-index-panel h3, 409 | .tsd-index-panel .tsd-typography h3, 410 | .tsd-typography h5, 411 | .tsd-typography h6 { 412 | font-size: 1em; 413 | margin: 0; 414 | } 415 | .tsd-typography h5, 416 | .tsd-typography h6 { 417 | font-weight: normal; 418 | } 419 | .tsd-typography p, 420 | .tsd-typography ul, 421 | .tsd-typography ol { 422 | margin: 1em 0; 423 | } 424 | 425 | @media (min-width: 901px) and (max-width: 1024px) { 426 | html .col-content { 427 | width: 72%; 428 | } 429 | html .col-menu { 430 | width: 28%; 431 | } 432 | html .tsd-navigation { 433 | padding-left: 10px; 434 | } 435 | } 436 | @media (max-width: 900px) { 437 | html .col-content { 438 | float: none; 439 | width: 100%; 440 | } 441 | html .col-menu { 442 | position: fixed !important; 443 | overflow: auto; 444 | -webkit-overflow-scrolling: touch; 445 | z-index: 1024; 446 | top: 0 !important; 447 | bottom: 0 !important; 448 | left: auto !important; 449 | right: 0 !important; 450 | width: 100%; 451 | padding: 20px 20px 0 0; 452 | max-width: 450px; 453 | visibility: hidden; 454 | background-color: var(--color-panel); 455 | transform: translate(100%, 0); 456 | } 457 | html .col-menu > *:last-child { 458 | padding-bottom: 20px; 459 | } 460 | html .overlay { 461 | content: ""; 462 | display: block; 463 | position: fixed; 464 | z-index: 1023; 465 | top: 0; 466 | left: 0; 467 | right: 0; 468 | bottom: 0; 469 | background-color: rgba(0, 0, 0, 0.75); 470 | visibility: hidden; 471 | } 472 | 473 | .to-has-menu .overlay { 474 | animation: fade-in 0.4s; 475 | } 476 | 477 | .to-has-menu :is(header, footer, .col-content) { 478 | animation: shift-to-left 0.4s; 479 | } 480 | 481 | .to-has-menu .col-menu { 482 | animation: pop-in-from-right 0.4s; 483 | } 484 | 485 | .from-has-menu .overlay { 486 | animation: fade-out 0.4s; 487 | } 488 | 489 | .from-has-menu :is(header, footer, .col-content) { 490 | animation: unshift-to-left 0.4s; 491 | } 492 | 493 | .from-has-menu .col-menu { 494 | animation: pop-out-to-right 0.4s; 495 | } 496 | 497 | .has-menu body { 498 | overflow: hidden; 499 | } 500 | .has-menu .overlay { 501 | visibility: visible; 502 | } 503 | .has-menu :is(header, footer, .col-content) { 504 | transform: translate(-25%, 0); 505 | } 506 | .has-menu .col-menu { 507 | visibility: visible; 508 | transform: translate(0, 0); 509 | display: grid; 510 | grid-template-rows: auto 1fr; 511 | max-height: 100vh; 512 | } 513 | .has-menu .tsd-navigation { 514 | max-height: 100%; 515 | } 516 | } 517 | 518 | .tsd-page-title { 519 | padding: 70px 0 20px 0; 520 | margin: 0 0 40px 0; 521 | background: var(--color-panel); 522 | box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); 523 | } 524 | .tsd-page-title h1 { 525 | margin: 0; 526 | } 527 | 528 | .tsd-breadcrumb { 529 | margin: 0; 530 | padding: 0; 531 | color: var(--color-text-aside); 532 | } 533 | .tsd-breadcrumb a { 534 | color: var(--color-text-aside); 535 | text-decoration: none; 536 | } 537 | .tsd-breadcrumb a:hover { 538 | text-decoration: underline; 539 | } 540 | .tsd-breadcrumb li { 541 | display: inline; 542 | } 543 | .tsd-breadcrumb li:after { 544 | content: " / "; 545 | } 546 | 547 | dl.tsd-comment-tags { 548 | overflow: hidden; 549 | } 550 | dl.tsd-comment-tags dt { 551 | float: left; 552 | padding: 1px 5px; 553 | margin: 0 10px 0 0; 554 | border-radius: 4px; 555 | border: 1px solid var(--color-comment-tag); 556 | color: var(--color-comment-tag); 557 | font-size: 0.8em; 558 | font-weight: normal; 559 | } 560 | dl.tsd-comment-tags dd { 561 | margin: 0 0 10px 0; 562 | } 563 | dl.tsd-comment-tags dd:before, 564 | dl.tsd-comment-tags dd:after { 565 | display: table; 566 | content: " "; 567 | } 568 | dl.tsd-comment-tags dd pre, 569 | dl.tsd-comment-tags dd:after { 570 | clear: both; 571 | } 572 | dl.tsd-comment-tags p { 573 | margin: 0; 574 | } 575 | 576 | .tsd-panel.tsd-comment .lead { 577 | font-size: 1.1em; 578 | line-height: 1.333em; 579 | margin-bottom: 2em; 580 | } 581 | .tsd-panel.tsd-comment .lead:last-child { 582 | margin-bottom: 0; 583 | } 584 | 585 | .toggle-protected .tsd-is-private { 586 | display: none; 587 | } 588 | 589 | .toggle-public .tsd-is-private, 590 | .toggle-public .tsd-is-protected, 591 | .toggle-public .tsd-is-private-protected { 592 | display: none; 593 | } 594 | 595 | .toggle-inherited .tsd-is-inherited { 596 | display: none; 597 | } 598 | 599 | .toggle-externals .tsd-is-external { 600 | display: none; 601 | } 602 | 603 | #tsd-filter { 604 | position: relative; 605 | display: inline-block; 606 | height: 40px; 607 | vertical-align: bottom; 608 | } 609 | .no-filter #tsd-filter { 610 | display: none; 611 | } 612 | #tsd-filter .tsd-filter-group { 613 | display: inline-block; 614 | height: 40px; 615 | vertical-align: bottom; 616 | white-space: nowrap; 617 | } 618 | #tsd-filter input { 619 | display: none; 620 | } 621 | @media (max-width: 900px) { 622 | #tsd-filter .tsd-filter-group { 623 | display: block; 624 | position: absolute; 625 | top: 40px; 626 | right: 20px; 627 | height: auto; 628 | background-color: var(--color-panel); 629 | visibility: hidden; 630 | transform: translate(50%, 0); 631 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 632 | } 633 | .has-options #tsd-filter .tsd-filter-group { 634 | visibility: visible; 635 | } 636 | .to-has-options #tsd-filter .tsd-filter-group { 637 | animation: fade-in 0.2s; 638 | } 639 | .from-has-options #tsd-filter .tsd-filter-group { 640 | animation: fade-out 0.2s; 641 | } 642 | #tsd-filter label, 643 | #tsd-filter .tsd-select { 644 | display: block; 645 | padding-right: 20px; 646 | } 647 | } 648 | 649 | footer { 650 | border-top: 1px solid var(--color-panel-divider); 651 | background-color: var(--color-panel); 652 | } 653 | footer:after { 654 | content: ""; 655 | display: table; 656 | } 657 | footer.with-border-bottom { 658 | border-bottom: 1px solid var(--color-panel-divider); 659 | } 660 | footer .tsd-legend-group { 661 | font-size: 0; 662 | } 663 | footer .tsd-legend { 664 | display: inline-block; 665 | width: 25%; 666 | padding: 0; 667 | font-size: 16px; 668 | list-style: none; 669 | line-height: 1.333em; 670 | vertical-align: top; 671 | } 672 | @media (max-width: 900px) { 673 | footer .tsd-legend { 674 | width: 50%; 675 | } 676 | } 677 | 678 | .tsd-hierarchy { 679 | list-style: square; 680 | padding: 0 0 0 20px; 681 | margin: 0; 682 | } 683 | .tsd-hierarchy .target { 684 | font-weight: bold; 685 | } 686 | 687 | .tsd-index-panel .tsd-index-content { 688 | margin-bottom: -30px !important; 689 | } 690 | .tsd-index-panel .tsd-index-section { 691 | margin-bottom: 30px !important; 692 | } 693 | .tsd-index-panel h3 { 694 | margin: 0 -20px 10px -20px; 695 | padding: 0 20px 10px 20px; 696 | border-bottom: 1px solid var(--color-panel-divider); 697 | } 698 | .tsd-index-panel ul.tsd-index-list { 699 | -webkit-column-count: 3; 700 | -moz-column-count: 3; 701 | -ms-column-count: 3; 702 | -o-column-count: 3; 703 | column-count: 3; 704 | -webkit-column-gap: 20px; 705 | -moz-column-gap: 20px; 706 | -ms-column-gap: 20px; 707 | -o-column-gap: 20px; 708 | column-gap: 20px; 709 | padding: 0; 710 | list-style: none; 711 | line-height: 1.333em; 712 | } 713 | @media (max-width: 900px) { 714 | .tsd-index-panel ul.tsd-index-list { 715 | -webkit-column-count: 1; 716 | -moz-column-count: 1; 717 | -ms-column-count: 1; 718 | -o-column-count: 1; 719 | column-count: 1; 720 | } 721 | } 722 | @media (min-width: 901px) and (max-width: 1024px) { 723 | .tsd-index-panel ul.tsd-index-list { 724 | -webkit-column-count: 2; 725 | -moz-column-count: 2; 726 | -ms-column-count: 2; 727 | -o-column-count: 2; 728 | column-count: 2; 729 | } 730 | } 731 | .tsd-index-panel ul.tsd-index-list li { 732 | -webkit-page-break-inside: avoid; 733 | -moz-page-break-inside: avoid; 734 | -ms-page-break-inside: avoid; 735 | -o-page-break-inside: avoid; 736 | page-break-inside: avoid; 737 | } 738 | .tsd-index-panel a, 739 | .tsd-index-panel .tsd-parent-kind-module a { 740 | color: var(--color-ts); 741 | } 742 | .tsd-index-panel .tsd-parent-kind-interface a { 743 | color: var(--color-ts-interface); 744 | } 745 | .tsd-index-panel .tsd-parent-kind-enum a { 746 | color: var(--color-ts-enum); 747 | } 748 | .tsd-index-panel .tsd-parent-kind-class a { 749 | color: var(--color-ts-class); 750 | } 751 | .tsd-index-panel .tsd-kind-module a { 752 | color: var(--color-ts); 753 | } 754 | .tsd-index-panel .tsd-kind-interface a { 755 | color: var(--color-ts-interface); 756 | } 757 | .tsd-index-panel .tsd-kind-enum a { 758 | color: var(--color-ts-enum); 759 | } 760 | .tsd-index-panel .tsd-kind-class a { 761 | color: var(--color-ts-class); 762 | } 763 | .tsd-index-panel .tsd-is-private a { 764 | color: var(--color-ts-private); 765 | } 766 | 767 | .tsd-flag { 768 | display: inline-block; 769 | padding: 1px 5px; 770 | border-radius: 4px; 771 | color: var(--color-comment-tag-text); 772 | background-color: var(--color-comment-tag); 773 | text-indent: 0; 774 | font-size: 14px; 775 | font-weight: normal; 776 | } 777 | 778 | .tsd-anchor { 779 | position: absolute; 780 | top: -100px; 781 | } 782 | 783 | .tsd-member { 784 | position: relative; 785 | } 786 | .tsd-member .tsd-anchor + h3 { 787 | margin-top: 0; 788 | margin-bottom: 0; 789 | border-bottom: none; 790 | } 791 | .tsd-member [data-tsd-kind] { 792 | color: var(--color-ts); 793 | } 794 | .tsd-member [data-tsd-kind="Interface"] { 795 | color: var(--color-ts-interface); 796 | } 797 | .tsd-member [data-tsd-kind="Enum"] { 798 | color: var(--color-ts-enum); 799 | } 800 | .tsd-member [data-tsd-kind="Class"] { 801 | color: var(--color-ts-class); 802 | } 803 | .tsd-member [data-tsd-kind="Private"] { 804 | color: var(--color-ts-private); 805 | } 806 | 807 | .tsd-navigation { 808 | margin: 0 0 0 40px; 809 | } 810 | .tsd-navigation a { 811 | display: block; 812 | padding-top: 2px; 813 | padding-bottom: 2px; 814 | border-left: 2px solid transparent; 815 | color: var(--color-text); 816 | text-decoration: none; 817 | transition: border-left-color 0.1s; 818 | } 819 | .tsd-navigation a:hover { 820 | text-decoration: underline; 821 | } 822 | .tsd-navigation ul { 823 | margin: 0; 824 | padding: 0; 825 | list-style: none; 826 | } 827 | .tsd-navigation li { 828 | padding: 0; 829 | } 830 | 831 | .tsd-navigation.primary { 832 | padding-bottom: 40px; 833 | } 834 | .tsd-navigation.primary a { 835 | display: block; 836 | padding-top: 6px; 837 | padding-bottom: 6px; 838 | } 839 | .tsd-navigation.primary ul li a { 840 | padding-left: 5px; 841 | } 842 | .tsd-navigation.primary ul li li a { 843 | padding-left: 25px; 844 | } 845 | .tsd-navigation.primary ul li li li a { 846 | padding-left: 45px; 847 | } 848 | .tsd-navigation.primary ul li li li li a { 849 | padding-left: 65px; 850 | } 851 | .tsd-navigation.primary ul li li li li li a { 852 | padding-left: 85px; 853 | } 854 | .tsd-navigation.primary ul li li li li li li a { 855 | padding-left: 105px; 856 | } 857 | .tsd-navigation.primary > ul { 858 | border-bottom: 1px solid var(--color-panel-divider); 859 | } 860 | .tsd-navigation.primary li { 861 | border-top: 1px solid var(--color-panel-divider); 862 | } 863 | .tsd-navigation.primary li.current > a { 864 | font-weight: bold; 865 | } 866 | .tsd-navigation.primary li.label span { 867 | display: block; 868 | padding: 20px 0 6px 5px; 869 | color: var(--color-menu-label); 870 | } 871 | .tsd-navigation.primary li.globals + li > span, 872 | .tsd-navigation.primary li.globals + li > a { 873 | padding-top: 20px; 874 | } 875 | 876 | .tsd-navigation.secondary { 877 | max-height: calc(100vh - 1rem - 40px); 878 | overflow: auto; 879 | position: sticky; 880 | top: calc(0.5rem + 40px); 881 | transition: 0.3s; 882 | } 883 | .tsd-navigation.secondary.tsd-navigation--toolbar-hide { 884 | max-height: calc(100vh - 1rem); 885 | top: 0.5rem; 886 | } 887 | .tsd-navigation.secondary ul { 888 | transition: opacity 0.2s; 889 | } 890 | .tsd-navigation.secondary ul li a { 891 | padding-left: 25px; 892 | } 893 | .tsd-navigation.secondary ul li li a { 894 | padding-left: 45px; 895 | } 896 | .tsd-navigation.secondary ul li li li a { 897 | padding-left: 65px; 898 | } 899 | .tsd-navigation.secondary ul li li li li a { 900 | padding-left: 85px; 901 | } 902 | .tsd-navigation.secondary ul li li li li li a { 903 | padding-left: 105px; 904 | } 905 | .tsd-navigation.secondary ul li li li li li li a { 906 | padding-left: 125px; 907 | } 908 | .tsd-navigation.secondary ul.current a { 909 | border-left-color: var(--color-panel-divider); 910 | } 911 | .tsd-navigation.secondary li.focus > a, 912 | .tsd-navigation.secondary ul.current li.focus > a { 913 | border-left-color: var(--color-menu-divider-focus); 914 | } 915 | .tsd-navigation.secondary li.current { 916 | margin-top: 20px; 917 | margin-bottom: 20px; 918 | border-left-color: var(--color-panel-divider); 919 | } 920 | .tsd-navigation.secondary li.current > a { 921 | font-weight: bold; 922 | } 923 | 924 | @media (min-width: 901px) { 925 | .menu-sticky-wrap { 926 | position: static; 927 | } 928 | } 929 | 930 | .tsd-panel { 931 | margin: 20px 0; 932 | padding: 20px; 933 | background-color: var(--color-panel); 934 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 935 | } 936 | .tsd-panel:empty { 937 | display: none; 938 | } 939 | .tsd-panel > h1, 940 | .tsd-panel > h2, 941 | .tsd-panel > h3 { 942 | margin: 1.5em -20px 10px -20px; 943 | padding: 0 20px 10px 20px; 944 | border-bottom: 1px solid var(--color-panel-divider); 945 | } 946 | .tsd-panel > h1.tsd-before-signature, 947 | .tsd-panel > h2.tsd-before-signature, 948 | .tsd-panel > h3.tsd-before-signature { 949 | margin-bottom: 0; 950 | border-bottom: 0; 951 | } 952 | .tsd-panel table { 953 | display: block; 954 | width: 100%; 955 | overflow: auto; 956 | margin-top: 10px; 957 | word-break: normal; 958 | word-break: keep-all; 959 | border-collapse: collapse; 960 | } 961 | .tsd-panel table th { 962 | font-weight: bold; 963 | } 964 | .tsd-panel table th, 965 | .tsd-panel table td { 966 | padding: 6px 13px; 967 | border: 1px solid var(--color-panel-divider); 968 | } 969 | .tsd-panel table tr { 970 | background: var(--color-background); 971 | } 972 | .tsd-panel table tr:nth-child(even) { 973 | background: var(--color-secondary-background); 974 | } 975 | 976 | .tsd-panel-group { 977 | margin: 60px 0; 978 | } 979 | .tsd-panel-group > h1, 980 | .tsd-panel-group > h2, 981 | .tsd-panel-group > h3 { 982 | padding-left: 20px; 983 | padding-right: 20px; 984 | } 985 | 986 | #tsd-search { 987 | transition: background-color 0.2s; 988 | } 989 | #tsd-search .title { 990 | position: relative; 991 | z-index: 2; 992 | } 993 | #tsd-search .field { 994 | position: absolute; 995 | left: 0; 996 | top: 0; 997 | right: 40px; 998 | height: 40px; 999 | } 1000 | #tsd-search .field input { 1001 | box-sizing: border-box; 1002 | position: relative; 1003 | top: -50px; 1004 | z-index: 1; 1005 | width: 100%; 1006 | padding: 0 10px; 1007 | opacity: 0; 1008 | outline: 0; 1009 | border: 0; 1010 | background: transparent; 1011 | color: var(--color-text); 1012 | } 1013 | #tsd-search .field label { 1014 | position: absolute; 1015 | overflow: hidden; 1016 | right: -40px; 1017 | } 1018 | #tsd-search .field input, 1019 | #tsd-search .title { 1020 | transition: opacity 0.2s; 1021 | } 1022 | #tsd-search .results { 1023 | position: absolute; 1024 | visibility: hidden; 1025 | top: 40px; 1026 | width: 100%; 1027 | margin: 0; 1028 | padding: 0; 1029 | list-style: none; 1030 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 1031 | } 1032 | #tsd-search .results li { 1033 | padding: 0 10px; 1034 | background-color: var(--color-background); 1035 | } 1036 | #tsd-search .results li:nth-child(even) { 1037 | background-color: var(--color-panel); 1038 | } 1039 | #tsd-search .results li.state { 1040 | display: none; 1041 | } 1042 | #tsd-search .results li.current, 1043 | #tsd-search .results li:hover { 1044 | background-color: var(--color-panel-divider); 1045 | } 1046 | #tsd-search .results a { 1047 | display: block; 1048 | } 1049 | #tsd-search .results a:before { 1050 | top: 10px; 1051 | } 1052 | #tsd-search .results span.parent { 1053 | color: var(--color-text-aside); 1054 | font-weight: normal; 1055 | } 1056 | #tsd-search.has-focus { 1057 | background-color: var(--color-panel-divider); 1058 | } 1059 | #tsd-search.has-focus .field input { 1060 | top: 0; 1061 | opacity: 1; 1062 | } 1063 | #tsd-search.has-focus .title { 1064 | z-index: 0; 1065 | opacity: 0; 1066 | } 1067 | #tsd-search.has-focus .results { 1068 | visibility: visible; 1069 | } 1070 | #tsd-search.loading .results li.state.loading { 1071 | display: block; 1072 | } 1073 | #tsd-search.failure .results li.state.failure { 1074 | display: block; 1075 | } 1076 | 1077 | .tsd-signature { 1078 | margin: 0 0 1em 0; 1079 | padding: 10px; 1080 | border: 1px solid var(--color-panel-divider); 1081 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace; 1082 | font-size: 14px; 1083 | overflow-x: auto; 1084 | } 1085 | .tsd-signature.tsd-kind-icon { 1086 | padding-left: 30px; 1087 | } 1088 | .tsd-signature.tsd-kind-icon:before { 1089 | top: 10px; 1090 | left: 10px; 1091 | } 1092 | .tsd-panel > .tsd-signature { 1093 | margin-left: -20px; 1094 | margin-right: -20px; 1095 | border-width: 1px 0; 1096 | } 1097 | .tsd-panel > .tsd-signature.tsd-kind-icon { 1098 | padding-left: 40px; 1099 | } 1100 | .tsd-panel > .tsd-signature.tsd-kind-icon:before { 1101 | left: 20px; 1102 | } 1103 | 1104 | .tsd-signature-symbol { 1105 | color: var(--color-text-aside); 1106 | font-weight: normal; 1107 | } 1108 | 1109 | .tsd-signature-type { 1110 | font-style: italic; 1111 | font-weight: normal; 1112 | } 1113 | 1114 | .tsd-signatures { 1115 | padding: 0; 1116 | margin: 0 0 1em 0; 1117 | border: 1px solid var(--color-panel-divider); 1118 | } 1119 | .tsd-signatures .tsd-signature { 1120 | margin: 0; 1121 | border-width: 1px 0 0 0; 1122 | transition: background-color 0.1s; 1123 | } 1124 | .tsd-signatures .tsd-signature:first-child { 1125 | border-top-width: 0; 1126 | } 1127 | .tsd-signatures .tsd-signature.current { 1128 | background-color: var(--color-panel-divider); 1129 | } 1130 | .tsd-signatures.active > .tsd-signature { 1131 | cursor: pointer; 1132 | } 1133 | .tsd-panel > .tsd-signatures { 1134 | margin-left: -20px; 1135 | margin-right: -20px; 1136 | border-width: 1px 0; 1137 | } 1138 | .tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { 1139 | padding-left: 40px; 1140 | } 1141 | .tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { 1142 | left: 20px; 1143 | } 1144 | .tsd-panel > a.anchor + .tsd-signatures { 1145 | border-top-width: 0; 1146 | margin-top: -20px; 1147 | } 1148 | 1149 | ul.tsd-descriptions { 1150 | position: relative; 1151 | overflow: hidden; 1152 | padding: 0; 1153 | list-style: none; 1154 | } 1155 | ul.tsd-descriptions.active > .tsd-description { 1156 | display: none; 1157 | } 1158 | ul.tsd-descriptions.active > .tsd-description.current { 1159 | display: block; 1160 | } 1161 | ul.tsd-descriptions.active > .tsd-description.fade-in { 1162 | animation: fade-in-delayed 0.3s; 1163 | } 1164 | ul.tsd-descriptions.active > .tsd-description.fade-out { 1165 | animation: fade-out-delayed 0.3s; 1166 | position: absolute; 1167 | display: block; 1168 | top: 0; 1169 | left: 0; 1170 | right: 0; 1171 | opacity: 0; 1172 | visibility: hidden; 1173 | } 1174 | ul.tsd-descriptions h4, 1175 | ul.tsd-descriptions .tsd-index-panel h3, 1176 | .tsd-index-panel ul.tsd-descriptions h3 { 1177 | font-size: 16px; 1178 | margin: 1em 0 0.5em 0; 1179 | } 1180 | 1181 | ul.tsd-parameters, 1182 | ul.tsd-type-parameters { 1183 | list-style: square; 1184 | margin: 0; 1185 | padding-left: 20px; 1186 | } 1187 | ul.tsd-parameters > li.tsd-parameter-signature, 1188 | ul.tsd-type-parameters > li.tsd-parameter-signature { 1189 | list-style: none; 1190 | margin-left: -20px; 1191 | } 1192 | ul.tsd-parameters h5, 1193 | ul.tsd-type-parameters h5 { 1194 | font-size: 16px; 1195 | margin: 1em 0 0.5em 0; 1196 | } 1197 | ul.tsd-parameters .tsd-comment, 1198 | ul.tsd-type-parameters .tsd-comment { 1199 | margin-top: -0.5em; 1200 | } 1201 | 1202 | .tsd-sources { 1203 | font-size: 14px; 1204 | color: var(--color-text-aside); 1205 | margin: 0 0 1em 0; 1206 | } 1207 | .tsd-sources a { 1208 | color: var(--color-text-aside); 1209 | text-decoration: underline; 1210 | } 1211 | .tsd-sources ul, 1212 | .tsd-sources p { 1213 | margin: 0 !important; 1214 | } 1215 | .tsd-sources ul { 1216 | list-style: none; 1217 | padding: 0; 1218 | } 1219 | 1220 | .tsd-page-toolbar { 1221 | position: fixed; 1222 | z-index: 1; 1223 | top: 0; 1224 | left: 0; 1225 | width: 100%; 1226 | height: 40px; 1227 | color: var(--color-toolbar-text); 1228 | background: var(--color-toolbar); 1229 | border-bottom: 1px solid var(--color-panel-divider); 1230 | transition: transform 0.3s linear; 1231 | } 1232 | .tsd-page-toolbar a { 1233 | color: var(--color-toolbar-text); 1234 | text-decoration: none; 1235 | } 1236 | .tsd-page-toolbar a.title { 1237 | font-weight: bold; 1238 | } 1239 | .tsd-page-toolbar a.title:hover { 1240 | text-decoration: underline; 1241 | } 1242 | .tsd-page-toolbar .table-wrap { 1243 | display: table; 1244 | width: 100%; 1245 | height: 40px; 1246 | } 1247 | .tsd-page-toolbar .table-cell { 1248 | display: table-cell; 1249 | position: relative; 1250 | white-space: nowrap; 1251 | line-height: 40px; 1252 | } 1253 | .tsd-page-toolbar .table-cell:first-child { 1254 | width: 100%; 1255 | } 1256 | 1257 | .tsd-page-toolbar--hide { 1258 | transform: translateY(-100%); 1259 | } 1260 | 1261 | .tsd-select .tsd-select-list li:before, 1262 | .tsd-select .tsd-select-label:before, 1263 | .tsd-widget:before { 1264 | content: ""; 1265 | display: inline-block; 1266 | width: 40px; 1267 | height: 40px; 1268 | margin: 0 -8px 0 0; 1269 | background-image: url(./widgets.png); 1270 | background-repeat: no-repeat; 1271 | text-indent: -1024px; 1272 | vertical-align: bottom; 1273 | filter: var(--icon-filter); 1274 | } 1275 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { 1276 | .tsd-select .tsd-select-list li:before, 1277 | .tsd-select .tsd-select-label:before, 1278 | .tsd-widget:before { 1279 | background-image: url(./widgets@2x.png); 1280 | background-size: 320px 40px; 1281 | } 1282 | } 1283 | 1284 | .tsd-widget { 1285 | display: inline-block; 1286 | overflow: hidden; 1287 | opacity: 0.8; 1288 | height: 40px; 1289 | transition: opacity 0.1s, background-color 0.2s; 1290 | vertical-align: bottom; 1291 | cursor: pointer; 1292 | } 1293 | .tsd-widget:hover { 1294 | opacity: 0.9; 1295 | } 1296 | .tsd-widget.active { 1297 | opacity: 1; 1298 | background-color: var(--color-panel-divider); 1299 | } 1300 | .tsd-widget.no-caption { 1301 | width: 40px; 1302 | } 1303 | .tsd-widget.no-caption:before { 1304 | margin: 0; 1305 | } 1306 | .tsd-widget.search:before { 1307 | background-position: 0 0; 1308 | } 1309 | .tsd-widget.menu:before { 1310 | background-position: -40px 0; 1311 | } 1312 | .tsd-widget.options:before { 1313 | background-position: -80px 0; 1314 | } 1315 | .tsd-widget.options, 1316 | .tsd-widget.menu { 1317 | display: none; 1318 | } 1319 | @media (max-width: 900px) { 1320 | .tsd-widget.options, 1321 | .tsd-widget.menu { 1322 | display: inline-block; 1323 | } 1324 | } 1325 | input[type="checkbox"] + .tsd-widget:before { 1326 | background-position: -120px 0; 1327 | } 1328 | input[type="checkbox"]:checked + .tsd-widget:before { 1329 | background-position: -160px 0; 1330 | } 1331 | 1332 | .tsd-select { 1333 | position: relative; 1334 | display: inline-block; 1335 | height: 40px; 1336 | transition: opacity 0.1s, background-color 0.2s; 1337 | vertical-align: bottom; 1338 | cursor: pointer; 1339 | } 1340 | .tsd-select .tsd-select-label { 1341 | opacity: 0.6; 1342 | transition: opacity 0.2s; 1343 | } 1344 | .tsd-select .tsd-select-label:before { 1345 | background-position: -240px 0; 1346 | } 1347 | .tsd-select.active .tsd-select-label { 1348 | opacity: 0.8; 1349 | } 1350 | .tsd-select.active .tsd-select-list { 1351 | visibility: visible; 1352 | opacity: 1; 1353 | transition-delay: 0s; 1354 | } 1355 | .tsd-select .tsd-select-list { 1356 | position: absolute; 1357 | visibility: hidden; 1358 | top: 40px; 1359 | left: 0; 1360 | margin: 0; 1361 | padding: 0; 1362 | opacity: 0; 1363 | list-style: none; 1364 | box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); 1365 | transition: visibility 0s 0.2s, opacity 0.2s; 1366 | } 1367 | .tsd-select .tsd-select-list li { 1368 | padding: 0 20px 0 0; 1369 | background-color: var(--color-background); 1370 | } 1371 | .tsd-select .tsd-select-list li:before { 1372 | background-position: 40px 0; 1373 | } 1374 | .tsd-select .tsd-select-list li:nth-child(even) { 1375 | background-color: var(--color-panel); 1376 | } 1377 | .tsd-select .tsd-select-list li:hover { 1378 | background-color: var(--color-panel-divider); 1379 | } 1380 | .tsd-select .tsd-select-list li.selected:before { 1381 | background-position: -200px 0; 1382 | } 1383 | @media (max-width: 900px) { 1384 | .tsd-select .tsd-select-list { 1385 | top: 0; 1386 | left: auto; 1387 | right: 100%; 1388 | margin-right: -5px; 1389 | } 1390 | .tsd-select .tsd-select-label:before { 1391 | background-position: -280px 0; 1392 | } 1393 | } 1394 | 1395 | img { 1396 | max-width: 100%; 1397 | } 1398 | 1399 | .tsd-anchor-icon { 1400 | margin-left: 10px; 1401 | vertical-align: middle; 1402 | color: var(--color-text); 1403 | } 1404 | 1405 | .tsd-anchor-icon svg { 1406 | width: 1em; 1407 | height: 1em; 1408 | visibility: hidden; 1409 | } 1410 | 1411 | .tsd-anchor-link:hover > .tsd-anchor-icon svg { 1412 | visibility: visible; 1413 | } 1414 | -------------------------------------------------------------------------------- /docs/assets/main.js: -------------------------------------------------------------------------------- 1 | (()=>{var Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!_e.call(t,i)&&(r||i!=="default")&&J(t,i,{get:()=>e[i],enumerable:!(n=Pe(e,i))||n.enumerable});return t},Ae=(t,e)=>De(Me(J(t!=null?Ce(Re(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ce,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}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,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. 2 | `,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},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),r=1,n=0;r0){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 u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,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 l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),p=s.str.charAt(1),v;p in s.node.edges?v=s.node.edges[p]:(v=new t.TokenSet,s.node.edges[p]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.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(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},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,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<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 r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,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 r=e.peekLexeme();if(r!=null)switch(r.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 n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.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 r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.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 '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;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 r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;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,r){typeof define=="function"&&define.amd?define(r):typeof ce=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){var r;let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(r=this.secondaryNav)==null||r.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;nn.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var fe=Ae(de());function pe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ue(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=fe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o${ve(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes;let p=document.createElement("a");p.href=n.base+u.url,p.classList.add("tsd-kind-icon"),p.innerHTML=l,h.append(p),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`${re(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}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 r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}pe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})(); 3 | /*! 4 | * lunr.Builder 5 | * Copyright (C) 2020 Oliver Nightingale 6 | */ 7 | /*! 8 | * lunr.Index 9 | * Copyright (C) 2020 Oliver Nightingale 10 | */ 11 | /*! 12 | * lunr.Pipeline 13 | * Copyright (C) 2020 Oliver Nightingale 14 | */ 15 | /*! 16 | * lunr.Set 17 | * Copyright (C) 2020 Oliver Nightingale 18 | */ 19 | /*! 20 | * lunr.TokenSet 21 | * Copyright (C) 2020 Oliver Nightingale 22 | */ 23 | /*! 24 | * lunr.Vector 25 | * Copyright (C) 2020 Oliver Nightingale 26 | */ 27 | /*! 28 | * lunr.stemmer 29 | * Copyright (C) 2020 Oliver Nightingale 30 | * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt 31 | */ 32 | /*! 33 | * lunr.stopWordFilter 34 | * Copyright (C) 2020 Oliver Nightingale 35 | */ 36 | /*! 37 | * lunr.tokenizer 38 | * Copyright (C) 2020 Oliver Nightingale 39 | */ 40 | /*! 41 | * lunr.trimmer 42 | * Copyright (C) 2020 Oliver Nightingale 43 | */ 44 | /*! 45 | * lunr.utils 46 | * Copyright (C) 2020 Oliver Nightingale 47 | */ 48 | /** 49 | * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 50 | * Copyright (C) 2020 Oliver Nightingale 51 | * @license MIT 52 | */ 53 | -------------------------------------------------------------------------------- /docs/classes/Guid.html: -------------------------------------------------------------------------------- 1 | Guid | guid-ts
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Guid

Hierarchy

  • Guid

Index

Constructors

  • new Guid(str?: string): Guid
  • 2 |

    Creates a new Guid object using a string, if no string is provided (or the string is not valid), 3 | the Guid value will be initialized with all zeroes (empty Guid).

    4 |

    Parameters

    • Optional str: string
      5 |

      is the string to use to initialize the Guid object. If its not valid an empty GUID string will be used.

      6 |

    Returns Guid

Properties

DASH: "-" = '-'
DASH_REGEXP: RegExp = ...
contentInt?: number
contentStr?: string
MAX_UINT_8: 255 = 255
emptyStr: "00000000-0000-0000-0000-000000000000" = '00000000-0000-0000-0000-000000000000'
patternV4: RegExp = ...

Methods

  • equals(otherGuid: Guid): boolean
  • 7 |

    Checks if the current Guid object is equal to the provided one.

    8 |

    Parameters

    • otherGuid: Guid
      9 |

      represents the Guid object to compare to this one.

      10 |

    Returns boolean

    true if this object value is equal to the provided one.

    11 |
  • getNumberFromGuidString(): number
  • 12 |

    Attempts to get the number GUID value for the current object.

    13 |

    Returns number

    the hex number representing the Guid value or -1 if its value cannot be parsed.

    14 |
  • isEmpty(): boolean
  • 15 |

    Checks if the current internal value is empty (all zeroes value).

    16 |

    Returns boolean

    true if the object has an empty value.

    17 |
  • isValid(): boolean
  • 18 |

    Checks if the current internal value is a valid v4 GUID.

    19 |

    Returns boolean

    true if its a valid v4 GUID value.

    20 |
  • toNumber(): number
  • 21 |

    Returns the object value as number.

    22 |

    Returns number

    the hex number representing the Guid value.

    23 |
  • toString(): string
  • 24 |

    Returns the object value as string.

    25 |

    Returns string

    the string representing the Guid value.

    26 |
  • 27 |

    Returns a new Guid object with an all zeroes internal value.

    28 |

    Returns Guid

    new Guid object with an internal value with all zeroes (an empty GUID, non valid).

    29 |
  • generate(generator?: Crypto): string
  • 30 |

    Generates a string with a valid GUID v4 value from a custom Crypto object or the defaults.

    31 |

    Parameters

    • Optional generator: Crypto

    Returns string

    a valid GUID v4 value as a string.

    32 |
  • generateRandomBytes(generator?: Crypto): Uint8Array
  • 33 |

    Generates an Uint8Array with 16 random values generated using the crypto object provided or the defaults.

    34 |

    Parameters

    • Optional generator: Crypto
      35 |

      is the Crypto implementation to use instead of the defaults.

      36 |

    Returns Uint8Array

    an Uint8Array with 16 random values.

    37 |
  • getCryptoImplementation(): undefined | Crypto
  • 38 |

    Returns the Crypto object that implements the Crypto API from the browser.

    39 |

    Returns undefined | Crypto

    Crypto object from the browser implementation.

    40 |
  • getCryptoRandomBytes(crypto: Crypto): Uint8Array
  • 41 |

    Generates an Uint8Array with 16 random values generated using the crypto object provided.

    42 |

    Parameters

    • crypto: Crypto
      43 |

      is the Crypto implementation to use to generate the random values to fill the array.

      44 |

    Returns Uint8Array

    an Uint8Array with 16 random values.

    45 |
  • getRandomBytes(): Uint8Array
  • 46 |

    Generates an Uint8Array with 16 random values generated using the Math.random() method.

    47 |

    Returns Uint8Array

    an Uint8Array with 16 random values.

    48 |
  • isValid(str: string): boolean
  • 49 |

    Checks if a string represents a valid v4 GUID.

    50 |

    Parameters

    • str: string

    Returns boolean

    true if its a valid v4 GUID value represented as string.

    51 |
  • newGuid(generator?: Crypto): Guid
  • 52 |

    Returns a Guid object with a random valid UUID v4 value. 53 | The method allows the use of a custom random value generator that implements the Crypto API. 54 | The internal guid value is generated using the provided generator (if any), if not provided, it attempts 55 | to generate random values from the Crypto API of the browser. If the browser does not support the Crypto API, 56 | Math.random() is used as a fallback to generate random values.

    57 |

    Parameters

    • Optional generator: Crypto

    Returns Guid

    A new Guid object with a valid random value generated by the provided generator or the defaults.

    58 |
  • setSpecialBytesForV4Guid(arr: Uint8Array): void
  • 59 |

    Sets the bytes of an Uint8Array to match the RFC definition of v4 GUIDs.

    60 |

    Parameters

    • arr: Uint8Array
      61 |

      is the array to be modified.

      62 |

    Returns void

Legend

  • Constructor
  • Method
  • Private property
  • Private method
  • Static method

Settings

Theme

Generated using TypeDoc

--------------------------------------------------------------------------------