Compare commits

..

No commits in common. "40163d65d9ef5c4ac00aa7d1756229b18c82e024" and "48ca8ccda173147eb786ac0560cd5b5a7417536f" have entirely different histories.

11 changed files with 86 additions and 1086 deletions

1
.gitignore vendored
View file

@ -7,4 +7,3 @@
/.psc*
/.purs*
/.psa*
.spago

View file

@ -1,3 +0,0 @@
# purescript-bignumber
Bindings to [bignumber.js](https://github.com/MikeMcl/bignumber.js/).

24
bower.json Normal file
View file

@ -0,0 +1,24 @@
{
"name": "purescript-bignumber",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"output"
],
"license": "BSD-3-Clause",
"dependencies": {
"purescript-prelude": "^3.1.1",
"purescript-either": "^3.2.0",
"purescript-exceptions": "^3.0.0",
"purescript-tuples-native": "^0.1.0",
"purescript-record": "git@github.com:athanclark/purescript-record.git#850360dbfa1bf765a19b3ec207a706622fa47ac7"
},
"repository": {
"type": "git",
"url": "git://github.com/athanclark/purescript-bignumber.git"
},
"devDependencies": {
"purescript-psci-support": "^3.0.0"
}
}

13
package-lock.json generated
View file

@ -1,13 +0,0 @@
{
"name": "purescript-bignumber",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"bignumber.js": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz",
"integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ=="
}
}
}

View file

@ -1,6 +1,7 @@
{
"name": "purescript-bignumber",
"version": "1.0.0",
"description": "",
"main": "index.js",
"directories": {
"test": "test"
@ -9,17 +10,5 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"repository": {
"type": "git",
"url": "git+https://github.com/athanclark/purescript-bignumber.git"
},
"bugs": {
"url": "https://github.com/athanclark/purescript-bignumber/issues"
},
"homepage": "https://github.com/athanclark/purescript-bignumber#readme",
"description": "",
"dependencies": {
"bignumber.js": "^7.2.1"
}
"license": "ISC"
}

View file

@ -1,768 +0,0 @@
{
"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": []
}
}
}

View file

@ -1,23 +0,0 @@
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

View file

@ -1,129 +1,38 @@
import BigNumber from "bignumber.js";
"use strict";
export function parseBigNumberImpl(Left, Right, s) {
var BigNumber = require('bignumber.js');
exports.parseBigNumberImpl = function parseBigNumberImpl (Left,Right,s) {
var x;
try {
x = new BigNumber(s);
}
catch (e) {
} catch (e) {
return Left(e);
}
return Right(x);
}
export function configImpl(cfg) {
return x;
};
exports.configImpl = function configImpl (cfg) {
BigNumber.config(cfg);
}
export function isBigNumber(x) {
};
exports.isBigNumber = function isBigNumber (x) {
return BigNumber.isBigNumber(x);
}
export function randomBigNumber() {
};
exports.maxBigNumberImpl = function maxBigNumberImpl (x,y) {
return BigNumber.maximum(x,y);
};
exports.minBigNumberImpl = function minBigNumberImpl (x,y) {
return BigNumber.minimum(x,y);
};
exports.randomBigNumber = function randomBigNumber () {
return BigNumber.random();
}
export function absImpl(x) {
return x.abs();
}
export function compareBigNumberImpl(LT, EQ, GT, x, y) {
var r = x.comparedTo(y);
if (r === -1) {
return LT;
}
else if (r === 0) {
return EQ;
}
else if (r === 1) {
return GT;
}
}
export function decimalPlacesImpl(x, y) {
return x.decimalPlaces(y);
}
export function divBigNumberImpl(x, y) {
return x.div(y);
}
export function idivBigNumberImpl(x, y) {
return x.idiv(y);
}
export function powBigNumberImpl(x, y) {
return x.pow(y);
}
export function intValue(x) {
return x.integerValue();
}
export function eqBigNumberImpl(x, y) {
return x.eq(y);
}
export function isFinite(x) {
return x.isFinite();
}
export function gtBigNumberImpl(x, y) {
return x.gt(y);
}
export function gteBigNumberImpl(x, y) {
return x.gte(y);
}
export function isInteger(x) {
return x.isInteger();
}
export function ltBigNumberImpl(x, y) {
return x.lt(y);
}
export function lteBigNumberImpl(x, y) {
return x.lte(y);
}
export function isNaN(x) {
return x.isNaN();
}
export function isNegative(x) {
return x.isNegative();
}
export function isPositive(x) {
return x.isPositive();
}
export function isZero(x) {
return x.isZero();
}
export function minusBigNumberImpl(x, y) {
return x.minus(y);
}
export function moduloBigNumberImpl(x, y) {
return x.modulo(y);
}
export function timesBigNumberImpl(x, y) {
return x.times(y);
}
export function negateImpl(x) {
return x.negated();
}
export function plusBigNumberImpl(x, y) {
return x.plus(y);
}
export function precisionImpl(x, y) {
return x.precision(y);
}
export function shiftedByImpl(x, y) {
return x.shiftedBy(y);
}
export function toNumber(x) {
return x.toNumber();
}
export function toString(x) {
return x.toString();
}
export function toExponential(x) {
return x.toExponential();
}
export function toFixed(x) {
return x.toFixed();
}
export function toFormat(x) {
return x.toFormat();
}
export function toFractionImpl(x) {
return x.toFraction();
}
export function valueOf(x) {
return x.valueOf();
}
export function sqrt(x) {
return x.sqrt();
}
};

