You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			33 lines
		
	
	
		
			818 B
		
	
	
	
		
			JavaScript
		
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			818 B
		
	
	
	
		
			JavaScript
		
	
| 
											9 months ago
										 | "use strict"; | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |     value: true | ||
|  | }); | ||
|  | Object.defineProperty(exports, "cloneMetadata", { | ||
|  |     enumerable: true, | ||
|  |     get: function() { | ||
|  |         return cloneMetadata; | ||
|  |     } | ||
|  | }); | ||
|  | const TYPE_URL = "__METADATA_URL"; | ||
|  | function replacer(_key, val) { | ||
|  |     // clone URL as string but recover it as URL
 | ||
|  |     if (val instanceof URL) { | ||
|  |         return { | ||
|  |             _type: TYPE_URL, | ||
|  |             value: val.href | ||
|  |         }; | ||
|  |     } | ||
|  |     return val; | ||
|  | } | ||
|  | function reviver(_key, val) { | ||
|  |     if (typeof val === "object" && val !== null && val._type === TYPE_URL) { | ||
|  |         return new URL(val.value); | ||
|  |     } | ||
|  |     return val; | ||
|  | } | ||
|  | function cloneMetadata(metadata) { | ||
|  |     const jsonString = JSON.stringify(metadata, replacer); | ||
|  |     return JSON.parse(jsonString, reviver); | ||
|  | } | ||
|  | 
 | ||
|  | //# sourceMappingURL=clone-metadata.js.map
 |