@inrixia/helpers
Advanced tools
+37
-43
@@ -11,45 +11,39 @@ import type { AnyFn, VoidLike } from "../ts/types"; | ||
| } | ||
| export declare class Memo { | ||
| /** | ||
| * Memoizes a function with a custom cache implementation. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @param {C} cache - The cache implementation to use (must extend or implement MemoMap). | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static withCache<G extends AnyFn, O extends Memoized<G>, C extends MemoMap>(generator: G, cache: C): O; | ||
| /** | ||
| * Memoizes a function ignoring its arguments. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static argless<G extends AnyFn, O extends Memoized<G>>(generator: G): O; | ||
| /** | ||
| * Memoizes a function using a ArgsMap for caching. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static memo<G extends AnyFn, O extends Memoized<G>>(generator: G): O; | ||
| /** | ||
| * Memoizes a function using deep equality checks for arguments via DequalMap. | ||
| * Note: Performance depends on the number of cached entries, as DequalMap involves iteration for deep checks. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static dequal<G extends AnyFn, O extends Memoized<G>>(generator: G): O; | ||
| /** | ||
| * Memoizes a function using simple caching based on argument presence or JSON stringification. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static stringify<G extends AnyFn, O extends Memoized<G>>(generator: G): O; | ||
| } | ||
| export declare const memoize: typeof Memo.memo; | ||
| export declare const memoizeArgless: typeof Memo.argless; | ||
| export declare const memoizeDequal: typeof Memo.dequal; | ||
| export declare const memoizeStringify: typeof Memo.stringify; | ||
| /** | ||
| * Memoizes a function with a custom cache implementation. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @param {C} cache - The cache implementation to use (must extend or implement MemoMap). | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export declare const withCache: <G extends AnyFn, O extends Memoized<G>, C extends MemoMap>(generator: G, cache: C) => O; | ||
| /** | ||
| * Memoizes a function ignoring its arguments. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export declare const memoizeArgless: <G extends AnyFn, O extends Memoized<G>>(generator: G) => O; | ||
| /** | ||
| * Memoizes a function using a ArgsMap for caching. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export declare const memoize: <G extends AnyFn, O extends Memoized<G>>(generator: G) => O; | ||
| /** | ||
| * Memoizes a function using deep equality checks for arguments via DequalMap. | ||
| * Note: Performance depends on the number of cached entries, as DequalMap involves iteration for deep checks. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export declare const memoizeDequal: <G extends AnyFn, O extends Memoized<G>>(generator: G) => O; | ||
| /** | ||
| * Memoizes a function using simple caching based on argument presence or JSON stringification. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export declare const memoizeStringify: <G extends AnyFn, O extends Memoized<G>>(generator: G) => O; | ||
| //# sourceMappingURL=Memo.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"Memo.d.ts","sourceRoot":"","sources":["../../src/class/Memo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKnD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;CAAE,CAAC;AAG5F,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,GAAG;IACpE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAOD,qBAAa,IAAI;IAChB;;;;;;OAMG;WACW,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAa7G;;;;;OAKG;WACW,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;IAO9E;;;;;OAKG;WACW,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;IAG3E;;;;;;OAMG;WACW,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;IAG7E;;;;;OAKG;WACW,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC;CAGhF;AAED,eAAO,MAAM,OAAO,kBAAY,CAAC;AACjC,eAAO,MAAM,cAAc,qBAAe,CAAC;AAC3C,eAAO,MAAM,aAAa,oBAAc,CAAC;AACzC,eAAO,MAAM,gBAAgB,uBAAiB,CAAC"} | ||
| {"version":3,"file":"Memo.d.ts","sourceRoot":"","sources":["../../src/class/Memo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKnD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;CAAE,CAAC;AAG5F,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,GAAG;IACpE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAOD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,KAAG,CAS7G,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAG,CAKrF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAG,CAA6C,CAAC;AAE7H;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAG,CAA+C,CAAC;AAErI;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAG,CAAkD,CAAC"} |
+52
-66
@@ -8,68 +8,54 @@ import { ArgsMap } from "./ArgsMap"; | ||
| }; | ||
| export class Memo { | ||
| /** | ||
| * Memoizes a function with a custom cache implementation. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @param {C} cache - The cache implementation to use (must extend or implement MemoMap). | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static withCache(generator, cache) { | ||
| // Handle cases where arguments are ignored or the function takes no arguments | ||
| if (generator.length === 0) | ||
| return Memo.argless(generator); | ||
| const _fn = ((...args) => cache.get(args) ?? mapSetReturnV(cache, args, generator(...args))); | ||
| // Add a method to clear a specific cache entry based on arguments or all if nothing passed | ||
| _fn.clear = (...args) => { | ||
| if (args.length === 0) | ||
| return cache.clear(); | ||
| cache.delete(args); | ||
| }; | ||
| return _fn; | ||
| } | ||
| /** | ||
| * Memoizes a function ignoring its arguments. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static argless(generator) { | ||
| let cache; | ||
| const _fn = (() => (cache ??= generator())); | ||
| _fn.clear = () => (cache = undefined); | ||
| return _fn; | ||
| } | ||
| /** | ||
| * Memoizes a function using a ArgsMap for caching. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static memo(generator) { | ||
| return Memo.withCache(generator, new ArgsMap()); | ||
| } | ||
| /** | ||
| * Memoizes a function using deep equality checks for arguments via DequalMap. | ||
| * Note: Performance depends on the number of cached entries, as DequalMap involves iteration for deep checks. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static dequal(generator) { | ||
| return Memo.withCache(generator, new DequalMap()); | ||
| } | ||
| /** | ||
| * Memoizes a function using simple caching based on argument presence or JSON stringification. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| static stringify(generator) { | ||
| return Memo.withCache(generator, new StringifyMap()); | ||
| } | ||
| } | ||
| export const memoize = Memo.memo; | ||
| export const memoizeArgless = Memo.argless; | ||
| export const memoizeDequal = Memo.dequal; | ||
| export const memoizeStringify = Memo.stringify; | ||
| /** | ||
| * Memoizes a function with a custom cache implementation. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @param {C} cache - The cache implementation to use (must extend or implement MemoMap). | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export const withCache = (generator, cache) => { | ||
| if (generator.length === 0) | ||
| return memoizeArgless(generator); | ||
| const _fn = ((...args) => cache.get(args) ?? mapSetReturnV(cache, args, generator(...args))); | ||
| _fn.clear = (...args) => { | ||
| if (args.length === 0) | ||
| return cache.clear(); | ||
| cache.delete(args); | ||
| }; | ||
| return _fn; | ||
| }; | ||
| /** | ||
| * Memoizes a function ignoring its arguments. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export const memoizeArgless = (generator) => { | ||
| let cache; | ||
| const _fn = (() => (cache ??= generator())); | ||
| _fn.clear = () => (cache = undefined); | ||
| return _fn; | ||
| }; | ||
| /** | ||
| * Memoizes a function using a ArgsMap for caching. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export const memoize = (generator) => withCache(generator, new ArgsMap()); | ||
| /** | ||
| * Memoizes a function using deep equality checks for arguments via DequalMap. | ||
| * Note: Performance depends on the number of cached entries, as DequalMap involves iteration for deep checks. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export const memoizeDequal = (generator) => withCache(generator, new DequalMap()); | ||
| /** | ||
| * Memoizes a function using simple caching based on argument presence or JSON stringification. | ||
| * | ||
| * @param {G} generator - The function to memoize. | ||
| * @returns {O} The memoized function with a `clear` method. | ||
| */ | ||
| export const memoizeStringify = (generator) => withCache(generator, new StringifyMap()); | ||
| //# sourceMappingURL=Memo.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"Memo.js","sourceRoot":"","sources":["../../src/class/Memo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC,CAAC,mBAAmB;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9C,MAAM,aAAa,GAAG,CAAyD,GAAM,EAAE,IAA+B,EAAE,KAAQ,EAAK,EAAE;IACtI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,IAAI;IAChB;;;;;;OAMG;IACI,MAAM,CAAC,SAAS,CAA4D,SAAY,EAAE,KAAQ;QACxG,8EAA8E;QAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAM,CAAC;QACjH,2FAA2F;QAC3F,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,IAAmB,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC;QACF,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAyC,SAAY;QACzE,IAAI,KAAgC,CAAC;QACrC,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC,CAAM,CAAC;QACjD,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,IAAI,CAAyC,SAAY;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,OAAO,EAAE,CAAM,CAAC;IACtD,CAAC;IACD;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAyC,SAAY;QACxE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,SAAS,EAAE,CAAM,CAAC;IACxD,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,SAAS,CAAyC,SAAY;QAC3E,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,YAAY,EAAE,CAAM,CAAC;IAC3D,CAAC;CACD;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC"} | ||
| {"version":3,"file":"Memo.js","sourceRoot":"","sources":["../../src/class/Memo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC,CAAC,mBAAmB;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9C,MAAM,aAAa,GAAG,CAAyD,GAAM,EAAE,IAA+B,EAAE,KAAQ,EAAK,EAAE;IACtI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAA4D,SAAY,EAAE,KAAQ,EAAK,EAAE;IACjH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAM,CAAC;IACjH,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,IAAmB,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAyC,SAAY,EAAK,EAAE;IACzF,IAAI,KAAgC,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC,CAAM,CAAC;IACjD,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAyC,SAAY,EAAK,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,OAAO,EAAE,CAAM,CAAC;AAE7H;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAyC,SAAY,EAAK,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,SAAS,EAAE,CAAM,CAAC;AAErI;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAyC,SAAY,EAAK,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,YAAY,EAAE,CAAM,CAAC"} |
@@ -7,4 +7,4 @@ import type { AnyFn } from "../ts"; | ||
| obtain(): Promise<() => void>; | ||
| with<F extends AnyFn>(cb: F): Promise<ReturnType<F>>; | ||
| with<F extends AnyFn>(cb: F): Promise<Awaited<ReturnType<F>>>; | ||
| } | ||
| //# sourceMappingURL=Semaphore.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"Semaphore.d.ts","sourceRoot":"","sources":["../../src/class/Semaphore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,qBAAa,SAAS;IAET,OAAO,CAAC,aAAa;IADjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;gBACzB,aAAa,EAAE,MAAM;IAE5B,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;IAwB7B,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAQjE"} | ||
| {"version":3,"file":"Semaphore.d.ts","sourceRoot":"","sources":["../../src/class/Semaphore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,qBAAa,SAAS;IAET,OAAO,CAAC,aAAa;IADjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;gBACzB,aAAa,EAAE,MAAM;IAE5B,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;IAwB7B,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;CAQ1E"} |
+1
-1
| { | ||
| "name": "@inrixia/helpers", | ||
| "version": "3.18.0", | ||
| "version": "3.19.0", | ||
| "description": "Helper functions for various projects", | ||
@@ -5,0 +5,0 @@ "type": "module", |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
137930
-0.85%1774
-1.11%