├── LICENSE ├── README.md ├── docfx.json ├── docs ├── README.html ├── favicon.ico ├── index.json ├── logo.svg ├── manifest.json ├── mediatypes │ └── DOMFactory-pattern.html ├── methods.html ├── models │ ├── polymorphic.html │ └── union-types.html ├── path │ ├── category.html │ ├── collection.html │ ├── data-partition.html │ ├── function.html │ ├── item.html │ ├── key-value-pair.html │ ├── matrix.html │ ├── multi-segment.html │ ├── relationship.html │ └── version.html ├── public │ ├── bootstrap-icons-BNVXHMH5.woff │ ├── bootstrap-icons-UDRIHJCM.woff2 │ ├── c4Diagram-817c8e44-SGFOBFRD.min.js │ ├── c4Diagram-817c8e44-SGFOBFRD.min.js.map │ ├── chunk-334IV3XH.min.js │ ├── chunk-334IV3XH.min.js.map │ ├── chunk-3RELVOUY.min.js │ ├── chunk-3RELVOUY.min.js.map │ ├── chunk-CK25GZVZ.min.js │ ├── chunk-CK25GZVZ.min.js.map │ ├── chunk-CXT7N4L6.min.js │ ├── chunk-CXT7N4L6.min.js.map │ ├── chunk-DALFUHAB.min.js │ ├── chunk-DALFUHAB.min.js.map │ ├── chunk-EKFGDCJ4.min.js │ ├── chunk-EKFGDCJ4.min.js.map │ ├── chunk-F7JJDB3C.min.js │ ├── chunk-F7JJDB3C.min.js.map │ ├── chunk-I64Z623A.min.js │ ├── chunk-I64Z623A.min.js.map │ ├── chunk-P42HNYSU.min.js │ ├── chunk-P42HNYSU.min.js.map │ ├── chunk-U66T5BMR.min.js │ ├── chunk-U66T5BMR.min.js.map │ ├── chunk-YAMJ4ASO.min.js │ ├── chunk-YAMJ4ASO.min.js.map │ ├── chunk-YICCS3KT.min.js │ ├── chunk-YICCS3KT.min.js.map │ ├── classDiagram-48ab76fb-2NS2GWUH.min.js │ ├── classDiagram-48ab76fb-2NS2GWUH.min.js.map │ ├── classDiagram-v2-8ecb0bfc-NYCPINMQ.min.js │ ├── classDiagram-v2-8ecb0bfc-NYCPINMQ.min.js.map │ ├── docfx.min.css │ ├── docfx.min.css.map │ ├── docfx.min.js │ ├── docfx.min.js.map │ ├── erDiagram-9cfc3649-NX6WFSGQ.min.js │ ├── erDiagram-9cfc3649-NX6WFSGQ.min.js.map │ ├── es-BVOT75G5.min.js │ ├── es-BVOT75G5.min.js.map │ ├── flowDiagram-61eb444c-W2MZ7QST.min.js │ ├── flowDiagram-61eb444c-W2MZ7QST.min.js.map │ ├── flowDiagram-v2-2f8f667a-WVVXSXHH.min.js │ ├── flowDiagram-v2-2f8f667a-WVVXSXHH.min.js.map │ ├── flowchart-elk-definition-e097735e-EIOOWBCS.min.js │ ├── flowchart-elk-definition-e097735e-EIOOWBCS.min.js.map │ ├── ganttDiagram-db6931fb-KM4XNDUI.min.js │ ├── ganttDiagram-db6931fb-KM4XNDUI.min.js.map │ ├── gitGraphDiagram-6b463803-XW36YSNI.min.js │ ├── gitGraphDiagram-6b463803-XW36YSNI.min.js.map │ ├── infoDiagram-a336098b-M3EGNS5K.min.js │ ├── infoDiagram-a336098b-M3EGNS5K.min.js.map │ ├── journeyDiagram-deae3313-2YUPEA7J.min.js │ ├── journeyDiagram-deae3313-2YUPEA7J.min.js.map │ ├── lunr.ar-E7GAKDHK.min.js │ ├── lunr.ar-E7GAKDHK.min.js.map │ ├── lunr.da-WZCDGCDT.min.js │ ├── lunr.da-WZCDGCDT.min.js.map │ ├── lunr.de-7XZMXZII.min.js │ ├── lunr.de-7XZMXZII.min.js.map │ ├── lunr.du-QL47PPFK.min.js │ ├── lunr.du-QL47PPFK.min.js.map │ ├── lunr.el-6EBCVLMJ.min.js │ ├── lunr.el-6EBCVLMJ.min.js.map │ ├── lunr.es-4YT3M4ID.min.js │ ├── lunr.es-4YT3M4ID.min.js.map │ ├── lunr.fi-TLAOR23U.min.js │ ├── lunr.fi-TLAOR23U.min.js.map │ ├── lunr.fr-G4S422VA.min.js │ ├── lunr.fr-G4S422VA.min.js.map │ ├── lunr.he-J62KVQ3T.min.js │ ├── lunr.he-J62KVQ3T.min.js.map │ ├── lunr.hi-VEBDFZQ2.min.js │ ├── lunr.hi-VEBDFZQ2.min.js.map │ ├── lunr.hu-ZCNH23T6.min.js │ ├── lunr.hu-ZCNH23T6.min.js.map │ ├── lunr.hy-XFQCAWFO.min.js │ ├── lunr.hy-XFQCAWFO.min.js.map │ ├── lunr.it-43SEBRLN.min.js │ ├── lunr.it-43SEBRLN.min.js.map │ ├── lunr.ja-6645DQV5.min.js │ ├── lunr.ja-6645DQV5.min.js.map │ ├── lunr.jp-2KRE2L63.min.js │ ├── lunr.jp-2KRE2L63.min.js.map │ ├── lunr.kn-EGFANKI2.min.js │ ├── lunr.kn-EGFANKI2.min.js.map │ ├── lunr.ko-64QAI4XT.min.js │ ├── lunr.ko-64QAI4XT.min.js.map │ ├── lunr.nl-JVT7LKKG.min.js │ ├── lunr.nl-JVT7LKKG.min.js.map │ ├── lunr.no-SUO4TTOY.min.js │ ├── lunr.no-SUO4TTOY.min.js.map │ ├── lunr.pt-EAA2HV6I.min.js │ ├── lunr.pt-EAA2HV6I.min.js.map │ ├── lunr.ro-U2ICUNNF.min.js │ ├── lunr.ro-U2ICUNNF.min.js.map │ ├── lunr.ru-5AQBX5R2.min.js │ ├── lunr.ru-5AQBX5R2.min.js.map │ ├── lunr.sa-M7TYHLRJ.min.js │ ├── lunr.sa-M7TYHLRJ.min.js.map │ ├── lunr.sv-K3GSGWC2.min.js │ ├── lunr.sv-K3GSGWC2.min.js.map │ ├── lunr.ta-AKIPBQLC.min.js │ ├── lunr.ta-AKIPBQLC.min.js.map │ ├── lunr.te-OBAK5FVS.min.js │ ├── lunr.te-OBAK5FVS.min.js.map │ ├── lunr.th-LSQ6T65I.min.js │ ├── lunr.th-LSQ6T65I.min.js.map │ ├── lunr.tr-T3KKXR52.min.js │ ├── lunr.tr-T3KKXR52.min.js.map │ ├── lunr.vi-S3VOAA5A.min.js │ ├── lunr.vi-S3VOAA5A.min.js.map │ ├── main.css │ ├── main.js │ ├── mermaid.core-TOXYJXQE.min.js │ ├── mermaid.core-TOXYJXQE.min.js.map │ ├── mindmap-definition-617cf8dd-4PM2AKSZ.min.js │ ├── mindmap-definition-617cf8dd-4PM2AKSZ.min.js.map │ ├── pieDiagram-a5166659-EQCDURPM.min.js │ ├── pieDiagram-a5166659-EQCDURPM.min.js.map │ ├── quadrantDiagram-6c355bbc-H5XRRV3H.min.js │ ├── quadrantDiagram-6c355bbc-H5XRRV3H.min.js.map │ ├── requirementDiagram-4038b16c-35KSP34O.min.js │ ├── requirementDiagram-4038b16c-35KSP34O.min.js.map │ ├── sankeyDiagram-6db3d513-UAUVVQE6.min.js │ ├── sankeyDiagram-6db3d513-UAUVVQE6.min.js.map │ ├── search-worker.min.js │ ├── search-worker.min.js.map │ ├── sequenceDiagram-465a088a-72KISVBJ.min.js │ ├── sequenceDiagram-465a088a-72KISVBJ.min.js.map │ ├── stateDiagram-b620d43f-6XMSQQAT.min.js │ ├── stateDiagram-b620d43f-6XMSQQAT.min.js.map │ ├── stateDiagram-v2-2671c3d1-GBFY3N5Z.min.js │ ├── stateDiagram-v2-2671c3d1-GBFY3N5Z.min.js.map │ ├── tex-svg-full-3JRN7JHV.min.js │ ├── tex-svg-full-3JRN7JHV.min.js.map │ ├── timeline-definition-732a2638-NYHTUS3Z.min.js │ ├── timeline-definition-732a2638-NYHTUS3Z.min.js.map │ ├── xychartDiagram-f746c04c-RVX2Y5TN.min.js │ └── xychartDiagram-f746c04c-RVX2Y5TN.min.js.map ├── toc.html ├── toc.json ├── toc.pdf └── xrefmap.yml ├── mediatypes └── DOMFactory-pattern.md ├── methods.md ├── models ├── polymorphic.md └── union-types.md ├── path ├── category.md ├── collection.md ├── data-partition.md ├── function.md ├── item.md ├── key-value-pair.md ├── matrix.md ├── multi-segment.md ├── relationship.md └── version.md └── toc.yml /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Darrel 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 | -------------------------------------------------------------------------------- /docfx.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "content": [ 4 | { 5 | "files": [ 6 | "**/*.{md,yml}" 7 | ], 8 | "exclude": [ 9 | "docs/**" 10 | ] 11 | } 12 | ], 13 | "resource": [ 14 | { 15 | "files": [ 16 | "images/**", 17 | "**/*.html" 18 | ] 19 | } 20 | ], 21 | "output": "docs", 22 | "template": [ 23 | "default", 24 | "modern" 25 | ], 26 | "globalMetadata": { 27 | "_appName": "api-anatomy", 28 | "_appTitle": "API Anatomy", 29 | "_enableSearch": true, 30 | "_disableNavbar": false, 31 | "_disableContribution": true, 32 | "_disableNextArticle": true, 33 | "pdf": true 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APIPatterns/api-anatomy/7c5250ce89a0bdb7efc67b5bed14e6c30cfc6e0d/docs/favicon.ico -------------------------------------------------------------------------------- /docs/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by Docfx 9 | 10 | 12 | 15 | 21 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "source_base_path": "C:/Users/darrmi/src/github/APIPatterns/api-anatomy", 3 | "xrefmap": "xrefmap.yml", 4 | "files": [ 5 | { 6 | "type": "Resource", 7 | "output": { 8 | "resource": { 9 | "relative_path": "index.json" 10 | } 11 | } 12 | }, 13 | { 14 | "type": "Conceptual", 15 | "source_relative_path": "README.md", 16 | "output": { 17 | ".html": { 18 | "relative_path": "README.html" 19 | } 20 | }, 21 | "version": "" 22 | }, 23 | { 24 | "type": "Conceptual", 25 | "source_relative_path": "mediatypes/DOMFactory-pattern.md", 26 | "output": { 27 | ".html": { 28 | "relative_path": "mediatypes/DOMFactory-pattern.html" 29 | } 30 | }, 31 | "version": "" 32 | }, 33 | { 34 | "type": "Conceptual", 35 | "source_relative_path": "methods.md", 36 | "output": { 37 | ".html": { 38 | "relative_path": "methods.html" 39 | } 40 | }, 41 | "version": "" 42 | }, 43 | { 44 | "type": "Conceptual", 45 | "source_relative_path": "models/polymorphic.md", 46 | "output": { 47 | ".html": { 48 | "relative_path": "models/polymorphic.html" 49 | } 50 | }, 51 | "version": "" 52 | }, 53 | { 54 | "type": "Conceptual", 55 | "source_relative_path": "models/union-types.md", 56 | "output": { 57 | ".html": { 58 | "relative_path": "models/union-types.html" 59 | } 60 | }, 61 | "version": "" 62 | }, 63 | { 64 | "type": "Conceptual", 65 | "source_relative_path": "path/category.md", 66 | "output": { 67 | ".html": { 68 | "relative_path": "path/category.html" 69 | } 70 | }, 71 | "version": "" 72 | }, 73 | { 74 | "type": "Conceptual", 75 | "source_relative_path": "path/collection.md", 76 | "output": { 77 | ".html": { 78 | "relative_path": "path/collection.html" 79 | } 80 | }, 81 | "version": "" 82 | }, 83 | { 84 | "type": "Conceptual", 85 | "source_relative_path": "path/data-partition.md", 86 | "output": { 87 | ".html": { 88 | "relative_path": "path/data-partition.html" 89 | } 90 | }, 91 | "version": "" 92 | }, 93 | { 94 | "type": "Conceptual", 95 | "source_relative_path": "path/function.md", 96 | "output": { 97 | ".html": { 98 | "relative_path": "path/function.html" 99 | } 100 | }, 101 | "version": "" 102 | }, 103 | { 104 | "type": "Conceptual", 105 | "source_relative_path": "path/item.md", 106 | "output": { 107 | ".html": { 108 | "relative_path": "path/item.html" 109 | } 110 | }, 111 | "version": "" 112 | }, 113 | { 114 | "type": "Conceptual", 115 | "source_relative_path": "path/key-value-pair.md", 116 | "output": { 117 | ".html": { 118 | "relative_path": "path/key-value-pair.html" 119 | } 120 | }, 121 | "version": "" 122 | }, 123 | { 124 | "type": "Conceptual", 125 | "source_relative_path": "path/matrix.md", 126 | "output": { 127 | ".html": { 128 | "relative_path": "path/matrix.html" 129 | } 130 | }, 131 | "version": "" 132 | }, 133 | { 134 | "type": "Conceptual", 135 | "source_relative_path": "path/multi-segment.md", 136 | "output": { 137 | ".html": { 138 | "relative_path": "path/multi-segment.html" 139 | } 140 | }, 141 | "version": "" 142 | }, 143 | { 144 | "type": "Conceptual", 145 | "source_relative_path": "path/relationship.md", 146 | "output": { 147 | ".html": { 148 | "relative_path": "path/relationship.html" 149 | } 150 | }, 151 | "version": "" 152 | }, 153 | { 154 | "type": "Conceptual", 155 | "source_relative_path": "path/version.md", 156 | "output": { 157 | ".html": { 158 | "relative_path": "path/version.html" 159 | } 160 | }, 161 | "version": "" 162 | }, 163 | { 164 | "type": "Toc", 165 | "source_relative_path": "toc.yml", 166 | "output": { 167 | ".html": { 168 | "relative_path": "toc.html" 169 | }, 170 | ".json": { 171 | "relative_path": "toc.json" 172 | } 173 | }, 174 | "version": "" 175 | } 176 | ], 177 | "groups": [ 178 | { 179 | "xrefmap": "xrefmap.yml" 180 | } 181 | ] 182 | } -------------------------------------------------------------------------------- /docs/methods.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | HTTP Methods | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

HTTP Methods

88 | 89 |

API consumers interact with resources in an API using HTTP Methods. There is a limited set of supported HTTP methods that can be reused across many resources. Not every resource supports every method.

90 |
graph LR
 91 | GET --> g200[200] --> Get
 92 | GET --> g200[200] --> Function
 93 | GET --> g204[204] --> Ping
 94 | GET --> g202[202] --> Report
 95 | POST --> po201[201] --> Create
 96 | POST --> po200[200] --> Action
 97 | POST --> po204[204] --> FireAndForget
 98 | POST --> po202[202] --> Job
 99 | PUT --> pu200[200] --> Replace
100 | PUT --> pu204[204] --> ReplaceNoResponse
101 | PUT --> pu200-201[200,201] --> ReplaceOrCreate
102 | PATCH --> pa200-201[200,201] --> UpdateOrCreate
103 | PATCH --> pa200-201-204[200,201,204] --> UpdateOrCreateNoResponse
104 | 
105 | 
106 | 
107 | 108 |
109 | 110 | 111 | 112 |
113 | 114 |
115 | 116 |
117 |
118 | 119 |
120 | 121 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /docs/models/polymorphic.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Polymorphic Responses | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Polymorphic Responses

88 | 89 |
    90 |
  • Representing inheritance
  • 91 |
  • Inline schemas with a single allOf for the base type
  • 92 |
  • Array of anyOfs with one being the base type (why oneOf is likely wrong)
  • 93 |
94 |

Simulating inheritance using allOf.

95 |
components:
 96 |   schemas:
 97 |     cat:
 98 |         type: object
 99 |         allOf: 
100 |             - $ref: "#/components/schemas/animal"
101 |     animal:
102 |         type: object
103 |         properties:
104 |           species:
105 |             type: string
106 | 
107 |

Any allOf constraint with a single $ref array member is considered a declaration of a base type.

108 |
    109 |
  1. Given a schema
  2. 110 |
  3. If schema is a component type, name equals component name 111 | else type name is generated based on some context
  4. 112 |
  5. If schema contains allOf and other "important properties???", 113 | 2a. If allOf has one child schema that is a $ref, $ref points to base type 114 | else merge the allOfs into the current type 115 | 2b. if schema contains oneOf. Throw up hands.
  6. 116 |
  7. if schema contains oneOf or anyOf 117 | 4a. create wrapper class called ??? 118 | 4b. Create properties that correstpond to child schemas 119 | - primitives use the type name 120 | - objects use the paths and other context to construct "best possible names".
  8. 121 |
122 |

Still to investigate:

123 |

Nested allOfs 124 | allOf primitive types? 125 | Should anyOf and oneOf be treated different for modelling

126 |

Kiota => anyOf with shared properties actually deserialize the property twice.

127 |

Proposing new keywords

128 |
components:
129 |   schemas:
130 |     foo:  
131 |       allOfAsExtends: # inheritance
132 |         - $ref: '#/components/schemas/base'
133 |         - $ref: '#/components/schemas/Otherbase'
134 |       allOf:   # spread
135 |         - $ref: '#/components/schemas/creationInfo'
136 | 
137 |

Simulating using anyOf..

138 |

139 | paths: 
140 |     /felines/{id}:
141 |         responses:
142 |             200:
143 |               description: ok
144 |               schema:
145 |                 title: feline
146 |                 anyOf:
147 |                   - $ref: "#/components/animal"
148 |                   - $ref: "#/components/cat"
149 |                   - $ref: "#/components/tiger"                  
150 | components:
151 |   schemas:
152 |     dog:
153 |         type: object
154 |     tiger:
155 |         type: object
156 |     cat:
157 |         type: object
158 |     animal:
159 |         type: object
160 |         properties:
161 |           species:
162 |             type: string
163 |     
164 | 
165 | 166 |
167 | 168 | 169 | 170 |
171 | 172 |
173 | 174 |
175 |
176 | 177 |
178 | 179 | 186 | 187 | 188 | -------------------------------------------------------------------------------- /docs/models/union-types.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 | 88 |
    89 |
  • Union type with primitives
  • 90 |
  • Union type with arrays
  • 91 |
  • Union type with objects
  • 92 |
93 |

 94 | components:
 95 |   schemas:
 96 |     primitives:
 97 |       oneOf:
 98 |         - type: string
 99 |         - type: number
