@hyperscale0/hsx 3.1.0 → 3.2.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/CHANGELOG.md +4 -0
- package/dist/src/headers.d.ts +10 -0
- package/dist/src/headers.d.ts.map +1 -1
- package/dist/src/headers.js +25 -0
- package/dist/src/headers.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +2 -2
- package/src/headers.ts +28 -0
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# HSX 3.2.0
|
|
2
|
+
|
|
3
|
+
Header manifests carry an `authoringTemplate` per object: the `use` import, an instance placeholder, the source line with one placeholder per required binding, and the typed binding list. Required tunables, text tunables and reference selectors (`object`, `party`) are bindings; everything else keeps its default. The permutation suite proves every template compiles once its placeholders are bound. No grammar change.
|
|
4
|
+
|
|
1
5
|
# HSX 3.1.0
|
|
2
6
|
|
|
3
7
|
Licensed under the Hyperscale Intellectual Property and Copyright License 1.0 (`LicenseRef-Hyperscale-IPCL-1.0`), Tier 2 (Source Available). The AGPL-3.0-only grant ends with this release; earlier versions keep it. `LICENSE.md` and `NOTICE.md` replace the previous license, licensing and trademark files; trademark and conformance rules now live in the license. No grammar change.
|
package/dist/src/headers.d.ts
CHANGED
|
@@ -9,6 +9,16 @@ export declare function headerManifest(library?: StandardLibrary): {
|
|
|
9
9
|
name: string;
|
|
10
10
|
qualifiedName: string;
|
|
11
11
|
summary: string;
|
|
12
|
+
authoringTemplate: {
|
|
13
|
+
requiredImport: string;
|
|
14
|
+
instancePlaceholder: string;
|
|
15
|
+
source: string;
|
|
16
|
+
requiredBindings: {
|
|
17
|
+
name: string;
|
|
18
|
+
type: string;
|
|
19
|
+
placeholder: string;
|
|
20
|
+
}[];
|
|
21
|
+
};
|
|
12
22
|
tunables: {
|
|
13
23
|
minimum?: number | string;
|
|
14
24
|
maximum?: number | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGhF,eAAO,MAAM,YAAY,YACvB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,OAAO,EACP,SAAS,CACD,CAAC;AAEX,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,OAAO,GAAE,eAAwC;IAG/C,OAAO;IACP,OAAO;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGhF,eAAO,MAAM,YAAY,YACvB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,OAAO,EACP,SAAS,CACD,CAAC;AAEX,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,OAAO,GAAE,eAAwC;IAG/C,OAAO;IACP,OAAO;;;;;;;gBAmFK,cAAc;gBACd,mBAAmB;gBACnB,MAAM;gBAON,gBAAgB;;;;;;;;;;;;;;;;;;;;;;sBAjFT,MAAM;yBAAW,MAAM;uBAAS,MAAM;;;;EAoH5D"}
|
package/dist/src/headers.js
CHANGED
|
@@ -72,6 +72,16 @@ export function headerManifest(library = bundledStandardLibrary) {
|
|
|
72
72
|
...(fallback ? { default: spelling(fallback) } : {}),
|
|
73
73
|
};
|
|
74
74
|
});
|
|
75
|
+
// Reference selectors need program context, and text can name a target
|
|
76
|
+
// action. Templates require explicit bindings instead of guessing them.
|
|
77
|
+
const bindings = tunables.filter((tunable, index) => {
|
|
78
|
+
const value = decl.parameters[index].value;
|
|
79
|
+
return (tunable.required ||
|
|
80
|
+
tunable.type === "text" ||
|
|
81
|
+
(value.kind === "default" &&
|
|
82
|
+
value.value.kind === "call" &&
|
|
83
|
+
["object", "party"].includes(value.value.name)));
|
|
84
|
+
});
|
|
75
85
|
const summary = decl.body.entries.find((e) => e.key === "summary")?.value;
|
|
76
86
|
return {
|
|
77
87
|
name: decl.name,
|
|
@@ -79,6 +89,21 @@ export function headerManifest(library = bundledStandardLibrary) {
|
|
|
79
89
|
summary: summary?.kind === "text"
|
|
80
90
|
? summary.value
|
|
81
91
|
: decl.name.replaceAll("_", " "),
|
|
92
|
+
authoringTemplate: {
|
|
93
|
+
requiredImport: `use ${name}`,
|
|
94
|
+
instancePlaceholder: "${instance}",
|
|
95
|
+
source: "${instance} = " +
|
|
96
|
+
`${name}.${decl.name} { ` +
|
|
97
|
+
bindings
|
|
98
|
+
.map((t) => t.name + ": ${" + t.name + "}")
|
|
99
|
+
.join(", ") +
|
|
100
|
+
" }",
|
|
101
|
+
requiredBindings: bindings.map((t) => ({
|
|
102
|
+
name: t.name,
|
|
103
|
+
type: t.type,
|
|
104
|
+
placeholder: "${" + t.name + "}",
|
|
105
|
+
})),
|
|
106
|
+
},
|
|
82
107
|
tunables,
|
|
83
108
|
constraints: (() => {
|
|
84
109
|
const block = decl.body.entries.find((entry) => entry.key === "constraints")?.value;
|
package/dist/src/headers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
package/dist/src/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperscale0/hsx",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "The strictly typed HSX language: compile total financial programs into canonical UDL.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hsx",
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"Amir Ayub",
|
|
88
88
|
"Sara AlBakaawi"
|
|
89
89
|
],
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "575c103a43e80504b79fd138c0b0109cef574c0a"
|
|
91
91
|
}
|
package/src/headers.ts
CHANGED
|
@@ -84,6 +84,18 @@ export function headerManifest(
|
|
|
84
84
|
...(fallback ? { default: spelling(fallback) } : {}),
|
|
85
85
|
};
|
|
86
86
|
});
|
|
87
|
+
// Reference selectors need program context, and text can name a target
|
|
88
|
+
// action. Templates require explicit bindings instead of guessing them.
|
|
89
|
+
const bindings = tunables.filter((tunable, index) => {
|
|
90
|
+
const value = decl.parameters[index]!.value;
|
|
91
|
+
return (
|
|
92
|
+
tunable.required ||
|
|
93
|
+
tunable.type === "text" ||
|
|
94
|
+
(value.kind === "default" &&
|
|
95
|
+
value.value.kind === "call" &&
|
|
96
|
+
["object", "party"].includes(value.value.name))
|
|
97
|
+
);
|
|
98
|
+
});
|
|
87
99
|
const summary = decl.body.entries.find(
|
|
88
100
|
(e) => e.key === "summary",
|
|
89
101
|
)?.value;
|
|
@@ -94,6 +106,22 @@ export function headerManifest(
|
|
|
94
106
|
summary?.kind === "text"
|
|
95
107
|
? summary.value
|
|
96
108
|
: decl.name.replaceAll("_", " "),
|
|
109
|
+
authoringTemplate: {
|
|
110
|
+
requiredImport: `use ${name}`,
|
|
111
|
+
instancePlaceholder: "${instance}",
|
|
112
|
+
source:
|
|
113
|
+
"${instance} = " +
|
|
114
|
+
`${name}.${decl.name} { ` +
|
|
115
|
+
bindings
|
|
116
|
+
.map((t) => t.name + ": ${" + t.name + "}")
|
|
117
|
+
.join(", ") +
|
|
118
|
+
" }",
|
|
119
|
+
requiredBindings: bindings.map((t) => ({
|
|
120
|
+
name: t.name,
|
|
121
|
+
type: t.type,
|
|
122
|
+
placeholder: "${" + t.name + "}",
|
|
123
|
+
})),
|
|
124
|
+
},
|
|
97
125
|
tunables,
|
|
98
126
|
constraints: (() => {
|
|
99
127
|
const block = decl.body.entries.find(
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const HSX_VERSION = "3.
|
|
1
|
+
export const HSX_VERSION = "3.2.0";
|
|
2
2
|
export const HSX_TARGET_UDL_VERSION = 3;
|