aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/nanoid/non-secure
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/nanoid/non-secure
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/nanoid/non-secure')
-rw-r--r--vanilla/node_modules/nanoid/non-secure/index.cjs34
-rw-r--r--vanilla/node_modules/nanoid/non-secure/index.d.ts33
-rw-r--r--vanilla/node_modules/nanoid/non-secure/index.js21
-rw-r--r--vanilla/node_modules/nanoid/non-secure/package.json6
4 files changed, 94 insertions, 0 deletions
diff --git a/vanilla/node_modules/nanoid/non-secure/index.cjs b/vanilla/node_modules/nanoid/non-secure/index.cjs
new file mode 100644
index 0000000..d51fcb6
--- /dev/null
+++ b/vanilla/node_modules/nanoid/non-secure/index.cjs
@@ -0,0 +1,34 @@
+// This alphabet uses `A-Za-z0-9_-` symbols.
+// The order of characters is optimized for better gzip and brotli compression.
+// References to the same file (works both for gzip and brotli):
+// `'use`, `andom`, and `rict'`
+// References to the brotli default dictionary:
+// `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`
+let urlAlphabet =
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
+
+let customAlphabet = (alphabet, defaultSize = 21) => {
+ return (size = defaultSize) => {
+ let id = ''
+ // A compact alternative for `for (var i = 0; i < step; i++)`.
+ let i = size | 0
+ while (i--) {
+ // `| 0` is more compact and faster than `Math.floor()`.
+ id += alphabet[(Math.random() * alphabet.length) | 0]
+ }
+ return id
+ }
+}
+
+let nanoid = (size = 21) => {
+ let id = ''
+ // A compact alternative for `for (var i = 0; i < step; i++)`.
+ let i = size | 0
+ while (i--) {
+ // `| 0` is more compact and faster than `Math.floor()`.
+ id += urlAlphabet[(Math.random() * 64) | 0]
+ }
+ return id
+}
+
+module.exports = { nanoid, customAlphabet }
diff --git a/vanilla/node_modules/nanoid/non-secure/index.d.ts b/vanilla/node_modules/nanoid/non-secure/index.d.ts
new file mode 100644
index 0000000..4965322
--- /dev/null
+++ b/vanilla/node_modules/nanoid/non-secure/index.d.ts
@@ -0,0 +1,33 @@
+/**
+ * Generate URL-friendly unique ID. This method uses the non-secure
+ * predictable random generator with bigger collision probability.
+ *
+ * ```js
+ * import { nanoid } from 'nanoid/non-secure'
+ * model.id = nanoid() //=> "Uakgb_J5m9g-0JDMbcJqL"
+ * ```
+ *
+ * @param size Size of the ID. The default size is 21.
+ * @returns A random string.
+ */
+export function nanoid(size?: number): string
+
+/**
+ * Generate a unique ID based on a custom alphabet.
+ * This method uses the non-secure predictable random generator
+ * with bigger collision probability.
+ *
+ * @param alphabet Alphabet used to generate the ID.
+ * @param defaultSize Size of the ID. The default size is 21.
+ * @returns A random string generator.
+ *
+ * ```js
+ * import { customAlphabet } from 'nanoid/non-secure'
+ * const nanoid = customAlphabet('0123456789абвгдеё', 5)
+ * model.id = //=> "8ё56а"
+ * ```
+ */
+export function customAlphabet(
+ alphabet: string,
+ defaultSize?: number
+): (size?: number) => string
diff --git a/vanilla/node_modules/nanoid/non-secure/index.js b/vanilla/node_modules/nanoid/non-secure/index.js
new file mode 100644
index 0000000..2ea5827
--- /dev/null
+++ b/vanilla/node_modules/nanoid/non-secure/index.js
@@ -0,0 +1,21 @@
+let urlAlphabet =
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
+let customAlphabet = (alphabet, defaultSize = 21) => {
+ return (size = defaultSize) => {
+ let id = ''
+ let i = size | 0
+ while (i--) {
+ id += alphabet[(Math.random() * alphabet.length) | 0]
+ }
+ return id
+ }
+}
+let nanoid = (size = 21) => {
+ let id = ''
+ let i = size | 0
+ while (i--) {
+ id += urlAlphabet[(Math.random() * 64) | 0]
+ }
+ return id
+}
+export { nanoid, customAlphabet }
diff --git a/vanilla/node_modules/nanoid/non-secure/package.json b/vanilla/node_modules/nanoid/non-secure/package.json
new file mode 100644
index 0000000..9930d6a
--- /dev/null
+++ b/vanilla/node_modules/nanoid/non-secure/package.json
@@ -0,0 +1,6 @@
+{
+ "type": "module",
+ "main": "index.cjs",
+ "module": "index.js",
+ "react-native": "index.js"
+} \ No newline at end of file