prettyPrint: do not call legacy toString for Uint8Arrays
Certain Uint8Arrays returned from introspected functions fail to print with the pretty printer and log deprecated warnings.
This is because for those Uint8Arrays we override its toString as a compatibility shim to warn users of legacy behaviour. However, this makes its toString own property nonstandard, causing us to call the non-standard toString
.
Detect TypedArrays explicitly when pretty printing so it can be printed in an array-like format.
Fixes #434 (closed)
With this MR:
gjs> imports.gi.Gio.TlsCertificate.new_from_pem(`\
-----BEGIN CERTIFICATE-----
MIIH/TCCBeWgAwIBAgIQaBYE3/M08XHYCnNVmcFBcjANBgkqhkiG9w0BAQsFADBy
MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x
ETAPBgNVBAoMCFNTTCBDb3JwMS4wLAYDVQQDDCVTU0wuY29tIEVWIFNTTCBJbnRl
cm1lZGlhdGUgQ0EgUlNBIFIzMB4XDTIwMDQwMTAwNTgzM1oXDTIxMDcxNjAwNTgz
M1owgb0xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91
c3RvbjERMA8GA1UECgwIU1NMIENvcnAxFjAUBgNVBAUTDU5WMjAwODE2MTQyNDMx
FDASBgNVBAMMC3d3dy5zc2wuY29tMR0wGwYDVQQPDBRQcml2YXRlIE9yZ2FuaXph
dGlvbjEXMBUGCysGAQQBgjc8AgECDAZOZXZhZGExEzARBgsrBgEEAYI3PAIBAxMC
VVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHheRkbb1FCc7xRKst
wK0JIGaKY8t7JbS2bQ2b6YIJDgnHuIYHqBrCUV79oelikkokRkFvcvpaKinFHDQH
... truncated
-----END CERTIFICATE-----`, -1).certificate;28J5ft/GotinMyDk3iar
[48, 130, 7, 253, 48, 130, 5, 229, 160, 3, 2, 1, 2, 2, 16, 104, 22, 4, 223, 243, 52, 241, 113, 216, 10, 115, 85, 153, 193, 65, 114, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 114, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 83, 49, 14, 48, 12, 6, 3, 85, 4, 8, 12, 5, 84, 101, 120, 97, 115, 49, 16, 48, 14, 6, 3, 85, 4, 7, 12, 7, 72, 111, 117, 115, 116, 111, 110, 49, 17, 48, 15, 6, 3, 85, 4, 10, 12, 8, 83, 83, 76, 32, 67, 111, 114, 112, 49, 46, 48, 44, 6, 3, 85, 4, 3, 12, 37, 83, 83, 76, 46, 99, 111, 109, 32, 69, 86, 32, 83, 83, 76, 32, 73, 110, 116, 101, 114, 109, 101, 100, 105, 97, 116, 101, 32, 67, 65, 32, 82, 83, 65, 32, 82, 51, 48, 30, 23, 13, 50, 48, 48, 52, 48, 49, 48, 48, 53, 56, 51, 51, 90, 23, 13, 50, 49, 48, 55, 49, 54, 48, 48, 53, 56, 51, 51, 90, 48, 129, 189, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 85, 83, 49, 14, 48, 12, 6, 3, 85, 4, 8, 12, 5, 84, 101, 120, 97, 115, 49, 16, 48, 14, 6, 3, 85, 4, 7, 12, 7, 72, 111, 117, 115, 116, 111, 110, 49, 17, 48, 15, 6, 3, 85, 4, 10, 12, 8, 83, 83, 76, 32, 67, 111, 114, 112, 49, 22, 48, 20, 6, 3, 85, 4, 5, 19, 13, 78, 86, 50, 48, 48, 56, 49, 54, 49, 52, 50, 52, 51, 49, 20, 48, 18, 6, 3, 85, 4, 3, 12, 11, 119, 119, 119, 46, 115, 115, 108, 46, 99, 111, 109, 49, 29, 48, 27, 6, 3, 85, 4, 15, 12, 20, 80, 114, 105, 118, 97, 116, 101, 32, 79, 114, 103, 97, 110, 105, 122, 97, 116, 105, 111, 110, 49, 23, 48, 21, 6, 11, 43, 6, 1, 4, 1, 130, 55, 60, 2, 1, 2, 12, 6, 78, 101, 118, 97, 100, 97, 49, 19, 48, 17, 6, 11, 43, 6, 1, 4, 1, 130, 55, 60, 2, 1, 3, 19, 2, 85, 83, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 199, 133, 228, 100, 109, 189, 69, 9, 206, 241, 68, 171, 45, 192, 173, 9, 32, 102, 138, 99, 203, 123, 37, 180, 182, 109, 13, 155, 233, 130, 9, 14, 9, 199, 184, 134, 7, 168, 26, 194, 81, 94, 253, 161, 233, 98, 146, 74, 36, 70, 65, 111, 114, 250, 90, 42, 41, 197, 28, 52, 7, 82, 149, 132, 35, 164, 84, 17, 22, 38, 72, 40, 55, 59, 197, 162, 227, 107, 142, 113, 93, 129, 229, 150, 155, 153, 112, 164, 193, 220, 88, 228, 71, 37, 231, 80, 91, 51, 197, 39, 25, 218, 0, 25, 183, 77, 154, 36, 102, 74, 100, 227, 114, 207, 165, 132, 204, 96, 225, 241, 88, 234, 80, 105, 136, 69, 69, 136, 101, 35, 25, 20, 126, 235, 84, 122, 236, 188, 250, 83, 130, 137, 120, 179, 92, 10, 109, 59, 67, 1, 88, 40, 25, 169, 139, 79, 32, 119, 40, 18, 189, 23, 84, 195, 158, 73, 162, 154, 222, 118, 63, 149, 26, 216, 212, 144, 30, 33, 21, 62, 6, 65, 127, 224, 134, 222, 189, 70, 90, 179, 255, 239, 46, 209, 209, 16, 146, 27, 148, 186, 231, 43, 169, 169, 102, 72, 108, 184, 220, 116, 112, 5, 240, 202, 23, 6, 30, 88, 206, 194, 60, 199, 121, 123, 247, 78, 250, 221, 60, 183, 195, 219, 143, 53, 83, 78, 254, 97, 64, 48, 172, 17, 130, 21, 217, 62, 192, 20, 143, 82, 112, 220, 76, 146, 30, 255, 2, 3, 1, 0, 1, 163, 130, 3, 65, 48, 130, 3, 61, 48, 31, 6, 3, 85, 29, 35, 4, 24, 48, 22, 128, 20, 191, 193, 90, 135, 255, 40, 250, 65, 61, 253, 183, 79, 228, 29, 175, 160, 97, 88, 41, 189, 48, 127, 6, 8, 43, 6, 1, 5, 5, 7, 1, 1, 4, 115, 48, 113, 48, 77, 6, 8, 43, 6, 1, 5, 5, 7, 48, 2, 134, 65, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 115, 115, 108, 46, 99, 111, 109, 47, 114, 101, 112, 111, 115, 105, 116, 111, 114, 121, 47, 83, 83, 76, 99, 111, 109, 45, 83, 117, 98, 67, 65, 45, 69, 86, 45, 83, 83, 76, 45, 82, 83, 65, 45, 52, 48, 57, 54, 45, 82, 51, 46, 99, 114, 116, 48, 32, 6, 8, 43, 6, 1, 5, 5, 7, 48, 1, 134, 20, 104, 116, 116, 112, 58, 47, 47, 111, 99, 115, 112, 115, 46, 115, 115, 108, 46, 99, 111, 109, 48, 31, 6, 3, 85, 29, 17, 4, 24, 48, 22, 130, 11, 119, 119, 119, 46, 115, 115, 108, 46, 99, 111, 109, 130, 7, 115, 115, 108, 46, 99, 111, 109, 48, 95, 6, 3, 85, 29, 32, 4, 88, 48, 86, 48, 7, 6, 5, 103, 129, 12, 1, 1, 48, 13, 6, 11, 42, 132, 104, 1, 134, 246, 119, 2, 5, 1, 1, 48, 60, 6, 12, 43, 6, 1, 4, 1, 130, 169, 48, 1, 3, 1, 4, 48, 44, 48, 42, 6, 8, 43, 6, 1, 5, 5, 7, 2, 1, 22, 30, 104, 116, 116, 112, 115, 58, 47, 47, 119, 119, 119, 46, 115, 115, 108, 46, 99, 111, 109, 47, 114, 101, 112, 111, 115, 105, 116, 111, 114, 121, 48, 29, 6, 3, 85, 29, 37, 4, 22, 48, 20, 6, 8, 43, 6, 1, 5, 5, 7, 3, 2, 6, 8, 43, 6, 1, 5, 5, 7, 3, 1, 48, 72, 6, 3, 85, 29, 31, 4, 65, 48, 63, 48, 61, 160, 59, 160, 57, 134, 55, 104, 116, 116, 112, 58, 47, 47, 99, 114, 108, 115, 46, 115, 115, 108, 46, 99, 111, 109, 47, 83, 83, 76, 99, 111, 109, 45, 83, 117, 98, 67, 65, 45, 69, 86, 45, 83, 83, 76, 45, 82, 83, 65, 45, 52, 48, 57, 54, 45, 82, 51, 46, 99, 114, 108, 48, 29, 6, 3, 85, 29, 14, 4, 22, 4, 20, 0, 192, 21, 66, 26, 207, 14, 107, 100, 129, 218, 166, 116, 113, 33, 73, 233, 195, 225, 139, 48, 14, 6, 3, 85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 5, 160, 48, 130, 1, 125, 6, 10, 43, 6, 1, 4, 1, 214, 121, 2, 4, 2, 4, 130, 1, 109, 4, 130, 1, 105, 1, 103, 0, 119, 0, 246, 92, 148, 47, 209, 119, 48, 34, 20, 84, 24, 8, 48, 148, 86, 142, 227, 77, 19, 25, 51, 191, 223, 12, 47, 32, 11, 204, 78, 241, 100, 227, 0, 0, 1, 113, 51, 72, 104, 111, 0, 0, 4, 3, 0, 72, 48, 70, 2, 33, 0, 235, 23, 165, 136, 212, 124, 26, 79, 250, 222, 150, 29, 157, 47, 239, 59, 31, 194, 142, 155, 68, 48, 75, 252, 245, 101, 161, 215, 251, 171, 88, 129, 2, 33, 0, 242, 6, 183, 135, 83, 110, 67, 207, 11, 164, 65, 164, 80, 143, 5, 186, 231, 150, 75, 146, 160, 167, 197, 188, 80, 89, 24, 142, 122, 104, 253, 36, 0, 117, 0, 148, 32, 188, 30, 142, 213, 141, 108, 136, 115, 31, 130, 139, 34, 44, 13, 209, 218, 77, 94, 108, 79, 148, 61, 97, 219, 78, 47, 88, 77, 162, 194, 0, 0, 1, 113, 51, 72, 104, 220, 0, 0, 4, 3, 0, 70, 48, 68, 2, 32, 25, 17, 56, 195, 54, 155, 53, 23, 67, 242, 74, 191, 188, 83, 247, 181, 7, 182, 134, 109, 49, 230, 117, 238, 150, 140, 33, 224, 134, 240, 222, 89, 2, 32, 86, 27, 255, 121, 82, 14, 153, 82, 236, 7, 17, 226, 191, 151, 165, 107, 68, 41, 36, 197, 88, 153, 141, 9, 22, 220, 92, 155, 171, 217, 17, 129, 0, 117, 0, 238, 192, 149, 238, 141, 114, 100, 15, 146, 227, 195, 185, 27, 199, 18, 163, 105, 106, 9, 123, 75, 106, 26, 20, 56, 230, 71, 178, 203, 237, 197, 249, 0, 0, 1, 113, 51, 72, 104, 243, 0, 0, 4, 3, 0, 70, 48, 68, 2, 32, 122, 34, 246, 232, 90, 203, 55, 71, 130, 45, 87, 8, 222, 110, 94, 195, 223, 42, 5, 105, 125, 13, 14, 29, 157, 90, 24, 96, 192, 44, 107, 31, 2, 32, 9, 250, 187, 161, 195, 2, 230, 223, 181, 142, 46, 76, 231, 22, 139, 152, 240, 184, 35, 229, 151, 220, 143, 192, 70, 69, 146, 202, 35, 187, 33, 7, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 3, 130, 2, 1, 0, 39, 174, 186, 190, 16, 158, 232, 234, 154, 11, 146, 172, 117, 55, 154, 23, 254, 112, 154, 29, 205, 52, 13, 170, 142, 45, 117, 239, 143, 15, 95, 222, 21, 214, 0, 16, 187, 188, 196, 95, 180, 2, 222, 241, 38, 35, 216, 139, 148, 74, 194, 41, 114, 63, 158, 175, 251, 120, 152, 217, 63, 101, 195, 180, 188, 76, 157, 56, 213, 82, 225, 104, 130, 169, 215, 131, 51, 73, 76, 209, 201, 234, 14, 2, 194, 123, 64, 0, 204, 10, 81, 202, 80, 57, 71, 81, 77, 169, 54, 234, 60, 241, 142, 162, 130, 139, 211, 221, 187, 39, 192, 147, 98, 17, 3, 106, 202, 100, 146, 98, 25, 45, 195, 75, 90, 118, 234, 42, 142, 165, 231, 211, 168, 44, 86, 42, 22, 77, 80, 215, 202, 199, 121, 168, 76, 120, 183, 171, 8, 128, 135, 12, 155, 110, 152, 31, 91, 201, 164, 36, 4, 132, 170, 92, 219, 45, 59, 129, 25, 36, 148, 22, 81, 180, 200, 211, 134, 254, 28, 95, 44, 140, 95, 187, 147, 113, 212, 251, 0, 144, 79, 185, 232, 159, 10, 133, 118, 228, 156, 87, 186, 143, 29, 231, 93, 253, 131, 3, 245, 4, 7, 187, 32, 21, 79, 199, 107, 187, 40, 223, 212, 200, 229, 221, 102, 108, 12, 127, 244, 230, 20, 108, 3, 116, 39, 236, 200, 119, 255, 102, 192, 118, 192, 177, 232, 205, 54, 40, 1, 89, 144, 244, 90, 20, 212, 146, 224, 113, 88, 175, 168, 159, 175, 54, 80, 97, 29, 120, 101, 196, 199, 77, 210, 63, 52, 71, 211, 115, 232, 66, 32, 149, 8, 222, 43, 115, 188, 35, 247, 5, 26, 111, 193, 243, 238, 54, 132, 233, 66, 33, 223, 89, 118, 217, 221, 37, 196, 73, 86, 56, 180, 192, 61, 42, 193, 235, 194, 105, 240, 61, 140, 153, 71, 191, 248, 236, 19, 226, 61, 83, 62, 156, 164, 44, 161, 179, 15, 165, 172, 87, 113, 82, 10, 148, 231, 198, 177, 169, 226, 188, 244, 84, 126, 54, 142, 42, 208, 130, 14, 248, 152, 181, 172, 146, 171, 246, 121, 18, 7, 64, 106, 94, 140, 213, 156, 77, 88, 7, 242, 139, 189, 210, 44, 185, 134, 73, 186, 166, 246, 164, 169, 46, 251, 60, 211, 234, 5, 48, 29, 68, 217, 188, 24, 141, 58, 213, 203, 224, 220, 112, 115, 242, 147, 237, 108, 206, 73, 221, 176, 63, 93, 16, 35, 192, 202, 131, 139, 223, 136, 208, 236, 29, 105, 129, 213, 206, 10, 142, 46, 160, 58, 0, 57, 185, 37, 51, 104, 105, 170, 254, 254, 21, 157, 194, 185, 82, 191, 167, 244, 182, 223, 157, 242, 220, 219, 194, 121, 126, 223, 198, 162, 216, 167, 51, 32, 228, 222, 38, 171, 23, 93, 24, 150, 167, 14, 153, 229, 245, 184, 89, 138, 109, 216, 191, 94, 138, 198, 150, 64, 168, 48, 93, 211, 15, 31, 43, 154, 159, 67, 6, 32, 127]
Edited by Gary Li