Socket
Socket
Sign inDemoInstall

@arktype/util

Package Overview
Dependencies
Maintainers
1
Versions
78
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arktype/util - npm Package Compare versions

Comparing version 0.10.0 to 0.11.0

out/keys.d.ts

4

out/arrays.d.ts

@@ -73,5 +73,3 @@ import type { Guardable } from "./functions.ts";

export declare const appendUnique: <to extends unknown[]>(to: to | undefined, value: NoInfer<Readonly<to> | to[number]>, opts?: ComparisonOptions<to[number]>) => to;
export type groupableKeyOf<t> = {
[k in keyof t]: t[k] extends PropertyKey ? k : never;
}[keyof t];
export type groupableKeyOf<o> = keyof o extends infer k ? k extends keyof o ? o[k] extends PropertyKey ? k : never : never : never;
export type groupBy<element, discriminant extends groupableKeyOf<element>> = {

@@ -78,0 +76,0 @@ [k in element[discriminant] & PropertyKey]?: (element extends unknown ? isDisjoint<element[discriminant], k> extends true ? never : element : never)[];

import type { array, listable } from "./arrays.ts";
import type { show } from "./generics.ts";
import type { Entry, Key, entryOf, fromEntries } from "./records.ts";
import type { Key } from "./keys.ts";
import type { Entry, entryOf, fromEntries } from "./records.ts";
import type { intersectUnion } from "./unionToTuple.ts";

@@ -5,0 +6,0 @@ type objectFromListableEntries<transformed extends readonly Entry[]> = show<intersectUnion<fromEntries<transformed>>>;

@@ -1,2 +0,2 @@

export type Fn<in args extends readonly never[] = readonly never[], out returns = unknown> = (...args: args) => returns;
export type Fn<args extends readonly any[] = readonly any[], returns = unknown> = (...args: args) => returns;
export declare const cached: <t>(thunk: () => t) => (() => t);

@@ -3,0 +3,0 @@ export declare const isThunk: <value>(value: value) => value is Extract<value, Thunk> extends never ? value & Thunk : Extract<value, Thunk>;

@@ -11,2 +11,3 @@ export * from "./arrays.ts";

export * from "./intersections.ts";
export * from "./keys.ts";
export * from "./lazily.ts";

@@ -13,0 +14,0 @@ export * from "./numericLiterals.ts";

@@ -11,2 +11,3 @@ export * from "./arrays.js";

export * from "./intersections.js";
export * from "./keys.js";
export * from "./lazily.js";

@@ -13,0 +14,0 @@ export * from "./numericLiterals.js";

import type { array } from "./arrays.ts";
import type { Fn } from "./functions.ts";
import type { defined, show } from "./generics.ts";
import type { Key } from "./keys.ts";
export type Dict<k extends string = string, v = unknown> = {

@@ -55,5 +56,3 @@ readonly [_ in k]: v;

/** Mimics the result of Object.keys(...) */
export type keyOf<o> = o extends array ? number extends o["length"] ? `${number}` : keyof o & `${number}` : {
[k in keyof o]: k extends string ? k : k extends number ? `${k}` : never;
}[keyof o];
export type keyOf<o> = o extends array ? number extends o["length"] ? `${number}` : keyof o & `${number}` : keyof o extends infer k ? k extends string ? k : k extends number ? `${k}` : never : never;
export declare const keysOf: <o extends object>(o: o) => keyOf<o>[];

@@ -71,7 +70,5 @@ export declare const isKeyOf: <k extends string | number | symbol, o extends object>(k: k, o: o) => k is Extract<keyof o, k>;

export declare const hasDefinedKey: <o extends object, k extends unionKeyOf<o>>(o: o, k: k) => o is extractDefinedKey<o, k>;
export type requiredKeyOf<o> = {
[k in keyof o]-?: o extends {
[_ in k]-?: o[k];
} ? k : never;
}[keyof o];
export type requiredKeyOf<o> = keyof o extends infer k ? k extends keyof o ? o extends {
[_ in k]-?: o[k];
} ? k : never : never : never;
export type optionalKeyOf<o> = Exclude<keyof o, requiredKeyOf<o>>;

@@ -145,3 +142,2 @@ export type merge<base, props> = base extends unknown ? props extends unknown ? show<omit<base, keyof props & keyof base> & props> : never : never;

export declare const defineProperties: <base extends object, merged extends object>(base: base, merged: merged) => merge<base, merged>;
export type Key = string | symbol;
export type invert<t extends Record<PropertyKey, PropertyKey>> = {

@@ -148,0 +144,0 @@ [k in t[keyof t]]: {

@@ -1,2 +0,2 @@

export declare const arkUtilVersion = "0.10.0";
export declare const arkUtilVersion = "0.11.0";
export declare const initialRegistryContents: {

@@ -3,0 +3,0 @@ version: string;

@@ -8,3 +8,3 @@ import { domainOf } from "./domain.js";

// For now, we assert this matches the package.json version via a unit test.
export const arkUtilVersion = "0.10.0";
export const arkUtilVersion = "0.11.0";
export const initialRegistryContents = {

@@ -11,0 +11,0 @@ version: arkUtilVersion,

@@ -17,6 +17,8 @@ import type { array } from "./arrays.ts";

export declare const snapshot: <t>(data: t, opts?: SerializationOptions) => snapshot<t>;
export type snapshot<t, depth extends 1[] = []> = unknown extends t ? unknown : t extends Primitive ? snapshotPrimitive<t> : t extends Function ? `Function(${string})` : t extends Date ? string : depth["length"] extends 10 ? unknown : t extends array<infer item> ? array<snapshot<item, [...depth, 1]>> : {
export type snapshot<t, depth extends 1[] = []> = unknown extends t ? unknown : t extends Primitive ? snapshotPrimitive<t> : t extends {
toJSON: () => infer serialized;
} ? serialized : t extends Function ? `Function(${string})` : t extends Date ? string : depth["length"] extends 10 ? unknown : t extends array<infer item> ? array<snapshot<item, [...depth, 1]>> : {
[k in keyof t]: snapshot<t[k], [...depth, 1]>;
};
type snapshotPrimitive<t> = t extends undefined ? "(undefined)" : t extends bigint ? `${t}n` : t extends symbol ? `(symbol${string})` : t;
type snapshotPrimitive<t> = t extends undefined ? "(undefined)" : t extends bigint ? `${t}n` : t extends symbol ? `Symbol(${string})` : t;
export declare const print: (data: unknown, indent?: number) => void;

@@ -23,0 +25,0 @@ export declare const printable: (data: unknown, indent?: number) => string;

@@ -30,14 +30,17 @@ import { domainOf } from "./domain.js";

case "object": {
if (typeof data === "function")
return printableOpts.onFunction(data);
if (seen.includes(data))
const o = data;
if ("toJSON" in o && typeof o.toJSON === "function")
return o.toJSON();
if (typeof o === "function")
return printableOpts.onFunction(o);
if (seen.includes(o))
return "(cycle)";
const nextSeen = [...seen, data];
if (Array.isArray(data))
return data.map(item => _serialize(item, opts, nextSeen));
if (data instanceof Date)
return data.toDateString();
const nextSeen = [...seen, o];
if (Array.isArray(o))
return o.map(item => _serialize(item, opts, nextSeen));
if (o instanceof Date)
return o.toDateString();
const result = {};
for (const k in data)
result[k] = _serialize(data[k], opts, nextSeen);
for (const k in o)
result[k] = _serialize(o[k], opts, nextSeen);
return result;

@@ -44,0 +47,0 @@ }

{
"name": "@arktype/util",
"version": "0.10.0",
"version": "0.11.0",
"author": {

@@ -5,0 +5,0 @@ "name": "David Blass",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc