@powersync/service-jpgwire 0.17.10
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/LICENSE +67 -0
- package/README.md +9 -0
- package/ca/aws-global.pem +2876 -0
- package/ca/azure.pem +128 -0
- package/ca/isrgrootx1.pem +31 -0
- package/ca/supabase-2021.pem +23 -0
- package/dist/certs.d.ts +1 -0
- package/dist/certs.js +15 -0
- package/dist/certs.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics.d.ts +8 -0
- package/dist/metrics.js +11 -0
- package/dist/metrics.js.map +1 -0
- package/dist/pgwire.d.ts +4 -0
- package/dist/pgwire.js +10 -0
- package/dist/pgwire.js.map +1 -0
- package/dist/pgwire_node.d.ts +1 -0
- package/dist/pgwire_node.js +164 -0
- package/dist/pgwire_node.js.map +1 -0
- package/dist/pgwire_types.d.ts +30 -0
- package/dist/pgwire_types.js +256 -0
- package/dist/pgwire_types.js.map +1 -0
- package/dist/util.d.ts +75 -0
- package/dist/util.js +225 -0
- package/dist/util.js.map +1 -0
- package/package.json +25 -0
package/ca/azure.pem
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
|
|
3
|
+
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
|
|
4
|
+
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
|
|
5
|
+
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
|
|
6
|
+
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
|
|
7
|
+
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
|
|
8
|
+
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
|
|
9
|
+
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
|
|
10
|
+
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
|
|
11
|
+
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
|
|
12
|
+
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
|
|
13
|
+
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
|
|
14
|
+
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
|
|
15
|
+
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
|
|
16
|
+
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
|
|
17
|
+
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
|
|
18
|
+
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
|
|
19
|
+
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
|
|
20
|
+
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
|
21
|
+
-----END CERTIFICATE-----
|
|
22
|
+
-----BEGIN CERTIFICATE-----
|
|
23
|
+
MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
|
|
24
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
|
25
|
+
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
|
|
26
|
+
MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
|
|
27
|
+
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
|
|
28
|
+
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
|
|
29
|
+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
|
|
30
|
+
2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
|
|
31
|
+
1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
|
|
32
|
+
q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
|
|
33
|
+
tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
|
|
34
|
+
vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
|
|
35
|
+
BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
|
|
36
|
+
5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
|
|
37
|
+
1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
|
|
38
|
+
NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
|
|
39
|
+
Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
|
|
40
|
+
8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
|
|
41
|
+
pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
|
|
42
|
+
MrY=
|
|
43
|
+
-----END CERTIFICATE-----
|
|
44
|
+
-----BEGIN CERTIFICATE-----
|
|
45
|
+
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
|
|
75
|
+
RA+GsCyRxj3qrg+E
|
|
76
|
+
-----END CERTIFICATE-----
|
|
77
|
+
-----BEGIN CERTIFICATE-----
|
|
78
|
+
MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw
|
|
79
|
+
CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD
|
|
80
|
+
VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
|
|
81
|
+
MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV
|
|
82
|
+
UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy
|
|
83
|
+
b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq
|
|
84
|
+
hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR
|
|
85
|
+
ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb
|
|
86
|
+
hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E
|
|
87
|
+
BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3
|
|
88
|
+
FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV
|
|
89
|
+
L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB
|
|
90
|
+
iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M=
|
|
91
|
+
-----END CERTIFICATE-----
|
|
92
|
+
-----BEGIN CERTIFICATE-----
|
|
93
|
+
MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw
|
|
94
|
+
CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
|
|
95
|
+
ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe
|
|
96
|
+
Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw
|
|
97
|
+
EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x
|
|
98
|
+
IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF
|
|
99
|
+
K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG
|
|
100
|
+
fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO
|
|
101
|
+
Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd
|
|
102
|
+
BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx
|
|
103
|
+
AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/
|
|
104
|
+
oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8
|
|
105
|
+
sycX
|
|
106
|
+
-----END CERTIFICATE-----
|
|
107
|
+
-----BEGIN CERTIFICATE-----
|
|
108
|
+
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
|
|
109
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
|
110
|
+
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
|
|
111
|
+
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
|
|
112
|
+
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
|
|
113
|
+
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
|
|
114
|
+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
|
|
115
|
+
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
|
|
116
|
+
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
|
|
117
|
+
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
|
|
118
|
+
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
|
|
119
|
+
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
|
|
120
|
+
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
|
|
121
|
+
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
|
|
122
|
+
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
|
|
123
|
+
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
|
|
124
|
+
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
|
|
125
|
+
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
|
|
126
|
+
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
|
|
127
|
+
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
|
|
128
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
31
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDxDCCAqygAwIBAgIUbLxMod62P2ktCiAkxnKJwtE9VPYwDQYJKoZIhvcNAQEL
|
|
3
|
+
BQAwazELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0RlbHdhcmUxEzARBgNVBAcMCk5l
|
|
4
|
+
dyBDYXN0bGUxFTATBgNVBAoMDFN1cGFiYXNlIEluYzEeMBwGA1UEAwwVU3VwYWJh
|
|
5
|
+
c2UgUm9vdCAyMDIxIENBMB4XDTIxMDQyODEwNTY1M1oXDTMxMDQyNjEwNTY1M1ow
|
|
6
|
+
azELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0RlbHdhcmUxEzARBgNVBAcMCk5ldyBD
|
|
7
|
+
YXN0bGUxFTATBgNVBAoMDFN1cGFiYXNlIEluYzEeMBwGA1UEAwwVU3VwYWJhc2Ug
|
|
8
|
+
Um9vdCAyMDIxIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqQXW
|
|
9
|
+
QyHOB+qR2GJobCq/CBmQ40G0oDmCC3mzVnn8sv4XNeWtE5XcEL0uVih7Jo4Dkx1Q
|
|
10
|
+
DmGHBH1zDfgs2qXiLb6xpw/CKQPypZW1JssOTMIfQppNQ87K75Ya0p25Y3ePS2t2
|
|
11
|
+
GtvHxNjUV6kjOZjEn2yWEcBdpOVCUYBVFBNMB4YBHkNRDa/+S4uywAoaTWnCJLUi
|
|
12
|
+
cvTlHmMw6xSQQn1UfRQHk50DMCEJ7Cy1RxrZJrkXXRP3LqQL2ijJ6F4yMfh+Gyb4
|
|
13
|
+
O4XajoVj/+R4GwywKYrrS8PrSNtwxr5StlQO8zIQUSMiq26wM8mgELFlS/32Uclt
|
|
14
|
+
NaQ1xBRizkzpZct9DwIDAQABo2AwXjALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFKjX
|
|
15
|
+
uXY32CztkhImng4yJNUtaUYsMB8GA1UdIwQYMBaAFKjXuXY32CztkhImng4yJNUt
|
|
16
|
+
aUYsMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAB8spzNn+4VU
|
|
17
|
+
tVxbdMaX+39Z50sc7uATmus16jmmHjhIHz+l/9GlJ5KqAMOx26mPZgfzG7oneL2b
|
|
18
|
+
VW+WgYUkTT3XEPFWnTp2RJwQao8/tYPXWEJDc0WVQHrpmnWOFKU/d3MqBgBm5y+6
|
|
19
|
+
jB81TU/RG2rVerPDWP+1MMcNNy0491CTL5XQZ7JfDJJ9CCmXSdtTl4uUQnSuv/Qx
|
|
20
|
+
Cea13BX2ZgJc7Au30vihLhub52De4P/4gonKsNHYdbWjg7OWKwNv/zitGDVDB9Y2
|
|
21
|
+
CMTyZKG3XEu5Ghl1LEnI3QmEKsqaCLv12BnVjbkSeZsMnevJPs1Ye6TjjJwdik5P
|
|
22
|
+
o/bKiIz+Fq8=
|
|
23
|
+
-----END CERTIFICATE-----
|
package/dist/certs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DEFAULT_CERTS: string;
|
package/dist/certs.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import { resolve } from 'path';
|
|
3
|
+
export const DEFAULT_CERTS = await loadDefaultCertificates();
|
|
4
|
+
async function loadDefaultCertificates() {
|
|
5
|
+
const dir = new URL('../ca', import.meta.url).pathname;
|
|
6
|
+
const files = await fs.readdir(dir);
|
|
7
|
+
let sum = '';
|
|
8
|
+
for (let file of files) {
|
|
9
|
+
if (file.endsWith('.pem')) {
|
|
10
|
+
sum += (await fs.readFile(resolve(dir, file), 'utf-8')) + '\n';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return sum;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=certs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certs.js","sourceRoot":"","sources":["../src/certs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,uBAAuB,EAAE,CAAC;AAE7D,KAAK,UAAU,uBAAuB;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;SAChE;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface MetricsRecorder {
|
|
2
|
+
addBytesRead(bytes: number): void;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Configure a metrics recorder to capture global metrics.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setMetricsRecorder(recorder: MetricsRecorder): void;
|
|
8
|
+
export declare function recordBytesRead(bytes: number): void;
|
package/dist/metrics.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
let metricsRecorder;
|
|
2
|
+
/**
|
|
3
|
+
* Configure a metrics recorder to capture global metrics.
|
|
4
|
+
*/
|
|
5
|
+
export function setMetricsRecorder(recorder) {
|
|
6
|
+
metricsRecorder = recorder;
|
|
7
|
+
}
|
|
8
|
+
export function recordBytesRead(bytes) {
|
|
9
|
+
metricsRecorder?.addBytesRead(bytes);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAIA,IAAI,eAA4C,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAyB;IAC1D,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/pgwire.d.ts
ADDED
package/dist/pgwire.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// The pgwire module system doesn't play nice with node.
|
|
2
|
+
// This works around it, and provides a proper export.
|
|
3
|
+
// mod.js (mod.d.ts) contains the types, but the implementation is for Deno.
|
|
4
|
+
export * from 'pgwire/mod.js';
|
|
5
|
+
import './pgwire_node.js';
|
|
6
|
+
export async function pgconnect(...options) {
|
|
7
|
+
const pgwireImport = await import('pgwire/mod.js');
|
|
8
|
+
return await pgwireImport.pgconnect(...options);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pgwire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pgwire.js","sourceRoot":"","sources":["../src/pgwire.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,sDAAsD;AAEtD,4EAA4E;AAC5E,cAAc,eAAe,CAAC;AAE9B,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAG,OAAkC;IACnE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,MAAM,YAAY,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
// Fork of pgwire/index.js, customized to handle additional TLS options
|
|
2
|
+
// Based on the version in commit 9532a395d6fa03a59c2231f0ec690806c90bd338
|
|
3
|
+
// Modifications marked with `START POWERSYNC ...`
|
|
4
|
+
import net from 'net';
|
|
5
|
+
import tls from 'tls';
|
|
6
|
+
import { createHash, pbkdf2 as _pbkdf2, randomFillSync } from 'crypto';
|
|
7
|
+
import { once } from 'events';
|
|
8
|
+
import { promisify } from 'util';
|
|
9
|
+
import { _net, SaslScramSha256 } from 'pgwire/mod.js';
|
|
10
|
+
import { recordBytesRead } from './metrics.js';
|
|
11
|
+
// START POWERSYNC
|
|
12
|
+
// pgwire doesn't natively support configuring timeouts, but we just hardcode a default.
|
|
13
|
+
// Timeout idle connections after 6 minutes (we ping at least every 5 minutes).
|
|
14
|
+
const POWERSYNC_SOCKET_DEFAULT_TIMEOUT = 360000;
|
|
15
|
+
// Timeout for the initial connection (pre-TLS)
|
|
16
|
+
// Must be less than the timeout for a HTTP request
|
|
17
|
+
const POWERSYNC_SOCKET_CONNECT_TIMEOUT = 20000;
|
|
18
|
+
// END POWERSYNC
|
|
19
|
+
const pbkdf2 = promisify(_pbkdf2);
|
|
20
|
+
Object.assign(SaslScramSha256.prototype, {
|
|
21
|
+
_b64encode(bytes) {
|
|
22
|
+
return Buffer.from(bytes).toString('base64');
|
|
23
|
+
},
|
|
24
|
+
_b64decode(b64) {
|
|
25
|
+
return Uint8Array.from(Buffer.from(b64, 'base64'));
|
|
26
|
+
},
|
|
27
|
+
_randomBytes(n) {
|
|
28
|
+
return randomFillSync(new Uint8Array(n));
|
|
29
|
+
},
|
|
30
|
+
async _hash(val) {
|
|
31
|
+
return Uint8Array.from(createHash('sha256').update(val).digest());
|
|
32
|
+
},
|
|
33
|
+
async _hi(pwd, salt, iterations) {
|
|
34
|
+
const buf = await pbkdf2(pwd, salt, iterations, 32, 'sha256');
|
|
35
|
+
return Uint8Array.from(buf);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
Object.assign(_net, {
|
|
39
|
+
connect({ hostname, port }) {
|
|
40
|
+
return SocketAdapter.connect(hostname, port);
|
|
41
|
+
},
|
|
42
|
+
reconnectable(err) {
|
|
43
|
+
return ['ENOTFOUND', 'ECONNREFUSED', 'ECONNRESET'].includes(err?.code);
|
|
44
|
+
},
|
|
45
|
+
startTls(sockadapt, { hostname, caCerts }) {
|
|
46
|
+
return sockadapt.startTls(hostname, caCerts);
|
|
47
|
+
},
|
|
48
|
+
read(sockadapt, out) {
|
|
49
|
+
return sockadapt.read(out);
|
|
50
|
+
},
|
|
51
|
+
write(sockadapt, data) {
|
|
52
|
+
return sockadapt.write(data);
|
|
53
|
+
},
|
|
54
|
+
closeNullable(sockadapt) {
|
|
55
|
+
if (!sockadapt)
|
|
56
|
+
return;
|
|
57
|
+
return sockadapt.close();
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
class SocketAdapter {
|
|
61
|
+
static async connect(host, port) {
|
|
62
|
+
// START POWERSYNC
|
|
63
|
+
// Custom timeout handling
|
|
64
|
+
const socket = net.connect({ host, port, timeout: POWERSYNC_SOCKET_DEFAULT_TIMEOUT });
|
|
65
|
+
try {
|
|
66
|
+
const timeout = setTimeout(() => {
|
|
67
|
+
socket.destroy(new Error(`Timeout while connecting to ${host}:${port}`));
|
|
68
|
+
}, POWERSYNC_SOCKET_CONNECT_TIMEOUT);
|
|
69
|
+
await once(socket, 'connect');
|
|
70
|
+
clearTimeout(timeout);
|
|
71
|
+
return new this(socket);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
socket.destroy();
|
|
75
|
+
throw e;
|
|
76
|
+
}
|
|
77
|
+
// END POWERSYNC
|
|
78
|
+
}
|
|
79
|
+
constructor(socket) {
|
|
80
|
+
this._readResume = Boolean; // noop
|
|
81
|
+
this._writeResume = Boolean; // noop
|
|
82
|
+
this._readPauseAsync = (resolve) => (this._readResume = resolve);
|
|
83
|
+
this._writePauseAsync = (resolve) => (this._writeResume = resolve);
|
|
84
|
+
this._error = null;
|
|
85
|
+
this._socket = socket;
|
|
86
|
+
this._socket.on('readable', (_) => this._readResume());
|
|
87
|
+
this._socket.on('end', (_) => this._readResume());
|
|
88
|
+
// START POWERSYNC
|
|
89
|
+
// Custom timeout handling
|
|
90
|
+
this._socket.on('timeout', (_) => {
|
|
91
|
+
this._socket.destroy(new Error('Socket idle timeout'));
|
|
92
|
+
});
|
|
93
|
+
// END POWERSYNC
|
|
94
|
+
this._socket.on('error', (error) => {
|
|
95
|
+
this._error = error;
|
|
96
|
+
this._readResume();
|
|
97
|
+
this._writeResume();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async startTls(host, ca) {
|
|
101
|
+
// START POWERSYNC CUSTOM OPTIONS HANDLING
|
|
102
|
+
if (!Array.isArray(ca) && typeof ca[0] == 'object') {
|
|
103
|
+
throw new Error('Invalid PowerSync TLS options');
|
|
104
|
+
}
|
|
105
|
+
const tlsOptions = ca[0];
|
|
106
|
+
// https://nodejs.org/docs/latest-v14.x/api/tls.html#tls_tls_connect_options_callback
|
|
107
|
+
const socket = this._socket;
|
|
108
|
+
const tlsSocket = tls.connect({ socket, host, ...tlsOptions });
|
|
109
|
+
// END POWERSYNC CUSTOM OPTIONS HANDLING
|
|
110
|
+
await once(tlsSocket, 'secureConnect');
|
|
111
|
+
// TODO check tlsSocket.authorized
|
|
112
|
+
// if secure connection succeeded then we take underlying socket ownership,
|
|
113
|
+
// otherwise underlying socket should be closed outside.
|
|
114
|
+
tlsSocket.on('close', (_) => socket.destroy());
|
|
115
|
+
return new this.constructor(tlsSocket);
|
|
116
|
+
}
|
|
117
|
+
/** @param {Uint8Array} out */
|
|
118
|
+
async read(out) {
|
|
119
|
+
let buf;
|
|
120
|
+
for (;;) {
|
|
121
|
+
if (this._error)
|
|
122
|
+
throw this._error; // TODO callstack
|
|
123
|
+
if (this._socket.readableEnded)
|
|
124
|
+
return null;
|
|
125
|
+
buf = this._socket.read();
|
|
126
|
+
if (buf?.length)
|
|
127
|
+
break;
|
|
128
|
+
if (!buf)
|
|
129
|
+
await new Promise(this._readPauseAsync);
|
|
130
|
+
}
|
|
131
|
+
if (buf.length > out.length) {
|
|
132
|
+
out.set(buf.subarray(0, out.length));
|
|
133
|
+
this._socket.unshift(buf.subarray(out.length));
|
|
134
|
+
// POWERSYNC: Add metrics
|
|
135
|
+
recordBytesRead(out.length);
|
|
136
|
+
return out.length;
|
|
137
|
+
}
|
|
138
|
+
out.set(buf);
|
|
139
|
+
// POWERSYNC: Add metrics
|
|
140
|
+
recordBytesRead(buf.length);
|
|
141
|
+
return buf.length;
|
|
142
|
+
}
|
|
143
|
+
async write(data) {
|
|
144
|
+
// TODO assert Uint8Array
|
|
145
|
+
// TODO need to copy data?
|
|
146
|
+
if (this._error)
|
|
147
|
+
throw this._error; // TODO callstack
|
|
148
|
+
const p = new Promise(this._writePauseAsync);
|
|
149
|
+
this._socket.write(data, this._writeResume);
|
|
150
|
+
await p;
|
|
151
|
+
if (this._error)
|
|
152
|
+
throw this._error; // TODO callstack
|
|
153
|
+
return data.length;
|
|
154
|
+
}
|
|
155
|
+
// async closeWrite() {
|
|
156
|
+
// if (this._error) throw this._error; // TODO callstack
|
|
157
|
+
// const socket_end = promisify(cb => this._socket.end(cb));
|
|
158
|
+
// await socket_end();
|
|
159
|
+
// }
|
|
160
|
+
close() {
|
|
161
|
+
this._socket.destroy(Error('socket destroyed'));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=pgwire_node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pgwire_node.js","sourceRoot":"","sources":["../src/pgwire_node.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { PgoutputRelation } from 'pgwire/mod.js';
|
|
2
|
+
import { JsonContainer } from '@powersync/service-jsonbig';
|
|
3
|
+
export declare class PgType {
|
|
4
|
+
static decode(text: string, typeOid: number): any;
|
|
5
|
+
static _elemTypeOid(arrayTypeOid: number): 25 | 2950 | 1043 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 71 | 75 | 81 | 83 | 114 | 142 | 5069 | 600 | 601 | 602 | 603 | 604 | 628 | 700 | 701 | 705 | 718 | 790 | 829 | 869 | 650 | 774 | 1033 | 1042 | 1082 | 1083 | 1114 | 1184 | 1186 | 1266 | 1560 | 1562 | 1700 | 1790 | 2202 | 2203 | 2204 | 2205 | 4191 | 2206 | 4096 | 4089 | 3220 | 3614 | 3642 | 3615 | 3734 | 3769 | 3802 | 4072 | undefined;
|
|
6
|
+
static _decodeArray(text: string, elemTypeOid: number): any;
|
|
7
|
+
static _decodeBytea(text: string): Uint8Array;
|
|
8
|
+
static _encodeBytea(bytes: Uint8Array): string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* We need a high level of control over how values are decoded, to make sure there is no loss
|
|
12
|
+
* of precision in the process.
|
|
13
|
+
*/
|
|
14
|
+
export declare function decodeTuple(relation: PgoutputRelation, tupleRaw: Record<string, any>): DatabaseInputRow;
|
|
15
|
+
/**
|
|
16
|
+
* A value as received from the database.
|
|
17
|
+
*/
|
|
18
|
+
export type DatabaseInputValue = SqliteValue | boolean | DatabaseInputValue[] | JsonContainer | {
|
|
19
|
+
[key: string]: DatabaseInputValue;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* A value supported by the SQLite type system.
|
|
23
|
+
*/
|
|
24
|
+
export type SqliteValue = number | string | null | bigint | Uint8Array;
|
|
25
|
+
/**
|
|
26
|
+
* Database input row. Can contain nested arrays and objects.
|
|
27
|
+
*/
|
|
28
|
+
export type DatabaseInputRow = {
|
|
29
|
+
[column: string]: DatabaseInputValue;
|
|
30
|
+
};
|