@tabsircg/snowflake 1.0.0 → 1.1.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/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export type SnowflakeId<T extends boolean> = T extends true ? string : bigint;
11
11
  * const id = generator(); // 1234567890123456789n
12
12
  * const stringId = generator(true); // "1234567890123456789"
13
13
  */
14
- export declare const createSnowflakeGenerator: (workerId: number, datacenterId: number) => <T extends boolean = false>(returnAsString?: T) => SnowflakeId<T>;
14
+ export declare const createSnowflakeGenerator: <T extends boolean = false>(workerId: number, datacenterId: number, returnAsString?: T) => () => SnowflakeId<T>;
15
15
  /**
16
16
  * Generates a Snowflake ID for a specific timestamp (used for cleanup thresholds).
17
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9E;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,cAAc,MAAM,MAyBZ,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,iBAAiB,CAAC,KAAG,WAAW,CAAC,CAAC,CA+BtE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,0BAA0B,GACrC,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,UAAU,MAAM,WAUjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9E;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,EAChE,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,iBAAiB,CAAC,WAyBP,WAAW,CAAC,CAAC,CA+BzB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,0BAA0B,GACrC,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,UAAU,MAAM,WAUjB,CAAC"}
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ const SNOWFLAKE_MASKS = {
26
26
  * const id = generator(); // 1234567890123456789n
27
27
  * const stringId = generator(true); // "1234567890123456789"
28
28
  */
29
- export const createSnowflakeGenerator = (workerId, datacenterId) => {
29
+ export const createSnowflakeGenerator = (workerId, datacenterId, returnAsString) => {
30
30
  const maxWorkerId = (1 << SNOWFLAKE_BITS.WORKER_ID) - 1;
31
31
  const maxDatacenterId = (1 << SNOWFLAKE_BITS.DATACENTER_ID) - 1;
32
32
  if (workerId < 0 || workerId > maxWorkerId) {
@@ -45,7 +45,7 @@ export const createSnowflakeGenerator = (workerId, datacenterId) => {
45
45
  }
46
46
  return timestamp;
47
47
  };
48
- return (returnAsString) => {
48
+ return () => {
49
49
  let timestamp = getCurrentTimestamp();
50
50
  if (timestamp < lastTimestamp) {
51
51
  throw new Error(`Clock moved backwards. Refusing to generate id for ${lastTimestamp - timestamp} milliseconds`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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": "@tabsircg/snowflake",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Lightweight Snowflake ID generator for Node.js",
5
5
  "license": "ISC",
6
6
  "author": "Tabsir CG",