msw 2.1.2 → 2.1.4
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/README.md +5 -5
- package/lib/browser/index.js +1757 -27
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/index.mjs +1751 -23
- package/lib/browser/index.mjs.map +1 -1
- package/lib/core/{GraphQLHandler-2guuZL5R.d.ts → GraphQLHandler-eJejgV5u.d.ts} +1 -1
- package/lib/core/{GraphQLHandler-fe5IYUg3.d.mts → GraphQLHandler-rZ7XkeDz.d.mts} +1 -1
- package/lib/core/HttpResponse.d.mts +1 -1
- package/lib/core/HttpResponse.d.ts +1 -1
- package/lib/core/{RequestHandler-TRh8Eh4H.d.ts → RequestHandler-CwjkprZE.d.ts} +8 -6
- package/lib/core/{RequestHandler-nfjVJ8Tp.d.mts → RequestHandler-MAVTMsma.d.mts} +8 -6
- package/lib/core/SetupApi.d.mts +1 -1
- package/lib/core/SetupApi.d.ts +1 -1
- package/lib/core/getResponse.d.mts +13 -0
- package/lib/core/getResponse.d.ts +13 -0
- package/lib/core/getResponse.js +34 -0
- package/lib/core/getResponse.js.map +1 -0
- package/lib/core/getResponse.mjs +14 -0
- package/lib/core/getResponse.mjs.map +1 -0
- package/lib/core/graphql.d.mts +2 -2
- package/lib/core/graphql.d.ts +2 -2
- package/lib/core/handlers/GraphQLHandler.d.mts +2 -2
- package/lib/core/handlers/GraphQLHandler.d.ts +2 -2
- package/lib/core/handlers/HttpHandler.d.mts +1 -1
- package/lib/core/handlers/HttpHandler.d.ts +1 -1
- package/lib/core/handlers/HttpHandler.js.map +1 -1
- package/lib/core/handlers/HttpHandler.mjs.map +1 -1
- package/lib/core/handlers/RequestHandler.d.mts +1 -1
- package/lib/core/handlers/RequestHandler.d.ts +1 -1
- package/lib/core/handlers/RequestHandler.js.map +1 -1
- package/lib/core/handlers/RequestHandler.mjs.map +1 -1
- package/lib/core/http.d.mts +1 -1
- package/lib/core/http.d.ts +1 -1
- package/lib/core/index.d.mts +3 -2
- package/lib/core/index.d.ts +3 -2
- package/lib/core/index.js +2 -0
- package/lib/core/index.js.map +1 -1
- package/lib/core/index.mjs +2 -0
- package/lib/core/index.mjs.map +1 -1
- package/lib/core/sharedOptions.d.mts +0 -2
- package/lib/core/sharedOptions.d.ts +0 -2
- package/lib/core/utils/HttpResponse/decorators.d.mts +1 -1
- package/lib/core/utils/HttpResponse/decorators.d.ts +1 -1
- package/lib/core/utils/executeHandlers.d.mts +2 -0
- package/lib/core/utils/executeHandlers.d.ts +2 -0
- package/lib/core/utils/{getResponse.js → executeHandlers.js} +6 -6
- package/lib/core/utils/executeHandlers.js.map +1 -0
- package/lib/core/utils/{getResponse.mjs → executeHandlers.mjs} +3 -3
- package/lib/core/utils/executeHandlers.mjs.map +1 -0
- package/lib/core/utils/handleRequest.d.mts +2 -2
- package/lib/core/utils/handleRequest.d.ts +2 -2
- package/lib/core/utils/handleRequest.js +3 -3
- package/lib/core/utils/handleRequest.js.map +1 -1
- package/lib/core/utils/handleRequest.mjs +3 -3
- package/lib/core/utils/handleRequest.mjs.map +1 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.mts +2 -2
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +2 -2
- package/lib/core/utils/internal/parseMultipartData.d.mts +1 -1
- package/lib/core/utils/internal/parseMultipartData.d.ts +1 -1
- package/lib/core/utils/internal/randomId.d.mts +3 -0
- package/lib/core/utils/internal/randomId.d.ts +3 -0
- package/lib/core/utils/internal/{uuidv4.js → randomId.js} +6 -6
- package/lib/core/utils/internal/randomId.js.map +1 -0
- package/lib/core/utils/internal/randomId.mjs +7 -0
- package/lib/core/utils/internal/randomId.mjs.map +1 -0
- package/lib/core/utils/internal/requestHandlerUtils.d.mts +1 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.ts +1 -1
- package/lib/core/utils/request/onUnhandledRequest.d.mts +1 -4
- package/lib/core/utils/request/onUnhandledRequest.d.ts +1 -4
- package/lib/core/utils/request/onUnhandledRequest.js +9 -113
- package/lib/core/utils/request/onUnhandledRequest.js.map +1 -1
- package/lib/core/utils/request/onUnhandledRequest.mjs +9 -105
- package/lib/core/utils/request/onUnhandledRequest.mjs.map +1 -1
- package/lib/iife/index.js +29 -216
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +1 -1
- package/package.json +1 -4
- package/src/core/getResponse.test.ts +63 -0
- package/src/core/getResponse.ts +23 -0
- package/src/core/handlers/GraphQLHandler.test.ts +4 -4
- package/src/core/handlers/HttpHandler.test.ts +5 -5
- package/src/core/handlers/HttpHandler.ts +1 -1
- package/src/core/handlers/RequestHandler.ts +1 -1
- package/src/core/index.ts +1 -0
- package/src/core/utils/{getResponse.ts → executeHandlers.ts} +7 -5
- package/src/core/utils/handleRequest.test.ts +14 -14
- package/src/core/utils/handleRequest.ts +5 -5
- package/src/core/utils/internal/{uuidv4.ts → randomId.ts} +1 -1
- package/src/core/utils/request/onUnhandledRequest.test.ts +5 -101
- package/src/core/utils/request/onUnhandledRequest.ts +3 -182
- package/lib/core/utils/getResponse.d.mts +0 -2
- package/lib/core/utils/getResponse.d.ts +0 -2
- package/lib/core/utils/getResponse.js.map +0 -1
- package/lib/core/utils/getResponse.mjs.map +0 -1
- package/lib/core/utils/internal/uuidv4.d.mts +0 -3
- package/lib/core/utils/internal/uuidv4.d.ts +0 -3
- package/lib/core/utils/internal/uuidv4.js.map +0 -1
- package/lib/core/utils/internal/uuidv4.mjs +0 -7
- package/lib/core/utils/internal/uuidv4.mjs.map +0 -1
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
import jsLevenshtein from '@bundled-es-modules/js-levenshtein'
|
|
2
|
-
import { RequestHandler, HttpHandler, GraphQLHandler } from '../..'
|
|
3
|
-
import {
|
|
4
|
-
ParsedGraphQLQuery,
|
|
5
|
-
ParsedGraphQLRequest,
|
|
6
|
-
parseGraphQLRequest,
|
|
7
|
-
} from '../internal/parseGraphQLRequest'
|
|
8
1
|
import { getPublicUrlFromRequest } from './getPublicUrlFromRequest'
|
|
9
|
-
import { isStringEqual } from '../internal/isStringEqual'
|
|
10
2
|
import { devUtils } from '../internal/devUtils'
|
|
11
3
|
|
|
12
|
-
const getStringMatchScore = jsLevenshtein
|
|
13
|
-
|
|
14
|
-
const MAX_MATCH_SCORE = 3
|
|
15
|
-
const MAX_SUGGESTION_COUNT = 4
|
|
16
|
-
const TYPE_MATCH_DELTA = 0.5
|
|
17
|
-
|
|
18
4
|
export interface UnhandledRequestPrint {
|
|
19
5
|
warning(): void
|
|
20
6
|
error(): void
|
|
@@ -31,183 +17,18 @@ export type UnhandledRequestStrategy =
|
|
|
31
17
|
| 'error'
|
|
32
18
|
| UnhandledRequestCallback
|
|
33
19
|
|
|
34
|
-
interface RequestHandlerGroups {
|
|
35
|
-
http: Array<HttpHandler>
|
|
36
|
-
graphql: Array<GraphQLHandler>
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function groupHandlersByType(
|
|
40
|
-
handlers: Array<RequestHandler>,
|
|
41
|
-
): RequestHandlerGroups {
|
|
42
|
-
return handlers.reduce<RequestHandlerGroups>(
|
|
43
|
-
(groups, handler) => {
|
|
44
|
-
if (handler instanceof HttpHandler) {
|
|
45
|
-
groups.http.push(handler)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (handler instanceof GraphQLHandler) {
|
|
49
|
-
groups.graphql.push(handler)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return groups
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
http: [],
|
|
56
|
-
graphql: [],
|
|
57
|
-
},
|
|
58
|
-
)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
type RequestHandlerSuggestion = [number, RequestHandler]
|
|
62
|
-
|
|
63
|
-
type ScoreGetterFn<RequestHandlerType extends RequestHandler> = (
|
|
64
|
-
request: Request,
|
|
65
|
-
handler: RequestHandlerType,
|
|
66
|
-
) => number
|
|
67
|
-
|
|
68
|
-
function getHttpHandlerScore(): ScoreGetterFn<HttpHandler> {
|
|
69
|
-
return (request, handler) => {
|
|
70
|
-
const { path, method } = handler.info
|
|
71
|
-
|
|
72
|
-
if (path instanceof RegExp || method instanceof RegExp) {
|
|
73
|
-
return Infinity
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const hasSameMethod = isStringEqual(request.method, method)
|
|
77
|
-
|
|
78
|
-
// Always treat a handler with the same method as a more similar one.
|
|
79
|
-
const methodScoreDelta = hasSameMethod ? TYPE_MATCH_DELTA : 0
|
|
80
|
-
const requestPublicUrl = getPublicUrlFromRequest(request)
|
|
81
|
-
const score = getStringMatchScore(requestPublicUrl, path)
|
|
82
|
-
|
|
83
|
-
return score - methodScoreDelta
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function getGraphQLHandlerScore(
|
|
88
|
-
parsedQuery: ParsedGraphQLQuery,
|
|
89
|
-
): ScoreGetterFn<GraphQLHandler> {
|
|
90
|
-
return (_, handler) => {
|
|
91
|
-
if (typeof parsedQuery.operationName === 'undefined') {
|
|
92
|
-
return Infinity
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const { operationType, operationName } = handler.info
|
|
96
|
-
|
|
97
|
-
if (typeof operationName !== 'string') {
|
|
98
|
-
return Infinity
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
const hasSameOperationType = parsedQuery.operationType === operationType
|
|
102
|
-
// Always treat a handler with the same operation type as a more similar one.
|
|
103
|
-
const operationTypeScoreDelta = hasSameOperationType ? TYPE_MATCH_DELTA : 0
|
|
104
|
-
const score = getStringMatchScore(parsedQuery.operationName, operationName)
|
|
105
|
-
|
|
106
|
-
return score - operationTypeScoreDelta
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function getSuggestedHandler(
|
|
111
|
-
request: Request,
|
|
112
|
-
handlers: Array<HttpHandler> | Array<GraphQLHandler>,
|
|
113
|
-
getScore: ScoreGetterFn<HttpHandler> | ScoreGetterFn<GraphQLHandler>,
|
|
114
|
-
): Array<RequestHandler> {
|
|
115
|
-
const suggestedHandlers = (handlers as Array<RequestHandler>)
|
|
116
|
-
.reduce<Array<RequestHandlerSuggestion>>((suggestions, handler) => {
|
|
117
|
-
const score = getScore(request, handler as any)
|
|
118
|
-
return suggestions.concat([[score, handler]])
|
|
119
|
-
}, [])
|
|
120
|
-
.sort(([leftScore], [rightScore]) => leftScore - rightScore)
|
|
121
|
-
.filter(([score]) => score <= MAX_MATCH_SCORE)
|
|
122
|
-
.slice(0, MAX_SUGGESTION_COUNT)
|
|
123
|
-
.map(([, handler]) => handler)
|
|
124
|
-
|
|
125
|
-
return suggestedHandlers
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function getSuggestedHandlersMessage(handlers: RequestHandler[]) {
|
|
129
|
-
if (handlers.length > 1) {
|
|
130
|
-
return `\
|
|
131
|
-
Did you mean to request one of the following resources instead?
|
|
132
|
-
|
|
133
|
-
${handlers.map((handler) => ` • ${handler.info.header}`).join('\n')}`
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return `Did you mean to request "${handlers[0].info.header}" instead?`
|
|
137
|
-
}
|
|
138
|
-
|
|
139
20
|
export async function onUnhandledRequest(
|
|
140
21
|
request: Request,
|
|
141
|
-
handlers: Array<RequestHandler>,
|
|
142
22
|
strategy: UnhandledRequestStrategy = 'warn',
|
|
143
23
|
): Promise<void> {
|
|
144
|
-
const parsedGraphQLQuery = await parseGraphQLRequest(request).catch(
|
|
145
|
-
() => null,
|
|
146
|
-
)
|
|
147
24
|
const publicUrl = getPublicUrlFromRequest(request)
|
|
148
|
-
|
|
149
|
-
function generateHandlerSuggestion(): string {
|
|
150
|
-
/**
|
|
151
|
-
* @note Ignore exceptions during GraphQL request parsing because at this point
|
|
152
|
-
* we cannot assume the unhandled request is a valid GraphQL request.
|
|
153
|
-
* If the GraphQL parsing fails, just don't treat it as a GraphQL request.
|
|
154
|
-
*/
|
|
155
|
-
const handlerGroups = groupHandlersByType(handlers)
|
|
156
|
-
const relevantHandlers = parsedGraphQLQuery
|
|
157
|
-
? handlerGroups.graphql
|
|
158
|
-
: handlerGroups.http
|
|
159
|
-
|
|
160
|
-
const suggestedHandlers = getSuggestedHandler(
|
|
161
|
-
request,
|
|
162
|
-
relevantHandlers,
|
|
163
|
-
parsedGraphQLQuery
|
|
164
|
-
? getGraphQLHandlerScore(parsedGraphQLQuery)
|
|
165
|
-
: getHttpHandlerScore(),
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
return suggestedHandlers.length > 0
|
|
169
|
-
? getSuggestedHandlersMessage(suggestedHandlers)
|
|
170
|
-
: ''
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
function getGraphQLRequestHeader(
|
|
174
|
-
parsedGraphQLRequest: ParsedGraphQLRequest<any>,
|
|
175
|
-
): string {
|
|
176
|
-
if (!parsedGraphQLRequest?.operationName) {
|
|
177
|
-
return `anonymous ${parsedGraphQLRequest?.operationType} (${request.method} ${publicUrl})`
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return `${parsedGraphQLRequest.operationType} ${parsedGraphQLRequest.operationName} (${request.method} ${publicUrl})`
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
function generateUnhandledRequestMessage(): string {
|
|
184
|
-
const requestHeader = parsedGraphQLQuery
|
|
185
|
-
? getGraphQLRequestHeader(parsedGraphQLQuery)
|
|
186
|
-
: `${request.method} ${publicUrl}`
|
|
187
|
-
const handlerSuggestion = generateHandlerSuggestion()
|
|
188
|
-
|
|
189
|
-
const messageTemplate = [
|
|
190
|
-
`intercepted a request without a matching request handler:`,
|
|
191
|
-
` \u2022 ${requestHeader}`,
|
|
192
|
-
handlerSuggestion,
|
|
193
|
-
`\
|
|
194
|
-
If you still wish to intercept this unhandled request, please create a request handler for it.
|
|
195
|
-
Read more: https://mswjs.io/docs/getting-started/mocks\
|
|
196
|
-
`,
|
|
197
|
-
].filter(Boolean)
|
|
198
|
-
return messageTemplate.join('\n\n')
|
|
199
|
-
}
|
|
25
|
+
const unhandledRequestMessage = `intercepted a request without a matching request handler:\n\n \u2022 ${request.method} ${publicUrl}\n\nIf you still wish to intercept this unhandled request, please create a request handler for it.\nRead more: https://mswjs.io/docs/getting-started/mocks`
|
|
200
26
|
|
|
201
27
|
function applyStrategy(strategy: UnhandledRequestStrategy) {
|
|
202
|
-
// Generate handler suggestions only when applying the strategy.
|
|
203
|
-
// This saves bandwidth for scenarios when developers opt-out
|
|
204
|
-
// from the default unhandled request handling strategy.
|
|
205
|
-
const message = generateUnhandledRequestMessage()
|
|
206
|
-
|
|
207
28
|
switch (strategy) {
|
|
208
29
|
case 'error': {
|
|
209
30
|
// Print a developer-friendly error.
|
|
210
|
-
devUtils.error('Error: %s',
|
|
31
|
+
devUtils.error('Error: %s', unhandledRequestMessage)
|
|
211
32
|
|
|
212
33
|
// Throw an exception to halt request processing and not perform the original request.
|
|
213
34
|
throw new Error(
|
|
@@ -218,7 +39,7 @@ Read more: https://mswjs.io/docs/getting-started/mocks\
|
|
|
218
39
|
}
|
|
219
40
|
|
|
220
41
|
case 'warn': {
|
|
221
|
-
devUtils.warn('Warning: %s',
|
|
42
|
+
devUtils.warn('Warning: %s', unhandledRequestMessage)
|
|
222
43
|
break
|
|
223
44
|
}
|
|
224
45
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/utils/getResponse.ts"],"sourcesContent":["import {\n RequestHandler,\n RequestHandlerExecutionResult,\n} from '../handlers/RequestHandler'\n\nexport interface ResponseLookupResult {\n handler: RequestHandler\n parsedResult?: any\n response?: Response\n}\n\nexport interface ResponseResolutionContext {\n baseUrl?: string\n}\n\n/**\n * Returns a mocked response for a given request using following request handlers.\n */\nexport const getResponse = async <Handler extends Array<RequestHandler>>({\n request,\n requestId,\n handlers,\n resolutionContext,\n}: {\n request: Request\n requestId: string\n handlers: Handler\n resolutionContext?: ResponseResolutionContext\n}): Promise<ResponseLookupResult | null> => {\n let matchingHandler: RequestHandler | null = null\n let result: RequestHandlerExecutionResult<any> | null = null\n\n for (const handler of handlers) {\n result = await handler.run({ request, requestId, resolutionContext })\n\n // If the handler produces some result for this request,\n // it automatically becomes matching.\n if (result !== null) {\n matchingHandler = handler\n }\n\n // Stop the lookup if this handler returns a mocked response.\n // If it doesn't, it will still be considered the last matching\n // handler until any of them returns a response. This way we can\n // distinguish between fallthrough handlers without responses\n // and the lack of a matching handler.\n if (result?.response) {\n break\n }\n }\n\n if (matchingHandler) {\n return {\n handler: matchingHandler,\n parsedResult: result?.parsedResult,\n response: result?.response,\n }\n }\n\n return null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,MAAM,cAAc,OAA8C;AAAA,EACvE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAK4C;AAC1C,MAAI,kBAAyC;AAC7C,MAAI,SAAoD;AAExD,aAAW,WAAW,UAAU;AAC9B,aAAS,MAAM,QAAQ,IAAI,EAAE,SAAS,WAAW,kBAAkB,CAAC;AAIpE,QAAI,WAAW,MAAM;AACnB,wBAAkB;AAAA,IACpB;AAOA,QAAI,QAAQ,UAAU;AACpB;AAAA,IACF;AAAA,EACF;AAEA,MAAI,iBAAiB;AACnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,cAAc,QAAQ;AAAA,MACtB,UAAU,QAAQ;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/utils/getResponse.ts"],"sourcesContent":["import {\n RequestHandler,\n RequestHandlerExecutionResult,\n} from '../handlers/RequestHandler'\n\nexport interface ResponseLookupResult {\n handler: RequestHandler\n parsedResult?: any\n response?: Response\n}\n\nexport interface ResponseResolutionContext {\n baseUrl?: string\n}\n\n/**\n * Returns a mocked response for a given request using following request handlers.\n */\nexport const getResponse = async <Handler extends Array<RequestHandler>>({\n request,\n requestId,\n handlers,\n resolutionContext,\n}: {\n request: Request\n requestId: string\n handlers: Handler\n resolutionContext?: ResponseResolutionContext\n}): Promise<ResponseLookupResult | null> => {\n let matchingHandler: RequestHandler | null = null\n let result: RequestHandlerExecutionResult<any> | null = null\n\n for (const handler of handlers) {\n result = await handler.run({ request, requestId, resolutionContext })\n\n // If the handler produces some result for this request,\n // it automatically becomes matching.\n if (result !== null) {\n matchingHandler = handler\n }\n\n // Stop the lookup if this handler returns a mocked response.\n // If it doesn't, it will still be considered the last matching\n // handler until any of them returns a response. This way we can\n // distinguish between fallthrough handlers without responses\n // and the lack of a matching handler.\n if (result?.response) {\n break\n }\n }\n\n if (matchingHandler) {\n return {\n handler: matchingHandler,\n parsedResult: result?.parsedResult,\n response: result?.response,\n }\n }\n\n return null\n}\n"],"mappings":"AAkBO,MAAM,cAAc,OAA8C;AAAA,EACvE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAK4C;AAC1C,MAAI,kBAAyC;AAC7C,MAAI,SAAoD;AAExD,aAAW,WAAW,UAAU;AAC9B,aAAS,MAAM,QAAQ,IAAI,EAAE,SAAS,WAAW,kBAAkB,CAAC;AAIpE,QAAI,WAAW,MAAM;AACnB,wBAAkB;AAAA,IACpB;AAOA,QAAI,QAAQ,UAAU;AACpB;AAAA,IACF;AAAA,EACF;AAEA,MAAI,iBAAiB;AACnB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,cAAc,QAAQ;AAAA,MACtB,UAAU,QAAQ;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/core/utils/internal/uuidv4.ts"],"sourcesContent":["export function uuidv4(): string {\n return Math.random().toString(16).slice(2)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,SAAiB;AAC/B,SAAO,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC;AAC3C;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/core/utils/internal/uuidv4.ts"],"sourcesContent":["export function uuidv4(): string {\n return Math.random().toString(16).slice(2)\n}\n"],"mappings":"AAAO,SAAS,SAAiB;AAC/B,SAAO,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC;AAC3C;","names":[]}
|