@zambit/elevate-ts 0.1.2

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.
Files changed (170) hide show
  1. package/CLA-CORPORATE.md +72 -0
  2. package/CLA-INDIVIDUAL.md +71 -0
  3. package/DUAL-PUBLISHING-STRATEGY.md +571 -0
  4. package/LICENSE +610 -0
  5. package/README.md +77 -0
  6. package/dist/cjs/Either.d.ts +67 -0
  7. package/dist/cjs/Either.d.ts.map +1 -0
  8. package/dist/cjs/Either.js +147 -0
  9. package/dist/cjs/Either.js.map +1 -0
  10. package/dist/cjs/EitherAsync.d.ts +139 -0
  11. package/dist/cjs/EitherAsync.d.ts.map +1 -0
  12. package/dist/cjs/EitherAsync.js +171 -0
  13. package/dist/cjs/EitherAsync.js.map +1 -0
  14. package/dist/cjs/Function.d.ts +153 -0
  15. package/dist/cjs/Function.d.ts.map +1 -0
  16. package/dist/cjs/Function.js +110 -0
  17. package/dist/cjs/Function.js.map +1 -0
  18. package/dist/cjs/List.d.ts +134 -0
  19. package/dist/cjs/List.d.ts.map +1 -0
  20. package/dist/cjs/List.js +243 -0
  21. package/dist/cjs/List.js.map +1 -0
  22. package/dist/cjs/Maybe.d.ts +64 -0
  23. package/dist/cjs/Maybe.d.ts.map +1 -0
  24. package/dist/cjs/Maybe.js +122 -0
  25. package/dist/cjs/Maybe.js.map +1 -0
  26. package/dist/cjs/MaybeAsync.d.ts +115 -0
  27. package/dist/cjs/MaybeAsync.d.ts.map +1 -0
  28. package/dist/cjs/MaybeAsync.js +151 -0
  29. package/dist/cjs/MaybeAsync.js.map +1 -0
  30. package/dist/cjs/NonEmptyList.d.ts +86 -0
  31. package/dist/cjs/NonEmptyList.d.ts.map +1 -0
  32. package/dist/cjs/NonEmptyList.js +128 -0
  33. package/dist/cjs/NonEmptyList.js.map +1 -0
  34. package/dist/cjs/Reader.d.ts +53 -0
  35. package/dist/cjs/Reader.d.ts.map +1 -0
  36. package/dist/cjs/Reader.js +60 -0
  37. package/dist/cjs/Reader.js.map +1 -0
  38. package/dist/cjs/State.d.ts +71 -0
  39. package/dist/cjs/State.d.ts.map +1 -0
  40. package/dist/cjs/State.js +94 -0
  41. package/dist/cjs/State.js.map +1 -0
  42. package/dist/cjs/Tuple.d.ts +69 -0
  43. package/dist/cjs/Tuple.d.ts.map +1 -0
  44. package/dist/cjs/Tuple.js +73 -0
  45. package/dist/cjs/Tuple.js.map +1 -0
  46. package/dist/cjs/Validation.d.ts +53 -0
  47. package/dist/cjs/Validation.d.ts.map +1 -0
  48. package/dist/cjs/Validation.js +77 -0
  49. package/dist/cjs/Validation.js.map +1 -0
  50. package/dist/cjs/index.d.ts +12 -0
  51. package/dist/cjs/index.d.ts.map +1 -0
  52. package/dist/cjs/index.js +25 -0
  53. package/dist/cjs/index.js.map +1 -0
  54. package/dist/cjs/tokens/config.d.ts +43 -0
  55. package/dist/cjs/tokens/config.d.ts.map +1 -0
  56. package/dist/cjs/tokens/config.js +162 -0
  57. package/dist/cjs/tokens/config.js.map +1 -0
  58. package/dist/cjs/tokens/cssGen.d.ts +18 -0
  59. package/dist/cjs/tokens/cssGen.d.ts.map +1 -0
  60. package/dist/cjs/tokens/cssGen.js +144 -0
  61. package/dist/cjs/tokens/cssGen.js.map +1 -0
  62. package/dist/cjs/tokens/generateCSS.d.ts +18 -0
  63. package/dist/cjs/tokens/generateCSS.d.ts.map +1 -0
  64. package/dist/cjs/tokens/generateCSS.js +83 -0
  65. package/dist/cjs/tokens/generateCSS.js.map +1 -0
  66. package/dist/cjs/tokens/index.d.ts +13 -0
  67. package/dist/cjs/tokens/index.d.ts.map +1 -0
  68. package/dist/cjs/tokens/index.js +12 -0
  69. package/dist/cjs/tokens/index.js.map +1 -0
  70. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  71. package/dist/esm/Either.d.ts +67 -0
  72. package/dist/esm/Either.d.ts.map +1 -0
  73. package/dist/esm/Either.js +136 -0
  74. package/dist/esm/Either.js.map +1 -0
  75. package/dist/esm/EitherAsync.d.ts +139 -0
  76. package/dist/esm/EitherAsync.d.ts.map +1 -0
  77. package/dist/esm/EitherAsync.js +173 -0
  78. package/dist/esm/EitherAsync.js.map +1 -0
  79. package/dist/esm/Function.d.ts +153 -0
  80. package/dist/esm/Function.d.ts.map +1 -0
  81. package/dist/esm/Function.js +109 -0
  82. package/dist/esm/Function.js.map +1 -0
  83. package/dist/esm/List.d.ts +134 -0
  84. package/dist/esm/List.d.ts.map +1 -0
  85. package/dist/esm/List.js +243 -0
  86. package/dist/esm/List.js.map +1 -0
  87. package/dist/esm/Maybe.d.ts +64 -0
  88. package/dist/esm/Maybe.d.ts.map +1 -0
  89. package/dist/esm/Maybe.js +113 -0
  90. package/dist/esm/Maybe.js.map +1 -0
  91. package/dist/esm/MaybeAsync.d.ts +115 -0
  92. package/dist/esm/MaybeAsync.d.ts.map +1 -0
  93. package/dist/esm/MaybeAsync.js +150 -0
  94. package/dist/esm/MaybeAsync.js.map +1 -0
  95. package/dist/esm/NonEmptyList.d.ts +86 -0
  96. package/dist/esm/NonEmptyList.d.ts.map +1 -0
  97. package/dist/esm/NonEmptyList.js +128 -0
  98. package/dist/esm/NonEmptyList.js.map +1 -0
  99. package/dist/esm/Reader.d.ts +53 -0
  100. package/dist/esm/Reader.d.ts.map +1 -0
  101. package/dist/esm/Reader.js +60 -0
  102. package/dist/esm/Reader.js.map +1 -0
  103. package/dist/esm/State.d.ts +71 -0
  104. package/dist/esm/State.d.ts.map +1 -0
  105. package/dist/esm/State.js +94 -0
  106. package/dist/esm/State.js.map +1 -0
  107. package/dist/esm/Tuple.d.ts +69 -0
  108. package/dist/esm/Tuple.d.ts.map +1 -0
  109. package/dist/esm/Tuple.js +73 -0
  110. package/dist/esm/Tuple.js.map +1 -0
  111. package/dist/esm/Validation.d.ts +53 -0
  112. package/dist/esm/Validation.d.ts.map +1 -0
  113. package/dist/esm/Validation.js +79 -0
  114. package/dist/esm/Validation.js.map +1 -0
  115. package/dist/esm/index.d.ts +12 -0
  116. package/dist/esm/index.d.ts.map +1 -0
  117. package/dist/esm/index.js +22 -0
  118. package/dist/esm/index.js.map +1 -0
  119. package/dist/esm/src/Either.d.ts +67 -0
  120. package/dist/esm/src/Either.d.ts.map +1 -0
  121. package/dist/esm/src/Either.js +147 -0
  122. package/dist/esm/src/Either.js.map +1 -0
  123. package/dist/esm/src/EitherAsync.d.ts +139 -0
  124. package/dist/esm/src/EitherAsync.d.ts.map +1 -0
  125. package/dist/esm/src/EitherAsync.js +171 -0
  126. package/dist/esm/src/EitherAsync.js.map +1 -0
  127. package/dist/esm/src/Function.d.ts +153 -0
  128. package/dist/esm/src/Function.d.ts.map +1 -0
  129. package/dist/esm/src/Function.js +110 -0
  130. package/dist/esm/src/Function.js.map +1 -0
  131. package/dist/esm/src/List.d.ts +134 -0
  132. package/dist/esm/src/List.d.ts.map +1 -0
  133. package/dist/esm/src/List.js +243 -0
  134. package/dist/esm/src/List.js.map +1 -0
  135. package/dist/esm/src/Maybe.d.ts +64 -0
  136. package/dist/esm/src/Maybe.d.ts.map +1 -0
  137. package/dist/esm/src/Maybe.js +122 -0
  138. package/dist/esm/src/Maybe.js.map +1 -0
  139. package/dist/esm/src/MaybeAsync.d.ts +115 -0
  140. package/dist/esm/src/MaybeAsync.d.ts.map +1 -0
  141. package/dist/esm/src/MaybeAsync.js +151 -0
  142. package/dist/esm/src/MaybeAsync.js.map +1 -0
  143. package/dist/esm/src/NonEmptyList.d.ts +86 -0
  144. package/dist/esm/src/NonEmptyList.d.ts.map +1 -0
  145. package/dist/esm/src/NonEmptyList.js +128 -0
  146. package/dist/esm/src/NonEmptyList.js.map +1 -0
  147. package/dist/esm/src/Reader.d.ts +53 -0
  148. package/dist/esm/src/Reader.d.ts.map +1 -0
  149. package/dist/esm/src/Reader.js +60 -0
  150. package/dist/esm/src/Reader.js.map +1 -0
  151. package/dist/esm/src/State.d.ts +71 -0
  152. package/dist/esm/src/State.d.ts.map +1 -0
  153. package/dist/esm/src/State.js +94 -0
  154. package/dist/esm/src/State.js.map +1 -0
  155. package/dist/esm/src/Tuple.d.ts +69 -0
  156. package/dist/esm/src/Tuple.d.ts.map +1 -0
  157. package/dist/esm/src/Tuple.js +73 -0
  158. package/dist/esm/src/Tuple.js.map +1 -0
  159. package/dist/esm/src/Validation.d.ts +53 -0
  160. package/dist/esm/src/Validation.d.ts.map +1 -0
  161. package/dist/esm/src/Validation.js +77 -0
  162. package/dist/esm/src/Validation.js.map +1 -0
  163. package/dist/esm/src/index.d.ts +12 -0
  164. package/dist/esm/src/index.d.ts.map +1 -0
  165. package/dist/esm/src/index.js +25 -0
  166. package/dist/esm/src/index.js.map +1 -0
  167. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  168. package/elevate-ts-vs-effect-critique.md +806 -0
  169. package/eslint.config.js +104 -0
  170. package/package.json +139 -0
