@elaraai/east 0.0.1-beta.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/LICENSE.md +682 -0
- package/README.md +276 -0
- package/dist/src/analyze.d.ts +95 -0
- package/dist/src/analyze.d.ts.map +1 -0
- package/dist/src/analyze.js +1110 -0
- package/dist/src/analyze.js.map +1 -0
- package/dist/src/ast.d.ts +263 -0
- package/dist/src/ast.d.ts.map +1 -0
- package/dist/src/ast.js +151 -0
- package/dist/src/ast.js.map +1 -0
- package/dist/src/ast_to_ir.d.ts +24 -0
- package/dist/src/ast_to_ir.d.ts.map +1 -0
- package/dist/src/ast_to_ir.js +834 -0
- package/dist/src/ast_to_ir.js.map +1 -0
- package/dist/src/builtins.d.ts +18 -0
- package/dist/src/builtins.d.ts.map +1 -0
- package/dist/src/builtins.js +1105 -0
- package/dist/src/builtins.js.map +1 -0
- package/dist/src/comparison.d.ts +28 -0
- package/dist/src/comparison.d.ts.map +1 -0
- package/dist/src/comparison.js +1017 -0
- package/dist/src/comparison.js.map +1 -0
- package/dist/src/compile.d.ts +22 -0
- package/dist/src/compile.d.ts.map +1 -0
- package/dist/src/compile.js +3260 -0
- package/dist/src/compile.js.map +1 -0
- package/dist/src/containers/ref.d.ts +106 -0
- package/dist/src/containers/ref.d.ts.map +1 -0
- package/dist/src/containers/ref.js +100 -0
- package/dist/src/containers/ref.js.map +1 -0
- package/dist/src/containers/sortedmap.d.ts +165 -0
- package/dist/src/containers/sortedmap.d.ts.map +1 -0
- package/dist/src/containers/sortedmap.js +237 -0
- package/dist/src/containers/sortedmap.js.map +1 -0
- package/dist/src/containers/sortedset.d.ts +185 -0
- package/dist/src/containers/sortedset.d.ts.map +1 -0
- package/dist/src/containers/sortedset.js +312 -0
- package/dist/src/containers/sortedset.js.map +1 -0
- package/dist/src/containers/variant.d.ts +131 -0
- package/dist/src/containers/variant.d.ts.map +1 -0
- package/dist/src/containers/variant.js +68 -0
- package/dist/src/containers/variant.js.map +1 -0
- package/dist/src/datetime_format/parse.d.ts +50 -0
- package/dist/src/datetime_format/parse.d.ts.map +1 -0
- package/dist/src/datetime_format/parse.js +908 -0
- package/dist/src/datetime_format/parse.js.map +1 -0
- package/dist/src/datetime_format/print.d.ts +35 -0
- package/dist/src/datetime_format/print.d.ts.map +1 -0
- package/dist/src/datetime_format/print.js +157 -0
- package/dist/src/datetime_format/print.js.map +1 -0
- package/dist/src/datetime_format/tokenize.d.ts +76 -0
- package/dist/src/datetime_format/tokenize.d.ts.map +1 -0
- package/dist/src/datetime_format/tokenize.js +271 -0
- package/dist/src/datetime_format/tokenize.js.map +1 -0
- package/dist/src/datetime_format/types.d.ts +99 -0
- package/dist/src/datetime_format/types.d.ts.map +1 -0
- package/dist/src/datetime_format/types.js +103 -0
- package/dist/src/datetime_format/types.js.map +1 -0
- package/dist/src/datetime_format/validate.d.ts +51 -0
- package/dist/src/datetime_format/validate.d.ts.map +1 -0
- package/dist/src/datetime_format/validate.js +208 -0
- package/dist/src/datetime_format/validate.js.map +1 -0
- package/dist/src/default.d.ts +21 -0
- package/dist/src/default.d.ts.map +1 -0
- package/dist/src/default.js +82 -0
- package/dist/src/default.js.map +1 -0
- package/dist/src/eastir.d.ts +33 -0
- package/dist/src/eastir.d.ts.map +1 -0
- package/dist/src/eastir.js +92 -0
- package/dist/src/eastir.js.map +1 -0
- package/dist/src/error.d.ts +13 -0
- package/dist/src/error.d.ts.map +1 -0
- package/dist/src/error.js +8 -0
- package/dist/src/error.js.map +1 -0
- package/dist/src/expr/array.d.ts +1711 -0
- package/dist/src/expr/array.d.ts.map +1 -0
- package/dist/src/expr/array.js +1805 -0
- package/dist/src/expr/array.js.map +1 -0
- package/dist/src/expr/ast.d.ts +17 -0
- package/dist/src/expr/ast.d.ts.map +1 -0
- package/dist/src/expr/ast.js +302 -0
- package/dist/src/expr/ast.js.map +1 -0
- package/dist/src/expr/blob.d.ts +141 -0
- package/dist/src/expr/blob.d.ts.map +1 -0
- package/dist/src/expr/blob.js +198 -0
- package/dist/src/expr/blob.js.map +1 -0
- package/dist/src/expr/block.d.ts +201 -0
- package/dist/src/expr/block.d.ts.map +1 -0
- package/dist/src/expr/block.js +1505 -0
- package/dist/src/expr/block.js.map +1 -0
- package/dist/src/expr/boolean.d.ts +207 -0
- package/dist/src/expr/boolean.d.ts.map +1 -0
- package/dist/src/expr/boolean.js +261 -0
- package/dist/src/expr/boolean.js.map +1 -0
- package/dist/src/expr/datetime.d.ts +544 -0
- package/dist/src/expr/datetime.d.ts.map +1 -0
- package/dist/src/expr/datetime.js +980 -0
- package/dist/src/expr/datetime.js.map +1 -0
- package/dist/src/expr/dict.d.ts +1242 -0
- package/dist/src/expr/dict.d.ts.map +1 -0
- package/dist/src/expr/dict.js +1492 -0
- package/dist/src/expr/dict.js.map +1 -0
- package/dist/src/expr/expr.d.ts +95 -0
- package/dist/src/expr/expr.d.ts.map +1 -0
- package/dist/src/expr/expr.js +171 -0
- package/dist/src/expr/expr.js.map +1 -0
- package/dist/src/expr/float.d.ts +357 -0
- package/dist/src/expr/float.d.ts.map +1 -0
- package/dist/src/expr/float.js +637 -0
- package/dist/src/expr/float.js.map +1 -0
- package/dist/src/expr/function.d.ts +46 -0
- package/dist/src/expr/function.d.ts.map +1 -0
- package/dist/src/expr/function.js +58 -0
- package/dist/src/expr/function.js.map +1 -0
- package/dist/src/expr/index.d.ts +450 -0
- package/dist/src/expr/index.d.ts.map +1 -0
- package/dist/src/expr/index.js +423 -0
- package/dist/src/expr/index.js.map +1 -0
- package/dist/src/expr/integer.d.ts +256 -0
- package/dist/src/expr/integer.d.ts.map +1 -0
- package/dist/src/expr/integer.js +311 -0
- package/dist/src/expr/integer.js.map +1 -0
- package/dist/src/expr/libs/array.d.ts +106 -0
- package/dist/src/expr/libs/array.d.ts.map +1 -0
- package/dist/src/expr/libs/array.js +140 -0
- package/dist/src/expr/libs/array.js.map +1 -0
- package/dist/src/expr/libs/blob.d.ts +42 -0
- package/dist/src/expr/libs/blob.d.ts.map +1 -0
- package/dist/src/expr/libs/blob.js +70 -0
- package/dist/src/expr/libs/blob.js.map +1 -0
- package/dist/src/expr/libs/datetime.d.ts +479 -0
- package/dist/src/expr/libs/datetime.d.ts.map +1 -0
- package/dist/src/expr/libs/datetime.js +624 -0
- package/dist/src/expr/libs/datetime.js.map +1 -0
- package/dist/src/expr/libs/dict.d.ts +66 -0
- package/dist/src/expr/libs/dict.d.ts.map +1 -0
- package/dist/src/expr/libs/dict.js +77 -0
- package/dist/src/expr/libs/dict.js.map +1 -0
- package/dist/src/expr/libs/float.d.ts +299 -0
- package/dist/src/expr/libs/float.d.ts.map +1 -0
- package/dist/src/expr/libs/float.js +564 -0
- package/dist/src/expr/libs/float.js.map +1 -0
- package/dist/src/expr/libs/integer.d.ts +228 -0
- package/dist/src/expr/libs/integer.d.ts.map +1 -0
- package/dist/src/expr/libs/integer.js +398 -0
- package/dist/src/expr/libs/integer.js.map +1 -0
- package/dist/src/expr/libs/set.d.ts +59 -0
- package/dist/src/expr/libs/set.d.ts.map +1 -0
- package/dist/src/expr/libs/set.js +69 -0
- package/dist/src/expr/libs/set.js.map +1 -0
- package/dist/src/expr/libs/string.d.ts +71 -0
- package/dist/src/expr/libs/string.d.ts.map +1 -0
- package/dist/src/expr/libs/string.js +75 -0
- package/dist/src/expr/libs/string.js.map +1 -0
- package/dist/src/expr/never.d.ts +15 -0
- package/dist/src/expr/never.d.ts.map +1 -0
- package/dist/src/expr/never.js +12 -0
- package/dist/src/expr/never.js.map +1 -0
- package/dist/src/expr/null.d.ts +15 -0
- package/dist/src/expr/null.d.ts.map +1 -0
- package/dist/src/expr/null.js +12 -0
- package/dist/src/expr/null.js.map +1 -0
- package/dist/src/expr/ref.d.ts +103 -0
- package/dist/src/expr/ref.d.ts.map +1 -0
- package/dist/src/expr/ref.js +131 -0
- package/dist/src/expr/ref.js.map +1 -0
- package/dist/src/expr/regex_validation.d.ts +25 -0
- package/dist/src/expr/regex_validation.d.ts.map +1 -0
- package/dist/src/expr/regex_validation.js +130 -0
- package/dist/src/expr/regex_validation.js.map +1 -0
- package/dist/src/expr/set.d.ts +1071 -0
- package/dist/src/expr/set.d.ts.map +1 -0
- package/dist/src/expr/set.js +1137 -0
- package/dist/src/expr/set.js.map +1 -0
- package/dist/src/expr/string.d.ts +414 -0
- package/dist/src/expr/string.d.ts.map +1 -0
- package/dist/src/expr/string.js +683 -0
- package/dist/src/expr/string.js.map +1 -0
- package/dist/src/expr/struct.d.ts +48 -0
- package/dist/src/expr/struct.d.ts.map +1 -0
- package/dist/src/expr/struct.js +65 -0
- package/dist/src/expr/struct.js.map +1 -0
- package/dist/src/expr/types.d.ts +68 -0
- package/dist/src/expr/types.d.ts.map +1 -0
- package/dist/src/expr/types.js +6 -0
- package/dist/src/expr/types.js.map +1 -0
- package/dist/src/expr/variant.d.ts +137 -0
- package/dist/src/expr/variant.d.ts.map +1 -0
- package/dist/src/expr/variant.js +105 -0
- package/dist/src/expr/variant.js.map +1 -0
- package/dist/src/fuzz.d.ts +80 -0
- package/dist/src/fuzz.d.ts.map +1 -0
- package/dist/src/fuzz.js +300 -0
- package/dist/src/fuzz.js.map +1 -0
- package/dist/src/index.d.ts +21 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +21 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal.d.ts +36 -0
- package/dist/src/internal.d.ts.map +1 -0
- package/dist/src/internal.js +11 -0
- package/dist/src/internal.js.map +1 -0
- package/dist/src/ir.d.ts +1571 -0
- package/dist/src/ir.d.ts.map +1 -0
- package/dist/src/ir.js +56 -0
- package/dist/src/ir.js.map +1 -0
- package/dist/src/location.d.ts +48 -0
- package/dist/src/location.d.ts.map +1 -0
- package/dist/src/location.js +62 -0
- package/dist/src/location.js.map +1 -0
- package/dist/src/platform.d.ts +21 -0
- package/dist/src/platform.d.ts.map +1 -0
- package/dist/src/platform.js +8 -0
- package/dist/src/platform.js.map +1 -0
- package/dist/src/serialization/beast.d.ts +39 -0
- package/dist/src/serialization/beast.d.ts.map +1 -0
- package/dist/src/serialization/beast.js +555 -0
- package/dist/src/serialization/beast.js.map +1 -0
- package/dist/src/serialization/beast2-stream.d.ts +38 -0
- package/dist/src/serialization/beast2-stream.d.ts.map +1 -0
- package/dist/src/serialization/beast2-stream.js +665 -0
- package/dist/src/serialization/beast2-stream.js.map +1 -0
- package/dist/src/serialization/beast2.d.ts +41 -0
- package/dist/src/serialization/beast2.d.ts.map +1 -0
- package/dist/src/serialization/beast2.js +489 -0
- package/dist/src/serialization/beast2.js.map +1 -0
- package/dist/src/serialization/binary-utils.d.ts +151 -0
- package/dist/src/serialization/binary-utils.d.ts.map +1 -0
- package/dist/src/serialization/binary-utils.js +929 -0
- package/dist/src/serialization/binary-utils.js.map +1 -0
- package/dist/src/serialization/east.d.ts +84 -0
- package/dist/src/serialization/east.d.ts.map +1 -0
- package/dist/src/serialization/east.js +1802 -0
- package/dist/src/serialization/east.js.map +1 -0
- package/dist/src/serialization/index.d.ts +11 -0
- package/dist/src/serialization/index.d.ts.map +1 -0
- package/dist/src/serialization/index.js +12 -0
- package/dist/src/serialization/index.js.map +1 -0
- package/dist/src/serialization/json.d.ts +36 -0
- package/dist/src/serialization/json.d.ts.map +1 -0
- package/dist/src/serialization/json.js +849 -0
- package/dist/src/serialization/json.js.map +1 -0
- package/dist/src/type_of_type.d.ts +115 -0
- package/dist/src/type_of_type.d.ts.map +1 -0
- package/dist/src/type_of_type.js +362 -0
- package/dist/src/type_of_type.js.map +1 -0
- package/dist/src/types.d.ts +648 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +1631 -0
- package/dist/src/types.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../src/ir.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ir.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ArrayType, BooleanType, IntegerType, RecursiveType, StringType, StructType, VariantType } from "./types.js";
|
|
2
|
+
import { EastTypeType, LiteralValueType } from "./type_of_type.js";
|
|
3
|
+
export function printLocationValue(location) {
|
|
4
|
+
return `${location.filename} ${location.line}:${location.column}`;
|
|
5
|
+
}
|
|
6
|
+
////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
|
+
// Homoiconic IR EastTypes
|
|
8
|
+
export const LocationType = StructType({
|
|
9
|
+
filename: StringType,
|
|
10
|
+
line: IntegerType,
|
|
11
|
+
column: IntegerType,
|
|
12
|
+
});
|
|
13
|
+
export const IRLabelType = StructType({
|
|
14
|
+
name: StringType,
|
|
15
|
+
location: LocationType,
|
|
16
|
+
});
|
|
17
|
+
export const VariableType = StructType({
|
|
18
|
+
type: EastTypeType,
|
|
19
|
+
location: LocationType,
|
|
20
|
+
name: StringType,
|
|
21
|
+
mutable: BooleanType,
|
|
22
|
+
captured: BooleanType,
|
|
23
|
+
});
|
|
24
|
+
export const IRType = RecursiveType(ir => VariantType({
|
|
25
|
+
Error: StructType({ type: EastTypeType, location: LocationType, message: ir }),
|
|
26
|
+
TryCatch: StructType({ type: EastTypeType, location: LocationType, try_body: ir, catch_body: ir, message: ir, stack: ir, finally_body: ir }),
|
|
27
|
+
Value: StructType({ type: EastTypeType, location: LocationType, value: LiteralValueType }),
|
|
28
|
+
Variable: VariableType,
|
|
29
|
+
Let: StructType({ type: EastTypeType, location: LocationType, variable: ir, value: ir }),
|
|
30
|
+
Assign: StructType({ type: EastTypeType, location: LocationType, variable: ir, value: ir }),
|
|
31
|
+
As: StructType({ type: EastTypeType, location: LocationType, value: ir }),
|
|
32
|
+
Function: StructType({ type: EastTypeType, location: LocationType, captures: ArrayType(ir), parameters: ArrayType(ir), body: ir }),
|
|
33
|
+
Call: StructType({ type: EastTypeType, location: LocationType, function: ir, arguments: ArrayType(ir) }),
|
|
34
|
+
NewRef: StructType({ type: EastTypeType, location: LocationType, value: ir }),
|
|
35
|
+
NewArray: StructType({ type: EastTypeType, location: LocationType, values: ArrayType(ir) }),
|
|
36
|
+
NewSet: StructType({ type: EastTypeType, location: LocationType, values: ArrayType(ir) }),
|
|
37
|
+
NewDict: StructType({ type: EastTypeType, location: LocationType, values: ArrayType(StructType({ key: ir, value: ir })) }),
|
|
38
|
+
Struct: StructType({ type: EastTypeType, location: LocationType, fields: ArrayType(StructType({ name: StringType, value: ir })) }),
|
|
39
|
+
GetField: StructType({ type: EastTypeType, location: LocationType, field: StringType, struct: ir }),
|
|
40
|
+
Variant: StructType({ type: EastTypeType, location: LocationType, case: StringType, value: ir }),
|
|
41
|
+
Block: StructType({ type: EastTypeType, location: LocationType, statements: ArrayType(ir) }),
|
|
42
|
+
IfElse: StructType({ type: EastTypeType, location: LocationType, ifs: ArrayType(StructType({ predicate: ir, body: ir })), else_body: ir }),
|
|
43
|
+
Match: StructType({ type: EastTypeType, location: LocationType, variant: ir, cases: ArrayType(StructType({ case: StringType, variable: ir, body: ir })) }),
|
|
44
|
+
UnwrapRecursive: StructType({ type: EastTypeType, location: LocationType, value: ir }),
|
|
45
|
+
WrapRecursive: StructType({ type: EastTypeType, location: LocationType, value: ir }),
|
|
46
|
+
While: StructType({ type: EastTypeType, location: LocationType, predicate: ir, label: IRLabelType, body: ir }),
|
|
47
|
+
ForArray: StructType({ type: EastTypeType, location: LocationType, array: ir, label: IRLabelType, key: ir, value: ir, body: ir }),
|
|
48
|
+
ForSet: StructType({ type: EastTypeType, location: LocationType, set: ir, label: IRLabelType, key: ir, body: ir }),
|
|
49
|
+
ForDict: StructType({ type: EastTypeType, location: LocationType, dict: ir, label: IRLabelType, key: ir, value: ir, body: ir }),
|
|
50
|
+
Return: StructType({ type: EastTypeType, location: LocationType, value: ir }),
|
|
51
|
+
Continue: StructType({ type: EastTypeType, location: LocationType, label: IRLabelType }),
|
|
52
|
+
Break: StructType({ type: EastTypeType, location: LocationType, label: IRLabelType }),
|
|
53
|
+
Builtin: StructType({ type: EastTypeType, location: LocationType, builtin: StringType, type_parameters: ArrayType(EastTypeType), arguments: ArrayType(ir) }),
|
|
54
|
+
Platform: StructType({ type: EastTypeType, location: LocationType, name: StringType, arguments: ArrayType(ir) }),
|
|
55
|
+
}));
|
|
56
|
+
//# sourceMappingURL=ir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.js","sourceRoot":"","sources":["../../src/ir.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
*/
|
|
7
|
+
export type Location = {
|
|
8
|
+
/** The source file path */
|
|
9
|
+
filename: string;
|
|
10
|
+
/** The 1-based line number */
|
|
11
|
+
line: number;
|
|
12
|
+
/** The 1-based column number */
|
|
13
|
+
column: number;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Formats a location as a human-readable string.
|
|
17
|
+
*
|
|
18
|
+
* @param location - The source location to format
|
|
19
|
+
* @returns A string in the format `"<filename> <line>:<column>"`
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const loc = { filename: "main.ts", line: 42, column: 15 };
|
|
24
|
+
* printLocation(loc); // "main.ts 42:15"
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function printLocation(location: Location): string;
|
|
28
|
+
/**
|
|
29
|
+
* Captures the source location of the calling code using stack trace inspection.
|
|
30
|
+
*
|
|
31
|
+
* @param skip - Number of stack frames to skip (default = 1 returns the caller's location)
|
|
32
|
+
* @returns A {@link Location} object representing the source position
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* This function uses JavaScript's Error stack traces to determine the caller's
|
|
36
|
+
* source location. Returns `{ filename: "<unknown>", line: 0, column: 0 }` if
|
|
37
|
+
* the stack trace cannot be parsed.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* function myFunction() {
|
|
42
|
+
* const loc = get_location(); // Gets location of this call
|
|
43
|
+
* console.log(printLocation(loc));
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function get_location(skip?: number): Location;
|
|
48
|
+
//# sourceMappingURL=location.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAU,GAAG,QAAQ,CAiCvD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats a location as a human-readable string.
|
|
3
|
+
*
|
|
4
|
+
* @param location - The source location to format
|
|
5
|
+
* @returns A string in the format `"<filename> <line>:<column>"`
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const loc = { filename: "main.ts", line: 42, column: 15 };
|
|
10
|
+
* printLocation(loc); // "main.ts 42:15"
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export function printLocation(location) {
|
|
14
|
+
return `${location.filename} ${location.line}:${location.column}`;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Captures the source location of the calling code using stack trace inspection.
|
|
18
|
+
*
|
|
19
|
+
* @param skip - Number of stack frames to skip (default = 1 returns the caller's location)
|
|
20
|
+
* @returns A {@link Location} object representing the source position
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* This function uses JavaScript's Error stack traces to determine the caller's
|
|
24
|
+
* source location. Returns `{ filename: "<unknown>", line: 0, column: 0 }` if
|
|
25
|
+
* the stack trace cannot be parsed.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* function myFunction() {
|
|
30
|
+
* const loc = get_location(); // Gets location of this call
|
|
31
|
+
* console.log(printLocation(loc));
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export function get_location(skip = 1) {
|
|
36
|
+
// Create an Error object to capture the stack trace
|
|
37
|
+
const err = new Error();
|
|
38
|
+
// Parse the stack trace
|
|
39
|
+
const stack = err.stack;
|
|
40
|
+
if (!stack) {
|
|
41
|
+
return { filename: "<unknown>", line: 0, column: 0 };
|
|
42
|
+
}
|
|
43
|
+
// Split into lines and remove the 'Error' line and this function's line
|
|
44
|
+
const lines = stack.split('\n').slice(skip + 1);
|
|
45
|
+
// Find the first meaningful stack frame
|
|
46
|
+
for (const line of lines) {
|
|
47
|
+
// First match the whole path with line and column
|
|
48
|
+
const match = line.match(/at\s[<>a-zA-Z0-9_$]*\s+(?:(?:\w+\.)*\w+\s+)?\(?(.*?):(\d+):(\d+)\)?$/);
|
|
49
|
+
if (match) {
|
|
50
|
+
const [, fullPath, line, column] = match;
|
|
51
|
+
// Skip if it's an anonymous internal file
|
|
52
|
+
if (fullPath == undefined || fullPath === '') {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
// TODO should we extract a subset of the fullPath?
|
|
56
|
+
// Return filename with line and column
|
|
57
|
+
return { filename: fullPath, line: Number(line), column: Number(column) };
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return { filename: "<unknown>", line: 0, column: 0 };
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=location.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,QAAkB;IAC9C,OAAO,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,CAAC;IAC3C,oDAAoD;IACpD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IAExB,wBAAwB;IACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,wEAAwE;IACxE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAEhD,wCAAwC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,kDAAkD;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACjG,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;YAEzC,0CAA0C;YAC1C,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBAC7C,SAAS;YACX,CAAC;YAED,mDAAmD;YAEnD,uCAAuC;YACvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
*/
|
|
7
|
+
import { type EastTypeValue } from "./type_of_type.js";
|
|
8
|
+
/** Represents a platform function in East */
|
|
9
|
+
export type PlatformFunction = {
|
|
10
|
+
/** The name of the platform function */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Input parameter types (as EastTypeValue for analysis) */
|
|
13
|
+
inputs: EastTypeValue[];
|
|
14
|
+
/** Output type (as EastTypeValue for analysis) */
|
|
15
|
+
output: EastTypeValue;
|
|
16
|
+
/** Whether the function is asynchronous (returns a Promise) */
|
|
17
|
+
type: 'sync' | 'async';
|
|
18
|
+
/** The function implementation */
|
|
19
|
+
fn: (...args: any) => any;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,6CAA6C;AAC7C,MAAM,MAAM,gBAAgB,GAAG;IAC3B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,kDAAkD;IAClD,MAAM,EAAE,aAAa,CAAC;IACtB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,kCAAkC;IAClC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC7B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAsB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import type { EastType, ValueTypeOf } from "../types.js";
|
|
6
|
+
import { BufferWriter } from "./binary-utils.js";
|
|
7
|
+
import { type EastTypeValue } from "../type_of_type.js";
|
|
8
|
+
export declare const BEAST_TYPE_TO_BYTE: {
|
|
9
|
+
readonly Array: 0;
|
|
10
|
+
readonly Blob: 1;
|
|
11
|
+
readonly Boolean: 2;
|
|
12
|
+
readonly DateTime: 3;
|
|
13
|
+
readonly Dict: 4;
|
|
14
|
+
readonly Float: 5;
|
|
15
|
+
readonly Integer: 6;
|
|
16
|
+
readonly Null: 8;
|
|
17
|
+
readonly Set: 9;
|
|
18
|
+
readonly String: 10;
|
|
19
|
+
readonly Struct: 11;
|
|
20
|
+
readonly Variant: 13;
|
|
21
|
+
};
|
|
22
|
+
export declare const BEAST_BYTE_TO_TYPE: readonly ["Array", "Blob", "Boolean", "DateTime", "Dict", "Float", "Integer", undefined, "Null", "Set", "String", "Struct", undefined, "Variant"];
|
|
23
|
+
export declare function encodeTypeToBeastBuffer(type: EastTypeValue, writer: BufferWriter): void;
|
|
24
|
+
export declare function decodeTypeBeast(buffer: Uint8Array, offset: number): [EastTypeValue, number];
|
|
25
|
+
export declare function encodeBeastValueToBufferFor(type: EastTypeValue): (value: any, writer: BufferWriter) => void;
|
|
26
|
+
export declare function decodeBeastValueFor(type: EastTypeValue): (buffer: Uint8Array, offset: number) => [any, number];
|
|
27
|
+
export declare function decodeBeastValueFor<T extends EastType>(type: T): (buffer: Uint8Array, offset: number) => [ValueTypeOf<T>, number];
|
|
28
|
+
export declare function encodeBeastValueFor(type: EastTypeValue): (value: any) => Uint8Array;
|
|
29
|
+
export declare function encodeBeastValueFor<T extends EastType>(type: T): (value: ValueTypeOf<T>) => Uint8Array;
|
|
30
|
+
export declare const MAGIC_BYTES: Uint8Array<ArrayBuffer>;
|
|
31
|
+
export declare function encodeBeastFor(type: EastTypeValue): (value: any) => Uint8Array;
|
|
32
|
+
export declare function encodeBeastFor<T extends EastType>(type: T): (value: ValueTypeOf<T>) => Uint8Array;
|
|
33
|
+
export declare function decodeBeast(data: Uint8Array): {
|
|
34
|
+
type: EastTypeValue;
|
|
35
|
+
value: any;
|
|
36
|
+
};
|
|
37
|
+
export declare function decodeBeastFor(type: EastTypeValue): (data: Uint8Array) => any;
|
|
38
|
+
export declare function decodeBeastFor<T extends EastType>(type: T): (data: Uint8Array) => ValueTypeOf<T>;
|
|
39
|
+
//# sourceMappingURL=beast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beast.d.ts","sourceRoot":"","sources":["../../../src/serialization/beast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,YAAY,EAIb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAsC,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAqC5F,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAerB,CAAC;AAEX,eAAO,MAAM,kBAAkB,mJAMrB,CAAC;AAEX,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAwCvF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAqF3F;AAMD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAkF3G;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC/G,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AA8JlI,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAA;AACpF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;AAevG,eAAO,MAAM,WAAW,yBAAuD,CAAC;AAGhF,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAA;AAC/E,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;AAyBlG,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CA0BjF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,CAAA;AAC9E,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAA"}
|