@kulupu-linku/sona 0.3.5 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/.assetsignore +0 -0
  2. package/dist/client-BSyS8F5a.d.ts +1612 -0
  3. package/dist/client-BitJ28pJ.js +10 -0
  4. package/dist/client-CUMo53JZ.d.ts +1612 -0
  5. package/dist/client-DNWH1gFt.js +10 -0
  6. package/dist/index-1jX6YIBj.d.ts +1497 -0
  7. package/dist/index-DObG_APy.d.ts +398 -0
  8. package/dist/index-DsVEVr6r.d.ts +300 -0
  9. package/dist/lib/v1/client.d.ts +3 -0
  10. package/dist/lib/v1/client.js +3 -0
  11. package/dist/lib/v1/client.test.d.ts +31 -0
  12. package/dist/lib/v1/client.test.js +3 -0
  13. package/dist/lib/v1/index.d.ts +2 -0
  14. package/dist/lib/v1/index.js +4 -0
  15. package/dist/lib/v1/types.d.ts +2 -0
  16. package/dist/lib/v1/types.js +1 -0
  17. package/dist/lib/v1/utils.d.ts +26 -0
  18. package/dist/lib/v1/utils.js +3 -0
  19. package/dist/lib/v2/client.d.ts +3 -0
  20. package/dist/lib/v2/client.js +3 -0
  21. package/dist/lib/v2/client.test.d.ts +36 -0
  22. package/dist/lib/v2/client.test.js +3 -0
  23. package/dist/lib/v2/index.d.ts +2 -0
  24. package/dist/lib/v2/index.js +4 -0
  25. package/dist/lib/v2/types.d.ts +2 -0
  26. package/dist/lib/v2/types.js +1 -0
  27. package/dist/lib/v2/utils.d.ts +44 -0
  28. package/dist/lib/v2/utils.js +3 -0
  29. package/dist/server/index.d.ts +2 -684
  30. package/dist/server/index.js +43 -0
  31. package/dist/server/utils.d.ts +22 -15
  32. package/dist/server/utils.js +3 -0
  33. package/dist/server/v1/index.d.ts +863 -639
  34. package/dist/server/v1/index.js +8 -0
  35. package/dist/server/v2/index.d.ts +1112 -0
  36. package/dist/server/v2/index.js +8 -0
  37. package/dist/server/versioning.d.ts +1964 -2369
  38. package/dist/server/versioning.js +8 -0
  39. package/dist/utils-DkAaVBMs.js +33 -0
  40. package/dist/utils-QiKwNnnL.js +37 -0
  41. package/dist/utils-Z1o5sWsW.js +40 -0
  42. package/dist/v1-DkHVwPCI.js +139 -0
  43. package/dist/v1-obRCoWWK.js +267 -0
  44. package/dist/v2-CDtbJFxV.js +194 -0
  45. package/generated/v2/fingerspelling.json +124 -0
  46. package/generated/v2/fingerspellings.json +135 -0
  47. package/generated/v2/font.json +119 -0
  48. package/generated/v2/fonts.json +130 -0
  49. package/generated/v2/glyph.json +160 -0
  50. package/generated/v2/glyphs.json +167 -0
  51. package/generated/v2/language.json +58 -0
  52. package/generated/v2/languages.json +67 -0
  53. package/generated/v2/sign.json +149 -0
  54. package/generated/v2/signs.json +160 -0
  55. package/generated/v2/word.json +306 -0
  56. package/generated/v2/words.json +313 -0
  57. package/package.json +47 -28
  58. package/dist/client.d.ts +0 -1
  59. package/dist/client.js +0 -165
  60. package/dist/index.d.ts +0 -1
  61. package/dist/index.js +0 -223
  62. package/dist/lib/client.d.ts +0 -742
  63. package/dist/lib/client.test.d.ts +0 -28
  64. package/dist/lib/index.d.ts +0 -963
  65. package/dist/lib/types.d.ts +0 -18
  66. package/dist/lib/utils.d.ts +0 -14
  67. package/dist/utils-GfUvEzD4.js +0 -2905
  68. package/dist/utils.d.ts +0 -1
  69. package/dist/utils.js +0 -9
  70. package/generated/words.json +0 -315
  71. /package/generated/{commentary_translation.json → v1/commentary_translation.json} +0 -0
  72. /package/generated/{definition_translation.json → v1/definition_translation.json} +0 -0
  73. /package/generated/{etymology_translation.json → v1/etymology_translation.json} +0 -0
  74. /package/generated/{fingerspelling.json → v1/fingerspelling.json} +0 -0
  75. /package/generated/{fingerspelling_sign.json → v1/fingerspelling_sign.json} +0 -0
  76. /package/generated/{font.json → v1/font.json} +0 -0
  77. /package/generated/{fonts.json → v1/fonts.json} +0 -0
  78. /package/generated/{icon_translation.json → v1/icon_translation.json} +0 -0
  79. /package/generated/{languages.json → v1/languages.json} +0 -0
  80. /package/generated/{parameters_translation.json → v1/parameters_translation.json} +0 -0
  81. /package/generated/{sign.json → v1/sign.json} +0 -0
  82. /package/generated/{signs.json → v1/signs.json} +0 -0
  83. /package/generated/{sitelen_pona_translation.json → v1/sitelen_pona_translation.json} +0 -0
  84. /package/generated/{word.json → v1/word.json} +0 -0
