openseesjs 0.2.2 → 0.2.3
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/API_REFERENCE.md +1 -0
- package/CHANGELOG.md +12 -0
- package/README.md +14 -0
- package/dist/native/OpenSeesNativeSession.d.ts.map +1 -1
- package/dist/native/OpenSeesNativeSession.js +5 -1
- package/dist/native/OpenSeesNativeSession.js.map +1 -1
- package/dist/native/OpenSeesOps.d.ts.map +1 -1
- package/dist/native/OpenSeesOps.js +5 -1
- package/dist/native/OpenSeesOps.js.map +1 -1
- package/dist/native-index.cjs +22 -2
- package/dist/native-index.cjs.map +3 -3
- package/dist/openseespy/createVariantCommand.js +22 -0
- package/dist/openseespy/createVariantCommand.js.map +1 -0
- package/dist/openseespy/generated/OpenSeesPyApi.generated.d.ts +192 -94
- package/dist/openseespy/generated/OpenSeesPyApi.generated.d.ts.map +1 -1
- package/package.json +3 -1
package/API_REFERENCE.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Generated from the OpenSeesPy `3.8.0.0` command inventory.
|
|
4
4
|
The TypeScript signatures below are the public command overloads used by `ops`.
|
|
5
|
+
Element variants are also discoverable as `ops.element.<type>(...)` methods.
|
|
5
6
|
Queries that return values directly are listed first.
|
|
6
7
|
|
|
7
8
|
## Native queries
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0 - 2026-09-27
|
|
4
|
+
|
|
5
|
+
- Add generated, discoverable element methods such as
|
|
6
|
+
`ops.element.elasticBeamColumn(...)` while preserving the Tcl-compatible
|
|
7
|
+
`ops.element("elasticBeamColumn", ...)` form.
|
|
8
|
+
- Share the variant dispatcher across the native, minimal and Tcl APIs.
|
|
9
|
+
|
|
10
|
+
## 0.2.3 - 2026-09-26
|
|
11
|
+
|
|
12
|
+
- Prioritize the typed `elasticBeamColumn` 2D/3D overloads in editor Signature
|
|
13
|
+
Help without changing the command API or native runtime.
|
|
14
|
+
|
|
3
15
|
## 0.2.2 - 2026-09-26
|
|
4
16
|
|
|
5
17
|
- Add a CommonJS entry point for TSLab, Jupyter and `require()` consumers while
|
package/README.md
CHANGED
|
@@ -66,6 +66,20 @@ finita de argumentos tienen overloads completos; las colecciones de longitud
|
|
|
66
66
|
realmente variable se reciben como arreglos con nombre y tipos de elementos
|
|
67
67
|
concretos.
|
|
68
68
|
|
|
69
|
+
Los elementos también están disponibles como métodos descubribles. Esta forma
|
|
70
|
+
muestra en IntelliSense únicamente las firmas del elemento seleccionado:
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
ops.element.elasticBeamColumn(1, 1, 2, A, E, Iz, transfTag);
|
|
74
|
+
ops.element.Truss(2, 2, 3, A, matTag);
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
La forma compatible con Tcl continúa disponible sin cambios:
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
ops.element('elasticBeamColumn', 1, 1, 2, A, E, Iz, transfTag);
|
|
81
|
+
```
|
|
82
|
+
|
|
69
83
|
## Organizacion recomendada
|
|
70
84
|
|
|
71
85
|
Mantenga un único `ops`, porque OpenSees utiliza un dominio global, y separe el
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenSeesNativeSession.d.ts","sourceRoot":"","sources":["../../src/native/OpenSeesNativeSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenSeesNativeSession.d.ts","sourceRoot":"","sources":["../../src/native/OpenSeesNativeSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAKjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIlH,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;CAAI;AAE5E,qBAAa,sBAAsB;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgF;gBAEpE,OAAO,EAAE,4BAA4B;IAqBzE,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,GAAE,SAAS,kBAAkB,EAAO,GAAG,IAAI;IAMpG,IAAI,CACF,IAAI,EAAE,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAC3C,YAAY,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,EAAE,GACvD,IAAI;IAWP,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,EAAE,GAAG,IAAI;IAI7D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,EAAE,GAAG,IAAI;IAIhE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,EAAE,GAAG,IAAI;CAG9D;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+B;IAC9D,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAgB,GAAG,EAAE,sBAAsB,CAAC;IAC5C,SAAgB,KAAK,EAAE,qBAAqB,CAAC;gBAE1B,OAAO,GAAE,4BAAiC;IAO7D,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,kBAAkB,EAAO,GAAG,mBAAmB;IAUtF,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,EAAE,GAAG,SAAS,mBAAmB,EAAE;IAkBrH,KAAK,IAAI,IAAI;IAMb,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { OPEN_SEES_PY_COMMANDS, } from '../openseespy/generated/OpenSeesPyApi.generated.js';
|
|
2
|
+
import { createVariantCommand } from '../openseespy/createVariantCommand.js';
|
|
2
3
|
import { flattenNativeArguments } from './flattenArguments.js';
|
|
3
4
|
import { invokeNative } from './OpenSeesCommandError.js';
|
|
4
5
|
import { loadNativeBinding } from './OpenSeesNativeBindingLoader.js';
|
|
@@ -15,10 +16,13 @@ export class OpenSeesNativeCommands {
|
|
|
15
16
|
const cached = target.methods.get(property);
|
|
16
17
|
if (cached !== undefined)
|
|
17
18
|
return cached;
|
|
18
|
-
const
|
|
19
|
+
const invoke = (args) => {
|
|
19
20
|
target.command(property, args);
|
|
20
21
|
return receiver;
|
|
21
22
|
};
|
|
23
|
+
const method = property === 'element'
|
|
24
|
+
? createVariantCommand(invoke)
|
|
25
|
+
: (...args) => invoke(args);
|
|
22
26
|
target.methods.set(property, method);
|
|
23
27
|
return method;
|
|
24
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenSeesNativeSession.js","sourceRoot":"","sources":["../../src/native/OpenSeesNativeSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,oDAAoD,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,qBAAqB,CAAC,CAAC;AAI5D,MAAM,OAAO,sBAAsB;IAGG;IAFnB,OAAO,GAAG,IAAI,GAAG,EAAqE,CAAC;IAExG,YAAoC,OAAqC;QAArC,YAAO,GAAP,OAAO,CAA8B;QACvE,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;oBACxF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,MAAM,KAAK,SAAS;wBAAE,OAAO,MAAM,CAAC;oBACxC,MAAM,MAAM,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"OpenSeesNativeSession.js","sourceRoot":"","sources":["../../src/native/OpenSeesNativeSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenSeesOps.d.ts","sourceRoot":"","sources":["../../src/native/OpenSeesOps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenSeesOps.d.ts","sourceRoot":"","sources":["../../src/native/OpenSeesOps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAG/D,MAAM,MAAM,WAAW,GACnB,IAAI,CAAC,sBAAsB,EAAE,MAAM,qBAAqB,CAAC,GACzD,qBAAqB,GACrB;IAAE,OAAO,IAAI,IAAI,CAAA;CAAE,CAAC;AAExB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,4BAAiC,GAAG,WAAW,CAkCzF;AAED,yEAAyE;AACzE,eAAO,MAAM,GAAG,aAAsB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OpenSeesNativeCommands, OpenSeesNativeSession } from './OpenSeesNativeSession.js';
|
|
2
2
|
import { OpenSeesNativeQueries } from './OpenSeesNativeQueries.js';
|
|
3
|
+
import { createVariantCommand } from '../openseespy/createVariantCommand.js';
|
|
3
4
|
/**
|
|
4
5
|
* Creates an OpenSeesPy-style facade. The native session is opened on the
|
|
5
6
|
* first command and remains reusable until `dispose()` is called.
|
|
@@ -22,7 +23,7 @@ export function createOpenSeesOps(options = {}) {
|
|
|
22
23
|
const cached = methods.get(property);
|
|
23
24
|
if (cached !== undefined)
|
|
24
25
|
return cached;
|
|
25
|
-
const
|
|
26
|
+
const invoke = (args) => {
|
|
26
27
|
const current = getSession();
|
|
27
28
|
const isQuery = property in OpenSeesNativeQueries.prototype;
|
|
28
29
|
const owner = isQuery ? current.query : current.ops;
|
|
@@ -32,6 +33,9 @@ export function createOpenSeesOps(options = {}) {
|
|
|
32
33
|
const result = Reflect.apply(value, owner, args);
|
|
33
34
|
return result === current.ops ? facade : result;
|
|
34
35
|
};
|
|
36
|
+
const method = property === 'element'
|
|
37
|
+
? createVariantCommand(invoke)
|
|
38
|
+
: (...args) => invoke(args);
|
|
35
39
|
methods.set(property, method);
|
|
36
40
|
return method;
|
|
37
41
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenSeesOps.js","sourceRoot":"","sources":["../../src/native/OpenSeesOps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenSeesOps.js","sourceRoot":"","sources":["../../src/native/OpenSeesOps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAO7E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAwC,EAAE;IAC1E,IAAI,OAA0C,CAAC;IAC/C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,KAAK,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;IAEnE,IAAI,MAAmB,CAAC;IACxB,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;QACrB,GAAG,CAAC,OAAO,EAAE,QAAQ;YACnB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,GAAG,EAAE;oBACV,OAAO,EAAE,KAAK,EAAE,CAAC;oBACjB,OAAO,GAAG,SAAS,CAAC;gBACtB,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACxC,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAE,EAAE;gBAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,QAAQ,IAAI,qBAAqB,CAAC,SAAS,CAAC;gBAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;gBACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC3C,IAAI,OAAO,KAAK,KAAK,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACjD,OAAO,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAClD,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS;gBACnC,CAAC,CAAC,oBAAoB,CAAmB,MAAM,CAAC;gBAChD,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAgB,CAAC;IAClB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;AAEvC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC"}
|
package/dist/native-index.cjs
CHANGED
|
@@ -272,6 +272,24 @@ var OPEN_SEES_PY_COMMANDS = [
|
|
|
272
272
|
"wipeReliability"
|
|
273
273
|
];
|
|
274
274
|
|
|
275
|
+
// src/openseespy/createVariantCommand.ts
|
|
276
|
+
function createVariantCommand(invoke) {
|
|
277
|
+
const variants = /* @__PURE__ */ new Map();
|
|
278
|
+
const command = (...args) => invoke(args);
|
|
279
|
+
return new Proxy(command, {
|
|
280
|
+
get(target, property, receiver) {
|
|
281
|
+
if (typeof property !== "string" || property in target) {
|
|
282
|
+
return Reflect.get(target, property, receiver);
|
|
283
|
+
}
|
|
284
|
+
const cached = variants.get(property);
|
|
285
|
+
if (cached !== void 0) return cached;
|
|
286
|
+
const variant = (...args) => invoke([property, ...args]);
|
|
287
|
+
variants.set(property, variant);
|
|
288
|
+
return variant;
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
|
|
275
293
|
// src/native/flattenArguments.ts
|
|
276
294
|
function flattenNativeArguments(values) {
|
|
277
295
|
const result = [];
|
|
@@ -575,10 +593,11 @@ var OpenSeesNativeCommands = class {
|
|
|
575
593
|
if (typeof property === "string" && commandNames.has(property) && !(property in target)) {
|
|
576
594
|
const cached = target.methods.get(property);
|
|
577
595
|
if (cached !== void 0) return cached;
|
|
578
|
-
const
|
|
596
|
+
const invoke = (args) => {
|
|
579
597
|
target.command(property, args);
|
|
580
598
|
return receiver;
|
|
581
599
|
};
|
|
600
|
+
const method = property === "element" ? createVariantCommand(invoke) : (...args) => invoke(args);
|
|
582
601
|
target.methods.set(property, method);
|
|
583
602
|
return method;
|
|
584
603
|
}
|
|
@@ -678,7 +697,7 @@ function createOpenSeesOps(options = {}) {
|
|
|
678
697
|
if (typeof property !== "string") return void 0;
|
|
679
698
|
const cached = methods.get(property);
|
|
680
699
|
if (cached !== void 0) return cached;
|
|
681
|
-
const
|
|
700
|
+
const invoke = (args) => {
|
|
682
701
|
const current = getSession();
|
|
683
702
|
const isQuery = property in OpenSeesNativeQueries.prototype;
|
|
684
703
|
const owner = isQuery ? current.query : current.ops;
|
|
@@ -687,6 +706,7 @@ function createOpenSeesOps(options = {}) {
|
|
|
687
706
|
const result = Reflect.apply(value, owner, args);
|
|
688
707
|
return result === current.ops ? facade : result;
|
|
689
708
|
};
|
|
709
|
+
const method = property === "element" ? createVariantCommand(invoke) : (...args) => invoke(args);
|
|
690
710
|
methods.set(property, method);
|
|
691
711
|
return method;
|
|
692
712
|
}
|