@rayselfs/cf-rule-engine 1.6.0 → 1.6.2

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 (46) hide show
  1. package/README.md +10 -8
  2. package/dist/adapters/cf-function.cjs +7 -3
  3. package/dist/adapters/cf-function.d.cts +2 -1
  4. package/dist/adapters/cf-function.d.ts +2 -1
  5. package/dist/adapters/cf-function.js +7 -3
  6. package/dist/adapters/viewer-request.cjs +9 -0
  7. package/dist/adapters/viewer-request.d.cts +31 -0
  8. package/dist/adapters/viewer-request.d.ts +31 -0
  9. package/dist/adapters/viewer-request.js +9 -0
  10. package/dist/adapters/viewer-response.cjs +8 -0
  11. package/dist/adapters/viewer-response.d.cts +37 -0
  12. package/dist/adapters/viewer-response.d.ts +37 -0
  13. package/dist/adapters/viewer-response.js +8 -0
  14. package/dist/behaviors/index.cjs +9 -9
  15. package/dist/behaviors/index.js +9 -9
  16. package/dist/cf-function-BkfWpTfl.d.cts +10 -0
  17. package/dist/cf-function-CZwCWch-.d.ts +10 -0
  18. package/dist/chunk-5ZIB3AJ7.cjs +20 -0
  19. package/dist/chunk-6NFAPLQ7.cjs +39 -0
  20. package/dist/chunk-BJZPAQHW.js +25 -0
  21. package/dist/chunk-CQ7YZ3AR.js +39 -0
  22. package/dist/chunk-N6QAQALU.cjs +36 -0
  23. package/dist/chunk-PR5UQJCC.js +20 -0
  24. package/dist/{chunk-UKB5JAX4.js → chunk-RL7ZETZR.js} +8 -8
  25. package/dist/chunk-SGN2N3WI.cjs +25 -0
  26. package/dist/{chunk-WW7YVRAI.cjs → chunk-T5EXFHVA.cjs} +7 -7
  27. package/dist/chunk-TURH5IFN.js +36 -0
  28. package/dist/criteria/index.cjs +13 -13
  29. package/dist/criteria/index.js +15 -15
  30. package/dist/helpers/index.cjs +8 -8
  31. package/dist/helpers/index.d.cts +1 -1
  32. package/dist/helpers/index.d.ts +1 -1
  33. package/dist/helpers/index.js +9 -9
  34. package/dist/helpers/{staging-whitelist.cjs → whitelist.cjs} +4 -4
  35. package/dist/helpers/{staging-whitelist.d.cts → whitelist.d.cts} +11 -11
  36. package/dist/helpers/{staging-whitelist.d.ts → whitelist.d.ts} +11 -11
  37. package/dist/helpers/{staging-whitelist.js → whitelist.js} +5 -5
  38. package/dist/index.cjs +5 -2
  39. package/dist/index.d.cts +3 -1
  40. package/dist/index.d.ts +3 -1
  41. package/dist/index.js +4 -1
  42. package/package.json +1 -1
  43. package/dist/cf-function-C9eF2O9s.d.ts +0 -70
  44. package/dist/cf-function-DIQHy8L7.d.cts +0 -70
  45. package/dist/chunk-NPMGSPNL.js +0 -88
  46. package/dist/chunk-SAXDN5NS.cjs +0 -88
