@sheetxl/formulas 0.1.97
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/LICENSE.md +11 -0
- package/README.md +37 -0
- package/build/browser/cjs/index.cjs +6 -0
- package/build/browser/esm/index.mjs +15 -0
- package/build/licenses/dependencies.txt +1 -0
- package/build/node/esm/index.mjs +15 -0
- package/build/package.json +40 -0
- package/build/types/index.d.ts +17 -0
- package/package.json +52 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Repository Licensing
|
|
2
|
+
|
|
3
|
+
The SheetXL monorepo contains a mix of open-source and commercially licensed packages. Each package is individually licensed and contains its own license file.
|
|
4
|
+
|
|
5
|
+
For the specific terms and conditions applicable to a package, please see the `LICENSE.md` file located in that package's root directory.
|
|
6
|
+
|
|
7
|
+
Generally, packages intended for public distribution (such as CLIs, adapters, and vanilla wrappers) are licensed under the MIT license. All other core packages are proprietary and require a commercial license for use.
|
|
8
|
+
|
|
9
|
+
For more details on commercial licensing, please visit our website:
|
|
10
|
+
|
|
11
|
+
https://www.sheetxl.com/licensing-pricing
|
package/README.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# @sheetxl/formulas
|
|
2
|
+
|
|
3
|
+
A modern, type-safe library of spreadsheet functions, ready for any JavaScript or TypeScript project.
|
|
4
|
+
|
|
5
|
+
`@sheetxl/formulas` is the official open-source function library for [SheetXL](https://www.sheetxl.com).
|
|
6
|
+
It is designed to be robust, easy to use, and compatible with popular spreadsheet applications.
|
|
7
|
+
|
|
8
|
+
## Our Philosophy
|
|
9
|
+
|
|
10
|
+
This library has a simple goal: to create a comprehensive set of spreadsheet functions written in TypeScript.
|
|
11
|
+
|
|
12
|
+
Our implementation is heavily inspired by and derived from the great work done on
|
|
13
|
+
**[formulajs](https://formulajs.info/)**. We are deeply grateful for their contribution to the community and aim to build upon that foundation with a modern, type-safe architecture.
|
|
14
|
+
|
|
15
|
+
Our plan is to support the complete function sets of **Microsoft Excel** and **Google Sheets**, while also embracing new and useful functions suggested by the community.
|
|
16
|
+
|
|
17
|
+
## Key Features
|
|
18
|
+
|
|
19
|
+
* **Comprehensive:** Growing support for Math, Text, Logical, Financial, and Lookup functions.
|
|
20
|
+
* **TypeScript First:** Written from the ground up in TypeScript for robust type safety.
|
|
21
|
+
* **Vector Optimized:** Functions are designed to leverage the vector API of `@sheetxl/primitives`, allowing them to efficiently operate on ranges of data (`IRange`), not just single values.
|
|
22
|
+
* **Engine-Agnostic & Lightweight:** A simple TypeScript API with no spreadsheet engine dependency. Its only core dependency is `@sheetxl/primitives`.
|
|
23
|
+
* **Permissively Licensed:** Free to use for any project under the MIT license.
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Using npm
|
|
29
|
+
npm install @sheetxl/formulas @sheetxl/primitives
|
|
30
|
+
|
|
31
|
+
# Using pnpm
|
|
32
|
+
pnpm add @sheetxl/formulas @sheetxl/primitives
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Full list of Excel functions
|
|
36
|
+
|
|
37
|
+
https://support.office.com/en-us/article/excel-functions-by-category-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";/**
|
|
2
|
+
* @license @sheetxl/formulas - SheetXL built in formulas. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.formulaCount=0,exports.initialize=function(e){return new Map},exports.version="0.0.0-stub";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/formulas - SheetXL built in formulas. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
function t(n) {
|
|
8
|
+
return /* @__PURE__ */ new Map();
|
|
9
|
+
}
|
|
10
|
+
const a = "0.0.0-stub", e = 0;
|
|
11
|
+
export {
|
|
12
|
+
e as formulaCount,
|
|
13
|
+
t as initialize,
|
|
14
|
+
a as version
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
No third parties dependencies
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/formulas - SheetXL built in formulas. - v0.0.0
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
function n(n2) {
|
|
8
|
+
return /* @__PURE__ */ new Map();
|
|
9
|
+
}
|
|
10
|
+
const t = "0.0.0-stub", e = 0;
|
|
11
|
+
export {
|
|
12
|
+
e as formulaCount,
|
|
13
|
+
n as initialize,
|
|
14
|
+
t as version
|
|
15
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sheetxl/formulas",
|
|
3
|
+
"description": "SheetXL built in formulas.",
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"license": "SEE LICENSE IN <LICENSE>",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./types/index.d.ts",
|
|
10
|
+
"browser": "./browser/esm/index.mjs",
|
|
11
|
+
"node": "./node/esm/index.mjs",
|
|
12
|
+
"import": "./browser/esm/index.mjs",
|
|
13
|
+
"require": "./browser/cjs/index.cjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"types": "./types/index.d.ts",
|
|
17
|
+
"module": "./browser/esm/index.mjs",
|
|
18
|
+
"main": "./browser/cjs/index.cjs",
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"sideEffects": false,
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=22"
|
|
25
|
+
},
|
|
26
|
+
"engineStrict": true,
|
|
27
|
+
"author": "Michael T Ford",
|
|
28
|
+
"keywords": [
|
|
29
|
+
"sheetxl",
|
|
30
|
+
"spreadsheet",
|
|
31
|
+
"formulas"
|
|
32
|
+
],
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@sheetxl/primitives": "^0.0.0",
|
|
35
|
+
"bahttext": "^2.3.0",
|
|
36
|
+
"bessel": "^1.0.2",
|
|
37
|
+
"jstat": "^1.9.6"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {}
|
|
40
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IFormulaContext } from '@sheetxl/primitives';
|
|
2
|
+
import { IFunction } from '@sheetxl/primitives';
|
|
3
|
+
|
|
4
|
+
export declare const formulaCount = 0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Calls the auto generated binding function to bind all built-in functions.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This is a stubbed implementation. The actual formula binding will be generated
|
|
11
|
+
* by the build process in the sdk package.
|
|
12
|
+
*/
|
|
13
|
+
export declare function initialize(getContext: () => IFormulaContext): Map<string, IFunction>;
|
|
14
|
+
|
|
15
|
+
export declare const version = "0.0.0-stub";
|
|
16
|
+
|
|
17
|
+
export { }
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sheetxl/formulas",
|
|
3
|
+
"description": "SheetXL built in formulas.",
|
|
4
|
+
"version": "0.1.97",
|
|
5
|
+
"license": "SEE LICENSE IN <LICENSE>",
|
|
6
|
+
"author": "Michael T Ford",
|
|
7
|
+
"private": false,
|
|
8
|
+
"publishConfig": {
|
|
9
|
+
"access": "public"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"build"
|
|
13
|
+
],
|
|
14
|
+
"type": "module",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"development": "./src/index.ts",
|
|
18
|
+
"types": "./build/types/index.d.ts",
|
|
19
|
+
"import": {
|
|
20
|
+
"node": "./build/node/esm/index.mjs",
|
|
21
|
+
"browser": "./build/browser/esm/index.mjs",
|
|
22
|
+
"default": "./build/browser/esm/index.mjs"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build:node": "cross-env BUILD_ENV=node vite build",
|
|
28
|
+
"build:browser": "vite build",
|
|
29
|
+
"build": "pnpm run build:node && pnpm run build:browser",
|
|
30
|
+
"clean": "rimraf ./build",
|
|
31
|
+
"clean:all": "git clean -fdX .",
|
|
32
|
+
"lint": "eslint .",
|
|
33
|
+
"test": "vitest"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@sheetxl/primitives": "0.1.97",
|
|
37
|
+
"bahttext": "^2.3.0",
|
|
38
|
+
"bessel": "^1.0.2",
|
|
39
|
+
"jstat": "^1.9.6"
|
|
40
|
+
},
|
|
41
|
+
"optionalDependencies": {
|
|
42
|
+
"@xmldom/xmldom": "^0.9.8",
|
|
43
|
+
"fontoxpath": "^3.33.2"
|
|
44
|
+
},
|
|
45
|
+
"sideEffects": false,
|
|
46
|
+
"keywords": [
|
|
47
|
+
"sheetxl",
|
|
48
|
+
"spreadsheet",
|
|
49
|
+
"formulas"
|
|
50
|
+
],
|
|
51
|
+
"gitHead": "b78e66fb6d6131bff6d1bf9d0b13eaf93a82e205"
|
|
52
|
+
}
|