@@ -0,0 +1,104 @@
1
+ // @ts-check
2
+
3
+ import js from '@eslint/js';
4
+ import tseslint from 'typescript-eslint';
5
+ import importPlugin from 'eslint-plugin-import';
6
+
7
+ export default tseslint.config(
8
+ {
9
+ ignores: [
10
+ 'node_modules/',
11
+ 'dist/',
12
+ 'coverage/',
13
+ 'pnpm-lock.yaml',
14
+ '.next/',
15
+ '.vuepress/dist/',
16
+ '.nuxt/',
17
+ '.cache/',
18
+ '.output/',
19
+ '.vercel/',
20
+ '.changeset/',
21
+ 'sample-files/',
22
+ 'tests/',
23
+ 'scripts/',
24
+ '**/*.config.js',
25
+ '**/*.config.ts',
26
+ ],
27
+ },
28
+ {
29
+ files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
30
+ extends: [js.configs.recommended, ...tseslint.configs.recommended],
31
+ plugins: {
32
+ import: importPlugin,
33
+ },
34
+ languageOptions: {
35
+ parserOptions: {
36
+ projectService: true,
37
+ ecmaVersion: 2022,
38
+ sourceType: 'module',
39
+ },
40
+ },
41
+ rules: {
42
+ // TypeScript ESLint rules
43
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
44
+ '@typescript-eslint/no-explicit-any': 'error',
45
+ '@typescript-eslint/no-unused-vars': [
46
+ 'error',
47
+ { argsIgnorePattern: '^_' },
48
+ ],
49
+ '@typescript-eslint/no-non-null-assertion': 'error',
50
+ '@typescript-eslint/strict-boolean-expressions': [
51
+ 'error',
52
+ {
53
+ allowString: false,
54
+ allowNumber: false,
55
+ allowNullableObject: false,
56
+ },
57
+ ],
58
+
59
+ // Import rules
60
+ 'import/order': [
61
+ 'error',
62
+ {
63
+ groups: [
64
+ 'builtin',
65
+ 'external',
66
+ 'internal',
67
+ 'parent',
68
+ 'sibling',
69
+ 'index',
70
+ ],
71
+ alphabetize: {
72
+ order: 'asc',
73
+ caseInsensitive: true,
74
+ },
75
+ 'newlines-between': 'always',
76
+ },
77
+ ],
78
+ 'import/no-extraneous-dependencies': [
79
+ 'error',
80
+ {
81
+ devDependencies: [
82
+ '**/*.test.ts',
83
+ '**/*.spec.ts',
84
+ 'vitest.config.ts',
85
+ 'vite.config.ts',
86
+ 'eslint.config.js',
87
+ 'src/tokens/**',
88
+ ],
89
+ },
90
+ ],
91
+
92
+ // General rules
93
+ 'no-console': ['warn', { allow: ['warn', 'error'] }],
94
+ 'prefer-const': 'error',
95
+ eqeqeq: ['error', 'always', { null: 'ignore' }],
96
+ },
97
+ },
98
+ {
99
+ files: ['**/*.test.ts', '**/*.spec.ts'],
100
+ rules: {
101
+ 'no-console': 'off',
102
+ },
103
+ }
104
+ );
package/package.json ADDED
@@ -0,0 +1,139 @@
1
+ {
2
+ "name": "@zambit/elevate-ts",
3
+ "version": "0.1.2",
4
+ "description": "Functional programming library for TypeScript. Available under AGPL-3.0 or Commercial License.",
5
+ "license": "AGPL-3.0-or-later",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/zambit/elevate-ts.git"
9
+ },
10
+ "homepage": "https://github.com/zambit/elevate-ts",
11
+ "bugs": {
12
+ "url": "https://github.com/zambit/elevate-ts/issues"
13
+ },
14
+ "type": "module",
15
+ "publishConfig": {
16
+ "access": "public",
17
+ "tag": "agpl"
18
+ },
19
+ "main": "dist/cjs/index.js",
20
+ "module": "dist/esm/index.js",
21
+ "types": "dist/esm/index.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "import": "./dist/esm/index.js",
25
+ "require": "./dist/cjs/index.js",
26
+ "types": "./dist/esm/index.d.ts"
27
+ },
28
+ "./Maybe": {
29
+ "import": "./dist/esm/Maybe.js",
30
+ "require": "./dist/cjs/Maybe.js",
31
+ "types": "./dist/esm/Maybe.d.ts"
32
+ },
33
+ "./Either": {
34
+ "import": "./dist/esm/Either.js",
35
+ "require": "./dist/cjs/Either.js",
36
+ "types": "./dist/esm/Either.d.ts"
37
+ },
38
+ "./Validation": {
39
+ "import": "./dist/esm/Validation.js",
40
+ "require": "./dist/cjs/Validation.js",
41
+ "types": "./dist/esm/Validation.d.ts"
42
+ },
43
+ "./Reader": {
44
+ "import": "./dist/esm/Reader.js",
45
+ "require": "./dist/cjs/Reader.js",
46
+ "types": "./dist/esm/Reader.d.ts"
47
+ },
48
+ "./State": {
49
+ "import": "./dist/esm/State.js",
50
+ "require": "./dist/cjs/State.js",
51
+ "types": "./dist/esm/State.d.ts"
52
+ },
53
+ "./Tuple": {
54
+ "import": "./dist/esm/Tuple.js",
55
+ "require": "./dist/cjs/Tuple.js",
56
+ "types": "./dist/esm/Tuple.d.ts"
57
+ },
58
+ "./NonEmptyList": {
59
+ "import": "./dist/esm/NonEmptyList.js",
60
+ "require": "./dist/cjs/NonEmptyList.js",
61
+ "types": "./dist/esm/NonEmptyList.d.ts"
62
+ },
63
+ "./List": {
64
+ "import": "./dist/esm/List.js",
65
+ "require": "./dist/cjs/List.js",
66
+ "types": "./dist/esm/List.d.ts"
67
+ },
68
+ "./Function": {
69
+ "import": "./dist/esm/Function.js",
70
+ "require": "./dist/cjs/Function.js",
71
+ "types": "./dist/esm/Function.d.ts"
72
+ },
73
+ "./MaybeAsync": {
74
+ "import": "./dist/esm/MaybeAsync.js",
75
+ "require": "./dist/cjs/MaybeAsync.js",
76
+ "types": "./dist/esm/MaybeAsync.d.ts"
77
+ },
78
+ "./EitherAsync": {
79
+ "import": "./dist/esm/EitherAsync.js",
80
+ "require": "./dist/cjs/EitherAsync.js",
81
+ "types": "./dist/esm/EitherAsync.d.ts"
82
+ }
83
+ },
84
+ "devDependencies": {
85
+ "@changesets/changelog-git": "^0.2.0",
86
+ "@changesets/cli": "^2.26.1",
87
+ "@eslint/js": "^9.39.4",
88
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
89
+ "@typescript-eslint/parser": "^8.0.0",
90
+ "@vitest/coverage-v8": "^1.0.4",
91
+ "eslint": "^9.39.4",
92
+ "eslint-formatter-pretty": "^6.0.0",
93
+ "eslint-plugin-import": "^2.32.0",
94
+ "glob": "^10.4.5",
95
+ "husky": "^8.0.3",
96
+ "lint-staged": "^15.2.0",
97
+ "markdownlint-cli": "^0.37.0",
98
+ "prettier": "^3.1.1",
99
+ "tsx": "^4.7.0",
100
+ "typescript": "^5.3.3",
101
+ "typescript-eslint": "^8.58.0",
102
+ "vitest": "^1.0.4"
103
+ },
104
+ "lint-staged": {
105
+ "*.ts": "eslint --fix",
106
+ "*.{ts,json,md}": "prettier --write"
107
+ },
108
+ "keywords": [
109
+ "functional",
110
+ "fp",
111
+ "fantasy-land",
112
+ "typescript",
113
+ "cloudflare-workers",
114
+ "maybe",
115
+ "either",
116
+ "monad",
117
+ "point-free",
118
+ "pipe"
119
+ ],
120
+ "scripts": {
121
+ "build": "tsc -p src/tsconfig.json && tsc -p tsconfig.esm.json",
122
+ "test": "vitest run --coverage",
123
+ "test:watch": "vitest",
124
+ "check:types": "tsc -p tsconfig.app.json --noEmit",
125
+ "lint:check": "eslint . --ext .ts --max-warnings 0",
126
+ "lint": "eslint . --ext .ts --format=pretty",
127
+ "lint:fix": "eslint . --ext .ts --fix",
128
+ "format": "prettier --write \"**/*.{ts,tsx,json,md}\"",
129
+ "format:check": "prettier --check \"**/*.{ts,tsx,json,md}\"",
130
+ "lint:md": "markdownlint \"**/*.md\" --ignore node_modules",
131
+ "check:nodeps": "node scripts/check-no-node-builtins.mjs",
132
+ "changeset": "changeset",
133
+ "changeset:version": "changeset version",
134
+ "changeset:publish": "pnpm build && changeset publish",
135
+ "release": "pnpm changeset:version && pnpm changeset:publish",
136
+ "publish:agpl": "npm publish --tag agpl",
137
+ "publish:commercial": "tsx scripts/publish-commercial.ts"
138
+ }
139
+ }