@@ -1,88 +0,0 @@
1
- import {
2
- runRules
3
- } from "./chunk-Q4NP4C3B.js";
4
- import {
5
- __export
6
- } from "./chunk-MLKGABMK.js";
7
-
8
- // src/adapters/cf-function.ts
9
- var cf_function_exports = {};
10
- __export(cf_function_exports, {
11
- defineViewerRequest: () => defineViewerRequest,
12
- defineViewerResponse: () => defineViewerResponse
13
- });
14
- function normalizeRequest(event) {
15
- const ev = event;
16
- const req = ev.request;
17
- const viewer = ev.viewer;
18
- const headers = req.headers ?? {};
19
- return {
20
- uri: req.uri,
21
- method: req.method,
22
- protocol: "https",
23
- querystring: req.querystring ?? {},
24
- headers,
25
- clientIp: viewer?.ip ?? "",
26
- country: headers["cloudfront-viewer-country"]?.value
27
- };
28
- }
29
- function denormalizeRequest(req, cookies) {
30
- return {
31
- method: req.method,
32
- uri: req.uri,
33
- querystring: req.querystring,
34
- headers: req.headers,
35
- cookies
36
- };
37
- }
38
- function denormalizeResponse(res) {
39
- return {
40
- statusCode: res.statusCode,
41
- statusDescription: res.statusDescription,
42
- headers: res.headers,
43
- body: res.body ?? ""
44
- };
45
- }
46
- function defineViewerRequest(rules) {
47
- return (event) => {
48
- const ev = event;
49
- const evReq = ev.request;
50
- const originalCookies = evReq.cookies ?? {};
51
- const req = normalizeRequest(event);
52
- const result = runRules(rules, req);
53
- if (result.action === "respond") return denormalizeResponse(result.response);
54
- return denormalizeRequest(result.request, originalCookies);
55
- };
56
- }
57
- function defineViewerResponse(responseBehaviors) {
58
- return (event) => {
59
- const ev = event;
60
- const evRes = ev.response;
61
- const req = normalizeRequest(event);
62
- let response = {
63
- statusCode: evRes?.statusCode ?? 200,
64
- statusDescription: evRes?.statusDescription,
65
- headers: evRes?.headers ?? {},
66
- body: evRes?.body
67
- };
68
- for (let i = 0; i < responseBehaviors.length; i++) {
69
- const entry = responseBehaviors[i];
70
- if (typeof entry === "function") {
71
- response = entry(req, response);
72
- } else if (!entry.criteria || entry.criteria(req)) {
73
- response = entry.behavior(req, response);
74
- }
75
- }
76
- const normalized = denormalizeResponse(response);
77
- if (!response.body) {
78
- delete normalized.body;
79
- }
80
- return Object.assign({}, evRes, normalized);
81
- };
82
- }
83
-
84
- export {
85
- defineViewerRequest,
86
- defineViewerResponse,
87
- cf_function_exports
88
- };
@@ -1,88 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
- var _chunkWKYMSRCDcjs = require('./chunk-WKYMSRCD.cjs');
4
-
5
-
6
- var _chunk75ZPJI57cjs = require('./chunk-75ZPJI57.cjs');
7
-
8
- // src/adapters/cf-function.ts
9
- var cf_function_exports = {};
10
- _chunk75ZPJI57cjs.__export.call(void 0, cf_function_exports, {
11
- defineViewerRequest: () => defineViewerRequest,
12
- defineViewerResponse: () => defineViewerResponse
13
- });
14
- function normalizeRequest(event) {
15
- const ev = event;
16
- const req = ev.request;
17
- const viewer = ev.viewer;
18
- const headers = _nullishCoalesce(req.headers, () => ( {}));
19
- return {
20
- uri: req.uri,
21
- method: req.method,
22
- protocol: "https",
23
- querystring: _nullishCoalesce(req.querystring, () => ( {})),
24
- headers,
25
- clientIp: _nullishCoalesce(_optionalChain([viewer, 'optionalAccess', _ => _.ip]), () => ( "")),
26
- country: _optionalChain([headers, 'access', _2 => _2["cloudfront-viewer-country"], 'optionalAccess', _3 => _3.value])
27
- };
28
- }
29
- function denormalizeRequest(req, cookies) {
30
- return {
31
- method: req.method,
32
- uri: req.uri,
33
- querystring: req.querystring,
34
- headers: req.headers,
35
- cookies
36
- };
37
- }
38
- function denormalizeResponse(res) {
39
- return {
40
- statusCode: res.statusCode,
41
- statusDescription: res.statusDescription,
42
- headers: res.headers,
43
- body: _nullishCoalesce(res.body, () => ( ""))
44
- };
45
- }
46
- function defineViewerRequest(rules) {
47
- return (event) => {
48
- const ev = event;
49
- const evReq = ev.request;
50
- const originalCookies = _nullishCoalesce(evReq.cookies, () => ( {}));
51
- const req = normalizeRequest(event);
52
- const result = _chunkWKYMSRCDcjs.runRules.call(void 0, rules, req);
53
- if (result.action === "respond") return denormalizeResponse(result.response);
54
- return denormalizeRequest(result.request, originalCookies);
55
- };
56
- }
57
- function defineViewerResponse(responseBehaviors) {
58
- return (event) => {
59
- const ev = event;
60
- const evRes = ev.response;
61
- const req = normalizeRequest(event);
62
- let response = {
63
- statusCode: _nullishCoalesce(_optionalChain([evRes, 'optionalAccess', _4 => _4.statusCode]), () => ( 200)),
64
- statusDescription: _optionalChain([evRes, 'optionalAccess', _5 => _5.statusDescription]),
65
- headers: _nullishCoalesce(_optionalChain([evRes, 'optionalAccess', _6 => _6.headers]), () => ( {})),
66
- body: _optionalChain([evRes, 'optionalAccess', _7 => _7.body])
67
- };
68
- for (let i = 0; i < responseBehaviors.length; i++) {
69
- const entry = responseBehaviors[i];
70
- if (typeof entry === "function") {
71
- response = entry(req, response);
72
- } else if (!entry.criteria || entry.criteria(req)) {
73
- response = entry.behavior(req, response);
74
- }
75
- }
76
- const normalized = denormalizeResponse(response);
77
- if (!response.body) {
78
- delete normalized.body;
79
- }
80
- return Object.assign({}, evRes, normalized);
81
- };
82
- }
83
-
84
-
85
-
86
-
87
-
88
- exports.defineViewerRequest = defineViewerRequest; exports.defineViewerResponse = defineViewerResponse; exports.cf_function_exports = cf_function_exports;