@livestore/utils 0.0.39-dev.3 → 0.0.40
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/.tsbuildinfo.json +1 -1
- package/dist/cuid/cuid.browser.d.ts +18 -0
- package/dist/cuid/cuid.browser.d.ts.map +1 -0
- package/dist/cuid/cuid.browser.js +76 -0
- package/dist/cuid/cuid.browser.js.map +1 -0
- package/dist/cuid/cuid.node.d.ts +18 -0
- package/dist/cuid/cuid.node.d.ts.map +1 -0
- package/dist/cuid/cuid.node.js +83 -0
- package/dist/cuid/cuid.node.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +16 -9
- package/src/cuid/cuid.browser.ts +89 -0
- package/src/cuid/cuid.node.ts +103 -0
- package/src/index.ts +0 -2
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on:
|
|
3
|
+
*
|
|
4
|
+
* cuid.js
|
|
5
|
+
* Collision-resistant UID generator for browsers and node.
|
|
6
|
+
* Sequential for fast db lookups and recency sorting.
|
|
7
|
+
* Safe for element IDs and server-side lookups.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from CLCTR
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) Eric Elliott 2012
|
|
12
|
+
* MIT License
|
|
13
|
+
*/
|
|
14
|
+
export declare const cuid: () => string;
|
|
15
|
+
export declare const slug: () => string;
|
|
16
|
+
export declare const isCuid: (stringToCheck: string) => boolean;
|
|
17
|
+
export declare const isSlug: (stringToCheck: string) => boolean;
|
|
18
|
+
//# sourceMappingURL=cuid.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cuid.browser.d.ts","sourceRoot":"","sources":["../../src/cuid/cuid.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAoCH,eAAO,MAAM,IAAI,cAkBhB,CAAA;AAED,eAAO,MAAM,IAAI,cAOhB,CAAA;AAED,eAAO,MAAM,MAAM,kBAAmB,MAAM,YAI3C,CAAA;AAED,eAAO,MAAM,MAAM,kBAAmB,MAAM,YAK3C,CAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on:
|
|
3
|
+
*
|
|
4
|
+
* cuid.js
|
|
5
|
+
* Collision-resistant UID generator for browsers and node.
|
|
6
|
+
* Sequential for fast db lookups and recency sorting.
|
|
7
|
+
* Safe for element IDs and server-side lookups.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from CLCTR
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) Eric Elliott 2012
|
|
12
|
+
* MIT License
|
|
13
|
+
*/
|
|
14
|
+
const lim = Math.pow(2, 32) - 1;
|
|
15
|
+
const crypto = globalThis.crypto;
|
|
16
|
+
const getRandomValue = () => {
|
|
17
|
+
return Math.abs(crypto.getRandomValues(new Uint32Array(1))[0] / lim);
|
|
18
|
+
};
|
|
19
|
+
const pad = (num, size) => {
|
|
20
|
+
const s = '000000000' + num;
|
|
21
|
+
return s.slice(s.length - size);
|
|
22
|
+
};
|
|
23
|
+
const env = typeof window === 'object' ? window : self;
|
|
24
|
+
const globalCount = Object.keys(env).length;
|
|
25
|
+
const clientId = pad(navigator.userAgent.length.toString(36) + globalCount.toString(36), 4);
|
|
26
|
+
const fingerprint = () => clientId;
|
|
27
|
+
let c = 0;
|
|
28
|
+
const blockSize = 4;
|
|
29
|
+
const base = 36;
|
|
30
|
+
const discreteValues = Math.pow(base, blockSize);
|
|
31
|
+
const randomBlock = () => {
|
|
32
|
+
return pad(Math.trunc(getRandomValue() * discreteValues).toString(base), blockSize);
|
|
33
|
+
};
|
|
34
|
+
const safeCounter = () => {
|
|
35
|
+
c = c < discreteValues ? c : 0;
|
|
36
|
+
c++; // this is not subliminal
|
|
37
|
+
return c - 1;
|
|
38
|
+
};
|
|
39
|
+
export const cuid = () => {
|
|
40
|
+
// Starting with a lowercase letter makes
|
|
41
|
+
// it HTML element ID friendly.
|
|
42
|
+
const letter = 'c', // hard-coded allows for sequential access
|
|
43
|
+
// timestamp
|
|
44
|
+
// warning: this exposes the exact date and time
|
|
45
|
+
// that the uid was created.
|
|
46
|
+
timestamp = Date.now().toString(base),
|
|
47
|
+
// Prevent same-machine collisions.
|
|
48
|
+
counter = pad(safeCounter().toString(base), blockSize),
|
|
49
|
+
// A few chars to generate distinct ids for different
|
|
50
|
+
// clients (so different computers are far less
|
|
51
|
+
// likely to generate the same id)
|
|
52
|
+
print = fingerprint(),
|
|
53
|
+
// Grab some more chars from Math.random()
|
|
54
|
+
random = randomBlock() + randomBlock();
|
|
55
|
+
return letter + timestamp + counter + print + random;
|
|
56
|
+
};
|
|
57
|
+
export const slug = () => {
|
|
58
|
+
const date = Date.now().toString(36), counter = safeCounter().toString(36).slice(-4), print = fingerprint().slice(0, 1) + fingerprint().slice(-1), random = randomBlock().slice(-2);
|
|
59
|
+
return date.slice(-2) + counter + print + random;
|
|
60
|
+
};
|
|
61
|
+
export const isCuid = (stringToCheck) => {
|
|
62
|
+
if (typeof stringToCheck !== 'string')
|
|
63
|
+
return false;
|
|
64
|
+
if (stringToCheck.startsWith('c'))
|
|
65
|
+
return true;
|
|
66
|
+
return false;
|
|
67
|
+
};
|
|
68
|
+
export const isSlug = (stringToCheck) => {
|
|
69
|
+
if (typeof stringToCheck !== 'string')
|
|
70
|
+
return false;
|
|
71
|
+
const stringLength = stringToCheck.length;
|
|
72
|
+
if (stringLength >= 7 && stringLength <= 10)
|
|
73
|
+
return true;
|
|
74
|
+
return false;
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=cuid.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cuid.browser.js","sourceRoot":"","sources":["../../src/cuid/cuid.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on:
|
|
3
|
+
*
|
|
4
|
+
* cuid.js
|
|
5
|
+
* Collision-resistant UID generator for browsers and node.
|
|
6
|
+
* Sequential for fast db lookups and recency sorting.
|
|
7
|
+
* Safe for element IDs and server-side lookups.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from CLCTR
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) Eric Elliott 2012
|
|
12
|
+
* MIT License
|
|
13
|
+
*/
|
|
14
|
+
export declare const cuid: () => string;
|
|
15
|
+
export declare const slug: () => string;
|
|
16
|
+
export declare const isCuid: (stringToCheck: string) => boolean;
|
|
17
|
+
export declare const isSlug: (stringToCheck: string) => boolean;
|
|
18
|
+
//# sourceMappingURL=cuid.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cuid.node.d.ts","sourceRoot":"","sources":["../../src/cuid/cuid.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkDH,eAAO,MAAM,IAAI,cAkBhB,CAAA;AAED,eAAO,MAAM,IAAI,cAOhB,CAAA;AAED,eAAO,MAAM,MAAM,kBAAmB,MAAM,YAI3C,CAAA;AAED,eAAO,MAAM,MAAM,kBAAmB,MAAM,YAK3C,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on:
|
|
3
|
+
*
|
|
4
|
+
* cuid.js
|
|
5
|
+
* Collision-resistant UID generator for browsers and node.
|
|
6
|
+
* Sequential for fast db lookups and recency sorting.
|
|
7
|
+
* Safe for element IDs and server-side lookups.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from CLCTR
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) Eric Elliott 2012
|
|
12
|
+
* MIT License
|
|
13
|
+
*/
|
|
14
|
+
import crypto from 'node:crypto';
|
|
15
|
+
import os from 'node:os';
|
|
16
|
+
const lim = Math.pow(2, 32) - 1;
|
|
17
|
+
const getRandomValue = () => {
|
|
18
|
+
return Math.abs(crypto.randomBytes(4).readInt32BE() / lim);
|
|
19
|
+
};
|
|
20
|
+
const pad = (num, size) => {
|
|
21
|
+
const s = '000000000' + num;
|
|
22
|
+
return s.slice(s.length - size);
|
|
23
|
+
};
|
|
24
|
+
const fingerprint = () => {
|
|
25
|
+
const padding = 2, pid = pad(process.pid.toString(36), padding), hostname = os.hostname(), length = hostname.length, hostId = pad(hostname
|
|
26
|
+
.split('')
|
|
27
|
+
.reduce((prev, char) => {
|
|
28
|
+
// eslint-disable-next-line unicorn/prefer-code-point
|
|
29
|
+
return +prev + char.charCodeAt(0);
|
|
30
|
+
}, +length + 36)
|
|
31
|
+
.toString(36), padding);
|
|
32
|
+
return pid + hostId;
|
|
33
|
+
};
|
|
34
|
+
let c = 0;
|
|
35
|
+
const blockSize = 4;
|
|
36
|
+
const base = 36;
|
|
37
|
+
const discreteValues = Math.pow(base, blockSize);
|
|
38
|
+
const randomBlock = () => {
|
|
39
|
+
return pad(Math.trunc(getRandomValue() * discreteValues).toString(base), blockSize);
|
|
40
|
+
};
|
|
41
|
+
const safeCounter = () => {
|
|
42
|
+
c = c < discreteValues ? c : 0;
|
|
43
|
+
c++; // this is not subliminal
|
|
44
|
+
return c - 1;
|
|
45
|
+
};
|
|
46
|
+
export const cuid = () => {
|
|
47
|
+
// Starting with a lowercase letter makes
|
|
48
|
+
// it HTML element ID friendly.
|
|
49
|
+
const letter = 'c', // hard-coded allows for sequential access
|
|
50
|
+
// timestamp
|
|
51
|
+
// warning: this exposes the exact date and time
|
|
52
|
+
// that the uid was created.
|
|
53
|
+
timestamp = Date.now().toString(base),
|
|
54
|
+
// Prevent same-machine collisions.
|
|
55
|
+
counter = pad(safeCounter().toString(base), blockSize),
|
|
56
|
+
// A few chars to generate distinct ids for different
|
|
57
|
+
// clients (so different computers are far less
|
|
58
|
+
// likely to generate the same id)
|
|
59
|
+
print = fingerprint(),
|
|
60
|
+
// Grab some more chars from Math.random()
|
|
61
|
+
random = randomBlock() + randomBlock();
|
|
62
|
+
return letter + timestamp + counter + print + random;
|
|
63
|
+
};
|
|
64
|
+
export const slug = () => {
|
|
65
|
+
const date = Date.now().toString(36), counter = safeCounter().toString(36).slice(-4), print = fingerprint().slice(0, 1) + fingerprint().slice(-1), random = randomBlock().slice(-2);
|
|
66
|
+
return date.slice(-2) + counter + print + random;
|
|
67
|
+
};
|
|
68
|
+
export const isCuid = (stringToCheck) => {
|
|
69
|
+
if (typeof stringToCheck !== 'string')
|
|
70
|
+
return false;
|
|
71
|
+
if (stringToCheck.startsWith('c'))
|
|
72
|
+
return true;
|
|
73
|
+
return false;
|
|
74
|
+
};
|
|
75
|
+
export const isSlug = (stringToCheck) => {
|
|
76
|
+
if (typeof stringToCheck !== 'string')
|
|
77
|
+
return false;
|
|
78
|
+
const stringLength = stringToCheck.length;
|
|
79
|
+
if (stringLength >= 7 && stringLength <= 10)
|
|
80
|
+
return true;
|
|
81
|
+
return false;
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=cuid.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cuid.node.js","sourceRoot":"","sources":["../../src/cuid/cuid.node.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ export * from './browser.js';
|
|
|
9
9
|
export * from './Deferred.js';
|
|
10
10
|
export * as base64 from './base64.js';
|
|
11
11
|
export { default as prettyBytes } from 'pretty-bytes';
|
|
12
|
-
export { v4 as uuid } from 'uuid';
|
|
13
12
|
import type * as otel from '@opentelemetry/api';
|
|
14
13
|
export * as dateFns from 'date-fns';
|
|
15
14
|
export type Prettify<T> = T extends infer U ? {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,6 @@ export * from './browser.js';
|
|
|
9
9
|
export * from './Deferred.js';
|
|
10
10
|
export * as base64 from './base64.js';
|
|
11
11
|
export { default as prettyBytes } from 'pretty-bytes';
|
|
12
|
-
export { v4 as uuid } from 'uuid';
|
|
13
12
|
export * as dateFns from 'date-fns';
|
|
14
13
|
export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
15
14
|
export const times = (n, fn) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.40",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"default": "./dist/index.js"
|
|
10
10
|
},
|
|
11
|
+
"./cuid": {
|
|
12
|
+
"types": "./dist/cuid/cuid.node.d.ts",
|
|
13
|
+
"node": "./dist/cuid/cuid.node.js",
|
|
14
|
+
"browser": "./dist/cuid/cuid.browser.js"
|
|
15
|
+
},
|
|
11
16
|
"./effect": {
|
|
12
17
|
"types": "./dist/effect/index.d.ts",
|
|
13
18
|
"default": "./dist/effect/index.js"
|
|
@@ -19,22 +24,24 @@
|
|
|
19
24
|
"*": {
|
|
20
25
|
"effect": [
|
|
21
26
|
"./dist/effect"
|
|
27
|
+
],
|
|
28
|
+
"./cuid": [
|
|
29
|
+
"./dist/cuid/cuid.node.d.ts"
|
|
22
30
|
]
|
|
23
31
|
}
|
|
24
32
|
},
|
|
25
33
|
"dependencies": {
|
|
26
|
-
"@effect/opentelemetry": "^0.30.
|
|
27
|
-
"@effect/schema": "0.
|
|
34
|
+
"@effect/opentelemetry": "^0.30.14",
|
|
35
|
+
"@effect/schema": "0.61.7",
|
|
28
36
|
"@opentelemetry/api": "^1.7.0",
|
|
29
|
-
"date-fns": "^3.
|
|
30
|
-
"effect": "2.
|
|
37
|
+
"date-fns": "^3.3.1",
|
|
38
|
+
"effect": "2.2.5",
|
|
31
39
|
"otel-websocket-exporter": "^0.0.27",
|
|
32
|
-
"pretty-bytes": "^6.1.1"
|
|
33
|
-
"uuid": "^9.0.1"
|
|
40
|
+
"pretty-bytes": "^6.1.1"
|
|
34
41
|
},
|
|
35
42
|
"devDependencies": {
|
|
36
|
-
"@types/
|
|
37
|
-
"@types/web": "^0.0.
|
|
43
|
+
"@types/node": "^20.11.16",
|
|
44
|
+
"@types/web": "^0.0.138"
|
|
38
45
|
},
|
|
39
46
|
"publishConfig": {
|
|
40
47
|
"access": "public"
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on:
|
|
3
|
+
*
|
|
4
|
+
* cuid.js
|
|
5
|
+
* Collision-resistant UID generator for browsers and node.
|
|
6
|
+
* Sequential for fast db lookups and recency sorting.
|
|
7
|
+
* Safe for element IDs and server-side lookups.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from CLCTR
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) Eric Elliott 2012
|
|
12
|
+
* MIT License
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const lim = Math.pow(2, 32) - 1
|
|
16
|
+
|
|
17
|
+
const crypto = globalThis.crypto
|
|
18
|
+
|
|
19
|
+
const getRandomValue = () => {
|
|
20
|
+
return Math.abs(crypto.getRandomValues(new Uint32Array(1))[0]! / lim)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const pad = (num: number | string, size: number) => {
|
|
24
|
+
const s = '000000000' + num
|
|
25
|
+
return s.slice(s.length - size)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const env = typeof window === 'object' ? window : self
|
|
29
|
+
const globalCount = Object.keys(env).length
|
|
30
|
+
const clientId = pad(navigator.userAgent.length.toString(36) + globalCount.toString(36), 4)
|
|
31
|
+
|
|
32
|
+
const fingerprint = () => clientId
|
|
33
|
+
|
|
34
|
+
let c = 0
|
|
35
|
+
const blockSize = 4
|
|
36
|
+
const base = 36
|
|
37
|
+
const discreteValues = Math.pow(base, blockSize)
|
|
38
|
+
|
|
39
|
+
const randomBlock = () => {
|
|
40
|
+
return pad(Math.trunc(getRandomValue() * discreteValues).toString(base), blockSize)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const safeCounter = () => {
|
|
44
|
+
c = c < discreteValues ? c : 0
|
|
45
|
+
c++ // this is not subliminal
|
|
46
|
+
return c - 1
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export const cuid = () => {
|
|
50
|
+
// Starting with a lowercase letter makes
|
|
51
|
+
// it HTML element ID friendly.
|
|
52
|
+
const letter = 'c', // hard-coded allows for sequential access
|
|
53
|
+
// timestamp
|
|
54
|
+
// warning: this exposes the exact date and time
|
|
55
|
+
// that the uid was created.
|
|
56
|
+
timestamp = Date.now().toString(base),
|
|
57
|
+
// Prevent same-machine collisions.
|
|
58
|
+
counter = pad(safeCounter().toString(base), blockSize),
|
|
59
|
+
// A few chars to generate distinct ids for different
|
|
60
|
+
// clients (so different computers are far less
|
|
61
|
+
// likely to generate the same id)
|
|
62
|
+
print = fingerprint(),
|
|
63
|
+
// Grab some more chars from Math.random()
|
|
64
|
+
random = randomBlock() + randomBlock()
|
|
65
|
+
|
|
66
|
+
return letter + timestamp + counter + print + random
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export const slug = () => {
|
|
70
|
+
const date = Date.now().toString(36),
|
|
71
|
+
counter = safeCounter().toString(36).slice(-4),
|
|
72
|
+
print = fingerprint().slice(0, 1) + fingerprint().slice(-1),
|
|
73
|
+
random = randomBlock().slice(-2)
|
|
74
|
+
|
|
75
|
+
return date.slice(-2) + counter + print + random
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export const isCuid = (stringToCheck: string) => {
|
|
79
|
+
if (typeof stringToCheck !== 'string') return false
|
|
80
|
+
if (stringToCheck.startsWith('c')) return true
|
|
81
|
+
return false
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export const isSlug = (stringToCheck: string) => {
|
|
85
|
+
if (typeof stringToCheck !== 'string') return false
|
|
86
|
+
const stringLength = stringToCheck.length
|
|
87
|
+
if (stringLength >= 7 && stringLength <= 10) return true
|
|
88
|
+
return false
|
|
89
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on:
|
|
3
|
+
*
|
|
4
|
+
* cuid.js
|
|
5
|
+
* Collision-resistant UID generator for browsers and node.
|
|
6
|
+
* Sequential for fast db lookups and recency sorting.
|
|
7
|
+
* Safe for element IDs and server-side lookups.
|
|
8
|
+
*
|
|
9
|
+
* Extracted from CLCTR
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) Eric Elliott 2012
|
|
12
|
+
* MIT License
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import crypto from 'node:crypto'
|
|
16
|
+
import os from 'node:os'
|
|
17
|
+
|
|
18
|
+
const lim = Math.pow(2, 32) - 1
|
|
19
|
+
|
|
20
|
+
const getRandomValue = () => {
|
|
21
|
+
return Math.abs(crypto.randomBytes(4).readInt32BE() / lim)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const pad = (num: number | string, size: number) => {
|
|
25
|
+
const s = '000000000' + num
|
|
26
|
+
return s.slice(s.length - size)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const fingerprint = () => {
|
|
30
|
+
const padding = 2,
|
|
31
|
+
pid = pad(process.pid.toString(36), padding),
|
|
32
|
+
hostname = os.hostname(),
|
|
33
|
+
length = hostname.length,
|
|
34
|
+
hostId = pad(
|
|
35
|
+
hostname
|
|
36
|
+
.split('')
|
|
37
|
+
.reduce((prev, char) => {
|
|
38
|
+
// eslint-disable-next-line unicorn/prefer-code-point
|
|
39
|
+
return +prev + char.charCodeAt(0)
|
|
40
|
+
}, +length + 36)
|
|
41
|
+
.toString(36),
|
|
42
|
+
padding,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
return pid + hostId
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
let c = 0
|
|
49
|
+
const blockSize = 4
|
|
50
|
+
const base = 36
|
|
51
|
+
const discreteValues = Math.pow(base, blockSize)
|
|
52
|
+
|
|
53
|
+
const randomBlock = () => {
|
|
54
|
+
return pad(Math.trunc(getRandomValue() * discreteValues).toString(base), blockSize)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const safeCounter = () => {
|
|
58
|
+
c = c < discreteValues ? c : 0
|
|
59
|
+
c++ // this is not subliminal
|
|
60
|
+
return c - 1
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export const cuid = () => {
|
|
64
|
+
// Starting with a lowercase letter makes
|
|
65
|
+
// it HTML element ID friendly.
|
|
66
|
+
const letter = 'c', // hard-coded allows for sequential access
|
|
67
|
+
// timestamp
|
|
68
|
+
// warning: this exposes the exact date and time
|
|
69
|
+
// that the uid was created.
|
|
70
|
+
timestamp = Date.now().toString(base),
|
|
71
|
+
// Prevent same-machine collisions.
|
|
72
|
+
counter = pad(safeCounter().toString(base), blockSize),
|
|
73
|
+
// A few chars to generate distinct ids for different
|
|
74
|
+
// clients (so different computers are far less
|
|
75
|
+
// likely to generate the same id)
|
|
76
|
+
print = fingerprint(),
|
|
77
|
+
// Grab some more chars from Math.random()
|
|
78
|
+
random = randomBlock() + randomBlock()
|
|
79
|
+
|
|
80
|
+
return letter + timestamp + counter + print + random
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export const slug = () => {
|
|
84
|
+
const date = Date.now().toString(36),
|
|
85
|
+
counter = safeCounter().toString(36).slice(-4),
|
|
86
|
+
print = fingerprint().slice(0, 1) + fingerprint().slice(-1),
|
|
87
|
+
random = randomBlock().slice(-2)
|
|
88
|
+
|
|
89
|
+
return date.slice(-2) + counter + print + random
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export const isCuid = (stringToCheck: string) => {
|
|
93
|
+
if (typeof stringToCheck !== 'string') return false
|
|
94
|
+
if (stringToCheck.startsWith('c')) return true
|
|
95
|
+
return false
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export const isSlug = (stringToCheck: string) => {
|
|
99
|
+
if (typeof stringToCheck !== 'string') return false
|
|
100
|
+
const stringLength = stringToCheck.length
|
|
101
|
+
if (stringLength >= 7 && stringLength <= 10) return true
|
|
102
|
+
return false
|
|
103
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -10,8 +10,6 @@ export * from './Deferred.js'
|
|
|
10
10
|
export * as base64 from './base64.js'
|
|
11
11
|
export { default as prettyBytes } from 'pretty-bytes'
|
|
12
12
|
|
|
13
|
-
export { v4 as uuid } from 'uuid'
|
|
14
|
-
|
|
15
13
|
import type * as otel from '@opentelemetry/api'
|
|
16
14
|
|
|
17
15
|
export * as dateFns from 'date-fns'
|