@gemeentenijmegen/webapp 0.0.3 → 0.0.5
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/.jsii +3 -3
- package/assets/webapp/login/login.lambda/index.js +543 -529
- package/assets/webapp/logout/logout.lambda/index.js +488 -474
- package/lib/index.d.ts +0 -2
- package/lib/index.js +7 -5
- package/lib/webapp/Api.js +1 -1
- package/lib/webapp/Cloudfront.js +1 -1
- package/lib/webapp/Webapp.js +2 -2
- package/lib/webapp/Webpage.js +5 -5
- package/lib/webapp/auth/AuthRequestHandler.js +1 -1
- package/lib/webapp/auth/auth.lambda.js +1 -1
- package/lib/webapp/login/login.lambda.js +1 -1
- package/lib/webapp/login/loginRequestHandler.js +3 -3
- package/lib/webapp/logout/handleLogoutRequest.js +2 -2
- package/lib/webapp/logout/logout.lambda.js +2 -2
- package/lib/webapp/util/Files.js +2 -2
- package/lib/webapp/util/OpenIDConnect.js +4 -4
- package/lib/webapp/util/footer.d.ts +2 -0
- package/lib/webapp/util/footer.js +107 -0
- package/lib/webapp/util/header.d.ts +2 -0
- package/lib/webapp/util/header.js +98 -0
- package/lib/webapp/util/render.d.ts +1 -1
- package/lib/webapp/util/render.js +8 -7
- package/package.json +4 -8
|
@@ -103,11 +103,11 @@ var require_Response = __commonJS({
|
|
|
103
103
|
var require_cookie = __commonJS({
|
|
104
104
|
"node_modules/@gemeentenijmegen/session/node_modules/cookie/index.js"(exports2) {
|
|
105
105
|
"use strict";
|
|
106
|
-
exports2.parse =
|
|
106
|
+
exports2.parse = parse;
|
|
107
107
|
exports2.serialize = serialize;
|
|
108
108
|
var __toString = Object.prototype.toString;
|
|
109
109
|
var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
|
|
110
|
-
function
|
|
110
|
+
function parse(str, options) {
|
|
111
111
|
if (typeof str !== "string") {
|
|
112
112
|
throw new TypeError("argument str must be a string");
|
|
113
113
|
}
|
|
@@ -1940,7 +1940,7 @@ var require_jwk_to_key = __commonJS({
|
|
|
1940
1940
|
var check_modulus_length_js_1 = require_check_modulus_length();
|
|
1941
1941
|
var asn1_sequence_encoder_js_1 = require_asn1_sequence_encoder();
|
|
1942
1942
|
var flags_js_1 = require_flags();
|
|
1943
|
-
var
|
|
1943
|
+
var parse = (jwk) => {
|
|
1944
1944
|
if (flags_js_1.jwkImport && jwk.kty !== "oct") {
|
|
1945
1945
|
return jwk.d ? (0, crypto_1.createPrivateKey)({ format: "jwk", key: jwk }) : (0, crypto_1.createPublicKey)({ format: "jwk", key: jwk });
|
|
1946
1946
|
}
|
|
@@ -2044,7 +2044,7 @@ var require_jwk_to_key = __commonJS({
|
|
|
2044
2044
|
throw new errors_js_1.JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value');
|
|
2045
2045
|
}
|
|
2046
2046
|
};
|
|
2047
|
-
exports2.default =
|
|
2047
|
+
exports2.default = parse;
|
|
2048
2048
|
}
|
|
2049
2049
|
});
|
|
2050
2050
|
|
|
@@ -5587,23 +5587,23 @@ var require_yallist = __commonJS({
|
|
|
5587
5587
|
Yallist.Node = Node;
|
|
5588
5588
|
Yallist.create = Yallist;
|
|
5589
5589
|
function Yallist(list) {
|
|
5590
|
-
var
|
|
5591
|
-
if (!(
|
|
5592
|
-
|
|
5590
|
+
var self2 = this;
|
|
5591
|
+
if (!(self2 instanceof Yallist)) {
|
|
5592
|
+
self2 = new Yallist();
|
|
5593
5593
|
}
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5594
|
+
self2.tail = null;
|
|
5595
|
+
self2.head = null;
|
|
5596
|
+
self2.length = 0;
|
|
5597
5597
|
if (list && typeof list.forEach === "function") {
|
|
5598
5598
|
list.forEach(function(item) {
|
|
5599
|
-
|
|
5599
|
+
self2.push(item);
|
|
5600
5600
|
});
|
|
5601
5601
|
} else if (arguments.length > 0) {
|
|
5602
5602
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
5603
|
-
|
|
5603
|
+
self2.push(arguments[i]);
|
|
5604
5604
|
}
|
|
5605
5605
|
}
|
|
5606
|
-
return
|
|
5606
|
+
return self2;
|
|
5607
5607
|
}
|
|
5608
5608
|
Yallist.prototype.removeNode = function(node) {
|
|
5609
5609
|
if (node.list !== this) {
|
|
@@ -5669,7 +5669,7 @@ var require_yallist = __commonJS({
|
|
|
5669
5669
|
};
|
|
5670
5670
|
Yallist.prototype.push = function() {
|
|
5671
5671
|
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
5672
|
-
|
|
5672
|
+
push(this, arguments[i]);
|
|
5673
5673
|
}
|
|
5674
5674
|
return this.length;
|
|
5675
5675
|
};
|
|
@@ -5897,30 +5897,30 @@ var require_yallist = __commonJS({
|
|
|
5897
5897
|
this.tail = head;
|
|
5898
5898
|
return this;
|
|
5899
5899
|
};
|
|
5900
|
-
function insert(
|
|
5901
|
-
var inserted = node ===
|
|
5900
|
+
function insert(self2, node, value) {
|
|
5901
|
+
var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2);
|
|
5902
5902
|
if (inserted.next === null) {
|
|
5903
|
-
|
|
5903
|
+
self2.tail = inserted;
|
|
5904
5904
|
}
|
|
5905
5905
|
if (inserted.prev === null) {
|
|
5906
|
-
|
|
5906
|
+
self2.head = inserted;
|
|
5907
5907
|
}
|
|
5908
|
-
|
|
5908
|
+
self2.length++;
|
|
5909
5909
|
return inserted;
|
|
5910
5910
|
}
|
|
5911
|
-
function
|
|
5912
|
-
|
|
5913
|
-
if (!
|
|
5914
|
-
|
|
5911
|
+
function push(self2, item) {
|
|
5912
|
+
self2.tail = new Node(item, self2.tail, null, self2);
|
|
5913
|
+
if (!self2.head) {
|
|
5914
|
+
self2.head = self2.tail;
|
|
5915
5915
|
}
|
|
5916
|
-
|
|
5916
|
+
self2.length++;
|
|
5917
5917
|
}
|
|
5918
|
-
function unshift(
|
|
5919
|
-
|
|
5920
|
-
if (!
|
|
5921
|
-
|
|
5918
|
+
function unshift(self2, item) {
|
|
5919
|
+
self2.head = new Node(item, null, self2.head, self2);
|
|
5920
|
+
if (!self2.tail) {
|
|
5921
|
+
self2.tail = self2.head;
|
|
5922
5922
|
}
|
|
5923
|
-
|
|
5923
|
+
self2.length++;
|
|
5924
5924
|
}
|
|
5925
5925
|
function Node(value, prev, next, list) {
|
|
5926
5926
|
if (!(this instanceof Node)) {
|
|
@@ -6152,47 +6152,47 @@ var require_lru_cache = __commonJS({
|
|
|
6152
6152
|
this[CACHE].forEach((value, key) => get(this, key, false));
|
|
6153
6153
|
}
|
|
6154
6154
|
};
|
|
6155
|
-
var get = (
|
|
6156
|
-
const node =
|
|
6155
|
+
var get = (self2, key, doUse) => {
|
|
6156
|
+
const node = self2[CACHE].get(key);
|
|
6157
6157
|
if (node) {
|
|
6158
6158
|
const hit = node.value;
|
|
6159
|
-
if (isStale(
|
|
6160
|
-
del(
|
|
6161
|
-
if (!
|
|
6159
|
+
if (isStale(self2, hit)) {
|
|
6160
|
+
del(self2, node);
|
|
6161
|
+
if (!self2[ALLOW_STALE])
|
|
6162
6162
|
return void 0;
|
|
6163
6163
|
} else {
|
|
6164
6164
|
if (doUse) {
|
|
6165
|
-
if (
|
|
6165
|
+
if (self2[UPDATE_AGE_ON_GET])
|
|
6166
6166
|
node.value.now = Date.now();
|
|
6167
|
-
|
|
6167
|
+
self2[LRU_LIST].unshiftNode(node);
|
|
6168
6168
|
}
|
|
6169
6169
|
}
|
|
6170
6170
|
return hit.value;
|
|
6171
6171
|
}
|
|
6172
6172
|
};
|
|
6173
|
-
var isStale = (
|
|
6174
|
-
if (!hit || !hit.maxAge && !
|
|
6173
|
+
var isStale = (self2, hit) => {
|
|
6174
|
+
if (!hit || !hit.maxAge && !self2[MAX_AGE])
|
|
6175
6175
|
return false;
|
|
6176
6176
|
const diff = Date.now() - hit.now;
|
|
6177
|
-
return hit.maxAge ? diff > hit.maxAge :
|
|
6177
|
+
return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE];
|
|
6178
6178
|
};
|
|
6179
|
-
var trim = (
|
|
6180
|
-
if (
|
|
6181
|
-
for (let walker =
|
|
6179
|
+
var trim = (self2) => {
|
|
6180
|
+
if (self2[LENGTH] > self2[MAX]) {
|
|
6181
|
+
for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) {
|
|
6182
6182
|
const prev = walker.prev;
|
|
6183
|
-
del(
|
|
6183
|
+
del(self2, walker);
|
|
6184
6184
|
walker = prev;
|
|
6185
6185
|
}
|
|
6186
6186
|
}
|
|
6187
6187
|
};
|
|
6188
|
-
var del = (
|
|
6188
|
+
var del = (self2, node) => {
|
|
6189
6189
|
if (node) {
|
|
6190
6190
|
const hit = node.value;
|
|
6191
|
-
if (
|
|
6192
|
-
|
|
6193
|
-
|
|
6194
|
-
|
|
6195
|
-
|
|
6191
|
+
if (self2[DISPOSE])
|
|
6192
|
+
self2[DISPOSE](hit.key, hit.value);
|
|
6193
|
+
self2[LENGTH] -= hit.length;
|
|
6194
|
+
self2[CACHE].delete(hit.key);
|
|
6195
|
+
self2[LRU_LIST].removeNode(node);
|
|
6196
6196
|
}
|
|
6197
6197
|
};
|
|
6198
6198
|
var Entry = class {
|
|
@@ -6204,15 +6204,15 @@ var require_lru_cache = __commonJS({
|
|
|
6204
6204
|
this.maxAge = maxAge || 0;
|
|
6205
6205
|
}
|
|
6206
6206
|
};
|
|
6207
|
-
var forEachStep = (
|
|
6207
|
+
var forEachStep = (self2, fn, node, thisp) => {
|
|
6208
6208
|
let hit = node.value;
|
|
6209
|
-
if (isStale(
|
|
6210
|
-
del(
|
|
6211
|
-
if (!
|
|
6209
|
+
if (isStale(self2, hit)) {
|
|
6210
|
+
del(self2, node);
|
|
6211
|
+
if (!self2[ALLOW_STALE])
|
|
6212
6212
|
hit = void 0;
|
|
6213
6213
|
}
|
|
6214
6214
|
if (hit)
|
|
6215
|
-
fn.call(thisp, hit.value, hit.key,
|
|
6215
|
+
fn.call(thisp, hit.value, hit.key, self2);
|
|
6216
6216
|
};
|
|
6217
6217
|
module2.exports = LRUCache;
|
|
6218
6218
|
}
|
|
@@ -7135,12 +7135,12 @@ var require_object_hash = __commonJS({
|
|
|
7135
7135
|
});
|
|
7136
7136
|
}
|
|
7137
7137
|
write("object:" + keys.length + ":");
|
|
7138
|
-
var
|
|
7138
|
+
var self2 = this;
|
|
7139
7139
|
return keys.forEach(function(key) {
|
|
7140
|
-
|
|
7140
|
+
self2.dispatch(key);
|
|
7141
7141
|
write(":");
|
|
7142
7142
|
if (!options.excludeValues) {
|
|
7143
|
-
|
|
7143
|
+
self2.dispatch(object[key]);
|
|
7144
7144
|
}
|
|
7145
7145
|
write(",");
|
|
7146
7146
|
});
|
|
@@ -7148,11 +7148,11 @@ var require_object_hash = __commonJS({
|
|
|
7148
7148
|
},
|
|
7149
7149
|
_array: function(arr, unordered) {
|
|
7150
7150
|
unordered = typeof unordered !== "undefined" ? unordered : options.unorderedArrays !== false;
|
|
7151
|
-
var
|
|
7151
|
+
var self2 = this;
|
|
7152
7152
|
write("array:" + arr.length + ":");
|
|
7153
7153
|
if (!unordered || arr.length <= 1) {
|
|
7154
7154
|
return arr.forEach(function(entry) {
|
|
7155
|
-
return
|
|
7155
|
+
return self2.dispatch(entry);
|
|
7156
7156
|
});
|
|
7157
7157
|
}
|
|
7158
7158
|
var contextAdditions = [];
|
|
@@ -9501,6 +9501,478 @@ var require_lib3 = __commonJS({
|
|
|
9501
9501
|
}
|
|
9502
9502
|
});
|
|
9503
9503
|
|
|
9504
|
+
// node_modules/mustache/mustache.js
|
|
9505
|
+
var require_mustache = __commonJS({
|
|
9506
|
+
"node_modules/mustache/mustache.js"(exports2, module2) {
|
|
9507
|
+
"use strict";
|
|
9508
|
+
(function(global, factory) {
|
|
9509
|
+
typeof exports2 === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = global || self, global.Mustache = factory());
|
|
9510
|
+
})(exports2, function() {
|
|
9511
|
+
"use strict";
|
|
9512
|
+
var objectToString = Object.prototype.toString;
|
|
9513
|
+
var isArray = Array.isArray || function isArrayPolyfill(object) {
|
|
9514
|
+
return objectToString.call(object) === "[object Array]";
|
|
9515
|
+
};
|
|
9516
|
+
function isFunction(object) {
|
|
9517
|
+
return typeof object === "function";
|
|
9518
|
+
}
|
|
9519
|
+
function typeStr(obj) {
|
|
9520
|
+
return isArray(obj) ? "array" : typeof obj;
|
|
9521
|
+
}
|
|
9522
|
+
function escapeRegExp(string) {
|
|
9523
|
+
return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
|
|
9524
|
+
}
|
|
9525
|
+
function hasProperty(obj, propName) {
|
|
9526
|
+
return obj != null && typeof obj === "object" && propName in obj;
|
|
9527
|
+
}
|
|
9528
|
+
function primitiveHasOwnProperty(primitive, propName) {
|
|
9529
|
+
return primitive != null && typeof primitive !== "object" && primitive.hasOwnProperty && primitive.hasOwnProperty(propName);
|
|
9530
|
+
}
|
|
9531
|
+
var regExpTest = RegExp.prototype.test;
|
|
9532
|
+
function testRegExp(re, string) {
|
|
9533
|
+
return regExpTest.call(re, string);
|
|
9534
|
+
}
|
|
9535
|
+
var nonSpaceRe = /\S/;
|
|
9536
|
+
function isWhitespace(string) {
|
|
9537
|
+
return !testRegExp(nonSpaceRe, string);
|
|
9538
|
+
}
|
|
9539
|
+
var entityMap = {
|
|
9540
|
+
"&": "&",
|
|
9541
|
+
"<": "<",
|
|
9542
|
+
">": ">",
|
|
9543
|
+
'"': """,
|
|
9544
|
+
"'": "'",
|
|
9545
|
+
"/": "/",
|
|
9546
|
+
"`": "`",
|
|
9547
|
+
"=": "="
|
|
9548
|
+
};
|
|
9549
|
+
function escapeHtml(string) {
|
|
9550
|
+
return String(string).replace(/[&<>"'`=\/]/g, function fromEntityMap(s) {
|
|
9551
|
+
return entityMap[s];
|
|
9552
|
+
});
|
|
9553
|
+
}
|
|
9554
|
+
var whiteRe = /\s*/;
|
|
9555
|
+
var spaceRe = /\s+/;
|
|
9556
|
+
var equalsRe = /\s*=/;
|
|
9557
|
+
var curlyRe = /\s*\}/;
|
|
9558
|
+
var tagRe = /#|\^|\/|>|\{|&|=|!/;
|
|
9559
|
+
function parseTemplate(template3, tags) {
|
|
9560
|
+
if (!template3)
|
|
9561
|
+
return [];
|
|
9562
|
+
var lineHasNonSpace = false;
|
|
9563
|
+
var sections = [];
|
|
9564
|
+
var tokens = [];
|
|
9565
|
+
var spaces = [];
|
|
9566
|
+
var hasTag = false;
|
|
9567
|
+
var nonSpace = false;
|
|
9568
|
+
var indentation = "";
|
|
9569
|
+
var tagIndex = 0;
|
|
9570
|
+
function stripSpace() {
|
|
9571
|
+
if (hasTag && !nonSpace) {
|
|
9572
|
+
while (spaces.length)
|
|
9573
|
+
delete tokens[spaces.pop()];
|
|
9574
|
+
} else {
|
|
9575
|
+
spaces = [];
|
|
9576
|
+
}
|
|
9577
|
+
hasTag = false;
|
|
9578
|
+
nonSpace = false;
|
|
9579
|
+
}
|
|
9580
|
+
var openingTagRe, closingTagRe, closingCurlyRe;
|
|
9581
|
+
function compileTags(tagsToCompile) {
|
|
9582
|
+
if (typeof tagsToCompile === "string")
|
|
9583
|
+
tagsToCompile = tagsToCompile.split(spaceRe, 2);
|
|
9584
|
+
if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)
|
|
9585
|
+
throw new Error("Invalid tags: " + tagsToCompile);
|
|
9586
|
+
openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + "\\s*");
|
|
9587
|
+
closingTagRe = new RegExp("\\s*" + escapeRegExp(tagsToCompile[1]));
|
|
9588
|
+
closingCurlyRe = new RegExp("\\s*" + escapeRegExp("}" + tagsToCompile[1]));
|
|
9589
|
+
}
|
|
9590
|
+
compileTags(tags || mustache2.tags);
|
|
9591
|
+
var scanner = new Scanner(template3);
|
|
9592
|
+
var start, type, value, chr, token, openSection;
|
|
9593
|
+
while (!scanner.eos()) {
|
|
9594
|
+
start = scanner.pos;
|
|
9595
|
+
value = scanner.scanUntil(openingTagRe);
|
|
9596
|
+
if (value) {
|
|
9597
|
+
for (var i = 0, valueLength = value.length; i < valueLength; ++i) {
|
|
9598
|
+
chr = value.charAt(i);
|
|
9599
|
+
if (isWhitespace(chr)) {
|
|
9600
|
+
spaces.push(tokens.length);
|
|
9601
|
+
indentation += chr;
|
|
9602
|
+
} else {
|
|
9603
|
+
nonSpace = true;
|
|
9604
|
+
lineHasNonSpace = true;
|
|
9605
|
+
indentation += " ";
|
|
9606
|
+
}
|
|
9607
|
+
tokens.push(["text", chr, start, start + 1]);
|
|
9608
|
+
start += 1;
|
|
9609
|
+
if (chr === "\n") {
|
|
9610
|
+
stripSpace();
|
|
9611
|
+
indentation = "";
|
|
9612
|
+
tagIndex = 0;
|
|
9613
|
+
lineHasNonSpace = false;
|
|
9614
|
+
}
|
|
9615
|
+
}
|
|
9616
|
+
}
|
|
9617
|
+
if (!scanner.scan(openingTagRe))
|
|
9618
|
+
break;
|
|
9619
|
+
hasTag = true;
|
|
9620
|
+
type = scanner.scan(tagRe) || "name";
|
|
9621
|
+
scanner.scan(whiteRe);
|
|
9622
|
+
if (type === "=") {
|
|
9623
|
+
value = scanner.scanUntil(equalsRe);
|
|
9624
|
+
scanner.scan(equalsRe);
|
|
9625
|
+
scanner.scanUntil(closingTagRe);
|
|
9626
|
+
} else if (type === "{") {
|
|
9627
|
+
value = scanner.scanUntil(closingCurlyRe);
|
|
9628
|
+
scanner.scan(curlyRe);
|
|
9629
|
+
scanner.scanUntil(closingTagRe);
|
|
9630
|
+
type = "&";
|
|
9631
|
+
} else {
|
|
9632
|
+
value = scanner.scanUntil(closingTagRe);
|
|
9633
|
+
}
|
|
9634
|
+
if (!scanner.scan(closingTagRe))
|
|
9635
|
+
throw new Error("Unclosed tag at " + scanner.pos);
|
|
9636
|
+
if (type == ">") {
|
|
9637
|
+
token = [type, value, start, scanner.pos, indentation, tagIndex, lineHasNonSpace];
|
|
9638
|
+
} else {
|
|
9639
|
+
token = [type, value, start, scanner.pos];
|
|
9640
|
+
}
|
|
9641
|
+
tagIndex++;
|
|
9642
|
+
tokens.push(token);
|
|
9643
|
+
if (type === "#" || type === "^") {
|
|
9644
|
+
sections.push(token);
|
|
9645
|
+
} else if (type === "/") {
|
|
9646
|
+
openSection = sections.pop();
|
|
9647
|
+
if (!openSection)
|
|
9648
|
+
throw new Error('Unopened section "' + value + '" at ' + start);
|
|
9649
|
+
if (openSection[1] !== value)
|
|
9650
|
+
throw new Error('Unclosed section "' + openSection[1] + '" at ' + start);
|
|
9651
|
+
} else if (type === "name" || type === "{" || type === "&") {
|
|
9652
|
+
nonSpace = true;
|
|
9653
|
+
} else if (type === "=") {
|
|
9654
|
+
compileTags(value);
|
|
9655
|
+
}
|
|
9656
|
+
}
|
|
9657
|
+
stripSpace();
|
|
9658
|
+
openSection = sections.pop();
|
|
9659
|
+
if (openSection)
|
|
9660
|
+
throw new Error('Unclosed section "' + openSection[1] + '" at ' + scanner.pos);
|
|
9661
|
+
return nestTokens(squashTokens(tokens));
|
|
9662
|
+
}
|
|
9663
|
+
function squashTokens(tokens) {
|
|
9664
|
+
var squashedTokens = [];
|
|
9665
|
+
var token, lastToken;
|
|
9666
|
+
for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
|
|
9667
|
+
token = tokens[i];
|
|
9668
|
+
if (token) {
|
|
9669
|
+
if (token[0] === "text" && lastToken && lastToken[0] === "text") {
|
|
9670
|
+
lastToken[1] += token[1];
|
|
9671
|
+
lastToken[3] = token[3];
|
|
9672
|
+
} else {
|
|
9673
|
+
squashedTokens.push(token);
|
|
9674
|
+
lastToken = token;
|
|
9675
|
+
}
|
|
9676
|
+
}
|
|
9677
|
+
}
|
|
9678
|
+
return squashedTokens;
|
|
9679
|
+
}
|
|
9680
|
+
function nestTokens(tokens) {
|
|
9681
|
+
var nestedTokens = [];
|
|
9682
|
+
var collector = nestedTokens;
|
|
9683
|
+
var sections = [];
|
|
9684
|
+
var token, section;
|
|
9685
|
+
for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
|
|
9686
|
+
token = tokens[i];
|
|
9687
|
+
switch (token[0]) {
|
|
9688
|
+
case "#":
|
|
9689
|
+
case "^":
|
|
9690
|
+
collector.push(token);
|
|
9691
|
+
sections.push(token);
|
|
9692
|
+
collector = token[4] = [];
|
|
9693
|
+
break;
|
|
9694
|
+
case "/":
|
|
9695
|
+
section = sections.pop();
|
|
9696
|
+
section[5] = token[2];
|
|
9697
|
+
collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;
|
|
9698
|
+
break;
|
|
9699
|
+
default:
|
|
9700
|
+
collector.push(token);
|
|
9701
|
+
}
|
|
9702
|
+
}
|
|
9703
|
+
return nestedTokens;
|
|
9704
|
+
}
|
|
9705
|
+
function Scanner(string) {
|
|
9706
|
+
this.string = string;
|
|
9707
|
+
this.tail = string;
|
|
9708
|
+
this.pos = 0;
|
|
9709
|
+
}
|
|
9710
|
+
Scanner.prototype.eos = function eos() {
|
|
9711
|
+
return this.tail === "";
|
|
9712
|
+
};
|
|
9713
|
+
Scanner.prototype.scan = function scan(re) {
|
|
9714
|
+
var match = this.tail.match(re);
|
|
9715
|
+
if (!match || match.index !== 0)
|
|
9716
|
+
return "";
|
|
9717
|
+
var string = match[0];
|
|
9718
|
+
this.tail = this.tail.substring(string.length);
|
|
9719
|
+
this.pos += string.length;
|
|
9720
|
+
return string;
|
|
9721
|
+
};
|
|
9722
|
+
Scanner.prototype.scanUntil = function scanUntil(re) {
|
|
9723
|
+
var index = this.tail.search(re), match;
|
|
9724
|
+
switch (index) {
|
|
9725
|
+
case -1:
|
|
9726
|
+
match = this.tail;
|
|
9727
|
+
this.tail = "";
|
|
9728
|
+
break;
|
|
9729
|
+
case 0:
|
|
9730
|
+
match = "";
|
|
9731
|
+
break;
|
|
9732
|
+
default:
|
|
9733
|
+
match = this.tail.substring(0, index);
|
|
9734
|
+
this.tail = this.tail.substring(index);
|
|
9735
|
+
}
|
|
9736
|
+
this.pos += match.length;
|
|
9737
|
+
return match;
|
|
9738
|
+
};
|
|
9739
|
+
function Context(view, parentContext) {
|
|
9740
|
+
this.view = view;
|
|
9741
|
+
this.cache = { ".": this.view };
|
|
9742
|
+
this.parent = parentContext;
|
|
9743
|
+
}
|
|
9744
|
+
Context.prototype.push = function push(view) {
|
|
9745
|
+
return new Context(view, this);
|
|
9746
|
+
};
|
|
9747
|
+
Context.prototype.lookup = function lookup(name) {
|
|
9748
|
+
var cache = this.cache;
|
|
9749
|
+
var value;
|
|
9750
|
+
if (cache.hasOwnProperty(name)) {
|
|
9751
|
+
value = cache[name];
|
|
9752
|
+
} else {
|
|
9753
|
+
var context = this, intermediateValue, names, index, lookupHit = false;
|
|
9754
|
+
while (context) {
|
|
9755
|
+
if (name.indexOf(".") > 0) {
|
|
9756
|
+
intermediateValue = context.view;
|
|
9757
|
+
names = name.split(".");
|
|
9758
|
+
index = 0;
|
|
9759
|
+
while (intermediateValue != null && index < names.length) {
|
|
9760
|
+
if (index === names.length - 1)
|
|
9761
|
+
lookupHit = hasProperty(intermediateValue, names[index]) || primitiveHasOwnProperty(intermediateValue, names[index]);
|
|
9762
|
+
intermediateValue = intermediateValue[names[index++]];
|
|
9763
|
+
}
|
|
9764
|
+
} else {
|
|
9765
|
+
intermediateValue = context.view[name];
|
|
9766
|
+
lookupHit = hasProperty(context.view, name);
|
|
9767
|
+
}
|
|
9768
|
+
if (lookupHit) {
|
|
9769
|
+
value = intermediateValue;
|
|
9770
|
+
break;
|
|
9771
|
+
}
|
|
9772
|
+
context = context.parent;
|
|
9773
|
+
}
|
|
9774
|
+
cache[name] = value;
|
|
9775
|
+
}
|
|
9776
|
+
if (isFunction(value))
|
|
9777
|
+
value = value.call(this.view);
|
|
9778
|
+
return value;
|
|
9779
|
+
};
|
|
9780
|
+
function Writer() {
|
|
9781
|
+
this.templateCache = {
|
|
9782
|
+
_cache: {},
|
|
9783
|
+
set: function set(key, value) {
|
|
9784
|
+
this._cache[key] = value;
|
|
9785
|
+
},
|
|
9786
|
+
get: function get(key) {
|
|
9787
|
+
return this._cache[key];
|
|
9788
|
+
},
|
|
9789
|
+
clear: function clear() {
|
|
9790
|
+
this._cache = {};
|
|
9791
|
+
}
|
|
9792
|
+
};
|
|
9793
|
+
}
|
|
9794
|
+
Writer.prototype.clearCache = function clearCache() {
|
|
9795
|
+
if (typeof this.templateCache !== "undefined") {
|
|
9796
|
+
this.templateCache.clear();
|
|
9797
|
+
}
|
|
9798
|
+
};
|
|
9799
|
+
Writer.prototype.parse = function parse(template3, tags) {
|
|
9800
|
+
var cache = this.templateCache;
|
|
9801
|
+
var cacheKey = template3 + ":" + (tags || mustache2.tags).join(":");
|
|
9802
|
+
var isCacheEnabled = typeof cache !== "undefined";
|
|
9803
|
+
var tokens = isCacheEnabled ? cache.get(cacheKey) : void 0;
|
|
9804
|
+
if (tokens == void 0) {
|
|
9805
|
+
tokens = parseTemplate(template3, tags);
|
|
9806
|
+
isCacheEnabled && cache.set(cacheKey, tokens);
|
|
9807
|
+
}
|
|
9808
|
+
return tokens;
|
|
9809
|
+
};
|
|
9810
|
+
Writer.prototype.render = function render2(template3, view, partials, config) {
|
|
9811
|
+
var tags = this.getConfigTags(config);
|
|
9812
|
+
var tokens = this.parse(template3, tags);
|
|
9813
|
+
var context = view instanceof Context ? view : new Context(view, void 0);
|
|
9814
|
+
return this.renderTokens(tokens, context, partials, template3, config);
|
|
9815
|
+
};
|
|
9816
|
+
Writer.prototype.renderTokens = function renderTokens(tokens, context, partials, originalTemplate, config) {
|
|
9817
|
+
var buffer = "";
|
|
9818
|
+
var token, symbol, value;
|
|
9819
|
+
for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
|
|
9820
|
+
value = void 0;
|
|
9821
|
+
token = tokens[i];
|
|
9822
|
+
symbol = token[0];
|
|
9823
|
+
if (symbol === "#")
|
|
9824
|
+
value = this.renderSection(token, context, partials, originalTemplate, config);
|
|
9825
|
+
else if (symbol === "^")
|
|
9826
|
+
value = this.renderInverted(token, context, partials, originalTemplate, config);
|
|
9827
|
+
else if (symbol === ">")
|
|
9828
|
+
value = this.renderPartial(token, context, partials, config);
|
|
9829
|
+
else if (symbol === "&")
|
|
9830
|
+
value = this.unescapedValue(token, context);
|
|
9831
|
+
else if (symbol === "name")
|
|
9832
|
+
value = this.escapedValue(token, context, config);
|
|
9833
|
+
else if (symbol === "text")
|
|
9834
|
+
value = this.rawValue(token);
|
|
9835
|
+
if (value !== void 0)
|
|
9836
|
+
buffer += value;
|
|
9837
|
+
}
|
|
9838
|
+
return buffer;
|
|
9839
|
+
};
|
|
9840
|
+
Writer.prototype.renderSection = function renderSection(token, context, partials, originalTemplate, config) {
|
|
9841
|
+
var self2 = this;
|
|
9842
|
+
var buffer = "";
|
|
9843
|
+
var value = context.lookup(token[1]);
|
|
9844
|
+
function subRender(template3) {
|
|
9845
|
+
return self2.render(template3, context, partials, config);
|
|
9846
|
+
}
|
|
9847
|
+
if (!value)
|
|
9848
|
+
return;
|
|
9849
|
+
if (isArray(value)) {
|
|
9850
|
+
for (var j = 0, valueLength = value.length; j < valueLength; ++j) {
|
|
9851
|
+
buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate, config);
|
|
9852
|
+
}
|
|
9853
|
+
} else if (typeof value === "object" || typeof value === "string" || typeof value === "number") {
|
|
9854
|
+
buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate, config);
|
|
9855
|
+
} else if (isFunction(value)) {
|
|
9856
|
+
if (typeof originalTemplate !== "string")
|
|
9857
|
+
throw new Error("Cannot use higher-order sections without the original template");
|
|
9858
|
+
value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);
|
|
9859
|
+
if (value != null)
|
|
9860
|
+
buffer += value;
|
|
9861
|
+
} else {
|
|
9862
|
+
buffer += this.renderTokens(token[4], context, partials, originalTemplate, config);
|
|
9863
|
+
}
|
|
9864
|
+
return buffer;
|
|
9865
|
+
};
|
|
9866
|
+
Writer.prototype.renderInverted = function renderInverted(token, context, partials, originalTemplate, config) {
|
|
9867
|
+
var value = context.lookup(token[1]);
|
|
9868
|
+
if (!value || isArray(value) && value.length === 0)
|
|
9869
|
+
return this.renderTokens(token[4], context, partials, originalTemplate, config);
|
|
9870
|
+
};
|
|
9871
|
+
Writer.prototype.indentPartial = function indentPartial(partial, indentation, lineHasNonSpace) {
|
|
9872
|
+
var filteredIndentation = indentation.replace(/[^ \t]/g, "");
|
|
9873
|
+
var partialByNl = partial.split("\n");
|
|
9874
|
+
for (var i = 0; i < partialByNl.length; i++) {
|
|
9875
|
+
if (partialByNl[i].length && (i > 0 || !lineHasNonSpace)) {
|
|
9876
|
+
partialByNl[i] = filteredIndentation + partialByNl[i];
|
|
9877
|
+
}
|
|
9878
|
+
}
|
|
9879
|
+
return partialByNl.join("\n");
|
|
9880
|
+
};
|
|
9881
|
+
Writer.prototype.renderPartial = function renderPartial(token, context, partials, config) {
|
|
9882
|
+
if (!partials)
|
|
9883
|
+
return;
|
|
9884
|
+
var tags = this.getConfigTags(config);
|
|
9885
|
+
var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];
|
|
9886
|
+
if (value != null) {
|
|
9887
|
+
var lineHasNonSpace = token[6];
|
|
9888
|
+
var tagIndex = token[5];
|
|
9889
|
+
var indentation = token[4];
|
|
9890
|
+
var indentedValue = value;
|
|
9891
|
+
if (tagIndex == 0 && indentation) {
|
|
9892
|
+
indentedValue = this.indentPartial(value, indentation, lineHasNonSpace);
|
|
9893
|
+
}
|
|
9894
|
+
var tokens = this.parse(indentedValue, tags);
|
|
9895
|
+
return this.renderTokens(tokens, context, partials, indentedValue, config);
|
|
9896
|
+
}
|
|
9897
|
+
};
|
|
9898
|
+
Writer.prototype.unescapedValue = function unescapedValue(token, context) {
|
|
9899
|
+
var value = context.lookup(token[1]);
|
|
9900
|
+
if (value != null)
|
|
9901
|
+
return value;
|
|
9902
|
+
};
|
|
9903
|
+
Writer.prototype.escapedValue = function escapedValue(token, context, config) {
|
|
9904
|
+
var escape = this.getConfigEscape(config) || mustache2.escape;
|
|
9905
|
+
var value = context.lookup(token[1]);
|
|
9906
|
+
if (value != null)
|
|
9907
|
+
return typeof value === "number" && escape === mustache2.escape ? String(value) : escape(value);
|
|
9908
|
+
};
|
|
9909
|
+
Writer.prototype.rawValue = function rawValue(token) {
|
|
9910
|
+
return token[1];
|
|
9911
|
+
};
|
|
9912
|
+
Writer.prototype.getConfigTags = function getConfigTags(config) {
|
|
9913
|
+
if (isArray(config)) {
|
|
9914
|
+
return config;
|
|
9915
|
+
} else if (config && typeof config === "object") {
|
|
9916
|
+
return config.tags;
|
|
9917
|
+
} else {
|
|
9918
|
+
return void 0;
|
|
9919
|
+
}
|
|
9920
|
+
};
|
|
9921
|
+
Writer.prototype.getConfigEscape = function getConfigEscape(config) {
|
|
9922
|
+
if (config && typeof config === "object" && !isArray(config)) {
|
|
9923
|
+
return config.escape;
|
|
9924
|
+
} else {
|
|
9925
|
+
return void 0;
|
|
9926
|
+
}
|
|
9927
|
+
};
|
|
9928
|
+
var mustache2 = {
|
|
9929
|
+
name: "mustache.js",
|
|
9930
|
+
version: "4.2.0",
|
|
9931
|
+
tags: ["{{", "}}"],
|
|
9932
|
+
clearCache: void 0,
|
|
9933
|
+
escape: void 0,
|
|
9934
|
+
parse: void 0,
|
|
9935
|
+
render: void 0,
|
|
9936
|
+
Scanner: void 0,
|
|
9937
|
+
Context: void 0,
|
|
9938
|
+
Writer: void 0,
|
|
9939
|
+
/**
|
|
9940
|
+
* Allows a user to override the default caching strategy, by providing an
|
|
9941
|
+
* object with set, get and clear methods. This can also be used to disable
|
|
9942
|
+
* the cache by setting it to the literal `undefined`.
|
|
9943
|
+
*/
|
|
9944
|
+
set templateCache(cache) {
|
|
9945
|
+
defaultWriter.templateCache = cache;
|
|
9946
|
+
},
|
|
9947
|
+
/**
|
|
9948
|
+
* Gets the default or overridden caching object from the default writer.
|
|
9949
|
+
*/
|
|
9950
|
+
get templateCache() {
|
|
9951
|
+
return defaultWriter.templateCache;
|
|
9952
|
+
}
|
|
9953
|
+
};
|
|
9954
|
+
var defaultWriter = new Writer();
|
|
9955
|
+
mustache2.clearCache = function clearCache() {
|
|
9956
|
+
return defaultWriter.clearCache();
|
|
9957
|
+
};
|
|
9958
|
+
mustache2.parse = function parse(template3, tags) {
|
|
9959
|
+
return defaultWriter.parse(template3, tags);
|
|
9960
|
+
};
|
|
9961
|
+
mustache2.render = function render2(template3, view, partials, config) {
|
|
9962
|
+
if (typeof template3 !== "string") {
|
|
9963
|
+
throw new TypeError('Invalid template! Template should be a "string" but "' + typeStr(template3) + '" was given as the first argument for mustache#render(template, view, partials)');
|
|
9964
|
+
}
|
|
9965
|
+
return defaultWriter.render(template3, view, partials, config);
|
|
9966
|
+
};
|
|
9967
|
+
mustache2.escape = escapeHtml;
|
|
9968
|
+
mustache2.Scanner = Scanner;
|
|
9969
|
+
mustache2.Context = Context;
|
|
9970
|
+
mustache2.Writer = Writer;
|
|
9971
|
+
return mustache2;
|
|
9972
|
+
});
|
|
9973
|
+
}
|
|
9974
|
+
});
|
|
9975
|
+
|
|
9504
9976
|
// src/webapp/login/login.lambda.ts
|
|
9505
9977
|
var login_lambda_exports = {};
|
|
9506
9978
|
__export(login_lambda_exports, {
|
|
@@ -9640,467 +10112,6 @@ var OpenIDConnect = class {
|
|
|
9640
10112
|
}
|
|
9641
10113
|
};
|
|
9642
10114
|
|
|
9643
|
-
// node_modules/mustache/mustache.mjs
|
|
9644
|
-
var objectToString = Object.prototype.toString;
|
|
9645
|
-
var isArray = Array.isArray || function isArrayPolyfill(object) {
|
|
9646
|
-
return objectToString.call(object) === "[object Array]";
|
|
9647
|
-
};
|
|
9648
|
-
function isFunction(object) {
|
|
9649
|
-
return typeof object === "function";
|
|
9650
|
-
}
|
|
9651
|
-
function typeStr(obj) {
|
|
9652
|
-
return isArray(obj) ? "array" : typeof obj;
|
|
9653
|
-
}
|
|
9654
|
-
function escapeRegExp(string) {
|
|
9655
|
-
return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
|
|
9656
|
-
}
|
|
9657
|
-
function hasProperty(obj, propName) {
|
|
9658
|
-
return obj != null && typeof obj === "object" && propName in obj;
|
|
9659
|
-
}
|
|
9660
|
-
function primitiveHasOwnProperty(primitive, propName) {
|
|
9661
|
-
return primitive != null && typeof primitive !== "object" && primitive.hasOwnProperty && primitive.hasOwnProperty(propName);
|
|
9662
|
-
}
|
|
9663
|
-
var regExpTest = RegExp.prototype.test;
|
|
9664
|
-
function testRegExp(re, string) {
|
|
9665
|
-
return regExpTest.call(re, string);
|
|
9666
|
-
}
|
|
9667
|
-
var nonSpaceRe = /\S/;
|
|
9668
|
-
function isWhitespace(string) {
|
|
9669
|
-
return !testRegExp(nonSpaceRe, string);
|
|
9670
|
-
}
|
|
9671
|
-
var entityMap = {
|
|
9672
|
-
"&": "&",
|
|
9673
|
-
"<": "<",
|
|
9674
|
-
">": ">",
|
|
9675
|
-
'"': """,
|
|
9676
|
-
"'": "'",
|
|
9677
|
-
"/": "/",
|
|
9678
|
-
"`": "`",
|
|
9679
|
-
"=": "="
|
|
9680
|
-
};
|
|
9681
|
-
function escapeHtml(string) {
|
|
9682
|
-
return String(string).replace(/[&<>"'`=\/]/g, function fromEntityMap(s) {
|
|
9683
|
-
return entityMap[s];
|
|
9684
|
-
});
|
|
9685
|
-
}
|
|
9686
|
-
var whiteRe = /\s*/;
|
|
9687
|
-
var spaceRe = /\s+/;
|
|
9688
|
-
var equalsRe = /\s*=/;
|
|
9689
|
-
var curlyRe = /\s*\}/;
|
|
9690
|
-
var tagRe = /#|\^|\/|>|\{|&|=|!/;
|
|
9691
|
-
function parseTemplate(template, tags) {
|
|
9692
|
-
if (!template)
|
|
9693
|
-
return [];
|
|
9694
|
-
var lineHasNonSpace = false;
|
|
9695
|
-
var sections = [];
|
|
9696
|
-
var tokens = [];
|
|
9697
|
-
var spaces = [];
|
|
9698
|
-
var hasTag = false;
|
|
9699
|
-
var nonSpace = false;
|
|
9700
|
-
var indentation = "";
|
|
9701
|
-
var tagIndex = 0;
|
|
9702
|
-
function stripSpace() {
|
|
9703
|
-
if (hasTag && !nonSpace) {
|
|
9704
|
-
while (spaces.length)
|
|
9705
|
-
delete tokens[spaces.pop()];
|
|
9706
|
-
} else {
|
|
9707
|
-
spaces = [];
|
|
9708
|
-
}
|
|
9709
|
-
hasTag = false;
|
|
9710
|
-
nonSpace = false;
|
|
9711
|
-
}
|
|
9712
|
-
var openingTagRe, closingTagRe, closingCurlyRe;
|
|
9713
|
-
function compileTags(tagsToCompile) {
|
|
9714
|
-
if (typeof tagsToCompile === "string")
|
|
9715
|
-
tagsToCompile = tagsToCompile.split(spaceRe, 2);
|
|
9716
|
-
if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)
|
|
9717
|
-
throw new Error("Invalid tags: " + tagsToCompile);
|
|
9718
|
-
openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + "\\s*");
|
|
9719
|
-
closingTagRe = new RegExp("\\s*" + escapeRegExp(tagsToCompile[1]));
|
|
9720
|
-
closingCurlyRe = new RegExp("\\s*" + escapeRegExp("}" + tagsToCompile[1]));
|
|
9721
|
-
}
|
|
9722
|
-
compileTags(tags || mustache.tags);
|
|
9723
|
-
var scanner = new Scanner(template);
|
|
9724
|
-
var start, type, value, chr, token, openSection;
|
|
9725
|
-
while (!scanner.eos()) {
|
|
9726
|
-
start = scanner.pos;
|
|
9727
|
-
value = scanner.scanUntil(openingTagRe);
|
|
9728
|
-
if (value) {
|
|
9729
|
-
for (var i = 0, valueLength = value.length; i < valueLength; ++i) {
|
|
9730
|
-
chr = value.charAt(i);
|
|
9731
|
-
if (isWhitespace(chr)) {
|
|
9732
|
-
spaces.push(tokens.length);
|
|
9733
|
-
indentation += chr;
|
|
9734
|
-
} else {
|
|
9735
|
-
nonSpace = true;
|
|
9736
|
-
lineHasNonSpace = true;
|
|
9737
|
-
indentation += " ";
|
|
9738
|
-
}
|
|
9739
|
-
tokens.push(["text", chr, start, start + 1]);
|
|
9740
|
-
start += 1;
|
|
9741
|
-
if (chr === "\n") {
|
|
9742
|
-
stripSpace();
|
|
9743
|
-
indentation = "";
|
|
9744
|
-
tagIndex = 0;
|
|
9745
|
-
lineHasNonSpace = false;
|
|
9746
|
-
}
|
|
9747
|
-
}
|
|
9748
|
-
}
|
|
9749
|
-
if (!scanner.scan(openingTagRe))
|
|
9750
|
-
break;
|
|
9751
|
-
hasTag = true;
|
|
9752
|
-
type = scanner.scan(tagRe) || "name";
|
|
9753
|
-
scanner.scan(whiteRe);
|
|
9754
|
-
if (type === "=") {
|
|
9755
|
-
value = scanner.scanUntil(equalsRe);
|
|
9756
|
-
scanner.scan(equalsRe);
|
|
9757
|
-
scanner.scanUntil(closingTagRe);
|
|
9758
|
-
} else if (type === "{") {
|
|
9759
|
-
value = scanner.scanUntil(closingCurlyRe);
|
|
9760
|
-
scanner.scan(curlyRe);
|
|
9761
|
-
scanner.scanUntil(closingTagRe);
|
|
9762
|
-
type = "&";
|
|
9763
|
-
} else {
|
|
9764
|
-
value = scanner.scanUntil(closingTagRe);
|
|
9765
|
-
}
|
|
9766
|
-
if (!scanner.scan(closingTagRe))
|
|
9767
|
-
throw new Error("Unclosed tag at " + scanner.pos);
|
|
9768
|
-
if (type == ">") {
|
|
9769
|
-
token = [type, value, start, scanner.pos, indentation, tagIndex, lineHasNonSpace];
|
|
9770
|
-
} else {
|
|
9771
|
-
token = [type, value, start, scanner.pos];
|
|
9772
|
-
}
|
|
9773
|
-
tagIndex++;
|
|
9774
|
-
tokens.push(token);
|
|
9775
|
-
if (type === "#" || type === "^") {
|
|
9776
|
-
sections.push(token);
|
|
9777
|
-
} else if (type === "/") {
|
|
9778
|
-
openSection = sections.pop();
|
|
9779
|
-
if (!openSection)
|
|
9780
|
-
throw new Error('Unopened section "' + value + '" at ' + start);
|
|
9781
|
-
if (openSection[1] !== value)
|
|
9782
|
-
throw new Error('Unclosed section "' + openSection[1] + '" at ' + start);
|
|
9783
|
-
} else if (type === "name" || type === "{" || type === "&") {
|
|
9784
|
-
nonSpace = true;
|
|
9785
|
-
} else if (type === "=") {
|
|
9786
|
-
compileTags(value);
|
|
9787
|
-
}
|
|
9788
|
-
}
|
|
9789
|
-
stripSpace();
|
|
9790
|
-
openSection = sections.pop();
|
|
9791
|
-
if (openSection)
|
|
9792
|
-
throw new Error('Unclosed section "' + openSection[1] + '" at ' + scanner.pos);
|
|
9793
|
-
return nestTokens(squashTokens(tokens));
|
|
9794
|
-
}
|
|
9795
|
-
function squashTokens(tokens) {
|
|
9796
|
-
var squashedTokens = [];
|
|
9797
|
-
var token, lastToken;
|
|
9798
|
-
for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
|
|
9799
|
-
token = tokens[i];
|
|
9800
|
-
if (token) {
|
|
9801
|
-
if (token[0] === "text" && lastToken && lastToken[0] === "text") {
|
|
9802
|
-
lastToken[1] += token[1];
|
|
9803
|
-
lastToken[3] = token[3];
|
|
9804
|
-
} else {
|
|
9805
|
-
squashedTokens.push(token);
|
|
9806
|
-
lastToken = token;
|
|
9807
|
-
}
|
|
9808
|
-
}
|
|
9809
|
-
}
|
|
9810
|
-
return squashedTokens;
|
|
9811
|
-
}
|
|
9812
|
-
function nestTokens(tokens) {
|
|
9813
|
-
var nestedTokens = [];
|
|
9814
|
-
var collector = nestedTokens;
|
|
9815
|
-
var sections = [];
|
|
9816
|
-
var token, section;
|
|
9817
|
-
for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
|
|
9818
|
-
token = tokens[i];
|
|
9819
|
-
switch (token[0]) {
|
|
9820
|
-
case "#":
|
|
9821
|
-
case "^":
|
|
9822
|
-
collector.push(token);
|
|
9823
|
-
sections.push(token);
|
|
9824
|
-
collector = token[4] = [];
|
|
9825
|
-
break;
|
|
9826
|
-
case "/":
|
|
9827
|
-
section = sections.pop();
|
|
9828
|
-
section[5] = token[2];
|
|
9829
|
-
collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;
|
|
9830
|
-
break;
|
|
9831
|
-
default:
|
|
9832
|
-
collector.push(token);
|
|
9833
|
-
}
|
|
9834
|
-
}
|
|
9835
|
-
return nestedTokens;
|
|
9836
|
-
}
|
|
9837
|
-
function Scanner(string) {
|
|
9838
|
-
this.string = string;
|
|
9839
|
-
this.tail = string;
|
|
9840
|
-
this.pos = 0;
|
|
9841
|
-
}
|
|
9842
|
-
Scanner.prototype.eos = function eos() {
|
|
9843
|
-
return this.tail === "";
|
|
9844
|
-
};
|
|
9845
|
-
Scanner.prototype.scan = function scan(re) {
|
|
9846
|
-
var match = this.tail.match(re);
|
|
9847
|
-
if (!match || match.index !== 0)
|
|
9848
|
-
return "";
|
|
9849
|
-
var string = match[0];
|
|
9850
|
-
this.tail = this.tail.substring(string.length);
|
|
9851
|
-
this.pos += string.length;
|
|
9852
|
-
return string;
|
|
9853
|
-
};
|
|
9854
|
-
Scanner.prototype.scanUntil = function scanUntil(re) {
|
|
9855
|
-
var index = this.tail.search(re), match;
|
|
9856
|
-
switch (index) {
|
|
9857
|
-
case -1:
|
|
9858
|
-
match = this.tail;
|
|
9859
|
-
this.tail = "";
|
|
9860
|
-
break;
|
|
9861
|
-
case 0:
|
|
9862
|
-
match = "";
|
|
9863
|
-
break;
|
|
9864
|
-
default:
|
|
9865
|
-
match = this.tail.substring(0, index);
|
|
9866
|
-
this.tail = this.tail.substring(index);
|
|
9867
|
-
}
|
|
9868
|
-
this.pos += match.length;
|
|
9869
|
-
return match;
|
|
9870
|
-
};
|
|
9871
|
-
function Context(view, parentContext) {
|
|
9872
|
-
this.view = view;
|
|
9873
|
-
this.cache = { ".": this.view };
|
|
9874
|
-
this.parent = parentContext;
|
|
9875
|
-
}
|
|
9876
|
-
Context.prototype.push = function push(view) {
|
|
9877
|
-
return new Context(view, this);
|
|
9878
|
-
};
|
|
9879
|
-
Context.prototype.lookup = function lookup(name) {
|
|
9880
|
-
var cache = this.cache;
|
|
9881
|
-
var value;
|
|
9882
|
-
if (cache.hasOwnProperty(name)) {
|
|
9883
|
-
value = cache[name];
|
|
9884
|
-
} else {
|
|
9885
|
-
var context = this, intermediateValue, names, index, lookupHit = false;
|
|
9886
|
-
while (context) {
|
|
9887
|
-
if (name.indexOf(".") > 0) {
|
|
9888
|
-
intermediateValue = context.view;
|
|
9889
|
-
names = name.split(".");
|
|
9890
|
-
index = 0;
|
|
9891
|
-
while (intermediateValue != null && index < names.length) {
|
|
9892
|
-
if (index === names.length - 1)
|
|
9893
|
-
lookupHit = hasProperty(intermediateValue, names[index]) || primitiveHasOwnProperty(intermediateValue, names[index]);
|
|
9894
|
-
intermediateValue = intermediateValue[names[index++]];
|
|
9895
|
-
}
|
|
9896
|
-
} else {
|
|
9897
|
-
intermediateValue = context.view[name];
|
|
9898
|
-
lookupHit = hasProperty(context.view, name);
|
|
9899
|
-
}
|
|
9900
|
-
if (lookupHit) {
|
|
9901
|
-
value = intermediateValue;
|
|
9902
|
-
break;
|
|
9903
|
-
}
|
|
9904
|
-
context = context.parent;
|
|
9905
|
-
}
|
|
9906
|
-
cache[name] = value;
|
|
9907
|
-
}
|
|
9908
|
-
if (isFunction(value))
|
|
9909
|
-
value = value.call(this.view);
|
|
9910
|
-
return value;
|
|
9911
|
-
};
|
|
9912
|
-
function Writer() {
|
|
9913
|
-
this.templateCache = {
|
|
9914
|
-
_cache: {},
|
|
9915
|
-
set: function set(key, value) {
|
|
9916
|
-
this._cache[key] = value;
|
|
9917
|
-
},
|
|
9918
|
-
get: function get(key) {
|
|
9919
|
-
return this._cache[key];
|
|
9920
|
-
},
|
|
9921
|
-
clear: function clear() {
|
|
9922
|
-
this._cache = {};
|
|
9923
|
-
}
|
|
9924
|
-
};
|
|
9925
|
-
}
|
|
9926
|
-
Writer.prototype.clearCache = function clearCache() {
|
|
9927
|
-
if (typeof this.templateCache !== "undefined") {
|
|
9928
|
-
this.templateCache.clear();
|
|
9929
|
-
}
|
|
9930
|
-
};
|
|
9931
|
-
Writer.prototype.parse = function parse(template, tags) {
|
|
9932
|
-
var cache = this.templateCache;
|
|
9933
|
-
var cacheKey = template + ":" + (tags || mustache.tags).join(":");
|
|
9934
|
-
var isCacheEnabled = typeof cache !== "undefined";
|
|
9935
|
-
var tokens = isCacheEnabled ? cache.get(cacheKey) : void 0;
|
|
9936
|
-
if (tokens == void 0) {
|
|
9937
|
-
tokens = parseTemplate(template, tags);
|
|
9938
|
-
isCacheEnabled && cache.set(cacheKey, tokens);
|
|
9939
|
-
}
|
|
9940
|
-
return tokens;
|
|
9941
|
-
};
|
|
9942
|
-
Writer.prototype.render = function render(template, view, partials, config) {
|
|
9943
|
-
var tags = this.getConfigTags(config);
|
|
9944
|
-
var tokens = this.parse(template, tags);
|
|
9945
|
-
var context = view instanceof Context ? view : new Context(view, void 0);
|
|
9946
|
-
return this.renderTokens(tokens, context, partials, template, config);
|
|
9947
|
-
};
|
|
9948
|
-
Writer.prototype.renderTokens = function renderTokens(tokens, context, partials, originalTemplate, config) {
|
|
9949
|
-
var buffer = "";
|
|
9950
|
-
var token, symbol, value;
|
|
9951
|
-
for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
|
|
9952
|
-
value = void 0;
|
|
9953
|
-
token = tokens[i];
|
|
9954
|
-
symbol = token[0];
|
|
9955
|
-
if (symbol === "#")
|
|
9956
|
-
value = this.renderSection(token, context, partials, originalTemplate, config);
|
|
9957
|
-
else if (symbol === "^")
|
|
9958
|
-
value = this.renderInverted(token, context, partials, originalTemplate, config);
|
|
9959
|
-
else if (symbol === ">")
|
|
9960
|
-
value = this.renderPartial(token, context, partials, config);
|
|
9961
|
-
else if (symbol === "&")
|
|
9962
|
-
value = this.unescapedValue(token, context);
|
|
9963
|
-
else if (symbol === "name")
|
|
9964
|
-
value = this.escapedValue(token, context, config);
|
|
9965
|
-
else if (symbol === "text")
|
|
9966
|
-
value = this.rawValue(token);
|
|
9967
|
-
if (value !== void 0)
|
|
9968
|
-
buffer += value;
|
|
9969
|
-
}
|
|
9970
|
-
return buffer;
|
|
9971
|
-
};
|
|
9972
|
-
Writer.prototype.renderSection = function renderSection(token, context, partials, originalTemplate, config) {
|
|
9973
|
-
var self = this;
|
|
9974
|
-
var buffer = "";
|
|
9975
|
-
var value = context.lookup(token[1]);
|
|
9976
|
-
function subRender(template) {
|
|
9977
|
-
return self.render(template, context, partials, config);
|
|
9978
|
-
}
|
|
9979
|
-
if (!value)
|
|
9980
|
-
return;
|
|
9981
|
-
if (isArray(value)) {
|
|
9982
|
-
for (var j = 0, valueLength = value.length; j < valueLength; ++j) {
|
|
9983
|
-
buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate, config);
|
|
9984
|
-
}
|
|
9985
|
-
} else if (typeof value === "object" || typeof value === "string" || typeof value === "number") {
|
|
9986
|
-
buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate, config);
|
|
9987
|
-
} else if (isFunction(value)) {
|
|
9988
|
-
if (typeof originalTemplate !== "string")
|
|
9989
|
-
throw new Error("Cannot use higher-order sections without the original template");
|
|
9990
|
-
value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);
|
|
9991
|
-
if (value != null)
|
|
9992
|
-
buffer += value;
|
|
9993
|
-
} else {
|
|
9994
|
-
buffer += this.renderTokens(token[4], context, partials, originalTemplate, config);
|
|
9995
|
-
}
|
|
9996
|
-
return buffer;
|
|
9997
|
-
};
|
|
9998
|
-
Writer.prototype.renderInverted = function renderInverted(token, context, partials, originalTemplate, config) {
|
|
9999
|
-
var value = context.lookup(token[1]);
|
|
10000
|
-
if (!value || isArray(value) && value.length === 0)
|
|
10001
|
-
return this.renderTokens(token[4], context, partials, originalTemplate, config);
|
|
10002
|
-
};
|
|
10003
|
-
Writer.prototype.indentPartial = function indentPartial(partial, indentation, lineHasNonSpace) {
|
|
10004
|
-
var filteredIndentation = indentation.replace(/[^ \t]/g, "");
|
|
10005
|
-
var partialByNl = partial.split("\n");
|
|
10006
|
-
for (var i = 0; i < partialByNl.length; i++) {
|
|
10007
|
-
if (partialByNl[i].length && (i > 0 || !lineHasNonSpace)) {
|
|
10008
|
-
partialByNl[i] = filteredIndentation + partialByNl[i];
|
|
10009
|
-
}
|
|
10010
|
-
}
|
|
10011
|
-
return partialByNl.join("\n");
|
|
10012
|
-
};
|
|
10013
|
-
Writer.prototype.renderPartial = function renderPartial(token, context, partials, config) {
|
|
10014
|
-
if (!partials)
|
|
10015
|
-
return;
|
|
10016
|
-
var tags = this.getConfigTags(config);
|
|
10017
|
-
var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];
|
|
10018
|
-
if (value != null) {
|
|
10019
|
-
var lineHasNonSpace = token[6];
|
|
10020
|
-
var tagIndex = token[5];
|
|
10021
|
-
var indentation = token[4];
|
|
10022
|
-
var indentedValue = value;
|
|
10023
|
-
if (tagIndex == 0 && indentation) {
|
|
10024
|
-
indentedValue = this.indentPartial(value, indentation, lineHasNonSpace);
|
|
10025
|
-
}
|
|
10026
|
-
var tokens = this.parse(indentedValue, tags);
|
|
10027
|
-
return this.renderTokens(tokens, context, partials, indentedValue, config);
|
|
10028
|
-
}
|
|
10029
|
-
};
|
|
10030
|
-
Writer.prototype.unescapedValue = function unescapedValue(token, context) {
|
|
10031
|
-
var value = context.lookup(token[1]);
|
|
10032
|
-
if (value != null)
|
|
10033
|
-
return value;
|
|
10034
|
-
};
|
|
10035
|
-
Writer.prototype.escapedValue = function escapedValue(token, context, config) {
|
|
10036
|
-
var escape = this.getConfigEscape(config) || mustache.escape;
|
|
10037
|
-
var value = context.lookup(token[1]);
|
|
10038
|
-
if (value != null)
|
|
10039
|
-
return typeof value === "number" && escape === mustache.escape ? String(value) : escape(value);
|
|
10040
|
-
};
|
|
10041
|
-
Writer.prototype.rawValue = function rawValue(token) {
|
|
10042
|
-
return token[1];
|
|
10043
|
-
};
|
|
10044
|
-
Writer.prototype.getConfigTags = function getConfigTags(config) {
|
|
10045
|
-
if (isArray(config)) {
|
|
10046
|
-
return config;
|
|
10047
|
-
} else if (config && typeof config === "object") {
|
|
10048
|
-
return config.tags;
|
|
10049
|
-
} else {
|
|
10050
|
-
return void 0;
|
|
10051
|
-
}
|
|
10052
|
-
};
|
|
10053
|
-
Writer.prototype.getConfigEscape = function getConfigEscape(config) {
|
|
10054
|
-
if (config && typeof config === "object" && !isArray(config)) {
|
|
10055
|
-
return config.escape;
|
|
10056
|
-
} else {
|
|
10057
|
-
return void 0;
|
|
10058
|
-
}
|
|
10059
|
-
};
|
|
10060
|
-
var mustache = {
|
|
10061
|
-
name: "mustache.js",
|
|
10062
|
-
version: "4.2.0",
|
|
10063
|
-
tags: ["{{", "}}"],
|
|
10064
|
-
clearCache: void 0,
|
|
10065
|
-
escape: void 0,
|
|
10066
|
-
parse: void 0,
|
|
10067
|
-
render: void 0,
|
|
10068
|
-
Scanner: void 0,
|
|
10069
|
-
Context: void 0,
|
|
10070
|
-
Writer: void 0,
|
|
10071
|
-
/**
|
|
10072
|
-
* Allows a user to override the default caching strategy, by providing an
|
|
10073
|
-
* object with set, get and clear methods. This can also be used to disable
|
|
10074
|
-
* the cache by setting it to the literal `undefined`.
|
|
10075
|
-
*/
|
|
10076
|
-
set templateCache(cache) {
|
|
10077
|
-
defaultWriter.templateCache = cache;
|
|
10078
|
-
},
|
|
10079
|
-
/**
|
|
10080
|
-
* Gets the default or overridden caching object from the default writer.
|
|
10081
|
-
*/
|
|
10082
|
-
get templateCache() {
|
|
10083
|
-
return defaultWriter.templateCache;
|
|
10084
|
-
}
|
|
10085
|
-
};
|
|
10086
|
-
var defaultWriter = new Writer();
|
|
10087
|
-
mustache.clearCache = function clearCache2() {
|
|
10088
|
-
return defaultWriter.clearCache();
|
|
10089
|
-
};
|
|
10090
|
-
mustache.parse = function parse2(template, tags) {
|
|
10091
|
-
return defaultWriter.parse(template, tags);
|
|
10092
|
-
};
|
|
10093
|
-
mustache.render = function render2(template, view, partials, config) {
|
|
10094
|
-
if (typeof template !== "string") {
|
|
10095
|
-
throw new TypeError('Invalid template! Template should be a "string" but "' + typeStr(template) + '" was given as the first argument for mustache#render(template, view, partials)');
|
|
10096
|
-
}
|
|
10097
|
-
return defaultWriter.render(template, view, partials, config);
|
|
10098
|
-
};
|
|
10099
|
-
mustache.escape = escapeHtml;
|
|
10100
|
-
mustache.Scanner = Scanner;
|
|
10101
|
-
mustache.Context = Context;
|
|
10102
|
-
mustache.Writer = Writer;
|
|
10103
|
-
|
|
10104
10115
|
// src/webapp/util/Files.ts
|
|
10105
10116
|
var fs = __toESM(require("fs"));
|
|
10106
10117
|
var Files = class {
|
|
@@ -10127,16 +10138,19 @@ var Files = class {
|
|
|
10127
10138
|
}
|
|
10128
10139
|
};
|
|
10129
10140
|
|
|
10130
|
-
// src/webapp/util/footer.
|
|
10131
|
-
var
|
|
10141
|
+
// src/webapp/util/footer.ts
|
|
10142
|
+
var template = '<footer class="page-footer"> <div class="footer-content"> <div class="container"> <div class="row"> <div class="hidden-md-down col-lg-6"> </div> <div class="col-md-12 col-lg-6"> <div class="row"> <div class="hidden-md-down col-lg-5"> <h2 class="title">Over deze site</h2> <ul class="link-list"> <li><a href="https://www.nijmegen.nl/toegankelijkheid/">Toegankelijkheid</a></li> <li><a href="https://www.nijmegen.nl/diensten/privacy/">Privacyverklaring</a></li> <li><a href="https://www.nijmegen.nl/cookies/">Cookies</a></li> <li><a href="https://www.nijmegen.nl/proclaimer/">Proclaimer</a></li> <li><a href="https://www.nijmegen.nl/sitemap/">Sitemap</a></li> </ul> </div> <div class="col-xs-12 col-md-6 col-lg-7"> <h2 class="title">Contactgegevens</h2> <ul class="link-list contact-list"> <li> <svg aria-hidden="true" class="mdi mdi-map-marker" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z" /></svg> <span class="sr-only">Bekijk onze locatie:</span> <a href="https://www.google.nl/maps/place/Municipality+of+Nijmegen+(Stadswinkel)/@51.8453377,5.8650266,17z/data=!3m1!4b1!4m5!3m4!1s0x47c708453b48b901:0x73b58e3e154d4f0b!8m2!3d51.8453377!4d5.8672206"> Stadswinkel, Mari\xEBnburg 30 </a> </li> <li> <svg class="mdi mdi-phone" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.25 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.59L6.62,10.79Z" /></svg> <span class="sr-only">Bel ons:</span> <a href="tel:14024"> 14 024 </a> </li> <li> <svg class="mdi mdi-email" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg> <span class="sr-only">Mail ons:</span> <a href="mailto:gemeente@nijmegen.nl"> gemeente@nijmegen.nl </a> </li> <li> <svg class="mdi mdi-facebook" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z" /></svg> <span class="sr-only">Vind ons op facebook:</span> <a href="https://www.facebook.com/gemeentenijmegen"> Gemeente Nijmegen </a> </li> <li> <svg class="mdi mdi-twitter" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.7,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z" /></svg> <span class="sr-only">Volg ons op Twitter:</span> <a href="https://twitter.com/gem_nijmegen"> @nijmegen </a> </li> </ul> </div> </div> </div> </div> </div> </div> <div class="footer-copyright text-center"> <div class="container-fluid"> <img src="https://componenten.nijmegen.nl/v6.1.0/img/beeldmerkwit.svg" height="32" width="25" class="logo-labeled" alt="Logo Gemeente Nijmegen"> Gemeente Nijmegen </div> </div> </footer> <!-- JQuery --> <script src="https://componenten.nijmegen.nl/v6.1.0/js/jquery.min.js" integrity="sha512-pV9V1WiZq0QO8MrheyjVzI9bl2bR6bwaisa4k3aSS0dsGrDDJUl+tdRK9B9Ov47qI22Ho2kCJEuKPspUmUuHEQ==" crossorigin="anonymous"></script> <!-- Bootstrap tooltips --> <script src="https://componenten.nijmegen.nl/v6.1.0/js/popper.min.js" integrity="sha512-lWJ53t3FjWFXcLO7CWRG8vJABfUOuSuMZspt8g2nDyx/ft/B+Zb5jBSjED4Qyze4tp2DqVECV9fHo3j1bzpChw==" crossorigin="anonymous"></script> <!-- Bootstrap core JavaScript --> <script src="https://componenten.nijmegen.nl/v6.1.0/js/bootstrap.min.js" integrity="sha512-uIuDDliVdzuBgB2Ocut6cVdPSGZ6/my59sSOQlwnGi1qtuyyDVzj+8fr/HUr84mBlCs3zGBttci2JSALm8WMNg==" crossorigin="anonymous"></script> <!-- MDB core JavaScript --> <script src="https://componenten.nijmegen.nl/v6.1.0/js/mdb.min.js" integrity="sha512-HTOV7Smd7fT2VtLuwZP+BQ4riX9YHbVMGJ22X1wMcHSNx4JIkE/1KS6ux4S78pdf8orN82idrE36YHccsaHnTA==" crossorigin="anonymous"></script> <!-- Nijmegen specific script --> <script src="https://componenten.nijmegen.nl/v6.1.0/nijmegen.js" integrity="sha512-whPa7XgHBxAZ7Tz1v1cIytLsPEuxFbOnq+mCDHCyBhSk+2sOIouiU66p1moY2loVtQ8/oebuxmjDVflhuGKkmA==" crossorigin="anonymous"></script> <!-- End: Core scripts --> <!-- Start: Additional component(s) script --> <!-- ... --> <!-- End: Additional component(s) script --> </body> </html>';
|
|
10143
|
+
var footer_default = template;
|
|
10132
10144
|
|
|
10133
|
-
// src/webapp/util/header.
|
|
10134
|
-
var
|
|
10145
|
+
// src/webapp/util/header.ts
|
|
10146
|
+
var template2 = '<!doctype html> <html lang="nl"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <link rel="shortcut icon" href="/static/favicon.ico" type="image/x-icon"> <!-- Preload fonts and external styles --> <link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,700&display=swap"> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin="anonymous"> <link rel="preload" as="font" href="/static/fonts/oranda_bold_bt.04c85cb2.woff2" type="font/woff2" crossorigin="anonymous"> <link rel="preload" as="font" href="/static/fonts/oranda_bold_bt.8e266873.woff" type="font/woff" crossorigin="anonymous"> <link rel="preload" as="font" href="/static/fonts/oranda_bt.bde3d05f.woff2" type="font/woff2" crossorigin="anonymous"> <link rel="preload" as="font" href="/static/fonts/oranda_bt.05235f9a.woff" type="font/woff" crossorigin="anonymous"> <!-- Start: Core styling --> <!-- Bootstrap core CSS --> <link rel="stylesheet" href="https://componenten.nijmegen.nl/v6.1.0/css/bootstrap.min.css" integrity="sha512-bnCn1haQjQGPoq90nqpOWUiu9i60sex8WQI639yU2yElzx0pfG0hpaJrKuJTJD3bZ3lEUw+HRGEHrWm6TGsKSg==" crossorigin="anonymous"> <!-- Material Design Bootstrap combined with custom Nijmegen styles --> <link rel="stylesheet" href="https://componenten.nijmegen.nl/v6.1.0/nijmegen.css" integrity="sha512-blgrU3wXs0CIV9iars0ZyneHar1CFTEojkN3O9sGQrkvwT4PZX5wXD6dv7Gde+mUGPhgrr9ej92UCuzDkmk7cQ==" crossorigin="anonymous"> <!-- End: Core styling --> <link rel="stylesheet" href="/static/styles/screen.css"> <title>Webformulieren management{{#title}} - {{.}} {{/title}}</title> </head> <body> <nav class="navbar fixed-top navbar-expand-lg scrolling-navbar navbar-primary"> <ul class="navbar-skiplinks"> <li> <a href="#section-1 ">Direct naar inhoud</a> </li> </ul> <div class="container"> <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbar-collapse" aria-controls="navbar-collapse" aria-expanded="false"> <span class="sr-only">Menu</span> <span class="navbar-toggler-icon" aria-hidden="true"></span> </button> <a class="navbar-brand" href="https://nijmegen.nl"> <span class="sr-only">Hoofdpagina</span> <div class="navbar-brand-container"> <img src="https://componenten.nijmegen.nl/v6.0.0/img/beeldmerklabelwit.svg" class="logo-labeled" alt="Logo Nijmegen"> <img src="https://componenten.nijmegen.nl/v6.0.0/img/beeldmerkwit.svg" class="logo" aria-hidden="true" alt="Logo Nijmegen"> </div> </a> {{#shownav}} <div class="collapse navbar-collapse" id="navbar-collapse"> <ul class="navbar-nav mr-auto nijmegen-smooth-scroll"> <li class="nav-item"> <a href="/" class="nav-link">Overzicht</a> </li> {{#nav}} <li class="nav-item"> <a href="{{{url}}}" class="nav-link">{{title}}</a> </li> {{/nav}} </ul> <ul class="navbar-nav ml-auto"> <li class="nav-item"> <a class="nav-link nav-no-link" href="/logout">{{volledigenaam}} <svg title="uitloggen" class="mdi mdi-logout" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0 0,1 16,4V6H14V4H5V20H14V18H16V20A2,2 0 0,1 14,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2H14Z" /></svg> </a> </li> </ul> </div> {{/shownav}} </div> </nav>';
|
|
10147
|
+
var header_default = template2;
|
|
10135
10148
|
|
|
10136
10149
|
// src/webapp/util/render.ts
|
|
10150
|
+
var mustache = require_mustache();
|
|
10137
10151
|
var overwriteHeader = Files.loadTemplateOverwrite("/opt/header.mustache");
|
|
10138
10152
|
var overwriteFooter = Files.loadTemplateOverwrite("/opt/footer.mustache");
|
|
10139
|
-
async function
|
|
10153
|
+
async function render(data, template3, partials) {
|
|
10140
10154
|
const fullPartials = {
|
|
10141
10155
|
header: overwriteHeader ?? header_default,
|
|
10142
10156
|
footer: overwriteFooter ?? footer_default,
|
|
@@ -10146,7 +10160,7 @@ async function render4(data, template, partials) {
|
|
|
10146
10160
|
logos: false,
|
|
10147
10161
|
...data
|
|
10148
10162
|
};
|
|
10149
|
-
return (
|
|
10163
|
+
return mustache.render(template3, data, fullPartials);
|
|
10150
10164
|
}
|
|
10151
10165
|
|
|
10152
10166
|
// src/webapp/login/loginRequestHandler.ts
|
|
@@ -10194,8 +10208,8 @@ var LoginRequestHandler = class {
|
|
|
10194
10208
|
title: "Inloggen",
|
|
10195
10209
|
authenticationOptions
|
|
10196
10210
|
};
|
|
10197
|
-
const
|
|
10198
|
-
const html = await
|
|
10211
|
+
const template3 = this.config.templateOverwrite ?? login_default;
|
|
10212
|
+
const html = await render(data, template3);
|
|
10199
10213
|
const newCookies = [session.getCookie()];
|
|
10200
10214
|
return import_Response.Response.html(html, 200, newCookies);
|
|
10201
10215
|
}
|
|
@@ -10234,7 +10248,7 @@ cookie/index.js:
|
|
|
10234
10248
|
* MIT Licensed
|
|
10235
10249
|
*)
|
|
10236
10250
|
|
|
10237
|
-
mustache/mustache.
|
|
10251
|
+
mustache/mustache.js:
|
|
10238
10252
|
(*!
|
|
10239
10253
|
* mustache.js - Logic-less {{mustache}} templates with JavaScript
|
|
10240
10254
|
* http://github.com/janl/mustache.js
|