100 | 
101 | 
102 | 103 |
104 | 105 | 106 | 107 |
108 | 109 |
110 | 111 |
112 |
113 | 114 |
115 | 116 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /docs/path/category.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Category Path Segment | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Category Path Segment

88 | 89 |

For large APIs with many resources it is often useful to group related resources under a category path segment. Generally this kind of path segment would appear early in the URL.

90 |
openapi: 3.0.3
 91 | info:
 92 |   title: "Accounting path segment used to group related resources"
 93 |   version: "1.0.0"
 94 | servers:
 95 |   - url: https://api.example.org/
 96 | paths: 
 97 |   /accounting/invoices:
 98 |     get:
 99 |       responses:
100 |         200: 
101 |           description: ok
102 |   /accounting/generalLedger:
103 |     get:
104 |       responses:
105 |         200: 
106 |           description: ok
107 |   /accounting/accounts:
108 |     get:
109 |       responses:
110 |         200: 
111 |           description: ok
112 | 
113 |

A category segment can be used as an alternative to creating separate APIs for each of the categories.

114 | 115 |
116 | 117 | 118 | 119 |
120 | 121 |
122 | 123 |
124 |
125 | 126 |
127 | 128 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /docs/path/collection.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Collection Path Segment | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Collection Path Segment

88 | 89 |
    90 |
  • Filters
  • 91 |
  • ordering
  • 92 |
  • collection level actions
  • 93 |
  • item relationship
  • 94 |
  • PATCH
  • 95 |
  • POST
  • 96 |
97 | 98 |
99 | 100 | 101 | 102 |
103 | 104 |
105 | 106 |
107 |
108 | 109 |
110 | 111 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /docs/path/data-partition.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Data Partition Path Segment | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Data Partition Path Segment

88 | 89 |

For SAAS APIs, there is often a unique set of data for each API consumer customer. A data partition path segment can be used to distinguish between data the different sets of data. Using the path to make this distinction in case there is future need to reference data from multiple datasets in a single application.

90 |
openapi: 3.0.0
 91 | info:
 92 |   title: "Accounting path segment used to group related resources"
 93 |   version: "1.0.0"
 94 | servers:
 95 |   - url: https://api.example.org/
 96 | paths: 
 97 |   /{datapartition}/invoices:
 98 |     parameters:
 99 |       - $ref: "#/components/parameters/datapartition"
100 |     get:
101 |       responses:
102 |         200: 
103 |           description: ok
104 |   /{datapartition}/generalLedger:
105 |     parameters:
106 |       - $ref: "#/components/parameters/datapartition"
107 |     get:
108 |       responses:
109 |         200: 
110 |           description: ok
111 |   /{datapartition}/accounts:
112 |     parameters:
113 |       - $ref: "#/components/parameters/datapartition"
114 |     get:
115 |       responses:
116 |         200: 
117 |           description: ok
118 | components:
119 |   parameters:
120 |     datapartition:
121 |       name: datapartition
122 |       in: path
123 |       required: true
124 |       schema:
125 |         type: string
126 | 
127 | 
128 |

As a data partition would generally apply to all resources in an API, it could also be modelled as a aerver variable in OpenAPI.

129 |
openapi: 3.0.0
130 | info:
131 |   title: "Accounting path segment used to group related resources"
132 |   version: "1.0.0"
133 | servers:
134 |   - url: https://example.org/{datapartition}/
135 |     variables:
136 |       datapartition:
137 |         default: sandbox
138 |         description: A sandbox dataset used for testing API calls
139 | paths: 
140 |   /invoices:
141 |     get:
142 |       responses:
143 |         200: 
144 |           description: ok
145 |   /generalLedger:
146 |     get:
147 |       responses:
148 |         200: 
149 |           description: ok
150 |   /accounts:
151 |     get:
152 |       responses:
153 |         200: 
154 |           description: ok
155 | 
156 |

One disadvantage of this approach is that it is OpenAPI does not provide rich facilities facilities for describing as server variable, like it does for parameters.

157 | 158 |
159 | 160 | 161 | 162 |
163 | 164 |
165 | 166 |
167 |
168 | 169 |
170 | 171 | 178 | 179 | 180 | -------------------------------------------------------------------------------- /docs/path/function.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 | 88 | 89 |
90 | 91 | 92 | 93 |
94 | 95 |
96 | 97 |
98 |
99 | 100 |
101 | 102 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /docs/path/item.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Item key path parameters | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Item key path parameters

88 | 89 | 90 |
91 | 92 | 93 | 94 |
95 | 96 |
97 | 98 |
99 |
100 | 101 |
102 | 103 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs/path/key-value-pair.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Key Value Pair Path Segments | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Key Value Pair Path Segments

88 | 89 | 90 |
91 | 92 | 93 | 94 |
95 | 96 |
97 | 98 |
99 |
100 | 101 |
102 | 103 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs/path/matrix.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Matrix Parameters in a Path Segment | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Matrix Parameters in a Path Segment

88 | 89 | 90 |
91 | 92 | 93 | 94 |
95 | 96 |
97 | 98 |
99 |
100 | 101 |
102 | 103 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs/path/multi-segment.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Multi-segment path parameters | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Multi-segment path parameters

88 | 89 | 90 |
91 | 92 | 93 | 94 |
95 | 96 |
97 | 98 |
99 |
100 | 101 |
102 | 103 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /docs/path/relationship.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Relationship Path Segmnent | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Relationship Path Segmnent

88 | 89 |

It is common for resources in an API to have some kind of relationship such as "parent-child" or "has a" relationship.

90 | 91 |
92 | 93 | 94 | 95 |
96 | 97 |
98 | 99 |
100 |
101 | 102 |
103 | 104 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /docs/path/version.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Version Path Segment | API Anatomy 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 39 | 40 | 41 | 42 |
43 | 62 |
63 | 64 |
65 |
66 |
67 |
68 |
Table of Contents
69 | 70 |
71 |
72 | 73 |
74 |
75 |
76 | 77 |
78 |
79 | 82 | 83 | 84 |
85 | 86 |
87 |

Version Path Segment

88 | 89 |

It is common for APIs to be designed with one of the left-most path segments being reserved for a version identifier. Numerous API design guidelines describe this as a best practice. It does make it easier for the API provider to introduce a significant amount of breaking changes, however the burden is transfered to the API consumer who must accomodate all the new changes in order to take advantage of any new change.

90 |
openapi: 3.0.3
 91 | info:
 92 |   title: "Version path segment at the front"
 93 |   version: "1.0.0"
 94 | servers:
 95 |   - url: https://api.example.org/
 96 | paths: 
 97 |   /{version}/invoices:
 98 |     get:
 99 |       responses:
100 |         200: 
101 |           description: ok
102 |   /{version}/customers:
103 |     get:
104 |       responses:
105 |         200: 
106 |           description: ok
107 | 
108 |

If the version segment is the left most path segment and is used for all paths, it can be represented as a server variable.

