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.
Potentially problematic release.
This version of openseesjs might be problematic. Click here for more details.
- 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"}
|