functionalscript 0.0.330 → 0.0.333

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 (42) hide show
  1. package/README.md +2 -0
  2. package/commonjs/build/index.js +8 -8
  3. package/commonjs/build/test.js +6 -6
  4. package/commonjs/module/function/index.js +1 -1
  5. package/commonjs/module/index.js +1 -1
  6. package/commonjs/package/dependencies/index.js +2 -2
  7. package/commonjs/package/dependencies/test.js +1 -1
  8. package/commonjs/package/index.js +2 -2
  9. package/commonjs/package/test.js +2 -2
  10. package/commonjs/path/index.js +3 -6
  11. package/commonjs/path/test.js +7 -7
  12. package/io/commonjs/index.js +3 -3
  13. package/io/commonjs/test.js +2 -2
  14. package/io/result/index.js +1 -1
  15. package/json/index.js +4 -4
  16. package/json/test.js +3 -3
  17. package/json/tokenizer/index.js +2 -4
  18. package/json/tokenizer/test.js +4 -4
  19. package/package.json +1 -1
  20. package/sha2/index.js +1 -1
  21. package/sha2/test.js +4 -4
  22. package/test.js +15 -15
  23. package/types/array/index.js +2 -2
  24. package/types/array/test.js +3 -3
  25. package/types/btree/find/index.js +4 -4
  26. package/types/btree/find/test.js +7 -7
  27. package/types/btree/index.js +2 -2
  28. package/types/btree/remove/index.js +6 -6
  29. package/types/btree/remove/test.js +6 -6
  30. package/types/btree/set/index.js +4 -4
  31. package/types/btree/set/test.js +5 -5
  32. package/types/btree/test.js +10 -10
  33. package/types/function/compare/index.js +5 -3
  34. package/types/function/compare/test.js +1 -1
  35. package/types/list/index.js +3 -3
  36. package/types/list/test.js +4 -4
  37. package/types/map/index.js +8 -8
  38. package/types/map/test.js +2 -2
  39. package/types/object/index.js +2 -2
  40. package/types/object/test.js +1 -1
  41. package/types/stringSet/index.js +7 -7
  42. package/types/stringSet/test.js +1 -1
package/README.md CHANGED
@@ -11,6 +11,8 @@ FunctionalScript is a purely functional programming language and a strict subset
11
11
 
