@dwp/govuk-casa 9.7.0 → 10.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/assets/css/casa.css +1 -1
- package/dist/assets/css/casa.css.map +1 -1
- package/dist/casa.d.ts +81 -41
- package/dist/casa.d.ts.map +1 -0
- package/dist/casa.js +72 -99
- package/dist/core-plugins/edit-snapshot/src/configure.d.ts +1 -0
- package/dist/core-plugins/edit-snapshot/src/configure.d.ts.map +1 -0
- package/dist/core-plugins/edit-snapshot/src/configure.js +7 -14
- package/dist/core-plugins/edit-snapshot/src/index.d.ts +1 -0
- package/dist/core-plugins/edit-snapshot/src/index.d.ts.map +1 -0
- package/dist/core-plugins/edit-snapshot/src/index.js +3 -9
- package/dist/core-plugins/edit-snapshot/src/post-steer-hook.d.ts +2 -1
- package/dist/core-plugins/edit-snapshot/src/post-steer-hook.d.ts.map +1 -0
- package/dist/core-plugins/edit-snapshot/src/post-steer-hook.js +8 -13
- package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.d.ts +2 -1
- package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.d.ts.map +1 -0
- package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.js +13 -18
- package/dist/core-plugins/edit-snapshot/src/utils.d.ts +8 -5
- package/dist/core-plugins/edit-snapshot/src/utils.d.ts.map +1 -0
- package/dist/core-plugins/edit-snapshot/src/utils.js +37 -19
- package/dist/core-plugins/index.d.ts +1 -0
- package/dist/core-plugins/index.d.ts.map +1 -0
- package/dist/core-plugins/index.js +1 -9
- package/dist/lib/CasaTemplateLoader.d.ts +1 -0
- package/dist/lib/CasaTemplateLoader.d.ts.map +1 -0
- package/dist/lib/CasaTemplateLoader.js +2 -6
- package/dist/lib/JourneyContext.d.ts +22 -11
- package/dist/lib/JourneyContext.d.ts.map +1 -0
- package/dist/lib/JourneyContext.js +40 -45
- package/dist/lib/MutableRouter.d.ts +74 -55
- package/dist/lib/MutableRouter.d.ts.map +1 -0
- package/dist/lib/MutableRouter.js +48 -45
- package/dist/lib/NullObject.d.ts +3 -0
- package/dist/lib/NullObject.d.ts.map +1 -0
- package/dist/lib/NullObject.js +3 -0
- package/dist/lib/Plan.d.ts +2 -1
- package/dist/lib/Plan.d.ts.map +1 -0
- package/dist/lib/Plan.js +44 -62
- package/dist/lib/ValidationError.d.ts +2 -1
- package/dist/lib/ValidationError.d.ts.map +1 -0
- package/dist/lib/ValidationError.js +3 -11
- package/dist/lib/ValidatorFactory.d.ts +5 -6
- package/dist/lib/ValidatorFactory.d.ts.map +1 -0
- package/dist/lib/ValidatorFactory.js +4 -12
- package/dist/lib/configuration-ingestor.d.ts +10 -22
- package/dist/lib/configuration-ingestor.d.ts.map +1 -0
- package/dist/lib/configuration-ingestor.js +61 -143
- package/dist/lib/configure.d.ts +2 -1
- package/dist/lib/configure.d.ts.map +1 -0
- package/dist/lib/configure.js +40 -52
- package/dist/lib/constants.d.ts +1 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +8 -12
- package/dist/lib/context-id-generators.d.ts +1 -0
- package/dist/lib/context-id-generators.d.ts.map +1 -0
- package/dist/lib/context-id-generators.js +4 -9
- package/dist/lib/end-session.d.ts +2 -1
- package/dist/lib/end-session.d.ts.map +1 -0
- package/dist/lib/end-session.js +4 -11
- package/dist/lib/field.d.ts +2 -1
- package/dist/lib/field.d.ts.map +1 -0
- package/dist/lib/field.js +11 -21
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +13 -65
- package/dist/lib/logger.d.ts +25 -2
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +18 -9
- package/dist/lib/mount.d.ts +1 -0
- package/dist/lib/mount.d.ts.map +1 -0
- package/dist/lib/mount.js +10 -16
- package/dist/lib/nunjucks-filters.d.ts +7 -3
- package/dist/lib/nunjucks-filters.d.ts.map +1 -0
- package/dist/lib/nunjucks-filters.js +58 -71
- package/dist/lib/nunjucks.d.ts +2 -2
- package/dist/lib/nunjucks.d.ts.map +1 -0
- package/dist/lib/nunjucks.js +12 -25
- package/dist/lib/utils.d.ts +4 -2
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +14 -28
- package/dist/lib/validators/dateObject.d.ts +1 -0
- package/dist/lib/validators/dateObject.d.ts.map +1 -0
- package/dist/lib/validators/dateObject.js +14 -21
- package/dist/lib/validators/email.d.ts +1 -0
- package/dist/lib/validators/email.d.ts.map +1 -0
- package/dist/lib/validators/email.js +8 -15
- package/dist/lib/validators/inArray.d.ts +1 -0
- package/dist/lib/validators/inArray.d.ts.map +1 -0
- package/dist/lib/validators/inArray.js +8 -15
- package/dist/lib/validators/index.d.ts +1 -0
- package/dist/lib/validators/index.d.ts.map +1 -0
- package/dist/lib/validators/index.js +21 -27
- package/dist/lib/validators/nino.d.ts +1 -0
- package/dist/lib/validators/nino.d.ts.map +1 -0
- package/dist/lib/validators/nino.js +6 -13
- package/dist/lib/validators/postalAddressObject.d.ts +1 -0
- package/dist/lib/validators/postalAddressObject.d.ts.map +1 -0
- package/dist/lib/validators/postalAddressObject.js +12 -19
- package/dist/lib/validators/range.d.ts +1 -0
- package/dist/lib/validators/range.d.ts.map +1 -0
- package/dist/lib/validators/range.js +6 -13
- package/dist/lib/validators/regex.d.ts +1 -0
- package/dist/lib/validators/regex.d.ts.map +1 -0
- package/dist/lib/validators/regex.js +6 -13
- package/dist/lib/validators/required.d.ts +1 -0
- package/dist/lib/validators/required.d.ts.map +1 -0
- package/dist/lib/validators/required.js +9 -17
- package/dist/lib/validators/strlen.d.ts +1 -0
- package/dist/lib/validators/strlen.d.ts.map +1 -0
- package/dist/lib/validators/strlen.js +6 -13
- package/dist/lib/validators/wordCount.d.ts +1 -0
- package/dist/lib/validators/wordCount.d.ts.map +1 -0
- package/dist/lib/validators/wordCount.js +6 -13
- package/dist/lib/waypoint-url.d.ts +3 -2
- package/dist/lib/waypoint-url.d.ts.map +1 -0
- package/dist/lib/waypoint-url.js +12 -19
- package/dist/middleware/body-parser.d.ts +1 -0
- package/dist/middleware/body-parser.d.ts.map +1 -0
- package/dist/middleware/body-parser.js +4 -9
- package/dist/middleware/csrf.d.ts +1 -0
- package/dist/middleware/csrf.d.ts.map +1 -0
- package/dist/middleware/csrf.js +4 -8
- package/dist/middleware/data.d.ts +2 -3
- package/dist/middleware/data.d.ts.map +1 -0
- package/dist/middleware/data.js +23 -25
- package/dist/middleware/gather-fields.d.ts +3 -1
- package/dist/middleware/gather-fields.d.ts.map +1 -0
- package/dist/middleware/gather-fields.js +13 -14
- package/dist/middleware/i18n.d.ts +1 -0
- package/dist/middleware/i18n.d.ts.map +1 -0
- package/dist/middleware/i18n.js +26 -31
- package/dist/middleware/post.d.ts +1 -0
- package/dist/middleware/post.d.ts.map +1 -0
- package/dist/middleware/post.js +3 -10
- package/dist/middleware/pre.d.ts +2 -1
- package/dist/middleware/pre.d.ts.map +1 -0
- package/dist/middleware/pre.js +6 -12
- package/dist/middleware/progress-journey.d.ts +5 -3
- package/dist/middleware/progress-journey.d.ts.map +1 -0
- package/dist/middleware/progress-journey.js +20 -18
- package/dist/middleware/sanitise-fields.d.ts +5 -3
- package/dist/middleware/sanitise-fields.d.ts.map +1 -0
- package/dist/middleware/sanitise-fields.js +25 -17
- package/dist/middleware/serve-first-waypoint.d.ts +1 -0
- package/dist/middleware/serve-first-waypoint.d.ts.map +1 -0
- package/dist/middleware/serve-first-waypoint.js +3 -6
- package/dist/middleware/session.d.ts +15 -0
- package/dist/middleware/session.d.ts.map +1 -0
- package/dist/middleware/session.js +53 -57
- package/dist/middleware/skip-waypoint.d.ts +3 -2
- package/dist/middleware/skip-waypoint.d.ts.map +1 -0
- package/dist/middleware/skip-waypoint.js +15 -14
- package/dist/middleware/steer-journey.d.ts +2 -1
- package/dist/middleware/steer-journey.d.ts.map +1 -0
- package/dist/middleware/steer-journey.js +7 -13
- package/dist/middleware/strip-proxy-path.d.ts +3 -2
- package/dist/middleware/strip-proxy-path.d.ts.map +1 -0
- package/dist/middleware/strip-proxy-path.js +24 -24
- package/dist/middleware/validate-fields.d.ts +7 -4
- package/dist/middleware/validate-fields.d.ts.map +1 -0
- package/dist/middleware/validate-fields.js +22 -11
- package/dist/routes/ancillary.d.ts +1 -0
- package/dist/routes/ancillary.d.ts.map +1 -0
- package/dist/routes/ancillary.js +3 -10
- package/dist/routes/journey.d.ts +7 -2
- package/dist/routes/journey.d.ts.map +1 -0
- package/dist/routes/journey.js +56 -55
- package/dist/routes/static.d.ts +1 -0
- package/dist/routes/static.d.ts.map +1 -0
- package/dist/routes/static.js +15 -23
- package/package.json +20 -26
- package/src/casa.js +49 -29
- package/src/core-plugins/edit-snapshot/src/post-steer-hook.js +1 -0
- package/src/core-plugins/edit-snapshot/src/pre-steer-hook.js +2 -1
- package/src/core-plugins/edit-snapshot/src/utils.js +29 -1
- package/src/lib/JourneyContext.js +31 -28
- package/src/lib/MutableRouter.js +47 -38
- package/src/lib/NullObject.js +4 -0
- package/src/lib/Plan.js +41 -55
- package/src/lib/ValidationError.js +2 -4
- package/src/lib/ValidatorFactory.js +3 -5
- package/src/lib/configuration-ingestor.js +18 -38
- package/src/lib/configure.js +7 -10
- package/src/lib/end-session.js +1 -1
- package/src/lib/field.js +7 -12
- package/src/lib/logger.js +16 -0
- package/src/lib/mount.js +1 -1
- package/src/lib/nunjucks-filters.js +51 -61
- package/src/lib/nunjucks.js +3 -12
- package/src/lib/utils.js +2 -1
- package/src/lib/validators/dateObject.js +3 -4
- package/src/lib/validators/postalAddressObject.js +6 -7
- package/src/lib/validators/required.js +1 -3
- package/src/lib/waypoint-url.js +15 -19
- package/src/middleware/csrf.js +1 -1
- package/src/middleware/data.js +13 -13
- package/src/middleware/gather-fields.js +8 -2
- package/src/middleware/i18n.js +9 -6
- package/src/middleware/pre.js +1 -1
- package/src/middleware/progress-journey.js +8 -0
- package/src/middleware/sanitise-fields.js +17 -2
- package/src/middleware/session.js +53 -12
- package/src/middleware/skip-waypoint.js +8 -1
- package/src/middleware/steer-journey.js +1 -1
- package/src/middleware/strip-proxy-path.js +21 -16
- package/src/middleware/validate-fields.js +19 -0
- package/src/routes/journey.js +18 -8
- package/src/routes/static.js +5 -4
- package/views/casa/layouts/journey.njk +1 -1
- package/views/casa/layouts/main.njk +11 -21
- package/dist/casa.js.map +0 -1
- package/dist/core-plugins/edit-snapshot/src/configure.js.map +0 -1
- package/dist/core-plugins/edit-snapshot/src/index.js.map +0 -1
- package/dist/core-plugins/edit-snapshot/src/post-steer-hook.js.map +0 -1
- package/dist/core-plugins/edit-snapshot/src/pre-steer-hook.js.map +0 -1
- package/dist/core-plugins/edit-snapshot/src/utils.js.map +0 -1
- package/dist/core-plugins/index.js.map +0 -1
- package/dist/lib/CasaTemplateLoader.js.map +0 -1
- package/dist/lib/JourneyContext.js.map +0 -1
- package/dist/lib/MutableRouter.js.map +0 -1
- package/dist/lib/Plan.js.map +0 -1
- package/dist/lib/ValidationError.js.map +0 -1
- package/dist/lib/ValidatorFactory.js.map +0 -1
- package/dist/lib/configuration-ingestor.js.map +0 -1
- package/dist/lib/configure.js.map +0 -1
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/context-id-generators.js.map +0 -1
- package/dist/lib/dirname.cjs +0 -1
- package/dist/lib/dirname.d.cts +0 -2
- package/dist/lib/end-session.js.map +0 -1
- package/dist/lib/field.js.map +0 -1
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/mount.js.map +0 -1
- package/dist/lib/nunjucks-filters.js.map +0 -1
- package/dist/lib/nunjucks.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/validators/dateObject.js.map +0 -1
- package/dist/lib/validators/email.js.map +0 -1
- package/dist/lib/validators/inArray.js.map +0 -1
- package/dist/lib/validators/index.js.map +0 -1
- package/dist/lib/validators/nino.js.map +0 -1
- package/dist/lib/validators/postalAddressObject.js.map +0 -1
- package/dist/lib/validators/range.js.map +0 -1
- package/dist/lib/validators/regex.js.map +0 -1
- package/dist/lib/validators/required.js.map +0 -1
- package/dist/lib/validators/strlen.js.map +0 -1
- package/dist/lib/validators/wordCount.js.map +0 -1
- package/dist/lib/waypoint-url.js.map +0 -1
- package/dist/middleware/body-parser.js.map +0 -1
- package/dist/middleware/csrf.js.map +0 -1
- package/dist/middleware/data.js.map +0 -1
- package/dist/middleware/dirname.cjs +0 -1
- package/dist/middleware/dirname.d.cts +0 -2
- package/dist/middleware/gather-fields.js.map +0 -1
- package/dist/middleware/i18n.js.map +0 -1
- package/dist/middleware/post.js.map +0 -1
- package/dist/middleware/pre.js.map +0 -1
- package/dist/middleware/progress-journey.js.map +0 -1
- package/dist/middleware/sanitise-fields.js.map +0 -1
- package/dist/middleware/serve-first-waypoint.js.map +0 -1
- package/dist/middleware/session.js.map +0 -1
- package/dist/middleware/skip-waypoint.js.map +0 -1
- package/dist/middleware/steer-journey.js.map +0 -1
- package/dist/middleware/strip-proxy-path.js.map +0 -1
- package/dist/middleware/validate-fields.js.map +0 -1
- package/dist/mjs/esm-wrapper.js +0 -20
- package/dist/mjs/package.json +0 -3
- package/dist/package.json +0 -3
- package/dist/routes/ancillary.js.map +0 -1
- package/dist/routes/dirname.cjs +0 -1
- package/dist/routes/dirname.d.cts +0 -2
- package/dist/routes/journey.js.map +0 -1
- package/dist/routes/static.js.map +0 -1
- package/src/lib/dirname.cjs +0 -1
- package/src/middleware/dirname.cjs +0 -1
- package/src/routes/dirname.cjs +0 -1
package/dist/lib/configure.js
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const post_js_1 = __importDefault(require("../middleware/post.js"));
|
|
20
|
-
const session_js_1 = __importDefault(require("../middleware/session.js"));
|
|
21
|
-
const i18n_js_1 = __importDefault(require("../middleware/i18n.js"));
|
|
22
|
-
const data_js_1 = __importDefault(require("../middleware/data.js"));
|
|
23
|
-
const body_parser_js_1 = __importDefault(require("../middleware/body-parser.js"));
|
|
24
|
-
const csrf_js_1 = __importDefault(require("../middleware/csrf.js"));
|
|
25
|
-
const constants_js_1 = require("./constants.js");
|
|
1
|
+
import { MemoryStore } from "express-session";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import cookieParserFactory from "cookie-parser";
|
|
5
|
+
import configurationIngestor from "./configuration-ingestor.js";
|
|
6
|
+
import nunjucks from "./nunjucks.js";
|
|
7
|
+
import mountFactory from "./mount.js";
|
|
8
|
+
import staticRoutes from "../routes/static.js";
|
|
9
|
+
import ancillaryRoutes from "../routes/ancillary.js";
|
|
10
|
+
import journeyRoutes from "../routes/journey.js";
|
|
11
|
+
import preMiddlewareFactory from "../middleware/pre.js";
|
|
12
|
+
import postMiddlewareFactory from "../middleware/post.js";
|
|
13
|
+
import sessionMiddlewareFactory from "../middleware/session.js";
|
|
14
|
+
import i18nMiddlewareFactory from "../middleware/i18n.js";
|
|
15
|
+
import dataMiddlewareFactory from "../middleware/data.js";
|
|
16
|
+
import bodyParserMiddlewareFactory from "../middleware/body-parser.js";
|
|
17
|
+
import csrfMiddlewareFactory from "../middleware/csrf.js";
|
|
18
|
+
import { CONFIG_ERROR_VISIBILITY_ONSUBMIT } from "./constants.js";
|
|
26
19
|
/**
|
|
27
20
|
* @typedef {import("../casa").ConfigurationOptions} ConfigurationOptions
|
|
28
21
|
* @access private
|
|
@@ -38,19 +31,19 @@ const constants_js_1 = require("./constants.js");
|
|
|
38
31
|
/**
|
|
39
32
|
* Configure some middleware for use in creating a new CASA app.
|
|
40
33
|
*
|
|
41
|
-
* @memberof module
|
|
34
|
+
* @memberof module:"@dwp/govuk-casa"
|
|
42
35
|
* @param {ConfigurationOptions} config Configuration options
|
|
43
36
|
* @returns {ConfigureResult} Result
|
|
44
37
|
*/
|
|
45
|
-
function configure(config = {}) {
|
|
38
|
+
export default function configure(config = {}) {
|
|
46
39
|
// Pass the raw config through each plugin's configure phase so they can
|
|
47
40
|
// optionally modify it
|
|
48
41
|
for (const plugin of config.plugins ?? []) {
|
|
49
42
|
plugin.configure(config);
|
|
50
43
|
}
|
|
51
44
|
// Extract config
|
|
52
|
-
const ingestedConfig = (
|
|
53
|
-
const { mountUrl, errorVisibility =
|
|
45
|
+
const ingestedConfig = configurationIngestor(config);
|
|
46
|
+
const { mountUrl, errorVisibility = CONFIG_ERROR_VISIBILITY_ONSUBMIT, views = [], session = {
|
|
54
47
|
secret: "secret",
|
|
55
48
|
name: "casasession",
|
|
56
49
|
secure: false,
|
|
@@ -61,7 +54,7 @@ function configure(config = {}) {
|
|
|
61
54
|
}, pages = [], plan = null, hooks = [], plugins = [], events = [], i18n = {
|
|
62
55
|
dirs: [],
|
|
63
56
|
locales: ["en", "cy"],
|
|
64
|
-
}, helmetConfigurator = undefined, formMaxParams, formMaxBytes, contextIdGenerator,
|
|
57
|
+
}, helmetConfigurator = undefined, formMaxParams, formMaxBytes, contextIdGenerator, } = ingestedConfig;
|
|
65
58
|
// Prepare all page hooks so they are prefixed with the `journey.` scope.
|
|
66
59
|
for (const page of pages) {
|
|
67
60
|
if (page?.hooks) {
|
|
@@ -72,22 +65,21 @@ function configure(config = {}) {
|
|
|
72
65
|
}
|
|
73
66
|
// Prepare a Nunjucks environment for rendering all templates.
|
|
74
67
|
// Resolve priority: userland templates > CASA templates > GOVUK templates > Plugin templates
|
|
75
|
-
const nunjucksEnv = (
|
|
68
|
+
const nunjucksEnv = nunjucks({
|
|
76
69
|
views: [
|
|
77
70
|
...views,
|
|
78
|
-
|
|
79
|
-
|
|
71
|
+
resolve(import.meta.dirname, "../../views"),
|
|
72
|
+
resolve(createRequire(import.meta.dirname).resolve("govuk-frontend"), "../../"),
|
|
80
73
|
],
|
|
81
|
-
govukRebrand,
|
|
82
74
|
});
|
|
83
75
|
// Prepare mandatory middleware
|
|
84
76
|
// These _must_ be added to the ExpressJS application at the start and end
|
|
85
77
|
// of all other middleware respectively.
|
|
86
|
-
const preMiddleware = (
|
|
87
|
-
const postMiddleware = (
|
|
78
|
+
const preMiddleware = preMiddlewareFactory({ helmetConfigurator });
|
|
79
|
+
const postMiddleware = postMiddlewareFactory();
|
|
88
80
|
// Prepare common middleware mounted prior to the ancillaryRouter
|
|
89
|
-
const cookieParserMiddleware = (
|
|
90
|
-
const sessionMiddleware = (
|
|
81
|
+
const cookieParserMiddleware = cookieParserFactory(session.secret);
|
|
82
|
+
const sessionMiddleware = sessionMiddlewareFactory({
|
|
91
83
|
cookieParserMiddleware,
|
|
92
84
|
secure: session.secure,
|
|
93
85
|
secret: session.secret,
|
|
@@ -95,39 +87,38 @@ function configure(config = {}) {
|
|
|
95
87
|
ttl: session.ttl,
|
|
96
88
|
cookieSameSite: session.cookieSameSite,
|
|
97
89
|
cookiePath: session.cookiePath,
|
|
98
|
-
store: session.store ?? new
|
|
90
|
+
store: session.store ?? new MemoryStore(),
|
|
99
91
|
});
|
|
100
|
-
const i18nMiddleware = (
|
|
92
|
+
const i18nMiddleware = i18nMiddlewareFactory({
|
|
101
93
|
directories: [
|
|
102
94
|
// Order is important; latter directories take precedence
|
|
103
|
-
|
|
95
|
+
resolve(import.meta.dirname, "../../locales/"),
|
|
104
96
|
...i18n.dirs,
|
|
105
97
|
],
|
|
106
98
|
languages: i18n.locales,
|
|
107
99
|
fallbackLng: i18n.fallbackLng,
|
|
108
100
|
});
|
|
109
|
-
const dataMiddleware = (
|
|
101
|
+
const dataMiddleware = dataMiddlewareFactory({
|
|
110
102
|
plan,
|
|
111
103
|
events,
|
|
112
104
|
contextIdGenerator,
|
|
113
|
-
govukRebrand,
|
|
114
105
|
});
|
|
115
106
|
// Prepare form middleware and its constituent parts
|
|
116
107
|
// These are used for any forms, including waypoint page forms.
|
|
117
|
-
const bodyParserMiddleware = (
|
|
108
|
+
const bodyParserMiddleware = bodyParserMiddlewareFactory({
|
|
118
109
|
formMaxParams,
|
|
119
110
|
formMaxBytes,
|
|
120
111
|
});
|
|
121
|
-
const csrfMiddleware = (
|
|
112
|
+
const csrfMiddleware = csrfMiddlewareFactory();
|
|
122
113
|
// Setup router to serve up bundled static assets
|
|
123
|
-
const staticRouter = (
|
|
114
|
+
const staticRouter = staticRoutes();
|
|
124
115
|
// Setup ancillary router default stand-alone pages.
|
|
125
|
-
const ancillaryRouter = (
|
|
116
|
+
const ancillaryRouter = ancillaryRoutes({
|
|
126
117
|
sessionTtl: session.ttl,
|
|
127
118
|
});
|
|
128
119
|
// Setup waypoint router, which includes routes for every defined waypoint
|
|
129
120
|
const globalErrorVisibility = errorVisibility;
|
|
130
|
-
const journeyRouter = (
|
|
121
|
+
const journeyRouter = journeyRoutes({
|
|
131
122
|
globalHooks: hooks,
|
|
132
123
|
pages,
|
|
133
124
|
plan,
|
|
@@ -135,7 +126,7 @@ function configure(config = {}) {
|
|
|
135
126
|
globalErrorVisibility,
|
|
136
127
|
});
|
|
137
128
|
// Create the mounting function
|
|
138
|
-
const mount = (
|
|
129
|
+
const mount = mountFactory({
|
|
139
130
|
nunjucksEnv,
|
|
140
131
|
mountUrl,
|
|
141
132
|
plan,
|
|
@@ -154,8 +145,6 @@ function configure(config = {}) {
|
|
|
154
145
|
// Nunjucks environment, so it can be attached to other ExpressJS instances
|
|
155
146
|
// using `nunjucksEnv.express(myApp); myApp.set('view engine', 'njk');`.
|
|
156
147
|
nunjucksEnv,
|
|
157
|
-
// govuk rebrand flag
|
|
158
|
-
govukRebrand,
|
|
159
148
|
// Mandatory middleware. User must add these to their ExpressJS app.
|
|
160
149
|
preMiddleware,
|
|
161
150
|
postMiddleware,
|
|
@@ -184,4 +173,3 @@ function configure(config = {}) {
|
|
|
184
173
|
// Finished configuration
|
|
185
174
|
return configOutput;
|
|
186
175
|
}
|
|
187
|
-
//# sourceMappingURL=configure.js.map
|
package/dist/lib/constants.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.js"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,gDAAmD;AACnD,mDAAyD;AACzD,iDAAqD;AACrD,mDAAyD;AACzD,mDAAyD;AACzD,iDAAqD;AACrD,6DAAmE;AACnE,2DAA+D"}
|
package/dist/lib/constants.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CONFIG_ERROR_VISIBILITY_ALWAYS = exports.CONFIG_ERROR_VISIBILITY_ONSUBMIT = exports.REQUEST_PHASE_RENDER = exports.REQUEST_PHASE_REDIRECT = exports.REQUEST_PHASE_VALIDATE = exports.REQUEST_PHASE_GATHER = exports.REQUEST_PHASE_SANITISE = exports.REQUEST_PHASE_STEER = void 0;
|
|
4
1
|
/** General-purpose references to the different request lifecycle phases. */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=constants.js.map
|
|
2
|
+
export const REQUEST_PHASE_STEER = Symbol("steer");
|
|
3
|
+
export const REQUEST_PHASE_SANITISE = Symbol("sanitise");
|
|
4
|
+
export const REQUEST_PHASE_GATHER = Symbol("gather");
|
|
5
|
+
export const REQUEST_PHASE_VALIDATE = Symbol("validate");
|
|
6
|
+
export const REQUEST_PHASE_REDIRECT = Symbol("redirect");
|
|
7
|
+
export const REQUEST_PHASE_RENDER = Symbol("render");
|
|
8
|
+
export const CONFIG_ERROR_VISIBILITY_ONSUBMIT = Symbol("onsubmit");
|
|
9
|
+
export const CONFIG_ERROR_VISIBILITY_ALWAYS = Symbol("always");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-id-generators.d.ts","sourceRoot":"","sources":["../../src/lib/context-id-generators.js"],"names":[],"mappings":"iCAEc,OAAO,YAAY,EAAE,kBAAkB;AAArD,4EAA4E;AAE5E;;;;GAIG;AACH,wBAFa,kBAAkB,CAEM;AAErC;;;;;;;;GAQG;AACH,qCAFa,kBAAkB,CAkB5B;AAEH;;;;KAEG;;CAAe,YAwBf"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shortGuid = exports.sequentialInteger = exports.uuid = void 0;
|
|
4
|
-
const node_crypto_1 = require("node:crypto");
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
5
2
|
/** @typedef {import("../casa.js").ContextIdGenerator} ContextIdGenerator */
|
|
6
3
|
/**
|
|
7
4
|
* Creates an instance of a UUID generator.
|
|
8
5
|
*
|
|
9
6
|
* @returns {ContextIdGenerator} Generator function
|
|
10
7
|
*/
|
|
11
|
-
const uuid = () => () =>
|
|
12
|
-
exports.uuid = uuid;
|
|
8
|
+
const uuid = () => () => randomUUID();
|
|
13
9
|
/**
|
|
14
10
|
* Returns a generator that returns the next incremental integer in a sequence.
|
|
15
11
|
*
|
|
@@ -31,7 +27,6 @@ const sequentialInteger = () => ({ reservedIds }) => {
|
|
|
31
27
|
} while (contextIds.length && Number.isNaN(lastInSequence));
|
|
32
28
|
return String(!Number.isNaN(lastInSequence) ? lastInSequence + 1 : 1);
|
|
33
29
|
};
|
|
34
|
-
exports.sequentialInteger = sequentialInteger;
|
|
35
30
|
const shortGuid = ({ length = 5, prefix = "", pool = "abcdefhkmnprtwxy346789" } = {}) => ({ reservedIds }) => {
|
|
36
31
|
// Ambiguous characters excluded
|
|
37
32
|
const poolSize = pool.length;
|
|
@@ -51,5 +46,5 @@ const shortGuid = ({ length = 5, prefix = "", pool = "abcdefhkmnprtwxy346789" }
|
|
|
51
46
|
}
|
|
52
47
|
return `${prefix}${id}`;
|
|
53
48
|
};
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
/** @namespace ContextIdGenerators */
|
|
50
|
+
export { uuid, sequentialInteger, shortGuid };
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
* Note: this will not remove the session from server-side storage, which will
|
|
7
7
|
* instead be left up to the storage mechanism to clean up.
|
|
8
8
|
*
|
|
9
|
-
* @memberof module
|
|
9
|
+
* @memberof module:"@dwp/govuk-casa"
|
|
10
10
|
* @param {import("express").Request} req HTTP request
|
|
11
11
|
* @param {Function} next Chain
|
|
12
12
|
* @returns {void}
|
|
13
13
|
*/
|
|
14
14
|
export default function endSession(req: import("express").Request, next: Function): void;
|
|
15
|
+
//# sourceMappingURL=end-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"end-session.d.ts","sourceRoot":"","sources":["../../src/lib/end-session.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wCAJW,OAAO,SAAS,EAAE,OAAO,mBAEvB,IAAI,CA6BhB"}
|
package/dist/lib/end-session.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.default = endSession;
|
|
7
|
-
const logger_js_1 = __importDefault(require("./logger.js"));
|
|
8
|
-
const log = (0, logger_js_1.default)("lib:end-session");
|
|
1
|
+
import logger from "./logger.js";
|
|
2
|
+
const log = logger("lib:end-session");
|
|
9
3
|
/**
|
|
10
4
|
* A convenience for ending the current session, but retaining some data in it,
|
|
11
5
|
* like the current language. It persists an empty session before regenerating a
|
|
@@ -14,12 +8,12 @@ const log = (0, logger_js_1.default)("lib:end-session");
|
|
|
14
8
|
* Note: this will not remove the session from server-side storage, which will
|
|
15
9
|
* instead be left up to the storage mechanism to clean up.
|
|
16
10
|
*
|
|
17
|
-
* @memberof module
|
|
11
|
+
* @memberof module:"@dwp/govuk-casa"
|
|
18
12
|
* @param {import("express").Request} req HTTP request
|
|
19
13
|
* @param {Function} next Chain
|
|
20
14
|
* @returns {void}
|
|
21
15
|
*/
|
|
22
|
-
function endSession(req, next) {
|
|
16
|
+
export default function endSession(req, next) {
|
|
23
17
|
const { language } = req.session;
|
|
24
18
|
for (const key of Object.keys(req.session)) {
|
|
25
19
|
if (!["cookie"].includes(key)) {
|
|
@@ -45,4 +39,3 @@ function endSession(req, next) {
|
|
|
45
39
|
});
|
|
46
40
|
});
|
|
47
41
|
}
|
|
48
|
-
//# sourceMappingURL=end-session.js.map
|
package/dist/lib/field.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Factory for creating PageField instances.
|
|
3
3
|
*
|
|
4
|
-
* @memberof module
|
|
4
|
+
* @memberof module:"@dwp/govuk-casa"
|
|
5
5
|
* @param {string} name Field name
|
|
6
6
|
* @param {object} [opts] Options
|
|
7
7
|
* @param {boolean} [opts.optional] Whether this field is optional. Default is
|
|
@@ -172,3 +172,4 @@ export type ValidateContext = import("../casa").ValidateContext;
|
|
|
172
172
|
export type ValidatorConditionFunction = import("../casa").ValidatorConditionFunction;
|
|
173
173
|
export type FieldProcessorFunction = import("../casa").FieldProcessorFunction;
|
|
174
174
|
export type ValidationError = import("./index").ValidationError;
|
|
175
|
+
//# sourceMappingURL=field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/lib/field.js"],"names":[],"mappings":"AA6aA;;;;;;;;;;;GAWG;AACH,oCARW,MAAM,SAEd;IAAuB,QAAQ;IAER,OAAO;CAE9B,GAAU,SAAS,CAIrB;AApZD;;;;;GAKG;AACH;IAgBE;;;;;;;;;OASG;IACH,kBAPW,MAAM,0BAEd;QAAuB,QAAQ;QAER,OAAO;KAEhC,EAwBA;IAED;;;;OAIG;IACH,SAFa,SAAS,CAmBrB;IAED;;;;;;;;OAQG;IACH,eAHW,MAAM,GACJ,GAAG,CASf;IAED;;;;;;;;;OASG;IACH,eAJW,MAAM,UACN,GAAG,GACD,GAAG,CAaf;IAID,mBAEC;IAED,mBAEC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,GACJ,SAAS,CA8BrB;IAED;;;;OAIG;IACH,iBAFa,SAAS,EAAE,CAIvB;IAED;;;;;;OAMG;IACH,mBAHW,SAAS,EAAE,GACT,SAAS,CAUrB;IAED;;;;OAIG;IACH,iBAFa,sBAAsB,EAAE,CAIpC;IAED;;;;;;OAMG;IACH,mBAHW,sBAAsB,EAAE,GACtB,SAAS,CAWrB;IAED;;;;OAIG;IACH,iBAFa,0BAA0B,EAAE,CAIxC;IAED;;;;;;OAMG;IACH,mBAHW,0BAA0B,EAAE,GAC1B,SAAS,CAUrB;IAID;;;;;;OAMG;IACH,wBAJW,eAAe,GACb,eAAe,EAAE,CAyC7B;IAED;;;;;OAKG;IACH,uBAHW,GAAG,GACD,GAAG,CAsBf;IAED;;;;;OAKG;IACH,yDAHW,eAAe,GACb,OAAO,CAiBnB;IAID;;;;;OAKG;IACH,qBAHW,SAAS,GACP,SAAS,CAIrB;IAED;;;;;OAKG;IACH,qBAHW,sBAAsB,GACpB,SAAS,CAIrB;IAED;;;;;OAKG;IACH,qBAHW,0BAA0B,GACxB,SAAS,CAIrB;IAED;;;;;OAKG;IACH,YAHc,0BAA0B,EAAA,GAC3B,SAAS,CAIrB;;CACF;6BAvaY,OAAO,SAAS,EAAE,cAAc;wBAKhC,OAAO,SAAS,EAAE,SAAS;8BAK3B,OAAO,SAAS,EAAE,eAAe;yCAKjC,OAAO,SAAS,EAAE,0BAA0B;qCAK5C,OAAO,SAAS,EAAE,sBAAsB;8BAKxC,OAAO,SAAS,EAAE,eAAe"}
|
package/dist/lib/field.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PageField = void 0;
|
|
7
|
-
exports.default = field;
|
|
8
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
-
const utils_js_1 = require("./utils.js");
|
|
10
|
-
const { isFunction } = lodash_1.default;
|
|
1
|
+
import { isEmpty } from "./utils.js";
|
|
2
|
+
import NullObject from "./NullObject.js";
|
|
11
3
|
/**
|
|
12
4
|
* @typedef {import("./index").JourneyContext} JourneyContext
|
|
13
5
|
* @access private
|
|
@@ -42,7 +34,7 @@ const reInvalidName = /[^a-z0-9_.\-[\]]/i;
|
|
|
42
34
|
*
|
|
43
35
|
* @class
|
|
44
36
|
*/
|
|
45
|
-
class PageField {
|
|
37
|
+
export class PageField {
|
|
46
38
|
/** @type {string} */
|
|
47
39
|
#name;
|
|
48
40
|
/** @type {FieldProcessorFunction[]} */
|
|
@@ -63,7 +55,7 @@ class PageField {
|
|
|
63
55
|
* @param {boolean} [opts.persist] Whether this field will persist in
|
|
64
56
|
* `req.body`. Default is `true`
|
|
65
57
|
*/
|
|
66
|
-
constructor(name, { optional = false, persist = true } =
|
|
58
|
+
constructor(name, { optional = false, persist = true } = new NullObject()) {
|
|
67
59
|
if (!name) {
|
|
68
60
|
throw new SyntaxError("A name for this field is required, i.e. \"field('myField')\".");
|
|
69
61
|
}
|
|
@@ -111,7 +103,7 @@ class PageField {
|
|
|
111
103
|
* @param {object} obj Object from which to extract the value
|
|
112
104
|
* @returns {any} Value extracted from object
|
|
113
105
|
*/
|
|
114
|
-
getValue(obj =
|
|
106
|
+
getValue(obj = new NullObject()) {
|
|
115
107
|
if (this.#meta.complex) {
|
|
116
108
|
return obj[this.#meta.complexFieldName]?.[this.#meta.complexFieldProperty];
|
|
117
109
|
}
|
|
@@ -127,7 +119,7 @@ class PageField {
|
|
|
127
119
|
* @param {any} value Value to be stored
|
|
128
120
|
* @returns {any} Value extracted from object
|
|
129
121
|
*/
|
|
130
|
-
putValue(obj =
|
|
122
|
+
putValue(obj = new NullObject(), value = undefined) {
|
|
131
123
|
if (this.#meta.complex) {
|
|
132
124
|
obj[this.#meta.complexFieldName] = {
|
|
133
125
|
...(obj[this.#meta.complexFieldName] ?? {}),
|
|
@@ -247,9 +239,9 @@ class PageField {
|
|
|
247
239
|
* @returns {ValidationError[]} Errors, or an empty array if all valid
|
|
248
240
|
* @throws {TypeError} If validator does not return an array
|
|
249
241
|
*/
|
|
250
|
-
runValidators(context =
|
|
242
|
+
runValidators(context = new NullObject()) {
|
|
251
243
|
// Skip validation if the field is empty and optional
|
|
252
|
-
if (this.#meta.optional &&
|
|
244
|
+
if (this.#meta.optional && isEmpty(context?.fieldValue)) {
|
|
253
245
|
return [];
|
|
254
246
|
}
|
|
255
247
|
// Skip validation if conditions are not met
|
|
@@ -287,7 +279,7 @@ class PageField {
|
|
|
287
279
|
// ESLint disabled as `i` is an integer
|
|
288
280
|
/* eslint-disable security/detect-object-injection */
|
|
289
281
|
for (let i = 0, l = this.#validators.length; i < l; i++) {
|
|
290
|
-
if (
|
|
282
|
+
if (this.#validators[i].sanitise instanceof Function) {
|
|
291
283
|
processedValue = this.#validators[i].sanitise(processedValue);
|
|
292
284
|
}
|
|
293
285
|
}
|
|
@@ -358,11 +350,10 @@ class PageField {
|
|
|
358
350
|
return this.conditions(args);
|
|
359
351
|
}
|
|
360
352
|
}
|
|
361
|
-
exports.PageField = PageField;
|
|
362
353
|
/**
|
|
363
354
|
* Factory for creating PageField instances.
|
|
364
355
|
*
|
|
365
|
-
* @memberof module
|
|
356
|
+
* @memberof module:"@dwp/govuk-casa"
|
|
366
357
|
* @param {string} name Field name
|
|
367
358
|
* @param {object} [opts] Options
|
|
368
359
|
* @param {boolean} [opts.optional] Whether this field is optional. Default is
|
|
@@ -371,7 +362,6 @@ exports.PageField = PageField;
|
|
|
371
362
|
* `req.body`. Default is `true`
|
|
372
363
|
* @returns {PageField} A PageField
|
|
373
364
|
*/
|
|
374
|
-
function field(name, opts) {
|
|
365
|
+
export default function field(name, opts) {
|
|
375
366
|
return new PageField(name, opts);
|
|
376
367
|
}
|
|
377
|
-
//# sourceMappingURL=field.js.map
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -12,3 +12,4 @@ import ValidationError from "./ValidationError.js";
|
|
|
12
12
|
import ValidatorFactory from "./ValidatorFactory.js";
|
|
13
13
|
import waypointUrl from "./waypoint-url.js";
|
|
14
14
|
export { CasaTemplateLoader, configure, configurationIngestor, endSession, field, PageField, JourneyContext, MutableRouter, Plan, utils, ValidationError, ValidatorFactory, waypointUrl };
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.js"],"names":[],"mappings":"+BAK+B,yBAAyB;sBAClC,gBAAgB;kCACJ,6BAA6B;uBACxC,kBAAkB;kBACR,YAAY;0BAAZ,YAAY;2BAClB,qBAAqB;0BACtB,oBAAoB;iBAC7B,WAAW;uBAIL,YAAY;4BAHP,sBAAsB;6BACrB,uBAAuB;wBAC5B,mBAAmB"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,69 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Just used to collate type information for intellisense. This should not get
|
|
4
3
|
* imported anywhere in code, other than JSDoc references.
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
-
var ownKeys = function(o) {
|
|
24
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
-
var ar = [];
|
|
26
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
-
return ar;
|
|
28
|
-
};
|
|
29
|
-
return ownKeys(o);
|
|
30
|
-
};
|
|
31
|
-
return function (mod) {
|
|
32
|
-
if (mod && mod.__esModule) return mod;
|
|
33
|
-
var result = {};
|
|
34
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
-
__setModuleDefault(result, mod);
|
|
36
|
-
return result;
|
|
37
|
-
};
|
|
38
|
-
})();
|
|
39
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
-
};
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.waypointUrl = exports.ValidatorFactory = exports.ValidationError = exports.utils = exports.Plan = exports.MutableRouter = exports.JourneyContext = exports.PageField = exports.field = exports.endSession = exports.configurationIngestor = exports.configure = exports.CasaTemplateLoader = void 0;
|
|
44
|
-
const CasaTemplateLoader_js_1 = __importDefault(require("./CasaTemplateLoader.js"));
|
|
45
|
-
exports.CasaTemplateLoader = CasaTemplateLoader_js_1.default;
|
|
46
|
-
const configure_js_1 = __importDefault(require("./configure.js"));
|
|
47
|
-
exports.configure = configure_js_1.default;
|
|
48
|
-
const configuration_ingestor_js_1 = __importDefault(require("./configuration-ingestor.js"));
|
|
49
|
-
exports.configurationIngestor = configuration_ingestor_js_1.default;
|
|
50
|
-
const end_session_js_1 = __importDefault(require("./end-session.js"));
|
|
51
|
-
exports.endSession = end_session_js_1.default;
|
|
52
|
-
const field_js_1 = __importStar(require("./field.js"));
|
|
53
|
-
exports.field = field_js_1.default;
|
|
54
|
-
Object.defineProperty(exports, "PageField", { enumerable: true, get: function () { return field_js_1.PageField; } });
|
|
55
|
-
const JourneyContext_js_1 = __importDefault(require("./JourneyContext.js"));
|
|
56
|
-
exports.JourneyContext = JourneyContext_js_1.default;
|
|
57
|
-
const MutableRouter_js_1 = __importDefault(require("./MutableRouter.js"));
|
|
58
|
-
exports.MutableRouter = MutableRouter_js_1.default;
|
|
59
|
-
const Plan_js_1 = __importDefault(require("./Plan.js"));
|
|
60
|
-
exports.Plan = Plan_js_1.default;
|
|
61
|
-
const ValidationError_js_1 = __importDefault(require("./ValidationError.js"));
|
|
62
|
-
exports.ValidationError = ValidationError_js_1.default;
|
|
63
|
-
const ValidatorFactory_js_1 = __importDefault(require("./ValidatorFactory.js"));
|
|
64
|
-
exports.ValidatorFactory = ValidatorFactory_js_1.default;
|
|
65
|
-
const waypoint_url_js_1 = __importDefault(require("./waypoint-url.js"));
|
|
66
|
-
exports.waypointUrl = waypoint_url_js_1.default;
|
|
67
|
-
const utils = __importStar(require("./utils.js"));
|
|
68
|
-
exports.utils = utils;
|
|
69
|
-
//# sourceMappingURL=index.js.map
|
|
5
|
+
import CasaTemplateLoader from "./CasaTemplateLoader.js";
|
|
6
|
+
import configure from "./configure.js";
|
|
7
|
+
import configurationIngestor from "./configuration-ingestor.js";
|
|
8
|
+
import endSession from "./end-session.js";
|
|
9
|
+
import field, { PageField } from "./field.js";
|
|
10
|
+
import JourneyContext from "./JourneyContext.js";
|
|
11
|
+
import MutableRouter from "./MutableRouter.js";
|
|
12
|
+
import Plan from "./Plan.js";
|
|
13
|
+
import ValidationError from "./ValidationError.js";
|
|
14
|
+
import ValidatorFactory from "./ValidatorFactory.js";
|
|
15
|
+
import waypointUrl from "./waypoint-url.js";
|
|
16
|
+
import * as utils from "./utils.js";
|
|
17
|
+
export { CasaTemplateLoader, configure, configurationIngestor, endSession, field, PageField, JourneyContext, MutableRouter, Plan, utils, ValidationError, ValidatorFactory, waypointUrl, };
|
package/dist/lib/logger.d.ts
CHANGED
|
@@ -1,10 +1,33 @@
|
|
|
1
|
-
declare function _default(namespace:
|
|
1
|
+
declare function _default(namespace: string): CASADebugLogger;
|
|
2
|
+
export default _default;
|
|
3
|
+
/**
|
|
4
|
+
* CASA Debug logger
|
|
5
|
+
*/
|
|
6
|
+
export type CASADebugLogger = {
|
|
7
|
+
/**
|
|
8
|
+
* Trace level logger
|
|
9
|
+
*/
|
|
2
10
|
trace: debug.Debugger;
|
|
11
|
+
/**
|
|
12
|
+
* Debug level logger
|
|
13
|
+
*/
|
|
3
14
|
debug: debug.Debugger;
|
|
15
|
+
/**
|
|
16
|
+
* Info level logger
|
|
17
|
+
*/
|
|
4
18
|
info: debug.Debugger;
|
|
19
|
+
/**
|
|
20
|
+
* Warn level logger
|
|
21
|
+
*/
|
|
5
22
|
warn: debug.Debugger;
|
|
23
|
+
/**
|
|
24
|
+
* Error level logger
|
|
25
|
+
*/
|
|
6
26
|
error: debug.Debugger;
|
|
27
|
+
/**
|
|
28
|
+
* Fatal level logger
|
|
29
|
+
*/
|
|
7
30
|
fatal: debug.Debugger;
|
|
8
31
|
};
|
|
9
|
-
export default _default;
|
|
10
32
|
import debug from "debug";
|
|
33
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.js"],"names":[],"mappings":"AAUe,qCAHJ,MAAM,GACJ,eAAe,CAa3B;;;;;;;;;WAIa,KAAK,CAAC,QAAQ;;;;WACd,KAAK,CAAC,QAAQ;;;;UACd,KAAK,CAAC,QAAQ;;;;UACd,KAAK,CAAC,QAAQ;;;;WACd,KAAK,CAAC,QAAQ;;;;WACd,KAAK,CAAC,QAAQ;;kBA9BV,OAAO"}
|
package/dist/lib/logger.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import debug from "debug";
|
|
2
|
+
const casaDebugger = debug("casa");
|
|
3
|
+
/**
|
|
4
|
+
* Get a debug logger for a given namespace
|
|
5
|
+
*
|
|
6
|
+
* @param {string} namespace Debug log namespace
|
|
7
|
+
* @returns {CASADebugLogger} CASA Debug logger
|
|
8
|
+
*/
|
|
9
|
+
export default (namespace) => {
|
|
9
10
|
const logger = casaDebugger.extend(namespace);
|
|
10
11
|
return {
|
|
11
12
|
trace: logger.extend("trace"),
|
|
@@ -16,4 +17,12 @@ exports.default = (namespace) => {
|
|
|
16
17
|
fatal: logger.extend("fatal"),
|
|
17
18
|
};
|
|
18
19
|
};
|
|
19
|
-
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {object} CASADebugLogger CASA Debug logger
|
|
22
|
+
* @property {debug.Debugger} trace Trace level logger
|
|
23
|
+
* @property {debug.Debugger} debug Debug level logger
|
|
24
|
+
* @property {debug.Debugger} info Info level logger
|
|
25
|
+
* @property {debug.Debugger} warn Warn level logger
|
|
26
|
+
* @property {debug.Debugger} error Error level logger
|
|
27
|
+
* @property {debug.Debugger} fatal Fatal level logger
|
|
28
|
+
*/
|
package/dist/lib/mount.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/lib/mount.js"],"names":[],"mappings":"AAkDe,kNAfZ;IAAkC,WAAW,EAArC,mBAAmB;IAEL,QAAQ;IACV,IAAI;IACI,YAAY,EAAhC,aAAa;IACO,eAAe,EAAnC,aAAa;IACO,aAAa,EAAjC,aAAa;IACiB,aAAa,EAA3C,qBAAqB,EAAE;IACO,iBAAiB,EAA/C,qBAAqB,EAAE;IACO,cAAc,EAA5C,qBAAqB,EAAE;IACO,oBAAoB,EAAlD,qBAAqB,EAAE;IACO,cAAc,EAA5C,qBAAqB,EAAE;IACO,cAAc,EAA5C,qBAAqB,EAAE;CAC/B,GAAU,OAAO,CAoEjB;;kCA7GU,OAAO,UAAU,EAAE,WAAW;oCAK9B,OAAO,SAAS,EAAE,cAAc;sBAKhC,OAAO,SAAS,EAAE,OAAO;mBAKzB,OAAO,SAAS,EAAE,IAAI;4BAKtB,OAAO,SAAS,EAAE,aAAa"}
|