From 40163d65d9ef5c4ac00aa7d1756229b18c82e024 Mon Sep 17 00:00:00 2001 From: Anupam Jain Date: Wed, 27 Nov 2024 18:24:13 +0530 Subject: [PATCH] Get compiling again 1. Move to spago.yaml 2. Vendor Row.Class module, which was a part of purescript-row-extra package, which seems to have disappeared. 3. Convert commonjs to esmodule --- .gitignore | 1 + bower.json | 27 -- spago.lock | 768 ++++++++++++++++++++++++++++++++++++++++ spago.yaml | 23 ++ src/Data/BigNumber.js | 203 +++++------ src/Data/BigNumber.purs | 1 - src/Row/Class.purs | 16 + 7 files changed, 889 insertions(+), 150 deletions(-) delete mode 100644 bower.json create mode 100644 spago.lock create mode 100644 spago.yaml create mode 100644 src/Row/Class.purs diff --git a/.gitignore b/.gitignore index 20e090a..f2637b5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /.psc* /.purs* /.psa* +.spago diff --git a/bower.json b/bower.json deleted file mode 100644 index 24d2b78..0000000 --- a/bower.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "purescript-bignumber", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "output" - ], - "license": "BSD-3-Clause", - "dependencies": { - "purescript-prelude": "^4.1.0", - "purescript-either": "^4.0.0", - "purescript-exceptions": "^4.0.0", - "purescript-tuples-native": "^2.0.1", - "purescript-integers": "^4.0.0", - "purescript-functions": "^4.0.0", - "purescript-generics-rep": "^6.1.0", - "purescript-row-extra": "^0.0.0" - }, - "repository": { - "type": "git", - "url": "git://github.com/athanclark/purescript-bignumber.git" - }, - "devDependencies": { - "purescript-psci-support": "^4.0.0" - } -} diff --git a/spago.lock b/spago.lock new file mode 100644 index 0000000..f6ef146 --- /dev/null +++ b/spago.lock @@ -0,0 +1,768 @@ +{ + "workspace": { + "packages": { + "bignumber": { + "path": "./", + "core": { + "dependencies": [ + "console", + "effect", + "either", + "exceptions", + "functions", + "integers", + "partial", + "prelude", + "psci-support", + "tuples", + "tuples-native", + "typelevel" + ], + "build_plan": [ + "console", + "control", + "effect", + "either", + "exceptions", + "functions", + "integers", + "invariant", + "maybe", + "newtype", + "numbers", + "partial", + "prelude", + "psci-support", + "safe-coerce", + "tuples", + "tuples-native", + "type-equality", + "typelevel", + "typelevel-prelude", + "unsafe-coerce" + ] + }, + "test": { + "dependencies": [], + "build_plan": [] + } + } + }, + "package_set": { + "address": { + "registry": "61.2.0" + }, + "compiler": ">=0.15.15 <0.16.0", + "content": { + "abc-parser": "2.0.1", + "ace": "9.1.0", + "address-rfc2821": "0.1.1", + "aff": "8.0.0", + "aff-bus": "6.0.0", + "aff-coroutines": "9.0.0", + "aff-promise": "4.0.0", + "aff-retry": "2.0.0", + "affjax": "13.0.0", + "affjax-node": "1.0.0", + "affjax-web": "1.0.0", + "ansi": "7.0.0", + "apexcharts": "0.5.0", + "applicative-phases": "1.0.0", + "argonaut": "9.0.0", + "argonaut-aeson-generic": "0.4.1", + "argonaut-codecs": "9.1.0", + "argonaut-core": "7.0.0", + "argonaut-generic": "8.0.0", + "argonaut-traversals": "10.0.0", + "argparse-basic": "2.0.0", + "array-builder": "0.1.2", + "array-search": "0.6.0", + "arraybuffer": "13.2.0", + "arraybuffer-builder": "3.1.0", + "arraybuffer-types": "3.0.2", + "arrays": "7.3.0", + "arrays-extra": "0.6.1", + "arrays-zipper": "2.0.1", + "ask": "1.0.0", + "assert": "6.0.0", + "assert-multiple": "0.4.0", + "avar": "5.0.0", + "b64": "0.0.8", + "barbies": "1.0.1", + "barlow-lens": "0.9.0", + "bifunctors": "6.0.0", + "bigints": "7.0.1", + "bolson": "0.3.9", + "bookhound": "0.1.7", + "bower-json": "3.0.0", + "call-by-name": "4.0.1", + "canvas": "6.0.0", + "canvas-action": "9.0.0", + "cartesian": "1.0.6", + "catenable-lists": "7.0.0", + "cbor-stream": "1.3.0", + "chameleon": "1.0.0", + "chameleon-halogen": "1.0.3", + "chameleon-react-basic": "1.1.0", + "chameleon-styled": "2.5.0", + "chameleon-transformers": "1.0.0", + "channel": "1.0.0", + "checked-exceptions": "3.1.1", + "choku": "1.0.2", + "classless": "0.1.1", + "classless-arbitrary": "0.1.1", + "classless-decode-json": "0.1.1", + "classless-encode-json": "0.1.3", + "classnames": "2.0.0", + "codec": "6.1.0", + "codec-argonaut": "10.0.0", + "codec-json": "2.0.0", + "colors": "7.0.1", + "concur-core": "0.5.0", + "concur-react": "0.5.0", + "concurrent-queues": "3.0.0", + "console": "6.1.0", + "const": "6.0.0", + "contravariant": "6.0.0", + "control": "6.0.0", + "convertable-options": "1.0.0", + "coroutines": "7.0.0", + "css": "6.0.0", + "css-frameworks": "1.0.1", + "csv-stream": "2.3.0", + "data-mvc": "0.0.2", + "datetime": "6.1.0", + "datetime-parsing": "0.2.0", + "debounce": "0.1.0", + "debug": "6.0.2", + "decimals": "7.1.0", + "default-values": "1.0.1", + "deku": "0.9.23", + "deno": "0.0.5", + "dissect": "1.0.0", + "distributive": "6.0.0", + "dom-filereader": "7.0.0", + "dom-indexed": "12.0.0", + "dom-simple": "0.4.0", + "dotenv": "4.0.3", + "droplet": "0.6.0", + "dts": "1.0.0", + "dual-numbers": "1.0.3", + "dynamic-buffer": "3.0.1", + "echarts-simple": "0.0.1", + "effect": "4.0.0", + "either": "6.1.0", + "elmish": "0.13.0", + "elmish-enzyme": "0.1.1", + "elmish-hooks": "0.10.3", + "elmish-html": "0.9.0", + "elmish-testing-library": "0.3.2", + "email-validate": "7.0.0", + "encoding": "0.0.9", + "enums": "6.0.1", + "env-names": "0.4.0", + "error": "2.0.0", + "eta-conversion": "0.3.2", + "exceptions": "6.1.0", + "exists": "6.0.0", + "exitcodes": "4.0.0", + "expect-inferred": "3.0.0", + "ezfetch": "1.1.0", + "fahrtwind": "2.0.0", + "fallback": "0.1.0", + "fast-vect": "1.2.0", + "fetch": "4.1.0", + "fetch-argonaut": "1.0.1", + "fetch-core": "5.1.0", + "fetch-yoga-json": "1.1.0", + "ffi-simple": "0.5.1", + "fft-js": "0.1.0", + "filterable": "5.0.0", + "fix-functor": "0.1.0", + "fixed-points": "7.0.0", + "fixed-precision": "5.0.0", + "flame": "1.3.0", + "float32": "2.0.0", + "fmt": "0.2.1", + "foldable-traversable": "6.0.0", + "foldable-traversable-extra": "0.0.6", + "foreign": "7.0.0", + "foreign-object": "4.1.0", + "foreign-readwrite": "3.4.0", + "forgetmenot": "0.1.0", + "fork": "6.0.0", + "form-urlencoded": "7.0.0", + "formatters": "7.0.0", + "framer-motion": "1.0.1", + "free": "7.1.0", + "freeap": "7.0.0", + "freer-free": "0.0.1", + "freet": "7.0.0", + "functions": "6.0.0", + "functor1": "3.0.0", + "functors": "5.0.0", + "fuzzy": "0.4.0", + "gen": "4.0.0", + "generate-values": "1.0.1", + "generic-router": "0.0.1", + "geojson": "0.0.5", + "geometria": "2.2.0", + "gojs": "0.1.1", + "grain": "3.0.0", + "grain-router": "3.0.0", + "grain-virtualized": "3.0.0", + "graphs": "8.1.0", + "group": "4.1.1", + "halogen": "7.0.0", + "halogen-bootstrap5": "5.3.2", + "halogen-canvas": "1.0.0", + "halogen-css": "10.0.0", + "halogen-echarts-simple": "0.0.4", + "halogen-formless": "4.0.3", + "halogen-helix": "1.0.1", + "halogen-hooks": "0.6.3", + "halogen-hooks-extra": "0.9.0", + "halogen-infinite-scroll": "1.1.0", + "halogen-store": "0.5.4", + "halogen-storybook": "2.0.0", + "halogen-subscriptions": "2.0.0", + "halogen-svg-elems": "8.0.0", + "halogen-typewriter": "1.0.4", + "halogen-vdom": "8.0.0", + "halogen-vdom-string-renderer": "0.5.0", + "halogen-xterm": "2.0.0", + "heckin": "2.0.1", + "heterogeneous": "0.6.0", + "homogeneous": "0.4.0", + "http-methods": "6.0.0", + "httpurple": "4.0.0", + "huffman": "0.4.0", + "humdrum": "0.0.1", + "hyrule": "2.3.8", + "identity": "6.0.0", + "identy": "4.0.1", + "indexed-db": "1.0.0", + "indexed-monad": "3.0.0", + "int64": "3.0.0", + "integers": "6.0.0", + "interpolate": "5.0.2", + "intersection-observer": "1.0.1", + "invariant": "6.0.0", + "jarilo": "1.0.1", + "jelly": "0.10.0", + "jelly-router": "0.3.0", + "jelly-signal": "0.4.0", + "jest": "1.0.0", + "js-abort-controller": "1.0.0", + "js-bigints": "2.2.1", + "js-date": "8.0.0", + "js-fetch": "0.2.1", + "js-fileio": "3.0.0", + "js-intl": "1.1.4", + "js-iterators": "0.1.1", + "js-maps": "0.1.2", + "js-promise": "1.0.0", + "js-promise-aff": "1.0.0", + "js-timers": "6.1.0", + "js-uri": "3.1.0", + "jsdom": "1.0.0", + "json": "1.1.0", + "json-codecs": "5.0.0", + "justifill": "0.5.0", + "jwt": "0.0.9", + "labeled-data": "0.2.0", + "language-cst-parser": "0.14.0", + "lazy": "6.0.0", + "lazy-joe": "1.0.0", + "lcg": "4.0.0", + "leibniz": "5.0.0", + "leveldb": "1.0.1", + "liminal": "1.0.1", + "linalg": "6.0.0", + "lists": "7.0.0", + "literals": "1.0.2", + "logging": "3.0.0", + "logging-journald": "0.4.0", + "lumi-components": "18.0.0", + "machines": "7.0.0", + "maps-eager": "0.5.0", + "marionette": "1.0.0", + "marionette-react-basic-hooks": "0.1.1", + "marked": "0.1.0", + "matrices": "5.0.1", + "matryoshka": "1.0.0", + "maybe": "6.0.0", + "media-types": "6.0.0", + "meowclient": "1.0.0", + "midi": "4.0.0", + "milkis": "9.0.0", + "minibench": "4.0.1", + "mmorph": "7.0.0", + "monad-control": "5.0.0", + "monad-logger": "1.3.1", + "monad-loops": "0.5.0", + "monad-unlift": "1.0.1", + "monoid-extras": "0.0.1", + "monoidal": "0.16.0", + "morello": "0.4.0", + "mote": "3.0.0", + "motsunabe": "2.0.0", + "mvc": "0.0.1", + "mysql": "6.0.1", + "n3": "0.1.0", + "nano-id": "1.1.0", + "nanoid": "0.1.0", + "naturals": "3.0.0", + "nested-functor": "0.2.1", + "newtype": "5.0.0", + "nextjs": "0.1.1", + "nextui": "0.2.0", + "node-buffer": "9.0.0", + "node-child-process": "11.1.0", + "node-event-emitter": "3.0.0", + "node-execa": "5.0.0", + "node-fs": "9.2.0", + "node-glob-basic": "1.3.0", + "node-http": "9.1.0", + "node-http2": "1.1.1", + "node-human-signals": "1.0.0", + "node-net": "5.1.0", + "node-os": "5.1.0", + "node-path": "5.0.0", + "node-process": "11.2.0", + "node-readline": "8.1.1", + "node-sqlite3": "8.0.0", + "node-stream-pipes": "2.1.6", + "node-streams": "9.0.0", + "node-tls": "0.3.1", + "node-url": "7.0.1", + "node-zlib": "0.4.0", + "nonempty": "7.0.0", + "now": "6.0.0", + "npm-package-json": "2.0.0", + "nullable": "6.0.0", + "numberfield": "0.2.2", + "numbers": "9.0.1", + "oak": "3.1.1", + "oak-debug": "1.2.2", + "object-maps": "0.3.0", + "ocarina": "1.5.4", + "oooooooooorrrrrrrmm-lib": "0.0.1", + "open-colors-scales-and-schemes": "1.0.0", + "open-folds": "6.4.0", + "open-foreign-generic": "11.0.3", + "open-memoize": "6.2.0", + "open-mkdirp-aff": "1.2.0", + "open-pairing": "6.2.0", + "open-smolder": "12.0.2", + "options": "7.0.0", + "optparse": "5.0.1", + "ordered-collections": "3.2.0", + "ordered-set": "0.4.0", + "orders": "6.0.0", + "owoify": "1.2.0", + "pairs": "9.0.1", + "parallel": "7.0.0", + "parsing": "10.2.0", + "parsing-dataview": "3.2.4", + "partial": "4.0.0", + "pathy": "9.0.0", + "pha": "0.13.0", + "phaser": "0.7.0", + "phylio": "1.1.2", + "pipes": "8.0.0", + "pirates-charm": "0.0.1", + "pmock": "0.9.0", + "point-free": "1.0.0", + "pointed-list": "0.5.1", + "polymorphic-vectors": "4.0.0", + "posix-types": "6.0.0", + "postgresql": "2.0.20", + "precise": "6.0.0", + "precise-datetime": "7.0.0", + "prelude": "6.0.1", + "prettier-printer": "3.0.0", + "printf": "0.1.0", + "priority-queue": "0.1.2", + "profunctor": "6.0.1", + "profunctor-lenses": "8.0.0", + "protobuf": "4.4.0", + "psa-utils": "8.0.0", + "psci-support": "6.0.0", + "punycode": "1.0.0", + "qualified-do": "2.2.0", + "quantities": "12.2.0", + "quickcheck": "8.0.1", + "quickcheck-combinators": "0.1.3", + "quickcheck-laws": "7.0.0", + "quickcheck-utf8": "0.0.0", + "random": "6.0.0", + "rationals": "6.0.0", + "rdf": "0.1.0", + "react": "11.0.0", + "react-aria": "0.2.0", + "react-basic": "17.0.0", + "react-basic-classic": "3.0.0", + "react-basic-dnd": "10.1.0", + "react-basic-dom": "7.0.0", + "react-basic-dom-beta": "0.1.1", + "react-basic-emotion": "7.1.0", + "react-basic-hooks": "8.2.0", + "react-basic-storybook": "2.0.0", + "react-dom": "8.0.0", + "react-halo": "3.0.0", + "react-icons": "1.1.5", + "react-markdown": "0.1.0", + "react-testing-library": "4.0.1", + "react-virtuoso": "1.0.0", + "reactix": "0.6.1", + "read": "1.0.1", + "recharts": "1.1.0", + "record": "4.0.0", + "record-extra": "5.0.1", + "record-ptional-fields": "0.1.2", + "record-studio": "1.0.4", + "refs": "6.0.0", + "remotedata": "5.0.1", + "repr": "0.5.0", + "resize-observer": "1.0.0", + "resource": "2.0.1", + "resourcet": "1.0.0", + "result": "1.0.3", + "return": "0.2.0", + "ring-modules": "5.0.1", + "rito": "0.3.4", + "roman": "0.4.0", + "rough-notation": "1.0.2", + "routing": "11.0.0", + "routing-duplex": "0.7.0", + "run": "5.0.0", + "safe-coerce": "2.0.0", + "safely": "4.0.1", + "school-of-music": "1.3.0", + "selection-foldable": "0.2.0", + "selective-functors": "1.0.1", + "semirings": "7.0.0", + "signal": "13.0.0", + "simple-emitter": "3.0.1", + "simple-i18n": "2.0.1", + "simple-json": "9.0.0", + "simple-json-generics": "0.2.1", + "simple-ulid": "3.0.0", + "sized-matrices": "1.0.0", + "sized-vectors": "5.0.2", + "slug": "3.1.0", + "small-ffi": "4.0.1", + "soundfonts": "4.1.0", + "sparse-matrices": "2.0.1", + "sparse-polynomials": "3.0.1", + "spec": "8.1.1", + "spec-discovery": "8.4.0", + "spec-mocha": "5.1.1", + "spec-node": "0.0.3", + "spec-quickcheck": "5.0.2", + "spec-reporter-xunit": "0.7.1", + "splitmix": "2.1.0", + "ssrs": "1.0.0", + "st": "6.2.0", + "statistics": "0.3.2", + "strictlypositiveint": "1.0.1", + "string-parsers": "8.0.0", + "strings": "6.0.1", + "strings-extra": "4.0.0", + "stringutils": "0.0.12", + "substitute": "0.2.3", + "supply": "0.2.0", + "svg-parser": "3.0.0", + "systemd-journald": "0.3.0", + "tagged": "4.0.2", + "tailrec": "6.1.0", + "tecton": "0.2.1", + "tecton-halogen": "0.2.0", + "test-unit": "17.0.0", + "thermite": "6.3.1", + "thermite-dom": "0.3.1", + "these": "6.0.0", + "threading": "0.0.3", + "tldr": "0.0.0", + "toestand": "0.9.0", + "transformation-matrix": "1.0.1", + "transformers": "6.1.0", + "tree-rose": "4.0.2", + "ts-bridge": "4.0.0", + "tuples": "7.0.0", + "two-or-more": "1.0.0", + "type-equality": "4.0.1", + "typedenv": "2.0.1", + "typelevel": "6.0.0", + "typelevel-lists": "2.1.0", + "typelevel-peano": "1.0.1", + "typelevel-prelude": "7.0.0", + "typelevel-regex": "0.0.3", + "typelevel-rows": "0.1.0", + "typisch": "0.4.0", + "uint": "7.0.0", + "ulid": "3.0.1", + "uncurried-transformers": "1.1.0", + "undefined": "2.0.0", + "undefined-is-not-a-problem": "1.1.0", + "unfoldable": "6.0.0", + "unicode": "6.0.0", + "unique": "0.6.1", + "unlift": "1.0.1", + "unordered-collections": "3.1.0", + "unsafe-coerce": "6.0.0", + "unsafe-reference": "5.0.0", + "untagged-to-tagged": "0.1.4", + "untagged-union": "1.0.0", + "uri": "9.0.0", + "url-immutable": "1.0.0", + "uuid": "9.0.0", + "uuidv4": "1.0.0", + "validation": "6.0.0", + "variant": "8.0.0", + "variant-encodings": "2.0.0", + "vectorfield": "1.0.1", + "vectors": "2.1.0", + "versions": "7.0.0", + "visx": "0.0.2", + "web-clipboard": "6.0.0", + "web-cssom": "2.0.0", + "web-cssom-view": "0.1.0", + "web-dom": "6.0.0", + "web-dom-parser": "8.0.0", + "web-dom-xpath": "3.0.0", + "web-encoding": "3.0.0", + "web-events": "4.0.0", + "web-fetch": "4.0.1", + "web-file": "4.0.0", + "web-geometry": "0.1.0", + "web-html": "4.1.0", + "web-pointerevents": "2.0.0", + "web-proletarian": "1.0.0", + "web-promise": "3.2.0", + "web-resize-observer": "2.1.0", + "web-router": "1.0.0", + "web-socket": "4.0.0", + "web-storage": "5.0.0", + "web-streams": "4.0.0", + "web-touchevents": "4.0.0", + "web-uievents": "5.0.0", + "web-url": "2.0.0", + "web-workers": "1.1.0", + "web-xhr": "5.0.1", + "webextension-polyfill": "0.1.0", + "webgpu": "0.0.1", + "which": "2.0.0", + "xterm": "1.0.0", + "yoga-fetch": "1.0.1", + "yoga-json": "5.1.0", + "yoga-om": "0.1.0", + "yoga-postgres": "6.0.0", + "yoga-subtlecrypto": "0.1.0", + "yoga-tree": "1.0.0", + "z3": "0.0.2", + "zipperarray": "2.0.0" + } + }, + "extra_packages": { + "tuples-native": { + "git": "https://forge.id1.in/aj/purescript-tuples-native.git", + "ref": "main" + } + } + }, + "packages": { + "console": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-CxmAzjgyuGDmt9FZW51VhV6rBPwR6o0YeKUzA9rSzcM=", + "dependencies": [ + "effect", + "prelude" + ] + }, + "control": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sH7Pg9E96JCPF9PIA6oQ8+BjTyO/BH1ZuE/bOcyj4Jk=", + "dependencies": [ + "newtype", + "prelude" + ] + }, + "effect": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-eBtZu+HZcMa5HilvI6kaDyVX3ji8p0W9MGKy2K4T6+M=", + "dependencies": [ + "prelude" + ] + }, + "either": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-6hgTPisnMWVwQivOu2PKYcH8uqjEOOqDyaDQVUchTpY=", + "dependencies": [ + "control", + "invariant", + "maybe", + "prelude" + ] + }, + "exceptions": { + "type": "registry", + "version": "6.1.0", + "integrity": "sha256-K0T89IHtF3vBY7eSAO7eDOqSb2J9kZGAcDN5+IKsF8E=", + "dependencies": [ + "effect", + "either", + "maybe", + "prelude" + ] + }, + "functions": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-adMyJNEnhGde2unHHAP79gPtlNjNqzgLB8arEOn9hLI=", + "dependencies": [ + "prelude" + ] + }, + "integers": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-sf+sK26R1hzwl3NhXR7WAu9zCDjQnfoXwcyGoseX158=", + "dependencies": [ + "maybe", + "numbers", + "prelude" + ] + }, + "invariant": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-RGWWyYrz0Hs1KjPDA+87Kia67ZFBhfJ5lMGOMCEFoLo=", + "dependencies": [ + "control", + "prelude" + ] + }, + "maybe": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-5cCIb0wPwbat2PRkQhUeZO0jcAmf8jCt2qE0wbC3v2Q=", + "dependencies": [ + "control", + "invariant", + "newtype", + "prelude" + ] + }, + "newtype": { + "type": "registry", + "version": "5.0.0", + "integrity": "sha256-gdrQu8oGe9eZE6L3wOI8ql/igOg+zEGB5ITh2g+uttw=", + "dependencies": [ + "prelude", + "safe-coerce" + ] + }, + "numbers": { + "type": "registry", + "version": "9.0.1", + "integrity": "sha256-/9M6aeMDBdB4cwYDeJvLFprAHZ49EbtKQLIJsneXLIk=", + "dependencies": [ + "functions", + "maybe" + ] + }, + "partial": { + "type": "registry", + "version": "4.0.0", + "integrity": "sha256-fwXerld6Xw1VkReh8yeQsdtLVrjfGiVuC5bA1Wyo/J4=", + "dependencies": [] + }, + "prelude": { + "type": "registry", + "version": "6.0.1", + "integrity": "sha256-o8p6SLYmVPqzXZhQFd2hGAWEwBoXl1swxLG/scpJ0V0=", + "dependencies": [] + }, + "psci-support": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-C6ql4P9TEP06hft/1Z5QumPA4yARR4VIxDdhmL1EO+Y=", + "dependencies": [ + "console", + "effect", + "prelude" + ] + }, + "safe-coerce": { + "type": "registry", + "version": "2.0.0", + "integrity": "sha256-a1ibQkiUcbODbLE/WAq7Ttbbh9ex+x33VCQ7GngKudU=", + "dependencies": [ + "unsafe-coerce" + ] + }, + "tuples": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-1rXgTomes9105BjgXqIw0FL6Fz1lqqUTLWOumhWec1M=", + "dependencies": [ + "control", + "invariant", + "prelude" + ] + }, + "tuples-native": { + "type": "git", + "url": "https://forge.id1.in/aj/purescript-tuples-native.git", + "rev": "acd3dec41f5dcd12077e635a40262b6defe83095", + "dependencies": [ + "console", + "effect", + "functions", + "prelude", + "tuples", + "typelevel", + "typelevel-prelude" + ] + }, + "type-equality": { + "type": "registry", + "version": "4.0.1", + "integrity": "sha256-Hs9D6Y71zFi/b+qu5NSbuadUQXe5iv5iWx0226vOHUw=", + "dependencies": [] + }, + "typelevel": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-Iu7INcwTC/SbKcienMe7KKQvWku2VhCZSGCvrQWVVoc=", + "dependencies": [ + "partial", + "prelude", + "tuples", + "typelevel-prelude", + "unsafe-coerce" + ] + }, + "typelevel-prelude": { + "type": "registry", + "version": "7.0.0", + "integrity": "sha256-uFF2ph+vHcQpfPuPf2a3ukJDFmLhApmkpTMviHIWgJM=", + "dependencies": [ + "prelude", + "type-equality" + ] + }, + "unsafe-coerce": { + "type": "registry", + "version": "6.0.0", + "integrity": "sha256-IqIYW4Vkevn8sI+6aUwRGvd87tVL36BBeOr0cGAE7t0=", + "dependencies": [] + } + } +} diff --git a/spago.yaml b/spago.yaml new file mode 100644 index 0000000..ba6678c --- /dev/null +++ b/spago.yaml @@ -0,0 +1,23 @@ +package: + name: bignumber + dependencies: + - console + - effect + - either + - exceptions + - functions + - integers + - partial + - prelude + - psci-support + - tuples + - tuples-native + - typelevel +workspace: + packageSet: + registry: 61.2.0 + extraPackages: + tuples-native: + git: https://forge.id1.in/aj/purescript-tuples-native.git + ref: main + diff --git a/src/Data/BigNumber.js b/src/Data/BigNumber.js index 7d506b4..8a466fb 100644 --- a/src/Data/BigNumber.js +++ b/src/Data/BigNumber.js @@ -1,170 +1,129 @@ +import BigNumber from "bignumber.js"; "use strict"; - -var BigNumber = require('bignumber.js'); - -exports.parseBigNumberImpl = function parseBigNumberImpl (Left,Right,s) { +export function parseBigNumberImpl(Left, Right, s) { var x; try { x = new BigNumber(s); - } catch (e) { + } + catch (e) { return Left(e); } return Right(x); -}; - - -exports.configImpl = function configImpl (cfg) { +} +export function configImpl(cfg) { BigNumber.config(cfg); -}; - - -exports.isBigNumber = function isBigNumber (x) { +} +export function isBigNumber(x) { return BigNumber.isBigNumber(x); -}; - - -exports.randomBigNumber = function randomBigNumber () { +} +export function randomBigNumber() { return BigNumber.random(); -}; - - -exports.absImpl = function absImpl (x) { +} +export function absImpl(x) { return x.abs(); -}; - - -exports.compareBigNumberImpl = function compareBigNumberImpl (LT,EQ,GT,x,y) { +} +export function compareBigNumberImpl(LT, EQ, GT, x, y) { var r = x.comparedTo(y); if (r === -1) { return LT; - } else if (r === 0) { + } + else if (r === 0) { return EQ; - } else if (r === 1) { + } + else if (r === 1) { return GT; } -}; - - -exports.decimalPlacesImpl = function decimalPlacesImpl (x,y) { +} +export function decimalPlacesImpl(x, y) { return x.decimalPlaces(y); -}; - -exports.divBigNumberImpl = function divBigNumberImpl (x,y) { +} +export function divBigNumberImpl(x, y) { return x.div(y); -}; - -exports.idivBigNumberImpl = function idivBigNumberImpl (x,y) { +} +export function idivBigNumberImpl(x, y) { return x.idiv(y); -}; - -exports.powBigNumberImpl = function powBigNumberImpl (x,y) { +} +export function powBigNumberImpl(x, y) { return x.pow(y); -}; - -exports.intValue = function intValue (x) { +} +export function intValue(x) { return x.integerValue(); -}; - -exports.eqBigNumberImpl = function eqBigNumberImpl (x,y) { +} +export function eqBigNumberImpl(x, y) { return x.eq(y); -}; - -exports.isFinite = function isFinite (x) { +} +export function isFinite(x) { return x.isFinite(); -}; - -exports.gtBigNumberImpl = function gtBigNumberImpl (x,y) { +} +export function gtBigNumberImpl(x, y) { return x.gt(y); -}; - -exports.gteBigNumberImpl = function gteBigNumberImpl (x,y) { +} +export function gteBigNumberImpl(x, y) { return x.gte(y); -}; - -exports.isInteger = function isInteger (x) { +} +export function isInteger(x) { return x.isInteger(); -}; - -exports.ltBigNumberImpl = function ltBigNumberImpl (x,y) { +} +export function ltBigNumberImpl(x, y) { return x.lt(y); -}; - -exports.lteBigNumberImpl = function lteBigNumberImpl (x,y) { +} +export function lteBigNumberImpl(x, y) { return x.lte(y); -}; - -exports.isNaN = function isNaN (x) { +} +export function isNaN(x) { return x.isNaN(); -}; - -exports.isNegative = function isNegative (x) { +} +export function isNegative(x) { return x.isNegative(); -}; - -exports.isPositive = function isPositive (x) { +} +export function isPositive(x) { return x.isPositive(); -}; - -exports.isZero = function isZero (x) { +} +export function isZero(x) { return x.isZero(); -}; - -exports.minusBigNumberImpl = function minusBigNumberImpl (x,y) { +} +export function minusBigNumberImpl(x, y) { return x.minus(y); -}; - -exports.moduloBigNumberImpl = function moduloBigNumberImpl (x,y) { +} +export function moduloBigNumberImpl(x, y) { return x.modulo(y); -}; - -exports.timesBigNumberImpl = function timesBigNumberImpl (x,y) { +} +export function timesBigNumberImpl(x, y) { return x.times(y); -}; - -exports.negateImpl = function negateImpl (x) { +} +export function negateImpl(x) { return x.negated(); -}; - -exports.plusBigNumberImpl = function plusBigNumberImpl (x,y) { +} +export function plusBigNumberImpl(x, y) { return x.plus(y); -}; - -exports.precisionImpl = function precisionImpl (x,y) { +} +export function precisionImpl(x, y) { return x.precision(y); -}; - -exports.shiftedByImpl = function shiftedByImpl (x,y) { +} +export function shiftedByImpl(x, y) { return x.shiftedBy(y); -}; - -exports.toNumber = function toNumber (x) { +} +export function toNumber(x) { return x.toNumber(); -}; - -exports.toString = function toString (x) { +} +export function toString(x) { return x.toString(); -}; - -exports.toExponential = function toExponential (x) { +} +export function toExponential(x) { return x.toExponential(); -}; - -exports.toFixed = function toFixed (x) { +} +export function toFixed(x) { return x.toFixed(); -}; - -exports.toFormat = function toFormat (x) { +} +export function toFormat(x) { return x.toFormat(); -}; - -exports.toFractionImpl = function toFractionImpl (x) { +} +export function toFractionImpl(x) { return x.toFraction(); -}; - -exports.valueOf = function valueOf (x) { +} +export function valueOf(x) { return x.valueOf(); -}; - -exports.sqrt = function sqrt (x) { +} +export function sqrt(x) { return x.sqrt(); -}; +} diff --git a/src/Data/BigNumber.purs b/src/Data/BigNumber.purs index d911d01..e3e1fd6 100644 --- a/src/Data/BigNumber.purs +++ b/src/Data/BigNumber.purs @@ -26,7 +26,6 @@ import Effect.Uncurried (EffectFn1, runEffectFn1) import Partial.Unsafe (unsafePartial) - foreign import data BigNumber :: Type instance genericBigNumber :: Generic BigNumber (Constructor "BigNumber" (Argument String)) where diff --git a/src/Row/Class.purs b/src/Row/Class.purs new file mode 100644 index 0000000..8ec70db --- /dev/null +++ b/src/Row/Class.purs @@ -0,0 +1,16 @@ +module Row.Class where + +import Prim.Row (class Union) + + +class SubRow (child :: Row Type) (parent :: Row Type) + +instance subRowViaUnion :: Union child any parent => SubRow child parent + + +class IntersectRow (leftRow :: Row Type) (rightRow :: Row Type) (intersection :: Row Type) (leftRowRemainder :: Row Type) (rightRowRemainder :: Row Type) + +instance intersectRowViaUnion + :: ( Union leftRowRemainder intersection leftRow + , Union rightRowRemainder intersection rightRow + ) => IntersectRow leftRow rightRow intersection leftRowRemainder rightRowRemainder