109 |
openapi: 3.0.3
110 | info:
111 |   title: "Version path segment at the front"
112 |   version: "1.0.0"
113 | servers:
114 |   - url: https://api.example.org/{version}/
115 |     variables:
116 |       version:
117 |         default: "1.0"
118 |         enum:
119 |           - "1.0"
120 |           - "2.0"
121 | paths: 
122 |   /invoices:
123 |     get:
124 |       responses:
125 |         200: 
126 |           description: ok
127 |   /customers:
128 |     get:
129 |       responses:
130 |         200: 
131 |           description: ok
132 | 
133 | 134 |
135 | 136 | 137 | 138 |
139 | 140 |
141 | 142 |
143 |
144 | 145 |
146 | 147 | 154 | 155 | 156 | -------------------------------------------------------------------------------- /docs/public/bootstrap-icons-BNVXHMH5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APIPatterns/api-anatomy/7c5250ce89a0bdb7efc67b5bed14e6c30cfc6e0d/docs/public/bootstrap-icons-BNVXHMH5.woff -------------------------------------------------------------------------------- /docs/public/bootstrap-icons-UDRIHJCM.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APIPatterns/api-anatomy/7c5250ce89a0bdb7efc67b5bed14e6c30cfc6e0d/docs/public/bootstrap-icons-UDRIHJCM.woff2 -------------------------------------------------------------------------------- /docs/public/chunk-334IV3XH.min.js: -------------------------------------------------------------------------------- 1 | import{b as k}from"./chunk-P42HNYSU.min.js";var v=k((h,j)=>{(function(e,n){typeof define=="function"&&define.amd?define(n):typeof h=="object"?j.exports=n():n()(e.lunr)})(h,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var n=e.version[0]=="2";e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),n?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var F=new e.TinySegmenter;e.ja.tokenizer=function(s){var t,i,f,o,a,d,g,p,r,c;if(!arguments.length||s==null||s==null)return[];if(Array.isArray(s))return s.map(function(m){return n?new e.Token(m.toLowerCase()):m.toLowerCase()});for(i=s.toString().toLowerCase().replace(/^\s+/,""),t=i.length-1;t>=0;t--)if(/\S/.test(i.charAt(t))){i=i.substring(0,t+1);break}for(a=[],f=i.length,r=0,p=0;r<=f;r++)if(d=i.charAt(r),g=r-p,d.match(/\s/)||r==f){if(g>0)for(o=F.segment(i.slice(p,r)).filter(function(m){return!!m}),c=p,t=0;t{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(let e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},h=(s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};x(s,r).lower()},y=(s,t)=>{let r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);let n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},p=(s,t,r,e)=>{let n=s.append("image");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",a)},g=(s,t,r,e)=>{let n=s.append("use");n.attr("x",t),n.attr("y",r);let a=(0,i.sanitizeUrl)(e);n.attr("xlink:href",`#${a}`)},m=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),f=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,h as b,y as c,p as d,g as e,m as f,f as g}; 2 | //# sourceMappingURL=chunk-F7JJDB3C.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-F7JJDB3C.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/svgDrawCommon-ad5ef572.js"], 4 | "sourcesContent": ["import { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport { H as lineBreakRegex } from \"./mermaid-934d9bea.js\";\nconst drawRect = (element, rectData) => {\n const rectElement = element.append(\"rect\");\n rectElement.attr(\"x\", rectData.x);\n rectElement.attr(\"y\", rectData.y);\n rectElement.attr(\"fill\", rectData.fill);\n rectElement.attr(\"stroke\", rectData.stroke);\n rectElement.attr(\"width\", rectData.width);\n rectElement.attr(\"height\", rectData.height);\n rectData.rx !== void 0 && rectElement.attr(\"rx\", rectData.rx);\n rectData.ry !== void 0 && rectElement.attr(\"ry\", rectData.ry);\n if (rectData.attrs !== void 0) {\n for (const attrKey in rectData.attrs) {\n rectElement.attr(attrKey, rectData.attrs[attrKey]);\n }\n }\n rectData.class !== void 0 && rectElement.attr(\"class\", rectData.class);\n return rectElement;\n};\nconst drawBackgroundRect = (element, bounds) => {\n const rectData = {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n stroke: bounds.stroke,\n class: \"rect\"\n };\n const rectElement = drawRect(element, rectData);\n rectElement.lower();\n};\nconst drawText = (element, textData) => {\n const nText = textData.text.replace(lineBreakRegex, \" \");\n const textElem = element.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n textData.class !== void 0 && textElem.attr(\"class\", textData.class);\n const tspan = textElem.append(\"tspan\");\n tspan.attr(\"x\", textData.x + textData.textMargin * 2);\n tspan.text(nText);\n return textElem;\n};\nconst drawImage = (elem, x, y, link) => {\n const imageElement = elem.append(\"image\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", sanitizedLink);\n};\nconst drawEmbeddedImage = (element, x, y, link) => {\n const imageElement = element.append(\"use\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", `#${sanitizedLink}`);\n};\nconst getNoteRect = () => {\n const noteRectData = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n fill: \"#EDF2AE\",\n stroke: \"#666\",\n anchor: \"start\",\n rx: 0,\n ry: 0\n };\n return noteRectData;\n};\nconst getTextObj = () => {\n const testObject = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n \"text-anchor\": \"start\",\n style: \"#666\",\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true\n };\n return testObject;\n};\nexport {\n drawBackgroundRect as a,\n drawEmbeddedImage as b,\n drawImage as c,\n drawRect as d,\n getTextObj as e,\n drawText as f,\n getNoteRect as g\n};\n"], 5 | "mappings": "gGAAA,IAAAA,EAA4B,SAE5B,IAAMC,EAAW,CAACC,EAASC,IAAa,CACtC,IAAMC,EAAcF,EAAQ,OAAO,MAAM,EASzC,GARAE,EAAY,KAAK,IAAKD,EAAS,CAAC,EAChCC,EAAY,KAAK,IAAKD,EAAS,CAAC,EAChCC,EAAY,KAAK,OAAQD,EAAS,IAAI,EACtCC,EAAY,KAAK,SAAUD,EAAS,MAAM,EAC1CC,EAAY,KAAK,QAASD,EAAS,KAAK,EACxCC,EAAY,KAAK,SAAUD,EAAS,MAAM,EAC1CA,EAAS,KAAO,QAAUC,EAAY,KAAK,KAAMD,EAAS,EAAE,EAC5DA,EAAS,KAAO,QAAUC,EAAY,KAAK,KAAMD,EAAS,EAAE,EACxDA,EAAS,QAAU,OACrB,QAAWE,KAAWF,EAAS,MAC7BC,EAAY,KAAKC,EAASF,EAAS,MAAME,CAAO,CAAC,EAGrD,OAAAF,EAAS,QAAU,QAAUC,EAAY,KAAK,QAASD,EAAS,KAAK,EAC9DC,CACT,EACME,EAAqB,CAACJ,EAASK,IAAW,CAC9C,IAAMJ,EAAW,CACf,EAAGI,EAAO,OACV,EAAGA,EAAO,OACV,MAAOA,EAAO,MAAQA,EAAO,OAC7B,OAAQA,EAAO,MAAQA,EAAO,OAC9B,KAAMA,EAAO,KACb,OAAQA,EAAO,OACf,MAAO,MACT,EACoBN,EAASC,EAASC,CAAQ,EAClC,MAAM,CACpB,EACMK,EAAW,CAACN,EAASO,IAAa,CACtC,IAAMC,EAAQD,EAAS,KAAK,QAAQE,EAAgB,GAAG,EACjDC,EAAWV,EAAQ,OAAO,MAAM,EACtCU,EAAS,KAAK,IAAKH,EAAS,CAAC,EAC7BG,EAAS,KAAK,IAAKH,EAAS,CAAC,EAC7BG,EAAS,KAAK,QAAS,QAAQ,EAC/BA,EAAS,MAAM,cAAeH,EAAS,MAAM,EAC7CA,EAAS,QAAU,QAAUG,EAAS,KAAK,QAASH,EAAS,KAAK,EAClE,IAAMI,EAAQD,EAAS,OAAO,OAAO,EACrC,OAAAC,EAAM,KAAK,IAAKJ,EAAS,EAAIA,EAAS,WAAa,CAAC,EACpDI,EAAM,KAAKH,CAAK,EACTE,CACT,EACME,EAAY,CAACC,EAAMC,EAAGC,EAAGC,IAAS,CACtC,IAAMC,EAAeJ,EAAK,OAAO,OAAO,EACxCI,EAAa,KAAK,IAAKH,CAAC,EACxBG,EAAa,KAAK,IAAKF,CAAC,EACxB,IAAMG,KAAgB,eAAYF,CAAI,EACtCC,EAAa,KAAK,aAAcC,CAAa,CAC/C,EACMC,EAAoB,CAACnB,EAASc,EAAGC,EAAGC,IAAS,CACjD,IAAMC,EAAejB,EAAQ,OAAO,KAAK,EACzCiB,EAAa,KAAK,IAAKH,CAAC,EACxBG,EAAa,KAAK,IAAKF,CAAC,EACxB,IAAMG,KAAgB,eAAYF,CAAI,EACtCC,EAAa,KAAK,aAAc,IAAIC,CAAa,EAAE,CACrD,EACME,EAAc,KACG,CACnB,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,IACR,KAAM,UACN,OAAQ,OACR,OAAQ,QACR,GAAI,EACJ,GAAI,CACN,GAGIC,EAAa,KACE,CACjB,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,IACR,cAAe,QACf,MAAO,OACP,WAAY,EACZ,GAAI,EACJ,GAAI,EACJ,MAAO,EACT", 6 | "names": ["import_sanitize_url", "drawRect", "element", "rectData", "rectElement", "attrKey", "drawBackgroundRect", "bounds", "drawText", "textData", "nText", "lineBreakRegex", "textElem", "tspan", "drawImage", "elem", "x", "y", "link", "imageElement", "sanitizedLink", "drawEmbeddedImage", "getNoteRect", "getTextObj"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/chunk-P42HNYSU.min.js: -------------------------------------------------------------------------------- 1 | var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d}; 2 | //# sourceMappingURL=chunk-P42HNYSU.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/chunk-P42HNYSU.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/classDiagram-v2-8ecb0bfc-NYCPINMQ.min.js: -------------------------------------------------------------------------------- 1 | import{a as M,b as T,c as R}from"./chunk-CXT7N4L6.min.js";import{a as I}from"./chunk-YAMJ4ASO.min.js";import"./chunk-3RELVOUY.min.js";import"./chunk-DALFUHAB.min.js";import{j as A}from"./chunk-EKFGDCJ4.min.js";import{F as S,Ga as d,J as V,La as L,Qa as N,Ra as B,Za as G,ab as z,b as F,c as H,h as g,jb as i}from"./chunk-YICCS3KT.min.js";import{d as k}from"./chunk-P42HNYSU.min.js";var ot=k(F(),1),lt=k(H(),1),nt=k(V(),1);var E=n=>L.sanitizeText(n,i()),D={dividerMargin:10,padding:5,textHeight:10,curve:void 0},W=function(n,e,y,s){let t=Object.keys(n);d.info("keys:",t),d.info(n),t.forEach(function(r){var o,c;let l=n[r],p={shape:"rect",id:l.id,domId:l.domId,labelText:E(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=i().flowchart)==null?void 0:o.padding)??((c=i().class)==null?void 0:c.padding)};e.setNode(l.id,p),$(l.classes,e,y,s,l.id),d.info("setNode",p)})},$=function(n,e,y,s,t){let r=Object.keys(n);d.info("keys:",r),d.info(n),r.filter(o=>n[o].parent==t).forEach(function(o){var c,l;let a=n[o],p=a.cssClasses.join(" "),f={labelStyle:"",style:""},h=a.label??a.id,b=0,m="class_box",u={labelStyle:f.labelStyle,shape:m,labelText:E(h),classData:a,rx:b,ry:b,class:p,style:f.style,id:a.id,domId:a.domId,tooltip:s.db.getTooltip(a.id,t)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:((c=i().flowchart)==null?void 0:c.padding)??((l=i().class)==null?void 0:l.padding)};e.setNode(a.id,u),t&&e.setParent(a.id,t),d.info("setNode",u)})},J=function(n,e,y,s){d.info(n),n.forEach(function(t,r){var o,c;let l=t,a="",p={labelStyle:"",style:""},f=l.text,h=0,b="note",m={labelStyle:p.labelStyle,shape:b,labelText:E(f),noteData:l,rx:h,ry:h,class:a,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=i().flowchart)==null?void 0:o.padding)??((c=i().class)==null?void 0:c.padding)};if(e.setNode(l.id,m),d.info("setNode",m),!l.class||!(l.class in s))return;let u=y+r,x={id:`edgeNote${u}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:N(D.curve,S)};e.setEdge(l.id,l.class,x,u)})},K=function(n,e){let y=i().flowchart,s=0;n.forEach(function(t){var r;s++;let o={classes:"relation",pattern:t.relation.lineType==1?"dashed":"solid",id:"id"+s,arrowhead:t.type==="arrow_open"?"none":"normal",startLabelRight:t.relationTitle1==="none"?"":t.relationTitle1,endLabelLeft:t.relationTitle2==="none"?"":t.relationTitle2,arrowTypeStart:P(t.relation.type1),arrowTypeEnd:P(t.relation.type2),style:"fill:none",labelStyle:"",curve:N(y?.curve,S)};if(d.info(o,t),t.style!==void 0){let c=B(t.style);o.style=c.style,o.labelStyle=c.labelStyle}t.text=t.title,t.text===void 0?t.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((r=i().flowchart)==null?void 0:r.htmlLabels)??i().htmlLabels?(o.labelType="html",o.label=''+t.text+""):(o.labelType="text",o.label=t.text.replace(L.lineBreakRegex,` 2 | `),t.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),e.setEdge(t.id1,t.id2,o,s)})},Q=function(n){D={...D,...n}},U=async function(n,e,y,s){d.info("Drawing class - ",e);let t=i().flowchart??i().class,r=i().securityLevel;d.info("config:",t);let o=t?.nodeSpacing??50,c=t?.rankSpacing??50,l=new A({multigraph:!0,compound:!0}).setGraph({rankdir:s.db.getDirection(),nodesep:o,ranksep:c,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=s.db.getNamespaces(),p=s.db.getClasses(),f=s.db.getRelations(),h=s.db.getNotes();d.info(f),W(a,l,e,s),$(p,l,e,s),K(f,l),J(h,l,f.length+1,p);let b;r==="sandbox"&&(b=g("#i"+e));let m=r==="sandbox"?g(b.nodes()[0].contentDocument.body):g("body"),u=m.select(`[id="${e}"]`),x=m.select("#"+e+" g");if(await I(x,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),G.insertTitle(u,"classTitleText",t?.titleTopMargin??5,s.db.getDiagramTitle()),z(l,u,t?.diagramPadding,t?.useMaxWidth),!t?.htmlLabels){let _=r==="sandbox"?b.nodes()[0].contentDocument:document,q=_.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(let w of q){let C=w.getBBox(),v=_.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",C.width),v.setAttribute("height",C.height),w.insertBefore(v,w.firstChild)}}};function P(n){let e;switch(n){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}var X={setConf:Q,draw:U},it={parser:M,db:T,renderer:X,styles:R,init:n=>{n.class||(n.class={}),n.class.arrowMarkerAbsolute=n.arrowMarkerAbsolute,T.clear()}};export{it as diagram}; 3 | //# sourceMappingURL=classDiagram-v2-8ecb0bfc-NYCPINMQ.min.js.map 4 | -------------------------------------------------------------------------------- /docs/public/flowDiagram-v2-2f8f667a-WVVXSXHH.min.js: -------------------------------------------------------------------------------- 1 | import{g as i,h as p}from"./chunk-U66T5BMR.min.js";import"./chunk-YAMJ4ASO.min.js";import{a as m,b as o}from"./chunk-I64Z623A.min.js";import"./chunk-3RELVOUY.min.js";import"./chunk-DALFUHAB.min.js";import"./chunk-EKFGDCJ4.min.js";import{J as l,b as a,c as s,kb as e}from"./chunk-YICCS3KT.min.js";import{d as t}from"./chunk-P42HNYSU.min.js";var g=t(a(),1),n=t(s(),1),c=t(l(),1);var y={parser:m,db:o,renderer:i,styles:p,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,e({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),i.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{y as diagram}; 2 | //# sourceMappingURL=flowDiagram-v2-2f8f667a-WVVXSXHH.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/flowDiagram-v2-2f8f667a-WVVXSXHH.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/flowDiagram-v2-2f8f667a.js"], 4 | "sourcesContent": ["import { p as parser, f as flowDb } from \"./flowDb-170db09d.js\";\nimport { f as flowRendererV2, a as flowStyles } from \"./styles-b966c4ae.js\";\nimport { p as setConfig } from \"./mermaid-934d9bea.js\";\nimport \"d3\";\nimport \"dagre-d3-es/src/graphlib/index.js\";\nimport \"./index-67a42d7d.js\";\nimport \"dagre-d3-es/src/dagre/index.js\";\nimport \"dagre-d3-es/src/graphlib/json.js\";\nimport \"./edges-80f1ebb6.js\";\nimport \"./createText-aebacdfe.js\";\nimport \"mdast-util-from-markdown\";\nimport \"ts-dedent\";\nimport \"dagre-d3-es/src/dagre-js/label/add-html-label.js\";\nimport \"khroma\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nconst diagram = {\n parser,\n db: flowDb,\n renderer: flowRendererV2,\n styles: flowStyles,\n init: (cnf) => {\n if (!cnf.flowchart) {\n cnf.flowchart = {};\n }\n cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n setConfig({ flowchart: { arrowMarkerAbsolute: cnf.arrowMarkerAbsolute } });\n flowRendererV2.setConf(cnf.flowchart);\n flowDb.clear();\n flowDb.setGen(\"gen-2\");\n }\n};\nexport {\n diagram\n};\n"], 5 | "mappings": "oVAcA,IAAAA,EAAO,SACPC,EAAO,SACPC,EAAO,SAKP,IAAMC,EAAU,CACd,OAAAC,EACA,GAAIC,EACJ,SAAUC,EACV,OAAQC,EACR,KAAOC,GAAQ,CACRA,EAAI,YACPA,EAAI,UAAY,CAAC,GAEnBA,EAAI,UAAU,oBAAsBA,EAAI,oBACxCC,EAAU,CAAE,UAAW,CAAE,oBAAqBD,EAAI,mBAAoB,CAAE,CAAC,EACzEF,EAAe,QAAQE,EAAI,SAAS,EACpCH,EAAO,MAAM,EACbA,EAAO,OAAO,OAAO,CACvB,CACF", 6 | "names": ["import_dayjs", "import_sanitize_url", "import_dompurify", "diagram", "parser$1", "flowDb", "flowRendererV2", "flowStyles", "cnf", "setConfig"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/infoDiagram-a336098b-M3EGNS5K.min.js: -------------------------------------------------------------------------------- 1 | import{$a as R,Ga as N,J as q,b as V,c as X,nb as z}from"./chunk-YICCS3KT.min.js";import{d as O}from"./chunk-P42HNYSU.min.js";var et=O(V(),1),it=O(X(),1);var st=O(q(),1);var P=function(){var a=function(u,t,e,i){for(e=e||{},i=u.length;i--;e[u[i]]=t);return e},f=[6,9,10],_={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,i,s,r,n,d){switch(n.length-1,r){case 1:return s;case 4:break;case 6:s.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},a(f,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},a(f,[2,3]),a(f,[2,4]),a(f,[2,5]),a(f,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],s=[],r=[null],n=[],d=this.table,L="",v=0,T=0,Y=2,F=1,D=n.slice.call(arguments,1),o=Object.create(this.lexer),p={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(p.yy[E]=this.yy[E]);o.setInput(t,p.yy),p.yy.lexer=o,p.yy.parser=this,typeof o.yylloc>"u"&&(o.yylloc={});var I=o.yylloc;n.push(I);var M=o.options&&o.options.ranges;typeof p.yy.parseError=="function"?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function B(){var y;return y=s.pop()||o.lex()||F,typeof y!="number"&&(y instanceof Array&&(s=y,y=s.pop()),y=e.symbols_[y]||y),y}for(var l,g,h,w,m={},b,c,j,S;;){if(g=i[i.length-1],this.defaultActions[g]?h=this.defaultActions[g]:((l===null||typeof l>"u")&&(l=B()),h=d[g]&&d[g][l]),typeof h>"u"||!h.length||!h[0]){var A="";S=[];for(b in d[g])this.terminals_[b]&&b>Y&&S.push("'"+this.terminals_[b]+"'");o.showPosition?A="Parse error on line "+(v+1)+`: 2 | `+o.showPosition()+` 3 | Expecting `+S.join(", ")+", got '"+(this.terminals_[l]||l)+"'":A="Parse error on line "+(v+1)+": Unexpected "+(l==F?"end of input":"'"+(this.terminals_[l]||l)+"'"),this.parseError(A,{text:o.match,token:this.terminals_[l]||l,line:o.yylineno,loc:I,expected:S})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+l);switch(h[0]){case 1:i.push(l),r.push(o.yytext),n.push(o.yylloc),i.push(h[1]),l=null,T=o.yyleng,L=o.yytext,v=o.yylineno,I=o.yylloc;break;case 2:if(c=this.productions_[h[1]][1],m.$=r[r.length-c],m._$={first_line:n[n.length-(c||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(c||1)].first_column,last_column:n[n.length-1].last_column},M&&(m._$.range=[n[n.length-(c||1)].range[0],n[n.length-1].range[1]]),w=this.performAction.apply(m,[L,T,v,p.yy,h[1],r,n].concat(D)),typeof w<"u")return w;c&&(i=i.slice(0,-1*c*2),r=r.slice(0,-1*c),n=n.slice(0,-1*c)),i.push(this.productions_[h[1]][0]),r.push(m.$),n.push(m._$),j=d[i[i.length-2]][i[i.length-1]],i.push(j);break;case 3:return!0}}return!0}},k=function(){var u={EOF:1,parseError:function(e,i){if(this.yy.parser)this.yy.parser.parseError(e,i);else throw new Error(e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var e=t.match(/(?:\r\n?|\n).*/g);return e?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). 4 | `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+` 5 | `+e+"^"},test_match:function(t,e){var i,s,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),s=t[0].match(/(?:\r\n?|\n).*/g),s&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var n in r)this[n]=r[n];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,e,i,s;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),n=0;ne[0].length)){if(e=i,s=n,this.options.backtrack_lexer){if(t=this.test_match(i,r[n]),t!==!1)return t;if(this._backtrack){e=!1;continue}else return!1}else if(!this.options.flex)break}return e?(t=this.test_match(e,r[s]),t!==!1?t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. 6 | `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,i,s,r){switch(s){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return u}();_.lexer=k;function x(){this.yy={}}return x.prototype=_,_.Parser=x,new x}();P.parser=P;var C=P,U={info:!1},$=U.info,G=a=>{$=a},H=()=>$,J=()=>{$=U.info},K={clear:J,setInfo:G,getInfo:H},Q=(a,f,_)=>{N.debug(`rendering info diagram 7 | `+a);let k=z(f);R(k,100,400,!0),k.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${_}`)},W={draw:Q},rt={parser:C,db:K,renderer:W};export{rt as diagram}; 8 | //# sourceMappingURL=infoDiagram-a336098b-M3EGNS5K.min.js.map 9 | -------------------------------------------------------------------------------- /docs/public/lunr.da-WZCDGCDT.min.js: -------------------------------------------------------------------------------- 1 | import{b as B}from"./chunk-P42HNYSU.min.js";var D=B((l,p)=>{(function(i,r){typeof define=="function"&&define.amd?define(r):typeof l=="object"?p.exports=r():r()(i.lunr)})(l,function(){return function(i){if(typeof i>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof i.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");i.da=function(){this.pipeline.reset(),this.pipeline.add(i.da.trimmer,i.da.stopWordFilter,i.da.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.da.stemmer))},i.da.wordCharacters="A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A",i.da.trimmer=i.trimmerSupport.generateTrimmer(i.da.wordCharacters),i.Pipeline.registerFunction(i.da.trimmer,"trimmer-da"),i.da.stemmer=function(){var r=i.stemmerSupport.Among,g=i.stemmerSupport.SnowballProgram,u=new function(){var o=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],h=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],b=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("l\xF8st",-1,2)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],v=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],c,n,m,e=new g;this.setCurrent=function(t){e.setCurrent(t)},this.getCurrent=function(){return e.getCurrent()};function k(){var t,s=e.cursor+3;if(n=e.limit,0<=s&&s<=e.limit){for(c=s;;){if(t=e.cursor,e.in_grouping(d,97,248)){e.cursor=t;break}if(e.cursor=t,t>=e.limit)return;e.cursor++}for(;!e.out_grouping(d,97,248);){if(e.cursor>=e.limit)return;e.cursor++}n=e.cursor,n=n&&(s=e.limit_backward,e.limit_backward=n,e.ket=e.cursor,t=e.find_among_b(o,32),e.limit_backward=s,t))switch(e.bra=e.cursor,t){case 1:e.slice_del();break;case 2:e.in_grouping_b(v,97,229)&&e.slice_del();break}}function w(){var t=e.limit-e.cursor,s;e.cursor>=n&&(s=e.limit_backward,e.limit_backward=n,e.ket=e.cursor,e.find_among_b(h,4)?(e.bra=e.cursor,e.limit_backward=s,e.cursor=e.limit-t,e.cursor>e.limit_backward&&(e.cursor--,e.bra=e.cursor,e.slice_del())):e.limit_backward=s)}function A(){var t,s=e.limit-e.cursor,_,f;if(e.ket=e.cursor,e.eq_s_b(2,"st")&&(e.bra=e.cursor,e.eq_s_b(2,"ig")&&e.slice_del()),e.cursor=e.limit-s,e.cursor>=n&&(_=e.limit_backward,e.limit_backward=n,e.ket=e.cursor,t=e.find_among_b(b,5),e.limit_backward=_,t))switch(e.bra=e.cursor,t){case 1:e.slice_del(),f=e.limit-e.cursor,w(),e.cursor=e.limit-f;break;case 2:e.slice_from("l\xF8s");break}}function C(){var t;e.cursor>=n&&(t=e.limit_backward,e.limit_backward=n,e.ket=e.cursor,e.out_grouping_b(d,97,248)?(e.bra=e.cursor,m=e.slice_to(m),e.limit_backward=t,e.eq_v_b(m)&&e.slice_del()):e.limit_backward=t)}this.stem=function(){var t=e.cursor;return k(),e.limit_backward=t,e.cursor=e.limit,F(),e.cursor=e.limit,w(),e.cursor=e.limit,A(),e.cursor=e.limit,C(),!0}};return function(a){return typeof a.update=="function"?a.update(function(o){return u.setCurrent(o),u.stem(),u.getCurrent()}):(u.setCurrent(a),u.stem(),u.getCurrent())}}(),i.Pipeline.registerFunction(i.da.stemmer,"stemmer-da"),i.da.stopWordFilter=i.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu n\xE5r og ogs\xE5 om op os over p\xE5 selv sig sin sine sit skal skulle som s\xE5dan thi til ud under var vi vil ville vor v\xE6re v\xE6ret".split(" ")),i.Pipeline.registerFunction(i.da.stopWordFilter,"stopWordFilter-da")}})});export default D(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.da.js: 5 | (*! 6 | * Lunr languages, `Danish` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2014, Mihai Valentin 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.da-WZCDGCDT.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.de-7XZMXZII.min.js: -------------------------------------------------------------------------------- 1 | import{b as S}from"./chunk-P42HNYSU.min.js";var y=S((g,F)=>{(function(n,r){typeof define=="function"&&define.amd?define(r):typeof g=="object"?F.exports=r():r()(n.lunr)})(g,function(){return function(n){if(typeof n>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof n.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");n.de=function(){this.pipeline.reset(),this.pipeline.add(n.de.trimmer,n.de.stopWordFilter,n.de.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(n.de.stemmer))},n.de.wordCharacters="A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A",n.de.trimmer=n.trimmerSupport.generateTrimmer(n.de.wordCharacters),n.Pipeline.registerFunction(n.de.trimmer,"trimmer-de"),n.de.stemmer=function(){var r=n.stemmerSupport.Among,v=n.stemmerSupport.SnowballProgram,c=new function(){var l=[new r("",-1,6),new r("U",0,2),new r("Y",0,1),new r("\xE4",0,3),new r("\xF6",0,4),new r("\xFC",0,5)],A=[new r("e",-1,2),new r("em",-1,1),new r("en",-1,2),new r("ern",-1,1),new r("er",-1,1),new r("s",-1,3),new r("es",5,2)],C=[new r("en",-1,1),new r("er",-1,1),new r("st",-1,2),new r("est",2,1)],B=[new r("ig",-1,1),new r("lich",-1,1)],D=[new r("end",-1,1),new r("ig",-1,2),new r("ung",-1,1),new r("lich",-1,3),new r("isch",-1,2),new r("ik",-1,2),new r("heit",-1,3),new r("keit",-1,4)],m=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],j=[117,30,5],q=[117,30,4],f,_,o,e=new v;this.setCurrent=function(i){e.setCurrent(i)},this.getCurrent=function(){return e.getCurrent()};function p(i,s,u){return e.eq_s(1,i)&&(e.ket=e.cursor,e.in_grouping(m,97,252))?(e.slice_from(s),e.cursor=u,!0):!1}function P(){for(var i=e.cursor,s,u,t,a;;)if(s=e.cursor,e.bra=s,e.eq_s(1,"\xDF"))e.ket=e.cursor,e.slice_from("ss");else{if(s>=e.limit)break;e.cursor=s+1}for(e.cursor=i;;)for(u=e.cursor;t=e.cursor,!(e.in_grouping(m,97,252)&&(a=e.cursor,e.bra=a,p("u","U",t)||(e.cursor=a,p("y","Y",t))));){if(t>=e.limit){e.cursor=u;return}e.cursor=t+1}}function k(){for(;!e.in_grouping(m,97,252);){if(e.cursor>=e.limit)return!0;e.cursor++}for(;!e.out_grouping(m,97,252);){if(e.cursor>=e.limit)return!0;e.cursor++}return!1}function x(){o=e.limit,_=o;var i=e.cursor+3;0<=i&&i<=e.limit&&(f=i,k()||(o=e.cursor,o=e.limit)return;e.cursor++;break}}}function h(){return o<=e.cursor}function w(){return _<=e.cursor}function z(){var i,s=e.limit-e.cursor,u,t,a;if(e.ket=e.cursor,i=e.find_among_b(A,7),i&&(e.bra=e.cursor,h()))switch(i){case 1:e.slice_del();break;case 2:e.slice_del(),e.ket=e.cursor,e.eq_s_b(1,"s")&&(e.bra=e.cursor,e.eq_s_b(3,"nis")&&e.slice_del());break;case 3:e.in_grouping_b(j,98,116)&&e.slice_del();break}if(e.cursor=e.limit-s,e.ket=e.cursor,i=e.find_among_b(C,4),i&&(e.bra=e.cursor,h()))switch(i){case 1:e.slice_del();break;case 2:if(e.in_grouping_b(q,98,116)){var b=e.cursor-3;e.limit_backward<=b&&b<=e.limit&&(e.cursor=b,e.slice_del())}break}if(e.cursor=e.limit-s,e.ket=e.cursor,i=e.find_among_b(D,8),i&&(e.bra=e.cursor,w()))switch(i){case 1:e.slice_del(),e.ket=e.cursor,e.eq_s_b(2,"ig")&&(e.bra=e.cursor,u=e.limit-e.cursor,e.eq_s_b(1,"e")||(e.cursor=e.limit-u,w()&&e.slice_del()));break;case 2:t=e.limit-e.cursor,e.eq_s_b(1,"e")||(e.cursor=e.limit-t,e.slice_del());break;case 3:if(e.slice_del(),e.ket=e.cursor,a=e.limit-e.cursor,!e.eq_s_b(2,"er")&&(e.cursor=e.limit-a,!e.eq_s_b(2,"en")))break;e.bra=e.cursor,h()&&e.slice_del();break;case 4:e.slice_del(),e.ket=e.cursor,i=e.find_among_b(B,2),i&&(e.bra=e.cursor,w()&&i==1&&e.slice_del());break}}this.stem=function(){var i=e.cursor;return P(),e.cursor=i,x(),e.limit_backward=i,e.cursor=e.limit,z(),e.cursor=e.limit_backward,E(),!0}};return function(d){return typeof d.update=="function"?d.update(function(l){return c.setCurrent(l),c.stem(),c.getCurrent()}):(c.setCurrent(d),c.stem(),c.getCurrent())}}(),n.Pipeline.registerFunction(n.de.stemmer,"stemmer-de"),n.de.stopWordFilter=n.generateStopWordFilter("aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu da\xDF dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures f\xFCr gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines k\xF6nnen k\xF6nnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte w\xE4hrend w\xFCrde w\xFCrden zu zum zur zwar zwischen \xFCber".split(" ")),n.Pipeline.registerFunction(n.de.stopWordFilter,"stopWordFilter-de")}})});export default y(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.de.js: 5 | (*! 6 | * Lunr languages, `German` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2014, Mihai Valentin 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.de-7XZMXZII.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.du-QL47PPFK.min.js: -------------------------------------------------------------------------------- 1 | import{b as Y}from"./chunk-P42HNYSU.min.js";var R=Y((g,B)=>{(function(u,r){typeof define=="function"&&define.amd?define(r):typeof g=="object"?B.exports=r():r()(u.lunr)})(g,function(){return function(u){if(typeof u>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof u.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");console.warn('[Lunr Languages] Please use the "nl" instead of the "du". The "nl" code is the standard code for Dutch language, and "du" will be removed in the next major versions.'),u.du=function(){this.pipeline.reset(),this.pipeline.add(u.du.trimmer,u.du.stopWordFilter,u.du.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(u.du.stemmer))},u.du.wordCharacters="A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A",u.du.trimmer=u.trimmerSupport.generateTrimmer(u.du.wordCharacters),u.Pipeline.registerFunction(u.du.trimmer,"trimmer-du"),u.du.stemmer=function(){var r=u.stemmerSupport.Among,D=u.stemmerSupport.SnowballProgram,c=new function(){var d=[new r("",-1,6),new r("\xE1",0,1),new r("\xE4",0,1),new r("\xE9",0,2),new r("\xEB",0,2),new r("\xED",0,3),new r("\xEF",0,3),new r("\xF3",0,4),new r("\xF6",0,4),new r("\xFA",0,5),new r("\xFC",0,5)],E=[new r("",-1,3),new r("I",0,2),new r("Y",0,1)],j=[new r("dd",-1,-1),new r("kk",-1,-1),new r("tt",-1,-1)],q=[new r("ene",-1,2),new r("se",-1,3),new r("en",-1,2),new r("heden",2,1),new r("s",-1,3)],z=[new r("end",-1,1),new r("ig",-1,2),new r("ing",-1,1),new r("lijk",-1,3),new r("baar",-1,4),new r("bar",-1,5)],P=[new r("aa",-1,-1),new r("ee",-1,-1),new r("oo",-1,-1),new r("uu",-1,-1)],s=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],x=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],S=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],l,a,w,e=new D;this.setCurrent=function(i){e.setCurrent(i)},this.getCurrent=function(){return e.getCurrent()};function y(){for(var i,t=e.cursor,n,f;;){if(e.bra=e.cursor,i=e.find_among(d,11),i)switch(e.ket=e.cursor,i){case 1:e.slice_from("a");continue;case 2:e.slice_from("e");continue;case 3:e.slice_from("i");continue;case 4:e.slice_from("o");continue;case 5:e.slice_from("u");continue;case 6:if(e.cursor>=e.limit)break;e.cursor++;continue}break}for(e.cursor=t,e.bra=t,e.eq_s(1,"y")?(e.ket=e.cursor,e.slice_from("Y")):e.cursor=t;;)if(n=e.cursor,e.in_grouping(s,97,232)){if(f=e.cursor,e.bra=f,e.eq_s(1,"i"))e.ket=e.cursor,e.in_grouping(s,97,232)&&(e.slice_from("I"),e.cursor=n);else if(e.cursor=f,e.eq_s(1,"y"))e.ket=e.cursor,e.slice_from("Y"),e.cursor=n;else if(p(n))break}else if(p(n))break}function p(i){return e.cursor=i,i>=e.limit?!0:(e.cursor++,!1)}function L(){a=e.limit,l=a,h()||(a=e.cursor,a<3&&(a=3),h()||(l=e.cursor))}function h(){for(;!e.in_grouping(s,97,232);){if(e.cursor>=e.limit)return!0;e.cursor++}for(;!e.out_grouping(s,97,232);){if(e.cursor>=e.limit)return!0;e.cursor++}return!1}function I(){for(var i;;)if(e.bra=e.cursor,i=e.find_among(E,3),i)switch(e.ket=e.cursor,i){case 1:e.slice_from("y");break;case 2:e.slice_from("i");break;case 3:if(e.cursor>=e.limit)return;e.cursor++;break}}function m(){return a<=e.cursor}function o(){return l<=e.cursor}function b(){var i=e.limit-e.cursor;e.find_among_b(j,3)&&(e.cursor=e.limit-i,e.ket=e.cursor,e.cursor>e.limit_backward&&(e.cursor--,e.bra=e.cursor,e.slice_del()))}function k(){var i;w=!1,e.ket=e.cursor,e.eq_s_b(1,"e")&&(e.bra=e.cursor,m()&&(i=e.limit-e.cursor,e.out_grouping_b(s,97,232)&&(e.cursor=e.limit-i,e.slice_del(),w=!0,b())))}function v(){var i;m()&&(i=e.limit-e.cursor,e.out_grouping_b(s,97,232)&&(e.cursor=e.limit-i,e.eq_s_b(3,"gem")||(e.cursor=e.limit-i,e.slice_del(),b())))}function W(){var i,t=e.limit-e.cursor,n,f,F,A,C;if(e.ket=e.cursor,i=e.find_among_b(q,5),i)switch(e.bra=e.cursor,i){case 1:m()&&e.slice_from("heid");break;case 2:v();break;case 3:m()&&e.out_grouping_b(S,97,232)&&e.slice_del();break}if(e.cursor=e.limit-t,k(),e.cursor=e.limit-t,e.ket=e.cursor,e.eq_s_b(4,"heid")&&(e.bra=e.cursor,o()&&(n=e.limit-e.cursor,e.eq_s_b(1,"c")||(e.cursor=e.limit-n,e.slice_del(),e.ket=e.cursor,e.eq_s_b(2,"en")&&(e.bra=e.cursor,v())))),e.cursor=e.limit-t,e.ket=e.cursor,i=e.find_among_b(z,6),i)switch(e.bra=e.cursor,i){case 1:if(o()){if(e.slice_del(),f=e.limit-e.cursor,e.ket=e.cursor,e.eq_s_b(2,"ig")&&(e.bra=e.cursor,o()&&(F=e.limit-e.cursor,!e.eq_s_b(1,"e")))){e.cursor=e.limit-F,e.slice_del();break}e.cursor=e.limit-f,b()}break;case 2:o()&&(A=e.limit-e.cursor,e.eq_s_b(1,"e")||(e.cursor=e.limit-A,e.slice_del()));break;case 3:o()&&(e.slice_del(),k());break;case 4:o()&&e.slice_del();break;case 5:o()&&w&&e.slice_del();break}e.cursor=e.limit-t,e.out_grouping_b(x,73,232)&&(C=e.limit-e.cursor,e.find_among_b(P,4)&&e.out_grouping_b(s,97,232)&&(e.cursor=e.limit-C,e.ket=e.cursor,e.cursor>e.limit_backward&&(e.cursor--,e.bra=e.cursor,e.slice_del())))}this.stem=function(){var i=e.cursor;return y(),e.cursor=i,L(),e.limit_backward=i,e.cursor=e.limit,W(),e.cursor=e.limit_backward,I(),!0}};return function(_){return typeof _.update=="function"?_.update(function(d){return c.setCurrent(d),c.stem(),c.getCurrent()}):(c.setCurrent(_),c.stem(),c.getCurrent())}}(),u.Pipeline.registerFunction(u.du.stemmer,"stemmer-du"),u.du.stopWordFilter=u.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),u.Pipeline.registerFunction(u.du.stopWordFilter,"stopWordFilter-du")}})});export default R(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.du.js: 5 | (*! 6 | * Lunr languages, `Dutch` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2014, Mihai Valentin 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.du-QL47PPFK.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.he-J62KVQ3T.min.js: -------------------------------------------------------------------------------- 1 | import{b as u}from"./chunk-P42HNYSU.min.js";var p=u((s,n)=>{(function(t,e){typeof define=="function"&&define.amd?define(e):typeof s=="object"?n.exports=e():e()(t.lunr)})(s,function(){return function(t){if(typeof t>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof t.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");t.he=function(){this.pipeline.reset(),this.pipeline.add(t.he.trimmer,t.he.stopWordFilter,t.he.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(t.he.stemmer))},t.he.wordCharacters="\u0590-\u05FF\u05D0-\u05EAa-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19",t.he.trimmer=t.trimmerSupport.generateTrimmer(t.he.wordCharacters),t.Pipeline.registerFunction(t.he.trimmer,"trimmer-he"),t.he.stemmer=function(){var e=this,o="";return e.result=!1,e.execArray=["cleanWord"],e.stem=function(){var r=0;for(e.result=!1;r{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof n=="object"?o.exports=t():t()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="\u0900-\u0903\u0904-\u090F\u0910-\u091F\u0920-\u092F\u0930-\u093F\u0940-\u094F\u0950-\u095F\u0960-\u096F\u0970-\u097Fa-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("\u0905\u0924 \u0905\u092A\u0928\u093E \u0905\u092A\u0928\u0940 \u0905\u092A\u0928\u0947 \u0905\u092D\u0940 \u0905\u0902\u0926\u0930 \u0906\u0926\u093F \u0906\u092A \u0907\u0924\u094D\u092F\u093E\u0926\u093F \u0907\u0928 \u0907\u0928\u0915\u093E \u0907\u0928\u094D\u0939\u0940\u0902 \u0907\u0928\u094D\u0939\u0947\u0902 \u0907\u0928\u094D\u0939\u094B\u0902 \u0907\u0938 \u0907\u0938\u0915\u093E \u0907\u0938\u0915\u0940 \u0907\u0938\u0915\u0947 \u0907\u0938\u092E\u0947\u0902 \u0907\u0938\u0940 \u0907\u0938\u0947 \u0909\u0928 \u0909\u0928\u0915\u093E \u0909\u0928\u0915\u0940 \u0909\u0928\u0915\u0947 \u0909\u0928\u0915\u094B \u0909\u0928\u094D\u0939\u0940\u0902 \u0909\u0928\u094D\u0939\u0947\u0902 \u0909\u0928\u094D\u0939\u094B\u0902 \u0909\u0938 \u0909\u0938\u0915\u0947 \u0909\u0938\u0940 \u0909\u0938\u0947 \u090F\u0915 \u090F\u0935\u0902 \u090F\u0938 \u0910\u0938\u0947 \u0914\u0930 \u0915\u0908 \u0915\u0930 \u0915\u0930\u0924\u093E \u0915\u0930\u0924\u0947 \u0915\u0930\u0928\u093E \u0915\u0930\u0928\u0947 \u0915\u0930\u0947\u0902 \u0915\u0939\u0924\u0947 \u0915\u0939\u093E \u0915\u093E \u0915\u093E\u095E\u0940 \u0915\u093F \u0915\u093F\u0924\u0928\u093E \u0915\u093F\u0928\u094D\u0939\u0947\u0902 \u0915\u093F\u0928\u094D\u0939\u094B\u0902 \u0915\u093F\u092F\u093E \u0915\u093F\u0930 \u0915\u093F\u0938 \u0915\u093F\u0938\u0940 \u0915\u093F\u0938\u0947 \u0915\u0940 \u0915\u0941\u091B \u0915\u0941\u0932 \u0915\u0947 \u0915\u094B \u0915\u094B\u0908 \u0915\u094C\u0928 \u0915\u094C\u0928\u0938\u093E \u0917\u092F\u093E \u0918\u0930 \u091C\u092C \u091C\u0939\u093E\u0901 \u091C\u093E \u091C\u093F\u0924\u0928\u093E \u091C\u093F\u0928 \u091C\u093F\u0928\u094D\u0939\u0947\u0902 \u091C\u093F\u0928\u094D\u0939\u094B\u0902 \u091C\u093F\u0938 \u091C\u093F\u0938\u0947 \u091C\u0940\u0927\u0930 \u091C\u0948\u0938\u093E \u091C\u0948\u0938\u0947 \u091C\u094B \u0924\u0915 \u0924\u092C \u0924\u0930\u0939 \u0924\u093F\u0928 \u0924\u093F\u0928\u094D\u0939\u0947\u0902 \u0924\u093F\u0928\u094D\u0939\u094B\u0902 \u0924\u093F\u0938 \u0924\u093F\u0938\u0947 \u0924\u094B \u0925\u093E \u0925\u0940 \u0925\u0947 \u0926\u092C\u093E\u0930\u093E \u0926\u093F\u092F\u093E \u0926\u0941\u0938\u0930\u093E \u0926\u0942\u0938\u0930\u0947 \u0926\u094B \u0926\u094D\u0935\u093E\u0930\u093E \u0928 \u0928\u0915\u0947 \u0928\u0939\u0940\u0902 \u0928\u093E \u0928\u093F\u0939\u093E\u092F\u0924 \u0928\u0940\u091A\u0947 \u0928\u0947 \u092A\u0930 \u092A\u0939\u0932\u0947 \u092A\u0942\u0930\u093E \u092A\u0947 \u092B\u093F\u0930 \u092C\u0928\u0940 \u092C\u0939\u0940 \u092C\u0939\u0941\u0924 \u092C\u093E\u0926 \u092C\u093E\u0932\u093E \u092C\u093F\u0932\u0915\u0941\u0932 \u092D\u0940 \u092D\u0940\u0924\u0930 \u092E\u0917\u0930 \u092E\u093E\u0928\u094B \u092E\u0947 \u092E\u0947\u0902 \u092F\u0926\u093F \u092F\u0939 \u092F\u0939\u093E\u0901 \u092F\u0939\u0940 \u092F\u093E \u092F\u093F\u0939 \u092F\u0947 \u0930\u0916\u0947\u0902 \u0930\u0939\u093E \u0930\u0939\u0947 \u0931\u094D\u0935\u093E\u0938\u093E \u0932\u093F\u090F \u0932\u093F\u092F\u0947 \u0932\u0947\u0915\u093F\u0928 \u0935 \u0935\u095A\u0948\u0930\u0939 \u0935\u0930\u094D\u0917 \u0935\u0939 \u0935\u0939\u093E\u0901 \u0935\u0939\u0940\u0902 \u0935\u093E\u0932\u0947 \u0935\u0941\u0939 \u0935\u0947 \u0935\u094B \u0938\u0915\u0924\u093E \u0938\u0915\u0924\u0947 \u0938\u092C\u0938\u0947 \u0938\u092D\u0940 \u0938\u093E\u0925 \u0938\u093E\u092C\u0941\u0924 \u0938\u093E\u092D \u0938\u093E\u0930\u093E \u0938\u0947 \u0938\u094B \u0938\u0902\u0917 \u0939\u0940 \u0939\u0941\u0906 \u0939\u0941\u0908 \u0939\u0941\u090F \u0939\u0948 \u0939\u0948\u0902 \u0939\u094B \u0939\u094B\u0924\u093E \u0939\u094B\u0924\u0940 \u0939\u094B\u0924\u0947 \u0939\u094B\u0928\u093E \u0939\u094B\u0928\u0947".split(" ")),e.hi.stemmer=function(){return function(i){return typeof i.update=="function"?i.update(function(r){return r}):i}}();var t=e.wordcut;t.init(),e.hi.tokenizer=function(i){if(!arguments.length||i==null||i==null)return[];if(Array.isArray(i))return i.map(function(s){return isLunr2?new e.Token(s.toLowerCase()):s.toLowerCase()});var r=i.toString().toLowerCase().replace(/^\s+/,"");return t.cut(r).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}})});export default f(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.hi.js: 5 | (*! 6 | * Lunr languages, `Hindi` language 7 | * https://github.com/MiKr13/lunr-languages 8 | * 9 | * Copyright 2020, Mihir Kumar 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.hi-VEBDFZQ2.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.hy-XFQCAWFO.min.js: -------------------------------------------------------------------------------- 1 | import{b as o}from"./chunk-P42HNYSU.min.js";var s=o((i,r)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof i=="object"?r.exports=t():t()(e.lunr)})(i,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z\u0530-\u058F\uFB00-\uFB4F]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("\u0564\u0578\u0582 \u0587 \u0565\u0584 \u0567\u056B\u0580 \u0567\u056B\u0584 \u0570\u0565\u057F\u0578 \u0576\u0561\u0587 \u0576\u0580\u0561\u0576\u0584 \u0578\u0580\u0568 \u057E\u0580\u0561 \u0567 \u0578\u0580 \u057A\u056B\u057F\u056B \u0565\u0576 \u0561\u0575\u057D \u0574\u0565\u057B \u0576 \u056B\u0580 \u0578\u0582 \u056B \u0561\u0575\u0564 \u0578\u0580\u0578\u0576\u0584 \u0561\u0575\u0576 \u056F\u0561\u0574 \u0567\u0580 \u0574\u056B \u0565\u057D \u0570\u0561\u0574\u0561\u0580 \u0561\u0575\u056C \u056B\u057D\u056F \u0567\u056B\u0576 \u0565\u0576\u0584 \u0570\u0565\u057F \u056B\u0576 \u0569 \u0567\u056B\u0576\u0584 \u0574\u0565\u0576\u0584 \u0576\u0580\u0561 \u0576\u0561 \u0564\u0578\u0582\u0584 \u0565\u0574 \u0567\u056B \u0568\u057D\u057F \u0578\u0580\u057A\u0565\u057D \u0578\u0582\u0574".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(n){return n}):t}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}})});export default s(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.hy.js: 5 | (*! 6 | * Lunr languages, `Armenian` language 7 | * https://github.com/turbobit/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.hy-XFQCAWFO.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.hy-XFQCAWFO.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.hy.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Armenian` language\n * https://github.com/turbobit/lunr-languages\n *\n * Copyright 2021, Manikandan Venkatasubban\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /* register specific locale function */\n lunr.hy = function() {\n this.pipeline.reset();\n this.pipeline.add(\n lunr.hy.trimmer,\n lunr.hy.stopWordFilter\n );\n };\n\n /* lunr trimmer function */\n // http://www.unicode.org/charts/\n lunr.hy.wordCharacters = \"[\" +\n \"A-Za-z\" +\n \"\\u0530-\\u058F\" + // armenian alphabet\n \"\\uFB00-\\uFB4F\" + // armenian ligatures\n \"]\";\n lunr.hy.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.hy.wordCharacters);\n\n lunr.Pipeline.registerFunction(lunr.hy.trimmer, 'trimmer-hy');\n\n\n /* lunr stop word filter */\n // https://www.ranks.nl/stopwords/armenian\n lunr.hy.stopWordFilter = lunr.generateStopWordFilter('\u0564\u0578\u0582 \u0587 \u0565\u0584 \u0567\u056B\u0580 \u0567\u056B\u0584 \u0570\u0565\u057F\u0578 \u0576\u0561\u0587 \u0576\u0580\u0561\u0576\u0584 \u0578\u0580\u0568 \u057E\u0580\u0561 \u0567 \u0578\u0580 \u057A\u056B\u057F\u056B \u0565\u0576 \u0561\u0575\u057D \u0574\u0565\u057B \u0576 \u056B\u0580 \u0578\u0582 \u056B \u0561\u0575\u0564 \u0578\u0580\u0578\u0576\u0584 \u0561\u0575\u0576 \u056F\u0561\u0574 \u0567\u0580 \u0574\u056B \u0565\u057D \u0570\u0561\u0574\u0561\u0580 \u0561\u0575\u056C \u056B\u057D\u056F \u0567\u056B\u0576 \u0565\u0576\u0584 \u0570\u0565\u057F \u056B\u0576 \u0569 \u0567\u056B\u0576\u0584 \u0574\u0565\u0576\u0584 \u0576\u0580\u0561 \u0576\u0561 \u0564\u0578\u0582\u0584 \u0565\u0574 \u0567\u056B \u0568\u057D\u057F \u0578\u0580\u057A\u0565\u057D \u0578\u0582\u0574'.split(' '));\n lunr.Pipeline.registerFunction(lunr.hy.stopWordFilter, 'stopWordFilter-hy');\n\n /* lunr stemmer function */\n lunr.hy.stemmer = (function() {\n\n return function(word) {\n // for lunr version 2\n if (typeof word.update === \"function\") {\n return word.update(function(word) {\n return word;\n })\n } else { // for lunr version <= 1\n return word;\n }\n\n }\n })();\n lunr.Pipeline.registerFunction(lunr.hy.stemmer, 'stemmer-hy');\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAI1HA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IACZA,EAAK,GAAG,QACRA,EAAK,GAAG,cACV,CACF,EAIAA,EAAK,GAAG,eAAiB,qCAKzBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAE5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAK5DA,EAAK,GAAG,eAAiBA,EAAK,uBAAuB,myBAA6K,MAAM,GAAG,CAAC,EAC5OA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,eAAgB,mBAAmB,EAG1EA,EAAK,GAAG,QAAW,UAAW,CAE5B,OAAO,SAASC,EAAM,CAEpB,OAAI,OAAOA,EAAK,QAAW,WAClBA,EAAK,OAAO,SAASA,EAAM,CAChC,OAAOA,CACT,CAAC,EAEMA,CAGX,CACF,EAAG,EACHD,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,CAC9D,CACF,CAAC", 6 | "names": ["require_lunr_hy", "__commonJSMin", "exports", "module", "root", "factory", "lunr", "word"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-6645DQV5.min.js: -------------------------------------------------------------------------------- 1 | import{a}from"./chunk-334IV3XH.min.js";import"./chunk-P42HNYSU.min.js";export default a(); 2 | //# sourceMappingURL=lunr.ja-6645DQV5.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.ja-6645DQV5.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": [], 4 | "sourcesContent": [], 5 | "mappings": "", 6 | "names": [] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-2KRE2L63.min.js: -------------------------------------------------------------------------------- 1 | import{a as i}from"./chunk-334IV3XH.min.js";import{b as r}from"./chunk-P42HNYSU.min.js";var o=r((p,e)=>{e.exports=i()});export default o(); 2 | //# sourceMappingURL=lunr.jp-2KRE2L63.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/lunr.jp-2KRE2L63.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.jp.js"], 4 | "sourcesContent": ["// jp is the country code, while ja is the language code\n// a new lunr.ja.js has been created, but in order to\n// keep the backward compatibility, we'll leave the lunr.jp.js\n// here for a while, and just make it use the new lunr.ja.js\nmodule.exports = require('./lunr.ja');"], 5 | "mappings": "wFAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,CAIAA,EAAO,QAAU", 6 | "names": ["require_lunr_jp", "__commonJSMin", "exports", "module"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.kn-EGFANKI2.min.js: -------------------------------------------------------------------------------- 1 | import{b as o}from"./chunk-P42HNYSU.min.js";var p=o((n,u)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?u.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.kn=function(){this.pipeline.reset(),this.pipeline.add(e.kn.trimmer,e.kn.stopWordFilter,e.kn.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.kn.stemmer))},e.kn.wordCharacters="\u0C80-\u0C84\u0C85-\u0C94\u0C95-\u0CB9\u0CBE-\u0CCC\u0CBC-\u0CBD\u0CD5-\u0CD6\u0CDD-\u0CDE\u0CE0-\u0CE1\u0CE2-\u0CE3\u0CE4\u0CE5\u0CE6-\u0CEF\u0CF1-\u0CF3",e.kn.trimmer=e.trimmerSupport.generateTrimmer(e.kn.wordCharacters),e.Pipeline.registerFunction(e.kn.trimmer,"trimmer-kn"),e.kn.stopWordFilter=e.generateStopWordFilter("\u0CAE\u0CA4\u0CCD\u0CA4\u0CC1 \u0C88 \u0C92\u0C82\u0CA6\u0CC1 \u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0CB9\u0CBE\u0C97\u0CC2 \u0C8E\u0C82\u0CA6\u0CC1 \u0C85\u0CA5\u0CB5\u0CBE \u0C87\u0CA6\u0CC1 \u0CB0 \u0C85\u0CB5\u0CB0\u0CC1 \u0C8E\u0C82\u0CAC \u0CAE\u0CC7\u0CB2\u0CC6 \u0C85\u0CB5\u0CB0 \u0CA4\u0CA8\u0CCD\u0CA8 \u0C86\u0CA6\u0CB0\u0CC6 \u0CA4\u0CAE\u0CCD\u0CAE \u0CA8\u0C82\u0CA4\u0CB0 \u0CAE\u0CC2\u0CB2\u0C95 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CC1 \u0CA8 \u0C86 \u0C95\u0CC6\u0CB2\u0CB5\u0CC1 \u0C85\u0CA8\u0CC7\u0C95 \u0C8E\u0CB0\u0CA1\u0CC1 \u0CB9\u0CBE\u0C97\u0CC1 \u0CAA\u0CCD\u0CB0\u0CAE\u0CC1\u0C96 \u0C87\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0C87\u0CA6\u0CB0 \u0CB8\u0CC1\u0CAE\u0CBE\u0CB0\u0CC1 \u0C85\u0CA6\u0CB0 \u0C85\u0CA6\u0CC1 \u0CAE\u0CCA\u0CA6\u0CB2 \u0CAC\u0C97\u0CCD\u0C97\u0CC6 \u0CA8\u0CB2\u0CCD\u0CB2\u0CBF \u0CB0\u0C82\u0CA6\u0CC1 \u0C87\u0CA4\u0CB0 \u0C85\u0CA4\u0CCD\u0CAF\u0C82\u0CA4 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBF\u0CA8 \u0CB8\u0CB9 \u0CB8\u0CBE\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0C97\u0CBF \u0CA8\u0CC7 \u0CB9\u0CB2\u0CB5\u0CBE\u0CB0\u0CC1 \u0CB9\u0CCA\u0CB8 \u0CA6\u0CBF \u0C95\u0CA1\u0CBF\u0CAE\u0CC6 \u0CAF\u0CBE\u0CB5\u0CC1\u0CA6\u0CC7 \u0CB9\u0CCA\u0C82\u0CA6\u0CBF\u0CA6\u0CC6 \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1 \u0C85\u0CA8\u0CCD\u0CA8\u0CC1 \u0C87\u0CB5\u0CB0\u0CC1 \u0CAA\u0CCD\u0CB0\u0C95\u0CBE\u0CB0 \u0C87\u0CA6\u0CC6 \u0CAE\u0CBE\u0CA4\u0CCD\u0CB0 \u0C95\u0CC2\u0CA1 \u0C87\u0CB2\u0CCD\u0CB2\u0CBF \u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0CB5\u0CBF\u0CB5\u0CBF\u0CA7 \u0C85\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB9\u0CB2\u0CB5\u0CC1 \u0CB0\u0CBF\u0C82\u0CA6 \u0C95\u0CC7\u0CB5\u0CB2 \u0CA6 \u0CA6\u0C95\u0CCD\u0CB7\u0CBF\u0CA3 \u0C97\u0CC6 \u0C85\u0CB5\u0CA8 \u0C85\u0CA4\u0CBF \u0CA8\u0CC6\u0CAF \u0CAC\u0CB9\u0CB3 \u0C95\u0CC6\u0CB2\u0CB8 \u0C8E\u0CB2\u0CCD\u0CB2 \u0CAA\u0CCD\u0CB0\u0CA4\u0CBF \u0C87\u0CA4\u0CCD\u0CAF\u0CBE\u0CA6\u0CBF \u0C87\u0CB5\u0CC1 \u0CAC\u0CC7\u0CB0\u0CC6 \u0CB9\u0CC0\u0C97\u0CC6 \u0CA8\u0CA1\u0CC1\u0CB5\u0CC6 \u0C87\u0CA6\u0C95\u0CCD\u0C95\u0CC6 \u0C8E\u0CB8\u0CCD \u0C87\u0CB5\u0CB0 \u0CAE\u0CCA\u0CA6\u0CB2\u0CC1 \u0CB6\u0CCD\u0CB0\u0CC0 \u0CAE\u0CBE\u0CA1\u0CC1\u0CB5 \u0C87\u0CA6\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0CB0\u0CC0\u0CA4\u0CBF\u0CAF \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6 \u0C95\u0CBE\u0CB2 \u0C85\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA1\u0CB2\u0CC1 \u0C85\u0CA6\u0CC7 \u0C88\u0C97 \u0C85\u0CB5\u0CC1 \u0C97\u0CB3\u0CC1 \u0C8E \u0C8E\u0C82\u0CAC\u0CC1\u0CA6\u0CC1 \u0C85\u0CB5\u0CA8\u0CC1 \u0C85\u0C82\u0CA6\u0CB0\u0CC6 \u0C85\u0CB5\u0CB0\u0CBF\u0C97\u0CC6 \u0C87\u0CB0\u0CC1\u0CB5 \u0CB5\u0CBF\u0CB6\u0CC7\u0CB7 \u0CAE\u0CC1\u0C82\u0CA6\u0CC6 \u0C85\u0CB5\u0CC1\u0C97\u0CB3 \u0CAE\u0CC1\u0C82\u0CA4\u0CBE\u0CA6 \u0CAE\u0CC2\u0CB2 \u0CAC\u0CBF \u0CAE\u0CC0 \u0C92\u0C82\u0CA6\u0CC7 \u0C87\u0CA8\u0CCD\u0CA8\u0CC2 \u0CB9\u0CC6\u0C9A\u0CCD\u0C9A\u0CBE\u0C97\u0CBF \u0CAE\u0CBE\u0CA1\u0CBF \u0C85\u0CB5\u0CB0\u0CA8\u0CCD\u0CA8\u0CC1 \u0C87\u0CA6\u0CC7 \u0CAF \u0CB0\u0CC0\u0CA4\u0CBF\u0CAF\u0CB2\u0CCD\u0CB2\u0CBF \u0C9C\u0CCA\u0CA4\u0CC6 \u0C85\u0CA6\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0CAE\u0CBE\u0CA1\u0CBF\u0CA6\u0CB0\u0CC1 \u0CA8\u0CA1\u0CC6\u0CA6 \u0C86\u0C97 \u0CAE\u0CA4\u0CCD\u0CA4\u0CC6 \u0CAA\u0CC2\u0CB0\u0CCD\u0CB5 \u0C86\u0CA4 \u0CAC\u0C82\u0CA6 \u0CAF\u0CBE\u0CB5 \u0C92\u0C9F\u0CCD\u0C9F\u0CC1 \u0C87\u0CA4\u0CB0\u0CC6 \u0CB9\u0CBF\u0C82\u0CA6\u0CC6 \u0CAA\u0CCD\u0CB0\u0CAE\u0CBE\u0CA3\u0CA6 \u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0C95\u0CC1\u0CB0\u0CBF\u0CA4\u0CC1 \u0CAF\u0CC1 \u0C86\u0CA6\u0CCD\u0CA6\u0CB0\u0CBF\u0C82\u0CA6 \u0C85\u0CB2\u0CCD\u0CB2\u0CA6\u0CC6 \u0CA8\u0C97\u0CB0\u0CA6 \u0CAE\u0CC7\u0CB2\u0CBF\u0CA8 \u0C8F\u0C95\u0CC6\u0C82\u0CA6\u0CB0\u0CC6 \u0CB0\u0CB7\u0CCD\u0C9F\u0CC1 \u0C8E\u0C82\u0CAC\u0CC1\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAC\u0CBE\u0CB0\u0CBF \u0C8E\u0C82\u0CA6\u0CB0\u0CC6 \u0CB9\u0CBF\u0C82\u0CA6\u0CBF\u0CA8 \u0C86\u0CA6\u0CB0\u0CC2 \u0C86\u0CA6 \u0CB8\u0C82\u0CAC\u0C82\u0CA7\u0CBF\u0CB8\u0CBF\u0CA6 \u0CAE\u0CA4\u0CCD\u0CA4\u0CCA\u0C82\u0CA6\u0CC1 \u0CB8\u0CBF \u0C86\u0CA4\u0CA8 ".split(" ")),e.kn.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.kn.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(s){return isLunr2?new e.Token(s.toLowerCase()):s.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.kn.stemmer,"stemmer-kn"),e.Pipeline.registerFunction(e.kn.stopWordFilter,"stopWordFilter-kn")}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.kn.js: 5 | (*! 6 | * Lunr languages, `Kannada` language 7 | * https://github.com/MiKr13/lunr-languages 8 | * 9 | * Copyright 2023, India 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.kn-EGFANKI2.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.nl-JVT7LKKG.min.js: -------------------------------------------------------------------------------- 1 | import{b as Y}from"./chunk-P42HNYSU.min.js";var R=Y((g,B)=>{(function(n,r){typeof define=="function"&&define.amd?define(r):typeof g=="object"?B.exports=r():r()(n.lunr)})(g,function(){return function(n){if(typeof n>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof n.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");n.nl=function(){this.pipeline.reset(),this.pipeline.add(n.nl.trimmer,n.nl.stopWordFilter,n.nl.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(n.nl.stemmer))},n.nl.wordCharacters="A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A",n.nl.trimmer=n.trimmerSupport.generateTrimmer(n.nl.wordCharacters),n.Pipeline.registerFunction(n.nl.trimmer,"trimmer-nl"),n.nl.stemmer=function(){var r=n.stemmerSupport.Among,D=n.stemmerSupport.SnowballProgram,c=new function(){var m=[new r("",-1,6),new r("\xE1",0,1),new r("\xE4",0,1),new r("\xE9",0,2),new r("\xEB",0,2),new r("\xED",0,3),new r("\xEF",0,3),new r("\xF3",0,4),new r("\xF6",0,4),new r("\xFA",0,5),new r("\xFC",0,5)],E=[new r("",-1,3),new r("I",0,2),new r("Y",0,1)],q=[new r("dd",-1,-1),new r("kk",-1,-1),new r("tt",-1,-1)],j=[new r("ene",-1,2),new r("se",-1,3),new r("en",-1,2),new r("heden",2,1),new r("s",-1,3)],z=[new r("end",-1,1),new r("ig",-1,2),new r("ing",-1,1),new r("lijk",-1,3),new r("baar",-1,4),new r("bar",-1,5)],P=[new r("aa",-1,-1),new r("ee",-1,-1),new r("oo",-1,-1),new r("uu",-1,-1)],s=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],x=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],S=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],d,a,w,e=new D;this.setCurrent=function(i){e.setCurrent(i)},this.getCurrent=function(){return e.getCurrent()};function y(){for(var i,u=e.cursor,t,l;;){if(e.bra=e.cursor,i=e.find_among(m,11),i)switch(e.ket=e.cursor,i){case 1:e.slice_from("a");continue;case 2:e.slice_from("e");continue;case 3:e.slice_from("i");continue;case 4:e.slice_from("o");continue;case 5:e.slice_from("u");continue;case 6:if(e.cursor>=e.limit)break;e.cursor++;continue}break}for(e.cursor=u,e.bra=u,e.eq_s(1,"y")?(e.ket=e.cursor,e.slice_from("Y")):e.cursor=u;;)if(t=e.cursor,e.in_grouping(s,97,232)){if(l=e.cursor,e.bra=l,e.eq_s(1,"i"))e.ket=e.cursor,e.in_grouping(s,97,232)&&(e.slice_from("I"),e.cursor=t);else if(e.cursor=l,e.eq_s(1,"y"))e.ket=e.cursor,e.slice_from("Y"),e.cursor=t;else if(p(t))break}else if(p(t))break}function p(i){return e.cursor=i,i>=e.limit?!0:(e.cursor++,!1)}function I(){a=e.limit,d=a,h()||(a=e.cursor,a<3&&(a=3),h()||(d=e.cursor))}function h(){for(;!e.in_grouping(s,97,232);){if(e.cursor>=e.limit)return!0;e.cursor++}for(;!e.out_grouping(s,97,232);){if(e.cursor>=e.limit)return!0;e.cursor++}return!1}function W(){for(var i;;)if(e.bra=e.cursor,i=e.find_among(E,3),i)switch(e.ket=e.cursor,i){case 1:e.slice_from("y");break;case 2:e.slice_from("i");break;case 3:if(e.cursor>=e.limit)return;e.cursor++;break}}function f(){return a<=e.cursor}function o(){return d<=e.cursor}function b(){var i=e.limit-e.cursor;e.find_among_b(q,3)&&(e.cursor=e.limit-i,e.ket=e.cursor,e.cursor>e.limit_backward&&(e.cursor--,e.bra=e.cursor,e.slice_del()))}function k(){var i;w=!1,e.ket=e.cursor,e.eq_s_b(1,"e")&&(e.bra=e.cursor,f()&&(i=e.limit-e.cursor,e.out_grouping_b(s,97,232)&&(e.cursor=e.limit-i,e.slice_del(),w=!0,b())))}function F(){var i;f()&&(i=e.limit-e.cursor,e.out_grouping_b(s,97,232)&&(e.cursor=e.limit-i,e.eq_s_b(3,"gem")||(e.cursor=e.limit-i,e.slice_del(),b())))}function L(){var i,u=e.limit-e.cursor,t,l,v,A,C;if(e.ket=e.cursor,i=e.find_among_b(j,5),i)switch(e.bra=e.cursor,i){case 1:f()&&e.slice_from("heid");break;case 2:F();break;case 3:f()&&e.out_grouping_b(S,97,232)&&e.slice_del();break}if(e.cursor=e.limit-u,k(),e.cursor=e.limit-u,e.ket=e.cursor,e.eq_s_b(4,"heid")&&(e.bra=e.cursor,o()&&(t=e.limit-e.cursor,e.eq_s_b(1,"c")||(e.cursor=e.limit-t,e.slice_del(),e.ket=e.cursor,e.eq_s_b(2,"en")&&(e.bra=e.cursor,F())))),e.cursor=e.limit-u,e.ket=e.cursor,i=e.find_among_b(z,6),i)switch(e.bra=e.cursor,i){case 1:if(o()){if(e.slice_del(),l=e.limit-e.cursor,e.ket=e.cursor,e.eq_s_b(2,"ig")&&(e.bra=e.cursor,o()&&(v=e.limit-e.cursor,!e.eq_s_b(1,"e")))){e.cursor=e.limit-v,e.slice_del();break}e.cursor=e.limit-l,b()}break;case 2:o()&&(A=e.limit-e.cursor,e.eq_s_b(1,"e")||(e.cursor=e.limit-A,e.slice_del()));break;case 3:o()&&(e.slice_del(),k());break;case 4:o()&&e.slice_del();break;case 5:o()&&w&&e.slice_del();break}e.cursor=e.limit-u,e.out_grouping_b(x,73,232)&&(C=e.limit-e.cursor,e.find_among_b(P,4)&&e.out_grouping_b(s,97,232)&&(e.cursor=e.limit-C,e.ket=e.cursor,e.cursor>e.limit_backward&&(e.cursor--,e.bra=e.cursor,e.slice_del())))}this.stem=function(){var i=e.cursor;return y(),e.cursor=i,I(),e.limit_backward=i,e.cursor=e.limit,L(),e.cursor=e.limit_backward,W(),!0}};return function(_){return typeof _.update=="function"?_.update(function(m){return c.setCurrent(m),c.stem(),c.getCurrent()}):(c.setCurrent(_),c.stem(),c.getCurrent())}}(),n.Pipeline.registerFunction(n.nl.stemmer,"stemmer-nl"),n.nl.stopWordFilter=n.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),n.Pipeline.registerFunction(n.nl.stopWordFilter,"stopWordFilter-nl")}})});export default R(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.nl.js: 5 | (*! 6 | * Lunr languages, `Dutch` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2014, Mihai Valentin 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.nl-JVT7LKKG.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.no-SUO4TTOY.min.js: -------------------------------------------------------------------------------- 1 | import{b as F}from"./chunk-P42HNYSU.min.js";var A=F((l,w)=>{(function(i,r){typeof define=="function"&&define.amd?define(r):typeof l=="object"?w.exports=r():r()(i.lunr)})(l,function(){return function(i){if(typeof i>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof i.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");i.no=function(){this.pipeline.reset(),this.pipeline.add(i.no.trimmer,i.no.stopWordFilter,i.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.no.stemmer))},i.no.wordCharacters="A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A",i.no.trimmer=i.trimmerSupport.generateTrimmer(i.no.wordCharacters),i.Pipeline.registerFunction(i.no.trimmer,"trimmer-no"),i.no.stemmer=function(){var r=i.stemmerSupport.Among,f=i.stemmerSupport.SnowballProgram,s=new function(){var a=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],_=[new r("dt",-1,-1),new r("vt",-1,-1)],v=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],m=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],h=[119,125,149,1],d,o,e=new f;this.setCurrent=function(n){e.setCurrent(n)},this.getCurrent=function(){return e.getCurrent()};function k(){var n,t=e.cursor+3;if(o=e.limit,0<=t||t<=e.limit){for(d=t;;){if(n=e.cursor,e.in_grouping(m,97,248)){e.cursor=n;break}if(n>=e.limit)return;e.cursor=n+1}for(;!e.out_grouping(m,97,248);){if(e.cursor>=e.limit)return;e.cursor++}o=e.cursor,o=o&&(t=e.limit_backward,e.limit_backward=o,e.ket=e.cursor,n=e.find_among_b(a,29),e.limit_backward=t,n))switch(e.bra=e.cursor,n){case 1:e.slice_del();break;case 2:c=e.limit-e.cursor,e.in_grouping_b(h,98,122)?e.slice_del():(e.cursor=e.limit-c,e.eq_s_b(1,"k")&&e.out_grouping_b(m,97,248)&&e.slice_del());break;case 3:e.slice_from("er");break}}function g(){var n=e.limit-e.cursor,t;e.cursor>=o&&(t=e.limit_backward,e.limit_backward=o,e.ket=e.cursor,e.find_among_b(_,2)?(e.bra=e.cursor,e.limit_backward=t,e.cursor=e.limit-n,e.cursor>e.limit_backward&&(e.cursor--,e.bra=e.cursor,e.slice_del())):e.limit_backward=t)}function b(){var n,t;e.cursor>=o&&(t=e.limit_backward,e.limit_backward=o,e.ket=e.cursor,n=e.find_among_b(v,11),n?(e.bra=e.cursor,e.limit_backward=t,n==1&&e.slice_del()):e.limit_backward=t)}this.stem=function(){var n=e.cursor;return k(),e.limit_backward=n,e.cursor=e.limit,p(),e.cursor=e.limit,g(),e.cursor=e.limit,b(),!0}};return function(u){return typeof u.update=="function"?u.update(function(a){return s.setCurrent(a),s.stem(),s.getCurrent()}):(s.setCurrent(u),s.stem(),s.getCurrent())}}(),i.Pipeline.registerFunction(i.no.stemmer,"stemmer-no"),i.no.stopWordFilter=i.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt b\xE5de b\xE5e da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar d\xE5 eg ein eit eitt eller elles en enn er et ett etter for fordi fra f\xF8r ha hadde han hans har hennar henne hennes her hj\xE5 ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre n\xE5 n\xE5r og ogs\xE5 om opp oss over p\xE5 samme seg selv si si sia sidan siden sin sine sitt sj\xF8l skal skulle slik so som som somme somt s\xE5 s\xE5nn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort v\xE5r v\xE6re v\xE6re v\xE6rt \xE5".split(" ")),i.Pipeline.registerFunction(i.no.stopWordFilter,"stopWordFilter-no")}})});export default A(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.no.js: 5 | (*! 6 | * Lunr languages, `Norwegian` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2014, Mihai Valentin 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.no-SUO4TTOY.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.sv-K3GSGWC2.min.js: -------------------------------------------------------------------------------- 1 | import{b as k}from"./chunk-P42HNYSU.min.js";var F=k((c,w)=>{(function(n,r){typeof define=="function"&&define.amd?define(r):typeof c=="object"?w.exports=r():r()(n.lunr)})(c,function(){return function(n){if(typeof n>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof n.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");n.sv=function(){this.pipeline.reset(),this.pipeline.add(n.sv.trimmer,n.sv.stopWordFilter,n.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(n.sv.stemmer))},n.sv.wordCharacters="A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A",n.sv.trimmer=n.trimmerSupport.generateTrimmer(n.sv.wordCharacters),n.Pipeline.registerFunction(n.sv.trimmer,"trimmer-sv"),n.sv.stemmer=function(){var r=n.stemmerSupport.Among,l=n.stemmerSupport.SnowballProgram,a=new function(){var o=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],f=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],v=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("l\xF6st",-1,2)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],_=[119,127,149],m,t,e=new l;this.setCurrent=function(i){e.setCurrent(i)},this.getCurrent=function(){return e.getCurrent()};function p(){var i,s=e.cursor+3;if(t=e.limit,0<=s||s<=e.limit){for(m=s;;){if(i=e.cursor,e.in_grouping(d,97,246)){e.cursor=i;break}if(e.cursor=i,e.cursor>=e.limit)return;e.cursor++}for(;!e.out_grouping(d,97,246);){if(e.cursor>=e.limit)return;e.cursor++}t=e.cursor,t=t&&(e.limit_backward=t,e.cursor=e.limit,e.ket=e.cursor,i=e.find_among_b(o,37),e.limit_backward=s,i))switch(e.bra=e.cursor,i){case 1:e.slice_del();break;case 2:e.in_grouping_b(_,98,121)&&e.slice_del();break}}function g(){var i=e.limit_backward;e.cursor>=t&&(e.limit_backward=t,e.cursor=e.limit,e.find_among_b(f,7)&&(e.cursor=e.limit,e.ket=e.cursor,e.cursor>e.limit_backward&&(e.bra=--e.cursor,e.slice_del())),e.limit_backward=i)}function b(){var i,s;if(e.cursor>=t){if(s=e.limit_backward,e.limit_backward=t,e.cursor=e.limit,e.ket=e.cursor,i=e.find_among_b(v,5),i)switch(e.bra=e.cursor,i){case 1:e.slice_del();break;case 2:e.slice_from("l\xF6s");break;case 3:e.slice_from("full");break}e.limit_backward=s}}this.stem=function(){var i=e.cursor;return p(),e.limit_backward=i,e.cursor=e.limit,h(),e.cursor=e.limit,g(),e.cursor=e.limit,b(),!0}};return function(u){return typeof u.update=="function"?u.update(function(o){return a.setCurrent(o),a.stem(),a.getCurrent()}):(a.setCurrent(u),a.stem(),a.getCurrent())}}(),n.Pipeline.registerFunction(n.sv.stemmer,"stemmer-sv"),n.sv.stopWordFilter=n.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du d\xE4r d\xE5 efter ej eller en er era ert ett fr\xE5n f\xF6r ha hade han hans har henne hennes hon honom hur h\xE4r i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu n\xE4r n\xE5gon n\xE5got n\xE5gra och om oss p\xE5 samma sedan sig sin sina sitta sj\xE4lv skulle som s\xE5 s\xE5dan s\xE5dana s\xE5dant till under upp ut utan vad var vara varf\xF6r varit varje vars vart vem vi vid vilka vilkas vilken vilket v\xE5r v\xE5ra v\xE5rt \xE4n \xE4r \xE5t \xF6ver".split(" ")),n.Pipeline.registerFunction(n.sv.stopWordFilter,"stopWordFilter-sv")}})});export default F(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.sv.js: 5 | (*! 6 | * Lunr languages, `Swedish` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2014, Mihai Valentin 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.sv-K3GSGWC2.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.ta-AKIPBQLC.min.js: -------------------------------------------------------------------------------- 1 | import{b as s}from"./chunk-P42HNYSU.min.js";var o=s((n,a)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?a.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="\u0B80-\u0B89\u0B8A-\u0B8F\u0B90-\u0B99\u0B9A-\u0B9F\u0BA0-\u0BA9\u0BAA-\u0BAF\u0BB0-\u0BB9\u0BBA-\u0BBF\u0BC0-\u0BC9\u0BCA-\u0BCF\u0BD0-\u0BD9\u0BDA-\u0BDF\u0BE0-\u0BE9\u0BEA-\u0BEF\u0BF0-\u0BF9\u0BFA-\u0BFFa-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("\u0B85\u0B99\u0BCD\u0B95\u0BC1 \u0B85\u0B99\u0BCD\u0B95\u0BC7 \u0B85\u0BA4\u0BC1 \u0B85\u0BA4\u0BC8 \u0B85\u0BA8\u0BCD\u0BA4 \u0B85\u0BB5\u0BB0\u0BCD \u0B85\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BB5\u0BB3\u0BCD \u0B85\u0BB5\u0BA9\u0BCD \u0B85\u0BB5\u0BC8 \u0B86\u0B95 \u0B86\u0B95\u0BB5\u0BC7 \u0B86\u0B95\u0BC8\u0BAF\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBF\u0BA9\u0BBE\u0BB2\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BC1\u0BAE\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BCD \u0B87\u0B99\u0BCD\u0B95\u0BC1 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0B87\u0BA4\u0BC1 \u0B87\u0BA4\u0BC8 \u0B87\u0BA8\u0BCD\u0BA4 \u0B87\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B87\u0BB5\u0BB0\u0BCD \u0B87\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B87\u0BB5\u0BB3\u0BCD \u0B87\u0BB5\u0BA9\u0BCD \u0B87\u0BB5\u0BC8 \u0B87\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B89\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B89\u0BA9\u0BA4\u0BC1 \u0B89\u0BA9\u0BCD \u0B89\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BC1 \u0B8E\u0B99\u0BCD\u0B95\u0BC7 \u0B8E\u0BA4\u0BC1 \u0B8E\u0BA4\u0BC8 \u0B8E\u0BA8\u0BCD\u0BA4 \u0B8E\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B8E\u0BB5\u0BB0\u0BCD \u0B8E\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BB5\u0BB3\u0BCD \u0B8E\u0BB5\u0BA9\u0BCD \u0B8E\u0BB5\u0BC8 \u0B8E\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B8E\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA9\u0BA4\u0BC1 \u0B8E\u0BA9\u0BB5\u0BC7 \u0B8E\u0BA9\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9 \u0B8E\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8F\u0BA4\u0BC1 \u0B8F\u0BA9\u0BCD \u0BA4\u0BA9\u0BA4\u0BC1 \u0BA4\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0BA4\u0BBE\u0BA9\u0BC7 \u0BA4\u0BBE\u0BA9\u0BCD \u0BA8\u0BBE\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA8\u0BBE\u0BAE\u0BCD \u0BA8\u0BBE\u0BA9\u0BCD \u0BA8\u0BC0 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD".split(" ")),e.ta.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.ta.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(u){return isLunr2?new e.Token(u.toLowerCase()):u.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.ta.js: 5 | (*! 6 | * Lunr languages, `Tamil` language 7 | * https://github.com/tvmani/lunr-languages 8 | * 9 | * Copyright 2021, Manikandan Venkatasubban 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.ta-AKIPBQLC.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.ta-AKIPBQLC.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.ta.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Tamil` language\n * https://github.com/tvmani/lunr-languages\n *\n * Copyright 2021, Manikandan Venkatasubban\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /* register specific locale function */\n lunr.ta = function() {\n this.pipeline.reset();\n this.pipeline.add(\n lunr.ta.trimmer,\n lunr.ta.stopWordFilter,\n lunr.ta.stemmer\n );\n\n // change the tokenizer for japanese one\n // if (isLunr2) { // for lunr version 2.0.0\n // this.tokenizer = lunr.ta.tokenizer;\n // } else {\n // if (lunr.tokenizer) { // for lunr version 0.6.0\n // lunr.tokenizer = lunr.ta.tokenizer;\n // }\n // if (this.tokenizerFn) { // for lunr version 0.7.0 -> 1.0.0\n // this.tokenizerFn = lunr.ta.tokenizer;\n // }\n // }\n\n if (this.searchPipeline) {\n this.searchPipeline.reset();\n this.searchPipeline.add(lunr.ta.stemmer)\n }\n };\n\n /* lunr trimmer function */\n lunr.ta.wordCharacters = \"\\u0b80-\\u0b89\\u0b8a-\\u0b8f\\u0b90-\\u0b99\\u0b9a-\\u0b9f\\u0ba0-\\u0ba9\\u0baa-\\u0baf\\u0bb0-\\u0bb9\\u0bba-\\u0bbf\\u0bc0-\\u0bc9\\u0bca-\\u0bcf\\u0bd0-\\u0bd9\\u0bda-\\u0bdf\\u0be0-\\u0be9\\u0bea-\\u0bef\\u0bf0-\\u0bf9\\u0bfa-\\u0bffa-zA-Z\uFF41-\uFF5A\uFF21-\uFF3A0-9\uFF10-\uFF19\";\n\n lunr.ta.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.ta.wordCharacters);\n\n lunr.Pipeline.registerFunction(lunr.ta.trimmer, 'trimmer-ta');\n /* lunr stop word filter */\n lunr.ta.stopWordFilter = lunr.generateStopWordFilter(\n '\u0B85\u0B99\u0BCD\u0B95\u0BC1 \u0B85\u0B99\u0BCD\u0B95\u0BC7 \u0B85\u0BA4\u0BC1 \u0B85\u0BA4\u0BC8 \u0B85\u0BA8\u0BCD\u0BA4 \u0B85\u0BB5\u0BB0\u0BCD \u0B85\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B85\u0BB5\u0BB3\u0BCD \u0B85\u0BB5\u0BA9\u0BCD \u0B85\u0BB5\u0BC8 \u0B86\u0B95 \u0B86\u0B95\u0BB5\u0BC7 \u0B86\u0B95\u0BC8\u0BAF\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBE\u0BB2\u0BCD \u0B86\u0BA4\u0BB2\u0BBF\u0BA9\u0BBE\u0BB2\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BC1\u0BAE\u0BCD \u0B86\u0BA9\u0BBE\u0BB2\u0BCD \u0B87\u0B99\u0BCD\u0B95\u0BC1 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0B87\u0BA4\u0BC1 \u0B87\u0BA4\u0BC8 \u0B87\u0BA8\u0BCD\u0BA4 \u0B87\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B87\u0BB5\u0BB0\u0BCD \u0B87\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B87\u0BB5\u0BB3\u0BCD \u0B87\u0BB5\u0BA9\u0BCD \u0B87\u0BB5\u0BC8 \u0B87\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B89\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B89\u0BA9\u0BA4\u0BC1 \u0B89\u0BA9\u0BCD \u0B89\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BC1 \u0B8E\u0B99\u0BCD\u0B95\u0BC7 \u0B8E\u0BA4\u0BC1 \u0B8E\u0BA4\u0BC8 \u0B8E\u0BA8\u0BCD\u0BA4 \u0B8E\u0BAA\u0BCD\u0BAA\u0B9F\u0BBF \u0B8E\u0BB5\u0BB0\u0BCD \u0B8E\u0BB5\u0BB0\u0BCD\u0B95\u0BB3\u0BCD \u0B8E\u0BB5\u0BB3\u0BCD \u0B8E\u0BB5\u0BA9\u0BCD \u0B8E\u0BB5\u0BC8 \u0B8E\u0BB5\u0BCD\u0BB5\u0BB3\u0BB5\u0BC1 \u0B8E\u0BA9\u0B95\u0BCD\u0B95\u0BC1 \u0B8E\u0BA9\u0BA4\u0BC1 \u0B8E\u0BA9\u0BB5\u0BC7 \u0B8E\u0BA9\u0BCD \u0B8E\u0BA9\u0BCD\u0BA9 \u0B8E\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0B8F\u0BA4\u0BC1 \u0B8F\u0BA9\u0BCD \u0BA4\u0BA9\u0BA4\u0BC1 \u0BA4\u0BA9\u0BCD\u0BA9\u0BBE\u0BB2\u0BCD \u0BA4\u0BBE\u0BA9\u0BC7 \u0BA4\u0BBE\u0BA9\u0BCD \u0BA8\u0BBE\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA8\u0BBE\u0BAE\u0BCD \u0BA8\u0BBE\u0BA9\u0BCD \u0BA8\u0BC0 \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD'.split(' '));\n /* lunr stemmer function */\n lunr.ta.stemmer = (function() {\n\n return function(word) {\n // for lunr version 2\n if (typeof word.update === \"function\") {\n return word.update(function(word) {\n return word;\n })\n } else { // for lunr version <= 1\n return word;\n }\n\n }\n })();\n\n var segmenter = lunr.wordcut;\n segmenter.init();\n lunr.ta.tokenizer = function(obj) {\n if (!arguments.length || obj == null || obj == undefined) return []\n if (Array.isArray(obj)) return obj.map(function(t) {\n return isLunr2 ? new lunr.Token(t.toLowerCase()) : t.toLowerCase()\n });\n\n var str = obj.toString().toLowerCase().replace(/^\\s+/, '');\n return segmenter.cut(str).split('|');\n }\n\n lunr.Pipeline.registerFunction(lunr.ta.stemmer, 'stemmer-ta');\n lunr.Pipeline.registerFunction(lunr.ta.stopWordFilter, 'stopWordFilter-ta');\n\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAI1HA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IACZA,EAAK,GAAG,QACRA,EAAK,GAAG,eACRA,EAAK,GAAG,OACV,EAcI,KAAK,iBACP,KAAK,eAAe,MAAM,EAC1B,KAAK,eAAe,IAAIA,EAAK,GAAG,OAAO,EAE3C,EAGAA,EAAK,GAAG,eAAiB,mQAEzBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAE5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAE5DA,EAAK,GAAG,eAAiBA,EAAK,uBAC5B,gwDAAgW,MAAM,GAAG,CAAC,EAE5WA,EAAK,GAAG,QAAW,UAAW,CAE5B,OAAO,SAASC,EAAM,CAEpB,OAAI,OAAOA,EAAK,QAAW,WAClBA,EAAK,OAAO,SAASA,EAAM,CAChC,OAAOA,CACT,CAAC,EAEMA,CAGX,CACF,EAAG,EAEH,IAAIC,EAAYF,EAAK,QACrBE,EAAU,KAAK,EACfF,EAAK,GAAG,UAAY,SAASG,EAAK,CAChC,GAAI,CAAC,UAAU,QAAUA,GAAO,MAAQA,GAAO,KAAW,MAAO,CAAC,EAClE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,EAAI,IAAI,SAASC,EAAG,CACjD,OAAO,QAAU,IAAIJ,EAAK,MAAMI,EAAE,YAAY,CAAC,EAAIA,EAAE,YAAY,CACnE,CAAC,EAED,IAAIC,EAAMF,EAAI,SAAS,EAAE,YAAY,EAAE,QAAQ,OAAQ,EAAE,EACzD,OAAOD,EAAU,IAAIG,CAAG,EAAE,MAAM,GAAG,CACrC,EAEAL,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAC5DA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,eAAgB,mBAAmB,CAE5E,CACF,CAAC", 6 | "names": ["require_lunr_ta", "__commonJSMin", "exports", "module", "root", "factory", "lunr", "word", "segmenter", "obj", "t", "str"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.te-OBAK5FVS.min.js: -------------------------------------------------------------------------------- 1 | import{b as o}from"./chunk-P42HNYSU.min.js";var p=o((n,u)=>{(function(e,r){typeof define=="function"&&define.amd?define(r):typeof n=="object"?u.exports=r():r()(e.lunr)})(n,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="\u0C00-\u0C04\u0C05-\u0C14\u0C15-\u0C39\u0C3E-\u0C4C\u0C55-\u0C56\u0C58-\u0C5A\u0C60-\u0C61\u0C62-\u0C63\u0C66-\u0C6F\u0C78-\u0C7F\u0C3C\u0C3D\u0C4D\u0C5D\u0C77\u0C64\u0C65",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("\u0C05\u0C02\u0C26\u0C30\u0C42 \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F \u0C05\u0C21\u0C17\u0C21\u0C02 \u0C05\u0C21\u0C4D\u0C21\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C17\u0C41\u0C23\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C02\u0C1A\u0C41 \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C26\u0C3F \u0C05\u0C2F\u0C3F\u0C24\u0C47 \u0C07\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C47 \u0C09\u0C28\u0C4D\u0C28\u0C3E\u0C30\u0C41 \u0C0E\u0C15\u0C4D\u0C15\u0C21\u0C48\u0C28\u0C3E \u0C0E\u0C2A\u0C4D\u0C2A\u0C41\u0C21\u0C41 \u0C0E\u0C35\u0C30\u0C48\u0C28\u0C3E \u0C0E\u0C35\u0C30\u0C4B \u0C0F \u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C0F\u0C2E\u0C48\u0C28\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C3F \u0C12\u0C15 \u0C12\u0C15\u0C30\u0C41 \u0C15\u0C28\u0C3F\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C3E\u0C2F\u0C3F \u0C15\u0C3E\u0C26\u0C41 \u0C15\u0C42\u0C21\u0C3E \u0C17\u0C3E \u0C17\u0C41\u0C30\u0C3F\u0C02\u0C1A\u0C3F \u0C1A\u0C41\u0C1F\u0C4D\u0C1F\u0C42 \u0C1A\u0C47\u0C2F\u0C17\u0C32\u0C3F\u0C17\u0C3F\u0C02\u0C26\u0C3F \u0C24\u0C17\u0C3F\u0C28 \u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24 \u0C26\u0C3E\u0C26\u0C3E\u0C2A\u0C41 \u0C26\u0C42\u0C30\u0C02\u0C17\u0C3E \u0C28\u0C3F\u0C1C\u0C02\u0C17\u0C3E \u0C2A\u0C48 \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C2A\u0C4D\u0C30\u0C15\u0C4D\u0C15\u0C28 \u0C2E\u0C27\u0C4D\u0C2F \u0C2E\u0C30\u0C3F\u0C2F\u0C41 \u0C2E\u0C30\u0C4A\u0C15 \u0C2E\u0C33\u0C4D\u0C33\u0C40 \u0C2E\u0C3E\u0C24\u0C4D\u0C30\u0C2E\u0C47 \u0C2E\u0C46\u0C1A\u0C4D\u0C1A\u0C41\u0C15\u0C4B \u0C35\u0C26\u0C4D\u0C26 \u0C35\u0C46\u0C02\u0C1F \u0C35\u0C47\u0C30\u0C41\u0C17\u0C3E \u0C35\u0C4D\u0C2F\u0C24\u0C3F\u0C30\u0C47\u0C15\u0C02\u0C17\u0C3E \u0C38\u0C02\u0C2C\u0C02\u0C27\u0C02".split(" ")),e.te.stemmer=function(){return function(t){return typeof t.update=="function"?t.update(function(i){return i}):t}}();var r=e.wordcut;r.init(),e.te.tokenizer=function(t){if(!arguments.length||t==null||t==null)return[];if(Array.isArray(t))return t.map(function(s){return isLunr2?new e.Token(s.toLowerCase()):s.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.te.js: 5 | (*! 6 | * Lunr languages, `Hindi` language 7 | * https://github.com/MiKr13/lunr-languages 8 | * 9 | * Copyright 2023, India 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.te-OBAK5FVS.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.te-OBAK5FVS.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.te.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Hindi` language\n * https://github.com/MiKr13/lunr-languages\n *\n * Copyright 2023, India\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /* register specific locale function */\n lunr.te = function() {\n this.pipeline.reset();\n this.pipeline.add(\n lunr.te.trimmer,\n lunr.te.stopWordFilter,\n lunr.te.stemmer\n );\n\n // change the tokenizer for japanese one\n // if (isLunr2) { // for lunr version 2.0.0\n // this.tokenizer = lunr.hi.tokenizer;\n // } else {\n // if (lunr.tokenizer) { // for lunr version 0.6.0\n // lunr.tokenizer = lunr.hi.tokenizer;\n // }\n // if (this.tokenizerFn) { // for lunr version 0.7.0 -> 1.0.0\n // this.tokenizerFn = lunr.hi.tokenizer;\n // }\n // }\n\n if (this.searchPipeline) {\n this.searchPipeline.reset();\n this.searchPipeline.add(lunr.te.stemmer)\n }\n };\n\n /* lunr trimmer function */\n lunr.te.wordCharacters = \"\\u0C00-\\u0C04\\u0C05-\\u0C14\\u0C15-\\u0C39\\u0C3E-\\u0C4C\\u0C55-\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C61\\u0C62-\\u0C63\\u0C66-\\u0C6F\\u0C78-\\u0C7F\\u0C3C\\u0C3D\\u0C4D\\u0C5D\\u0C77\\u0C64\\u0C65\";\n lunr.te.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.te.wordCharacters);\n\n lunr.Pipeline.registerFunction(lunr.te.trimmer, 'trimmer-te');\n /* lunr stop word filter */\n lunr.te.stopWordFilter = lunr.generateStopWordFilter(\n '\u0C05\u0C02\u0C26\u0C30\u0C42 \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F \u0C05\u0C21\u0C17\u0C21\u0C02 \u0C05\u0C21\u0C4D\u0C21\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C17\u0C41\u0C23\u0C02\u0C17\u0C3E \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C02\u0C1A\u0C41 \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C26\u0C3F \u0C05\u0C2F\u0C3F\u0C24\u0C47 \u0C07\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C47 \u0C09\u0C28\u0C4D\u0C28\u0C3E\u0C30\u0C41 \u0C0E\u0C15\u0C4D\u0C15\u0C21\u0C48\u0C28\u0C3E \u0C0E\u0C2A\u0C4D\u0C2A\u0C41\u0C21\u0C41 \u0C0E\u0C35\u0C30\u0C48\u0C28\u0C3E \u0C0E\u0C35\u0C30\u0C4B \u0C0F \u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C0F\u0C2E\u0C48\u0C28\u0C2A\u0C4D\u0C2A\u0C1F\u0C3F\u0C15\u0C3F \u0C12\u0C15 \u0C12\u0C15\u0C30\u0C41 \u0C15\u0C28\u0C3F\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C3E\u0C2F\u0C3F \u0C15\u0C3E\u0C26\u0C41 \u0C15\u0C42\u0C21\u0C3E \u0C17\u0C3E \u0C17\u0C41\u0C30\u0C3F\u0C02\u0C1A\u0C3F \u0C1A\u0C41\u0C1F\u0C4D\u0C1F\u0C42 \u0C1A\u0C47\u0C2F\u0C17\u0C32\u0C3F\u0C17\u0C3F\u0C02\u0C26\u0C3F \u0C24\u0C17\u0C3F\u0C28 \u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24 \u0C26\u0C3E\u0C26\u0C3E\u0C2A\u0C41 \u0C26\u0C42\u0C30\u0C02\u0C17\u0C3E \u0C28\u0C3F\u0C1C\u0C02\u0C17\u0C3E \u0C2A\u0C48 \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C2A\u0C4D\u0C30\u0C15\u0C4D\u0C15\u0C28 \u0C2E\u0C27\u0C4D\u0C2F \u0C2E\u0C30\u0C3F\u0C2F\u0C41 \u0C2E\u0C30\u0C4A\u0C15 \u0C2E\u0C33\u0C4D\u0C33\u0C40 \u0C2E\u0C3E\u0C24\u0C4D\u0C30\u0C2E\u0C47 \u0C2E\u0C46\u0C1A\u0C4D\u0C1A\u0C41\u0C15\u0C4B \u0C35\u0C26\u0C4D\u0C26 \u0C35\u0C46\u0C02\u0C1F \u0C35\u0C47\u0C30\u0C41\u0C17\u0C3E \u0C35\u0C4D\u0C2F\u0C24\u0C3F\u0C30\u0C47\u0C15\u0C02\u0C17\u0C3E \u0C38\u0C02\u0C2C\u0C02\u0C27\u0C02'.split(' '));\n /* lunr stemmer function */\n lunr.te.stemmer = (function() {\n\n return function(word) {\n // for lunr version 2\n if (typeof word.update === \"function\") {\n return word.update(function(word) {\n return word;\n })\n } else { // for lunr version <= 1\n return word;\n }\n\n }\n })();\n\n var segmenter = lunr.wordcut;\n segmenter.init();\n lunr.te.tokenizer = function(obj) {\n if (!arguments.length || obj == null || obj == undefined) return []\n if (Array.isArray(obj)) return obj.map(function(t) {\n return isLunr2 ? new lunr.Token(t.toLowerCase()) : t.toLowerCase()\n });\n\n var str = obj.toString().toLowerCase().replace(/^\\s+/, '');\n return segmenter.cut(str).split('|');\n }\n\n lunr.Pipeline.registerFunction(lunr.te.stemmer, 'stemmer-te');\n lunr.Pipeline.registerFunction(lunr.te.stopWordFilter, 'stopWordFilter-te');\n\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAI1HA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IACZA,EAAK,GAAG,QACRA,EAAK,GAAG,eACRA,EAAK,GAAG,OACV,EAcI,KAAK,iBACP,KAAK,eAAe,MAAM,EAC1B,KAAK,eAAe,IAAIA,EAAK,GAAG,OAAO,EAE3C,EAGAA,EAAK,GAAG,eAAiB,+KACzBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAE5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAE5DA,EAAK,GAAG,eAAiBA,EAAK,uBAC5B,8tDAA6U,MAAM,GAAG,CAAC,EAEzVA,EAAK,GAAG,QAAW,UAAW,CAE5B,OAAO,SAASC,EAAM,CAEpB,OAAI,OAAOA,EAAK,QAAW,WAClBA,EAAK,OAAO,SAASA,EAAM,CAChC,OAAOA,CACT,CAAC,EAEMA,CAGX,CACF,EAAG,EAEH,IAAIC,EAAYF,EAAK,QACrBE,EAAU,KAAK,EACfF,EAAK,GAAG,UAAY,SAASG,EAAK,CAChC,GAAI,CAAC,UAAU,QAAUA,GAAO,MAAQA,GAAO,KAAW,MAAO,CAAC,EAClE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,EAAI,IAAI,SAASC,EAAG,CACjD,OAAO,QAAU,IAAIJ,EAAK,MAAMI,EAAE,YAAY,CAAC,EAAIA,EAAE,YAAY,CACnE,CAAC,EAED,IAAIC,EAAMF,EAAI,SAAS,EAAE,YAAY,EAAE,QAAQ,OAAQ,EAAE,EACzD,OAAOD,EAAU,IAAIG,CAAG,EAAE,MAAM,GAAG,CACrC,EAEAL,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAC5DA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,eAAgB,mBAAmB,CAE5E,CACF,CAAC", 6 | "names": ["require_lunr_te", "__commonJSMin", "exports", "module", "root", "factory", "lunr", "word", "segmenter", "obj", "t", "str"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.th-LSQ6T65I.min.js: -------------------------------------------------------------------------------- 1 | import{b as h}from"./chunk-P42HNYSU.min.js";var p=h((r,o)=>{(function(e,t){typeof define=="function"&&define.amd?define(t):typeof r=="object"?o.exports=t():t()(e.lunr)})(r,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var t=e.version[0]=="2";e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),t?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[\u0E00-\u0E7F]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var n=e.wordcut;n.init(),e.th.tokenizer=function(i){if(!arguments.length||i==null||i==null)return[];if(Array.isArray(i))return i.map(function(s){return t?new e.Token(s):s});var f=i.toString().replace(/^\s+/,"");return n.cut(f).split("|")}}})});export default p(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.th.js: 5 | (*! 6 | * Lunr languages, `Thai` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.th-LSQ6T65I.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.th-LSQ6T65I.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.th.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Thai` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /*\n Thai tokenization is the same to Japanense, which does not take into account spaces.\n So, it uses the same logic to assign tokenization function due to different Lunr versions.\n */\n var isLunr2 = lunr.version[0] == \"2\";\n\n /* register specific locale function */\n lunr.th = function() {\n this.pipeline.reset();\n this.pipeline.add(\n /*lunr.th.stopWordFilter,*/\n lunr.th.trimmer\n );\n\n if (isLunr2) { // for lunr version 2.0.0\n this.tokenizer = lunr.th.tokenizer;\n } else {\n if (lunr.tokenizer) { // for lunr version 0.6.0\n lunr.tokenizer = lunr.th.tokenizer;\n }\n if (this.tokenizerFn) { // for lunr version 0.7.0 -> 1.0.0\n this.tokenizerFn = lunr.th.tokenizer;\n }\n }\n };\n\n /* lunr trimmer function */\n lunr.th.wordCharacters = \"[\\u0e00-\\u0e7f]\";\n lunr.th.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.th.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.th.trimmer, 'trimmer-th');\n\n var segmenter = lunr.wordcut;\n segmenter.init();\n lunr.th.tokenizer = function(obj) {\n //console.log(obj);\n if (!arguments.length || obj == null || obj == undefined) return []\n if (Array.isArray(obj)) return obj.map(function(t) {\n return isLunr2 ? new lunr.Token(t) : t\n })\n\n var str = obj.toString().replace(/^\\s+/, '');\n return segmenter.cut(str).split('|');\n }\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAO1H,IAAIC,EAAUD,EAAK,QAAQ,CAAC,GAAK,IAGjCA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IAEZA,EAAK,GAAG,OACV,EAEIC,EACF,KAAK,UAAYD,EAAK,GAAG,WAErBA,EAAK,YACPA,EAAK,UAAYA,EAAK,GAAG,WAEvB,KAAK,cACP,KAAK,YAAcA,EAAK,GAAG,WAGjC,EAGAA,EAAK,GAAG,eAAiB,kBACzBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAE5D,IAAIE,EAAYF,EAAK,QACrBE,EAAU,KAAK,EACfF,EAAK,GAAG,UAAY,SAASG,EAAK,CAEhC,GAAI,CAAC,UAAU,QAAUA,GAAO,MAAQA,GAAO,KAAW,MAAO,CAAC,EAClE,GAAI,MAAM,QAAQA,CAAG,EAAG,OAAOA,EAAI,IAAI,SAASC,EAAG,CACjD,OAAOH,EAAU,IAAID,EAAK,MAAMI,CAAC,EAAIA,CACvC,CAAC,EAED,IAAIC,EAAMF,EAAI,SAAS,EAAE,QAAQ,OAAQ,EAAE,EAC3C,OAAOD,EAAU,IAAIG,CAAG,EAAE,MAAM,GAAG,CACrC,CACF,CACF,CAAC", 6 | "names": ["require_lunr_th", "__commonJSMin", "exports", "module", "root", "factory", "lunr", "isLunr2", "segmenter", "obj", "t", "str"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-S3VOAA5A.min.js: -------------------------------------------------------------------------------- 1 | import{b as u}from"./chunk-P42HNYSU.min.js";var o=u((t,r)=>{(function(e,i){typeof define=="function"&&define.amd?define(i):typeof t=="object"?r.exports=i():i()(e.lunr)})(t,function(){return function(e){if(typeof e>"u")throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(typeof e.stemmerSupport>"u")throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-z\u0300\u0350\u0301\u0351\u0309\u0323\u0303\u0343\xC2\xE2\xCA\xEA\xD4\xF4\u0102-\u0103\u0110-\u0111\u01A0-\u01A1\u01AF-\u01B0]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("l\xE0 c\xE1i nh\u01B0ng m\xE0".split(" "))}})});export default o(); 2 | /*! Bundled license information: 3 | 4 | lunr-languages/lunr.vi.js: 5 | (*! 6 | * Lunr languages, `Vietnamese` language 7 | * https://github.com/MihaiValentin/lunr-languages 8 | * 9 | * Copyright 2017, Keerati Thiwanruk 10 | * http://www.mozilla.org/MPL/ 11 | *) 12 | (*! 13 | * based on 14 | * Snowball JavaScript Library v0.3 15 | * http://code.google.com/p/urim/ 16 | * http://snowball.tartarus.org/ 17 | * 18 | * Copyright 2010, Oleg Mazko 19 | * http://www.mozilla.org/MPL/ 20 | *) 21 | */ 22 | //# sourceMappingURL=lunr.vi-S3VOAA5A.min.js.map 23 | -------------------------------------------------------------------------------- /docs/public/lunr.vi-S3VOAA5A.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/lunr-languages/lunr.vi.js"], 4 | "sourcesContent": ["/*!\n * Lunr languages, `Vietnamese` language\n * https://github.com/MihaiValentin/lunr-languages\n *\n * Copyright 2017, Keerati Thiwanruk\n * http://www.mozilla.org/MPL/\n */\n/*!\n * based on\n * Snowball JavaScript Library v0.3\n * http://code.google.com/p/urim/\n * http://snowball.tartarus.org/\n *\n * Copyright 2010, Oleg Mazko\n * http://www.mozilla.org/MPL/\n */\n\n/**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n;\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory)\n } else if (typeof exports === 'object') {\n /**\n * Node. Does not work with strict CommonJS, but\n * only CommonJS-like environments that support module.exports,\n * like Node.\n */\n module.exports = factory()\n } else {\n // Browser globals (root is window)\n factory()(root.lunr);\n }\n}(this, function() {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return function(lunr) {\n /* throw error if lunr is not yet included */\n if ('undefined' === typeof lunr) {\n throw new Error('Lunr is not present. Please include / require Lunr before this script.');\n }\n\n /* throw error if lunr stemmer support is not yet included */\n if ('undefined' === typeof lunr.stemmerSupport) {\n throw new Error('Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.');\n }\n\n /* register specific locale function */\n lunr.vi = function() {\n this.pipeline.reset();\n this.pipeline.add(\n lunr.vi.stopWordFilter,\n lunr.vi.trimmer\n );\n };\n\n /* lunr trimmer function */\n lunr.vi.wordCharacters = \"[\" +\n \"A-Za-z\" +\n \"\\u0300\\u0350\" + // d\u1EA5u huy\u1EC1n\n \"\\u0301\\u0351\" + // d\u1EA5u s\u1EAFc\n \"\\u0309\" + // d\u1EA5u h\u1ECFi\n \"\\u0323\" + // d\u1EA5u n\u1EB7ng\n \"\\u0303\\u0343\" + // d\u1EA5u ng\u00E3\n \"\\u00C2\\u00E2\" + // \u00C2\n \"\\u00CA\\u00EA\" + // \u00CA\n \"\\u00D4\\u00F4\" + // \u00D4\n \"\\u0102-\\u0103\" + // \u0102\n \"\\u0110-\\u0111\" + // \u0110\n \"\\u01A0-\\u01A1\" + // \u01A0\n \"\\u01AF-\\u01B0\" + // \u01AF\n \"]\";\n lunr.vi.trimmer = lunr.trimmerSupport.generateTrimmer(lunr.vi.wordCharacters);\n lunr.Pipeline.registerFunction(lunr.vi.trimmer, 'trimmer-vi');\n lunr.vi.stopWordFilter = lunr.generateStopWordFilter('l\u00E0 c\u00E1i nh\u01B0ng m\u00E0'.split(' '));\n };\n}))"], 5 | "mappings": "4CAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,EAsBC,SAASC,EAAMC,EAAS,CACnB,OAAO,QAAW,YAAc,OAAO,IAEzC,OAAOA,CAAO,EACL,OAAOH,GAAY,SAM5BC,EAAO,QAAUE,EAAQ,EAGzBA,EAAQ,EAAED,EAAK,IAAI,CAEvB,GAAEF,EAAM,UAAW,CAMjB,OAAO,SAASI,EAAM,CAEpB,GAAoB,OAAOA,EAAvB,IACF,MAAM,IAAI,MAAM,wEAAwE,EAI1F,GAAoB,OAAOA,EAAK,eAA5B,IACF,MAAM,IAAI,MAAM,wGAAwG,EAI1HA,EAAK,GAAK,UAAW,CACnB,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,IACZA,EAAK,GAAG,eACRA,EAAK,GAAG,OACV,CACF,EAGAA,EAAK,GAAG,eAAiB,uIAezBA,EAAK,GAAG,QAAUA,EAAK,eAAe,gBAAgBA,EAAK,GAAG,cAAc,EAC5EA,EAAK,SAAS,iBAAiBA,EAAK,GAAG,QAAS,YAAY,EAC5DA,EAAK,GAAG,eAAiBA,EAAK,uBAAuB,gCAAkB,MAAM,GAAG,CAAC,CACnF,CACF,CAAC", 6 | "names": ["require_lunr_vi", "__commonJSMin", "exports", "module", "root", "factory", "lunr"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APIPatterns/api-anatomy/7c5250ce89a0bdb7efc67b5bed14e6c30cfc6e0d/docs/public/main.css -------------------------------------------------------------------------------- /docs/public/main.js: -------------------------------------------------------------------------------- 1 | export default {} 2 | -------------------------------------------------------------------------------- /docs/public/mermaid.core-TOXYJXQE.min.js: -------------------------------------------------------------------------------- 1 | import{J as m,b as r,c as t,qb as p}from"./chunk-YICCS3KT.min.js";import{d as o}from"./chunk-P42HNYSU.min.js";var e=o(r(),1),f=o(t(),1);var l=o(m(),1);export{p as default}; 2 | //# sourceMappingURL=mermaid.core-TOXYJXQE.min.js.map 3 | -------------------------------------------------------------------------------- /docs/public/mermaid.core-TOXYJXQE.min.js.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "sources": ["../../node_modules/mermaid/dist/mermaid.core.mjs"], 4 | "sourcesContent": ["import \"ts-dedent\";\nimport { L } from \"./mermaid-934d9bea.js\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"d3\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nexport {\n L as default\n};\n"], 5 | "mappings": "8GAEA,IAAAA,EAAO,SACPC,EAAO,SAEP,IAAAC,EAAO", 6 | "names": ["import_dayjs", "import_sanitize_url", "import_dompurify"] 7 | } 8 | -------------------------------------------------------------------------------- /docs/public/stateDiagram-v2-2671c3d1-GBFY3N5Z.min.js: -------------------------------------------------------------------------------- 1 | import{a as V,b as Y,c as W,d as z,e as w,f as q,g as G,h as K}from"./chunk-CK25GZVZ.min.js";import{a as U}from"./chunk-YAMJ4ASO.min.js";import"./chunk-3RELVOUY.min.js";import"./chunk-DALFUHAB.min.js";import{j as H}from"./chunk-EKFGDCJ4.min.js";import{$a as J,Ga as l,J as rt,La as g,Za as j,b as it,c as ct,h as y,jb as h}from"./chunk-YICCS3KT.min.js";import{d as R}from"./chunk-P42HNYSU.min.js";var Mt=R(it(),1),Ht=R(ct(),1),Ut=R(rt(),1);var x="rect",N="rectWithTitle",lt="start",at="end",dt="divider",Et="roundedWithTitle",St="note",pt="noteGroup",_="statediagram",Tt="state",_t=`${_}-${Tt}`,X="transition",ut="note",bt="note-edge",ft=`${X} ${bt}`,Dt=`${_}-${ut}`,ht="cluster",At=`${_}-${ht}`,yt="cluster-alt",gt=`${_}-${yt}`,Z="parent",F="note",xt="state",O="----",$t=`${O}${F}`,Q=`${O}${Z}`,I="fill:none",tt="fill: #333",et="c",ot="text",st="normal",$={},E=0,Ct=function(t){let n=Object.keys(t);for(let e of n)t[e]},Rt=function(t,n){return n.db.extract(n.db.getRootDocV2()),n.db.getClasses()};function wt(t){return t==null?"":t.classes?t.classes.join(" "):""}function L(t="",n=0,e="",i=O){let c=e!==null&&e.length>0?`${i}${e}`:"";return`${xt}-${t}${c}-${n}`}var A=(t,n,e,i,c,r)=>{let o=e.id,u=wt(i[o]);if(o!=="root"){let p=x;e.start===!0&&(p=lt),e.start===!1&&(p=at),e.type!==w&&(p=e.type),$[o]||($[o]={id:o,shape:p,description:g.sanitizeText(o,h()),classes:`${u} ${_t}`});let s=$[o];e.description&&(Array.isArray(s.description)?(s.shape=N,s.description.push(e.description)):s.description.length>0?(s.shape=N,s.description===o?s.description=[e.description]:s.description=[s.description,e.description]):(s.shape=x,s.description=e.description),s.description=g.sanitizeTextOrArray(s.description,h())),s.description.length===1&&s.shape===N&&(s.shape=x),!s.type&&e.doc&&(l.info("Setting cluster for ",o,P(e)),s.type="group",s.dir=P(e),s.shape=e.type===q?dt:Et,s.classes=s.classes+" "+At+" "+(r?gt:""));let T={labelStyle:"",shape:s.shape,labelText:s.description,classes:s.classes,style:"",id:o,dir:s.dir,domId:L(o,E),type:s.type,padding:15};if(T.centerLabel=!0,e.note){let a={labelStyle:"",shape:St,labelText:e.note.text,classes:Dt,style:"",id:o+$t+"-"+E,domId:L(o,E,F),type:s.type,padding:15},d={labelStyle:"",shape:pt,labelText:e.note.text,classes:s.classes,style:"",id:o+Q,domId:L(o,E,Z),type:"group",padding:0};E++;let b=o+Q;t.setNode(b,d),t.setNode(a.id,a),t.setNode(o,T),t.setParent(o,b),t.setParent(a.id,b);let S=o,f=a.id;e.note.position==="left of"&&(S=a.id,f=o),t.setEdge(S,f,{arrowhead:"none",arrowType:"",style:I,labelStyle:"",classes:ft,arrowheadStyle:tt,labelpos:et,labelType:ot,thickness:st})}else t.setNode(o,T)}n&&n.id!=="root"&&(l.trace("Setting node ",o," to be child of its parent ",n.id),t.setParent(o,n.id)),e.doc&&(l.trace("Adding nodes children "),Gt(t,e,e.doc,i,c,!r))},Gt=(t,n,e,i,c,r)=>{l.trace("items",e),e.forEach(o=>{switch(o.stmt){case W:A(t,n,o,i,c,r);break;case w:A(t,n,o,i,c,r);break;case z:{A(t,n,o.state1,i,c,r),A(t,n,o.state2,i,c,r);let u={id:"edge"+E,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:I,labelStyle:"",label:g.sanitizeText(o.description,h()),arrowheadStyle:tt,labelpos:et,labelType:ot,thickness:st,classes:X};t.setEdge(o.state1.id,o.state2.id,u,E),E++}break}})},P=(t,n=Y)=>{let e=n;if(t.doc)for(let i=0;i{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,G.clear()}};export{Wt as diagram}; 2 | //# sourceMappingURL=stateDiagram-v2-2671c3d1-GBFY3N5Z.min.js.map 3 | -------------------------------------------------------------------------------- /docs/toc.html: -------------------------------------------------------------------------------- 1 |  2 |
3 |
4 |
5 |
6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 19 |
20 |
21 |
22 |
23 | -------------------------------------------------------------------------------- /docs/toc.json: -------------------------------------------------------------------------------- 1 | 2 | {"items":[{"name":"Home","href":"README.html","topicHref":"README.html"}],"pdf":true} 3 | -------------------------------------------------------------------------------- /docs/toc.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APIPatterns/api-anatomy/7c5250ce89a0bdb7efc67b5bed14e6c30cfc6e0d/docs/toc.pdf -------------------------------------------------------------------------------- /docs/xrefmap.yml: -------------------------------------------------------------------------------- 1 | ### YamlMime:XRefMap 2 | sorted: true 3 | references: [] 4 | -------------------------------------------------------------------------------- /methods.md: -------------------------------------------------------------------------------- 1 | # HTTP Methods 2 | 3 | API consumers interact with resources in an API using [HTTP Methods](https://www.iana.org/assignments/http-methods/http-methods.xhtml). There is a limited set of supported HTTP methods that can be reused across many resources. Not every resource supports every method. 4 | 5 | 6 | 7 | ```mermaid 8 | graph LR 9 | GET --> g200[200] --> Get 10 | GET --> g200[200] --> Function 11 | GET --> g204[204] --> Ping 12 | GET --> g202[202] --> Report 13 | POST --> po201[201] --> Create 14 | POST --> po200[200] --> Action 15 | POST --> po204[204] --> FireAndForget 16 | POST --> po202[202] --> Job 17 | PUT --> pu200[200] --> Replace 18 | PUT --> pu204[204] --> ReplaceNoResponse 19 | PUT --> pu200-201[200,201] --> ReplaceOrCreate 20 | PATCH --> pa200-201[200,201] --> UpdateOrCreate 21 | PATCH --> pa200-201-204[200,201,204] --> UpdateOrCreateNoResponse 22 | 23 | 24 | ``` -------------------------------------------------------------------------------- /models/polymorphic.md: -------------------------------------------------------------------------------- 1 | # Polymorphic Responses 2 | 3 | - Representing inheritance 4 | - Inline schemas with a single allOf for the base type 5 | - Array of anyOfs with one being the base type (why oneOf is likely wrong) 6 | 7 | 8 | Simulating inheritance using allOf. 9 | ```yaml 10 | components: 11 | schemas: 12 | cat: 13 | type: object 14 | allOf: 15 | - $ref: "#/components/schemas/animal" 16 | animal: 17 | type: object 18 | properties: 19 | species: 20 | type: string 21 | ``` 22 | 23 | Any allOf constraint with a single $ref array member is considered a declaration of a base type. 24 | 25 | 1. Given a schema 26 | 2. If schema is a component type, name equals component name 27 | else type name is generated based on some context 28 | 3. If schema contains allOf and other "important properties???", 29 | 2a. If allOf has one child schema that is a $ref, $ref points to base type 30 | else merge the allOfs into the current type 31 | 2b. if schema contains oneOf. Throw up hands. 32 | 4. if schema contains oneOf or anyOf 33 | 4a. create wrapper class called ??? 34 | 4b. Create properties that correstpond to child schemas 35 | - primitives use the type name 36 | - objects use the paths and other context to construct "best possible names". 37 | 38 | 39 | ## Still to investigate: 40 | Nested allOfs 41 | allOf primitive types? 42 | Should anyOf and oneOf be treated different for modelling 43 | 44 | Kiota => anyOf with shared properties actually deserialize the property twice. 45 | 46 | ## Proposing new keywords 47 | 48 | ```yaml 49 | components: 50 | schemas: 51 | foo: 52 | allOfAsExtends: # inheritance 53 | - $ref: '#/components/schemas/base' 54 | - $ref: '#/components/schemas/Otherbase' 55 | allOf: # spread 56 | - $ref: '#/components/schemas/creationInfo' 57 | ``` 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | Simulating using anyOf.. 77 | ```yaml 78 | 79 | paths: 80 | /felines/{id}: 81 | responses: 82 | 200: 83 | description: ok 84 | schema: 85 | title: feline 86 | anyOf: 87 | - $ref: "#/components/animal" 88 | - $ref: "#/components/cat" 89 | - $ref: "#/components/tiger" 90 | components: 91 | schemas: 92 | dog: 93 | type: object 94 | tiger: 95 | type: object 96 | cat: 97 | type: object 98 | animal: 99 | type: object 100 | properties: 101 | species: 102 | type: string 103 | 104 | ``` 105 | -------------------------------------------------------------------------------- /models/union-types.md: -------------------------------------------------------------------------------- 1 | 2 | - Union type with primitives 3 | - Union type with arrays 4 | - Union type with objects 5 | 6 | ```yaml 7 | 8 | components: 9 | schemas: 10 | primitives: 11 | oneOf: 12 | - type: string 13 | - type: number 14 | 15 | ``` -------------------------------------------------------------------------------- /path/category.md: -------------------------------------------------------------------------------- 1 | # Category Path Segment 2 | 3 | For large APIs with many resources it is often useful to group related resources under a category path segment. Generally this kind of path segment would appear early in the URL. 4 | 5 | ```yaml 6 | openapi: 3.0.3 7 | info: 8 | title: "Accounting path segment used to group related resources" 9 | version: "1.0.0" 10 | servers: 11 | - url: https://api.example.org/ 12 | paths: 13 | /accounting/invoices: 14 | get: 15 | responses: 16 | 200: 17 | description: ok 18 | /accounting/generalLedger: 19 | get: 20 | responses: 21 | 200: 22 | description: ok 23 | /accounting/accounts: 24 | get: 25 | responses: 26 | 200: 27 | description: ok 28 | ``` 29 | 30 | A category segment can be used as an alternative to creating separate APIs for each of the categories. -------------------------------------------------------------------------------- /path/collection.md: -------------------------------------------------------------------------------- 1 | # Collection Path Segment 2 | 3 | - Filters 4 | - ordering 5 | - collection level actions 6 | - item relationship 7 | - PATCH 8 | - POST -------------------------------------------------------------------------------- /path/data-partition.md: -------------------------------------------------------------------------------- 1 | # Data Partition Path Segment 2 | 3 | For SAAS APIs, there is often a unique set of data for each API consumer customer. A data partition path segment can be used to distinguish between data the different sets of data. Using the path to make this distinction in case there is future need to reference data from multiple datasets in a single application. 4 | 5 | ```yaml 6 | openapi: 3.0.0 7 | info: 8 | title: "Accounting path segment used to group related resources" 9 | version: "1.0.0" 10 | servers: 11 | - url: https://api.example.org/ 12 | paths: 13 | /{datapartition}/invoices: 14 | parameters: 15 | - $ref: "#/components/parameters/datapartition" 16 | get: 17 | responses: 18 | 200: 19 | description: ok 20 | /{datapartition}/generalLedger: 21 | parameters: 22 | - $ref: "#/components/parameters/datapartition" 23 | get: 24 | responses: 25 | 200: 26 | description: ok 27 | /{datapartition}/accounts: 28 | parameters: 29 | - $ref: "#/components/parameters/datapartition" 30 | get: 31 | responses: 32 | 200: 33 | description: ok 34 | components: 35 | parameters: 36 | datapartition: 37 | name: datapartition 38 | in: path 39 | required: true 40 | schema: 41 | type: string 42 | 43 | ``` 44 | 45 | As a data partition would generally apply to all resources in an API, it could also be modelled as a aerver variable in OpenAPI. 46 | 47 | ```yaml 48 | openapi: 3.0.0 49 | info: 50 | title: "Accounting path segment used to group related resources" 51 | version: "1.0.0" 52 | servers: 53 | - url: https://example.org/{datapartition}/ 54 | variables: 55 | datapartition: 56 | default: sandbox 57 | description: A sandbox dataset used for testing API calls 58 | paths: 59 | /invoices: 60 | get: 61 | responses: 62 | 200: 63 | description: ok 64 | /generalLedger: 65 | get: 66 | responses: 67 | 200: 68 | description: ok 69 | /accounts: 70 | get: 71 | responses: 72 | 200: 73 | description: ok 74 | ``` 75 | 76 | One disadvantage of this approach is that it is OpenAPI does not provide rich facilities facilities for describing as server variable, like it does for parameters. -------------------------------------------------------------------------------- /path/function.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APIPatterns/api-anatomy/7c5250ce89a0bdb7efc67b5bed14e6c30cfc6e0d/path/function.md -------------------------------------------------------------------------------- /path/item.md: -------------------------------------------------------------------------------- 1 | # Item key path parameters 2 | -------------------------------------------------------------------------------- /path/key-value-pair.md: -------------------------------------------------------------------------------- 1 | # Key Value Pair Path Segments -------------------------------------------------------------------------------- /path/matrix.md: -------------------------------------------------------------------------------- 1 | # Matrix Parameters in a Path Segment -------------------------------------------------------------------------------- /path/multi-segment.md: -------------------------------------------------------------------------------- 1 | # Multi-segment path parameters -------------------------------------------------------------------------------- /path/relationship.md: -------------------------------------------------------------------------------- 1 | # Relationship Path Segmnent 2 | 3 | It is common for resources in an API to have some kind of relationship such as "parent-child" or "has a" relationship. -------------------------------------------------------------------------------- /path/version.md: -------------------------------------------------------------------------------- 1 | # Version Path Segment 2 | 3 | It is common for APIs to be designed with one of the left-most path segments being reserved for a version identifier. Numerous API design guidelines describe this as a best practice. It does make it easier for the API provider to introduce a significant amount of breaking changes, however the burden is transfered to the API consumer who must accomodate all the new changes in order to take advantage of any new change. 4 | 5 | ```yaml 6 | openapi: 3.0.3 7 | info: 8 | title: "Version path segment at the front" 9 | version: "1.0.0" 10 | servers: 11 | - url: https://api.example.org/ 12 | paths: 13 | /{version}/invoices: 14 | get: 15 | responses: 16 | 200: 17 | description: ok 18 | /{version}/customers: 19 | get: 20 | responses: 21 | 200: 22 | description: ok 23 | ``` 24 | 25 | If the version segment is the left most path segment and is used for all paths, it can be represented as a server variable. 26 | 27 | ```yaml 28 | openapi: 3.0.3 29 | info: 30 | title: "Version path segment at the front" 31 | version: "1.0.0" 32 | servers: 33 | - url: https://api.example.org/{version}/ 34 | variables: 35 | version: 36 | default: "1.0" 37 | enum: 38 | - "1.0" 39 | - "2.0" 40 | paths: 41 | /invoices: 42 | get: 43 | responses: 44 | 200: 45 | description: ok 46 | /customers: 47 | get: 48 | responses: 49 | 200: 50 | description: ok 51 | ``` 52 | -------------------------------------------------------------------------------- /toc.yml: -------------------------------------------------------------------------------- 1 | - name: Home 2 | href: README.md --------------------------------------------------------------------------------