@agnostack/next-shopify 1.15.0-beta.8 → 1.15.0
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/CHANGELOG.md +196 -0
- package/README.md +9 -8
- package/dist/lib/handlers/api/auth.js +15 -11
- package/dist/lib/handlers/api/auth.js.map +1 -1
- package/dist/lib/handlers/api/billing.js +13 -9
- package/dist/lib/handlers/api/billing.js.map +1 -1
- package/dist/lib/handlers/api/callback.js +37 -33
- package/dist/lib/handlers/api/callback.js.map +1 -1
- package/dist/lib/handlers/api/index.js +25 -7
- package/dist/lib/handlers/api/index.js.map +1 -1
- package/dist/lib/handlers/api/uninstall.js +12 -8
- package/dist/lib/handlers/api/uninstall.js.map +1 -1
- package/dist/lib/handlers/api/verifiable/appInstallation.js +11 -7
- package/dist/lib/handlers/api/verifiable/appInstallation.js.map +1 -1
- package/dist/lib/handlers/api/verifiable/graph.js +26 -22
- package/dist/lib/handlers/api/verifiable/graph.js.map +1 -1
- package/dist/lib/handlers/api/verifiable/index.js +21 -5
- package/dist/lib/handlers/api/verifiable/index.js.map +1 -1
- package/dist/lib/handlers/api/verifiable/proxy.js +39 -32
- package/dist/lib/handlers/api/verifiable/proxy.js.map +1 -1
- package/dist/lib/handlers/api/verifiable/rest.js +23 -19
- package/dist/lib/handlers/api/verifiable/rest.js.map +1 -1
- package/dist/lib/handlers/api/verifiable/token.js +27 -23
- package/dist/lib/handlers/api/verifiable/token.js.map +1 -1
- package/dist/lib/handlers/api/webhook.js +13 -9
- package/dist/lib/handlers/api/webhook.js.map +1 -1
- package/dist/lib/handlers/index.js +18 -2
- package/dist/lib/handlers/index.js.map +1 -1
- package/dist/lib/handlers/ssr/index.js +18 -2
- package/dist/lib/handlers/ssr/index.js.map +1 -1
- package/dist/lib/handlers/ssr/protect.js +24 -17
- package/dist/lib/handlers/ssr/protect.js.map +1 -1
- package/dist/lib/handlers/ssr/wrap.js +10 -6
- package/dist/lib/handlers/ssr/wrap.js.map +1 -1
- package/dist/lib/index.js +23 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/utils/billing.js +23 -18
- package/dist/lib/utils/billing.js.map +1 -1
- package/dist/lib/utils/crypto.js +25 -15
- package/dist/lib/utils/crypto.js.map +1 -1
- package/dist/lib/utils/firebase.js +29 -17
- package/dist/lib/utils/firebase.js.map +1 -1
- package/dist/lib/utils/headers.js +13 -6
- package/dist/lib/utils/headers.js.map +1 -1
- package/dist/lib/utils/index.js +24 -8
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/session.js +64 -59
- package/dist/lib/utils/session.js.map +1 -1
- package/dist/lib/utils/shopify-api-js/oauth.js +23 -16
- package/dist/lib/utils/shopify-api-js/oauth.js.map +1 -1
- package/dist/lib/utils/shopify.js +37 -25
- package/dist/lib/utils/shopify.js.map +1 -1
- package/dist/lib/utils/token.js +15 -11
- package/dist/lib/utils/token.js.map +1 -1
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +18 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/withShopify.js +83 -77
- package/dist/plugins/withShopify.js.map +1 -1
- package/dist/react/hooks/index.js +17 -1
- package/dist/react/hooks/index.js.map +1 -1
- package/dist/react/hooks/useVerification.d.ts +1 -1
- package/dist/react/hooks/useVerification.js +23 -7
- package/dist/react/hooks/useVerification.js.map +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +18 -1
- package/dist/react/index.js.map +1 -1
- package/dist/runtime/index.js +17 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/shared/WebCrypto.d.ts +55 -0
- package/dist/shared/WebCrypto.d.ts.map +1 -0
- package/dist/shared/WebCrypto.js +342 -0
- package/dist/shared/WebCrypto.js.map +1 -0
- package/dist/shared/constants.js +15 -11
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/datetime.js +110 -83
- package/dist/shared/datetime.js.map +1 -1
- package/dist/shared/display.js +231 -151
- package/dist/shared/display.js.map +1 -1
- package/dist/shared/errors.js +12 -5
- package/dist/shared/errors.js.map +1 -1
- package/dist/shared/graph.js +14 -11
- package/dist/shared/graph.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +32 -11
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/match.js +25 -17
- package/dist/shared/match.js.map +1 -1
- package/dist/shared/request.js +19 -13
- package/dist/shared/request.js.map +1 -1
- package/dist/shared/shopify.js +31 -21
- package/dist/shared/shopify.js.map +1 -1
- package/dist/shared/uuid.js +8 -3
- package/dist/shared/uuid.js.map +1 -1
- package/dist/shared/verification.d.ts +12 -5
- package/dist/shared/verification.d.ts.map +1 -1
- package/dist/shared/verification.js +34 -22
- package/dist/shared/verification.js.map +1 -1
- package/dist/umd/verification/index.js +1234 -0
- package/dist/umd/verification/index.js.map +1 -0
- package/dist/umd/verification/plugins/index.d.ts +3 -0
- package/dist/umd/{plugins → verification/plugins}/index.d.ts.map +1 -1
- package/dist/umd/{react → verification/react}/hooks/useVerification.d.ts +1 -1
- package/dist/umd/verification/react/index.d.ts +3 -0
- package/dist/umd/verification/react/index.d.ts.map +1 -0
- package/dist/umd/verification/shared/WebCrypto.d.ts +55 -0
- package/dist/umd/verification/shared/WebCrypto.d.ts.map +1 -0
- package/dist/umd/{shared → verification/shared}/index.d.ts +1 -1
- package/dist/umd/{shared → verification/shared}/index.d.ts.map +1 -1
- package/dist/umd/{shared → verification/shared}/verification.d.ts +12 -5
- package/dist/umd/{shared → verification/shared}/verification.d.ts.map +1 -1
- package/dist/umd/verification/verification/index.d.ts +4 -0
- package/dist/umd/verification/{index.d.ts.map → verification/index.d.ts.map} +1 -1
- package/dist/umd/verification/{utils → verification/utils}/rawbody.d.ts.map +1 -1
- package/dist/umd/verification/verification/verification.d.ts +10 -0
- package/dist/umd/verification/{verification.d.ts.map → verification/verification.d.ts.map} +1 -1
- package/dist/verification/index.d.ts +2 -0
- package/dist/verification/index.d.ts.map +1 -1
- package/dist/verification/index.js +19 -1
- package/dist/verification/index.js.map +1 -1
- package/dist/verification/utils/errors.js +5 -1
- package/dist/verification/utils/errors.js.map +1 -1
- package/dist/verification/utils/index.js +18 -2
- package/dist/verification/utils/index.js.map +1 -1
- package/dist/verification/utils/rawbody.d.ts.map +1 -1
- package/dist/verification/utils/rawbody.js +39 -36
- package/dist/verification/utils/rawbody.js.map +1 -1
- package/dist/verification/verification.d.ts +3 -1
- package/dist/verification/verification.d.ts.map +1 -1
- package/dist/verification/verification.js +71 -61
- package/dist/verification/verification.js.map +1 -1
- package/node_modules/bytes/History.md +97 -0
- package/node_modules/bytes/LICENSE +23 -0
- package/node_modules/bytes/Readme.md +152 -0
- package/node_modules/bytes/index.js +170 -0
- package/node_modules/bytes/package.json +42 -0
- package/node_modules/depd/History.md +103 -0
- package/node_modules/depd/LICENSE +22 -0
- package/node_modules/depd/Readme.md +280 -0
- package/node_modules/depd/index.js +538 -0
- package/node_modules/depd/lib/browser/index.js +77 -0
- package/node_modules/depd/package.json +45 -0
- package/node_modules/http-errors/HISTORY.md +180 -0
- package/node_modules/http-errors/LICENSE +23 -0
- package/node_modules/http-errors/README.md +169 -0
- package/node_modules/http-errors/index.js +289 -0
- package/node_modules/http-errors/package.json +50 -0
- package/node_modules/iconv-lite/Changelog.md +162 -0
- package/node_modules/iconv-lite/LICENSE +21 -0
- package/node_modules/iconv-lite/README.md +156 -0
- package/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
- package/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
- package/node_modules/iconv-lite/encodings/index.js +22 -0
- package/node_modules/iconv-lite/encodings/internal.js +188 -0
- package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
- package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
- package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
- package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/node_modules/iconv-lite/encodings/utf16.js +177 -0
- package/node_modules/iconv-lite/encodings/utf7.js +290 -0
- package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
- package/node_modules/iconv-lite/lib/extend-node.js +217 -0
- package/node_modules/iconv-lite/lib/index.d.ts +24 -0
- package/node_modules/iconv-lite/lib/index.js +153 -0
- package/node_modules/iconv-lite/lib/streams.js +121 -0
- package/node_modules/iconv-lite/package.json +46 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/raw-body/HISTORY.md +308 -0
- package/node_modules/raw-body/LICENSE +22 -0
- package/node_modules/raw-body/README.md +223 -0
- package/node_modules/raw-body/SECURITY.md +24 -0
- package/node_modules/raw-body/index.d.ts +87 -0
- package/node_modules/raw-body/index.js +336 -0
- package/node_modules/raw-body/package.json +49 -0
- package/node_modules/safer-buffer/LICENSE +21 -0
- package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/node_modules/safer-buffer/Readme.md +156 -0
- package/node_modules/safer-buffer/dangerous.js +58 -0
- package/node_modules/safer-buffer/package.json +34 -0
- package/node_modules/safer-buffer/safer.js +77 -0
- package/node_modules/safer-buffer/tests.js +406 -0
- package/node_modules/setprototypeof/LICENSE +13 -0
- package/node_modules/setprototypeof/README.md +31 -0
- package/node_modules/setprototypeof/index.d.ts +2 -0
- package/node_modules/setprototypeof/index.js +17 -0
- package/node_modules/setprototypeof/package.json +38 -0
- package/node_modules/setprototypeof/test/index.js +24 -0
- package/node_modules/statuses/HISTORY.md +82 -0
- package/node_modules/statuses/LICENSE +23 -0
- package/node_modules/statuses/README.md +136 -0
- package/node_modules/statuses/codes.json +65 -0
- package/node_modules/statuses/index.js +146 -0
- package/node_modules/statuses/package.json +49 -0
- package/node_modules/toidentifier/HISTORY.md +9 -0
- package/node_modules/toidentifier/LICENSE +21 -0
- package/node_modules/toidentifier/README.md +61 -0
- package/node_modules/toidentifier/index.js +32 -0
- package/node_modules/toidentifier/package.json +38 -0
- package/node_modules/unpipe/HISTORY.md +4 -0
- package/node_modules/unpipe/LICENSE +22 -0
- package/node_modules/unpipe/README.md +43 -0
- package/node_modules/unpipe/index.js +69 -0
- package/node_modules/unpipe/package.json +27 -0
- package/package.json +15 -14
- package/dist/shared/subtlecrypto.d.ts +0 -41
- package/dist/shared/subtlecrypto.d.ts.map +0 -1
- package/dist/shared/subtlecrypto.js +0 -256
- package/dist/shared/subtlecrypto.js.map +0 -1
- package/dist/umd/plugins/index.d.ts +0 -2
- package/dist/umd/react/index.d.ts +0 -2
- package/dist/umd/react/index.d.ts.map +0 -1
- package/dist/umd/shared/subtlecrypto.d.ts +0 -41
- package/dist/umd/shared/subtlecrypto.d.ts.map +0 -1
- package/dist/umd/verification/index.d.ts +0 -2
- package/dist/umd/verification/verification.d.ts +0 -8
- package/dist/umd/verification.js +0 -641
- package/dist/umd/verification.js.map +0 -1
- /package/dist/umd/{lib → verification/lib}/handlers/api/auth.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/auth.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/billing.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/billing.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/callback.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/callback.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/index.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/index.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/types.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/types.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/uninstall.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/uninstall.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/appInstallation.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/appInstallation.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/graph.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/graph.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/index.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/index.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/proxy.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/proxy.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/rest.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/rest.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/token.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/verifiable/token.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/webhook.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/api/webhook.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/index.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/index.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/index.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/index.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/protect.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/protect.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/types.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/types.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/wrap.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/ssr/wrap.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/types.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/handlers/types.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/index.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/index.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/types.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/types.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/billing.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/billing.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/crypto.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/crypto.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/firebase.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/firebase.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/headers.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/headers.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/index.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/index.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/session.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/session.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/shopify-api-js/oauth.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/shopify-api-js/oauth.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/shopify.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/shopify.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/token.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/token.d.ts.map +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/types.d.ts +0 -0
- /package/dist/umd/{lib → verification/lib}/utils/types.d.ts.map +0 -0
- /package/dist/umd/{plugins → verification/plugins}/types.d.ts +0 -0
- /package/dist/umd/{plugins → verification/plugins}/types.d.ts.map +0 -0
- /package/dist/umd/{plugins → verification/plugins}/withShopify.d.ts +0 -0
- /package/dist/umd/{plugins → verification/plugins}/withShopify.d.ts.map +0 -0
- /package/dist/umd/{react → verification/react}/hooks/index.d.ts +0 -0
- /package/dist/umd/{react → verification/react}/hooks/index.d.ts.map +0 -0
- /package/dist/umd/{react → verification/react}/hooks/useVerification.d.ts.map +0 -0
- /package/dist/umd/{react → verification/react}/types.d.ts +0 -0
- /package/dist/umd/{react → verification/react}/types.d.ts.map +0 -0
- /package/dist/umd/{runtime → verification/runtime}/index.d.ts +0 -0
- /package/dist/umd/{runtime → verification/runtime}/index.d.ts.map +0 -0
- /package/dist/umd/{runtime → verification/runtime}/types.d.ts +0 -0
- /package/dist/umd/{runtime → verification/runtime}/types.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/constants.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/constants.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/datetime.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/datetime.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/display.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/display.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/errors.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/errors.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/graph.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/graph.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/match.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/match.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/request.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/request.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/shopify.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/shopify.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/types.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/types.d.ts.map +0 -0
- /package/dist/umd/{shared → verification/shared}/uuid.d.ts +0 -0
- /package/dist/umd/{shared → verification/shared}/uuid.d.ts.map +0 -0
- /package/dist/umd/verification/{types.d.ts → verification/types.d.ts} +0 -0
- /package/dist/umd/verification/{types.d.ts.map → verification/types.d.ts.map} +0 -0
- /package/dist/umd/verification/{utils → verification/utils}/errors.d.ts +0 -0
- /package/dist/umd/verification/{utils → verification/utils}/errors.d.ts.map +0 -0
- /package/dist/umd/verification/{utils → verification/utils}/index.d.ts +0 -0
- /package/dist/umd/verification/{utils → verification/utils}/index.d.ts.map +0 -0
- /package/dist/umd/verification/{utils → verification/utils}/rawbody.d.ts +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* unpipe
|
|
3
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
4
|
+
* MIT Licensed
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
'use strict'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Module exports.
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
module.exports = unpipe
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Determine if there are Node.js pipe-like data listeners.
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
function hasPipeDataListeners(stream) {
|
|
22
|
+
var listeners = stream.listeners('data')
|
|
23
|
+
|
|
24
|
+
for (var i = 0; i < listeners.length; i++) {
|
|
25
|
+
if (listeners[i].name === 'ondata') {
|
|
26
|
+
return true
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return false
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Unpipe a stream from all destinations.
|
|
35
|
+
*
|
|
36
|
+
* @param {object} stream
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
function unpipe(stream) {
|
|
41
|
+
if (!stream) {
|
|
42
|
+
throw new TypeError('argument stream is required')
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (typeof stream.unpipe === 'function') {
|
|
46
|
+
// new-style
|
|
47
|
+
stream.unpipe()
|
|
48
|
+
return
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Node.js 0.8 hack
|
|
52
|
+
if (!hasPipeDataListeners(stream)) {
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var listener
|
|
57
|
+
var listeners = stream.listeners('close')
|
|
58
|
+
|
|
59
|
+
for (var i = 0; i < listeners.length; i++) {
|
|
60
|
+
listener = listeners[i]
|
|
61
|
+
|
|
62
|
+
if (listener.name !== 'cleanup' && listener.name !== 'onclose') {
|
|
63
|
+
continue
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// invoke the listener
|
|
67
|
+
listener.call(stream)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "unpipe",
|
|
3
|
+
"description": "Unpipe a stream from all destinations",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": "Douglas Christopher Wilson <doug@somethingdoug.com>",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": "stream-utils/unpipe",
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"istanbul": "0.3.15",
|
|
10
|
+
"mocha": "2.2.5",
|
|
11
|
+
"readable-stream": "1.1.13"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"HISTORY.md",
|
|
15
|
+
"LICENSE",
|
|
16
|
+
"README.md",
|
|
17
|
+
"index.js"
|
|
18
|
+
],
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">= 0.8"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"test": "mocha --reporter spec --bail --check-leaks test/",
|
|
24
|
+
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
|
|
25
|
+
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
|
|
26
|
+
}
|
|
27
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agnostack/next-shopify",
|
|
3
|
-
"version": "1.15.0
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"author": "agnoStack Dev <developers@agnostack.com> (https://agnostack.com)",
|
|
5
5
|
"owner": "agnoStack",
|
|
6
6
|
"description": "Please contact agnoStack via info@agnostack.com for any questions",
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
"agnostack"
|
|
17
17
|
],
|
|
18
18
|
"license": "MIT",
|
|
19
|
-
"main": "./dist/
|
|
20
|
-
"types": "./dist/
|
|
19
|
+
"main": "./dist/plugins/index.js",
|
|
20
|
+
"types": "./dist/plugins/index.d.ts",
|
|
21
21
|
"exports": {
|
|
22
22
|
".": {
|
|
23
|
-
"types": "./dist/lib/index.d.ts",
|
|
24
|
-
"require": "./dist/lib/index.js",
|
|
25
|
-
"default": "./dist/lib/index.js"
|
|
26
|
-
},
|
|
27
|
-
"./plugins": {
|
|
28
23
|
"types": "./dist/plugins/index.d.ts",
|
|
29
24
|
"require": "./dist/plugins/index.js",
|
|
30
|
-
"
|
|
25
|
+
"default": "./dist/plugins/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./lib": {
|
|
28
|
+
"types": "./dist/lib/index.d.ts",
|
|
29
|
+
"require": "./dist/lib/index.js",
|
|
30
|
+
"import": "./dist/lib/index.js"
|
|
31
31
|
},
|
|
32
32
|
"./react": {
|
|
33
33
|
"types": "./dist/react/index.d.ts",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"import": "./dist/runtime/index.js"
|
|
41
41
|
},
|
|
42
42
|
"./verification": {
|
|
43
|
-
"types": "./dist/umd/verification/index.d.ts",
|
|
44
|
-
"require": "./dist/umd/verification.js",
|
|
45
|
-
"import": "./dist/umd/verification.js"
|
|
43
|
+
"types": "./dist/umd/verification/verification/index.d.ts",
|
|
44
|
+
"require": "./dist/umd/verification/index.js",
|
|
45
|
+
"import": "./dist/umd/verification/index.js"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
"mustache": "4.2.0",
|
|
96
96
|
"nextjs-cors": "2.1.1",
|
|
97
97
|
"node-http-proxy-json": "0.1.9",
|
|
98
|
+
"raw-body": "2.5.2",
|
|
98
99
|
"uuid": "8.3.2"
|
|
99
100
|
},
|
|
100
101
|
"devDependencies": {
|
|
@@ -102,7 +103,6 @@
|
|
|
102
103
|
"@babel/eslint-parser": "7.18.9",
|
|
103
104
|
"@commitlint/cli": "12.1.4",
|
|
104
105
|
"@commitlint/config-conventional": "12.1.4",
|
|
105
|
-
"@rollup/plugin-auto-install": "3.0.5",
|
|
106
106
|
"@rollup/plugin-node-resolve": "13.1.3",
|
|
107
107
|
"@rollup/plugin-typescript": "11.1.5",
|
|
108
108
|
"@semantic-release/changelog": "5.0.1",
|
|
@@ -132,7 +132,8 @@
|
|
|
132
132
|
"typescript": "4.7.4"
|
|
133
133
|
},
|
|
134
134
|
"bundledDependencies": [
|
|
135
|
-
"browser-monads-ts"
|
|
135
|
+
"browser-monads-ts",
|
|
136
|
+
"raw-body"
|
|
136
137
|
],
|
|
137
138
|
"resolutions": {
|
|
138
139
|
"**/npm": "6.14.11"
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export namespace subtle {
|
|
2
|
-
export { generateKeyPair };
|
|
3
|
-
export { generateHMAC };
|
|
4
|
-
export { verifyHMAC };
|
|
5
|
-
export { getStorableKey };
|
|
6
|
-
export { getStorableKeyPair };
|
|
7
|
-
export { restoreStorableKeyPair };
|
|
8
|
-
export { deriveSharedKey };
|
|
9
|
-
export { deriveHMACKey };
|
|
10
|
-
export { getVerificationKeys };
|
|
11
|
-
export { encryptMessage };
|
|
12
|
-
export { decryptMessage };
|
|
13
|
-
}
|
|
14
|
-
declare function generateKeyPair(): Promise<CryptoKeyPair>;
|
|
15
|
-
declare function generateHMAC(message: any, derivedKey: any): Promise<string | undefined>;
|
|
16
|
-
declare function verifyHMAC(message: any, derivedKey: any, verifiableHMAC: any): Promise<boolean>;
|
|
17
|
-
declare function getStorableKey(key: any): Promise<string>;
|
|
18
|
-
declare function getStorableKeyPair(keyPair: any): Promise<{}>;
|
|
19
|
-
declare function restoreStorableKeyPair(keyPair: any): Promise<{}>;
|
|
20
|
-
declare function deriveSharedKey({ publicKey, privateKey }: {
|
|
21
|
-
publicKey: any;
|
|
22
|
-
privateKey: any;
|
|
23
|
-
}): Promise<CryptoKey | undefined>;
|
|
24
|
-
declare function deriveHMACKey({ publicKey, privateKey }: {
|
|
25
|
-
publicKey: any;
|
|
26
|
-
privateKey: any;
|
|
27
|
-
}): Promise<CryptoKey | undefined>;
|
|
28
|
-
declare function getVerificationKeys({ publicKey, privateKey }: {
|
|
29
|
-
publicKey: any;
|
|
30
|
-
privateKey: any;
|
|
31
|
-
}): Promise<{
|
|
32
|
-
derivedSecretKey?: undefined;
|
|
33
|
-
derivedHMACKey?: undefined;
|
|
34
|
-
} | {
|
|
35
|
-
derivedSecretKey: CryptoKey | undefined;
|
|
36
|
-
derivedHMACKey: CryptoKey | undefined;
|
|
37
|
-
}>;
|
|
38
|
-
declare function encryptMessage(decryptedMessage: any, derivedKey: any): Promise<number[] | undefined>;
|
|
39
|
-
declare function decryptMessage(encryptedMessage: any, derivedKey: any): Promise<any>;
|
|
40
|
-
export {};
|
|
41
|
-
//# sourceMappingURL=subtlecrypto.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subtlecrypto.d.ts","sourceRoot":"","sources":["../../src/shared/subtlecrypto.js"],"names":[],"mappings":";;;;;;;;;;;;;AA6FA,2DAYC;AA0CD,0FAiBC;AAED,kGAIC;AAED,2DAKC;AAsBD,+DAUC;AAED,mEAUC;AAED;;;mCAoBC;AAED;;;mCAqBC;AAED;;;;;;;;;GAaC;AAED,uGAuBC;AAED,sFAuBC"}
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { exists, window } from 'browser-monads-ts';
|
|
11
|
-
import { ensureArray, ensureString, objectEmpty } from './display';
|
|
12
|
-
const getWebCrypto = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
-
try {
|
|
14
|
-
const crypto = (yield import('isomorphic-webcrypto')).default;
|
|
15
|
-
return crypto;
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
console.error('Failed to import isomorphic-webcrypto', error);
|
|
19
|
-
throw error;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const getTextDecoder = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
-
if (exists(window) && (typeof (window === null || window === void 0 ? void 0 : window.TextDecoder) === 'function')) {
|
|
24
|
-
return window.TextDecoder;
|
|
25
|
-
}
|
|
26
|
-
try {
|
|
27
|
-
const TextDecoder = (yield import('util')).TextDecoder;
|
|
28
|
-
return TextDecoder;
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
console.error('Failed to import utils.TextDecoder', error);
|
|
32
|
-
throw error;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
const getTextEncoder = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
-
if (exists(window) && (typeof (window === null || window === void 0 ? void 0 : window.TextEncoder) === 'function')) {
|
|
37
|
-
return window.TextEncoder;
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
const TextEncoder = (yield import('util')).TextEncoder;
|
|
41
|
-
return TextEncoder;
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
console.error('Failed to import utils.TextEncoder', error);
|
|
45
|
-
throw error;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
const timingSafeEqual = (value1, value2) => {
|
|
49
|
-
if ((value1 == undefined) ||
|
|
50
|
-
(value2 == undefined) ||
|
|
51
|
-
(value1.length !== value2.length)) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
let result = 0;
|
|
55
|
-
// eslint-disable-next-line no-plusplus
|
|
56
|
-
for (let i = 0; i < value1.length; i++) {
|
|
57
|
-
// eslint-disable-next-line no-bitwise
|
|
58
|
-
result |= value1[i] ^ value2[i];
|
|
59
|
-
}
|
|
60
|
-
return (result === 0);
|
|
61
|
-
};
|
|
62
|
-
const stringToHex = (stringValue) => (Array.from(ensureString(stringValue), (char) => (char.charCodeAt(0).toString(16).padStart(2, '0'))).join(''));
|
|
63
|
-
const hexToString = (hexValue) => (ensureArray(ensureString(hexValue).match(/.{1,2}/g))
|
|
64
|
-
.map((byte) => String.fromCharCode(parseInt(byte, 16)))
|
|
65
|
-
.join(''));
|
|
66
|
-
const arrayBufferToString = (arrayBuffer) => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
-
const uint8Array = new Uint8Array(arrayBuffer);
|
|
68
|
-
const Decoder = yield getTextDecoder();
|
|
69
|
-
return new Decoder().decode(uint8Array);
|
|
70
|
-
});
|
|
71
|
-
const arrayToArrayBuffer = (array) => ((ArrayBuffer.from != undefined)
|
|
72
|
-
? ArrayBuffer.from(array)
|
|
73
|
-
: new Uint8Array(array).buffer);
|
|
74
|
-
const ensureArrayBuffer = (arrayOrArrayBuffer) => ((arrayOrArrayBuffer instanceof ArrayBuffer)
|
|
75
|
-
? arrayOrArrayBuffer
|
|
76
|
-
: arrayToArrayBuffer(arrayOrArrayBuffer));
|
|
77
|
-
const generateKeyPair = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
-
const crypto = yield getWebCrypto();
|
|
79
|
-
const keyPair = yield crypto.subtle.generateKey({
|
|
80
|
-
name: 'ECDH',
|
|
81
|
-
namedCurve: 'P-256',
|
|
82
|
-
}, true, ['deriveKey']);
|
|
83
|
-
return keyPair;
|
|
84
|
-
});
|
|
85
|
-
const getKeyOperations = (keyType) => {
|
|
86
|
-
switch (keyType) {
|
|
87
|
-
case 'private':
|
|
88
|
-
case 'privateKey': {
|
|
89
|
-
return ['deriveKey'];
|
|
90
|
-
}
|
|
91
|
-
case 'secret':
|
|
92
|
-
case 'secretKey':
|
|
93
|
-
case 'sharedSecret': {
|
|
94
|
-
return ['encrypt', 'decrypt'];
|
|
95
|
-
}
|
|
96
|
-
default: {
|
|
97
|
-
return [];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
const getKeyAlgorythm = (keyType) => {
|
|
102
|
-
switch (keyType) {
|
|
103
|
-
case 'derivedKey':
|
|
104
|
-
case 'derived':
|
|
105
|
-
case 'secret':
|
|
106
|
-
case 'secretKey':
|
|
107
|
-
case 'sharedSecret': {
|
|
108
|
-
return {
|
|
109
|
-
name: 'AES-GCM',
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
default: {
|
|
113
|
-
return {
|
|
114
|
-
name: 'ECDH',
|
|
115
|
-
namedCurve: 'P-256',
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
const generateHMAC = (message, derivedKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
121
|
-
if (!message || !derivedKey) {
|
|
122
|
-
return undefined;
|
|
123
|
-
}
|
|
124
|
-
const crypto = yield getWebCrypto();
|
|
125
|
-
const Encoder = yield getTextEncoder();
|
|
126
|
-
const signature = yield crypto.subtle.sign('HMAC', derivedKey, new Encoder().encode(message));
|
|
127
|
-
return stringToHex(arrayBufferToString(signature));
|
|
128
|
-
});
|
|
129
|
-
const verifyHMAC = (message, derivedKey, verifiableHMAC) => __awaiter(void 0, void 0, void 0, function* () {
|
|
130
|
-
const calculatedHMAC = yield generateHMAC(message, derivedKey);
|
|
131
|
-
return timingSafeEqual(calculatedHMAC, verifiableHMAC);
|
|
132
|
-
});
|
|
133
|
-
const getStorableKey = (key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
134
|
-
const crypto = yield getWebCrypto();
|
|
135
|
-
const exportedJWK = yield crypto.subtle.exportKey('jwk', key);
|
|
136
|
-
return stringToHex(JSON.stringify(exportedJWK));
|
|
137
|
-
});
|
|
138
|
-
const restoreStorableKey = (keyType, storableHex) => __awaiter(void 0, void 0, void 0, function* () {
|
|
139
|
-
if (!storableHex) {
|
|
140
|
-
return undefined;
|
|
141
|
-
}
|
|
142
|
-
const crypto = yield getWebCrypto();
|
|
143
|
-
const exportedJWK = JSON.parse(hexToString(storableHex) || '{}');
|
|
144
|
-
if (objectEmpty(exportedJWK)) {
|
|
145
|
-
return undefined;
|
|
146
|
-
}
|
|
147
|
-
return crypto.subtle.importKey('jwk', exportedJWK, getKeyAlgorythm(keyType), true, getKeyOperations(keyType));
|
|
148
|
-
});
|
|
149
|
-
const getStorableKeyPair = (keyPair) => __awaiter(void 0, void 0, void 0, function* () {
|
|
150
|
-
const storableKeys = {};
|
|
151
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
152
|
-
for (const [keyType, key] of Object.entries(keyPair)) {
|
|
153
|
-
// eslint-disable-next-line no-await-in-loop
|
|
154
|
-
storableKeys[keyType] = yield getStorableKey(key);
|
|
155
|
-
}
|
|
156
|
-
return storableKeys;
|
|
157
|
-
});
|
|
158
|
-
const restoreStorableKeyPair = (keyPair) => __awaiter(void 0, void 0, void 0, function* () {
|
|
159
|
-
const restoredKeys = {};
|
|
160
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
161
|
-
for (const [keyType, key] of Object.entries(keyPair)) {
|
|
162
|
-
// eslint-disable-next-line no-await-in-loop
|
|
163
|
-
restoredKeys[keyType] = yield restoreStorableKey(keyType, key);
|
|
164
|
-
}
|
|
165
|
-
return restoredKeys;
|
|
166
|
-
});
|
|
167
|
-
const deriveSharedKey = ({ publicKey, privateKey }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
168
|
-
if (!publicKey || !privateKey) {
|
|
169
|
-
return undefined;
|
|
170
|
-
}
|
|
171
|
-
const crypto = yield getWebCrypto();
|
|
172
|
-
const derivedKey = yield crypto.subtle.deriveKey({
|
|
173
|
-
name: 'ECDH',
|
|
174
|
-
public: publicKey,
|
|
175
|
-
}, privateKey, {
|
|
176
|
-
name: 'AES-GCM',
|
|
177
|
-
length: 256,
|
|
178
|
-
}, true, ['encrypt', 'decrypt']);
|
|
179
|
-
return derivedKey;
|
|
180
|
-
});
|
|
181
|
-
const deriveHMACKey = ({ publicKey, privateKey }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
182
|
-
if (!publicKey || !privateKey) {
|
|
183
|
-
return undefined;
|
|
184
|
-
}
|
|
185
|
-
const crypto = yield getWebCrypto();
|
|
186
|
-
const derivedKey = yield crypto.subtle.deriveKey({
|
|
187
|
-
name: 'ECDH',
|
|
188
|
-
public: publicKey,
|
|
189
|
-
}, privateKey, {
|
|
190
|
-
name: 'HMAC',
|
|
191
|
-
hash: { name: 'SHA-256' },
|
|
192
|
-
length: 256, // Adjusted key length, e.g., 128 bits
|
|
193
|
-
}, true, ['sign', 'verify']);
|
|
194
|
-
return derivedKey;
|
|
195
|
-
});
|
|
196
|
-
const getVerificationKeys = ({ publicKey, privateKey }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
197
|
-
if (!publicKey || !privateKey) {
|
|
198
|
-
return {};
|
|
199
|
-
}
|
|
200
|
-
const sharedKeyPair = yield restoreStorableKeyPair({ publicKey, privateKey });
|
|
201
|
-
const derivedHMACKey = yield deriveHMACKey(sharedKeyPair);
|
|
202
|
-
const derivedSecretKey = yield deriveSharedKey(sharedKeyPair);
|
|
203
|
-
return {
|
|
204
|
-
derivedSecretKey,
|
|
205
|
-
derivedHMACKey,
|
|
206
|
-
};
|
|
207
|
-
});
|
|
208
|
-
const encryptMessage = (decryptedMessage, derivedKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
209
|
-
if (!decryptedMessage || !derivedKey) {
|
|
210
|
-
return undefined;
|
|
211
|
-
}
|
|
212
|
-
const crypto = yield getWebCrypto();
|
|
213
|
-
const iv = crypto.getRandomValues(new Uint8Array(12));
|
|
214
|
-
const Encoder = yield getTextEncoder();
|
|
215
|
-
const encodedMessage = new Encoder().encode(decryptedMessage);
|
|
216
|
-
const ciphertext = yield crypto.subtle.encrypt({
|
|
217
|
-
name: 'AES-GCM',
|
|
218
|
-
iv,
|
|
219
|
-
}, derivedKey, encodedMessage);
|
|
220
|
-
const encryptedMessage = new Uint8Array([
|
|
221
|
-
...iv,
|
|
222
|
-
...new Uint8Array(ciphertext)
|
|
223
|
-
]);
|
|
224
|
-
return Array.from(encryptedMessage);
|
|
225
|
-
});
|
|
226
|
-
const decryptMessage = (encryptedMessage, derivedKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
227
|
-
if (!encryptedMessage || !derivedKey) {
|
|
228
|
-
return undefined;
|
|
229
|
-
}
|
|
230
|
-
const crypto = yield getWebCrypto();
|
|
231
|
-
// NOTE: this presumed an array or arrayBuffer coming in as encryptedMessage (will fail w/ IV error if its a string)
|
|
232
|
-
const encryptedArrayBuffer = ensureArrayBuffer(encryptedMessage);
|
|
233
|
-
const iv = encryptedArrayBuffer.slice(0, 12);
|
|
234
|
-
const ciphertext = encryptedArrayBuffer.slice(12);
|
|
235
|
-
const decryptedArrayBuffer = yield crypto.subtle.decrypt({
|
|
236
|
-
name: 'AES-GCM',
|
|
237
|
-
iv,
|
|
238
|
-
}, derivedKey, ciphertext);
|
|
239
|
-
const Decoder = yield getTextDecoder();
|
|
240
|
-
const decryptedMessage = new Decoder().decode(decryptedArrayBuffer);
|
|
241
|
-
return decryptedMessage;
|
|
242
|
-
});
|
|
243
|
-
export const subtle = {
|
|
244
|
-
generateKeyPair,
|
|
245
|
-
generateHMAC,
|
|
246
|
-
verifyHMAC,
|
|
247
|
-
getStorableKey,
|
|
248
|
-
getStorableKeyPair,
|
|
249
|
-
restoreStorableKeyPair,
|
|
250
|
-
deriveSharedKey,
|
|
251
|
-
deriveHMACKey,
|
|
252
|
-
getVerificationKeys,
|
|
253
|
-
encryptMessage,
|
|
254
|
-
decryptMessage,
|
|
255
|
-
};
|
|
256
|
-
//# sourceMappingURL=subtlecrypto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subtlecrypto.js","sourceRoot":"","sources":["../../src/shared/subtlecrypto.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export namespace subtle {
|
|
2
|
-
export { generateKeyPair };
|
|
3
|
-
export { generateHMAC };
|
|
4
|
-
export { verifyHMAC };
|
|
5
|
-
export { getStorableKey };
|
|
6
|
-
export { getStorableKeyPair };
|
|
7
|
-
export { restoreStorableKeyPair };
|
|
8
|
-
export { deriveSharedKey };
|
|
9
|
-
export { deriveHMACKey };
|
|
10
|
-
export { getVerificationKeys };
|
|
11
|
-
export { encryptMessage };
|
|
12
|
-
export { decryptMessage };
|
|
13
|
-
}
|
|
14
|
-
declare function generateKeyPair(): Promise<CryptoKeyPair>;
|
|
15
|
-
declare function generateHMAC(message: any, derivedKey: any): Promise<string | undefined>;
|
|
16
|
-
declare function verifyHMAC(message: any, derivedKey: any, verifiableHMAC: any): Promise<boolean>;
|
|
17
|
-
declare function getStorableKey(key: any): Promise<string>;
|
|
18
|
-
declare function getStorableKeyPair(keyPair: any): Promise<{}>;
|
|
19
|
-
declare function restoreStorableKeyPair(keyPair: any): Promise<{}>;
|
|
20
|
-
declare function deriveSharedKey({ publicKey, privateKey }: {
|
|
21
|
-
publicKey: any;
|
|
22
|
-
privateKey: any;
|
|
23
|
-
}): Promise<CryptoKey | undefined>;
|
|
24
|
-
declare function deriveHMACKey({ publicKey, privateKey }: {
|
|
25
|
-
publicKey: any;
|
|
26
|
-
privateKey: any;
|
|
27
|
-
}): Promise<CryptoKey | undefined>;
|
|
28
|
-
declare function getVerificationKeys({ publicKey, privateKey }: {
|
|
29
|
-
publicKey: any;
|
|
30
|
-
privateKey: any;
|
|
31
|
-
}): Promise<{
|
|
32
|
-
derivedSecretKey?: undefined;
|
|
33
|
-
derivedHMACKey?: undefined;
|
|
34
|
-
} | {
|
|
35
|
-
derivedSecretKey: CryptoKey | undefined;
|
|
36
|
-
derivedHMACKey: CryptoKey | undefined;
|
|
37
|
-
}>;
|
|
38
|
-
declare function encryptMessage(decryptedMessage: any, derivedKey: any): Promise<number[] | undefined>;
|
|
39
|
-
declare function decryptMessage(encryptedMessage: any, derivedKey: any): Promise<any>;
|
|
40
|
-
export {};
|
|
41
|
-
//# sourceMappingURL=subtlecrypto.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subtlecrypto.d.ts","sourceRoot":"","sources":["../../src/shared/subtlecrypto.js"],"names":[],"mappings":";;;;;;;;;;;;;AA6FA,2DAYC;AA0CD,0FAiBC;AAED,kGAIC;AAED,2DAKC;AAsBD,+DAUC;AAED,mEAUC;AAED;;;mCAoBC;AAED;;;mCAqBC;AAED;;;;;;;;;GAaC;AAED,uGAuBC;AAED,sFAuBC"}
|