@@ -0,0 +1,313 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "description": "A raw data object containing dictionary info about Toki Pona words",
4
+ "type": "object",
5
+ "propertyNames": {
6
+ "$ref": "#/$defs/__schema0"
7
+ },
8
+ "additionalProperties": {
9
+ "type": "object",
10
+ "properties": {
11
+ "id": {
12
+ "description": "A unique identifier for the word. May have an integer to distinguish words with the same spelling but distinct coinings.",
13
+ "$ref": "#/$defs/__schema0"
14
+ },
15
+ "word": {
16
+ "description": "The latin alphabet representation of the word.",
17
+ "type": "string",
18
+ "minLength": 1
19
+ },
20
+ "author_verbatim": {
21
+ "description": "The author's original definition, taken verbatim in their words",
22
+ "type": "string"
23
+ },
24
+ "author_source": {
25
+ "description": "The source or origin of this glyph, often a URL.",
26
+ "type": "string"
27
+ },
28
+ "book": {
29
+ "description": "Which official Toki Pona book was this word featured in, if any.",
30
+ "type": "string",
31
+ "enum": [
32
+ "pu",
33
+ "ku suli",
34
+ "ku lili",
35
+ "none"
36
+ ]
37
+ },
38
+ "coined_era": {
39
+ "description": "The period of time in which this word was coined, relative to the publication of the first two official Toki Pona books",
40
+ "type": "string",
41
+ "enum": [
42
+ "pre-pu",
43
+ "post-pu",
44
+ "post-ku"
45
+ ]
46
+ },
47
+ "creation_date": {
48
+ "description": "When this word was coined, to precision known.",
49
+ "type": "string",
50
+ "pattern": "^(?:|(?<year>20\\d{2})(?:-(?<month>0[1-9]|1[0-2])(?:-(?<day>0[1-9]|[12]\\d|3[01]))?)?|(?<startYear>20\\d{2})-(?<endYear>20\\d{2}))$"
51
+ },
52
+ "author": {
53
+ "description": "The name or names of those involved in creating this word.",
54
+ "type": "array",
55
+ "items": {
56
+ "$ref": "#/$defs/__schema1"
57
+ }
58
+ },
59
+ "ku_data": {
60
+ "description": "The usage data of this word, as described in the Toki Pona Dictionary.",
61
+ "type": "object",
62
+ "propertyNames": {
63
+ "description": "A possible translation of the word into English, as listed in the Toki Pona dictionary.",
64
+ "type": "string",
65
+ "minLength": 1
66
+ },
67
+ "additionalProperties": {
68
+ "description": "The percentage of Toki Pona Dictionary survey respondents who report this translation as accurate to their usage.",
69
+ "$ref": "#/$defs/__schema2"
70
+ }
71
+ },
72
+ "parent_id": {
73
+ "description": "The most widely used word which is considered to be an exact synonym for this word.",
74
+ "$ref": "#/$defs/__schema0"
75
+ },
76
+ "see_also": {
77
+ "description": "The IDs of words related to this one.",
78
+ "$ref": "#/$defs/__schema3"
79
+ },
80
+ "resources": {
81
+ "description": "Non-Linku resources related to the specific word, such as wiki links.",
82
+ "type": "object",
83
+ "properties": {
84
+ "sona_pona": {
85
+ "description": "A link to the word's page on sona.pona.la, a Toki Pona wiki. May redirect for words with references but no dedicated page.",
86
+ "$ref": "#/$defs/__schema4"
87
+ },
88
+ "lipamanka_semantic": {
89
+ "description": "A link to lipamanka's description of the word's semantic space.",
90
+ "$ref": "#/$defs/__schema4"
91
+ }
92
+ },
93
+ "additionalProperties": false
94
+ },
95
+ "representations": {
96
+ "description": "Ways of representing this word via text/computers",
97
+ "type": "object",
98
+ "properties": {
99
+ "sitelen_emosi": {
100
+ "description": "The sitelen emosi representation of this word, a script for writing Toki Pona using emoji",
101
+ "type": "string",
102
+ "minLength": 1,
103
+ "format": "emoji",
104
+ "pattern": "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$"
105
+ },
106
+ "sitelen_jelo": {
107
+ "description": "One or more example emojis for how the word can be written in sitelen jelo",
108
+ "minItems": 1,
109
+ "type": "array",
110
+ "items": {
111
+ "type": "string",
112
+ "minLength": 1,
113
+ "format": "emoji",
114
+ "pattern": "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$"
115
+ }
116
+ },
117
+ "ligatures": {
118
+ "description": "A list of sitelen Lasina representations of the word, used by ligature fonts to visually convert latin characters into sitelen pona",
119
+ "type": "array",
120
+ "items": {
121
+ "type": "string",
122
+ "minLength": 1
123
+ }
124
+ },
125
+ "sitelen_sitelen": {
126
+ "description": "A URL pointing to an image of this word's sitelen sitelen hieroglyphic block",
127
+ "$ref": "#/$defs/__schema4"
128
+ },
129
+ "ucsur": {
130
+ "description": "The UCSUR codepoint for this word.",
131
+ "type": "string",
132
+ "pattern": "^U\\+[\\da-fA-F]{4,6}$"
133
+ }
134
+ },
135
+ "additionalProperties": false
136
+ },
137
+ "source_language": {
138
+ "description": "The language this word originated from",
139
+ "type": "string",
140
+ "minLength": 1
141
+ },
142
+ "usage_category": {
143
+ "description": "The word's usage category, derived from the data of the annual Linku word survey.",
144
+ "type": "string",
145
+ "enum": [
146
+ "core",
147
+ "common",
148
+ "uncommon",
149
+ "obscure",
150
+ "sandbox"
151
+ ]
152
+ },
153
+ "deprecated": {
154
+ "description": "Whether this word is considered deprecated by its author(s).",
155
+ "type": "boolean"
156
+ },
157
+ "audio": {
158
+ "type": "array",
159
+ "items": {
160
+ "description": "Audio files of the words pronounced out loud",
161
+ "type": "object",
162
+ "properties": {
163
+ "author": {
164
+ "description": "The author of the audio file in `link`.",
165
+ "$ref": "#/$defs/__schema1"
166
+ },
167
+ "link": {
168
+ "description": "A link to the audio file for the word, pronounced by `author`.",
169
+ "$ref": "#/$defs/__schema4"
170
+ }
171
+ },
172
+ "required": [
173
+ "author",
174
+ "link"
175
+ ],
176
+ "additionalProperties": false
177
+ }
178
+ },
179
+ "pu_verbatim": {
180
+ "description": "The definition of the word in specific language editions of Toki Pona: The Language of Good",
181
+ "type": "object",
182
+ "properties": {
183
+ "en": {
184
+ "description": "The word's definition in the English edition of Toki Pona: The Language of Good",
185
+ "$ref": "#/$defs/__schema5"
186
+ },
187
+ "fr": {
188
+ "description": "The word's definition in the French edition of Toki Pona: The Language of Good",
189
+ "$ref": "#/$defs/__schema5"
190
+ },
191
+ "de": {
192
+ "description": "The word's definition in the German edition of Toki Pona: The Language of Good",
193
+ "$ref": "#/$defs/__schema5"
194
+ },
195
+ "eo": {
196
+ "description": "The word's definition in the Esperanto edition of Toki Pona: The Language of Good",
197
+ "$ref": "#/$defs/__schema5"
198
+ }
199
+ },
200
+ "required": [
201
+ "en",
202
+ "fr",
203
+ "de",
204
+ "eo"
205
+ ],
206
+ "additionalProperties": false
207
+ },
208
+ "usage": {
209
+ "description": "The percentage of respondents to the annual Linku word survey who report to use this word, by the date of the survey.",
210
+ "type": "object",
211
+ "propertyNames": {
212
+ "type": "string",
213
+ "pattern": "^(?<year>20\\d{2})(?:-(?<month>0[1-9]|1[0-2])(?:-(?<day>0[1-9]|[12]\\d|3[01]))?)?$"
214
+ },
215
+ "additionalProperties": {
216
+ "$ref": "#/$defs/__schema2"
217
+ }
218
+ },
219
+ "glyph_ids": {
220
+ "description": "The IDs of all sitelen pona glyphs which represent the word. The usage category of each fetched glyph may be used to show or hide glyphs.",
221
+ "$ref": "#/$defs/__schema3"
222
+ },
223
+ "primary_glyph_id": {
224
+ "description": "The ID of the glyph most commonly used to represent this word in sitelen pona.",
225
+ "type": "string",
226
+ "minLength": 3
227
+ },
228
+ "image": {
229
+ "description": "Link to a PNG of the primary sitelen pona glyph for this word.",
230
+ "$ref": "#/$defs/__schema4"
231
+ },
232
+ "svg": {
233
+ "description": "Link to an SVG of the primary sitelen pona glyph for this word.",
234
+ "$ref": "#/$defs/__schema4"
235
+ },
236
+ "translations": {
237
+ "type": "object",
238
+ "properties": {
239
+ "commentary": {
240
+ "description": "Localized commentary on this word, such as history, clarifications, or trivia.",
241
+ "type": "string"
242
+ },
243
+ "etymology": {
244
+ "description": "Localized etymology of this word.",
245
+ "type": "string"
246
+ },
247
+ "definition": {
248
+ "description": "Localized definition of this word.",
249
+ "$ref": "#/$defs/__schema5"
250
+ }
251
+ },
252
+ "required": [
253
+ "commentary",
254
+ "etymology",
255
+ "definition"
256
+ ],
257
+ "additionalProperties": false
258
+ }
259
+ },
260
+ "required": [
261
+ "id",
262
+ "word",
263
+ "book",
264
+ "coined_era",
265
+ "creation_date",
266
+ "author",
267
+ "see_also",
268
+ "resources",
269
+ "representations",
270
+ "source_language",
271
+ "usage_category",
272
+ "deprecated",
273
+ "audio",
274
+ "usage",
275
+ "glyph_ids",
276
+ "translations"
277
+ ],
278
+ "additionalProperties": false
279
+ },
280
+ "$defs": {
281
+ "__schema0": {
282
+ "description": "A unique identifier for an object in Linku. Generally named after the object.",
283
+ "type": "string",
284
+ "minLength": 1
285
+ },
286
+ "__schema1": {
287
+ "type": "string",
288
+ "minLength": 1
289
+ },
290
+ "__schema2": {
291
+ "type": "number",
292
+ "minimum": 0,
293
+ "maximum": 100
294
+ },
295
+ "__schema3": {
296
+ "description": "The IDs of one or more objects related to this one.",
297
+ "type": "array",
298
+ "items": {
299
+ "$ref": "#/$defs/__schema0"
300
+ }
301
+ },
302
+ "__schema4": {
303
+ "description": "A URL pointing to some external resource.",
304
+ "type": "string",
305
+ "format": "uri"
306
+ },
307
+ "__schema5": {
308
+ "description": "Localized definition on the parent, such as a word or luka pona sign",
309
+ "type": "string",
310
+ "minLength": 1
311
+ }
312
+ }
313
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kulupu-linku/sona",
3
- "version": "0.3.5",
3
+ "version": "2.0.2",
4
4
  "description": "A library providing TypeScript types and Zod schemas for the sona API",
