@tanstack/router-core 0.0.1-beta.2 → 0.0.1-beta.201

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 (79) hide show
  1. package/LICENSE +21 -0
  2. package/build/cjs/defer.js +39 -0
  3. package/build/cjs/defer.js.map +1 -0
  4. package/build/cjs/fileRoute.js +29 -0
  5. package/build/cjs/fileRoute.js.map +1 -0
  6. package/build/cjs/index.js +89 -0
  7. package/build/cjs/{packages/router-core/src/index.js.map → index.js.map} +1 -1
  8. package/build/cjs/{packages/router-core/src/path.js → path.js} +45 -56
  9. package/build/cjs/path.js.map +1 -0
  10. package/build/cjs/{packages/router-core/src/qss.js → qss.js} +10 -15
  11. package/build/cjs/qss.js.map +1 -0
  12. package/build/cjs/route.js +114 -0
  13. package/build/cjs/route.js.map +1 -0
  14. package/build/cjs/router.js +1277 -0
  15. package/build/cjs/router.js.map +1 -0
  16. package/build/cjs/scroll-restoration.js +139 -0
  17. package/build/cjs/scroll-restoration.js.map +1 -0
  18. package/build/cjs/{packages/router-core/src/searchParams.js → searchParams.js} +32 -19
  19. package/build/cjs/searchParams.js.map +1 -0
  20. package/build/cjs/utils.js +132 -0
  21. package/build/cjs/utils.js.map +1 -0
  22. package/build/esm/index.js +1565 -2106
  23. package/build/esm/index.js.map +1 -1
  24. package/build/stats-html.html +59 -49
  25. package/build/stats-react.json +219 -241
  26. package/build/types/defer.d.ts +19 -0
  27. package/build/types/fileRoute.d.ts +35 -0
  28. package/build/types/index.d.ts +13 -611
  29. package/build/types/link.d.ts +96 -0
  30. package/build/types/path.d.ts +16 -0
  31. package/build/types/qss.d.ts +2 -0
  32. package/build/types/route.d.ts +261 -0
  33. package/build/types/routeInfo.d.ts +22 -0
  34. package/build/types/router.d.ts +265 -0
  35. package/build/types/scroll-restoration.d.ts +6 -0
  36. package/build/types/searchParams.d.ts +5 -0
  37. package/build/types/utils.d.ts +51 -0
  38. package/build/umd/index.development.js +1917 -2070
  39. package/build/umd/index.development.js.map +1 -1
  40. package/build/umd/index.production.js +23 -2
  41. package/build/umd/index.production.js.map +1 -1
  42. package/package.json +13 -7
  43. package/src/defer.ts +55 -0
  44. package/src/fileRoute.ts +156 -0
  45. package/src/index.ts +5 -11
  46. package/src/link.ts +149 -123
  47. package/src/path.ts +37 -17
  48. package/src/qss.ts +1 -1
  49. package/src/route.ts +861 -231
  50. package/src/routeInfo.ts +47 -205
  51. package/src/router.ts +1818 -952
  52. package/src/scroll-restoration.ts +179 -0
  53. package/src/searchParams.ts +31 -9
  54. package/src/utils.ts +106 -43
  55. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -33
  56. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  57. package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +0 -33
  58. package/build/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +0 -1
  59. package/build/cjs/node_modules/history/index.js +0 -815
  60. package/build/cjs/node_modules/history/index.js.map +0 -1
  61. package/build/cjs/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +0 -30
  62. package/build/cjs/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +0 -1
  63. package/build/cjs/packages/router-core/src/index.js +0 -58
  64. package/build/cjs/packages/router-core/src/path.js.map +0 -1
  65. package/build/cjs/packages/router-core/src/qss.js.map +0 -1
  66. package/build/cjs/packages/router-core/src/route.js +0 -161
  67. package/build/cjs/packages/router-core/src/route.js.map +0 -1
  68. package/build/cjs/packages/router-core/src/routeConfig.js +0 -69
  69. package/build/cjs/packages/router-core/src/routeConfig.js.map +0 -1
  70. package/build/cjs/packages/router-core/src/routeMatch.js +0 -266
  71. package/build/cjs/packages/router-core/src/routeMatch.js.map +0 -1
  72. package/build/cjs/packages/router-core/src/router.js +0 -789
  73. package/build/cjs/packages/router-core/src/router.js.map +0 -1
  74. package/build/cjs/packages/router-core/src/searchParams.js.map +0 -1
  75. package/build/cjs/packages/router-core/src/utils.js +0 -118
  76. package/build/cjs/packages/router-core/src/utils.js.map +0 -1
  77. package/src/frameworks.ts +0 -12
  78. package/src/routeConfig.ts +0 -495
  79. package/src/routeMatch.ts +0 -374
