@danielsimonjr/mathts-compat 0.4.32 → 0.4.34

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/README.md CHANGED
@@ -12,9 +12,15 @@ npm install @danielsimonjr/mathts-compat
12
12
 
13
13
  ## What it provides
14
14
 
15
- - `create(all)` builds a math instance with the familiar mathjs surface.
16
- - Delegates to `@danielsimonjr/mathts-core` types + `@danielsimonjr/mathts-functions` operations.
17
- - Useful as a single dependency that pulls a working MathTS stack together.
15
+ - `create(all)` exposes `math.evaluate`, `math.chain`, `math.config`, and functions
16
+ names such as `math.createUnit` (spread from `@danielsimonjr/mathts-functions`).
17
+ Each instance's `config` is isolated: `create(all, { number: 'BigNumber' })` does not
18
+ change bare `evaluate` from `@danielsimonjr/mathts-functions`.
19
+ - Direct named imports (`add`, `matrix`, …) come from `compat/src/shims.ts`. There is
20
+ no `math.import` and no named `import` / `createUnit` / `config` export from this
21
+ package.
22
+ - Delegates to `@danielsimonjr/mathts-core` types + `@danielsimonjr/mathts-functions`
23
+ operations. See `docs/api/compat.md` for the full export index.
18
24
 
19
25
  ## License
20
26
 
package/dist/index.d.ts CHANGED
@@ -117,25 +117,6 @@ export interface MathInstance {
117
117
  Infinity: typeof shims.Infinity;
118
118
  NaN: typeof shims.NaN;
119
119
  }
120
- /**
121
- * Create a MathTS instance with mathjs-compatible API
122
- *
123
- * @param factories - Factory functions to include (use `all` for the full
124
- * `@danielsimonjr/mathts-functions` surface; defaults to `all`)
125
- * @param config - Configuration options
126
- * @returns MathTS instance with mathjs-compatible API
127
- *
128
- * @example
129
- * ```typescript
130
- * import { create, all } from '@danielsimonjr/mathts-compat';
131
- * const math = create(all);
132
- *
133
- * math.add(1, 2); // 3
134
- * math.complex(3, 4); // Complex(3, 4)
135
- * math.matrix([[1,2],[3,4]]); // DenseMatrix
136
- * math.det([[1,2],[3,4]]); // -2 (full functions surface)
137
- * ```
138
- */
139
120
  export declare function create(factories?: Record<string, unknown>, config?: Partial<MathJSConfig>): MathInstance;
140
121
  /**
141
122
  * All available factory functions
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAMjE;;GAEG;AACH,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC1D,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,8BAA8B;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAiBD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAExB,mDAAmD;IACnD,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;IAGjC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC;IAG5D,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC9B,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAChC,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAG5B,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAChC,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAC5B,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAGtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAG1B,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAChC,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAGtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAGtB,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAC1B,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAGxB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IACpB,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IAGtB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAClC,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAChC,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAGxB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAClC,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,CAAC;IACpC,WAAW,EAAE,OAAO,KAAK,CAAC,WAAW,CAAC;IACtC,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAChC,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAGhC,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC;IAClB,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IACpB,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC;IAClB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxB,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAC5B,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAC1B,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC9B,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAChC,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CACpB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAO,EACxC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GACjC,YAAY,CAkHd;AAED;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAEvC,CAAC;AAOF,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,CAAC,EACD,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -291,17 +291,57 @@ const defaultConfig = {
291
291
  epsilon: 1e-12,
292
292
  randomSeed: null
293
293
  };
294
+ function copyFunctionSurface(from, to) {
295
+ Object.defineProperty(to, "name", {
296
+ value: from.name,
297
+ configurable: true
298
+ });
299
+ Object.defineProperty(to, "length", {
300
+ value: from.length,
301
+ configurable: true
302
+ });
303
+ try {
304
+ Object.setPrototypeOf(to, Object.getPrototypeOf(from));
305
+ } catch {}
306
+ const proto = Object.getOwnPropertyDescriptor(from, "prototype");
307
+ if (proto) try {
308
+ Object.defineProperty(to, "prototype", proto);
309
+ } catch {
310
+ try {
311
+ to.prototype = from.prototype;
312
+ } catch {}
313
+ }
314
+ for (const key of Reflect.ownKeys(from)) {
315
+ if (key === "length" || key === "name" || key === "prototype") continue;
316
+ if (Object.prototype.hasOwnProperty.call(to, key)) continue;
317
+ const desc = Object.getOwnPropertyDescriptor(from, key);
318
+ if (!desc) continue;
319
+ try {
320
+ Object.defineProperty(to, key, desc);
321
+ } catch {}
322
+ }
323
+ }
324
+ function wrapWithInstanceConfig(fn, currentConfig) {
325
+ const wrapped = function(...args) {
326
+ const construct = new.target;
327
+ return mathFunctions.runWithConfig(currentConfig, () => {
328
+ if (construct) return Reflect.construct(fn, args, construct === wrapped ? fn : construct);
329
+ return fn.apply(this, args);
330
+ });
331
+ };
332
+ copyFunctionSurface(fn, wrapped);
333
+ return wrapped;
334
+ }
294
335
  function create(factories = all, config = {}) {
295
336
  const currentConfig = {
337
+ ...mathFunctions.config(),
296
338
  ...defaultConfig,
297
339
  ...config
298
340
  };
299
- if (Object.keys(config).length > 0) mathFunctions.config(config);
300
341
  const instance = {
301
342
  ...factories,
302
343
  config: (newConfig) => {
303
- const merged = mathFunctions.config(newConfig);
304
- Object.assign(currentConfig, merged);
344
+ if (newConfig) Object.assign(currentConfig, newConfig);
305
345
  return { ...currentConfig };
306
346
  },
307
347
  complex: shims.complex,
@@ -368,6 +408,11 @@ function create(factories = all, config = {}) {
368
408
  throw new Error("chain not initialized");
369
409
  })
370
410
  };
411
+ for (const key of Object.keys(instance)) {
412
+ if (key === "config" || key === "chain") continue;
413
+ const value = instance[key];
414
+ if (typeof value === "function") instance[key] = wrapWithInstanceConfig(value, currentConfig);
415
+ }
371
416
  instance.chain = createChain(instance);
372
417
  return instance;
373
418
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-compat",
3
- "version": "0.4.32",
3
+ "version": "0.4.34",
4
4
  "description": "mathjs compatibility layer for MathTS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -35,10 +35,10 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@danielsimonjr/mathts-core": "^0.19.0",
39
- "@danielsimonjr/mathts-functions": "^0.69.1",
40
- "@danielsimonjr/mathts-matrix": "^0.7.9",
41
- "@danielsimonjr/mathts-parallel": "^0.6.11"
38
+ "@danielsimonjr/mathts-core": "^0.21.0",
39
+ "@danielsimonjr/mathts-functions": "^0.70.1",
40
+ "@danielsimonjr/mathts-matrix": "^0.8.1",
41
+ "@danielsimonjr/mathts-parallel": "^0.7.1"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/node": "^26.4.0",