5
5
  "homepage": "https://linku.la/",
6
6
  "bugs": {
@@ -9,7 +9,7 @@
9
9
  "license": "GPL-3.0-or-later",
10
10
  "contributors": [
11
11
  {
12
- "name": "TheOnlyTails",
12
+ "name": "Shachar Zidon",
13
13
  "url": "https://theonlytails.com/",
14
14
  "email": "theonlytails@theonlytails.com"
15
15
  },
@@ -25,50 +25,69 @@
25
25
  "type": "git"
26
26
  },
27
27
  "dependencies": {
28
- "@hono/vite-cloudflare-pages": "^0.4.0",
29
- "@hono/vite-dev-server": "^0.12.0",
30
- "@hono/zod-validator": "^0.2.1",
31
- "hono": "^4.3.0",
32
- "p-lazy": "^4.0.0",
33
- "zod": "^3.23.6",
34
- "zod-validation-error": "^3.2.0"
28
+ "@hono/zod-validator": "^0.7.4",
29
+ "hono": "^4.10.4",
30
+ "p-lazy": "^5.0.0",
31
+ "zod": "^4.1.12"
35
32
  },
36
33
  "devDependencies": {
37
- "@types/node": "^20.12.8",
38
- "prettier": "^3.2.5",
39
- "tsx": "^4.9.0",
40
- "typescript": "^5.4.5",
41
- "vite": "^5.2.11",
42
- "vite-plugin-dts": "^3.9.0",
43
- "zod-to-json-schema": "^3.23.0"
34
+ "@cloudflare/vite-plugin": "1.11.7",
35
+ "@hono/vite-build": "^1.7.0",
36
+ "@hono/vite-dev-server": "^0.20.1",
37
+ "@types/node": "^24.10.0",
38
+ "ajv": "^8.17.1",
39
+ "ajv-cli": "^5.0.0",
40
+ "ajv-formats": "^3.0.1",
41
+ "prettier": "^3.6.2",
42
+ "tsdown": "^0.14.2",
43
+ "tsx": "^4.20.6",
44
+ "typescript": "^5.9.3",
45
+ "vite": "npm:rolldown-vite@^7.2.2",
46
+ "wrangler": "4.32.0"
44
47
  },
45
48
  "engines": {
46
- "pnpm": ">=9"
49
+ "pnpm": ">=10"
47
50
  },
48
51
  "files": [
49
52
  "/dist",
50
53
  "/generated"
51
54
  ],
52
- "main": "./dist/index.js",
55
+ "main": "./dist/lib/v1/index.js",
56
+ "module": "./dist/lib/v1/index.js",
57
+ "types": "./dist/lib/v1/index.d.ts",
53
58
  "exports": {
54
- ".": {
55
- "import": "./dist/index.js",
56
- "types": "./dist/index.d.ts"
59
+ "./v1": {
60
+ "import": "./dist/lib/v1/index.js",
61
+ "types": "./dist/lib/v1/index.d.ts"
57
62
  },
58
- "./utils": {
59
- "import": "./dist/utils.js",
60
- "types": "./dist/utils.d.ts"
63
+ "./v1/utils": {
64
+ "import": "./dist/lib/v1/utils.js",
65
+ "types": "./dist/lib/v1/utils.d.ts"
61
66
  },
62
- "./client": {
63
- "import": "./dist/client.js",
64
- "types": "./dist/client.d.ts"
67
+ "./v1/client": {
68
+ "import": "./dist/lib/v1/client.js",
69
+ "types": "./dist/lib/v1/client.d.ts"
70
+ },
71
+ "./v2": {
72
+ "import": "./dist/lib/v2/index.js",
73
+ "types": "./dist/lib/v2/index.d.ts"
74
+ },
75
+ "./v2/utils": {
76
+ "import": "./dist/lib/v2/utils.js",
77
+ "types": "./dist/lib/v2/utils.d.ts"
78
+ },
79
+ "./v2/client": {
80
+ "import": "./dist/lib/v2/client.js",
81
+ "types": "./dist/lib/v2/client.d.ts"
65
82
  }
66
83
  },
67
84
  "type": "module",
68
85
  "scripts": {
69
86
  "dev": "vite",
70
87
  "build": "vite build",
71
- "build:lib": "vite build --mode lib",
88
+ "build:lib": "tsdown",
89
+ "preview": "vite preview",
90
+ "prod": "vite preview",
72
91
  "generate": "tsx ./generateSchemas.ts",
73
92
  "generate:watch": "tsx ./generateSchemas.ts --watch-path=./**/*.ts",
74
93
  "format": "prettier --write ."
package/dist/client.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './lib/client'
package/dist/client.js DELETED
@@ -1,165 +0,0 @@
1
- var y = Object.defineProperty;
2
- var w = (e, r, t) => r in e ? y(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
- var c = (e, r, t) => (w(e, typeof r != "symbol" ? r + "" : r, t), t);
4
- var v = (e, r, t = {}) => {
5
- let i = `${e}=${r}`;
6
- if (e.startsWith("__Secure-") && !t.secure)
7
- throw new Error("__Secure- Cookie must have Secure attributes");
8
- if (e.startsWith("__Host-")) {
9
- if (!t.secure)
10
- throw new Error("__Host- Cookie must have Secure attributes");
11
- if (t.path !== "/")
12
- throw new Error('__Host- Cookie must have Path attributes with "/"');
13
- if (t.domain)
14
- throw new Error("__Host- Cookie must not have Domain attributes");
15
- }
16
- if (t && typeof t.maxAge == "number" && t.maxAge >= 0) {
17
- if (t.maxAge > 3456e4)
18
- throw new Error(
19
- "Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration."
20
- );
21
- i += `; Max-Age=${Math.floor(t.maxAge)}`;
22
- }
23
- if (t.domain && t.prefix !== "host" && (i += `; Domain=${t.domain}`), t.path && (i += `; Path=${t.path}`), t.expires) {
24
- if (t.expires.getTime() - Date.now() > 3456e7)
25
- throw new Error(
26
- "Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future."
27
- );
28
- i += `; Expires=${t.expires.toUTCString()}`;
29
- }
30
- if (t.httpOnly && (i += "; HttpOnly"), t.secure && (i += "; Secure"), t.sameSite && (i += `; SameSite=${t.sameSite}`), t.partitioned) {
31
- if (!t.secure)
32
- throw new Error("Partitioned Cookie must have Secure attributes");
33
- i += "; Partitioned";
34
- }
35
- return i;
36
- }, x = (e, r, t) => (r = encodeURIComponent(r), v(e, r, t)), p = (e, r) => (e = e.replace(/\/+$/, ""), e = e + "/", r = r.replace(/^\/+/, ""), e + r), m = (e, r) => {
37
- for (const [t, i] of Object.entries(r)) {
38
- const n = new RegExp("/:" + t + "(?:{[^/]+})?");
39
- e = e.replace(n, `/${i}`);
40
- }
41
- return e;
42
- }, P = (e, r) => {
43
- switch (r) {
44
- case "ws":
45
- return e.replace(/^http/, "ws");
46
- case "http":
47
- return e.replace(/^ws/, "http");
48
- }
49
- }, k = (e) => /^https?:\/\/[^\/]+?\/index$/.test(e) ? e.replace(/\/index$/, "/") : e.replace(/\/index$/, "");
50
- function f(e) {
51
- return typeof e == "object" && e !== null && !Array.isArray(e);
52
- }
53
- function l(e, r) {
54
- if (!f(e) && !f(r))
55
- return r;
56
- const t = { ...e };
57
- for (const i in r) {
58
- const n = r[i];
59
- f(t[i]) && f(n) ? t[i] = l(t[i], n) : t[i] = n;
60
- }
61
- return t;
62
- }
63
- var d = (e, r) => new Proxy(() => {
64
- }, {
65
- get(i, n) {
66
- if (!(typeof n != "string" || n === "then"))
67
- return d(e, [...r, n]);
68
- },
69
- apply(i, n, a) {
70
- return e({
71
- path: r,
72
- args: a
73
- });
74
- }
75
- }), C = class {
76
- constructor(e, r) {
77
- c(this, "url");
78
- c(this, "method");
79
- c(this, "queryParams");
80
- c(this, "pathParams", {});
81
- c(this, "rBody");
82
- c(this, "cType");
83
- c(this, "fetch", async (e, r) => {
84
- if (e) {
85
- if (e.query) {
86
- for (const [s, h] of Object.entries(e.query))
87
- if (h !== void 0)
88
- if (this.queryParams || (this.queryParams = new URLSearchParams()), Array.isArray(h))
89
- for (const o of h)
90
- this.queryParams.append(s, o);
91
- else
92
- this.queryParams.set(s, h);
93
- }
94
- if (e.form) {
95
- const s = new FormData();
96
- for (const [h, o] of Object.entries(e.form))
97
- s.append(h, o);
98
- this.rBody = s;
99
- }
100
- e.json && (this.rBody = JSON.stringify(e.json), this.cType = "application/json"), e.param && (this.pathParams = e.param);
101
- }
102
- let t = this.method.toUpperCase();
103
- const i = {
104
- ...(e == null ? void 0 : e.header) ?? {},
105
- ...typeof (r == null ? void 0 : r.headers) == "function" ? await r.headers() : r != null && r.headers ? r.headers : {}
106
- };
107
- if (e != null && e.cookie) {
108
- const s = [];
109
- for (const [h, o] of Object.entries(e.cookie))
110
- s.push(x(h, o, { path: "/" }));
111
- i.Cookie = s.join(",");
112
- }
113
- this.cType && (i["Content-Type"] = this.cType);
114
- const n = new Headers(i ?? void 0);
115
- let a = this.url;
116
- a = k(a), a = m(a, this.pathParams), this.queryParams && (a = a + "?" + this.queryParams.toString()), t = this.method.toUpperCase();
117
- const u = !(t === "GET" || t === "HEAD");
118
- return ((r == null ? void 0 : r.fetch) || fetch)(a, {
119
- body: u ? this.rBody : void 0,
120
- method: t,
121
- headers: n,
122
- ...r == null ? void 0 : r.init
123
- });
124
- });
125
- this.url = e, this.method = r;
126
- }
127
- }, _ = (e, r) => d(function t(i) {
128
- const n = [...i.path];
129
- if (n[n.length - 1] === "toString")
130
- return n[n.length - 2] === "name" ? n[n.length - 3] || "" : t.toString();
131
- if (n[n.length - 1] === "valueOf")
132
- return n[n.length - 2] === "name" ? n[n.length - 3] || "" : t;
133
- let a = "";
134
- if (/^\$/.test(n[n.length - 1])) {
135
- const o = n.pop();
136
- o && (a = o.replace(/^\$/, ""));
137
- }
138
- const u = n.join("/"), s = p(e, u);
139
- if (a === "url")
140
- return i.args[0] && i.args[0].param ? new URL(m(s, i.args[0].param)) : new URL(s);
141
- if (a === "ws") {
142
- const o = P(
143
- i.args[0] && i.args[0].param ? m(s, i.args[0].param) : s,
144
- "ws"
145
- );
146
- return new WebSocket(o);
147
- }
148
- const h = new C(s, a);
149
- if (a) {
150
- r ?? (r = {});
151
- const o = l(r, { ...i.args[1] ?? {} });
152
- return h.fetch(i.args[0], o);
153
- }
154
- return h;
155
- }, []);
156
- const g = (e) => {
157
- const { baseUrl: r = "https://api.linku.la", fetch: t = globalThis.fetch } = e ?? {};
158
- return _(r, {
159
- fetch: t
160
- });
161
- };
162
- export {
163
- g as client
164
- };
165
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi9ub2RlX21vZHVsZXMvLnBucG0vaG9ub0A0LjMuNi9ub2RlX21vZHVsZXMvaG9uby9kaXN0L3V0aWxzL2Nvb2tpZS5qcyIsIi4uL25vZGVfbW9kdWxlcy8ucG5wbS9ob25vQDQuMy42L25vZGVfbW9kdWxlcy9ob25vL2Rpc3QvY2xpZW50L3V0aWxzLmpzIiwiLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2hvbm9ANC4zLjYvbm9kZV9tb2R1bGVzL2hvbm8vZGlzdC9jbGllbnQvY2xpZW50LmpzIiwiLi4vc3JjL2xpYi9jbGllbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL3V0aWxzL2Nvb2tpZS50c1xuaW1wb3J0IHsgZGVjb2RlVVJJQ29tcG9uZW50XyB9IGZyb20gXCIuL3VybC5qc1wiO1xudmFyIGFsZ29yaXRobSA9IHsgbmFtZTogXCJITUFDXCIsIGhhc2g6IFwiU0hBLTI1NlwiIH07XG52YXIgZ2V0Q3J5cHRvS2V5ID0gYXN5bmMgKHNlY3JldCkgPT4ge1xuICBjb25zdCBzZWNyZXRCdWYgPSB0eXBlb2Ygc2VjcmV0ID09PSBcInN0cmluZ1wiID8gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHNlY3JldCkgOiBzZWNyZXQ7XG4gIHJldHVybiBhd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleShcInJhd1wiLCBzZWNyZXRCdWYsIGFsZ29yaXRobSwgZmFsc2UsIFtcInNpZ25cIiwgXCJ2ZXJpZnlcIl0pO1xufTtcbnZhciBtYWtlU2lnbmF0dXJlID0gYXN5bmMgKHZhbHVlLCBzZWNyZXQpID0+IHtcbiAgY29uc3Qga2V5ID0gYXdhaXQgZ2V0Q3J5cHRvS2V5KHNlY3JldCk7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuc2lnbihhbGdvcml0aG0ubmFtZSwga2V5LCBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodmFsdWUpKTtcbiAgcmV0dXJuIGJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5uZXcgVWludDhBcnJheShzaWduYXR1cmUpKSk7XG59O1xudmFyIHZlcmlmeVNpZ25hdHVyZSA9IGFzeW5jIChiYXNlNjRTaWduYXR1cmUsIHZhbHVlLCBzZWNyZXQpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzaWduYXR1cmVCaW5TdHIgPSBhdG9iKGJhc2U2NFNpZ25hdHVyZSk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gbmV3IFVpbnQ4QXJyYXkoc2lnbmF0dXJlQmluU3RyLmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHNpZ25hdHVyZUJpblN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgc2lnbmF0dXJlW2ldID0gc2lnbmF0dXJlQmluU3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCBjcnlwdG8uc3VidGxlLnZlcmlmeShhbGdvcml0aG0sIHNlY3JldCwgc2lnbmF0dXJlLCBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodmFsdWUpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcbnZhciB2YWxpZENvb2tpZU5hbWVSZWdFeCA9IC9eW1xcdyEjJCUmJyouXmB8fistXSskLztcbnZhciB2YWxpZENvb2tpZVZhbHVlUmVnRXggPSAvXlsgISMtOjwtW1xcXS1+XSokLztcbnZhciBwYXJzZSA9IChjb29raWUsIG5hbWUpID0+IHtcbiAgY29uc3QgcGFpcnMgPSBjb29raWUudHJpbSgpLnNwbGl0KFwiO1wiKTtcbiAgcmV0dXJuIHBhaXJzLnJlZHVjZSgocGFyc2VkQ29va2llLCBwYWlyU3RyKSA9PiB7XG4gICAgcGFpclN0ciA9IHBhaXJTdHIudHJpbSgpO1xuICAgIGNvbnN0IHZhbHVlU3RhcnRQb3MgPSBwYWlyU3RyLmluZGV4T2YoXCI9XCIpO1xuICAgIGlmICh2YWx1ZVN0YXJ0UG9zID09PSAtMSkge1xuICAgICAgcmV0dXJuIHBhcnNlZENvb2tpZTtcbiAgICB9XG4gICAgY29uc3QgY29va2llTmFtZSA9IHBhaXJTdHIuc3Vic3RyaW5nKDAsIHZhbHVlU3RhcnRQb3MpLnRyaW0oKTtcbiAgICBpZiAobmFtZSAmJiBuYW1lICE9PSBjb29raWVOYW1lIHx8ICF2YWxpZENvb2tpZU5hbWVSZWdFeC50ZXN0KGNvb2tpZU5hbWUpKSB7XG4gICAgICByZXR1cm4gcGFyc2VkQ29va2llO1xuICAgIH1cbiAgICBsZXQgY29va2llVmFsdWUgPSBwYWlyU3RyLnN1YnN0cmluZyh2YWx1ZVN0YXJ0UG9zICsgMSkudHJpbSgpO1xuICAgIGlmIChjb29raWVWYWx1ZS5zdGFydHNXaXRoKCdcIicpICYmIGNvb2tpZVZhbHVlLmVuZHNXaXRoKCdcIicpKSB7XG4gICAgICBjb29raWVWYWx1ZSA9IGNvb2tpZVZhbHVlLnNsaWNlKDEsIC0xKTtcbiAgICB9XG4gICAgaWYgKHZhbGlkQ29va2llVmFsdWVSZWdFeC50ZXN0KGNvb2tpZVZhbHVlKSkge1xuICAgICAgcGFyc2VkQ29va2llW2Nvb2tpZU5hbWVdID0gZGVjb2RlVVJJQ29tcG9uZW50Xyhjb29raWVWYWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZWRDb29raWU7XG4gIH0sIHt9KTtcbn07XG52YXIgcGFyc2VTaWduZWQgPSBhc3luYyAoY29va2llLCBzZWNyZXQsIG5hbWUpID0+IHtcbiAgY29uc3QgcGFyc2VkQ29va2llID0ge307XG4gIGNvbnN0IHNlY3JldEtleSA9IGF3YWl0IGdldENyeXB0b0tleShzZWNyZXQpO1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJzZShjb29raWUsIG5hbWUpKSkge1xuICAgIGNvbnN0IHNpZ25hdHVyZVN0YXJ0UG9zID0gdmFsdWUubGFzdEluZGV4T2YoXCIuXCIpO1xuICAgIGlmIChzaWduYXR1cmVTdGFydFBvcyA8IDEpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBzaWduZWRWYWx1ZSA9IHZhbHVlLnN1YnN0cmluZygwLCBzaWduYXR1cmVTdGFydFBvcyk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdmFsdWUuc3Vic3RyaW5nKHNpZ25hdHVyZVN0YXJ0UG9zICsgMSk7XG4gICAgaWYgKHNpZ25hdHVyZS5sZW5ndGggIT09IDQ0IHx8ICFzaWduYXR1cmUuZW5kc1dpdGgoXCI9XCIpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgaXNWZXJpZmllZCA9IGF3YWl0IHZlcmlmeVNpZ25hdHVyZShzaWduYXR1cmUsIHNpZ25lZFZhbHVlLCBzZWNyZXRLZXkpO1xuICAgIHBhcnNlZENvb2tpZVtrZXldID0gaXNWZXJpZmllZCA/IHNpZ25lZFZhbHVlIDogZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHBhcnNlZENvb2tpZTtcbn07XG52YXIgX3NlcmlhbGl6ZSA9IChuYW1lLCB2YWx1ZSwgb3B0ID0ge30pID0+IHtcbiAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7dmFsdWV9YDtcbiAgaWYgKG5hbWUuc3RhcnRzV2l0aChcIl9fU2VjdXJlLVwiKSAmJiAhb3B0LnNlY3VyZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIl9fU2VjdXJlLSBDb29raWUgbXVzdCBoYXZlIFNlY3VyZSBhdHRyaWJ1dGVzXCIpO1xuICB9XG4gIGlmIChuYW1lLnN0YXJ0c1dpdGgoXCJfX0hvc3QtXCIpKSB7XG4gICAgaWYgKCFvcHQuc2VjdXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJfX0hvc3QtIENvb2tpZSBtdXN0IGhhdmUgU2VjdXJlIGF0dHJpYnV0ZXNcIik7XG4gICAgfVxuICAgIGlmIChvcHQucGF0aCAhPT0gXCIvXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignX19Ib3N0LSBDb29raWUgbXVzdCBoYXZlIFBhdGggYXR0cmlidXRlcyB3aXRoIFwiL1wiJyk7XG4gICAgfVxuICAgIGlmIChvcHQuZG9tYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJfX0hvc3QtIENvb2tpZSBtdXN0IG5vdCBoYXZlIERvbWFpbiBhdHRyaWJ1dGVzXCIpO1xuICAgIH1cbiAgfVxuICBpZiAob3B0ICYmIHR5cGVvZiBvcHQubWF4QWdlID09PSBcIm51bWJlclwiICYmIG9wdC5tYXhBZ2UgPj0gMCkge1xuICAgIGlmIChvcHQubWF4QWdlID4gMzQ1NmU0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ29va2llcyBNYXgtQWdlIFNIT1VMRCBOT1QgYmUgZ3JlYXRlciB0aGFuIDQwMCBkYXlzICgzNDU2MDAwMCBzZWNvbmRzKSBpbiBkdXJhdGlvbi5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgY29va2llICs9IGA7IE1heC1BZ2U9JHtNYXRoLmZsb29yKG9wdC5tYXhBZ2UpfWA7XG4gIH1cbiAgaWYgKG9wdC5kb21haW4gJiYgb3B0LnByZWZpeCAhPT0gXCJob3N0XCIpIHtcbiAgICBjb29raWUgKz0gYDsgRG9tYWluPSR7b3B0LmRvbWFpbn1gO1xuICB9XG4gIGlmIChvcHQucGF0aCkge1xuICAgIGNvb2tpZSArPSBgOyBQYXRoPSR7b3B0LnBhdGh9YDtcbiAgfVxuICBpZiAob3B0LmV4cGlyZXMpIHtcbiAgICBpZiAob3B0LmV4cGlyZXMuZ2V0VGltZSgpIC0gRGF0ZS5ub3coKSA+IDM0NTZlNykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNvb2tpZXMgRXhwaXJlcyBTSE9VTEQgTk9UIGJlIGdyZWF0ZXIgdGhhbiA0MDAgZGF5cyAoMzQ1NjAwMDAgc2Vjb25kcykgaW4gdGhlIGZ1dHVyZS5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgY29va2llICs9IGA7IEV4cGlyZXM9JHtvcHQuZXhwaXJlcy50b1VUQ1N0cmluZygpfWA7XG4gIH1cbiAgaWYgKG9wdC5odHRwT25seSkge1xuICAgIGNvb2tpZSArPSBcIjsgSHR0cE9ubHlcIjtcbiAgfVxuICBpZiAob3B0LnNlY3VyZSkge1xuICAgIGNvb2tpZSArPSBcIjsgU2VjdXJlXCI7XG4gIH1cbiAgaWYgKG9wdC5zYW1lU2l0ZSkge1xuICAgIGNvb2tpZSArPSBgOyBTYW1lU2l0ZT0ke29wdC5zYW1lU2l0ZX1gO1xuICB9XG4gIGlmIChvcHQucGFydGl0aW9uZWQpIHtcbiAgICBpZiAoIW9wdC5zZWN1cmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhcnRpdGlvbmVkIENvb2tpZSBtdXN0IGhhdmUgU2VjdXJlIGF0dHJpYnV0ZXNcIik7XG4gICAgfVxuICAgIGNvb2tpZSArPSBcIjsgUGFydGl0aW9uZWRcIjtcbiAgfVxuICByZXR1cm4gY29va2llO1xufTtcbnZhciBzZXJpYWxpemUgPSAobmFtZSwgdmFsdWUsIG9wdCkgPT4ge1xuICB2YWx1ZSA9IGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gIHJldHVybiBfc2VyaWFsaXplKG5hbWUsIHZhbHVlLCBvcHQpO1xufTtcbnZhciBzZXJpYWxpemVTaWduZWQgPSBhc3luYyAobmFtZSwgdmFsdWUsIHNlY3JldCwgb3B0ID0ge30pID0+IHtcbiAgY29uc3Qgc2lnbmF0dXJlID0gYXdhaXQgbWFrZVNpZ25hdHVyZSh2YWx1ZSwgc2VjcmV0KTtcbiAgdmFsdWUgPSBgJHt2YWx1ZX0uJHtzaWduYXR1cmV9YDtcbiAgdmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICByZXR1cm4gX3NlcmlhbGl6ZShuYW1lLCB2YWx1ZSwgb3B0KTtcbn07XG5leHBvcnQge1xuICBwYXJzZSxcbiAgcGFyc2VTaWduZWQsXG4gIHNlcmlhbGl6ZSxcbiAgc2VyaWFsaXplU2lnbmVkXG59O1xuIiwiLy8gc3JjL2NsaWVudC91dGlscy50c1xudmFyIG1lcmdlUGF0aCA9IChiYXNlLCBwYXRoKSA9PiB7XG4gIGJhc2UgPSBiYXNlLnJlcGxhY2UoL1xcLyskLywgXCJcIik7XG4gIGJhc2UgPSBiYXNlICsgXCIvXCI7XG4gIHBhdGggPSBwYXRoLnJlcGxhY2UoL15cXC8rLywgXCJcIik7XG4gIHJldHVybiBiYXNlICsgcGF0aDtcbn07XG52YXIgcmVwbGFjZVVybFBhcmFtID0gKHVybFN0cmluZywgcGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKFwiLzpcIiArIGsgKyBcIig/OntbXi9dK30pP1wiKTtcbiAgICB1cmxTdHJpbmcgPSB1cmxTdHJpbmcucmVwbGFjZShyZWcsIGAvJHt2fWApO1xuICB9XG4gIHJldHVybiB1cmxTdHJpbmc7XG59O1xudmFyIHJlcGxhY2VVcmxQcm90b2NvbCA9ICh1cmxTdHJpbmcsIHByb3RvY29sKSA9PiB7XG4gIHN3aXRjaCAocHJvdG9jb2wpIHtcbiAgICBjYXNlIFwid3NcIjpcbiAgICAgIHJldHVybiB1cmxTdHJpbmcucmVwbGFjZSgvXmh0dHAvLCBcIndzXCIpO1xuICAgIGNhc2UgXCJodHRwXCI6XG4gICAgICByZXR1cm4gdXJsU3RyaW5nLnJlcGxhY2UoL153cy8sIFwiaHR0cFwiKTtcbiAgfVxufTtcbnZhciByZW1vdmVJbmRleFN0cmluZyA9ICh1cmxTdGluZykgPT4ge1xuICBpZiAoL15odHRwcz86XFwvXFwvW15cXC9dKz9cXC9pbmRleCQvLnRlc3QodXJsU3RpbmcpKSB7XG4gICAgcmV0dXJuIHVybFN0aW5nLnJlcGxhY2UoL1xcL2luZGV4JC8sIFwiL1wiKTtcbiAgfVxuICByZXR1cm4gdXJsU3RpbmcucmVwbGFjZSgvXFwvaW5kZXgkLywgXCJcIik7XG59O1xuZnVuY3Rpb24gaXNPYmplY3QoaXRlbSkge1xuICByZXR1cm4gdHlwZW9mIGl0ZW0gPT09IFwib2JqZWN0XCIgJiYgaXRlbSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShpdGVtKTtcbn1cbmZ1bmN0aW9uIGRlZXBNZXJnZSh0YXJnZXQsIHNvdXJjZSkge1xuICBpZiAoIWlzT2JqZWN0KHRhcmdldCkgJiYgIWlzT2JqZWN0KHNvdXJjZSkpIHtcbiAgICByZXR1cm4gc291cmNlO1xuICB9XG4gIGNvbnN0IG1lcmdlZCA9IHsgLi4udGFyZ2V0IH07XG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuICAgIGNvbnN0IHZhbHVlID0gc291cmNlW2tleV07XG4gICAgaWYgKGlzT2JqZWN0KG1lcmdlZFtrZXldKSAmJiBpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgIG1lcmdlZFtrZXldID0gZGVlcE1lcmdlKG1lcmdlZFtrZXldLCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lcmdlZFtrZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBtZXJnZWQ7XG59XG5leHBvcnQge1xuICBkZWVwTWVyZ2UsXG4gIG1lcmdlUGF0aCxcbiAgcmVtb3ZlSW5kZXhTdHJpbmcsXG4gIHJlcGxhY2VVcmxQYXJhbSxcbiAgcmVwbGFjZVVybFByb3RvY29sXG59O1xuIiwiLy8gc3JjL2NsaWVudC9jbGllbnQudHNcbmltcG9ydCB7IHNlcmlhbGl6ZSB9IGZyb20gXCIuLi91dGlscy9jb29raWUuanNcIjtcbmltcG9ydCB7XG4gIGRlZXBNZXJnZSxcbiAgbWVyZ2VQYXRoLFxuICByZW1vdmVJbmRleFN0cmluZyxcbiAgcmVwbGFjZVVybFBhcmFtLFxuICByZXBsYWNlVXJsUHJvdG9jb2xcbn0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbnZhciBjcmVhdGVQcm94eSA9IChjYWxsYmFjaywgcGF0aCkgPT4ge1xuICBjb25zdCBwcm94eSA9IG5ldyBQcm94eSgoKSA9PiB7XG4gIH0sIHtcbiAgICBnZXQoX29iaiwga2V5KSB7XG4gICAgICBpZiAodHlwZW9mIGtleSAhPT0gXCJzdHJpbmdcIiB8fCBrZXkgPT09IFwidGhlblwiKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlUHJveHkoY2FsbGJhY2ssIFsuLi5wYXRoLCBrZXldKTtcbiAgICB9LFxuICAgIGFwcGx5KF8xLCBfMiwgYXJncykge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgYXJnc1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHByb3h5O1xufTtcbnZhciBDbGllbnRSZXF1ZXN0SW1wbCA9IGNsYXNzIHtcbiAgdXJsO1xuICBtZXRob2Q7XG4gIHF1ZXJ5UGFyYW1zID0gdm9pZCAwO1xuICBwYXRoUGFyYW1zID0ge307XG4gIHJCb2R5O1xuICBjVHlwZSA9IHZvaWQgMDtcbiAgY29uc3RydWN0b3IodXJsLCBtZXRob2QpIHtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgfVxuICBmZXRjaCA9IGFzeW5jIChhcmdzLCBvcHQpID0+IHtcbiAgICBpZiAoYXJncykge1xuICAgICAgaWYgKGFyZ3MucXVlcnkpIHtcbiAgICAgICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoYXJncy5xdWVyeSkpIHtcbiAgICAgICAgICBpZiAodiA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcyB8fD0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHYyIG9mIHYpIHtcbiAgICAgICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5hcHBlbmQoaywgdjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnNldChrLCB2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLmZvcm0pIHtcbiAgICAgICAgY29uc3QgZm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhhcmdzLmZvcm0pKSB7XG4gICAgICAgICAgZm9ybS5hcHBlbmQoaywgdik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yQm9keSA9IGZvcm07XG4gICAgICB9XG4gICAgICBpZiAoYXJncy5qc29uKSB7XG4gICAgICAgIHRoaXMuckJvZHkgPSBKU09OLnN0cmluZ2lmeShhcmdzLmpzb24pO1xuICAgICAgICB0aGlzLmNUeXBlID0gXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICB9XG4gICAgICBpZiAoYXJncy5wYXJhbSkge1xuICAgICAgICB0aGlzLnBhdGhQYXJhbXMgPSBhcmdzLnBhcmFtO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgbWV0aG9kVXBwZXJDYXNlID0gdGhpcy5tZXRob2QudG9VcHBlckNhc2UoKTtcbiAgICBjb25zdCBoZWFkZXJWYWx1ZXMgPSB7XG4gICAgICAuLi5hcmdzPy5oZWFkZXIgPz8ge30sXG4gICAgICAuLi50eXBlb2Ygb3B0Py5oZWFkZXJzID09PSBcImZ1bmN0aW9uXCIgPyBhd2FpdCBvcHQuaGVhZGVycygpIDogb3B0Py5oZWFkZXJzID8gb3B0LmhlYWRlcnMgOiB7fVxuICAgIH07XG4gICAgaWYgKGFyZ3M/LmNvb2tpZSkge1xuICAgICAgY29uc3QgY29va2llcyA9IFtdO1xuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoYXJncy5jb29raWUpKSB7XG4gICAgICAgIGNvb2tpZXMucHVzaChzZXJpYWxpemUoa2V5LCB2YWx1ZSwgeyBwYXRoOiBcIi9cIiB9KSk7XG4gICAgICB9XG4gICAgICBoZWFkZXJWYWx1ZXNbXCJDb29raWVcIl0gPSBjb29raWVzLmpvaW4oXCIsXCIpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jVHlwZSkge1xuICAgICAgaGVhZGVyVmFsdWVzW1wiQ29udGVudC1UeXBlXCJdID0gdGhpcy5jVHlwZTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKGhlYWRlclZhbHVlcyA/PyB2b2lkIDApO1xuICAgIGxldCB1cmwgPSB0aGlzLnVybDtcbiAgICB1cmwgPSByZW1vdmVJbmRleFN0cmluZyh1cmwpO1xuICAgIHVybCA9IHJlcGxhY2VVcmxQYXJhbSh1cmwsIHRoaXMucGF0aFBhcmFtcyk7XG4gICAgaWYgKHRoaXMucXVlcnlQYXJhbXMpIHtcbiAgICAgIHVybCA9IHVybCArIFwiP1wiICsgdGhpcy5xdWVyeVBhcmFtcy50b1N0cmluZygpO1xuICAgIH1cbiAgICBtZXRob2RVcHBlckNhc2UgPSB0aGlzLm1ldGhvZC50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IHNldEJvZHkgPSAhKG1ldGhvZFVwcGVyQ2FzZSA9PT0gXCJHRVRcIiB8fCBtZXRob2RVcHBlckNhc2UgPT09IFwiSEVBRFwiKTtcbiAgICByZXR1cm4gKG9wdD8uZmV0Y2ggfHwgZmV0Y2gpKHVybCwge1xuICAgICAgYm9keTogc2V0Qm9keSA/IHRoaXMuckJvZHkgOiB2b2lkIDAsXG4gICAgICBtZXRob2Q6IG1ldGhvZFVwcGVyQ2FzZSxcbiAgICAgIGhlYWRlcnMsXG4gICAgICAuLi5vcHQ/LmluaXRcbiAgICB9KTtcbiAgfTtcbn07XG52YXIgaGMgPSAoYmFzZVVybCwgb3B0aW9ucykgPT4gY3JlYXRlUHJveHkoZnVuY3Rpb24gcHJveHlDYWxsYmFjayhvcHRzKSB7XG4gIGNvbnN0IHBhcnRzID0gWy4uLm9wdHMucGF0aF07XG4gIGlmIChwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSA9PT0gXCJ0b1N0cmluZ1wiKSB7XG4gICAgaWYgKHBhcnRzW3BhcnRzLmxlbmd0aCAtIDJdID09PSBcIm5hbWVcIikge1xuICAgICAgcmV0dXJuIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDNdIHx8IFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBwcm94eUNhbGxiYWNrLnRvU3RyaW5nKCk7XG4gIH1cbiAgaWYgKHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdID09PSBcInZhbHVlT2ZcIikge1xuICAgIGlmIChwYXJ0c1twYXJ0cy5sZW5ndGggLSAyXSA9PT0gXCJuYW1lXCIpIHtcbiAgICAgIHJldHVybiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAzXSB8fCBcIlwiO1xuICAgIH1cbiAgICByZXR1cm4gcHJveHlDYWxsYmFjaztcbiAgfVxuICBsZXQgbWV0aG9kID0gXCJcIjtcbiAgaWYgKC9eXFwkLy50ZXN0KHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdKSkge1xuICAgIGNvbnN0IGxhc3QgPSBwYXJ0cy5wb3AoKTtcbiAgICBpZiAobGFzdCkge1xuICAgICAgbWV0aG9kID0gbGFzdC5yZXBsYWNlKC9eXFwkLywgXCJcIik7XG4gICAgfVxuICB9XG4gIGNvbnN0IHBhdGggPSBwYXJ0cy5qb2luKFwiL1wiKTtcbiAgY29uc3QgdXJsID0gbWVyZ2VQYXRoKGJhc2VVcmwsIHBhdGgpO1xuICBpZiAobWV0aG9kID09PSBcInVybFwiKSB7XG4gICAgaWYgKG9wdHMuYXJnc1swXSAmJiBvcHRzLmFyZ3NbMF0ucGFyYW0pIHtcbiAgICAgIHJldHVybiBuZXcgVVJMKHJlcGxhY2VVcmxQYXJhbSh1cmwsIG9wdHMuYXJnc1swXS5wYXJhbSkpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFVSTCh1cmwpO1xuICB9XG4gIGlmIChtZXRob2QgPT09IFwid3NcIikge1xuICAgIGNvbnN0IHRhcmdldFVybCA9IHJlcGxhY2VVcmxQcm90b2NvbChcbiAgICAgIG9wdHMuYXJnc1swXSAmJiBvcHRzLmFyZ3NbMF0ucGFyYW0gPyByZXBsYWNlVXJsUGFyYW0odXJsLCBvcHRzLmFyZ3NbMF0ucGFyYW0pIDogdXJsLFxuICAgICAgXCJ3c1wiXG4gICAgKTtcbiAgICByZXR1cm4gbmV3IFdlYlNvY2tldCh0YXJnZXRVcmwpO1xuICB9XG4gIGNvbnN0IHJlcSA9IG5ldyBDbGllbnRSZXF1ZXN0SW1wbCh1cmwsIG1ldGhvZCk7XG4gIGlmIChtZXRob2QpIHtcbiAgICBvcHRpb25zID8/PSB7fTtcbiAgICBjb25zdCBhcmdzID0gZGVlcE1lcmdlKG9wdGlvbnMsIHsgLi4ub3B0cy5hcmdzWzFdID8/IHt9IH0pO1xuICAgIHJldHVybiByZXEuZmV0Y2gob3B0cy5hcmdzWzBdLCBhcmdzKTtcbiAgfVxuICByZXR1cm4gcmVxO1xufSwgW10pO1xuZXhwb3J0IHtcbiAgaGNcbn07XG4iLCJpbXBvcnQgeyBoYyB9IGZyb20gXCJob25vL2NsaWVudFwiO1xuaW1wb3J0IHR5cGUgeyBBcHBUeXBlIH0gZnJvbSBcIi4uL3NlcnZlclwiO1xuXG5leHBvcnQgY29uc3QgY2xpZW50ID0gKGFyZ3M/OiB7IGJhc2VVcmw/OiBzdHJpbmc7IGZldGNoPzogKHR5cGVvZiBnbG9iYWxUaGlzKVtcImZldGNoXCJdIH0pID0+IHtcblx0Y29uc3QgeyBiYXNlVXJsID0gXCJodHRwczovL2FwaS5saW5rdS5sYVwiLCBmZXRjaCA9IGdsb2JhbFRoaXMuZmV0Y2ggfSA9IGFyZ3MgPz8ge307XG5cdHJldHVybiBoYzxBcHBUeXBlPihiYXNlVXJsLCB7XG5cdFx0ZmV0Y2gsXG5cdH0pO1xufTtcblxuZXhwb3J0IHR5cGUgQXBpVHlwZSA9IEFwcFR5cGU7XG4iXSwibmFtZXMiOlsiX3NlcmlhbGl6ZSIsIm5hbWUiLCJ2YWx1ZSIsIm9wdCIsImNvb2tpZSIsInNlcmlhbGl6ZSIsIm1lcmdlUGF0aCIsImJhc2UiLCJwYXRoIiwicmVwbGFjZVVybFBhcmFtIiwidXJsU3RyaW5nIiwicGFyYW1zIiwiayIsInYiLCJyZWciLCJyZXBsYWNlVXJsUHJvdG9jb2wiLCJwcm90b2NvbCIsInJlbW92ZUluZGV4U3RyaW5nIiwidXJsU3RpbmciLCJpc09iamVjdCIsIml0ZW0iLCJkZWVwTWVyZ2UiLCJ0YXJnZXQiLCJzb3VyY2UiLCJtZXJnZWQiLCJrZXkiLCJjcmVhdGVQcm94eSIsImNhbGxiYWNrIiwiX29iaiIsIl8xIiwiXzIiLCJhcmdzIiwiQ2xpZW50UmVxdWVzdEltcGwiLCJ1cmwiLCJtZXRob2QiLCJfX3B1YmxpY0ZpZWxkIiwidjIiLCJmb3JtIiwibWV0aG9kVXBwZXJDYXNlIiwiaGVhZGVyVmFsdWVzIiwiY29va2llcyIsImhlYWRlcnMiLCJzZXRCb2R5IiwiaGMiLCJiYXNlVXJsIiwib3B0aW9ucyIsInByb3h5Q2FsbGJhY2si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
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './lib/index'