@xylabs/object-model 4.13.13 → 4.13.15
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.
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TypedKey } from '@xylabs/typeof';
|
|
2
|
+
/**
|
|
3
|
+
* Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject
|
|
4
|
+
* will result in a type that includes the universal set of field names
|
|
5
|
+
*/
|
|
6
|
+
export type AnyObject = Record<TypedKey, unknown>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AnyNonPromise } from '@xylabs/promise';
|
|
2
|
+
import type { StringOrAlertFunction, TypeCheckConfig, TypeCheckOptionalConfig, TypeCheckRequiredConfig } from './types.ts';
|
|
3
|
+
export type AsTypeFunction<T extends AnyNonPromise = AnyNonPromise> = {
|
|
4
|
+
<TType extends T>(value: AnyNonPromise): TType | undefined;
|
|
5
|
+
<TType extends T>(value: AnyNonPromise, config: TypeCheckRequiredConfig): TType;
|
|
6
|
+
<TType extends T>(value: AnyNonPromise, config: TypeCheckConfig | TypeCheckOptionalConfig): TType | undefined;
|
|
7
|
+
<TType extends T>(value: AnyNonPromise, assert: StringOrAlertFunction<TType>): TType | undefined;
|
|
8
|
+
<TType extends T>(value: AnyNonPromise, assert: StringOrAlertFunction<TType>, config: TypeCheckRequiredConfig): TType;
|
|
9
|
+
<TType extends T>(value: AnyNonPromise, assert: StringOrAlertFunction<TType>, config: TypeCheckConfig | TypeCheckOptionalConfig): TType | undefined;
|
|
10
|
+
};
|
|
11
|
+
export type AsOptionalTypeFunction<T extends AnyNonPromise = AnyNonPromise> = {
|
|
12
|
+
<TType extends T>(value: AnyNonPromise): TType | undefined;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Compare<T> = (a: T, b: T) => number;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AssertExMessageFunc } from '@xylabs/assert';
|
|
2
|
+
import type { Logger } from '@xylabs/logger';
|
|
3
|
+
import type { AnyNonPromise } from '@xylabs/promise';
|
|
4
|
+
import type { TypedValue } from '@xylabs/typeof';
|
|
5
|
+
export interface TypeCheckConfig {
|
|
6
|
+
log?: boolean | Logger;
|
|
7
|
+
}
|
|
8
|
+
export interface TypeCheckRequiredConfig extends TypeCheckConfig {
|
|
9
|
+
required: true;
|
|
10
|
+
}
|
|
11
|
+
export interface TypeCheckOptionalConfig extends TypeCheckConfig {
|
|
12
|
+
required: false;
|
|
13
|
+
}
|
|
14
|
+
export type StringOrAlertFunction<T extends AnyNonPromise> = string | AssertExMessageFunc<T>;
|
|
15
|
+
export type TypeCheck<T extends TypedValue> = {
|
|
16
|
+
(obj: AnyNonPromise): obj is T;
|
|
17
|
+
(obj: AnyNonPromise, config: TypeCheckConfig): obj is T;
|
|
18
|
+
(obj: AnyNonPromise, config: TypeCheckConfig | number | undefined): obj is T;
|
|
19
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/object-model",
|
|
3
|
-
"version": "4.13.
|
|
3
|
+
"version": "4.13.15",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"module": "dist/neutral/index.mjs",
|
|
30
30
|
"types": "dist/neutral/index.d.ts",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@xylabs/assert": "^4.13.
|
|
33
|
-
"@xylabs/logger": "^4.13.
|
|
34
|
-
"@xylabs/promise": "^4.13.
|
|
35
|
-
"@xylabs/typeof": "^4.13.
|
|
32
|
+
"@xylabs/assert": "^4.13.15",
|
|
33
|
+
"@xylabs/logger": "^4.13.15",
|
|
34
|
+
"@xylabs/promise": "^4.13.15",
|
|
35
|
+
"@xylabs/typeof": "^4.13.15"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@xylabs/ts-scripts-yarn3": "^7.0.0-rc.
|
|
39
|
-
"@xylabs/tsconfig": "^7.0.0-rc.
|
|
38
|
+
"@xylabs/ts-scripts-yarn3": "^7.0.0-rc.20",
|
|
39
|
+
"@xylabs/tsconfig": "^7.0.0-rc.20",
|
|
40
40
|
"typescript": "^5.8.3",
|
|
41
41
|
"vitest": "^3.2.4"
|
|
42
42
|
},
|