@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.
Files changed (133) hide show
  1. package/dist/cjs/circuit-breaker/CircuitBreaker.js +84 -0
  2. package/dist/cjs/circuit-breaker/CircuitBreaker.js.map +1 -0
  3. package/dist/cjs/circuit-breaker/index.js +6 -0
  4. package/dist/cjs/circuit-breaker/index.js.map +1 -0
  5. package/dist/cjs/core/PushCore.js +307 -0
  6. package/dist/cjs/core/PushCore.js.map +1 -0
  7. package/dist/cjs/core/index.js +6 -0
  8. package/dist/cjs/core/index.js.map +1 -0
  9. package/dist/cjs/index.js +26 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/rate-limiter/TokenBucketRateLimiter.js +43 -0
  12. package/dist/cjs/rate-limiter/TokenBucketRateLimiter.js.map +1 -0
  13. package/dist/cjs/rate-limiter/index.js +6 -0
  14. package/dist/cjs/rate-limiter/index.js.map +1 -0
  15. package/dist/cjs/retry/calculateNextRetry.js +22 -0
  16. package/dist/cjs/retry/calculateNextRetry.js.map +1 -0
  17. package/dist/cjs/retry/index.js +8 -0
  18. package/dist/cjs/retry/index.js.map +1 -0
  19. package/dist/cjs/retry/shouldRetry.js +19 -0
  20. package/dist/cjs/retry/shouldRetry.js.map +1 -0
  21. package/dist/cjs/types/adapters.js +3 -0
  22. package/dist/cjs/types/adapters.js.map +1 -0
  23. package/dist/cjs/types/configuration.js +26 -0
  24. package/dist/cjs/types/configuration.js.map +1 -0
  25. package/dist/cjs/types/errors.js +55 -0
  26. package/dist/cjs/types/errors.js.map +1 -0
  27. package/dist/cjs/types/index.js +23 -0
  28. package/dist/cjs/types/index.js.map +1 -0
  29. package/dist/cjs/types/notification.js +3 -0
  30. package/dist/cjs/types/notification.js.map +1 -0
  31. package/dist/cjs/types/results.js +3 -0
  32. package/dist/cjs/types/results.js.map +1 -0
  33. package/dist/cjs/types/subscription.js +3 -0
  34. package/dist/cjs/types/subscription.js.map +1 -0
  35. package/dist/cjs/vapid/generateVapidKeys.js +67 -0
  36. package/dist/cjs/vapid/generateVapidKeys.js.map +1 -0
  37. package/dist/cjs/vapid/index.js +19 -0
  38. package/dist/cjs/vapid/index.js.map +1 -0
  39. package/dist/cjs/vapid/validateVapidKeys.js +44 -0
  40. package/dist/cjs/vapid/validateVapidKeys.js.map +1 -0
  41. package/dist/cjs/worker/RetryWorker.js +151 -0
  42. package/dist/cjs/worker/RetryWorker.js.map +1 -0
  43. package/dist/cjs/worker/index.js +18 -0
  44. package/dist/cjs/worker/index.js.map +1 -0
  45. package/dist/esm/circuit-breaker/CircuitBreaker.js +80 -0
  46. package/dist/esm/circuit-breaker/CircuitBreaker.js.map +1 -0
  47. package/dist/esm/circuit-breaker/index.js +2 -0
  48. package/dist/esm/circuit-breaker/index.js.map +1 -0
  49. package/dist/esm/core/PushCore.js +303 -0
  50. package/dist/esm/core/PushCore.js.map +1 -0
  51. package/dist/esm/core/index.js +2 -0
  52. package/dist/esm/core/index.js.map +1 -0
  53. package/dist/esm/index.js +9 -0
  54. package/dist/esm/index.js.map +1 -0
  55. package/dist/esm/rate-limiter/TokenBucketRateLimiter.js +39 -0
  56. package/dist/esm/rate-limiter/TokenBucketRateLimiter.js.map +1 -0
  57. package/dist/esm/rate-limiter/index.js +2 -0
  58. package/dist/esm/rate-limiter/index.js.map +1 -0
  59. package/dist/esm/retry/calculateNextRetry.js +19 -0
  60. package/dist/esm/retry/calculateNextRetry.js.map +1 -0
  61. package/dist/esm/retry/index.js +3 -0
  62. package/dist/esm/retry/index.js.map +1 -0
  63. package/dist/esm/retry/shouldRetry.js +16 -0
  64. package/dist/esm/retry/shouldRetry.js.map +1 -0
  65. package/dist/esm/types/adapters.js +2 -0
  66. package/dist/esm/types/adapters.js.map +1 -0
  67. package/dist/esm/types/configuration.js +23 -0
  68. package/dist/esm/types/configuration.js.map +1 -0
  69. package/dist/esm/types/errors.js +45 -0
  70. package/dist/esm/types/errors.js.map +1 -0
  71. package/dist/esm/types/index.js +7 -0
  72. package/dist/esm/types/index.js.map +1 -0
  73. package/dist/esm/types/notification.js +2 -0
  74. package/dist/esm/types/notification.js.map +1 -0
  75. package/dist/esm/types/results.js +2 -0
  76. package/dist/esm/types/results.js.map +1 -0
  77. package/dist/esm/types/subscription.js +2 -0
  78. package/dist/esm/types/subscription.js.map +1 -0
  79. package/dist/esm/vapid/generateVapidKeys.js +31 -0
  80. package/dist/esm/vapid/generateVapidKeys.js.map +1 -0
  81. package/dist/esm/vapid/index.js +3 -0
  82. package/dist/esm/vapid/index.js.map +1 -0
  83. package/dist/esm/vapid/validateVapidKeys.js +41 -0
  84. package/dist/esm/vapid/validateVapidKeys.js.map +1 -0
  85. package/dist/esm/worker/RetryWorker.js +147 -0
  86. package/dist/esm/worker/RetryWorker.js.map +1 -0
  87. package/dist/esm/worker/index.js +2 -0
  88. package/dist/esm/worker/index.js.map +1 -0
  89. package/dist/types/circuit-breaker/CircuitBreaker.d.ts +18 -0
  90. package/dist/types/circuit-breaker/CircuitBreaker.d.ts.map +1 -0
  91. package/dist/types/circuit-breaker/index.d.ts +2 -0
  92. package/dist/types/circuit-breaker/index.d.ts.map +1 -0
  93. package/dist/types/core/PushCore.d.ts +23 -0
  94. package/dist/types/core/PushCore.d.ts.map +1 -0
  95. package/dist/types/core/index.d.ts +2 -0
  96. package/dist/types/core/index.d.ts.map +1 -0
  97. package/dist/types/index.d.ts +9 -0
  98. package/dist/types/index.d.ts.map +1 -0
  99. package/dist/types/rate-limiter/TokenBucketRateLimiter.d.ts +14 -0
  100. package/dist/types/rate-limiter/TokenBucketRateLimiter.d.ts.map +1 -0
  101. package/dist/types/rate-limiter/index.d.ts +2 -0
  102. package/dist/types/rate-limiter/index.d.ts.map +1 -0
  103. package/dist/types/retry/calculateNextRetry.d.ts +3 -0
  104. package/dist/types/retry/calculateNextRetry.d.ts.map +1 -0
  105. package/dist/types/retry/index.d.ts +3 -0
  106. package/dist/types/retry/index.d.ts.map +1 -0
  107. package/dist/types/retry/shouldRetry.d.ts +3 -0
  108. package/dist/types/retry/shouldRetry.d.ts.map +1 -0
  109. package/dist/types/types/adapters.d.ts +32 -0
  110. package/dist/types/types/adapters.d.ts.map +1 -0
  111. package/dist/types/types/configuration.d.ts +53 -0
  112. package/dist/types/types/configuration.d.ts.map +1 -0
  113. package/dist/types/types/errors.d.ts +27 -0
  114. package/dist/types/types/errors.d.ts.map +1 -0
  115. package/dist/types/types/index.d.ts +7 -0
  116. package/dist/types/types/index.d.ts.map +1 -0
  117. package/dist/types/types/notification.d.ts +21 -0
  118. package/dist/types/types/notification.d.ts.map +1 -0
  119. package/dist/types/types/results.d.ts +36 -0
  120. package/dist/types/types/results.d.ts.map +1 -0
  121. package/dist/types/types/subscription.d.ts +31 -0
  122. package/dist/types/types/subscription.d.ts.map +1 -0
  123. package/dist/types/vapid/generateVapidKeys.d.ts +3 -0
  124. package/dist/types/vapid/generateVapidKeys.d.ts.map +1 -0
  125. package/dist/types/vapid/index.d.ts +3 -0
  126. package/dist/types/vapid/index.d.ts.map +1 -0
  127. package/dist/types/vapid/validateVapidKeys.d.ts +3 -0
  128. package/dist/types/vapid/validateVapidKeys.d.ts.map +1 -0
  129. package/dist/types/worker/RetryWorker.d.ts +25 -0
  130. package/dist/types/worker/RetryWorker.d.ts.map +1 -0
  131. package/dist/types/worker/index.d.ts +2 -0
  132. package/dist/types/worker/index.d.ts.map +1 -0
  133. 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,2 @@
1
+ export * from './RetryWorker';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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
+ }