@@ -256,20 +256,43 @@ export function mapToList(map, keyNames="key", collectedKeys=Im.Map()) {
256
256
return list
257
257
}
258
258
259
+ export const copyToClipboard = str => {
260
+ // adapted from https://hackernoon.com/copying-text-to-clipboard-with-javascript-df4d4988697f
261
+ const el = document . createElement ( "textarea" )
262
+ el . value = str
263
+ el . setAttribute ( "readonly" , "" )
264
+ el . style . position = "absolute"
265
+ el . style . left = "-9999px"
266
+
267
+ document . body . appendChild ( el )
268
+ // preserve selection
269
+ const selected =
270
+ document . getSelection ( ) . rangeCount > 0
271
+ ? document . getSelection ( ) . getRangeAt ( 0 )
272
+ : false
273
+ el . select ( )
274
+ document . execCommand ( "copy" )
275
+ document . body . removeChild ( el )
276
+ if ( selected ) {
277
+ document . getSelection ( ) . removeAllRanges ( )
278
+ document . getSelection ( ) . addRange ( selected )
279
+ }
280
+ }
281
+
259
282
export function extractFileNameFromContentDispositionHeader ( value ) {
260
283
let patterns = [
261
284
/ f i l e n a m e \* = [ ^ ' ] + ' \w * ' " ( [ ^ " ] + ) " ; ? / i,
262
285
/ f i l e n a m e \* = [ ^ ' ] + ' \w * ' ( [ ^ ; ] + ) ; ? / i,
263
286
/ f i l e n a m e = " ( [ ^ ; ] * ) ; ? " / i,
264
287
/ f i l e n a m e = ( [ ^ ; ] * ) ; ? / i
265
288
]
266
-
289
+
267
290
let responseFilename
268
291
patterns . some ( regex => {
269
292
responseFilename = regex . exec ( value )
270
293
return responseFilename !== null
271
294
} )
272
-
295
+
273
296
if ( responseFilename !== null && responseFilename . length > 1 ) {
274
297
try {
275
298
return decodeURIComponent ( responseFilename [ 1 ] )
@@ -741,15 +764,15 @@ export function paramToIdentifier(param, { returnAll = false, allowHashes = true
741
764
}
742
765
const paramName = param . get ( "name" )
743
766
const paramIn = param . get ( "in" )
744
-
767
+
745
768
let generatedIdentifiers = [ ]
746
769
747
770
// Generate identifiers in order of most to least specificity
748
771
749
772
if ( param && param . hashCode && paramIn && paramName && allowHashes ) {
750
773
generatedIdentifiers . push ( `${ paramIn } .${ paramName } .hash-${ param . hashCode ( ) } ` )
751
774
}
752
-
775
+
753
776
if ( paramIn && paramName ) {
754
777
generatedIdentifiers . push ( `${ paramIn } .${ paramName } ` )
755
778
}
0 commit comments