View file

@ -1,45 +1,34 @@
module Data.BigNumber
( BigNumber, parseBigNumber, config
( BIGNUMBER, BigNumber, parseBigNumber, config
, ConfigParams, RoundingMode
, roundUp, roundDown, roundCeil, roundFloor
, roundHalfUp, roundHalfDown, roundHalfEven, roundHalfCeil, roundHalfFloor
, ModuloMode, modRoundUp, modRoundDown, modRoundFloor, modRoundHalfEven
, modEuclid
, isBigNumber, isInteger, isFinite, isNaN, isNegative, isPositive, isZero
, toNumber, toString, toExponential, toFixed, toFormat, toFraction, valueOf
, abs', negate', idiv, sqrt, pow
, intValue, precision, decimalPlaces, shiftedBy, randomBigNumber
, isBigNumber, maxBigNumber, minBigNumber, randomBigNumber
) where
import Prelude
import Data.Int as Int
import Data.Either (Either (..))
import Data.Tuple (Tuple (..))
import Data.Function.Uncurried (Fn3, runFn3, Fn2, runFn2, Fn5, runFn5)
import Data.Tuple.Native (T2, prj)
import Data.Typelevel.Num.Reps (d0, d1)
import Data.Generic.Rep (class Generic, Constructor (..), Argument (..))
import Row.Class (class SubRow)
import Effect (Effect)
import Effect.Exception (Error)
import Effect.Uncurried (EffectFn1, runEffectFn1)
import Partial.Unsafe (unsafePartial)
import Data.Function.Uncurried (Fn3, runFn3, Fn2, runFn2)
import Data.Record.Class (class Subrow)
import Data.Tuple.Native (T2)
import Control.Monad.Eff (Eff, kind Effect)
import Control.Monad.Eff.Exception (Error)
import Control.Monad.Eff.Uncurried (EffFn1, runEffFn1)
foreign import data BIGNUMBER :: Effect
foreign import data BigNumber :: Type
instance genericBigNumber :: Generic BigNumber (Constructor "BigNumber" (Argument String)) where
from x = Constructor (Argument (toString x))
to (Constructor (Argument s)) = unsafePartial $ case parseBigNumber s of
Right x -> x
foreign import parseBigNumberImpl :: Fn3 (forall e a. e -> Either e a) (forall e a. a -> Either e a) String (Either Error BigNumber)
parseBigNumber :: String -> Either Error BigNumber
parseBigNumber = runFn3 parseBigNumberImpl Left Right
foreign import configImpl :: forall o. EffectFn1 o Unit
foreign import configImpl :: forall o eff. EffFn1 (bigNumber :: BIGNUMBER | eff) o Unit
newtype RoundingMode = RoundingMode Int
@ -77,16 +66,6 @@ modEuclid :: ModuloMode
modEuclid = ModuloMode 9
type FormatParams =
( decimalSeparator :: String
, groupSeparator :: String
, groupSize :: Int
, secondaryGroupSize :: Int
, fractionGroupSeparator :: String
, fractionGroupSize :: Int
)
type ConfigParams format =
( "DECIMAL_PLACES" :: Int
, "ROUNDING_MODE" :: RoundingMode
@ -99,108 +78,22 @@ type ConfigParams format =
, "ALPHABET" :: String
)
config :: forall o format
. SubRow o (ConfigParams { | format })
=> SubRow format FormatParams
=> { | o } -> Effect Unit
config = runEffectFn1 configImpl
config :: forall o format eff
. Subrow o (ConfigParams format)
=> { | o } -> Eff (bigNumber :: BIGNUMBER | eff) Unit
config = runEffFn1 configImpl
foreign import isBigNumber :: forall a. a -> Boolean
foreign import isInteger :: BigNumber -> Boolean
foreign import isFinite :: BigNumber -> Boolean
foreign import isNaN :: BigNumber -> Boolean
foreign import isNegative :: BigNumber -> Boolean
foreign import isPositive :: BigNumber -> Boolean
foreign import isZero :: BigNumber -> Boolean
foreign import toNumber :: BigNumber -> Number
foreign import toString :: BigNumber -> String
foreign import toExponential :: BigNumber -> String
foreign import toFixed :: BigNumber -> String
foreign import toFormat :: BigNumber -> String
foreign import toFractionImpl :: Fn2 BigNumber BigNumber (T2 String String)
foreign import valueOf :: BigNumber -> String
foreign import maxBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
toFraction :: BigNumber -> BigNumber -> Tuple String String
toFraction a b =
let x = runFn2 toFractionImpl a b
in Tuple (prj d0 x) (prj d1 x)
maxBigNumber :: BigNumber -> BigNumber -> BigNumber
maxBigNumber = runFn2 maxBigNumberImpl
foreign import eqBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
foreign import gtBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
foreign import gteBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
foreign import ltBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
foreign import lteBigNumberImpl :: Fn2 BigNumber BigNumber Boolean
foreign import compareBigNumberImpl :: Fn5 Ordering Ordering Ordering BigNumber BigNumber Ordering
foreign import minBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
foreign import absImpl :: BigNumber -> BigNumber
foreign import plusBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
foreign import minusBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
foreign import negateImpl :: BigNumber -> BigNumber
foreign import timesBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
foreign import divBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
foreign import idivBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
foreign import moduloBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
foreign import sqrt :: BigNumber -> BigNumber
foreign import powBigNumberImpl :: Fn2 BigNumber BigNumber BigNumber
minBigNumber :: BigNumber -> BigNumber -> BigNumber
minBigNumber = runFn2 minBigNumberImpl
abs' :: BigNumber -> BigNumber
abs' = absImpl
negate' :: BigNumber -> BigNumber
negate' = negateImpl
idiv :: BigNumber -> BigNumber -> BigNumber
idiv = runFn2 idivBigNumberImpl
pow :: BigNumber -> BigNumber -> BigNumber
pow = runFn2 powBigNumberImpl
foreign import intValue :: BigNumber -> BigNumber
foreign import precisionImpl :: Fn2 BigNumber Int BigNumber
foreign import decimalPlacesImpl :: Fn2 BigNumber Int BigNumber
foreign import randomBigNumber :: Effect BigNumber
foreign import shiftedByImpl :: Fn2 BigNumber Int BigNumber
precision :: BigNumber -> Int -> BigNumber
precision = runFn2 precisionImpl
decimalPlaces :: BigNumber -> Int -> BigNumber
decimalPlaces = runFn2 decimalPlacesImpl
shiftedBy :: BigNumber -> Int -> BigNumber
shiftedBy = runFn2 shiftedByImpl
instance eqBigNumber :: Eq BigNumber where
eq = runFn2 eqBigNumberImpl
instance ordBigNumber :: Ord BigNumber where
compare = runFn5 compareBigNumberImpl LT EQ GT
instance showBigNumber :: Show BigNumber where
show = toString
instance semiringBigNumber :: Semiring BigNumber where
add = runFn2 plusBigNumberImpl
zero = unsafePartial $ case parseBigNumber "0" of
Right x -> x
one = unsafePartial $ case parseBigNumber "1" of
Right x -> x
mul = runFn2 timesBigNumberImpl
instance ringBigNumber :: Ring BigNumber where
sub = runFn2 minusBigNumberImpl
instance commutativeRingBigNumber :: CommutativeRing BigNumber
instance divisionRingBigNumber :: DivisionRing BigNumber where
recip = runFn2 divBigNumberImpl one
instance euclideanRingBigNumber :: EuclideanRing BigNumber where
degree = Int.floor <<< toNumber <<< intValue <<< abs'
div = runFn2 divBigNumberImpl
mod = runFn2 moduloBigNumberImpl
foreign import randomBigNumber :: forall eff. Eff (bigNumber :: BIGNUMBER | eff) BigNumber

View file

@ -1,16 +0,0 @@
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

9
test/Main.purs Normal file
View file

@ -0,0 +1,9 @@
module Test.Main where
import Prelude
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, log)
main :: forall e. Eff (console :: CONSOLE | e) Unit
main = do
log "You should add some tests."