Gabriel Grubba
1f134d7da8
docs: Add ejson
2024-01-17 15:58:41 -03:00
Jan Küster
d63a93875f
fix(ejson): fix equals check with Arrays
2022-01-21 17:12:41 +01:00
Lam Hieu
ef1b40b284
Make util to make the friendly error and wrap it for EJSON.stringify function
2019-12-13 09:02:02 +07:00
Lam Hieu
54911d5dbb
Move helpers fn to utils file
2019-12-13 09:02:02 +07:00
Lam Hieu
48776afe59
Add keysOf and lengthOf based native function
2019-12-13 09:02:02 +07:00
Lam Hieu
9ca45c9dc3
Add and use isObject helper
2019-12-13 09:02:02 +07:00
Lam Hieu
a0a9e5f3ae
Use map instead of object for list custom type and add isFunction helper
2019-12-13 09:02:02 +07:00
Hugh Willson
5b39d4b2da
Remove merged in underscore usage and update to ES5/ES6.
2017-08-02 15:33:16 -04:00
Hugh Willson
c6bddb331a
Remove underscore dependency.
2017-08-02 15:33:15 -04:00
Hugh Willson
82a6feeaf4
Adjust EJSON API to handle objects with properties named "length"
2017-08-02 15:33:14 -04:00
seke
7232b39fa4
Cut of flags to avoid abuse of CPU-intensive regexes
2017-07-27 10:25:42 +02:00
Seba Kerckhof
b52c6587d7
Handle regular expressions in EJSON ( #8821 )
...
* Handle regular expressions in EJSON
* Adjust "checkout" self-test wait time to fix failing self-test's.
* Adjusting self-test "checkout" timeout further.
* Self-test exit timeout adjustments for the CLI "argument parsing" tests.
2017-07-21 13:45:38 -04:00
Mitar
046de405da
Also expose converters.
2015-05-26 14:16:15 -07:00
Mitar
c380bb3e21
Allow access to registered custom types.
2015-05-26 14:16:15 -07:00
Emily Stark
ccfee68145
Merge branch 'master' into devel
...
Conflicts:
docs/client/api.html
docs/client/data.js
docs/client/names.json
meteor
packages/autoupdate/package.js
packages/base64/.gitignore
packages/constraint-solver/package.js
packages/device-orientation/.gitignore
packages/less/package.js
packages/meteor-tool/package.js
packages/meteor/package.js
packages/package-version-parser/package.js
packages/webapp/webapp_server.js
scripts/admin/meteor-release-experimental.json
tools/commands.js
tools/help.txt
tools/package-version-parser.js
tools/run-all.js
tools/tests/apps/build-errors/packages/with-colon-plugin/.gitignore
2014-09-15 14:48:57 -07:00
Emily Stark
1307d4b015
Add comment to 'EJSON.newBinary'
2014-09-09 11:08:02 -07:00
Emily Stark
1971765628
Fix 'EJSON.newBinary' -- it's just 'Base64.newBinary'
2014-09-09 10:41:37 -07:00
Emily Stark
8a8df1f89d
Factor out 'base64' into its own package and use from 'oauth'.
...
'oauth' was using 'btoa', but it's not supported in IE8-9. We already
had a base64 implementation in 'ejson', so I factored it out into its
own package used by 'ejson' and 'oauth'.
2014-09-09 10:37:07 -07:00
Sashko Stubailo
2c969270ea
Add docs for EJSON interface, attempt to remove data.js from diffs
...
Only Match.test, check, and UI.dynamic left. I can see the light!
2014-09-05 14:37:28 -07:00
Sashko Stubailo
d057ec4a3a
Fix issues identified by the diff
2014-08-27 12:51:59 -07:00
Sashko Stubailo
538468f42b
Automate EJSON and HTTP
2014-08-25 21:30:33 -07:00
David Glasser
4fd4383bc0
EJSON custom type conversion functions can't yield
...
Code ought to be able to parse and stringify EJSON values without having
to worry about concurrency issues.
Related to #2136 .
2014-05-21 14:12:58 -07:00
Eric Dobbertin
0a6e398b2e
better error for unknown custom EJSON types
...
Fixes #2017
2014-04-17 16:44:42 -07:00
David Glasser
29cfa27ef3
support regexps in sort key filter
...
also in EJSON.clone
2014-03-17 02:17:06 -07:00
Marc-Andre Lafortune
de294ddb19
EJSON: Provide default implementation of equals for custom types
2014-02-12 15:26:50 -08:00
Marc-Andre Lafortune
0be15bdf3f
EJSON: Provide default implementation of clone for custom types
2014-02-12 15:26:50 -08:00
Marc-Andre Lafortune
f8886744a1
EJSON: Fix asymmetry in equals
2014-02-12 15:26:50 -08:00
David Glasser
6528f9eef7
Avoid calling _.each on numbers (Underscore 1.5.2 doesn't like it).
...
Simplify NaN detection.
2013-10-03 15:52:20 -07:00
Naomi Seyfer
c3fb7741f6
Infinity and NaN in EJSON
2013-10-02 12:01:24 -07:00
Naomi Seyfer
0d8bfbae8a
fix tests, rename option, more style fixes
2013-10-02 12:01:21 -07:00
Andrew Wilcox
da6bc1d835
EJSON.stringify objects in sorted key order.
...
Thus if two objects are EJSON.equals, their serialization strings will
be equal also.
(This should mean that reactive-dict could now allow objects to be
used as the key for `equal`).
Note this change does not affect livedata because livedata uses the
EJSON adjust functions to convert between JSON and EJSON (not
stringify).
Adds a couple options to EJSON.stringify:
* keyOrderSensitive: in parallel with EJSON.equals, outputs objects in
native key order (the old behavior).
* indent: pretty-prints the output.
The serialization code is based json2, which makes it easy to preserve
the indentation functionality provided by JSON.stringify. Only enough
code is included to serialize arrays and objects; serializing
primitive values such as strings is delegated to the native
JSON.stringify to reduce code and in case the native implementation is
more efficient.
Include underscore as an explicit dependency in package.js.
Document options to EJSON.equals and EJSON.stringify.
2013-10-02 11:43:44 -07:00
Andrew Wilcox
4714f892f5
Check that the argument to EJSON.parse is a string.
...
Some Android browser versions of JSON.parse can crash when passed null
(https://code.google.com/p/android/issues/detail?id=11973 ), so it's
better not to pass on a non-string argument to JSON.parse.
Thanks to @raix for raising the issue in #1401 .
2013-09-12 12:13:15 -07:00
David Glasser
d387e043ea
Rename _FooTest symbols to FooTest. They are already test-only.
2013-07-25 18:54:42 -07:00
David Glasser
9f38258b54
Drop all @export lines. Add api.exportSymbol instead.
2013-07-25 18:54:40 -07:00
Geoff Schmidt
3d1c09794f
Comprehensive namespace cleanup.
2013-07-25 18:54:40 -07:00
David Glasser
8a7b1ddf35
Merge branch 'devel' into linker.
...
Conflicts:
meteor
packages/absolute-url/.gitignore
packages/accounts-base/package.js
packages/accounts-oauth/package.js
packages/audit-argument-checks/.gitignore
packages/coffeescript/.gitignore
packages/coffeescript/package.js
packages/localstorage-polyfill/.gitignore
packages/oauth1/package.js
packages/oauth2/package.js
packages/random/random.js
scripts/generate-dev-bundle.sh
tools/packages.js
tools/run.js
tools/server/server.js
2013-05-28 15:10:48 -07:00
Andrew Wilcox
d53799d7a5
return true/false from EJSON.isBinary
2013-05-22 21:42:51 -07:00
David Glasser
afe5867f68
Oops, you can't use slice on arguments. This time tests actually pass.
2013-05-14 12:32:55 -07:00
David Glasser
4c2e1ef1b6
Fix Opera test failures by reverting unnecessary part of 583508e.
...
Opera seems to have some consistent but difficult to diagnose bugs related to
using _.map in this context. (As in, minifying the test was difficult because
there seemed to be some odd action at a distance, but a given test failure was
fully reproducible.) This appears to work while still preserving the feature
added in 583508e .
Also fix a missing var (which does not appear to be the original problem).
2013-05-14 11:32:53 -07:00
David Glasser
6b48e8bd8a
stuff that doesn't have conflicts
2013-05-13 11:51:50 -07:00
David Glasser
583508e10d
Support EJSON.clone(arguments).
...
This enables (eg) Meteor.apply('foo', arguments). Fixes #946 .
2013-04-15 17:49:12 -07:00
David Glasser
5a5204e3a4
Remove closures around package files. (hint: git blame -w)
...
The bundler now adds closures around client files and the server adds closures
around server files.
2013-03-19 15:13:53 -07:00
Naomi Seyfer
0da938955c
Fix EJSON.equals and EJSON.clone to use better loops; be more correct
2013-03-06 20:04:45 -08:00
Naomi Seyfer
e5a0734fa4
Fix for EJSON equality and falsiness
2013-03-01 08:42:57 -08:00
Naomi Seyfer
88f2969fa2
Fix for returning a scalar EJSON type from a method #731
...
Tests for returning a scalar EJSON type from a method
2013-02-28 11:02:25 -08:00
Naomi Seyfer
cc5ef1b90d
Removed all restrictions on EJSON types in MongoDB
2013-02-22 16:14:41 -08:00
Naomi Seyfer
a0c3ff709a
Fixed {$type: 5} selectors on old browsers
2013-02-22 14:28:05 -08:00
Naomi Seyfer
f11271dd4b
IE8 Compatibility fixes
2013-02-14 17:05:51 -08:00
David Glasser
77ac416374
Some ddp-pre1 cleanup
...
- Delete dead EJSON._each2.
- Make OrderedDict.remove throw if the key isn't in it.
- Make changed callbacks in two places throw if the document isn't in the
dictionary. (Other callbacks implicitly throw via OrderedDict.)
- Remove OrderedDict.pop (which didn't return the key) and push.
2013-02-12 17:18:09 -08:00
Naomi Seyfer
18d4a6ea4b
Remove undefined from EJSON
2013-02-05 16:57:26 -08:00