@harborclient/sdk 0.4.6 → 0.6.1
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.
- package/dist/components/AsyncListState/index.d.ts +85 -0
- package/dist/components/AsyncListState/index.d.ts.map +1 -0
- package/dist/components/AsyncListState/index.js +51 -0
- package/dist/components/BackButton/index.d.ts +32 -0
- package/dist/components/BackButton/index.d.ts.map +1 -0
- package/dist/components/BackButton/index.js +19 -0
- package/dist/components/Badge/index.d.ts +29 -0
- package/dist/components/Badge/index.d.ts.map +1 -0
- package/dist/components/Badge/index.js +32 -0
- package/dist/components/BusyIndicator/index.d.ts +16 -0
- package/dist/components/BusyIndicator/index.d.ts.map +1 -0
- package/dist/components/BusyIndicator/index.js +78 -0
- package/dist/components/Button/index.d.ts +29 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/index.js +25 -0
- package/dist/components/CodeEditor/config.d.ts +51 -0
- package/dist/components/CodeEditor/config.d.ts.map +1 -0
- package/dist/components/CodeEditor/config.js +64 -0
- package/dist/components/CodeEditor/index.d.ts +77 -0
- package/dist/components/CodeEditor/index.d.ts.map +1 -0
- package/dist/components/CodeEditor/index.js +319 -0
- package/dist/components/CodeEditor/themes.d.ts +19 -0
- package/dist/components/CodeEditor/themes.d.ts.map +1 -0
- package/dist/components/CodeEditor/themes.js +37 -0
- package/dist/components/EmptyState/index.d.ts +26 -0
- package/dist/components/EmptyState/index.d.ts.map +1 -0
- package/dist/components/EmptyState/index.js +25 -0
- package/dist/components/FaIcon/index.d.ts +22 -0
- package/dist/components/FaIcon/index.d.ts.map +1 -0
- package/dist/components/FaIcon/index.js +13 -0
- package/dist/components/FieldError/index.d.ts +39 -0
- package/dist/components/FieldError/index.d.ts.map +1 -0
- package/dist/components/FieldError/index.js +34 -0
- package/dist/components/FooterButton/index.d.ts +30 -0
- package/dist/components/FooterButton/index.d.ts.map +1 -0
- package/dist/components/FooterButton/index.js +19 -0
- package/dist/components/FooterIcon/index.d.ts +32 -0
- package/dist/components/FooterIcon/index.d.ts.map +1 -0
- package/dist/components/FooterIcon/index.js +21 -0
- package/dist/components/FormDataEditor/index.d.ts +31 -0
- package/dist/components/FormDataEditor/index.d.ts.map +1 -0
- package/dist/components/FormDataEditor/index.js +109 -0
- package/dist/components/FormGroup/index.d.ts +75 -0
- package/dist/components/FormGroup/index.d.ts.map +1 -0
- package/dist/components/FormGroup/index.js +95 -0
- package/dist/components/KeyValueEditor/index.d.ts +35 -0
- package/dist/components/KeyValueEditor/index.d.ts.map +1 -0
- package/dist/components/KeyValueEditor/index.js +40 -0
- package/dist/components/MethodSelect/index.d.ts +20 -0
- package/dist/components/MethodSelect/index.d.ts.map +1 -0
- package/dist/components/MethodSelect/index.js +9 -0
- package/dist/components/Modal/ModalFooter.d.ts +25 -0
- package/dist/components/Modal/ModalFooter.d.ts.map +1 -0
- package/dist/components/Modal/ModalFooter.js +13 -0
- package/dist/components/Modal/ModalFormLayout.d.ts +31 -0
- package/dist/components/Modal/ModalFormLayout.d.ts.map +1 -0
- package/dist/components/Modal/ModalFormLayout.js +14 -0
- package/dist/components/Modal/ModalHeader.d.ts +34 -0
- package/dist/components/Modal/ModalHeader.d.ts.map +1 -0
- package/dist/components/Modal/ModalHeader.js +11 -0
- package/dist/components/Modal/index.d.ts +59 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Modal/index.js +37 -0
- package/dist/components/OverlayCloseButton/index.d.ts +25 -0
- package/dist/components/OverlayCloseButton/index.d.ts.map +1 -0
- package/dist/components/OverlayCloseButton/index.js +16 -0
- package/dist/components/OverlayPage/index.d.ts +40 -0
- package/dist/components/OverlayPage/index.d.ts.map +1 -0
- package/dist/components/OverlayPage/index.js +18 -0
- package/dist/components/PageHeader/index.d.ts +31 -0
- package/dist/components/PageHeader/index.d.ts.map +1 -0
- package/dist/components/PageHeader/index.js +12 -0
- package/dist/components/PanelCloseButton/index.d.ts +30 -0
- package/dist/components/PanelCloseButton/index.d.ts.map +1 -0
- package/dist/components/PanelCloseButton/index.js +17 -0
- package/dist/components/Resizable/Resizable.d.ts +48 -0
- package/dist/components/Resizable/Resizable.d.ts.map +1 -0
- package/dist/components/Resizable/Resizable.js +32 -0
- package/dist/components/Resizable/ResizeHandle.d.ts +41 -0
- package/dist/components/Resizable/ResizeHandle.d.ts.map +1 -0
- package/dist/components/Resizable/ResizeHandle.js +17 -0
- package/dist/components/Resizable/footerPanelUtils.d.ts +25 -0
- package/dist/components/Resizable/footerPanelUtils.d.ts.map +1 -0
- package/dist/components/Resizable/footerPanelUtils.js +61 -0
- package/dist/components/Resizable/index.d.ts +4 -0
- package/dist/components/Resizable/index.d.ts.map +1 -0
- package/dist/components/Resizable/index.js +3 -0
- package/dist/components/Resizable/useResizable.d.ts +42 -0
- package/dist/components/Resizable/useResizable.d.ts.map +1 -0
- package/dist/components/Resizable/useResizable.js +151 -0
- package/dist/components/ResourceList/index.d.ts +73 -0
- package/dist/components/ResourceList/index.d.ts.map +1 -0
- package/dist/components/ResourceList/index.js +44 -0
- package/dist/components/RowActionsMenu/index.d.ts +33 -0
- package/dist/components/RowActionsMenu/index.d.ts.map +1 -0
- package/dist/components/RowActionsMenu/index.js +54 -0
- package/dist/components/SegmentedTabs/index.d.ts +107 -0
- package/dist/components/SegmentedTabs/index.d.ts.map +1 -0
- package/dist/components/SegmentedTabs/index.js +111 -0
- package/dist/components/Spinner/index.d.ts +26 -0
- package/dist/components/Spinner/index.d.ts.map +1 -0
- package/dist/components/Spinner/index.js +22 -0
- package/dist/components/StatusMessage/index.d.ts +29 -0
- package/dist/components/StatusMessage/index.d.ts.map +1 -0
- package/dist/components/StatusMessage/index.js +13 -0
- package/dist/components/TabCloseButton/index.d.ts +25 -0
- package/dist/components/TabCloseButton/index.d.ts.map +1 -0
- package/dist/components/TabCloseButton/index.js +13 -0
- package/dist/components/VariableInput/index.d.ts +58 -0
- package/dist/components/VariableInput/index.d.ts.map +1 -0
- package/dist/components/VariableInput/index.js +90 -0
- package/dist/components/VariableTable/index.d.ts +22 -0
- package/dist/components/VariableTable/index.d.ts.map +1 -0
- package/dist/components/VariableTable/index.js +43 -0
- package/dist/components/classes.d.ts +11 -0
- package/dist/components/classes.d.ts.map +1 -0
- package/dist/components/classes.js +14 -0
- package/dist/components/forms/Input.d.ts +22 -0
- package/dist/components/forms/Input.d.ts.map +1 -0
- package/dist/components/forms/Input.js +9 -0
- package/dist/components/forms/Select.d.ts +24 -0
- package/dist/components/forms/Select.d.ts.map +1 -0
- package/dist/components/forms/Select.js +10 -0
- package/dist/components/forms/Textarea.d.ts +22 -0
- package/dist/components/forms/Textarea.d.ts.map +1 -0
- package/dist/components/forms/Textarea.js +8 -0
- package/dist/components/forms/classes.d.ts +24 -0
- package/dist/components/forms/classes.d.ts.map +1 -0
- package/dist/components/forms/classes.js +32 -0
- package/dist/components/forms/index.d.ts +5 -0
- package/dist/components/forms/index.d.ts.map +1 -0
- package/dist/components/forms/index.js +4 -0
- package/dist/components/index.d.ts +51 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +37 -0
- package/dist/components/rowActionsMenuHelpers.d.ts +13 -0
- package/dist/components/rowActionsMenuHelpers.d.ts.map +1 -0
- package/dist/components/rowActionsMenuHelpers.js +29 -0
- package/dist/components/useDialogFocus.d.ts +16 -0
- package/dist/components/useDialogFocus.d.ts.map +1 -0
- package/dist/components/useDialogFocus.js +81 -0
- package/dist/components/utils.d.ts +29 -0
- package/dist/components/utils.d.ts.map +1 -0
- package/dist/components/utils.js +89 -0
- package/dist/components/utils.test.d.ts +2 -0
- package/dist/components/utils.test.d.ts.map +1 -0
- package/dist/components/utils.test.js +27 -0
- package/dist/http/substitute.d.ts.map +1 -1
- package/dist/http/substitute.js +9 -3
- package/dist/http/substitute.test.js +8 -0
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/runtime/react.d.ts +16 -1
- package/dist/runtime/react.js +40 -0
- package/dist/types.d.ts +168 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/codeEditorSettings.d.ts +29 -0
- package/dist/ui/codeEditorSettings.d.ts.map +1 -0
- package/dist/ui/codeEditorSettings.js +52 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/variables/dynamic.d.ts +49 -0
- package/dist/variables/dynamic.d.ts.map +1 -0
- package/dist/variables/dynamic.js +735 -0
- package/dist/variables/dynamic.test.d.ts +2 -0
- package/dist/variables/dynamic.test.d.ts.map +1 -0
- package/dist/variables/dynamic.test.js +60 -0
- package/dist/variables/index.d.ts +3 -0
- package/dist/variables/index.d.ts.map +1 -0
- package/dist/variables/index.js +2 -0
- package/dist/variables/tokens.d.ts +44 -0
- package/dist/variables/tokens.d.ts.map +1 -0
- package/dist/variables/tokens.js +76 -0
- package/dist/variables/tokens.test.d.ts +2 -0
- package/dist/variables/tokens.test.d.ts.map +1 -0
- package/dist/variables/tokens.test.js +115 -0
- package/package.json +75 -14
|
@@ -0,0 +1,735 @@
|
|
|
1
|
+
import { faker } from '@faker-js/faker';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a placeholder image URL for a lorempixel-style category.
|
|
4
|
+
*
|
|
5
|
+
* @param category - Image subject category.
|
|
6
|
+
*/
|
|
7
|
+
function categoryImageUrl(category) {
|
|
8
|
+
return faker.image.urlLoremFlickr({ category });
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Registry of Postman-compatible dynamic variables backed by faker or built-ins.
|
|
12
|
+
* Keys include the leading `$` (e.g. `$guid`, `$randomFirstName`).
|
|
13
|
+
*/
|
|
14
|
+
export const DYNAMIC_VARIABLES = {
|
|
15
|
+
// Common
|
|
16
|
+
$guid: {
|
|
17
|
+
description: 'A uuid-v4 style guid',
|
|
18
|
+
generate: () => faker.string.uuid()
|
|
19
|
+
},
|
|
20
|
+
$timestamp: {
|
|
21
|
+
description: 'The current UNIX timestamp in seconds',
|
|
22
|
+
generate: () => String(Math.floor(Date.now() / 1000))
|
|
23
|
+
},
|
|
24
|
+
$isoTimestamp: {
|
|
25
|
+
description: 'The current ISO timestamp at zero UTC',
|
|
26
|
+
generate: () => new Date().toISOString()
|
|
27
|
+
},
|
|
28
|
+
$randomUUID: {
|
|
29
|
+
description: 'A random 36-character UUID',
|
|
30
|
+
generate: () => faker.string.uuid()
|
|
31
|
+
},
|
|
32
|
+
// Text, numbers, and colors
|
|
33
|
+
$randomAlphaNumeric: {
|
|
34
|
+
description: 'A random alpha-numeric character',
|
|
35
|
+
generate: () => faker.string.alphanumeric(1)
|
|
36
|
+
},
|
|
37
|
+
$randomBoolean: {
|
|
38
|
+
description: 'A random boolean value',
|
|
39
|
+
generate: () => String(faker.datatype.boolean())
|
|
40
|
+
},
|
|
41
|
+
$randomInt: {
|
|
42
|
+
description: 'A random integer between 0 and 1000',
|
|
43
|
+
generate: () => String(faker.number.int({ min: 0, max: 1000 }))
|
|
44
|
+
},
|
|
45
|
+
$randomColor: {
|
|
46
|
+
description: 'A random color name',
|
|
47
|
+
generate: () => faker.color.human()
|
|
48
|
+
},
|
|
49
|
+
$randomHexColor: {
|
|
50
|
+
description: 'A random hex color value',
|
|
51
|
+
generate: () => faker.color.rgb({ format: 'hex' })
|
|
52
|
+
},
|
|
53
|
+
$randomAbbreviation: {
|
|
54
|
+
description: 'A random abbreviation',
|
|
55
|
+
generate: () => faker.hacker.abbreviation()
|
|
56
|
+
},
|
|
57
|
+
// Internet and IP addresses
|
|
58
|
+
$randomIP: {
|
|
59
|
+
description: 'A random IPv4 address',
|
|
60
|
+
generate: () => faker.internet.ipv4()
|
|
61
|
+
},
|
|
62
|
+
$randomIPV6: {
|
|
63
|
+
description: 'A random IPv6 address',
|
|
64
|
+
generate: () => faker.internet.ipv6()
|
|
65
|
+
},
|
|
66
|
+
$randomMACAddress: {
|
|
67
|
+
description: 'A random MAC address',
|
|
68
|
+
generate: () => faker.internet.mac()
|
|
69
|
+
},
|
|
70
|
+
$randomPassword: {
|
|
71
|
+
description: 'A random 15-character alpha-numeric password',
|
|
72
|
+
generate: () => faker.internet.password({ length: 15 })
|
|
73
|
+
},
|
|
74
|
+
$randomLocale: {
|
|
75
|
+
description: 'A random two-letter language code (ISO 639-1)',
|
|
76
|
+
generate: () => faker.location.language().alpha2
|
|
77
|
+
},
|
|
78
|
+
$randomUserAgent: {
|
|
79
|
+
description: 'A random user agent string',
|
|
80
|
+
generate: () => faker.internet.userAgent()
|
|
81
|
+
},
|
|
82
|
+
$randomProtocol: {
|
|
83
|
+
description: 'A random internet protocol',
|
|
84
|
+
generate: () => faker.helpers.arrayElement(['http', 'https'])
|
|
85
|
+
},
|
|
86
|
+
$randomSemver: {
|
|
87
|
+
description: 'A random semantic version number',
|
|
88
|
+
generate: () => faker.system.semver()
|
|
89
|
+
},
|
|
90
|
+
// Names
|
|
91
|
+
$randomFirstName: {
|
|
92
|
+
description: 'A random first name',
|
|
93
|
+
generate: () => faker.person.firstName()
|
|
94
|
+
},
|
|
95
|
+
$randomLastName: {
|
|
96
|
+
description: 'A random last name',
|
|
97
|
+
generate: () => faker.person.lastName()
|
|
98
|
+
},
|
|
99
|
+
$randomFullName: {
|
|
100
|
+
description: 'A random first and last name',
|
|
101
|
+
generate: () => faker.person.fullName()
|
|
102
|
+
},
|
|
103
|
+
$randomNamePrefix: {
|
|
104
|
+
description: 'A random name prefix',
|
|
105
|
+
generate: () => faker.person.prefix()
|
|
106
|
+
},
|
|
107
|
+
$randomNameSuffix: {
|
|
108
|
+
description: 'A random name suffix',
|
|
109
|
+
generate: () => faker.person.suffix()
|
|
110
|
+
},
|
|
111
|
+
// Profession
|
|
112
|
+
$randomJobArea: {
|
|
113
|
+
description: 'A random job area',
|
|
114
|
+
generate: () => faker.person.jobArea()
|
|
115
|
+
},
|
|
116
|
+
$randomJobDescriptor: {
|
|
117
|
+
description: 'A random job descriptor',
|
|
118
|
+
generate: () => faker.person.jobDescriptor()
|
|
119
|
+
},
|
|
120
|
+
$randomJobTitle: {
|
|
121
|
+
description: 'A random job title',
|
|
122
|
+
generate: () => faker.person.jobTitle()
|
|
123
|
+
},
|
|
124
|
+
$randomJobType: {
|
|
125
|
+
description: 'A random job type',
|
|
126
|
+
generate: () => faker.person.jobType()
|
|
127
|
+
},
|
|
128
|
+
// Phone, address, and location
|
|
129
|
+
$randomPhoneNumber: {
|
|
130
|
+
description: 'A random ten-digit phone number',
|
|
131
|
+
generate: () => faker.phone.number({ style: 'national' })
|
|
132
|
+
},
|
|
133
|
+
$randomPhoneNumberExt: {
|
|
134
|
+
description: 'A random phone number with extension',
|
|
135
|
+
generate: () => `${faker.phone.number()} x${faker.string.numeric(4)}`
|
|
136
|
+
},
|
|
137
|
+
$randomCity: {
|
|
138
|
+
description: 'A random city name',
|
|
139
|
+
generate: () => faker.location.city()
|
|
140
|
+
},
|
|
141
|
+
$randomStreetName: {
|
|
142
|
+
description: 'A random street name',
|
|
143
|
+
generate: () => faker.location.street()
|
|
144
|
+
},
|
|
145
|
+
$randomStreetAddress: {
|
|
146
|
+
description: 'A random street address',
|
|
147
|
+
generate: () => faker.location.streetAddress()
|
|
148
|
+
},
|
|
149
|
+
$randomCountry: {
|
|
150
|
+
description: 'A random country name',
|
|
151
|
+
generate: () => faker.location.country()
|
|
152
|
+
},
|
|
153
|
+
$randomCountryCode: {
|
|
154
|
+
description: 'A random two-letter country code (ISO 3166-1 alpha-2)',
|
|
155
|
+
generate: () => faker.location.countryCode()
|
|
156
|
+
},
|
|
157
|
+
$randomLatitude: {
|
|
158
|
+
description: 'A random latitude coordinate',
|
|
159
|
+
generate: () => String(faker.location.latitude())
|
|
160
|
+
},
|
|
161
|
+
$randomLongitude: {
|
|
162
|
+
description: 'A random longitude coordinate',
|
|
163
|
+
generate: () => String(faker.location.longitude())
|
|
164
|
+
},
|
|
165
|
+
// Images
|
|
166
|
+
$randomAvatarImage: {
|
|
167
|
+
description: 'A random avatar image URL',
|
|
168
|
+
generate: () => faker.image.avatar()
|
|
169
|
+
},
|
|
170
|
+
$randomImageUrl: {
|
|
171
|
+
description: 'A URL of a random image',
|
|
172
|
+
generate: () => faker.image.url()
|
|
173
|
+
},
|
|
174
|
+
$randomAbstractImage: {
|
|
175
|
+
description: 'A URL of a random abstract image',
|
|
176
|
+
generate: () => categoryImageUrl('abstract')
|
|
177
|
+
},
|
|
178
|
+
$randomAnimalsImage: {
|
|
179
|
+
description: 'A URL of a random animal image',
|
|
180
|
+
generate: () => categoryImageUrl('animals')
|
|
181
|
+
},
|
|
182
|
+
$randomBusinessImage: {
|
|
183
|
+
description: 'A URL of a random stock business image',
|
|
184
|
+
generate: () => categoryImageUrl('business')
|
|
185
|
+
},
|
|
186
|
+
$randomCatsImage: {
|
|
187
|
+
description: 'A URL of a random cat image',
|
|
188
|
+
generate: () => categoryImageUrl('cats')
|
|
189
|
+
},
|
|
190
|
+
$randomCityImage: {
|
|
191
|
+
description: 'A URL of a random city image',
|
|
192
|
+
generate: () => categoryImageUrl('city')
|
|
193
|
+
},
|
|
194
|
+
$randomFoodImage: {
|
|
195
|
+
description: 'A URL of a random food image',
|
|
196
|
+
generate: () => categoryImageUrl('food')
|
|
197
|
+
},
|
|
198
|
+
$randomNightlifeImage: {
|
|
199
|
+
description: 'A URL of a random nightlife image',
|
|
200
|
+
generate: () => categoryImageUrl('nightlife')
|
|
201
|
+
},
|
|
202
|
+
$randomFashionImage: {
|
|
203
|
+
description: 'A URL of a random fashion image',
|
|
204
|
+
generate: () => categoryImageUrl('fashion')
|
|
205
|
+
},
|
|
206
|
+
$randomPeopleImage: {
|
|
207
|
+
description: 'A URL of a random image of a person',
|
|
208
|
+
generate: () => categoryImageUrl('people')
|
|
209
|
+
},
|
|
210
|
+
$randomNatureImage: {
|
|
211
|
+
description: 'A URL of a random nature image',
|
|
212
|
+
generate: () => categoryImageUrl('nature')
|
|
213
|
+
},
|
|
214
|
+
$randomSportsImage: {
|
|
215
|
+
description: 'A URL of a random sports image',
|
|
216
|
+
generate: () => categoryImageUrl('sports')
|
|
217
|
+
},
|
|
218
|
+
$randomTransportImage: {
|
|
219
|
+
description: 'A URL of a random transportation image',
|
|
220
|
+
generate: () => categoryImageUrl('transport')
|
|
221
|
+
},
|
|
222
|
+
$randomImageDataUri: {
|
|
223
|
+
description: 'A random image data URI',
|
|
224
|
+
generate: () => faker.image.dataUri()
|
|
225
|
+
},
|
|
226
|
+
// Finance
|
|
227
|
+
$randomBankAccount: {
|
|
228
|
+
description: 'A random 8-digit bank account number',
|
|
229
|
+
generate: () => faker.finance.accountNumber(8)
|
|
230
|
+
},
|
|
231
|
+
$randomBankAccountName: {
|
|
232
|
+
description: 'A random bank account name',
|
|
233
|
+
generate: () => faker.finance.accountName()
|
|
234
|
+
},
|
|
235
|
+
$randomCreditCardMask: {
|
|
236
|
+
description: 'A random masked credit card number (last four digits)',
|
|
237
|
+
generate: () => faker.finance.creditCardNumber().slice(-4)
|
|
238
|
+
},
|
|
239
|
+
$randomBankAccountBic: {
|
|
240
|
+
description: 'A random BIC (Bank Identifier Code)',
|
|
241
|
+
generate: () => faker.finance.bic()
|
|
242
|
+
},
|
|
243
|
+
$randomBankAccountIban: {
|
|
244
|
+
description: 'A random IBAN (International Bank Account Number)',
|
|
245
|
+
generate: () => faker.finance.iban()
|
|
246
|
+
},
|
|
247
|
+
$randomTransactionType: {
|
|
248
|
+
description: 'A random transaction type',
|
|
249
|
+
generate: () => faker.helpers.arrayElement(['invoice', 'payment', 'deposit'])
|
|
250
|
+
},
|
|
251
|
+
$randomCurrencyCode: {
|
|
252
|
+
description: 'A random 3-letter currency code (ISO-4217)',
|
|
253
|
+
generate: () => faker.finance.currencyCode()
|
|
254
|
+
},
|
|
255
|
+
$randomCurrencyName: {
|
|
256
|
+
description: 'A random currency name',
|
|
257
|
+
generate: () => faker.finance.currencyName()
|
|
258
|
+
},
|
|
259
|
+
$randomCurrencySymbol: {
|
|
260
|
+
description: 'A random currency symbol',
|
|
261
|
+
generate: () => faker.finance.currencySymbol()
|
|
262
|
+
},
|
|
263
|
+
$randomBitcoin: {
|
|
264
|
+
description: 'A random bitcoin address',
|
|
265
|
+
generate: () => faker.finance.bitcoinAddress()
|
|
266
|
+
},
|
|
267
|
+
// Business
|
|
268
|
+
$randomCompanyName: {
|
|
269
|
+
description: 'A random company name',
|
|
270
|
+
generate: () => faker.company.name()
|
|
271
|
+
},
|
|
272
|
+
$randomCompanySuffix: {
|
|
273
|
+
description: 'A random company suffix',
|
|
274
|
+
generate: () => faker.helpers.arrayElement(['Inc', 'LLC', 'Group', 'Ltd', 'Corp'])
|
|
275
|
+
},
|
|
276
|
+
$randomBs: {
|
|
277
|
+
description: 'A random phrase of business-speak',
|
|
278
|
+
generate: () => faker.company.catchPhrase()
|
|
279
|
+
},
|
|
280
|
+
$randomBsAdjective: {
|
|
281
|
+
description: 'A random business-speak adjective',
|
|
282
|
+
generate: () => faker.company.buzzAdjective()
|
|
283
|
+
},
|
|
284
|
+
$randomBsBuzz: {
|
|
285
|
+
description: 'A random business-speak buzzword',
|
|
286
|
+
generate: () => faker.company.buzzVerb()
|
|
287
|
+
},
|
|
288
|
+
$randomBsNoun: {
|
|
289
|
+
description: 'A random business-speak noun',
|
|
290
|
+
generate: () => faker.company.buzzNoun()
|
|
291
|
+
},
|
|
292
|
+
// Catchphrases
|
|
293
|
+
$randomCatchPhrase: {
|
|
294
|
+
description: 'A random catchphrase',
|
|
295
|
+
generate: () => faker.company.catchPhrase()
|
|
296
|
+
},
|
|
297
|
+
$randomCatchPhraseAdjective: {
|
|
298
|
+
description: 'A random catchphrase adjective',
|
|
299
|
+
generate: () => faker.company.catchPhraseAdjective()
|
|
300
|
+
},
|
|
301
|
+
$randomCatchPhraseDescriptor: {
|
|
302
|
+
description: 'A random catchphrase descriptor',
|
|
303
|
+
generate: () => faker.company.catchPhraseDescriptor()
|
|
304
|
+
},
|
|
305
|
+
$randomCatchPhraseNoun: {
|
|
306
|
+
description: 'A random catchphrase noun',
|
|
307
|
+
generate: () => faker.company.catchPhraseNoun()
|
|
308
|
+
},
|
|
309
|
+
// Databases
|
|
310
|
+
$randomDatabaseColumn: {
|
|
311
|
+
description: 'A random database column name',
|
|
312
|
+
generate: () => faker.database.column()
|
|
313
|
+
},
|
|
314
|
+
$randomDatabaseType: {
|
|
315
|
+
description: 'A random database type',
|
|
316
|
+
generate: () => faker.database.type()
|
|
317
|
+
},
|
|
318
|
+
$randomDatabaseCollation: {
|
|
319
|
+
description: 'A random database collation',
|
|
320
|
+
generate: () => faker.database.collation()
|
|
321
|
+
},
|
|
322
|
+
$randomDatabaseEngine: {
|
|
323
|
+
description: 'A random database engine',
|
|
324
|
+
generate: () => faker.database.engine()
|
|
325
|
+
},
|
|
326
|
+
// Dates
|
|
327
|
+
$randomDateFuture: {
|
|
328
|
+
description: 'A random future datetime',
|
|
329
|
+
generate: () => faker.date.future().toString()
|
|
330
|
+
},
|
|
331
|
+
$randomDatePast: {
|
|
332
|
+
description: 'A random past datetime',
|
|
333
|
+
generate: () => faker.date.past().toString()
|
|
334
|
+
},
|
|
335
|
+
$randomDateRecent: {
|
|
336
|
+
description: 'A random recent datetime',
|
|
337
|
+
generate: () => faker.date.recent().toString()
|
|
338
|
+
},
|
|
339
|
+
$randomWeekday: {
|
|
340
|
+
description: 'A random weekday name',
|
|
341
|
+
generate: () => faker.date.weekday()
|
|
342
|
+
},
|
|
343
|
+
$randomMonth: {
|
|
344
|
+
description: 'A random month name',
|
|
345
|
+
generate: () => faker.date.month()
|
|
346
|
+
},
|
|
347
|
+
// Domains, emails, and usernames
|
|
348
|
+
$randomDomainName: {
|
|
349
|
+
description: 'A random domain name',
|
|
350
|
+
generate: () => faker.internet.domainName()
|
|
351
|
+
},
|
|
352
|
+
$randomDomainSuffix: {
|
|
353
|
+
description: 'A random domain suffix',
|
|
354
|
+
generate: () => faker.internet.domainSuffix()
|
|
355
|
+
},
|
|
356
|
+
$randomDomainWord: {
|
|
357
|
+
description: 'A random unqualified domain name',
|
|
358
|
+
generate: () => faker.internet.domainWord()
|
|
359
|
+
},
|
|
360
|
+
$randomEmail: {
|
|
361
|
+
description: 'A random email address',
|
|
362
|
+
generate: () => faker.internet.email()
|
|
363
|
+
},
|
|
364
|
+
$randomExampleEmail: {
|
|
365
|
+
description: 'A random email address from an example domain',
|
|
366
|
+
generate: () => faker.internet.exampleEmail()
|
|
367
|
+
},
|
|
368
|
+
$randomUserName: {
|
|
369
|
+
description: 'A random username',
|
|
370
|
+
generate: () => faker.internet.username()
|
|
371
|
+
},
|
|
372
|
+
$randomUrl: {
|
|
373
|
+
description: 'A random URL',
|
|
374
|
+
generate: () => faker.internet.url()
|
|
375
|
+
},
|
|
376
|
+
// Files and directories
|
|
377
|
+
$randomFileName: {
|
|
378
|
+
description: 'A random file name',
|
|
379
|
+
generate: () => faker.system.fileName()
|
|
380
|
+
},
|
|
381
|
+
$randomFileType: {
|
|
382
|
+
description: 'A random file type',
|
|
383
|
+
generate: () => faker.system.fileType()
|
|
384
|
+
},
|
|
385
|
+
$randomFileExt: {
|
|
386
|
+
description: 'A random file extension',
|
|
387
|
+
generate: () => faker.system.fileExt()
|
|
388
|
+
},
|
|
389
|
+
$randomCommonFileName: {
|
|
390
|
+
description: 'A random common file name',
|
|
391
|
+
generate: () => faker.system.commonFileName()
|
|
392
|
+
},
|
|
393
|
+
$randomCommonFileType: {
|
|
394
|
+
description: 'A random common file type',
|
|
395
|
+
generate: () => faker.system.commonFileType()
|
|
396
|
+
},
|
|
397
|
+
$randomCommonFileExt: {
|
|
398
|
+
description: 'A random common file extension',
|
|
399
|
+
generate: () => faker.system.commonFileExt()
|
|
400
|
+
},
|
|
401
|
+
$randomFilePath: {
|
|
402
|
+
description: 'A random file path',
|
|
403
|
+
generate: () => faker.system.filePath()
|
|
404
|
+
},
|
|
405
|
+
$randomDirectoryPath: {
|
|
406
|
+
description: 'A random directory path',
|
|
407
|
+
generate: () => faker.system.directoryPath()
|
|
408
|
+
},
|
|
409
|
+
$randomMimeType: {
|
|
410
|
+
description: 'A random MIME type',
|
|
411
|
+
generate: () => faker.system.mimeType()
|
|
412
|
+
},
|
|
413
|
+
// Stores
|
|
414
|
+
$randomPrice: {
|
|
415
|
+
description: 'A random price between 0.00 and 1000.00',
|
|
416
|
+
generate: () => faker.commerce.price({ min: 0, max: 1000 })
|
|
417
|
+
},
|
|
418
|
+
$randomProduct: {
|
|
419
|
+
description: 'A random product name',
|
|
420
|
+
generate: () => faker.commerce.product()
|
|
421
|
+
},
|
|
422
|
+
$randomProductAdjective: {
|
|
423
|
+
description: 'A random product adjective',
|
|
424
|
+
generate: () => faker.commerce.productAdjective()
|
|
425
|
+
},
|
|
426
|
+
$randomProductMaterial: {
|
|
427
|
+
description: 'A random product material',
|
|
428
|
+
generate: () => faker.commerce.productMaterial()
|
|
429
|
+
},
|
|
430
|
+
$randomProductName: {
|
|
431
|
+
description: 'A random product name with adjective and material',
|
|
432
|
+
generate: () => faker.commerce.productName()
|
|
433
|
+
},
|
|
434
|
+
$randomDepartment: {
|
|
435
|
+
description: 'A random commerce category',
|
|
436
|
+
generate: () => faker.commerce.department()
|
|
437
|
+
},
|
|
438
|
+
// Grammar
|
|
439
|
+
$randomNoun: {
|
|
440
|
+
description: 'A random noun',
|
|
441
|
+
generate: () => faker.word.noun()
|
|
442
|
+
},
|
|
443
|
+
$randomVerb: {
|
|
444
|
+
description: 'A random verb',
|
|
445
|
+
generate: () => faker.word.verb()
|
|
446
|
+
},
|
|
447
|
+
$randomIngverb: {
|
|
448
|
+
description: 'A random verb ending in -ing',
|
|
449
|
+
generate: () => `${faker.word.verb()}ing`
|
|
450
|
+
},
|
|
451
|
+
$randomAdjective: {
|
|
452
|
+
description: 'A random adjective',
|
|
453
|
+
generate: () => faker.word.adjective()
|
|
454
|
+
},
|
|
455
|
+
$randomWord: {
|
|
456
|
+
description: 'A random word',
|
|
457
|
+
generate: () => faker.word.sample()
|
|
458
|
+
},
|
|
459
|
+
$randomWords: {
|
|
460
|
+
description: 'Some random words',
|
|
461
|
+
generate: () => faker.word.words()
|
|
462
|
+
},
|
|
463
|
+
$randomPhrase: {
|
|
464
|
+
description: 'A random phrase',
|
|
465
|
+
generate: () => faker.lorem.sentence()
|
|
466
|
+
},
|
|
467
|
+
// Lorem ipsum
|
|
468
|
+
$randomLoremWord: {
|
|
469
|
+
description: 'A random word of lorem ipsum text',
|
|
470
|
+
generate: () => faker.lorem.word()
|
|
471
|
+
},
|
|
472
|
+
$randomLoremWords: {
|
|
473
|
+
description: 'Some random words of lorem ipsum text',
|
|
474
|
+
generate: () => faker.lorem.words()
|
|
475
|
+
},
|
|
476
|
+
$randomLoremSentence: {
|
|
477
|
+
description: 'A random sentence of lorem ipsum text',
|
|
478
|
+
generate: () => faker.lorem.sentence()
|
|
479
|
+
},
|
|
480
|
+
$randomLoremSentences: {
|
|
481
|
+
description: 'A random 2 to 6 sentences of lorem ipsum text',
|
|
482
|
+
generate: () => faker.lorem.sentences({ min: 2, max: 6 })
|
|
483
|
+
},
|
|
484
|
+
$randomLoremParagraph: {
|
|
485
|
+
description: 'A random paragraph of lorem ipsum text',
|
|
486
|
+
generate: () => faker.lorem.paragraph()
|
|
487
|
+
},
|
|
488
|
+
$randomLoremParagraphs: {
|
|
489
|
+
description: 'Three random paragraphs of lorem ipsum text',
|
|
490
|
+
generate: () => faker.lorem.paragraphs(3)
|
|
491
|
+
},
|
|
492
|
+
$randomLoremText: {
|
|
493
|
+
description: 'A random amount of lorem ipsum text',
|
|
494
|
+
generate: () => faker.lorem.text()
|
|
495
|
+
},
|
|
496
|
+
$randomLoremSlug: {
|
|
497
|
+
description: 'A random lorem ipsum URL slug',
|
|
498
|
+
generate: () => faker.lorem.slug()
|
|
499
|
+
},
|
|
500
|
+
$randomLoremLines: {
|
|
501
|
+
description: '1 to 5 random lines of lorem ipsum text',
|
|
502
|
+
generate: () => faker.lorem.lines({ min: 1, max: 5 })
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
/**
|
|
506
|
+
* Documentation grouping for dynamic variables, aligned with Postman's reference sections.
|
|
507
|
+
*/
|
|
508
|
+
export const DYNAMIC_VARIABLE_CATEGORIES = [
|
|
509
|
+
{
|
|
510
|
+
title: 'Common',
|
|
511
|
+
keys: ['$guid', '$timestamp', '$isoTimestamp', '$randomUUID']
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
title: 'Text, numbers, and colors',
|
|
515
|
+
keys: [
|
|
516
|
+
'$randomAlphaNumeric',
|
|
517
|
+
'$randomBoolean',
|
|
518
|
+
'$randomInt',
|
|
519
|
+
'$randomColor',
|
|
520
|
+
'$randomHexColor',
|
|
521
|
+
'$randomAbbreviation'
|
|
522
|
+
]
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
title: 'Internet and IP addresses',
|
|
526
|
+
keys: [
|
|
527
|
+
'$randomIP',
|
|
528
|
+
'$randomIPV6',
|
|
529
|
+
'$randomMACAddress',
|
|
530
|
+
'$randomPassword',
|
|
531
|
+
'$randomLocale',
|
|
532
|
+
'$randomUserAgent',
|
|
533
|
+
'$randomProtocol',
|
|
534
|
+
'$randomSemver'
|
|
535
|
+
]
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
title: 'Names',
|
|
539
|
+
keys: [
|
|
540
|
+
'$randomFirstName',
|
|
541
|
+
'$randomLastName',
|
|
542
|
+
'$randomFullName',
|
|
543
|
+
'$randomNamePrefix',
|
|
544
|
+
'$randomNameSuffix'
|
|
545
|
+
]
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
title: 'Profession',
|
|
549
|
+
keys: ['$randomJobArea', '$randomJobDescriptor', '$randomJobTitle', '$randomJobType']
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
title: 'Phone, address, and location',
|
|
553
|
+
keys: [
|
|
554
|
+
'$randomPhoneNumber',
|
|
555
|
+
'$randomPhoneNumberExt',
|
|
556
|
+
'$randomCity',
|
|
557
|
+
'$randomStreetName',
|
|
558
|
+
'$randomStreetAddress',
|
|
559
|
+
'$randomCountry',
|
|
560
|
+
'$randomCountryCode',
|
|
561
|
+
'$randomLatitude',
|
|
562
|
+
'$randomLongitude'
|
|
563
|
+
]
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
title: 'Images',
|
|
567
|
+
keys: [
|
|
568
|
+
'$randomAvatarImage',
|
|
569
|
+
'$randomImageUrl',
|
|
570
|
+
'$randomAbstractImage',
|
|
571
|
+
'$randomAnimalsImage',
|
|
572
|
+
'$randomBusinessImage',
|
|
573
|
+
'$randomCatsImage',
|
|
574
|
+
'$randomCityImage',
|
|
575
|
+
'$randomFoodImage',
|
|
576
|
+
'$randomNightlifeImage',
|
|
577
|
+
'$randomFashionImage',
|
|
578
|
+
'$randomPeopleImage',
|
|
579
|
+
'$randomNatureImage',
|
|
580
|
+
'$randomSportsImage',
|
|
581
|
+
'$randomTransportImage',
|
|
582
|
+
'$randomImageDataUri'
|
|
583
|
+
]
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
title: 'Finance',
|
|
587
|
+
keys: [
|
|
588
|
+
'$randomBankAccount',
|
|
589
|
+
'$randomBankAccountName',
|
|
590
|
+
'$randomCreditCardMask',
|
|
591
|
+
'$randomBankAccountBic',
|
|
592
|
+
'$randomBankAccountIban',
|
|
593
|
+
'$randomTransactionType',
|
|
594
|
+
'$randomCurrencyCode',
|
|
595
|
+
'$randomCurrencyName',
|
|
596
|
+
'$randomCurrencySymbol',
|
|
597
|
+
'$randomBitcoin'
|
|
598
|
+
]
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
title: 'Business',
|
|
602
|
+
keys: [
|
|
603
|
+
'$randomCompanyName',
|
|
604
|
+
'$randomCompanySuffix',
|
|
605
|
+
'$randomBs',
|
|
606
|
+
'$randomBsAdjective',
|
|
607
|
+
'$randomBsBuzz',
|
|
608
|
+
'$randomBsNoun'
|
|
609
|
+
]
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
title: 'Catchphrases',
|
|
613
|
+
keys: [
|
|
614
|
+
'$randomCatchPhrase',
|
|
615
|
+
'$randomCatchPhraseAdjective',
|
|
616
|
+
'$randomCatchPhraseDescriptor',
|
|
617
|
+
'$randomCatchPhraseNoun'
|
|
618
|
+
]
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
title: 'Databases',
|
|
622
|
+
keys: [
|
|
623
|
+
'$randomDatabaseColumn',
|
|
624
|
+
'$randomDatabaseType',
|
|
625
|
+
'$randomDatabaseCollation',
|
|
626
|
+
'$randomDatabaseEngine'
|
|
627
|
+
]
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
title: 'Dates',
|
|
631
|
+
keys: [
|
|
632
|
+
'$randomDateFuture',
|
|
633
|
+
'$randomDatePast',
|
|
634
|
+
'$randomDateRecent',
|
|
635
|
+
'$randomWeekday',
|
|
636
|
+
'$randomMonth'
|
|
637
|
+
]
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
title: 'Domains, emails, and usernames',
|
|
641
|
+
keys: [
|
|
642
|
+
'$randomDomainName',
|
|
643
|
+
'$randomDomainSuffix',
|
|
644
|
+
'$randomDomainWord',
|
|
645
|
+
'$randomEmail',
|
|
646
|
+
'$randomExampleEmail',
|
|
647
|
+
'$randomUserName',
|
|
648
|
+
'$randomUrl'
|
|
649
|
+
]
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
title: 'Files and directories',
|
|
653
|
+
keys: [
|
|
654
|
+
'$randomFileName',
|
|
655
|
+
'$randomFileType',
|
|
656
|
+
'$randomFileExt',
|
|
657
|
+
'$randomCommonFileName',
|
|
658
|
+
'$randomCommonFileType',
|
|
659
|
+
'$randomCommonFileExt',
|
|
660
|
+
'$randomFilePath',
|
|
661
|
+
'$randomDirectoryPath',
|
|
662
|
+
'$randomMimeType'
|
|
663
|
+
]
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
title: 'Stores',
|
|
667
|
+
keys: [
|
|
668
|
+
'$randomPrice',
|
|
669
|
+
'$randomProduct',
|
|
670
|
+
'$randomProductAdjective',
|
|
671
|
+
'$randomProductMaterial',
|
|
672
|
+
'$randomProductName',
|
|
673
|
+
'$randomDepartment'
|
|
674
|
+
]
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
title: 'Grammar',
|
|
678
|
+
keys: [
|
|
679
|
+
'$randomNoun',
|
|
680
|
+
'$randomVerb',
|
|
681
|
+
'$randomIngverb',
|
|
682
|
+
'$randomAdjective',
|
|
683
|
+
'$randomWord',
|
|
684
|
+
'$randomWords',
|
|
685
|
+
'$randomPhrase'
|
|
686
|
+
]
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
title: 'Lorem ipsum',
|
|
690
|
+
keys: [
|
|
691
|
+
'$randomLoremWord',
|
|
692
|
+
'$randomLoremWords',
|
|
693
|
+
'$randomLoremSentence',
|
|
694
|
+
'$randomLoremSentences',
|
|
695
|
+
'$randomLoremParagraph',
|
|
696
|
+
'$randomLoremParagraphs',
|
|
697
|
+
'$randomLoremText',
|
|
698
|
+
'$randomLoremSlug',
|
|
699
|
+
'$randomLoremLines'
|
|
700
|
+
]
|
|
701
|
+
}
|
|
702
|
+
];
|
|
703
|
+
/**
|
|
704
|
+
* Returns whether a variable key is a known dynamic variable name.
|
|
705
|
+
*
|
|
706
|
+
* @param key - Token name from inside `{{...}}` braces.
|
|
707
|
+
*/
|
|
708
|
+
export function isDynamicVariable(key) {
|
|
709
|
+
return Object.prototype.hasOwnProperty.call(DYNAMIC_VARIABLES, key);
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Returns the description for a dynamic variable, if defined.
|
|
713
|
+
*
|
|
714
|
+
* @param key - Token name from inside `{{...}}` braces.
|
|
715
|
+
*/
|
|
716
|
+
export function getDynamicVariableDescription(key) {
|
|
717
|
+
return DYNAMIC_VARIABLES[key]?.description;
|
|
718
|
+
}
|
|
719
|
+
/**
|
|
720
|
+
* Generates a fresh value for a dynamic variable key.
|
|
721
|
+
*
|
|
722
|
+
* @param key - Token name from inside `{{...}}` braces (e.g. `$guid`).
|
|
723
|
+
* @returns Generated string, or undefined when the key is not a dynamic variable.
|
|
724
|
+
*/
|
|
725
|
+
export function resolveDynamicVariable(key) {
|
|
726
|
+
const definition = DYNAMIC_VARIABLES[key];
|
|
727
|
+
if (!definition) {
|
|
728
|
+
return undefined;
|
|
729
|
+
}
|
|
730
|
+
return definition.generate();
|
|
731
|
+
}
|
|
732
|
+
/**
|
|
733
|
+
* Sorted list of dynamic variable names for autocomplete and documentation.
|
|
734
|
+
*/
|
|
735
|
+
export const DYNAMIC_VARIABLE_NAMES = Object.keys(DYNAMIC_VARIABLES).sort();
|