12
12
  Create a new FunctionalScript repository on GitHub [here](https://github.com/functionalscript/template/generate).
13
13
 
14
+ Learn more about [FunctionalScript](https://medium.com/@sergeyshandar/purely-functional-programming-in-javascript-91114b1b2dff).
15
+
14
16
  ## Design Principles
15
17
 
16
18
  In FunctionalScript:
@@ -1,11 +1,11 @@
1
- const package_ = require('../package')
2
- const module_ = require('../module')
3
- const function_ = require('../module/function')
4
- const { todo } = require('../../dev')
5
- const map = require('../../types/map')
6
- const object = require('../../types/object')
7
- const path = require('../path')
8
- const stringSet = require('../../types/stringSet')
1
+ const package_ = require('../package/index.js')
2
+ const module_ = require('../module/index.js')
3
+ const function_ = require('../module/function/index.js')
4
+ const { todo } = require('../../dev/index.js')
5
+ const map = require('../../types/map/index.js')
6
+ const object = require('../../types/object/index.js')
7
+ const path = require('../path/index.js')
8
+ const stringSet = require('../../types/stringSet/index.js')
9
9
 
10
10
  /**
11
11
  * @template M
@@ -1,9 +1,9 @@
1
- const _ = require('.')
2
- const map = require('../../types/map')
3
- const module_ = require('../module')
4
- const function_ = require('../module/function')
5
- const result = require('../../types/result')
6
- const package_ = require('../package')
1
+ const _ = require('./index.js')
2
+ const map = require('../../types/map/index.js')
3
+ const module_ = require('../module/index.js')
4
+ const function_ = require('../module/function/index.js')
5
+ const result = require('../../types/result/index.js')
6
+ const package_ = require('../package/index.js')
7
7
 
8
8
  /** @type {{ readonly [k in string]?: result.Result<function_.Function_, unknown> }} */
9
9
  const compileMap = {
@@ -2,7 +2,7 @@
2
2
  * An IO interface for creating and running module functions.
3
3
  */
4
4
 
5
- const result = require('../../../types/result')
5
+ const result = require('../../../types/result/index.js')
6
6
 
7
7
  /** @typedef {<M>(require: Require<M>) => (prior: M) => Result<M>} Function_ */
8
8
 
@@ -1,4 +1,4 @@
1
- const object = require('../../types/object')
1
+ const object = require('../../types/object/index.js')
2
2
 
3
3
  /**
4
4
  * @template M
@@ -1,5 +1,5 @@
1
- const json = require('../../../json')
2
- const seq = require('../../../types/list')
1
+ const json = require('../../../json/index.js')
2
+ const seq = require('../../../types/list/index.js')
3
3
 
4
4
  /** @typedef {readonly[string, string]} DependencyJson */
5
5
 
@@ -1,4 +1,4 @@
1
- const _ = require('.')
1
+ const _ = require('./index.js')
2
2
 
3
3
  {
4
4
  if (!_.isDependenciesJson(undefined)) { throw 'error' }
@@ -1,5 +1,5 @@
1
- const json = require('../../json')
2
- const dependencies = require('./dependencies')
1
+ const json = require('../../json/index.js')
2
+ const dependencies = require('./dependencies/index.js')
3
3
 
4
4
  /**
5
5
  * @typedef {{
@@ -1,6 +1,6 @@
1
- const _ = require('.')
1
+ const _ = require('./index.js')
2
2
 
3
- require('./dependencies/test')
3
+ require('./dependencies/test.js')
4
4
 
5
5
  {
6
6
  if (_.isPackageJson(null)) { throw 'error' }
@@ -1,9 +1,6 @@
1
- const list = require("../../types/list")
2
- const option = require("../../types/option")
3
- const { compose } = require("../../types/function")
4
- const { todo } = require("../../dev")
5
- const package_ = require("../package")
6
- const module_ = require("../module")
1
+ const list = require("../../types/list/index.js")
2
+ const package_ = require("../package/index.js")
3
+ const module_ = require("../module/index.js")
7
4
 
8
5
  /** @typedef {readonly string[]} Items */
9
6
 
@@ -1,10 +1,10 @@
1
- const _ = require('.')
2
- const { todo } = require('../../dev')
3
- const json = require('../../json')
4
- const { identity } = require('../../types/function')
5
- const object = require('../../types/object')
6
- const { at } = require('../../types/object')
7
- const package_ = require('../package')
1
+ const _ = require('./index.js')
2
+ const { todo } = require('../../dev/index.js')
3
+ const json = require('../../json/index.js')
4
+ const { identity } = require('../../types/function/index.js')
5
+ const object = require('../../types/object/index.js')
6
+ const { at } = require('../../types/object/index.js')
7
+ const package_ = require('../package/index.js')
8
8
 
9
9
  /** @type {(g: json.Unknown|undefined) => string} */
10
10
  const stringify = g => {
@@ -1,6 +1,6 @@
1
- const { tryCatch } = require('../result')
2
- const { unwrap } = require('../../types/result')
3
- const moduleFunction = require('../../commonjs/module/function')
1
+ const { tryCatch } = require('../result/index.js')
2
+ const { unwrap } = require('../../types/result/index.js')
3
+ const moduleFunction = require('../../commonjs/module/function/index.js')
4
4
 
5
5
  /** @type {(f: Function) => moduleFunction.Function_} */
6
6
  const build = f => immutableRequire => mutableData => {
@@ -1,5 +1,5 @@
1
- const _ = require('.')
2
- const run = require('../../commonjs/module/function')
1
+ const _ = require('./index.js')
2
+ const run = require('../../commonjs/module/function/index.js')
3
3
 
4
4
  // ok:
5
5
  {
@@ -1,4 +1,4 @@
1
- const result = require('../../types/result')
1
+ const result = require('../../types/result/index.js')
2
2
 
3
3
  /** @type {<T>(f: () => T) => result.Result<T, unknown>} */
4
4
  const tryCatch = f => {
package/json/index.js CHANGED
@@ -1,7 +1,7 @@
1
- const seq = require('../types/list')
2
- const object = require('../types/object')
3
- const op = require('../types/function/operator')
4
- const { compose } = require('../types/function')
1
+ const seq = require('../types/list/index.js')
2
+ const object = require('../types/object/index.js')
3
+ const op = require('../types/function/operator/index.js')
4
+ const { compose } = require('../types/function/index.js')
5
5
 
6
6
  /**
7
7
  * @typedef {{
package/json/test.js CHANGED
@@ -1,6 +1,6 @@
1
- const json = require('.')
2
- const { sort } = require('../types/object')
3
- const { identity } = require('../types/function')
1
+ const json = require('./index.js')
2
+ const { sort } = require('../types/object/index.js')
3
+ const { identity } = require('../types/function/index.js')
4
4
 
5
5
  if (json.setProperty("Hello")([])({}) !== "Hello") { throw 'error' }
6
6
 
@@ -1,7 +1,5 @@
1
- const { todo } = require('../../dev')
2
- const operator = require('../../types/function/operator')
3
- const { concat } = require('../../types/list')
4
- const list = require('../../types/list')
1
+ const operator = require('../../types/function/operator/index.js')
2
+ const list = require('../../types/list/index.js')
5
3
 
6
4
  /**
7
5
  * @typedef {{
@@ -1,7 +1,7 @@
1
- const tokenizer = require('.')
2
- const list = require('../../types/list')
3
- const json = require('..')
4
- const { sort } = require('../../types/object')
1
+ const tokenizer = require('./index.js')
2
+ const list = require('../../types/list/index.js')
3
+ const json = require('../index.js')
4
+ const { sort } = require('../../types/object/index.js')
5
5
 
6
6
  /** @type {(s: string) => list.List<tokenizer.CharCodeOrEof>} */
7
7
  const toCharacters = s =>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functionalscript",
3
- "version": "0.0.330",
3
+ "version": "0.0.333",
4
4
  "description": "FunctionalScript is a functional subset of JavaScript",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/sha2/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const array = require('../types/array')
1
+ const array = require('../types/array/index.js')
2
2
 
3
3
  /**
4
4
  * @typedef {{
package/sha2/test.js CHANGED
@@ -1,7 +1,7 @@
1
- const _ = require('.')
2
- const json = require('../json')
3
- const { sort } = require('../types/object')
4
- const list = require('../types/list')
1
+ const _ = require('./index.js')
2
+ const json = require('../json/index.js')
3
+ const { sort } = require('../types/object/index.js')
4
+ const list = require('../types/list/index.js')
5
5
 
6
6
  /** @type {(a: number) => number} */
7
7
  const toU32 = x => (x + 0x1_0000_0000) % 0x1_0000_0000
package/test.js CHANGED
@@ -1,19 +1,19 @@
1
- const i = require('./')
1
+ const i = require('./index.js')
2
2
 
3
- require('./types/list/test')
4
- require('./types/array/test')
5
- require('./types/btree/test')
6
- require('./sha2/test')
7
- require('./json/test')
8
- require('./json/tokenizer/test')
9
- require('./types/object/test')
10
- require('./io/commonjs/test')
11
- require('./commonjs/package/dependencies/test')
12
- require('./commonjs/package/test')
13
- require('./commonjs/path/test')
14
- require('./types/function/compare/test')
15
- require('./types/stringSet/test')
16
- require('./commonjs/build/test')
3
+ require('./types/list/test.js')
4
+ require('./types/array/test.js')
5
+ require('./types/btree/test.js')
6
+ require('./sha2/test.js')
7
+ require('./json/test.js')
8
+ require('./json/tokenizer/test.js')
9
+ require('./types/object/test.js')
10
+ require('./io/commonjs/test.js')
11
+ require('./commonjs/package/dependencies/test.js')
12
+ require('./commonjs/package/test.js')
13
+ require('./commonjs/path/test.js')
14
+ require('./types/function/compare/test.js')
15
+ require('./types/stringSet/test.js')
16
+ require('./commonjs/build/test.js')
17
17
 
18
18
  /** @type {() => never} */
19
19
  const assert = () => { throw 'assert' }
@@ -1,5 +1,5 @@
1
- const option = require('../option')
2
- const seq = require('../list')
1
+ const option = require('../option/index.js')
2
+ const seq = require('../list/index.js')
3
3
 
4
4
  /**
5
5
  * @template T
@@ -1,6 +1,6 @@
1
- const _ = require('.')
2
- const json = require('../../json')
3
- const { sort } = require('../object')
1
+ const _ = require('./index.js')
2
+ const json = require('../../json/index.js')
3
+ const { sort } = require('../object/index.js')
4
4
 
5
5
  /** @type {(a: readonly json.Unknown[]) => string} */
6
6
  const stringify = a => json.stringify(sort)(a)
@@ -1,7 +1,7 @@
1
- const _ = require('..')
2
- const list = require('../../list')
3
- const cmp = require('../../function/compare')
4
- const array = require('../../array')
1
+ const _ = require('../index.js')
2
+ const list = require('../../list/index.js')
3
+ const cmp = require('../../function/compare/index.js')
4
+ const array = require('../../array/index.js')
5
5
 
6
6
  /**
7
7
  * @template T
@@ -1,10 +1,10 @@
1
- const _ = require('.')
2
- const list = require('../../list')
3
- const json = require('../../../json')
4
- const { sort } = require('../../object')
5
- const btree = require('..')
6
- const { stringCmp } = require('../../function/compare')
7
- const s = require('../set')
1
+ const _ = require('./index.js')
2
+ const list = require('../../list/index.js')
3
+ const json = require('../../../json/index.js')
4
+ const { sort } = require('../../object/index.js')
5
+ const btree = require('../index.js')
6
+ const { stringCmp } = require('../../function/compare/index.js')
7
+ const s = require('../set/index.js')
8
8
 
9
9
  const jsonStr = json.stringify(sort)
10
10
 
@@ -1,5 +1,5 @@
1
- const seq = require('../list')
2
- const option = require('../option')
1
+ const seq = require('../list/index.js')
2
+ const option = require('../option/index.js')
3
3
 
4
4
  /**
5
5
  * @template T
@@ -1,9 +1,9 @@
1
- const _ = require('..')
2
- const cmp = require('../../function/compare')
3
- const find = require('../find')
4
- const list = require('../../list')
5
- const array = require('../../array')
6
- const option = require('../../option')
1
+ const _ = require('../index.js')
2
+ const cmp = require('../../function/compare/index.js')
3
+ const find = require('../find/index.js')
4
+ const list = require('../../list/index.js')
5
+ const array = require('../../array/index.js')
6
+ const option = require('../../option/index.js')
7
7
 
8
8
  /**
9
9
  * @template T
@@ -1,9 +1,9 @@
1
- const _ = require('.')
2
- const btree = require('..')
3
- const s = require('../set')
4
- const { stringCmp } = require('../../function/compare')
5
- const json = require('../../../json')
6
- const { sort } = require('../../object')
1
+ const _ = require('./index.js')
2
+ const btree = require('../index.js')
3
+ const s = require('../set/index.js')
4
+ const { stringCmp } = require('../../function/compare/index.js')
5
+ const json = require('../../../json/index.js')
6
+ const { sort } = require('../../object/index.js')
7
7
 
8
8
  /** @type {(node: btree.Node<string>) => (value: string) => btree.Node<string>} */
9
9
  const set = node => value => s.set(stringCmp(value))(value)(node)
@@ -1,7 +1,7 @@
1
- const _ = require('..')
2
- const find = require('../find')
3
- const cmp = require('../../function/compare')
4
- const list = require('../../list')
1
+ const _ = require('../index.js')
2
+ const find = require('../find/index.js')
3
+ const cmp = require('../../function/compare/index.js')
4
+ const list = require('../../list/index.js')
5
5
 
6
6
  /**
7
7
  * @template T
@@ -1,8 +1,8 @@
1
- const _ = require('.')
2
- const btree = require('..')
3
- const { stringCmp } = require('../../function/compare')
4
- const json = require('../../../json')
5
- const { sort } = require('../../object')
1
+ const _ = require('./index.js')
2
+ const btree = require('../index.js')
3
+ const { stringCmp } = require('../../function/compare/index.js')
4
+ const json = require('../../../json/index.js')
5
+ const { sort } = require('../../object/index.js')
6
6
 
7
7
  /** @type {(node: btree.Node<string>) => (value: string) => btree.Node<string>} */
8
8
  const set = node => value => _.set(stringCmp(value))(value)(node)
@@ -1,15 +1,15 @@
1
- const btree = require('.')
1
+ const btree = require('./index.js')
2
2
  const { values } = btree
3
- const json = require('../../json')
4
- const { sort } = require('../object')
5
- const { stringCmp } = require('../function/compare')
6
- const list = require('../list')
7
- const s = require('./set')
8
- const f = require('./find')
3
+ const json = require('../../json/index.js')
4
+ const { sort } = require('../object/index.js')
5
+ const { stringCmp } = require('../function/compare/index.js')
6
+ const list = require('../list/index.js')
7
+ const s = require('./set/index.js')
8
+ const f = require('./find/index.js')
9
9
 
10
- require('./find/test')
11
- require('./set/test')
12
- require('./remove/test')
10
+ require('./find/test.js')
11
+ require('./set/test.js')
12
+ require('./remove/test.js')
13
13
 
14
14
  const jsonStr = json.stringify(sort)
15
15
 
@@ -1,9 +1,11 @@
1
- /** @typedef {import('../../array').Index3} Index3 */
2
- /** @typedef {import('../../array').Index5} Index5 */
1
+ const array = require('../../array/index.js')
2
+
3
+ /** @typedef {array.Index3} Index3 */
4
+ /** @typedef {array.Index5} Index5 */
3
5
 
4
6
  /**
5
7
  * @template T
6
- * @typedef {import('../../array').Array2<T>} Array2
8
+ * @typedef {array.Array2<T>} Array2
7
9
  */
8
10
 
9
11
  /** @typedef {-1|0|1} Sign */
@@ -1,4 +1,4 @@
1
- const _ = require('.')
1
+ const _ = require('./index.js')
2
2
 
3
3
  {
4
4
  const result = _.numberCmp(4)(5)
@@ -1,6 +1,6 @@
1
- const { compose, identity } = require('../function')
2
- const operator = require('../function/operator')
3
- const { logicalNot, strictEqual, stateScanToScan, reduceToScan, foldToScan } = require('../function/operator')
1
+ const { compose, identity } = require('../function/index.js')
2
+ const operator = require('../function/operator/index.js')
3
+ const { logicalNot, strictEqual, stateScanToScan, reduceToScan, foldToScan } = require('../function/operator/index.js')
4
4
 
5
5
  /**
6
6
  * @template T
@@ -1,7 +1,7 @@
1
- const _ = require('.')
2
- const json = require('../../json')
3
- const { sort } = require('../object')
4
- const { addition, strictEqual, foldToScan } = require('../function/operator')
1
+ const _ = require('./index.js')
2
+ const json = require('../../json/index.js')
3
+ const { sort } = require('../object/index.js')
4
+ const { addition, strictEqual, foldToScan } = require('../function/operator/index.js')
5
5
 
6
6
  /** @type {(sequence: _.List<json.Unknown>) => string} */
7
7
  const stringify = sequence => json.stringify(sort)(_.toArray(sequence))
@@ -1,11 +1,11 @@
1
- const btree = require('../btree')
2
- const { values } = require("../btree")
3
- const find = require('../btree/find')
4
- const s = require('../btree/set')
5
- const compare = require('../function/compare')
6
- const { stringCmp } = require('../function/compare')
7
- const list = require('../list')
8
- const btRemove = require('../btree/remove')
1
+ const btree = require('../btree/index.js')
2
+ const { values } = require("../btree/index.js")
3
+ const find = require('../btree/find/index.js')
4
+ const s = require('../btree/set/index.js')
5
+ const compare = require('../function/compare/index.js')
6
+ const { stringCmp } = require('../function/compare/index.js')
7
+ const list = require('../list/index.js')
8
+ const btRemove = require('../btree/remove/index.js')
9
9
 
10
10
  /** @typedef {compare.Sign} Sign */
11
11
 
package/types/map/test.js CHANGED
@@ -1,5 +1,5 @@
1
- const { at, set, empty, entries, remove } = require('.')
2
- const seq = require('../list')
1
+ const { at, set, empty, entries, remove } = require('./index.js')
2
+ const seq = require('../list/index.js')
3
3
 
4
4
  {
5
5
  let m = set('a')(1)(undefined)
@@ -1,5 +1,5 @@
1
- const list = require('../list')
2
- const map = require('../map')
1
+ const list = require('../list/index.js')
2
+ const map = require('../map/index.js')
3
3
 
4
4
  /**
5
5
  * @template T
@@ -1,4 +1,4 @@
1
- const _ = require('.')
1
+ const _ = require('./index.js')
2
2
 
3
3
  {
4
4
  const a = {}
@@ -1,10 +1,10 @@
1
- const btree = require('../btree')
2
- const find = require('../btree/find')
3
- const btSet = require('../btree/set')
4
- const btRemove = require('../btree/remove')
5
- const { stringCmp } = require("../function/compare")
6
- const list = require('../list')
7
- const { compose } = require('../function')
1
+ const btree = require('../btree/index.js')
2
+ const find = require('../btree/find/index.js')
3
+ const btSet = require('../btree/set/index.js')
4
+ const btRemove = require('../btree/remove/index.js')
5
+ const { stringCmp } = require("../function/compare/index.js")
6
+ const list = require('../list/index.js')
7
+ const { compose } = require('../function/index.js')
8
8
 
9
9
  /** @typedef {btree.Tree<string>} StringSet */
10
10
 
@@ -1,4 +1,4 @@
1
- const _ = require('.')
1
+ const _ = require('./index.js')
2
2
 
3
3
  {
4
4
  const r = _.set('hello')(undefined)