@rcrsr/rill 0.14.0 → 0.16.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/ast-nodes.d.ts +2 -11
- package/dist/ast-nodes.js +0 -1
- package/dist/ast-unions.d.ts +0 -1
- package/dist/ast-unions.js +0 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -1
- package/dist/error-classes.d.ts +0 -1
- package/dist/error-classes.js +0 -1
- package/dist/error-formatter.d.ts +0 -1
- package/dist/error-formatter.js +0 -1
- package/dist/error-registry.d.ts +0 -1
- package/dist/error-registry.js +50 -1
- package/dist/ext/crypto/index.d.ts +0 -1
- package/dist/ext/crypto/index.js +5 -6
- package/dist/ext/exec/index.d.ts +0 -1
- package/dist/ext/exec/index.js +3 -4
- package/dist/ext/exec/runner.d.ts +0 -1
- package/dist/ext/exec/runner.js +0 -1
- package/dist/ext/fetch/index.d.ts +0 -1
- package/dist/ext/fetch/index.js +8 -39
- package/dist/ext/fetch/request.d.ts +0 -1
- package/dist/ext/fetch/request.js +0 -1
- package/dist/ext/fs/index.d.ts +0 -1
- package/dist/ext/fs/index.js +26 -27
- package/dist/ext/fs/sandbox.d.ts +0 -1
- package/dist/ext/fs/sandbox.js +0 -1
- package/dist/ext/kv/index.d.ts +0 -1
- package/dist/ext/kv/index.js +19 -20
- package/dist/ext/kv/store.d.ts +0 -1
- package/dist/ext/kv/store.js +0 -1
- package/dist/generated/introspection-data.d.ts +0 -1
- package/dist/generated/introspection-data.js +0 -1
- package/dist/generated/version-data.d.ts +1 -2
- package/dist/generated/version-data.js +2 -3
- package/dist/highlight-map.d.ts +0 -1
- package/dist/highlight-map.js +0 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -2
- package/dist/lexer/errors.d.ts +0 -1
- package/dist/lexer/errors.js +0 -1
- package/dist/lexer/helpers.d.ts +0 -1
- package/dist/lexer/helpers.js +0 -1
- package/dist/lexer/index.d.ts +0 -1
- package/dist/lexer/index.js +0 -1
- package/dist/lexer/operators.d.ts +0 -1
- package/dist/lexer/operators.js +0 -1
- package/dist/lexer/readers.d.ts +0 -1
- package/dist/lexer/readers.js +0 -1
- package/dist/lexer/state.d.ts +0 -1
- package/dist/lexer/state.js +0 -1
- package/dist/lexer/tokenizer.d.ts +0 -1
- package/dist/lexer/tokenizer.js +0 -1
- package/dist/parser/helpers.d.ts +0 -1
- package/dist/parser/helpers.js +0 -1
- package/dist/parser/index.d.ts +0 -1
- package/dist/parser/index.js +0 -1
- package/dist/parser/parser-collect.d.ts +0 -1
- package/dist/parser/parser-collect.js +0 -1
- package/dist/parser/parser-control.d.ts +0 -1
- package/dist/parser/parser-control.js +0 -1
- package/dist/parser/parser-expr.d.ts +0 -1
- package/dist/parser/parser-expr.js +0 -1
- package/dist/parser/parser-extract.d.ts +0 -1
- package/dist/parser/parser-extract.js +0 -1
- package/dist/parser/parser-functions.d.ts +0 -1
- package/dist/parser/parser-functions.js +0 -1
- package/dist/parser/parser-literals.d.ts +0 -1
- package/dist/parser/parser-literals.js +4 -2
- package/dist/parser/parser-script.d.ts +0 -1
- package/dist/parser/parser-script.js +0 -1
- package/dist/parser/parser-shape.d.ts +2 -3
- package/dist/parser/parser-shape.js +8 -40
- package/dist/parser/parser-types.d.ts +28 -2
- package/dist/parser/parser-types.js +64 -13
- package/dist/parser/parser-use.d.ts +0 -1
- package/dist/parser/parser-use.js +0 -1
- package/dist/parser/parser-variables.d.ts +0 -1
- package/dist/parser/parser-variables.js +0 -1
- package/dist/parser/parser.d.ts +0 -1
- package/dist/parser/parser.js +0 -1
- package/dist/parser/state.d.ts +0 -1
- package/dist/parser/state.js +0 -1
- package/dist/runtime/core/callable.d.ts +40 -13
- package/dist/runtime/core/callable.js +137 -31
- package/dist/runtime/core/context.d.ts +0 -1
- package/dist/runtime/core/context.js +1 -2
- package/dist/runtime/core/equals.d.ts +0 -1
- package/dist/runtime/core/equals.js +35 -3
- package/dist/runtime/core/eval/base.d.ts +0 -1
- package/dist/runtime/core/eval/base.js +0 -1
- package/dist/runtime/core/eval/evaluator.d.ts +0 -1
- package/dist/runtime/core/eval/evaluator.js +0 -1
- package/dist/runtime/core/eval/index.d.ts +0 -1
- package/dist/runtime/core/eval/index.js +0 -1
- package/dist/runtime/core/eval/mixins/annotations.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/annotations.js +0 -1
- package/dist/runtime/core/eval/mixins/closures.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/closures.js +82 -69
- package/dist/runtime/core/eval/mixins/collections.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/collections.js +9 -4
- package/dist/runtime/core/eval/mixins/control-flow.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/control-flow.js +0 -1
- package/dist/runtime/core/eval/mixins/conversion.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/conversion.js +263 -16
- package/dist/runtime/core/eval/mixins/core.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/core.js +0 -1
- package/dist/runtime/core/eval/mixins/expressions.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/expressions.js +0 -1
- package/dist/runtime/core/eval/mixins/extraction.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/extraction.js +8 -9
- package/dist/runtime/core/eval/mixins/list-dispatch.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/list-dispatch.js +0 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/literals.js +3 -7
- package/dist/runtime/core/eval/mixins/types.d.ts +2 -1
- package/dist/runtime/core/eval/mixins/types.js +222 -200
- package/dist/runtime/core/eval/mixins/use.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/use.js +0 -1
- package/dist/runtime/core/eval/mixins/variables.d.ts +0 -1
- package/dist/runtime/core/eval/mixins/variables.js +6 -7
- package/dist/runtime/core/eval/types.d.ts +0 -1
- package/dist/runtime/core/eval/types.js +0 -1
- package/dist/runtime/core/execute.d.ts +0 -1
- package/dist/runtime/core/execute.js +0 -1
- package/dist/runtime/core/field-descriptor.d.ts +2 -3
- package/dist/runtime/core/field-descriptor.js +0 -1
- package/dist/runtime/core/introspection.d.ts +0 -1
- package/dist/runtime/core/introspection.js +0 -1
- package/dist/runtime/core/resolvers.d.ts +0 -1
- package/dist/runtime/core/resolvers.js +0 -1
- package/dist/runtime/core/signals.d.ts +0 -1
- package/dist/runtime/core/signals.js +0 -1
- package/dist/runtime/core/types.d.ts +0 -1
- package/dist/runtime/core/types.js +0 -1
- package/dist/runtime/core/values.d.ts +59 -8
- package/dist/runtime/core/values.js +338 -36
- package/dist/runtime/ext/builtins.d.ts +0 -1
- package/dist/runtime/ext/builtins.js +43 -17
- package/dist/runtime/ext/extensions.d.ts +0 -1
- package/dist/runtime/ext/extensions.js +0 -1
- package/dist/runtime/index.d.ts +2 -3
- package/dist/runtime/index.js +1 -2
- package/dist/signature-parser.d.ts +0 -1
- package/dist/signature-parser.js +8 -4
- package/dist/source-location.d.ts +0 -1
- package/dist/source-location.js +0 -1
- package/dist/token-types.d.ts +0 -1
- package/dist/token-types.js +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/dist/value-types.d.ts +15 -12
- package/dist/value-types.js +0 -1
- package/package.json +2 -1
- package/dist/ast-nodes.d.ts.map +0 -1
- package/dist/ast-nodes.js.map +0 -1
- package/dist/ast-unions.d.ts.map +0 -1
- package/dist/ast-unions.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/error-classes.d.ts.map +0 -1
- package/dist/error-classes.js.map +0 -1
- package/dist/error-formatter.d.ts.map +0 -1
- package/dist/error-formatter.js.map +0 -1
- package/dist/error-registry.d.ts.map +0 -1
- package/dist/error-registry.js.map +0 -1
- package/dist/ext/crypto/index.d.ts.map +0 -1
- package/dist/ext/crypto/index.js.map +0 -1
- package/dist/ext/exec/index.d.ts.map +0 -1
- package/dist/ext/exec/index.js.map +0 -1
- package/dist/ext/exec/runner.d.ts.map +0 -1
- package/dist/ext/exec/runner.js.map +0 -1
- package/dist/ext/fetch/index.d.ts.map +0 -1
- package/dist/ext/fetch/index.js.map +0 -1
- package/dist/ext/fetch/request.d.ts.map +0 -1
- package/dist/ext/fetch/request.js.map +0 -1
- package/dist/ext/fs/index.d.ts.map +0 -1
- package/dist/ext/fs/index.js.map +0 -1
- package/dist/ext/fs/sandbox.d.ts.map +0 -1
- package/dist/ext/fs/sandbox.js.map +0 -1
- package/dist/ext/kv/index.d.ts.map +0 -1
- package/dist/ext/kv/index.js.map +0 -1
- package/dist/ext/kv/store.d.ts.map +0 -1
- package/dist/ext/kv/store.js.map +0 -1
- package/dist/generated/introspection-data.d.ts.map +0 -1
- package/dist/generated/introspection-data.js.map +0 -1
- package/dist/generated/version-data.d.ts.map +0 -1
- package/dist/generated/version-data.js.map +0 -1
- package/dist/highlight-map.d.ts.map +0 -1
- package/dist/highlight-map.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lexer/errors.d.ts.map +0 -1
- package/dist/lexer/errors.js.map +0 -1
- package/dist/lexer/helpers.d.ts.map +0 -1
- package/dist/lexer/helpers.js.map +0 -1
- package/dist/lexer/index.d.ts.map +0 -1
- package/dist/lexer/index.js.map +0 -1
- package/dist/lexer/operators.d.ts.map +0 -1
- package/dist/lexer/operators.js.map +0 -1
- package/dist/lexer/readers.d.ts.map +0 -1
- package/dist/lexer/readers.js.map +0 -1
- package/dist/lexer/state.d.ts.map +0 -1
- package/dist/lexer/state.js.map +0 -1
- package/dist/lexer/tokenizer.d.ts.map +0 -1
- package/dist/lexer/tokenizer.js.map +0 -1
- package/dist/parser/helpers.d.ts.map +0 -1
- package/dist/parser/helpers.js.map +0 -1
- package/dist/parser/index.d.ts.map +0 -1
- package/dist/parser/index.js.map +0 -1
- package/dist/parser/parser-collect.d.ts.map +0 -1
- package/dist/parser/parser-collect.js.map +0 -1
- package/dist/parser/parser-control.d.ts.map +0 -1
- package/dist/parser/parser-control.js.map +0 -1
- package/dist/parser/parser-expr.d.ts.map +0 -1
- package/dist/parser/parser-expr.js.map +0 -1
- package/dist/parser/parser-extract.d.ts.map +0 -1
- package/dist/parser/parser-extract.js.map +0 -1
- package/dist/parser/parser-functions.d.ts.map +0 -1
- package/dist/parser/parser-functions.js.map +0 -1
- package/dist/parser/parser-literals.d.ts.map +0 -1
- package/dist/parser/parser-literals.js.map +0 -1
- package/dist/parser/parser-script.d.ts.map +0 -1
- package/dist/parser/parser-script.js.map +0 -1
- package/dist/parser/parser-shape.d.ts.map +0 -1
- package/dist/parser/parser-shape.js.map +0 -1
- package/dist/parser/parser-types.d.ts.map +0 -1
- package/dist/parser/parser-types.js.map +0 -1
- package/dist/parser/parser-use.d.ts.map +0 -1
- package/dist/parser/parser-use.js.map +0 -1
- package/dist/parser/parser-variables.d.ts.map +0 -1
- package/dist/parser/parser-variables.js.map +0 -1
- package/dist/parser/parser.d.ts.map +0 -1
- package/dist/parser/parser.js.map +0 -1
- package/dist/parser/state.d.ts.map +0 -1
- package/dist/parser/state.js.map +0 -1
- package/dist/runtime/core/callable.d.ts.map +0 -1
- package/dist/runtime/core/callable.js.map +0 -1
- package/dist/runtime/core/context.d.ts.map +0 -1
- package/dist/runtime/core/context.js.map +0 -1
- package/dist/runtime/core/equals.d.ts.map +0 -1
- package/dist/runtime/core/equals.js.map +0 -1
- package/dist/runtime/core/eval/base.d.ts.map +0 -1
- package/dist/runtime/core/eval/base.js.map +0 -1
- package/dist/runtime/core/eval/evaluator.d.ts.map +0 -1
- package/dist/runtime/core/eval/evaluator.js.map +0 -1
- package/dist/runtime/core/eval/index.d.ts.map +0 -1
- package/dist/runtime/core/eval/index.js.map +0 -1
- package/dist/runtime/core/eval/mixins/annotations.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/annotations.js.map +0 -1
- package/dist/runtime/core/eval/mixins/closures.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/closures.js.map +0 -1
- package/dist/runtime/core/eval/mixins/collections.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/collections.js.map +0 -1
- package/dist/runtime/core/eval/mixins/control-flow.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/control-flow.js.map +0 -1
- package/dist/runtime/core/eval/mixins/conversion.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/conversion.js.map +0 -1
- package/dist/runtime/core/eval/mixins/core.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/core.js.map +0 -1
- package/dist/runtime/core/eval/mixins/expressions.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/expressions.js.map +0 -1
- package/dist/runtime/core/eval/mixins/extraction.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/extraction.js.map +0 -1
- package/dist/runtime/core/eval/mixins/list-dispatch.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/list-dispatch.js.map +0 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/literals.js.map +0 -1
- package/dist/runtime/core/eval/mixins/types.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/types.js.map +0 -1
- package/dist/runtime/core/eval/mixins/use.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/use.js.map +0 -1
- package/dist/runtime/core/eval/mixins/variables.d.ts.map +0 -1
- package/dist/runtime/core/eval/mixins/variables.js.map +0 -1
- package/dist/runtime/core/eval/types.d.ts.map +0 -1
- package/dist/runtime/core/eval/types.js.map +0 -1
- package/dist/runtime/core/execute.d.ts.map +0 -1
- package/dist/runtime/core/execute.js.map +0 -1
- package/dist/runtime/core/field-descriptor.d.ts.map +0 -1
- package/dist/runtime/core/field-descriptor.js.map +0 -1
- package/dist/runtime/core/introspection.d.ts.map +0 -1
- package/dist/runtime/core/introspection.js.map +0 -1
- package/dist/runtime/core/resolvers.d.ts.map +0 -1
- package/dist/runtime/core/resolvers.js.map +0 -1
- package/dist/runtime/core/signals.d.ts.map +0 -1
- package/dist/runtime/core/signals.js.map +0 -1
- package/dist/runtime/core/types.d.ts.map +0 -1
- package/dist/runtime/core/types.js.map +0 -1
- package/dist/runtime/core/values.d.ts.map +0 -1
- package/dist/runtime/core/values.js.map +0 -1
- package/dist/runtime/ext/builtins.d.ts.map +0 -1
- package/dist/runtime/ext/builtins.js.map +0 -1
- package/dist/runtime/ext/extensions.d.ts.map +0 -1
- package/dist/runtime/ext/extensions.js.map +0 -1
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js.map +0 -1
- package/dist/signature-parser.d.ts.map +0 -1
- package/dist/signature-parser.js.map +0 -1
- package/dist/source-location.d.ts.map +0 -1
- package/dist/source-location.js.map +0 -1
- package/dist/token-types.d.ts.map +0 -1
- package/dist/token-types.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/value-types.d.ts.map +0 -1
- package/dist/value-types.js.map +0 -1
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
10
|
import type { SourceLocation } from '../../types.js';
|
|
11
|
-
import type { RillType } from './values.js';
|
|
11
|
+
import type { RillFieldDef, RillType } from './values.js';
|
|
12
12
|
/**
|
|
13
13
|
* Field descriptor — carries field name and structural type when accessing a
|
|
14
14
|
* dict-kind RillType field.
|
|
@@ -16,7 +16,7 @@ import type { RillType } from './values.js';
|
|
|
16
16
|
export interface RillFieldDescriptor {
|
|
17
17
|
readonly __rill_field_descriptor: true;
|
|
18
18
|
readonly fieldName: string;
|
|
19
|
-
readonly fieldType:
|
|
19
|
+
readonly fieldType: RillFieldDef;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Build a frozen RillFieldDescriptor for the given field in a structural dict type.
|
|
@@ -26,4 +26,3 @@ export interface RillFieldDescriptor {
|
|
|
26
26
|
export declare function buildFieldDescriptor(structuralType: RillType & {
|
|
27
27
|
type: 'dict';
|
|
28
28
|
}, fieldName: string, location: SourceLocation): RillFieldDescriptor;
|
|
29
|
-
//# sourceMappingURL=field-descriptor.d.ts.map
|
|
@@ -26,10 +26,12 @@ export interface RillTuple {
|
|
|
26
26
|
/**
|
|
27
27
|
* Ordered type - represents named key-value pairs with preserved insertion order.
|
|
28
28
|
* Created by the * (spread) operator from dicts.
|
|
29
|
+
* Entries may carry an optional third element (default value) when representing
|
|
30
|
+
* closure parameter reflection via `.^input`.
|
|
29
31
|
*/
|
|
30
32
|
export interface RillOrdered {
|
|
31
33
|
readonly __rill_ordered: true;
|
|
32
|
-
readonly entries: [string, RillValue][];
|
|
34
|
+
readonly entries: [string, RillValue, RillValue?][];
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
37
|
* Vector type - represents dense numeric embeddings.
|
|
@@ -40,6 +42,16 @@ export interface RillVector {
|
|
|
40
42
|
readonly data: Float32Array;
|
|
41
43
|
readonly model: string;
|
|
42
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Field definition - describes a single field in a structural type.
|
|
47
|
+
* Used by dict, tuple, ordered, and closure type descriptors.
|
|
48
|
+
* Default detection: `field.defaultValue !== undefined`.
|
|
49
|
+
*/
|
|
50
|
+
export interface RillFieldDef {
|
|
51
|
+
name?: string;
|
|
52
|
+
type: RillType;
|
|
53
|
+
defaultValue?: RillValue;
|
|
54
|
+
}
|
|
43
55
|
/**
|
|
44
56
|
* Structural type descriptor - describes the shape of a value in the type system.
|
|
45
57
|
* Used by RillTypeValue to carry type structure information at runtime.
|
|
@@ -58,20 +70,23 @@ export type RillType = {
|
|
|
58
70
|
type: 'any';
|
|
59
71
|
} | {
|
|
60
72
|
type: 'dict';
|
|
61
|
-
fields?: Record<string,
|
|
73
|
+
fields?: Record<string, RillFieldDef>;
|
|
74
|
+
valueType?: RillType;
|
|
62
75
|
} | {
|
|
63
76
|
type: 'list';
|
|
64
77
|
element?: RillType;
|
|
65
78
|
} | {
|
|
66
79
|
type: 'closure';
|
|
67
|
-
params?: [
|
|
80
|
+
params?: RillFieldDef[];
|
|
68
81
|
ret?: RillType;
|
|
69
82
|
} | {
|
|
70
83
|
type: 'tuple';
|
|
71
|
-
elements?:
|
|
84
|
+
elements?: RillFieldDef[];
|
|
85
|
+
valueType?: RillType;
|
|
72
86
|
} | {
|
|
73
87
|
type: 'ordered';
|
|
74
|
-
fields?: [
|
|
88
|
+
fields?: RillFieldDef[];
|
|
89
|
+
valueType?: RillType;
|
|
75
90
|
} | {
|
|
76
91
|
type: 'union';
|
|
77
92
|
members: RillType[];
|
|
@@ -101,8 +116,12 @@ export declare function isVector(value: RillValue): value is RillVector;
|
|
|
101
116
|
export declare function isOrdered(value: RillValue): value is RillOrdered;
|
|
102
117
|
/** Type guard for RillTypeValue */
|
|
103
118
|
export declare function isTypeValue(value: RillValue): value is RillTypeValue;
|
|
104
|
-
/**
|
|
105
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Create ordered from entries array (named, preserves insertion order).
|
|
121
|
+
* Entries may be 2-element [name, value] or 3-element [name, value, default]
|
|
122
|
+
* tuples; the third element carries a default value for `.^input` reflection.
|
|
123
|
+
*/
|
|
124
|
+
export declare function createOrdered(entries: [string, RillValue, RillValue?][]): RillOrdered;
|
|
106
125
|
/** Create tuple from entries array (positional, preserves order) */
|
|
107
126
|
export declare function createTuple(entries: RillValue[]): RillTuple;
|
|
108
127
|
/**
|
|
@@ -118,6 +137,19 @@ export declare function inferType(value: RillValue): RillTypeName;
|
|
|
118
137
|
* Mixed types throw RILL-R002.
|
|
119
138
|
*/
|
|
120
139
|
export declare function inferElementType(elements: RillValue[]): RillType;
|
|
140
|
+
/**
|
|
141
|
+
* Return the most specific shared type for two RillType values.
|
|
142
|
+
* Returns null when types are incompatible at the top level.
|
|
143
|
+
*
|
|
144
|
+
* Cascade priority:
|
|
145
|
+
* 1. Any-narrowing: if either side is `any`, return the other
|
|
146
|
+
* 2. Structural match: delegate to structuralTypeEquals; on true, return a
|
|
147
|
+
* 3. Recursive list: merge inner element types
|
|
148
|
+
* 3b. Uniform valueType: merge dict/tuple/ordered value types
|
|
149
|
+
* 4. Bare type fallback: same compound type but structural mismatch
|
|
150
|
+
* 5. Incompatible: different top-level types return null
|
|
151
|
+
*/
|
|
152
|
+
export declare function commonType(a: RillType, b: RillType): RillType | null;
|
|
121
153
|
/** Compare two structural types for equality. */
|
|
122
154
|
export declare function structuralTypeEquals(a: RillType, b: RillType): boolean;
|
|
123
155
|
/** Infer the structural type descriptor for any Rill value. */
|
|
@@ -127,6 +159,8 @@ export declare function inferStructuralType(value: RillValue): RillType;
|
|
|
127
159
|
* Used for runtime type checking (`:?` operator).
|
|
128
160
|
*/
|
|
129
161
|
export declare function structuralTypeMatches(value: RillValue, type: RillType): boolean;
|
|
162
|
+
/** Build a closure param field definition from name, type, and optional default. */
|
|
163
|
+
export declare function paramToFieldDef(name: string, type: RillType, defaultValue: RillValue | undefined): RillFieldDef;
|
|
130
164
|
/** Format a structural type descriptor as a human-readable string. */
|
|
131
165
|
export declare function formatStructuralType(type: RillType): string;
|
|
132
166
|
/**
|
|
@@ -191,6 +225,17 @@ export declare const anyTypeValue: RillTypeValue;
|
|
|
191
225
|
* Falls back to 'any' for compound types that lack a direct RillTypeName mapping.
|
|
192
226
|
*/
|
|
193
227
|
export declare function rillTypeToTypeValue(type: RillType): RillTypeValue;
|
|
228
|
+
/**
|
|
229
|
+
* Check if a type is a collection (dict, ordered, tuple) with defined
|
|
230
|
+
* fields or elements. Used to decide if an empty collection can be
|
|
231
|
+
* synthesized and hydrated.
|
|
232
|
+
*/
|
|
233
|
+
export declare function hasCollectionFields(type: RillType): boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Create an empty collection value matching the given RillType.
|
|
236
|
+
* Assumes the type is dict, ordered, or tuple.
|
|
237
|
+
*/
|
|
238
|
+
export declare function emptyForType(type: RillType): RillValue;
|
|
194
239
|
/** Check if a key name is reserved */
|
|
195
240
|
export declare function isReservedMethod(name: string): boolean;
|
|
196
241
|
/**
|
|
@@ -213,5 +258,11 @@ export interface RillIterator extends Record<string, RillValue> {
|
|
|
213
258
|
* - value: any (only required when not done) - current element
|
|
214
259
|
*/
|
|
215
260
|
export declare function isRillIterator(value: RillValue): value is RillIterator;
|
|
261
|
+
/**
|
|
262
|
+
* Deep copy a RillValue, producing a new independent value.
|
|
263
|
+
* Handles primitives, arrays, plain dicts, and null.
|
|
264
|
+
* Special markers (closures, tuples, ordered, vectors, type values) are returned
|
|
265
|
+
* as-is since they are immutable by contract.
|
|
266
|
+
*/
|
|
267
|
+
export declare function deepCopyRillValue(value: RillValue): RillValue;
|
|
216
268
|
export {};
|
|
217
|
-
//# sourceMappingURL=values.d.ts.map
|