@@ -0,0 +1,179 @@
1
+ import { AnyRouter, ParsedLocation } from './router'
2
+
3
+ const windowKey = 'window'
4
+ const delimiter = '___'
5
+
6
+ let weakScrolledElementsByRestoreKey: Record<string, WeakSet<any>> = {}
7
+
8
+ type CacheValue = Record<string, { scrollX: number; scrollY: number }>
9
+
10
+ type Cache = {
11
+ current: CacheValue
12
+ set: (key: string, value: any) => void
13
+ }
14
+
15
+ let cache: Cache
16
+
17
+ let pathDidChange = false
18
+
19
+ const sessionsStorage = typeof window !== 'undefined' && window.sessionStorage
20
+
21
+ export type ScrollRestorationOptions = {
22
+ getKey?: (location: ParsedLocation) => string
23
+ }
24
+
25
+ const defaultGetKey = (location: ParsedLocation) => location.state.key!
26
+
27
+ export function watchScrollPositions(
28
+ router: AnyRouter,
29
+ opts?: ScrollRestorationOptions,
30
+ ) {
31
+ const getKey = opts?.getKey || defaultGetKey
32
+
33
+ if (sessionsStorage) {
34
+ if (!cache) {
35
+ cache = (() => {
36
+ const storageKey = 'tsr-scroll-restoration-v1'
37
+
38
+ const current: CacheValue = JSON.parse(
39
+ window.sessionStorage.getItem(storageKey) || '{}',
40
+ )
41
+
42
+ return {
43
+ current,
44
+ set: (key: string, value: any) => {
45
+ current[key] = value
46
+ window.sessionStorage.setItem(storageKey, JSON.stringify(cache))
47
+ },
48
+ }
49
+ })()
50
+ }
51
+ }
52
+
53
+ const { history } = window
54
+ if (history.scrollRestoration) {
55
+ history.scrollRestoration = 'manual'
56
+ }
57
+
58
+ const onScroll = (event: Event) => {
59
+ const restoreKey = getKey(router.state.resolvedLocation)
60
+
61
+ if (!weakScrolledElementsByRestoreKey[restoreKey]) {
62
+ weakScrolledElementsByRestoreKey[restoreKey] = new WeakSet()
63
+ }
64
+
65
+ const set = weakScrolledElementsByRestoreKey[restoreKey]!
66
+
67
+ if (set.has(event.target)) return
68
+ set.add(event.target)
69
+
70
+ const cacheKey = [
71
+ restoreKey,
72
+ event.target === document || event.target === window
73
+ ? windowKey
74
+ : getCssSelector(event.target),
75
+ ].join(delimiter)
76
+
77
+ if (!cache.current[cacheKey]) {
78
+ cache.set(cacheKey, {
79
+ scrollX: NaN,
80
+ scrollY: NaN,
81
+ })
82
+ }
83
+ }
84
+
85
+ const getCssSelector = (el: any): string => {
86
+ let path = [],
87
+ parent
88
+ while ((parent = el.parentNode)) {
89
+ path.unshift(
90
+ `${el.tagName}:nth-child(${
91
+ ([].indexOf as any).call(parent.children, el) + 1
92
+ })`,
93
+ )
94
+ el = parent
95
+ }
96
+ return `${path.join(' > ')}`.toLowerCase()
97
+ }
98
+
99
+ const onPathWillChange = (from: ParsedLocation) => {
100
+ const restoreKey = getKey(from)
101
+ for (const cacheKey in cache.current) {
102
+ const entry = cache.current[cacheKey]!
103
+ const [key, elementSelector] = cacheKey.split(delimiter)
104
+ if (restoreKey === key) {
105
+ if (elementSelector === windowKey) {
106
+ entry.scrollX = window.scrollX || 0
107
+ entry.scrollY = window.scrollY || 0
108
+ } else if (elementSelector) {
109
+ const element = document.querySelector(elementSelector)
110
+ entry.scrollX = element?.scrollLeft || 0
111
+ entry.scrollY = element?.scrollTop || 0
112
+ }
113
+
114
+ cache.set(cacheKey, entry)
115
+ }
116
+ }
117
+ }
118
+
119
+ const onPathChange = () => {
120
+ pathDidChange = true
121
+ }
122
+
123
+ if (typeof document !== 'undefined') {
124
+ document.addEventListener('scroll', onScroll, true)
125
+ }
126
+
127
+ const unsubOnBeforeLoad = router.subscribe('onBeforeLoad', (event) => {
128
+ if (event.pathChanged) onPathWillChange(event.from)
129
+ })
130
+
131
+ const unsubOnLoad = router.subscribe('onLoad', (event) => {
132
+ if (event.pathChanged) onPathChange()
133
+ })
134
+
135
+ return () => {
136
+ document.removeEventListener('scroll', onScroll)
137
+ unsubOnBeforeLoad()
138
+ unsubOnLoad()
139
+ }
140
+ }
141
+
142
+ export function restoreScrollPositions(
143
+ router: AnyRouter,
144
+ opts?: ScrollRestorationOptions,
145
+ ) {
146
+ if (pathDidChange) {
147
+ if (!router.resetNextScroll) {
148
+ return
149
+ }
150
+
151
+ const getKey = opts?.getKey || defaultGetKey
152
+
153
+ pathDidChange = false
154
+
155
+ const restoreKey = getKey(router.state.location)
156
+ let windowRestored = false
157
+
158
+ for (const cacheKey in cache.current) {
159
+ const entry = cache.current[cacheKey]!
160
+ const [key, elementSelector] = cacheKey.split(delimiter)
161
+ if (key === restoreKey) {
162
+ if (elementSelector === windowKey) {
163
+ windowRestored = true
164
+ window.scrollTo(entry.scrollX, entry.scrollY)
165
+ } else if (elementSelector) {
166
+ const element = document.querySelector(elementSelector)
167
+ if (element) {
168
+ element.scrollLeft = entry.scrollX
169
+ element.scrollTop = entry.scrollY
170
+ }
171
+ }
172
+ }
173
+ }
174
+
175
+ if (!windowRestored) {
176
+ window.scrollTo(0, 0)
177
+ }
178
+ }
179
+ }
@@ -1,8 +1,11 @@
1
1
  import { decode, encode } from './qss'
