openseesjs 0.2.1 → 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 +17 -0
- package/README.md +14 -0
- package/dist/native/OpenSeesNativeBindingLoader.d.ts.map +1 -1
- package/dist/native/OpenSeesNativeBindingLoader.js +9 -3
- package/dist/native/OpenSeesNativeBindingLoader.js.map +1 -1
- 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 +732 -0
- package/dist/native-index.cjs.map +7 -0
- 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 +11 -4
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,22 @@
|
|
|
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
|
+
|
|
15
|
+
## 0.2.2 - 2026-09-26
|
|
16
|
+
|
|
17
|
+
- Add a CommonJS entry point for TSLab, Jupyter and `require()` consumers while
|
|
18
|
+
preserving the existing ESM API.
|
|
19
|
+
|
|
3
20
|
## 0.2.1 - 2026-09-26
|
|
4
21
|
|
|
5
22
|
- Move the Windows native runtime to the organization-owned package
|
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":"OpenSeesNativeBindingLoader.d.ts","sourceRoot":"","sources":["../../src/native/OpenSeesNativeBindingLoader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenSeesNativeBindingLoader.d.ts","sourceRoot":"","sources":["../../src/native/OpenSeesNativeBindingLoader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAuCpF,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,oBAAoB,CAAC,WAAW,SAA6B,GAAG,0BAA0B,CA0BzG;AAuBD,wBAAgB,iBAAiB,CAAC,WAAW,SAA6B,GAAG,qBAAqB,CAWjG"}
|
|
@@ -2,7 +2,9 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { dirname, resolve } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
const
|
|
5
|
+
const modulePath = typeof __filename === 'string' ? __filename : fileURLToPath(import.meta.url);
|
|
6
|
+
const moduleDirectory = typeof __dirname === 'string' ? __dirname : dirname(modulePath);
|
|
7
|
+
const require = createRequire(modulePath);
|
|
6
8
|
function platformPackageName() {
|
|
7
9
|
return `@openseesjs/native-${process.platform}-${process.arch}`;
|
|
8
10
|
}
|
|
@@ -17,9 +19,13 @@ function resolveBinding() {
|
|
|
17
19
|
};
|
|
18
20
|
}
|
|
19
21
|
catch {
|
|
20
|
-
const
|
|
22
|
+
const packageRoots = [
|
|
23
|
+
resolve(moduleDirectory, '..', '..'),
|
|
24
|
+
resolve(moduleDirectory, '..'),
|
|
25
|
+
];
|
|
26
|
+
const bundledCandidates = packageRoots.map(packageRoot => resolve(packageRoot, 'native', 'prebuilds', `${process.platform}-${process.arch}`, 'opensees.node'));
|
|
21
27
|
return {
|
|
22
|
-
path:
|
|
28
|
+
path: bundledCandidates.find(existsSync) ?? bundledCandidates[0],
|
|
23
29
|
distribution: 'bundled',
|
|
24
30
|
};
|
|
25
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenSeesNativeBindingLoader.js","sourceRoot":"","sources":["../../src/native/OpenSeesNativeBindingLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,
|
|
1
|
+
{"version":3,"file":"OpenSeesNativeBindingLoader.js","sourceRoot":"","sources":["../../src/native/OpenSeesNativeBindingLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|