summaryrefslogtreecommitdiffstats
path: root/node_modules/saslprep/lib/memory-code-points.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/saslprep/lib/memory-code-points.js
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/saslprep/lib/memory-code-points.js')
-rw-r--r--node_modules/saslprep/lib/memory-code-points.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/node_modules/saslprep/lib/memory-code-points.js b/node_modules/saslprep/lib/memory-code-points.js
new file mode 100644
index 0000000..cb0289c
--- /dev/null
+++ b/node_modules/saslprep/lib/memory-code-points.js
@@ -0,0 +1,39 @@
+'use strict';
+
+const fs = require('fs');
+const path = require('path');
+const bitfield = require('sparse-bitfield');
+
+/* eslint-disable-next-line security/detect-non-literal-fs-filename */
+const memory = fs.readFileSync(path.resolve(__dirname, '../code-points.mem'));
+let offset = 0;
+
+/**
+ * Loads each code points sequence from buffer.
+ * @returns {bitfield}
+ */
+function read() {
+ const size = memory.readUInt32BE(offset);
+ offset += 4;
+
+ const codepoints = memory.slice(offset, offset + size);
+ offset += size;
+
+ return bitfield({ buffer: codepoints });
+}
+
+const unassigned_code_points = read();
+const commonly_mapped_to_nothing = read();
+const non_ASCII_space_characters = read();
+const prohibited_characters = read();
+const bidirectional_r_al = read();
+const bidirectional_l = read();
+
+module.exports = {
+ unassigned_code_points,
+ commonly_mapped_to_nothing,
+ non_ASCII_space_characters,
+ prohibited_characters,
+ bidirectional_r_al,
+ bidirectional_l,
+};