2
- import { AnySearchSchema } from './routeConfig'
2
+ import { AnySearchSchema } from './route'
3
3
 
4
4
  export const defaultParseSearch = parseSearchWith(JSON.parse)
5
- export const defaultStringifySearch = stringifySearchWith(JSON.stringify)
5
+ export const defaultStringifySearch = stringifySearchWith(
6
+ JSON.stringify,
7
+ JSON.parse,
8
+ )
6
9
 
7
10
  export function parseSearchWith(parser: (str: string) => any) {
8
11
  return (searchStr: string): AnySearchSchema => {
@@ -28,7 +31,30 @@ export function parseSearchWith(parser: (str: string) => any) {
28
31
  }
29
32
  }
30
33
 
31
- export function stringifySearchWith(stringify: (search: any) => string) {
34
+ export function stringifySearchWith(
35
+ stringify: (search: any) => string,
36
+ parser?: (str: string) => any,
37
+ ) {
38
+ function stringifyValue(val: any) {
39
+ if (typeof val === 'object' && val !== null) {
40
+ try {
41
+ return stringify(val)
42
+ } catch (err) {
43
+ // silent
44
+ }
45
+ } else if (typeof val === 'string' && typeof parser === 'function') {
46
+ try {
47
+ // Check if it's a valid parseable string.
48
+ // If it is, then stringify it again.
49
+ parser(val)
50
+ return stringify(val)
51
+ } catch (err) {
52
+ // silent
53
+ }
54
+ }
55
+ return val
56
+ }
57
+
32
58
  return (search: Record<string, any>) => {
33
59
  search = { ...search }
34
60
 
@@ -37,12 +63,8 @@ export function stringifySearchWith(stringify: (search: any) => string) {
37
63
  const val = search[key]
38
64
  if (typeof val === 'undefined' || val === undefined) {
39
65
  delete search[key]
40
- } else if (val && typeof val === 'object' && val !== null) {
41
- try {
42
- search[key] = stringify(val)
43
- } catch (err) {
44
- // silent
45
- }
66
+ } else {
67
+ search[key] = stringifyValue(val)
46
68
  }
47
69
  })
48
70
  }
package/src/utils.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type NoInfer<T> = [T][T extends any ? 0 : never]
2
- export type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N
2
+ export type IsAny<T, Y, N = T> = 1 extends 0 & T ? Y : N
3
3
  export type IsAnyBoolean<T> = 1 extends 0 & T ? true : false
4
4
  export type IsKnown<T, Y, N> = unknown extends T ? N : Y
5
5
  export type PickAsRequired<T, K extends keyof T> = Omit<T, K> &
@@ -7,28 +7,66 @@ export type PickAsRequired<T, K extends keyof T> = Omit<T, K> &
7
7
  export type PickAsPartial<T, K extends keyof T> = Omit<T, K> &
8
8
  Partial<Pick<T, K>>
9
9
  export type PickUnsafe<T, K> = K extends keyof T ? Pick<T, K> : never
10
- export type PickExtra<T, K> = Expand<{
10
+ export type PickExtra<T, K> = {
11
11
  [TKey in keyof K as string extends TKey
12
12
  ? never
13
13
  : TKey extends keyof T
14
14
  ? never
15
15
  : TKey]: K[TKey]
16
- }>
16
+ }
17
+
17
18
  export type PickRequired<T> = {
18
19
  [K in keyof T as undefined extends T[K] ? never : K]: T[K]
19
20
  }
20
21
 
22
+ // export type Expand<T> = T
21
23
  export type Expand<T> = T extends object
22
24
  ? T extends infer O
23
25
  ? { [K in keyof O]: O[K] }
24
26
  : never
25
27
  : T
26
28
 
27
- // type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (
28
- // k: infer I,
29
- // ) => any
30
- // ? I
31
- // : never
29
+ export type UnionToIntersection<U> = (
30
+ U extends any ? (k: U) => void : never
31
+ ) extends (k: infer I) => any
32
+ ? I
33
+ : never
34
+
35
+ // type Compute<T> = { [K in keyof T]: T[K] } | never
36
+
37
+ // type AllKeys<T> = T extends any ? keyof T : never
38
+
39
+ // export type MergeUnion<T, Keys extends keyof T = keyof T> = Compute<
40
+ // {
41
+ // [K in Keys]: T[Keys]
42
+ // } & {
43
+ // [K in AllKeys<T>]?: T extends any
44
+ // ? K extends keyof T
45
+ // ? T[K]
46
+ // : never
47
+ // : never
48
+ // }
49
+ // >
50
+
51
+ export type DeepMerge<A, B> = {
52
+ [K in keyof (A & B)]: K extends keyof B
53
+ ? B[K]
54
+ : K extends keyof A
55
+ ? A[K]
56
+ : never
57
+ } & (A extends Record<string, any>
58
+ ? Pick<A, Exclude<keyof A, keyof B>>
59
+ : never) &
60
+ (B extends Record<string, any> ? Pick<B, Exclude<keyof B, keyof A>> : never)
61
+
62
+ export type DeepMergeAll<T extends any[]> = T extends [
63
+ infer Left,
64
+ ...infer Rest,
65
+ ]
66
+ ? Rest extends any[]
67
+ ? DeepMerge<Left, DeepMergeAll<Rest>>
68
+ : Left
69
+ : {}
32
70
 
33
71
  export type Values<O> = O[ValueKeys<O>]
34
72
  export type ValueKeys<O> = Extract<keyof O, PropertyKey>
@@ -40,9 +78,9 @@ export type DeepAwaited<T> = T extends Promise<infer A>
40
78
  : T
41
79
 
42
80
  export type PathParamMask<TRoutePath extends string> =
43
- TRoutePath extends `${infer L}/:${infer C}/${infer R}`
81
+ TRoutePath extends `${infer L}/$${infer C}/${infer R}`
44
82
  ? PathParamMask<`${L}/${string}/${R}`>
45
- : TRoutePath extends `${infer L}/:${infer C}`
83
+ : TRoutePath extends `${infer L}/$${infer C}`
46
84
  ? PathParamMask<`${L}/${string}`>
47
85
  : TRoutePath
48
86
 
@@ -52,6 +90,10 @@ export type Updater<TPrevious, TResult = TPrevious> =
52
90
  | TResult
53
91
  | ((prev?: TPrevious) => TResult)
54
92
 
93
+ export type NonNullableUpdater<TPrevious, TResult = TPrevious> =
94
+ | TResult
95
+ | ((prev: TPrevious) => TResult)
96
+
55
97
  export type PickExtract<T, U> = {
56
98
  [K in keyof T as T[K] extends U ? K : never]: T[K]
57
99
  }
@@ -60,42 +102,71 @@ export type PickExclude<T, U> = {
60
102
  [K in keyof T as T[K] extends U ? never : K]: T[K]
61
103
  }
62
104
 
105
+ export function last<T>(arr: T[]) {
106
+ return arr[arr.length - 1]
107
+ }
108
+
109
+ function isFunction(d: any): d is Function {
110
+ return typeof d === 'function'
111
+ }
112
+
113
+ export function functionalUpdate<TResult>(
114
+ updater: Updater<TResult> | NonNullableUpdater<TResult>,
115
+ previous: TResult,
116
+ ): TResult {
117
+ if (isFunction(updater)) {
118
+ return updater(previous as TResult)
119
+ }
120
+
121
+ return updater
122
+ }
123
+
124
+ export function pick<T, K extends keyof T>(parent: T, keys: K[]): Pick<T, K> {
125
+ return keys.reduce((obj: any, key: K) => {
126
+ obj[key] = parent[key]
127
+ return obj
128
+ }, {} as any)
129
+ }
130
+
63
131
  /**
64
132
  * This function returns `a` if `b` is deeply equal.
65
133
  * If not, it will replace any deeply equal children of `b` with those of `a`.
66
- * This can be used for structural sharing between JSON values for example.
134
+ * This can be used for structural sharing between immutable JSON values for example.
135
+ * Do not use this with signals
67
136
  */
68
- export function replaceEqualDeep(prev: any, next: any) {
69
- if (prev === next) {
137
+ export function replaceEqualDeep<T>(prev: any, _next: T): T {
138
+ if (prev === _next) {
70
139
  return prev
71
140
  }
72
141
 
142
+ const next = _next as any
143
+
73
144
  const array = Array.isArray(prev) && Array.isArray(next)
74
145
 
75
146
  if (array || (isPlainObject(prev) && isPlainObject(next))) {
76
- const aSize = array ? prev.length : Object.keys(prev).length
77
- const bItems = array ? next : Object.keys(next)
78
- const bSize = bItems.length
147
+ const prevSize = array ? prev.length : Object.keys(prev).length
148
+ const nextItems = array ? next : Object.keys(next)
149
+ const nextSize = nextItems.length
79
150
  const copy: any = array ? [] : {}
80
151
 
81
152
  let equalItems = 0
82
153
 
83
- for (let i = 0; i < bSize; i++) {
84
- const key = array ? i : bItems[i]
154
+ for (let i = 0; i < nextSize; i++) {
155
+ const key = array ? i : nextItems[i]
85
156
  copy[key] = replaceEqualDeep(prev[key], next[key])
86
157
  if (copy[key] === prev[key]) {
87
158
  equalItems++
88
159
  }
89
160
  }
90
161
 
91
- return aSize === bSize && equalItems === aSize ? prev : copy
162
+ return prevSize === nextSize && equalItems === prevSize ? prev : copy
92
163
  }
93
164
 
94
165
  return next
95
166
  }
96
167
 
97
168
  // Copied from: https://github.com/jonschlinkert/is-plain-object
98
- function isPlainObject(o: any) {
169
+ export function isPlainObject(o: any) {
99
170
  if (!hasObjectPrototype(o)) {
100
171
  return false
101
172
  }
@@ -125,33 +196,25 @@ function hasObjectPrototype(o: any) {
125
196
  return Object.prototype.toString.call(o) === '[object Object]'
126
197
  }
127
198
 
128
- export function last<T>(arr: T[]) {
129
- return arr[arr.length - 1]
130
- }
131
-
132
- export function warning(cond: any, message: string): cond is true {
133
- if (cond) {
134
- if (typeof console !== 'undefined') console.warn(message)
135
-
136
- try {
137
- throw new Error(message)
138
- } catch {}
199
+ export function partialDeepEqual(a: any, b: any): boolean {
200
+ if (a === b) {
201
+ return true
139
202
  }
140
203
 
141
- return true
142
- }
204
+ if (typeof a !== typeof b) {
205
+ return false
206
+ }
143
207
 
144
- function isFunction(d: any): d is Function {
145
- return typeof d === 'function'
146
- }
208
+ if (isPlainObject(a) && isPlainObject(b)) {
209
+ return !Object.keys(b).some((key) => !partialDeepEqual(a[key], b[key]))
210
+ }
147
211
 
148
- export function functionalUpdate<TResult>(
149
- updater: Updater<TResult>,
150
- previous: TResult,
151
- ) {
152
- if (isFunction(updater)) {
153
- return updater(previous as TResult)
212
+ if (Array.isArray(a) && Array.isArray(b)) {
213
+ return (
214
+ a.length === b.length &&
215
+ a.every((item, index) => partialDeepEqual(item, b[index]))
216
+ )
154
217
  }
155
218
 
156
- return updater
219
+ return false
157
220
  }
@@ -1,33 +0,0 @@
1
- /**
2
- * router-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- function _extends() {
16
- _extends = Object.assign ? Object.assign.bind() : function (target) {
17
- for (var i = 1; i < arguments.length; i++) {
18
- var source = arguments[i];
19
-
20
- for (var key in source) {
21
- if (Object.prototype.hasOwnProperty.call(source, key)) {
22
- target[key] = source[key];
23
- }
24
- }
25
- }
26
-
27
- return target;
28
- };
29
- return _extends.apply(this, arguments);
30
- }
31
-
32
- exports["extends"] = _extends;
33
- //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,33 +0,0 @@
1
- /**
2
- * router-core
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- function _extends() {
16
- _extends = Object.assign ? Object.assign.bind() : function (target) {
17
- for (var i = 1; i < arguments.length; i++) {
18
- var source = arguments[i];
19
-
20
- for (var key in source) {
21
- if (Object.prototype.hasOwnProperty.call(source, key)) {
22
- target[key] = source[key];
23
- }
24
- }
25
- }
26
-
27
- return target;
28
- };
29
- return _extends.apply(this, arguments);
30
- }
31
-
32
- exports["default"] = _extends;
33
- //# sourceMappingURL=extends.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extends.js","sources":["../../../../../../../../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":[],"mappings":";;;;;;;;;;;;;;AAAe,SAAS,QAAQ,GAAG;AACnC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE;AACtE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAChC;AACA,MAAM,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;AAC9B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AAC/D,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC;;;;"}