@zeltjs/kv 0.8.1 → 0.8.2-canary.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util-BMIWgHNV.js","names":["defineError","ZeltKVInvalidTtlError","ctx","ttlSec","Injectable","unsafeTypedJsonParse","KVUtilService","joinPrefix","a","b","serialize","value","JSON","stringify","deserialize","raw","undefined"],"sources":["../src/kv.errors.ts","../../src/callable.ts","../../src/class-token.ts","../../src/json.ts","../src/util/kvutil.service.ts"],"sourcesContent":["import { defineError } from '@zeltjs/core/internal-bridge/errors';\n\nexport const ZeltKVInvalidTtlError = defineError(\n 'ZeltKVInvalidTtlError',\n (ctx: { ttlSec: number }) => `ttlSec must be > 0, got ${ctx.ttlSec}`,\n);\n","export const toUnknownCallable = (fn: unknown): ((...args: unknown[]) => unknown) =>\n fn as (...args: unknown[]) => unknown;\n","export const
|
|
1
|
+
{"version":3,"file":"util-BMIWgHNV.js","names":["defineError","ZeltKVInvalidTtlError","ctx","ttlSec","Injectable","unsafeTypedJsonParse","KVUtilService","joinPrefix","a","b","serialize","value","JSON","stringify","deserialize","raw","undefined"],"sources":["../src/kv.errors.ts","../../src/callable.ts","../../src/class-constructor.ts","../../src/deferred-value.ts","../../src/injection-token-weak-map.ts","../../src/json.ts","../../src/keyed-values.ts","../src/util/kvutil.service.ts"],"sourcesContent":["import { defineError } from '@zeltjs/core/internal-bridge/errors';\n\nexport const ZeltKVInvalidTtlError = defineError(\n 'ZeltKVInvalidTtlError',\n (ctx: { ttlSec: number }) => `ttlSec must be > 0, got ${ctx.ttlSec}`,\n);\n","export const toUnknownCallable = (fn: unknown): ((...args: unknown[]) => unknown) =>\n fn as (...args: unknown[]) => unknown;\n\nexport const unsafeGetNamespacedCallable = <TCallable extends (...args: never[]) => unknown>(\n source: object,\n namespace: PropertyKey,\n method: PropertyKey,\n): TCallable | undefined => {\n const namespaceValue = Reflect.get(source, namespace);\n if (typeof namespaceValue !== 'object' || namespaceValue === null) return undefined;\n\n const methodValue = Reflect.get(namespaceValue, method);\n if (typeof methodValue !== 'function') return undefined;\n\n return methodValue as TCallable;\n};\n","export const isClassConstructor = <T extends object = object>(\n value: unknown,\n): value is new (\n ...args: never[]\n) => T => {\n if (typeof value !== 'function') return false;\n\n try {\n Reflect.construct(Object, [], value);\n return true;\n } catch {\n return false;\n }\n};\n","export const DEFERRED_VALUE_TYPE: unique symbol = Symbol('zelt.deferredValueType');\n\nexport type DeferredValueHandle<T> = {\n readonly [DEFERRED_VALUE_TYPE]: T;\n};\n\nexport type DeferredValueOf<THandle extends DeferredValueHandle<unknown>> =\n THandle[typeof DEFERRED_VALUE_TYPE];\n\nexport const unsafeResolveDeferredValue = <THandle extends DeferredValueHandle<unknown>>(\n handle: THandle,\n value: unknown,\n): DeferredValueOf<THandle> => {\n void handle;\n return value as DeferredValueOf<THandle>;\n};\n","import type { InjectionToken } from '@needle-di/core';\n\ntype TokenKey = new (...args: never[]) => unknown;\n\nexport class UnsafeInjectionTokenWeakMap {\n private readonly map = new WeakMap<TokenKey, InjectionToken<unknown>>();\n\n get<T>(key: TokenKey): InjectionToken<T> | undefined {\n const token = this.map.get(key);\n return token as InjectionToken<T> | undefined;\n }\n\n set<T>(key: TokenKey, token: InjectionToken<T>): void {\n this.map.set(key, token as InjectionToken<unknown>);\n }\n}\n","export const unsafeTypedJsonParse = <T>(data: string): T => JSON.parse(data) as T;\n","type KeyedItem = {\n readonly key: PropertyKey;\n};\n\ntype KeyedMethodValue<TItem, TMethod extends PropertyKey> = TMethod extends keyof TItem\n ? TItem[TMethod] extends (context: never) => infer TValue\n ? Awaited<TValue>\n : never\n : never;\n\nexport type ObjectFromKeyedValues<\n TItems extends readonly KeyedItem[],\n TMethod extends PropertyKey,\n> = {\n readonly [TItem in TItems[number] as TItem['key']]: KeyedMethodValue<TItem, TMethod>;\n};\n\ntype IsEmptyObject<T> = keyof T extends never ? true : false;\n\nexport type ObjectFromNonEmptyKeyedValues<\n TItems extends readonly KeyedItem[],\n TMethod extends PropertyKey,\n> = {\n readonly [TItem in TItems[number] as IsEmptyObject<KeyedMethodValue<TItem, TMethod>> extends true\n ? never\n : TItem['key']]: KeyedMethodValue<TItem, TMethod>;\n};\n\nconst isEmptyObject = (value: object): boolean => Object.keys(value).length === 0;\n\nexport const unsafeObjectFromKeyedValuesSync = <\n const TMethod extends PropertyKey,\n const TItems extends readonly (KeyedItem & {\n readonly [TKey in TMethod]: () => object;\n })[],\n>(\n items: TItems,\n method: TMethod,\n): ObjectFromKeyedValues<TItems, TMethod> => {\n const result: Record<PropertyKey, object> = {};\n\n for (const item of items) {\n result[item.key] = item[method]();\n }\n\n return result as ObjectFromKeyedValues<TItems, TMethod>;\n};\n\nexport const unsafeObjectFromNonEmptyKeyedValuesSync = <\n const TMethod extends PropertyKey,\n const TItems extends readonly (KeyedItem & {\n readonly [TKey in TMethod]: () => object;\n })[],\n>(\n items: TItems,\n method: TMethod,\n): ObjectFromNonEmptyKeyedValues<TItems, TMethod> => {\n const result: Record<PropertyKey, object> = {};\n\n for (const item of items) {\n const value = item[method]();\n if (!isEmptyObject(value)) {\n result[item.key] = value;\n }\n }\n\n return result as ObjectFromNonEmptyKeyedValues<TItems, TMethod>;\n};\n\nexport const unsafeObjectFromKeyedValues = async <\n TContext,\n const TMethod extends PropertyKey,\n const TItems extends readonly (KeyedItem & {\n readonly [TKey in TMethod]: (context: TContext) => object | Promise<object>;\n })[],\n>(\n items: TItems,\n method: TMethod,\n context: TContext,\n): Promise<ObjectFromKeyedValues<TItems, TMethod>> => {\n const result: Record<PropertyKey, object> = {};\n\n for (const item of items) {\n result[item.key] = await item[method](context);\n }\n\n return result as ObjectFromKeyedValues<TItems, TMethod>;\n};\n","import { Injectable } from '@zeltjs/core';\nimport { unsafeTypedJsonParse } from '@zeltjs/unsafe-type-lib';\n\nimport type { Defined } from '../kv.types';\n\n@Injectable()\nexport class KVUtilService {\n joinPrefix(a: string, b: string): string {\n return a + b;\n }\n\n serialize(value: Defined): string {\n return JSON.stringify(value);\n }\n\n deserialize<T>(raw: string | null): T | undefined {\n if (raw === null) return undefined;\n return unsafeTypedJsonParse<T>(raw);\n }\n}\n"],"mappings":";;;AAEA,MAAaC,wBAAwBD,YACnC,0BACCE,QAA4B,2BAA2BA,IAAIC,SAAQ;;;AKJtE,MAAa,wBAA2B,SAAoB,KAAK,MAAM,KAAK;;;;;;;;;AEM5E,IAAaG,gBAAb,MAAaA;CACXC,WAAWC,GAAWC,GAAmB;AACvC,SAAOD,IAAIC;;CAGbC,UAAUC,OAAwB;AAChC,SAAOC,KAAKC,UAAUF,MAAAA;;CAGxBG,YAAeC,KAAmC;AAChD,MAAIA,QAAQ,KAAM,QAAOC,KAAAA;AACzB,SAAOX,qBAAwBU,IAAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeltjs/kv",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2-canary.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
],
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"vitest": ">=4 <5",
|
|
33
|
-
"@zeltjs/
|
|
34
|
-
"@zeltjs/
|
|
33
|
+
"@zeltjs/redis": "0.8.2-canary.0",
|
|
34
|
+
"@zeltjs/core": "0.8.2-canary.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependenciesMeta": {
|
|
37
37
|
"@zeltjs/redis": {
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "22.19.17",
|
|
43
43
|
"ioredis": "5.10.1",
|
|
44
|
-
"@zeltjs/
|
|
45
|
-
"@zeltjs/
|
|
46
|
-
"@zeltjs/
|
|
44
|
+
"@zeltjs/redis": "0.8.2-canary.0",
|
|
45
|
+
"@zeltjs/core": "0.8.2-canary.0",
|
|
46
|
+
"@zeltjs/unsafe-type-lib": "0.8.2-canary.0"
|
|
47
47
|
},
|
|
48
48
|
"volta": {
|
|
49
49
|
"extends": "../../package.json"
|