@ohos-ports/gomomento-sdk 0.0.0-stage → 1.118.0-beta.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/README.md +66 -2
- package/README.template.md +29 -0
- package/dist/package.json +72 -0
- package/dist/src/auth-client-props.d.ts +18 -0
- package/dist/src/auth-client-props.js +3 -0
- package/dist/src/auth-client.d.ts +6 -0
- package/dist/src/auth-client.js +27 -0
- package/dist/src/batchutils/batch-functions.d.ts +6 -0
- package/dist/src/batchutils/batch-functions.js +80 -0
- package/dist/src/batchutils/batch-props.d.ts +17 -0
- package/dist/src/batchutils/batch-props.js +6 -0
- package/dist/src/cache-client-props.d.ts +32 -0
- package/dist/src/cache-client-props.js +3 -0
- package/dist/src/cache-client.d.ts +54 -0
- package/dist/src/cache-client.js +143 -0
- package/dist/src/config/auth-client-configuration.d.ts +24 -0
- package/dist/src/config/auth-client-configuration.js +13 -0
- package/dist/src/config/auth-client-configurations.d.ts +17 -0
- package/dist/src/config/auth-client-configurations.js +27 -0
- package/dist/src/config/compression/compression.d.ts +29 -0
- package/dist/src/config/compression/compression.js +9 -0
- package/dist/src/config/configuration.d.ts +174 -0
- package/dist/src/config/configuration.js +99 -0
- package/dist/src/config/configurations.d.ts +89 -0
- package/dist/src/config/configurations.js +201 -0
- package/dist/src/config/function-configuration.d.ts +94 -0
- package/dist/src/config/function-configuration.js +55 -0
- package/dist/src/config/function-configurations.d.ts +23 -0
- package/dist/src/config/function-configurations.js +57 -0
- package/dist/src/config/leaderboard-configuration.d.ts +94 -0
- package/dist/src/config/leaderboard-configuration.js +55 -0
- package/dist/src/config/leaderboard-configurations.d.ts +23 -0
- package/dist/src/config/leaderboard-configurations.js +55 -0
- package/dist/src/config/logging/default-momento-logger.d.ts +24 -0
- package/dist/src/config/logging/default-momento-logger.js +69 -0
- package/dist/src/config/middleware/cache-request-logging.d.ts +12 -0
- package/dist/src/config/middleware/cache-request-logging.js +506 -0
- package/dist/src/config/middleware/example-async-middleware.d.ts +11 -0
- package/dist/src/config/middleware/example-async-middleware.js +58 -0
- package/dist/src/config/middleware/experimental-active-request-count-middleware.d.ts +17 -0
- package/dist/src/config/middleware/experimental-active-request-count-middleware.js +60 -0
- package/dist/src/config/middleware/experimental-event-loop-perf-middleware.d.ts +23 -0
- package/dist/src/config/middleware/experimental-event-loop-perf-middleware.js +85 -0
- package/dist/src/config/middleware/experimental-garbage-collection-middleware.d.ts +24 -0
- package/dist/src/config/middleware/experimental-garbage-collection-middleware.js +80 -0
- package/dist/src/config/middleware/experimental-metrics-csv-middleware.d.ts +26 -0
- package/dist/src/config/middleware/experimental-metrics-csv-middleware.js +63 -0
- package/dist/src/config/middleware/experimental-metrics-logging-middleware.d.ts +29 -0
- package/dist/src/config/middleware/experimental-metrics-logging-middleware.js +44 -0
- package/dist/src/config/middleware/experimental-middleware-factory.d.ts +32 -0
- package/dist/src/config/middleware/experimental-middleware-factory.js +32 -0
- package/dist/src/config/middleware/experimental-momento-local-test-config-middleware.d.ts +30 -0
- package/dist/src/config/middleware/experimental-momento-local-test-config-middleware.js +99 -0
- package/dist/src/config/middleware/impl/experimental-metrics-middleware.d.ts +99 -0
- package/dist/src/config/middleware/impl/experimental-metrics-middleware.js +124 -0
- package/dist/src/config/middleware/middleware.d.ts +46 -0
- package/dist/src/config/middleware/middleware.js +51 -0
- package/dist/src/config/middleware/request-logging-middleware.d.ts +21 -0
- package/dist/src/config/middleware/request-logging-middleware.js +77 -0
- package/dist/src/config/retry/default-eligibility-strategy.d.ts +7 -0
- package/dist/src/config/retry/default-eligibility-strategy.js +93 -0
- package/dist/src/config/retry/eligibility-strategy.d.ts +10 -0
- package/dist/src/config/retry/eligibility-strategy.js +3 -0
- package/dist/src/config/retry/exponential-backoff-retry-strategy.d.ts +50 -0
- package/dist/src/config/retry/exponential-backoff-retry-strategy.js +99 -0
- package/dist/src/config/retry/fixed-count-retry-strategy.d.ts +15 -0
- package/dist/src/config/retry/fixed-count-retry-strategy.js +30 -0
- package/dist/src/config/retry/fixed-timeout-retry-strategy.d.ts +17 -0
- package/dist/src/config/retry/fixed-timeout-retry-strategy.js +39 -0
- package/dist/src/config/retry/momento-error-code-metadata-converter.d.ts +10 -0
- package/dist/src/config/retry/momento-error-code-metadata-converter.js +43 -0
- package/dist/src/config/retry/momento-rpc-method.d.ts +60 -0
- package/dist/src/config/retry/momento-rpc-method.js +122 -0
- package/dist/src/config/retry/no-retry-strategy.d.ts +10 -0
- package/dist/src/config/retry/no-retry-strategy.js +15 -0
- package/dist/src/config/retry/retry-strategy.d.ts +13 -0
- package/dist/src/config/retry/retry-strategy.js +3 -0
- package/dist/src/config/retry/topic-subscription-retry-eligibility-strategy.d.ts +7 -0
- package/dist/src/config/retry/topic-subscription-retry-eligibility-strategy.js +25 -0
- package/dist/src/config/retry/topic-subscription-retry-strategy.d.ts +14 -0
- package/dist/src/config/retry/topic-subscription-retry-strategy.js +26 -0
- package/dist/src/config/topic-configuration.d.ts +141 -0
- package/dist/src/config/topic-configuration.js +82 -0
- package/dist/src/config/topic-configurations.d.ts +33 -0
- package/dist/src/config/topic-configurations.js +73 -0
- package/dist/src/config/transport/cache/grpc-configuration.d.ts +165 -0
- package/dist/src/config/transport/cache/grpc-configuration.js +3 -0
- package/dist/src/config/transport/cache/index.d.ts +2 -0
- package/dist/src/config/transport/cache/index.js +19 -0
- package/dist/src/config/transport/cache/transport-strategy.d.ts +119 -0
- package/dist/src/config/transport/cache/transport-strategy.js +137 -0
- package/dist/src/config/transport/topics/grpc-configuration.d.ts +144 -0
- package/dist/src/config/transport/topics/grpc-configuration.js +3 -0
- package/dist/src/config/transport/topics/index.d.ts +2 -0
- package/dist/src/config/transport/topics/index.js +19 -0
- package/dist/src/config/transport/topics/transport-strategy.d.ts +55 -0
- package/dist/src/config/transport/topics/transport-strategy.js +96 -0
- package/dist/src/errors/cache-service-error-mapper.d.ts +10 -0
- package/dist/src/errors/cache-service-error-mapper.js +125 -0
- package/dist/src/errors/compression-error.d.ts +5 -0
- package/dist/src/errors/compression-error.js +12 -0
- package/dist/src/function-client-props.d.ts +12 -0
- package/dist/src/function-client-props.js +3 -0
- package/dist/src/index.d.ts +143 -0
- package/dist/src/index.js +312 -0
- package/dist/src/internal/auth-client-all-props.d.ts +5 -0
- package/dist/src/internal/auth-client-all-props.js +3 -0
- package/dist/src/internal/cache-client-all-props.d.ts +7 -0
- package/dist/src/internal/cache-client-all-props.js +3 -0
- package/dist/src/internal/cache-control-client.d.ts +24 -0
- package/dist/src/internal/cache-control-client.js +199 -0
- package/dist/src/internal/cache-data-client.d.ts +194 -0
- package/dist/src/internal/cache-data-client.js +3439 -0
- package/dist/src/internal/function-client-all-props.d.ts +7 -0
- package/dist/src/internal/function-client-all-props.js +3 -0
- package/dist/src/internal/function-client.d.ts +34 -0
- package/dist/src/internal/function-client.js +300 -0
- package/dist/src/internal/grpc/cancellation-interceptor.d.ts +4 -0
- package/dist/src/internal/grpc/cancellation-interceptor.js +26 -0
- package/dist/src/internal/grpc/grpc-channel-options.d.ts +3 -0
- package/dist/src/internal/grpc/grpc-channel-options.js +35 -0
- package/dist/src/internal/grpc/grpc-client-wrapper.d.ts +10 -0
- package/dist/src/internal/grpc/grpc-client-wrapper.js +3 -0
- package/dist/src/internal/grpc/headers-interceptor.d.ts +14 -0
- package/dist/src/internal/grpc/headers-interceptor.js +39 -0
- package/dist/src/internal/grpc/idle-grpc-client-wrapper.d.ts +49 -0
- package/dist/src/internal/grpc/idle-grpc-client-wrapper.js +110 -0
- package/dist/src/internal/grpc/middlewares-interceptor.d.ts +5 -0
- package/dist/src/internal/grpc/middlewares-interceptor.js +74 -0
- package/dist/src/internal/grpc/retry-interceptor.d.ts +12 -0
- package/dist/src/internal/grpc/retry-interceptor.js +164 -0
- package/dist/src/internal/internal-auth-client.d.ts +27 -0
- package/dist/src/internal/internal-auth-client.js +444 -0
- package/dist/src/internal/leaderboard-client-all-props.d.ts +7 -0
- package/dist/src/internal/leaderboard-client-all-props.js +3 -0
- package/dist/src/internal/leaderboard-data-client.d.ts +40 -0
- package/dist/src/internal/leaderboard-data-client.js +369 -0
- package/dist/src/internal/leaderboard.d.ts +5 -0
- package/dist/src/internal/leaderboard.js +20 -0
- package/dist/src/internal/middleware/in-flight-request-count-middleware.d.ts +8 -0
- package/dist/src/internal/middleware/in-flight-request-count-middleware.js +49 -0
- package/dist/src/internal/ping-client.d.ts +18 -0
- package/dist/src/internal/ping-client.js +63 -0
- package/dist/src/internal/pubsub-client.d.ts +38 -0
- package/dist/src/internal/pubsub-client.js +259 -0
- package/dist/src/internal/topic-client-all-props.d.ts +7 -0
- package/dist/src/internal/topic-client-all-props.js +3 -0
- package/dist/src/internal/utils.d.ts +22 -0
- package/dist/src/internal/utils.js +57 -0
- package/dist/src/internal/vendor/printf/README.md +31 -0
- package/dist/src/internal/vendor/printf/printf.d.ts +9 -0
- package/dist/src/internal/vendor/printf/printf.js +478 -0
- package/dist/src/internal/webhook-client.d.ts +20 -0
- package/dist/src/internal/webhook-client.js +215 -0
- package/dist/src/leaderboard-client-props.d.ts +11 -0
- package/dist/src/leaderboard-client-props.js +3 -0
- package/dist/src/preview-function-client.d.ts +34 -0
- package/dist/src/preview-function-client.js +74 -0
- package/dist/src/preview-leaderboard-client.d.ts +22 -0
- package/dist/src/preview-leaderboard-client.js +63 -0
- package/dist/src/topic-client-props.d.ts +12 -0
- package/dist/src/topic-client-props.js +3 -0
- package/dist/src/topic-client.d.ts +13 -0
- package/dist/src/topic-client.js +62 -0
- package/package.json +71 -4
package/README.md
CHANGED
|
@@ -1,3 +1,67 @@
|
|
|
1
|
-
|
|
1
|
+
<head>
|
|
2
|
+
<meta name="Momento Client Library Documentation for Node.js" content="Momento client software development kit for Node.js">
|
|
3
|
+
</head>
|
|
4
|
+
<img src="https://docs.momentohq.com/img/momento-logo-forest.svg" alt="logo" width="400"/>
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
[](https://github.com/momentohq/standards-and-practices/blob/main/docs/momento-on-github.md)
|
|
7
|
+
[](https://github.com/momentohq/standards-and-practices/blob/main/docs/momento-on-github.md)
|
|
8
|
+
|
|
9
|
+
# Momento Client Library for Node.js
|
|
10
|
+
|
|
11
|
+
Momento Cache is a fast, simple, pay-as-you-go caching solution without any of the operational overhead
|
|
12
|
+
required by traditional caching solutions. This repo contains the source code for the Momento client library for Node.js.
|
|
13
|
+
|
|
14
|
+
To get started with Momento you will need a Momento Auth Token. You can get one from the [Momento Console](https://console.gomomento.com).
|
|
15
|
+
|
|
16
|
+
* Website: [https://www.gomomento.com/](https://www.gomomento.com/)
|
|
17
|
+
* Momento Documentation: [https://docs.momentohq.com/](https://docs.momentohq.com/)
|
|
18
|
+
* Getting Started: [https://docs.momentohq.com/getting-started](https://docs.momentohq.com/getting-started)
|
|
19
|
+
* Momento SDK Documentation for Node.js: [https://docs.momentohq.com/sdks/nodejs](https://docs.momentohq.com/sdks/nodejs)
|
|
20
|
+
* Discuss: [Momento Discord](https://discord.gg/3HkAKjUZGq)
|
|
21
|
+
|
|
22
|
+
## Packages
|
|
23
|
+
|
|
24
|
+
The node.js SDK is available on npmjs: [`@gomomento/sdk`](https://www.npmjs.com/package/@gomomento/sdk).
|
|
25
|
+
|
|
26
|
+
The node.js SDK is the best choice for server-side JavaScript applications or environments where performance considerations
|
|
27
|
+
are key. If you are writing a browser application or other JavaScript code that will run outside of node.js, check out
|
|
28
|
+
the [Momento Web SDK](../client-sdk-web).
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
```javascript
|
|
33
|
+
import {CacheClient, CacheGetResponse} from '@gomomento/sdk';
|
|
34
|
+
|
|
35
|
+
async function main() {
|
|
36
|
+
const cacheClient = await CacheClient.create({
|
|
37
|
+
defaultTtlSeconds: 60,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
await cacheClient.createCache('cache');
|
|
41
|
+
await cacheClient.set('cache', 'foo', 'FOO');
|
|
42
|
+
const getResponse = await cacheClient.get('cache', 'foo');
|
|
43
|
+
if (getResponse.type === CacheGetResponse.Hit) {
|
|
44
|
+
console.log(`Got value: ${getResponse.valueString()}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
main().catch(e => {
|
|
49
|
+
throw e;
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Getting Started and Documentation
|
|
55
|
+
|
|
56
|
+
Documentation is available on the [Momento Docs website](https://docs.momentohq.com).
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
|
|
60
|
+
Working example projects, with all required build configuration files, are available in the [examples'](https://github.com/momentohq/client-sdk-javascript/tree/main/examples/nodejs) subdirectory.
|
|
61
|
+
|
|
62
|
+
## Developing
|
|
63
|
+
|
|
64
|
+
If you are interested in contributing to the SDK, please see the [CONTRIBUTING](./CONTRIBUTING.md) docs.
|
|
65
|
+
|
|
66
|
+
----------------------------------------------------------------------------------------
|
|
67
|
+
For more info, visit our website at [https://gomomento.com](https://gomomento.com)!
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{{ ossHeader }}
|
|
2
|
+
|
|
3
|
+
## Packages
|
|
4
|
+
|
|
5
|
+
The node.js SDK is available on npmjs: [`@gomomento/sdk`](https://www.npmjs.com/package/@gomomento/sdk).
|
|
6
|
+
|
|
7
|
+
The node.js SDK is the best choice for server-side JavaScript applications or environments where performance considerations
|
|
8
|
+
are key. If you are writing a browser application or other JavaScript code that will run outside of node.js, check out
|
|
9
|
+
the [Momento Web SDK](../client-sdk-web).
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
{% include "./examples/nodejs/cache/readme.ts" %}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Getting Started and Documentation
|
|
18
|
+
|
|
19
|
+
Documentation is available on the [Momento Docs website](https://docs.momentohq.com).
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
Working example projects, with all required build configuration files, are available in the [examples'](https://github.com/momentohq/client-sdk-javascript/tree/main/examples/nodejs) subdirectory.
|
|
24
|
+
|
|
25
|
+
## Developing
|
|
26
|
+
|
|
27
|
+
If you are interested in contributing to the SDK, please see the [CONTRIBUTING](./CONTRIBUTING.md) docs.
|
|
28
|
+
|
|
29
|
+
{{ ossFooter }}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gomomento/sdk",
|
|
3
|
+
"version": "1.118.0",
|
|
4
|
+
"description": "Client SDK for Momento services",
|
|
5
|
+
"main": "dist/src/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist/src",
|
|
8
|
+
"dist/package.json"
|
|
9
|
+
],
|
|
10
|
+
"types": "dist/src/index.d.ts",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/momentohq/client-sdk-javascript"
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"prebuild": "eslint . --ext .ts",
|
|
17
|
+
"test": "jest --testPathIgnorePatterns=\"auth-client\\.test\\.ts|http-apis\\.test\\.ts\" --maxWorkers 1",
|
|
18
|
+
"integration-test-auth": "jest auth/ --maxWorkers 1 -- useConsistentReads",
|
|
19
|
+
"integration-test-http": "jest http/ --maxWorkers 1 -- useConsistentReads",
|
|
20
|
+
"integration-test-cache": "jest cache/ --maxWorkers 1 --testPathIgnorePatterns=\"abort-signal\" -- useConsistentReads",
|
|
21
|
+
"integration-test-control-cache-topics": "npm run integration-test-cache && npm run integration-test-topics",
|
|
22
|
+
"integration-test-leaderboard": "jest leaderboard/ --maxWorkers 1 -- useConsistentReads",
|
|
23
|
+
"integration-test-function": "jest function/ --maxWorkers 1",
|
|
24
|
+
"integration-test-topics": "jest topics/ --maxWorkers 1 -- useConsistentReads",
|
|
25
|
+
"integration-test-retry": "jest retry/ --maxWorkers 1 -- useConsistentReads",
|
|
26
|
+
"integration-test-consistent-reads": "jest integration --testPathIgnorePatterns=\"retry/\" --maxWorkers 1 -- useConsistentReads",
|
|
27
|
+
"integration-test": "jest integration --maxWorkers 1",
|
|
28
|
+
"unit-test": "jest unit",
|
|
29
|
+
"build-deps": "cd ../core && npm run build && cd - && cd ../common-integration-tests && npm run build && cd -",
|
|
30
|
+
"build-and-run-tests": "npm run build-deps && jest --testPathIgnorePatterns=\"auth-client\\.test\\.ts|http-apis\\.test\\.ts\" --maxWorkers 1",
|
|
31
|
+
"lint": "eslint . --ext .ts",
|
|
32
|
+
"format": "eslint . --ext .ts --fix",
|
|
33
|
+
"watch": "tsc -w",
|
|
34
|
+
"build": "rm -rf dist && tsc && mkdir -p dist/src/internal/vendor && cp -r ../client-sdk-nodejs/src/internal/vendor/printf dist/src/internal/vendor/printf",
|
|
35
|
+
"build-without-local-core": "rm -rf dist && tsc && mkdir -p dist/src/internal/vendor && cp -r ../client-sdk-nodejs/src/internal/vendor/printf dist/src/internal/vendor/printf"
|
|
36
|
+
},
|
|
37
|
+
"author": "",
|
|
38
|
+
"license": "Apache-2.0",
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@gomomento/common-integration-tests": "file:../common-integration-tests/gomomento-common-integration-tests-1.118.0.tgz",
|
|
41
|
+
"@types/jest": "27.5.2",
|
|
42
|
+
"@types/node": "16.18.97",
|
|
43
|
+
"@types/uuid": "8.3.4",
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "5.62.0",
|
|
45
|
+
"@typescript-eslint/parser": "5.62.0",
|
|
46
|
+
"eslint": "7.32.0",
|
|
47
|
+
"eslint-config-prettier": "8.10.0",
|
|
48
|
+
"eslint-plugin-import": "2.29.0",
|
|
49
|
+
"eslint-plugin-node": "11.1.0",
|
|
50
|
+
"eslint-plugin-prettier": "4.2.1",
|
|
51
|
+
"jest": "29.7.0",
|
|
52
|
+
"jest-extended": "4.0.2",
|
|
53
|
+
"jest-spec-reporter": "1.0.19",
|
|
54
|
+
"prettier": "2.8.8",
|
|
55
|
+
"ts-jest": "29.1.1",
|
|
56
|
+
"ts-morph": "22.0.0",
|
|
57
|
+
"ts-node": "10.9.1",
|
|
58
|
+
"typescript": "4.9.5",
|
|
59
|
+
"uuid": "8.3.2"
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@gomomento/generated-types": "0.133.0",
|
|
63
|
+
"@gomomento/sdk-core": "1.118.0",
|
|
64
|
+
"@grpc/grpc-js": "1.13.1",
|
|
65
|
+
"@types/google-protobuf": "3.15.10",
|
|
66
|
+
"google-protobuf": "3.21.2",
|
|
67
|
+
"jwt-decode": "3.1.2"
|
|
68
|
+
},
|
|
69
|
+
"engines": {
|
|
70
|
+
"node": ">= 16"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CredentialProvider } from '.';
|
|
2
|
+
import { AuthClientConfiguration } from './config/auth-client-configuration';
|
|
3
|
+
export interface AuthClientProps {
|
|
4
|
+
/**
|
|
5
|
+
* controls how the client will get authentication information for connecting to the Momento service
|
|
6
|
+
*/
|
|
7
|
+
credentialProvider?: CredentialProvider;
|
|
8
|
+
/**
|
|
9
|
+
* Controls the configuration settings for the auth client, such as logging configuration.
|
|
10
|
+
*/
|
|
11
|
+
configuration?: AuthClientConfiguration;
|
|
12
|
+
/**
|
|
13
|
+
* Configures whether the client should return a Momento Error object or throw an exception when an
|
|
14
|
+
* error occurs. By default, this is set to false, and the client will return a Momento Error object on errors. Set it
|
|
15
|
+
* to true if you prefer for exceptions to be thrown.
|
|
16
|
+
*/
|
|
17
|
+
throwOnErrors?: boolean;
|
|
18
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jbGllbnQtcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC1jbGllbnQtcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q3JlZGVudGlhbFByb3ZpZGVyfSBmcm9tICcuJztcbmltcG9ydCB7QXV0aENsaWVudENvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2F1dGgtY2xpZW50LWNvbmZpZ3VyYXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDbGllbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBjb250cm9scyBob3cgdGhlIGNsaWVudCB3aWxsIGdldCBhdXRoZW50aWNhdGlvbiBpbmZvcm1hdGlvbiBmb3IgY29ubmVjdGluZyB0byB0aGUgTW9tZW50byBzZXJ2aWNlXG4gICAqL1xuICBjcmVkZW50aWFsUHJvdmlkZXI/OiBDcmVkZW50aWFsUHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciB0aGUgYXV0aCBjbGllbnQsIHN1Y2ggYXMgbG9nZ2luZyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgY29uZmlndXJhdGlvbj86IEF1dGhDbGllbnRDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHdoZXRoZXIgdGhlIGNsaWVudCBzaG91bGQgcmV0dXJuIGEgTW9tZW50byBFcnJvciBvYmplY3Qgb3IgdGhyb3cgYW4gZXhjZXB0aW9uIHdoZW4gYW5cbiAgICogZXJyb3Igb2NjdXJzLiBCeSBkZWZhdWx0LCB0aGlzIGlzIHNldCB0byBmYWxzZSwgYW5kIHRoZSBjbGllbnQgd2lsbCByZXR1cm4gYSBNb21lbnRvIEVycm9yIG9iamVjdCBvbiBlcnJvcnMuIFNldCBpdFxuICAgKiB0byB0cnVlIGlmIHlvdSBwcmVmZXIgZm9yIGV4Y2VwdGlvbnMgdG8gYmUgdGhyb3duLlxuICAgKi9cbiAgdGhyb3dPbkVycm9ycz86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IAuthClient } from '@gomomento/sdk-core/dist/src/clients/IAuthClient';
|
|
2
|
+
import { AbstractAuthClient } from '@gomomento/sdk-core/dist/src/internal/clients/auth/AbstractAuthClient';
|
|
3
|
+
import { AuthClientProps } from './auth-client-props';
|
|
4
|
+
export declare class AuthClient extends AbstractAuthClient implements IAuthClient {
|
|
5
|
+
constructor(props?: AuthClientProps);
|
|
6
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthClient = void 0;
|
|
4
|
+
const internal_auth_client_1 = require("./internal/internal-auth-client");
|
|
5
|
+
const AbstractAuthClient_1 = require("@gomomento/sdk-core/dist/src/internal/clients/auth/AbstractAuthClient");
|
|
6
|
+
const sdk_core_1 = require("@gomomento/sdk-core");
|
|
7
|
+
const _1 = require(".");
|
|
8
|
+
class AuthClient extends AbstractAuthClient_1.AbstractAuthClient {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const allProps = {
|
|
12
|
+
...props,
|
|
13
|
+
configuration: (_a = props === null || props === void 0 ? void 0 : props.configuration) !== null && _a !== void 0 ? _a : getDefaultAuthClientConfiguration(),
|
|
14
|
+
credentialProvider: (_b = props === null || props === void 0 ? void 0 : props.credentialProvider) !== null && _b !== void 0 ? _b : (0, sdk_core_1.getDefaultCredentialProvider)(),
|
|
15
|
+
};
|
|
16
|
+
const authClient = new internal_auth_client_1.InternalAuthClient(allProps);
|
|
17
|
+
super({ createAuthClient: () => authClient });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.AuthClient = AuthClient;
|
|
21
|
+
function getDefaultAuthClientConfiguration() {
|
|
22
|
+
const config = _1.AuthClientConfigurations.Default.latest();
|
|
23
|
+
const logger = config.getLoggerFactory().getLogger('AuthClient');
|
|
24
|
+
logger.info('No configuration provided to AuthClient. Using latest "Default" configuration, suitable for development. For production use, consider specifying an explicit configuration.');
|
|
25
|
+
return config;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMEVBQW1FO0FBRW5FLDhHQUF5RztBQUd6RyxrREFBaUU7QUFDakUsd0JBQW9FO0FBRXBFLE1BQWEsVUFBVyxTQUFRLHVDQUFrQjtJQUNoRCxZQUFZLEtBQXVCOztRQUNqQyxNQUFNLFFBQVEsR0FBdUI7WUFDbkMsR0FBRyxLQUFLO1lBQ1IsYUFBYSxFQUNYLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGFBQWEsbUNBQUksaUNBQWlDLEVBQUU7WUFDN0Qsa0JBQWtCLEVBQ2hCLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGtCQUFrQixtQ0FBSSxJQUFBLHVDQUE0QixHQUFFO1NBQzlELENBQUM7UUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLHlDQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELEtBQUssQ0FBQyxFQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBYkQsZ0NBYUM7QUFFRCxTQUFTLGlDQUFpQztJQUN4QyxNQUFNLE1BQU0sR0FBRywyQkFBd0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sQ0FBQyxJQUFJLENBQ1QsNktBQTZLLENBQzlLLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnRlcm5hbEF1dGhDbGllbnR9IGZyb20gJy4vaW50ZXJuYWwvaW50ZXJuYWwtYXV0aC1jbGllbnQnO1xuaW1wb3J0IHtJQXV0aENsaWVudH0gZnJvbSAnQGdvbW9tZW50by9zZGstY29yZS9kaXN0L3NyYy9jbGllbnRzL0lBdXRoQ2xpZW50JztcbmltcG9ydCB7QWJzdHJhY3RBdXRoQ2xpZW50fSBmcm9tICdAZ29tb21lbnRvL3Nkay1jb3JlL2Rpc3Qvc3JjL2ludGVybmFsL2NsaWVudHMvYXV0aC9BYnN0cmFjdEF1dGhDbGllbnQnO1xuaW1wb3J0IHtBdXRoQ2xpZW50UHJvcHN9IGZyb20gJy4vYXV0aC1jbGllbnQtcHJvcHMnO1xuaW1wb3J0IHtBdXRoQ2xpZW50QWxsUHJvcHN9IGZyb20gJy4vaW50ZXJuYWwvYXV0aC1jbGllbnQtYWxsLXByb3BzJztcbmltcG9ydCB7Z2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcn0gZnJvbSAnQGdvbW9tZW50by9zZGstY29yZSc7XG5pbXBvcnQge0F1dGhDbGllbnRDb25maWd1cmF0aW9uLCBBdXRoQ2xpZW50Q29uZmlndXJhdGlvbnN9IGZyb20gJy4nO1xuXG5leHBvcnQgY2xhc3MgQXV0aENsaWVudCBleHRlbmRzIEFic3RyYWN0QXV0aENsaWVudCBpbXBsZW1lbnRzIElBdXRoQ2xpZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHM/OiBBdXRoQ2xpZW50UHJvcHMpIHtcbiAgICBjb25zdCBhbGxQcm9wczogQXV0aENsaWVudEFsbFByb3BzID0ge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBjb25maWd1cmF0aW9uOlxuICAgICAgICBwcm9wcz8uY29uZmlndXJhdGlvbiA/PyBnZXREZWZhdWx0QXV0aENsaWVudENvbmZpZ3VyYXRpb24oKSxcbiAgICAgIGNyZWRlbnRpYWxQcm92aWRlcjpcbiAgICAgICAgcHJvcHM/LmNyZWRlbnRpYWxQcm92aWRlciA/PyBnZXREZWZhdWx0Q3JlZGVudGlhbFByb3ZpZGVyKCksXG4gICAgfTtcbiAgICBjb25zdCBhdXRoQ2xpZW50ID0gbmV3IEludGVybmFsQXV0aENsaWVudChhbGxQcm9wcyk7XG5cbiAgICBzdXBlcih7Y3JlYXRlQXV0aENsaWVudDogKCkgPT4gYXV0aENsaWVudH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldERlZmF1bHRBdXRoQ2xpZW50Q29uZmlndXJhdGlvbigpOiBBdXRoQ2xpZW50Q29uZmlndXJhdGlvbiB7XG4gIGNvbnN0IGNvbmZpZyA9IEF1dGhDbGllbnRDb25maWd1cmF0aW9ucy5EZWZhdWx0LmxhdGVzdCgpO1xuICBjb25zdCBsb2dnZXIgPSBjb25maWcuZ2V0TG9nZ2VyRmFjdG9yeSgpLmdldExvZ2dlcignQXV0aENsaWVudCcpO1xuICBsb2dnZXIuaW5mbyhcbiAgICAnTm8gY29uZmlndXJhdGlvbiBwcm92aWRlZCB0byBBdXRoQ2xpZW50LiBVc2luZyBsYXRlc3QgXCJEZWZhdWx0XCIgY29uZmlndXJhdGlvbiwgc3VpdGFibGUgZm9yIGRldmVsb3BtZW50LiBGb3IgcHJvZHVjdGlvbiB1c2UsIGNvbnNpZGVyIHNwZWNpZnlpbmcgYW4gZXhwbGljaXQgY29uZmlndXJhdGlvbi4nXG4gICk7XG4gIHJldHVybiBjb25maWc7XG59XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ICacheClient } from '@gomomento/sdk-core';
|
|
2
|
+
import { BatchDeleteOptions, BatchDeleteResponse, BatchGetOptions, BatchGetResponse, BatchSetOptions, BatchSetResponse, BatchSetItem, defaultMaxConcurrentRequests, defaultTtlSeconds } from './batch-props';
|
|
3
|
+
export { BatchDeleteOptions, BatchDeleteResponse, BatchGetOptions, BatchGetResponse, BatchSetOptions, BatchSetResponse, BatchSetItem, defaultMaxConcurrentRequests, defaultTtlSeconds, };
|
|
4
|
+
export declare function batchGet(cacheClient: ICacheClient, cacheName: string, keys: Array<string | Uint8Array>, options?: BatchGetOptions): Promise<BatchGetResponse>;
|
|
5
|
+
export declare function batchSet(cacheClient: ICacheClient, cacheName: string, items: Array<BatchSetItem>, options?: BatchSetOptions): Promise<BatchSetResponse>;
|
|
6
|
+
export declare function batchDelete(cacheClient: ICacheClient, cacheName: string, keys: Array<string | Uint8Array>, options?: BatchDeleteOptions): Promise<BatchDeleteResponse>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.batchDelete = exports.batchSet = exports.batchGet = exports.defaultTtlSeconds = exports.defaultMaxConcurrentRequests = void 0;
|
|
4
|
+
const batch_props_1 = require("./batch-props");
|
|
5
|
+
Object.defineProperty(exports, "defaultMaxConcurrentRequests", { enumerable: true, get: function () { return batch_props_1.defaultMaxConcurrentRequests; } });
|
|
6
|
+
Object.defineProperty(exports, "defaultTtlSeconds", { enumerable: true, get: function () { return batch_props_1.defaultTtlSeconds; } });
|
|
7
|
+
const utils_1 = require("@gomomento/sdk-core/dist/src/internal/utils");
|
|
8
|
+
// Note: all promises in batch request workers have a client-side timeout deadline
|
|
9
|
+
// because grpc request timeouts are baked into the cache client. The timeout can be
|
|
10
|
+
// overridden using the `withClientTimeoutMillis` function.
|
|
11
|
+
async function batchGet(cacheClient, cacheName, keys, options) {
|
|
12
|
+
const maxConcurrentGets = (options === null || options === void 0 ? void 0 : options.maxConcurrentRequests)
|
|
13
|
+
? options.maxConcurrentRequests
|
|
14
|
+
: Math.min(batch_props_1.defaultMaxConcurrentRequests, keys.length);
|
|
15
|
+
const batchGetResults = (0, utils_1.range)(maxConcurrentGets).map((workerId) => getWorker(workerId, cacheClient, cacheName, keys));
|
|
16
|
+
const awaitAll = await Promise.all(batchGetResults);
|
|
17
|
+
const batchGetResponse = {};
|
|
18
|
+
awaitAll.forEach(responses => {
|
|
19
|
+
Object.assign(batchGetResponse, responses);
|
|
20
|
+
});
|
|
21
|
+
return batchGetResponse;
|
|
22
|
+
}
|
|
23
|
+
exports.batchGet = batchGet;
|
|
24
|
+
async function getWorker(workerId, cacheClient, cacheName, keys) {
|
|
25
|
+
const responses = {};
|
|
26
|
+
while (keys.length) {
|
|
27
|
+
const cacheKey = keys.pop();
|
|
28
|
+
if (cacheKey !== undefined) {
|
|
29
|
+
responses[String(cacheKey)] = await cacheClient.get(cacheName, cacheKey);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return Promise.resolve(responses);
|
|
33
|
+
}
|
|
34
|
+
async function batchSet(cacheClient, cacheName, items, options) {
|
|
35
|
+
const maxConcurrentSets = (options === null || options === void 0 ? void 0 : options.maxConcurrentRequests)
|
|
36
|
+
? options.maxConcurrentRequests
|
|
37
|
+
: Math.min(batch_props_1.defaultMaxConcurrentRequests, items.length);
|
|
38
|
+
const batchSetResults = (0, utils_1.range)(maxConcurrentSets).map((workerId) => setWorker(workerId, cacheClient, cacheName, items));
|
|
39
|
+
const awaitAll = await Promise.all(batchSetResults);
|
|
40
|
+
const batchSetResponse = {};
|
|
41
|
+
awaitAll.forEach(responses => {
|
|
42
|
+
Object.assign(batchSetResponse, responses);
|
|
43
|
+
});
|
|
44
|
+
return batchSetResponse;
|
|
45
|
+
}
|
|
46
|
+
exports.batchSet = batchSet;
|
|
47
|
+
async function setWorker(workerId, cacheClient, cacheName, items) {
|
|
48
|
+
const responses = {};
|
|
49
|
+
while (items.length) {
|
|
50
|
+
const item = items.pop();
|
|
51
|
+
if (item !== undefined) {
|
|
52
|
+
responses[String(item.key)] = await cacheClient.set(cacheName, item.key, item.value, { ttl: item.ttl ? item.ttl : batch_props_1.defaultTtlSeconds });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return Promise.resolve(responses);
|
|
56
|
+
}
|
|
57
|
+
async function batchDelete(cacheClient, cacheName, keys, options) {
|
|
58
|
+
const maxConcurrentDeletes = (options === null || options === void 0 ? void 0 : options.maxConcurrentRequests)
|
|
59
|
+
? options.maxConcurrentRequests
|
|
60
|
+
: Math.min(batch_props_1.defaultMaxConcurrentRequests, keys.length);
|
|
61
|
+
const batchDeleteResults = (0, utils_1.range)(maxConcurrentDeletes).map((workerId) => deleteWorker(workerId, cacheClient, cacheName, keys));
|
|
62
|
+
const awaitAll = await Promise.all(batchDeleteResults);
|
|
63
|
+
const batchDeleteResponse = {};
|
|
64
|
+
awaitAll.forEach(responses => {
|
|
65
|
+
Object.assign(batchDeleteResponse, responses);
|
|
66
|
+
});
|
|
67
|
+
return batchDeleteResponse;
|
|
68
|
+
}
|
|
69
|
+
exports.batchDelete = batchDelete;
|
|
70
|
+
async function deleteWorker(workerId, cacheClient, cacheName, keys) {
|
|
71
|
+
const responses = {};
|
|
72
|
+
while (keys.length) {
|
|
73
|
+
const cacheKey = keys.pop();
|
|
74
|
+
if (cacheKey !== undefined) {
|
|
75
|
+
responses[String(cacheKey)] = await cacheClient.delete(cacheName, cacheKey);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return Promise.resolve(responses);
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2gtZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhdGNodXRpbHMvYmF0Y2gtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLCtDQVV1QjtBQVdyQiw2R0FiQSwwQ0FBNEIsT0FhQTtBQUM1QixrR0FiQSwrQkFBaUIsT0FhQTtBQVhuQix1RUFBa0U7QUFjbEUsa0ZBQWtGO0FBQ2xGLG9GQUFvRjtBQUNwRiwyREFBMkQ7QUFFcEQsS0FBSyxVQUFVLFFBQVEsQ0FDNUIsV0FBeUIsRUFDekIsU0FBaUIsRUFDakIsSUFBZ0MsRUFDaEMsT0FBeUI7SUFFekIsTUFBTSxpQkFBaUIsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxxQkFBcUI7UUFDdEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUI7UUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMENBQTRCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhELE1BQU0sZUFBZSxHQUFHLElBQUEsYUFBSyxFQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQ3hFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FDbEQsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVwRCxNQUFNLGdCQUFnQixHQUFxQixFQUFFLENBQUM7SUFDOUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDO0FBcEJELDRCQW9CQztB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QUFvQixDQUFDLENBQUMsR0FBRyxDQUN4RCxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FDM0UsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXZELE1BQU0sbUJBQW1CLEdBQXdCLEVBQUUsQ0FBQztJQUNwRCxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUM7QUFwQkQsa0NBb0JDO0FBRUQsS0FBSyxVQUFVLFlBQVksQ0FDekIsUUFBZ0IsRUFDaEIsV0FBeUIsRUFDekIsU0FBaUIsRUFDakIsSUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQXlDLEVBQUUsQ0FBQztJQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsTUFBTSxXQUFXLENBQUMsTUFBTSxDQUNwRCxTQUFTLEVBQ1QsUUFBUSxDQUNULENBQUM7U0FDSDtLQUNGO0lBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYWNoZURlbGV0ZSxcbiAgQ2FjaGVHZXQsXG4gIENhY2hlU2V0LFxuICBJQ2FjaGVDbGllbnQsXG59IGZyb20gJ0Bnb21vbWVudG8vc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgQmF0Y2hEZWxldGVPcHRpb25zLFxuICBCYXRjaERlbGV0ZVJlc3BvbnNlLFxuICBCYXRjaEdldE9wdGlvbnMsXG4gIEJhdGNoR2V0UmVzcG9uc2UsXG4gIEJhdGNoU2V0T3B0aW9ucyxcbiAgQmF0Y2hTZXRSZXNwb25zZSxcbiAgQmF0Y2hTZXRJdGVtLFxuICBkZWZhdWx0TWF4Q29uY3VycmVudFJlcXVlc3RzLFxuICBkZWZhdWx0VHRsU2Vjb25kcyxcbn0gZnJvbSAnLi9iYXRjaC1wcm9wcyc7XG5pbXBvcnQge3JhbmdlfSBmcm9tICdAZ29tb21lbnRvL3Nkay1jb3JlL2Rpc3Qvc3JjL2ludGVybmFsL3V0aWxzJztcblxuZXhwb3J0IHtcbiAgQmF0Y2hEZWxldGVPcHRpb25zLFxuICBCYXRjaERlbGV0ZVJlc3BvbnNlLFxuICBCYXRjaEdldE9wdGlvbnMsXG4gIEJhdGNoR2V0UmVzcG9uc2UsXG4gIEJhdGNoU2V0T3B0aW9ucyxcbiAgQmF0Y2hTZXRSZXNwb25zZSxcbiAgQmF0Y2hTZXRJdGVtLFxuICBkZWZhdWx0TWF4Q29uY3VycmVudFJlcXVlc3RzLFxuICBkZWZhdWx0VHRsU2Vjb25kcyxcbn07XG5cbi8vIE5vdGU6IGFsbCBwcm9taXNlcyBpbiBiYXRjaCByZXF1ZXN0IHdvcmtlcnMgaGF2ZSBhIGNsaWVudC1zaWRlIHRpbWVvdXQgZGVhZGxpbmVcbi8vIGJlY2F1c2UgZ3JwYyByZXF1ZXN0IHRpbWVvdXRzIGFyZSBiYWtlZCBpbnRvIHRoZSBjYWNoZSBjbGllbnQuIFRoZSB0aW1lb3V0IGNhbiBiZVxuLy8gb3ZlcnJpZGRlbiB1c2luZyB0aGUgYHdpdGhDbGllbnRUaW1lb3V0TWlsbGlzYCBmdW5jdGlvbi5cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJhdGNoR2V0KFxuICBjYWNoZUNsaWVudDogSUNhY2hlQ2xpZW50LFxuICBjYWNoZU5hbWU6IHN0cmluZyxcbiAga2V5czogQXJyYXk8c3RyaW5nIHwgVWludDhBcnJheT4sXG4gIG9wdGlvbnM/OiBCYXRjaEdldE9wdGlvbnNcbik6IFByb21pc2U8QmF0Y2hHZXRSZXNwb25zZT4ge1xuICBjb25zdCBtYXhDb25jdXJyZW50R2V0cyA9IG9wdGlvbnM/Lm1heENvbmN1cnJlbnRSZXF1ZXN0c1xuICAgID8gb3B0aW9ucy5tYXhDb25jdXJyZW50UmVxdWVzdHNcbiAgICA6IE1hdGgubWluKGRlZmF1bHRNYXhDb25jdXJyZW50UmVxdWVzdHMsIGtleXMubGVuZ3RoKTtcblxuICBjb25zdCBiYXRjaEdldFJlc3VsdHMgPSByYW5nZShtYXhDb25jdXJyZW50R2V0cykubWFwKCh3b3JrZXJJZDogbnVtYmVyKSA9PlxuICAgIGdldFdvcmtlcih3b3JrZXJJZCwgY2FjaGVDbGllbnQsIGNhY2hlTmFtZSwga2V5cylcbiAgKTtcbiAgY29uc3QgYXdhaXRBbGwgPSBhd2FpdCBQcm9taXNlLmFsbChiYXRjaEdldFJlc3VsdHMpO1xuXG4gIGNvbnN0IGJhdGNoR2V0UmVzcG9uc2U6IEJhdGNoR2V0UmVzcG9uc2UgPSB7fTtcbiAgYXdhaXRBbGwuZm9yRWFjaChyZXNwb25zZXMgPT4ge1xuICAgIE9iamVjdC5hc3NpZ24oYmF0Y2hHZXRSZXNwb25zZSwgcmVzcG9uc2VzKTtcbiAgfSk7XG4gIHJldHVybiBiYXRjaEdldFJlc3BvbnNlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRXb3JrZXIoXG4gIHdvcmtlcklkOiBudW1iZXIsXG4gIGNhY2hlQ2xpZW50OiBJQ2FjaGVDbGllbnQsXG4gIGNhY2hlTmFtZTogc3RyaW5nLFxuICBrZXlzOiBBcnJheTxzdHJpbmcgfCBVaW50OEFycmF5PlxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBDYWNoZUdldC5SZXNwb25zZT4+IHtcbiAgY29uc3QgcmVzcG9uc2VzOiBSZWNvcmQ8c3RyaW5nLCBDYWNoZUdldC5SZXNwb25zZT4gPSB7fTtcbiAgd2hpbGUgKGtleXMubGVuZ3RoKSB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBrZXlzLnBvcCgpO1xuICAgIGlmIChjYWNoZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXNwb25zZXNbU3RyaW5nKGNhY2hlS2V5KV0gPSBhd2FpdCBjYWNoZUNsaWVudC5nZXQoY2FjaGVOYW1lLCBjYWNoZUtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2VzKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJhdGNoU2V0KFxuICBjYWNoZUNsaWVudDogSUNhY2hlQ2xpZW50LFxuICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgaXRlbXM6IEFycmF5PEJhdGNoU2V0SXRlbT4sXG4gIG9wdGlvbnM/OiBCYXRjaFNldE9wdGlvbnNcbik6IFByb21pc2U8QmF0Y2hTZXRSZXNwb25zZT4ge1xuICBjb25zdCBtYXhDb25jdXJyZW50U2V0cyA9IG9wdGlvbnM/Lm1heENvbmN1cnJlbnRSZXF1ZXN0c1xuICAgID8gb3B0aW9ucy5tYXhDb25jdXJyZW50UmVxdWVzdHNcbiAgICA6IE1hdGgubWluKGRlZmF1bHRNYXhDb25jdXJyZW50UmVxdWVzdHMsIGl0ZW1zLmxlbmd0aCk7XG5cbiAgY29uc3QgYmF0Y2hTZXRSZXN1bHRzID0gcmFuZ2UobWF4Q29uY3VycmVudFNldHMpLm1hcCgod29ya2VySWQ6IG51bWJlcikgPT5cbiAgICBzZXRXb3JrZXIod29ya2VySWQsIGNhY2hlQ2xpZW50LCBjYWNoZU5hbWUsIGl0ZW1zKVxuICApO1xuICBjb25zdCBhd2FpdEFsbCA9IGF3YWl0IFByb21pc2UuYWxsKGJhdGNoU2V0UmVzdWx0cyk7XG5cbiAgY29uc3QgYmF0Y2hTZXRSZXNwb25zZTogQmF0Y2hTZXRSZXNwb25zZSA9IHt9O1xuICBhd2FpdEFsbC5mb3JFYWNoKHJlc3BvbnNlcyA9PiB7XG4gICAgT2JqZWN0LmFzc2lnbihiYXRjaFNldFJlc3BvbnNlLCByZXNwb25zZXMpO1xuICB9KTtcbiAgcmV0dXJuIGJhdGNoU2V0UmVzcG9uc2U7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNldFdvcmtlcihcbiAgd29ya2VySWQ6IG51bWJlcixcbiAgY2FjaGVDbGllbnQ6IElDYWNoZUNsaWVudCxcbiAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gIGl0ZW1zOiBBcnJheTxCYXRjaFNldEl0ZW0+XG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIENhY2hlU2V0LlJlc3BvbnNlPj4ge1xuICBjb25zdCByZXNwb25zZXM6IFJlY29yZDxzdHJpbmcsIENhY2hlU2V0LlJlc3BvbnNlPiA9IHt9O1xuICB3aGlsZSAoaXRlbXMubGVuZ3RoKSB7XG4gICAgY29uc3QgaXRlbSA9IGl0ZW1zLnBvcCgpO1xuICAgIGlmIChpdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlc3BvbnNlc1tTdHJpbmcoaXRlbS5rZXkpXSA9IGF3YWl0IGNhY2hlQ2xpZW50LnNldChcbiAgICAgICAgY2FjaGVOYW1lLFxuICAgICAgICBpdGVtLmtleSxcbiAgICAgICAgaXRlbS52YWx1ZSxcbiAgICAgICAge3R0bDogaXRlbS50dGwgPyBpdGVtLnR0bCA6IGRlZmF1bHRUdGxTZWNvbmRzfVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXNwb25zZXMpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYmF0Y2hEZWxldGUoXG4gIGNhY2hlQ2xpZW50OiBJQ2FjaGVDbGllbnQsXG4gIGNhY2hlTmFtZTogc3RyaW5nLFxuICBrZXlzOiBBcnJheTxzdHJpbmcgfCBVaW50OEFycmF5PixcbiAgb3B0aW9ucz86IEJhdGNoRGVsZXRlT3B0aW9uc1xuKTogUHJvbWlzZTxCYXRjaERlbGV0ZVJlc3BvbnNlPiB7XG4gIGNvbnN0IG1heENvbmN1cnJlbnREZWxldGVzID0gb3B0aW9ucz8ubWF4Q29uY3VycmVudFJlcXVlc3RzXG4gICAgPyBvcHRpb25zLm1heENvbmN1cnJlbnRSZXF1ZXN0c1xuICAgIDogTWF0aC5taW4oZGVmYXVsdE1heENvbmN1cnJlbnRSZXF1ZXN0cywga2V5cy5sZW5ndGgpO1xuXG4gIGNvbnN0IGJhdGNoRGVsZXRlUmVzdWx0cyA9IHJhbmdlKG1heENvbmN1cnJlbnREZWxldGVzKS5tYXAoXG4gICAgKHdvcmtlcklkOiBudW1iZXIpID0+IGRlbGV0ZVdvcmtlcih3b3JrZXJJZCwgY2FjaGVDbGllbnQsIGNhY2hlTmFtZSwga2V5cylcbiAgKTtcbiAgY29uc3QgYXdhaXRBbGwgPSBhd2FpdCBQcm9taXNlLmFsbChiYXRjaERlbGV0ZVJlc3VsdHMpO1xuXG4gIGNvbnN0IGJhdGNoRGVsZXRlUmVzcG9uc2U6IEJhdGNoRGVsZXRlUmVzcG9uc2UgPSB7fTtcbiAgYXdhaXRBbGwuZm9yRWFjaChyZXNwb25zZXMgPT4ge1xuICAgIE9iamVjdC5hc3NpZ24oYmF0Y2hEZWxldGVSZXNwb25zZSwgcmVzcG9uc2VzKTtcbiAgfSk7XG4gIHJldHVybiBiYXRjaERlbGV0ZVJlc3BvbnNlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkZWxldGVXb3JrZXIoXG4gIHdvcmtlcklkOiBudW1iZXIsXG4gIGNhY2hlQ2xpZW50OiBJQ2FjaGVDbGllbnQsXG4gIGNhY2hlTmFtZTogc3RyaW5nLFxuICBrZXlzOiBBcnJheTxzdHJpbmcgfCBVaW50OEFycmF5PlxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBDYWNoZURlbGV0ZS5SZXNwb25zZT4+IHtcbiAgY29uc3QgcmVzcG9uc2VzOiBSZWNvcmQ8c3RyaW5nLCBDYWNoZURlbGV0ZS5SZXNwb25zZT4gPSB7fTtcbiAgd2hpbGUgKGtleXMubGVuZ3RoKSB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBrZXlzLnBvcCgpO1xuICAgIGlmIChjYWNoZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXNwb25zZXNbU3RyaW5nKGNhY2hlS2V5KV0gPSBhd2FpdCBjYWNoZUNsaWVudC5kZWxldGUoXG4gICAgICAgIGNhY2hlTmFtZSxcbiAgICAgICAgY2FjaGVLZXlcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzcG9uc2VzKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CacheGet, CacheSet, CacheDelete } from '@gomomento/sdk-core';
|
|
2
|
+
export declare const defaultMaxConcurrentRequests = 5;
|
|
3
|
+
export declare const defaultTtlSeconds = 60;
|
|
4
|
+
export interface BatchFunctionOptions {
|
|
5
|
+
maxConcurrentRequests?: number;
|
|
6
|
+
}
|
|
7
|
+
export type BatchGetOptions = BatchFunctionOptions;
|
|
8
|
+
export type BatchGetResponse = Record<string, CacheGet.Response>;
|
|
9
|
+
export type BatchSetOptions = BatchFunctionOptions;
|
|
10
|
+
export interface BatchSetItem {
|
|
11
|
+
key: string | Uint8Array;
|
|
12
|
+
value: string | Uint8Array;
|
|
13
|
+
ttl?: number;
|
|
14
|
+
}
|
|
15
|
+
export type BatchSetResponse = Record<string, CacheSet.Response>;
|
|
16
|
+
export type BatchDeleteOptions = BatchFunctionOptions;
|
|
17
|
+
export type BatchDeleteResponse = Record<string, CacheDelete.Response>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultTtlSeconds = exports.defaultMaxConcurrentRequests = void 0;
|
|
4
|
+
exports.defaultMaxConcurrentRequests = 5;
|
|
5
|
+
exports.defaultTtlSeconds = 60;
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2gtcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmF0Y2h1dGlscy9iYXRjaC1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLDRCQUE0QixHQUFHLENBQUMsQ0FBQztBQUNqQyxRQUFBLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FjaGVHZXQsIENhY2hlU2V0LCBDYWNoZURlbGV0ZX0gZnJvbSAnQGdvbW9tZW50by9zZGstY29yZSc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TWF4Q29uY3VycmVudFJlcXVlc3RzID0gNTtcbmV4cG9ydCBjb25zdCBkZWZhdWx0VHRsU2Vjb25kcyA9IDYwO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoRnVuY3Rpb25PcHRpb25zIHtcbiAgbWF4Q29uY3VycmVudFJlcXVlc3RzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCYXRjaEdldE9wdGlvbnMgPSBCYXRjaEZ1bmN0aW9uT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgQmF0Y2hHZXRSZXNwb25zZSA9IFJlY29yZDxzdHJpbmcsIENhY2hlR2V0LlJlc3BvbnNlPjtcblxuZXhwb3J0IHR5cGUgQmF0Y2hTZXRPcHRpb25zID0gQmF0Y2hGdW5jdGlvbk9wdGlvbnM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hTZXRJdGVtIHtcbiAga2V5OiBzdHJpbmcgfCBVaW50OEFycmF5O1xuICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgdHRsPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBCYXRjaFNldFJlc3BvbnNlID0gUmVjb3JkPHN0cmluZywgQ2FjaGVTZXQuUmVzcG9uc2U+O1xuXG5leHBvcnQgdHlwZSBCYXRjaERlbGV0ZU9wdGlvbnMgPSBCYXRjaEZ1bmN0aW9uT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgQmF0Y2hEZWxldGVSZXNwb25zZSA9IFJlY29yZDxzdHJpbmcsIENhY2hlRGVsZXRlLlJlc3BvbnNlPjtcbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CredentialProvider } from '.';
|
|
2
|
+
import { Configuration } from './config/configuration';
|
|
3
|
+
export interface CacheClientProps {
|
|
4
|
+
/**
|
|
5
|
+
* Configuration settings for the cache client
|
|
6
|
+
*/
|
|
7
|
+
configuration?: Configuration;
|
|
8
|
+
/**
|
|
9
|
+
* controls how the client will get authentication information for connecting to the Momento service
|
|
10
|
+
*/
|
|
11
|
+
credentialProvider?: CredentialProvider;
|
|
12
|
+
/**
|
|
13
|
+
* the default time to live of object inside of cache, in seconds
|
|
14
|
+
*/
|
|
15
|
+
defaultTtlSeconds: number;
|
|
16
|
+
}
|
|
17
|
+
export interface EagerCacheClientProps extends CacheClientProps {
|
|
18
|
+
/**
|
|
19
|
+
* The time in seconds to wait for a client to establish a connection to Momento.
|
|
20
|
+
*
|
|
21
|
+
* The behavior to establish an eager connection is enabled by default. If this value is set, the client will eagerly
|
|
22
|
+
* create its connection to Momento at construction. It will wait until the connection is established, or until the
|
|
23
|
+
* timeout runs out. It the timeout runs out, the client will be valid to use, but it may still be connecting in the background.
|
|
24
|
+
*
|
|
25
|
+
* Override this value to 0 if you want to disable eager connections.
|
|
26
|
+
*/
|
|
27
|
+
eagerConnectTimeout?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated use {CacheClientProps} instead
|
|
31
|
+
*/
|
|
32
|
+
export type SimpleCacheClientProps = CacheClientProps;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtY2xpZW50LXByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhY2hlLWNsaWVudC1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDcmVkZW50aWFsUHJvdmlkZXJ9IGZyb20gJy4nO1xuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9jb25maWd1cmF0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZUNsaWVudFByb3BzIHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIHRoZSBjYWNoZSBjbGllbnRcbiAgICovXG4gIGNvbmZpZ3VyYXRpb24/OiBDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogY29udHJvbHMgaG93IHRoZSBjbGllbnQgd2lsbCBnZXQgYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24gZm9yIGNvbm5lY3RpbmcgdG8gdGhlIE1vbWVudG8gc2VydmljZVxuICAgKi9cbiAgY3JlZGVudGlhbFByb3ZpZGVyPzogQ3JlZGVudGlhbFByb3ZpZGVyO1xuICAvKipcbiAgICogdGhlIGRlZmF1bHQgdGltZSB0byBsaXZlIG9mIG9iamVjdCBpbnNpZGUgb2YgY2FjaGUsIGluIHNlY29uZHNcbiAgICovXG4gIGRlZmF1bHRUdGxTZWNvbmRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWFnZXJDYWNoZUNsaWVudFByb3BzIGV4dGVuZHMgQ2FjaGVDbGllbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZSBpbiBzZWNvbmRzIHRvIHdhaXQgZm9yIGEgY2xpZW50IHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24gdG8gTW9tZW50by5cbiAgICpcbiAgICogVGhlIGJlaGF2aW9yIHRvIGVzdGFibGlzaCBhbiBlYWdlciBjb25uZWN0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gSWYgdGhpcyB2YWx1ZSBpcyBzZXQsIHRoZSBjbGllbnQgd2lsbCBlYWdlcmx5XG4gICAqIGNyZWF0ZSBpdHMgY29ubmVjdGlvbiB0byBNb21lbnRvIGF0IGNvbnN0cnVjdGlvbi4gSXQgd2lsbCB3YWl0IHVudGlsIHRoZSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLCBvciB1bnRpbCB0aGVcbiAgICogdGltZW91dCBydW5zIG91dC4gSXQgdGhlIHRpbWVvdXQgcnVucyBvdXQsIHRoZSBjbGllbnQgd2lsbCBiZSB2YWxpZCB0byB1c2UsIGJ1dCBpdCBtYXkgc3RpbGwgYmUgY29ubmVjdGluZyBpbiB0aGUgYmFja2dyb3VuZC5cbiAgICpcbiAgICogT3ZlcnJpZGUgdGhpcyB2YWx1ZSB0byAwIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgZWFnZXIgY29ubmVjdGlvbnMuXG4gICAqL1xuICBlYWdlckNvbm5lY3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7Q2FjaGVDbGllbnRQcm9wc30gaW5zdGVhZFxuICovXG5leHBvcnQgdHlwZSBTaW1wbGVDYWNoZUNsaWVudFByb3BzID0gQ2FjaGVDbGllbnRQcm9wcztcbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { CacheFlush, Configuration } from '.';
|
|
2
|
+
import { CacheClientProps, EagerCacheClientProps } from './cache-client-props';
|
|
3
|
+
import { ICacheClient } from '@gomomento/sdk-core/dist/src/clients/ICacheClient';
|
|
4
|
+
import { AbstractCacheClient } from '@gomomento/sdk-core/dist/src/internal/clients/cache/AbstractCacheClient';
|
|
5
|
+
import { ControlCallOptions } from '@gomomento/sdk-core/dist/src/internal/clients';
|
|
6
|
+
/**
|
|
7
|
+
* Momento Cache Client.
|
|
8
|
+
*
|
|
9
|
+
* Features include:
|
|
10
|
+
* - Get, set, and delete data
|
|
11
|
+
* - Create, delete, and list caches
|
|
12
|
+
* - Create, revoke, and list signing keys
|
|
13
|
+
*/
|
|
14
|
+
export declare class CacheClient extends AbstractCacheClient implements ICacheClient {
|
|
15
|
+
private readonly logger;
|
|
16
|
+
private readonly notYetAbstractedControlClient;
|
|
17
|
+
private readonly _configuration;
|
|
18
|
+
private dataRequestConcurrencySemaphore;
|
|
19
|
+
/**
|
|
20
|
+
* Creates an instance of CacheClient.
|
|
21
|
+
* @param {CacheClientProps} props configuration and credentials for creating a CacheClient.
|
|
22
|
+
*/
|
|
23
|
+
constructor(props: CacheClientProps);
|
|
24
|
+
close(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new instance of CacheClient. If eagerConnectTimeout is present in the given props, the client will
|
|
27
|
+
* eagerly create its connection to Momento. It will wait until the connection is established, or until the timout
|
|
28
|
+
* runs out. It the timeout runs out, the client will be valid to use, but it may still be connecting in the background.
|
|
29
|
+
* @param {EagerCacheClientProps} props configuration and credentials for creating a CacheClient.
|
|
30
|
+
*/
|
|
31
|
+
static create(props: EagerCacheClientProps): Promise<CacheClient>;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the configuration used to create the CacheClient.
|
|
34
|
+
*
|
|
35
|
+
* @readonly
|
|
36
|
+
* @type {Configuration} - The configuration used to create the CacheClient.
|
|
37
|
+
* @memberof CacheClient
|
|
38
|
+
*/
|
|
39
|
+
get configuration(): Configuration;
|
|
40
|
+
/**
|
|
41
|
+
* Flushes / clears all the items of the given cache
|
|
42
|
+
*
|
|
43
|
+
* @param {string} cacheName - The cache to be flushed.
|
|
44
|
+
* @returns {Promise<CacheFlush.Response>} -
|
|
45
|
+
* {@link CacheFlush.Success} on success.
|
|
46
|
+
* {@link CacheFlush.Error} on failure.
|
|
47
|
+
*/
|
|
48
|
+
flushCache(cacheName: string, options?: ControlCallOptions): Promise<CacheFlush.Response>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated use {CacheClient} instead
|
|
52
|
+
*/
|
|
53
|
+
export declare class SimpleCacheClient extends CacheClient {
|
|
54
|
+
}
|