@allmightypush/push-core 1.0.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/dist/cjs/circuit-breaker/CircuitBreaker.js +84 -0
- package/dist/cjs/circuit-breaker/CircuitBreaker.js.map +1 -0
- package/dist/cjs/circuit-breaker/index.js +6 -0
- package/dist/cjs/circuit-breaker/index.js.map +1 -0
- package/dist/cjs/core/PushCore.js +307 -0
- package/dist/cjs/core/PushCore.js.map +1 -0
- package/dist/cjs/core/index.js +6 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/index.js +26 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/rate-limiter/TokenBucketRateLimiter.js +43 -0
- package/dist/cjs/rate-limiter/TokenBucketRateLimiter.js.map +1 -0
- package/dist/cjs/rate-limiter/index.js +6 -0
- package/dist/cjs/rate-limiter/index.js.map +1 -0
- package/dist/cjs/retry/calculateNextRetry.js +22 -0
- package/dist/cjs/retry/calculateNextRetry.js.map +1 -0
- package/dist/cjs/retry/index.js +8 -0
- package/dist/cjs/retry/index.js.map +1 -0
- package/dist/cjs/retry/shouldRetry.js +19 -0
- package/dist/cjs/retry/shouldRetry.js.map +1 -0
- package/dist/cjs/types/adapters.js +3 -0
- package/dist/cjs/types/adapters.js.map +1 -0
- package/dist/cjs/types/configuration.js +26 -0
- package/dist/cjs/types/configuration.js.map +1 -0
- package/dist/cjs/types/errors.js +55 -0
- package/dist/cjs/types/errors.js.map +1 -0
- package/dist/cjs/types/index.js +23 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/notification.js +3 -0
- package/dist/cjs/types/notification.js.map +1 -0
- package/dist/cjs/types/results.js +3 -0
- package/dist/cjs/types/results.js.map +1 -0
- package/dist/cjs/types/subscription.js +3 -0
- package/dist/cjs/types/subscription.js.map +1 -0
- package/dist/cjs/vapid/generateVapidKeys.js +67 -0
- package/dist/cjs/vapid/generateVapidKeys.js.map +1 -0
- package/dist/cjs/vapid/index.js +19 -0
- package/dist/cjs/vapid/index.js.map +1 -0
- package/dist/cjs/vapid/validateVapidKeys.js +44 -0
- package/dist/cjs/vapid/validateVapidKeys.js.map +1 -0
- package/dist/cjs/worker/RetryWorker.js +151 -0
- package/dist/cjs/worker/RetryWorker.js.map +1 -0
- package/dist/cjs/worker/index.js +18 -0
- package/dist/cjs/worker/index.js.map +1 -0
- package/dist/esm/circuit-breaker/CircuitBreaker.js +80 -0
- package/dist/esm/circuit-breaker/CircuitBreaker.js.map +1 -0
- package/dist/esm/circuit-breaker/index.js +2 -0
- package/dist/esm/circuit-breaker/index.js.map +1 -0
- package/dist/esm/core/PushCore.js +303 -0
- package/dist/esm/core/PushCore.js.map +1 -0
- package/dist/esm/core/index.js +2 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/rate-limiter/TokenBucketRateLimiter.js +39 -0
- package/dist/esm/rate-limiter/TokenBucketRateLimiter.js.map +1 -0
- package/dist/esm/rate-limiter/index.js +2 -0
- package/dist/esm/rate-limiter/index.js.map +1 -0
- package/dist/esm/retry/calculateNextRetry.js +19 -0
- package/dist/esm/retry/calculateNextRetry.js.map +1 -0
- package/dist/esm/retry/index.js +3 -0
- package/dist/esm/retry/index.js.map +1 -0
- package/dist/esm/retry/shouldRetry.js +16 -0
- package/dist/esm/retry/shouldRetry.js.map +1 -0
- package/dist/esm/types/adapters.js +2 -0
- package/dist/esm/types/adapters.js.map +1 -0
- package/dist/esm/types/configuration.js +23 -0
- package/dist/esm/types/configuration.js.map +1 -0
- package/dist/esm/types/errors.js +45 -0
- package/dist/esm/types/errors.js.map +1 -0
- package/dist/esm/types/index.js +7 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/notification.js +2 -0
- package/dist/esm/types/notification.js.map +1 -0
- package/dist/esm/types/results.js +2 -0
- package/dist/esm/types/results.js.map +1 -0
- package/dist/esm/types/subscription.js +2 -0
- package/dist/esm/types/subscription.js.map +1 -0
- package/dist/esm/vapid/generateVapidKeys.js +31 -0
- package/dist/esm/vapid/generateVapidKeys.js.map +1 -0
- package/dist/esm/vapid/index.js +3 -0
- package/dist/esm/vapid/index.js.map +1 -0
- package/dist/esm/vapid/validateVapidKeys.js +41 -0
- package/dist/esm/vapid/validateVapidKeys.js.map +1 -0
- package/dist/esm/worker/RetryWorker.js +147 -0
- package/dist/esm/worker/RetryWorker.js.map +1 -0
- package/dist/esm/worker/index.js +2 -0
- package/dist/esm/worker/index.js.map +1 -0
- package/dist/types/circuit-breaker/CircuitBreaker.d.ts +18 -0
- package/dist/types/circuit-breaker/CircuitBreaker.d.ts.map +1 -0
- package/dist/types/circuit-breaker/index.d.ts +2 -0
- package/dist/types/circuit-breaker/index.d.ts.map +1 -0
- package/dist/types/core/PushCore.d.ts +23 -0
- package/dist/types/core/PushCore.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +2 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/rate-limiter/TokenBucketRateLimiter.d.ts +14 -0
- package/dist/types/rate-limiter/TokenBucketRateLimiter.d.ts.map +1 -0
- package/dist/types/rate-limiter/index.d.ts +2 -0
- package/dist/types/rate-limiter/index.d.ts.map +1 -0
- package/dist/types/retry/calculateNextRetry.d.ts +3 -0
- package/dist/types/retry/calculateNextRetry.d.ts.map +1 -0
- package/dist/types/retry/index.d.ts +3 -0
- package/dist/types/retry/index.d.ts.map +1 -0
- package/dist/types/retry/shouldRetry.d.ts +3 -0
- package/dist/types/retry/shouldRetry.d.ts.map +1 -0
- package/dist/types/types/adapters.d.ts +32 -0
- package/dist/types/types/adapters.d.ts.map +1 -0
- package/dist/types/types/configuration.d.ts +53 -0
- package/dist/types/types/configuration.d.ts.map +1 -0
- package/dist/types/types/errors.d.ts +27 -0
- package/dist/types/types/errors.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +7 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/notification.d.ts +21 -0
- package/dist/types/types/notification.d.ts.map +1 -0
- package/dist/types/types/results.d.ts +36 -0
- package/dist/types/types/results.d.ts.map +1 -0
- package/dist/types/types/subscription.d.ts +31 -0
- package/dist/types/types/subscription.d.ts.map +1 -0
- package/dist/types/vapid/generateVapidKeys.d.ts +3 -0
- package/dist/types/vapid/generateVapidKeys.d.ts.map +1 -0
- package/dist/types/vapid/index.d.ts +3 -0
- package/dist/types/vapid/index.d.ts.map +1 -0
- package/dist/types/vapid/validateVapidKeys.d.ts +3 -0
- package/dist/types/vapid/validateVapidKeys.d.ts.map +1 -0
- package/dist/types/worker/RetryWorker.d.ts +25 -0
- package/dist/types/worker/RetryWorker.d.ts.map +1 -0
- package/dist/types/worker/index.d.ts +2 -0
- package/dist/types/worker/index.d.ts.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { StorageAdapter, ProviderAdapter, MetricsAdapter } from '../types/adapters';
|
|
2
|
+
import type { RetryPolicy, WorkerOptions } from '../types/configuration';
|
|
3
|
+
export interface Worker {
|
|
4
|
+
start(): Promise<void>;
|
|
5
|
+
stop(): Promise<void>;
|
|
6
|
+
isRunning(): boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class RetryWorker implements Worker {
|
|
9
|
+
private storage;
|
|
10
|
+
private provider;
|
|
11
|
+
private retryPolicy;
|
|
12
|
+
private metricsAdapter?;
|
|
13
|
+
private running;
|
|
14
|
+
private processing;
|
|
15
|
+
private options;
|
|
16
|
+
constructor(storage: StorageAdapter, provider: ProviderAdapter, retryPolicy: RetryPolicy, options?: WorkerOptions, metricsAdapter?: MetricsAdapter | undefined);
|
|
17
|
+
start(): Promise<void>;
|
|
18
|
+
stop(): Promise<void>;
|
|
19
|
+
isRunning(): boolean;
|
|
20
|
+
private processRetriesWithConcurrency;
|
|
21
|
+
private processRetry;
|
|
22
|
+
private sleep;
|
|
23
|
+
private emitMetric;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=RetryWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RetryWorker.d.ts","sourceRoot":"","sources":["../../../src/worker/RetryWorker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAQzE,MAAM,WAAW,MAAM;IAErB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,SAAS,IAAI,OAAO,CAAC;CACtB;AAmBD,qBAAa,WAAY,YAAW,MAAM;IAMtC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IAEnB,OAAO,CAAC,cAAc,CAAC;IATzB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,OAAO,CAA0B;gBAG/B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,WAAW,EAChC,OAAO,CAAC,EAAE,aAAa,EACf,cAAc,CAAC,EAAE,cAAc,YAAA;IAcnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,SAAS,IAAI,OAAO;YAON,6BAA6B;YAqB7B,YAAY;IAiF1B,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,UAAU;CAcnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/worker/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@allmightypush/push-core",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Core runtime and interfaces for push notification library",
|
|
5
|
+
"main": "dist/cjs/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"require": "./dist/cjs/index.js",
|
|
11
|
+
"import": "./dist/esm/index.js",
|
|
12
|
+
"types": "./dist/types/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "npm run build:cjs && npm run build:esm && npm run build:types",
|
|
20
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
21
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
22
|
+
"build:types": "tsc -p tsconfig.types.json",
|
|
23
|
+
"test": "jest --passWithNoTests",
|
|
24
|
+
"test:watch": "jest --watch",
|
|
25
|
+
"test:coverage": "jest --coverage --passWithNoTests",
|
|
26
|
+
"clean": "rm -rf dist"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"push",
|
|
30
|
+
"notification",
|
|
31
|
+
"webpush",
|
|
32
|
+
"vapid",
|
|
33
|
+
"typescript"
|
|
34
|
+
],
|
|
35
|
+
"author": "Samtes64",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/Samtes64/all-mighty-push.git",
|
|
40
|
+
"directory": "packages/push-core"
|
|
41
|
+
},
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/Samtes64/all-mighty-push/issues"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/Samtes64/all-mighty-push/tree/main/packages/push-core#readme",
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"uuid": "^9.0.1",
|
|
48
|
+
"web-push": "^3.6.7"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/uuid": "^9.0.7",
|
|
52
|
+
"@types/web-push": "^3.6.4"
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=16.0.0"
|
|
56
|
+
}
|
|
57
|
+
}
|