typeferry 0.11.0 → 0.13.0

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 (269) hide show
  1. package/README.md +5 -0
  2. package/dist/application/cli-arguments.d.ts +37 -5
  3. package/dist/application/cli-arguments.js +57 -7
  4. package/dist/application/cli-arguments.js.map +1 -1
  5. package/dist/application/config.d.ts +58 -31
  6. package/dist/application/config.js +40 -16
  7. package/dist/application/config.js.map +1 -1
  8. package/dist/application/native-command.d.ts +35 -0
  9. package/dist/application/native-command.js +148 -0
  10. package/dist/application/native-command.js.map +1 -0
  11. package/dist/application/native-devices.d.ts +31 -0
  12. package/dist/application/native-devices.js +94 -0
  13. package/dist/application/native-devices.js.map +1 -0
  14. package/dist/application/native-doctor.d.ts +17 -0
  15. package/dist/application/native-doctor.js +79 -0
  16. package/dist/application/native-doctor.js.map +1 -0
  17. package/dist/application/native-simulator-settings.d.ts +24 -0
  18. package/dist/application/native-simulator-settings.js +55 -0
  19. package/dist/application/native-simulator-settings.js.map +1 -0
  20. package/dist/application/native-simulator.d.ts +19 -0
  21. package/dist/application/native-simulator.js +101 -0
  22. package/dist/application/native-simulator.js.map +1 -0
  23. package/dist/application/proxy.d.ts +5 -1
  24. package/dist/application/proxy.js +25 -4
  25. package/dist/application/proxy.js.map +1 -1
  26. package/dist/application/run-tests.js +1 -1
  27. package/dist/application/run-tests.js.map +1 -1
  28. package/dist/auth/client/native-session.js +4 -2
  29. package/dist/auth/client/native-session.js.map +1 -1
  30. package/dist/auth/client/oauth/use-google-login.js +2 -0
  31. package/dist/auth/client/oauth/use-google-login.js.map +1 -1
  32. package/dist/auth/server/cookie-utils.js +4 -3
  33. package/dist/auth/server/cookie-utils.js.map +1 -1
  34. package/dist/auth/server/device-info.js +8 -8
  35. package/dist/auth/server/device-info.js.map +1 -1
  36. package/dist/auth/server/oauth/google.js +11 -7
  37. package/dist/auth/server/oauth/google.js.map +1 -1
  38. package/dist/auth/server/session-manager.js +2 -2
  39. package/dist/auth/server/session-manager.js.map +1 -1
  40. package/dist/cli/index.js +5 -0
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/run.js +13 -1
  43. package/dist/cli/run.js.map +1 -1
  44. package/dist/client/client-channel.d.ts +3 -11
  45. package/dist/client/client-channel.js +11 -4
  46. package/dist/client/client-channel.js.map +1 -1
  47. package/dist/client/client-http.d.ts +2 -2
  48. package/dist/client/client-http.js.map +1 -1
  49. package/dist/client/client.d.ts +13 -13
  50. package/dist/client/client.js +24 -11
  51. package/dist/client/client.js.map +1 -1
  52. package/dist/client/context-manager.d.ts +1 -1
  53. package/dist/client/logger.d.ts +1 -0
  54. package/dist/client/logger.js +12 -15
  55. package/dist/client/logger.js.map +1 -1
  56. package/dist/ejson/adjust-types-from-json-value.d.ts +1 -1
  57. package/dist/ejson/adjust-types-from-json-value.js +4 -2
  58. package/dist/ejson/adjust-types-from-json-value.js.map +1 -1
  59. package/dist/ejson/base64.d.ts +1 -1
  60. package/dist/ejson/base64.js +1 -1
  61. package/dist/ejson/base64.js.map +1 -1
  62. package/dist/ejson/built-in-converters.d.ts +59 -1
  63. package/dist/ejson/built-in-converters.js +109 -125
  64. package/dist/ejson/built-in-converters.js.map +1 -1
  65. package/dist/ejson/clone.js +1 -1
  66. package/dist/ejson/clone.js.map +1 -1
  67. package/dist/ejson/custom-models.d.ts +10 -10
  68. package/dist/ejson/custom-models.js +22 -2
  69. package/dist/ejson/custom-models.js.map +1 -1
  70. package/dist/ejson/custom-types.d.ts +2 -1
  71. package/dist/ejson/custom-types.js.map +1 -1
  72. package/dist/ejson/equals.d.ts +4 -1
  73. package/dist/ejson/equals.js +6 -3
  74. package/dist/ejson/equals.js.map +1 -1
  75. package/dist/ejson/from-json-value.d.ts +1 -1
  76. package/dist/ejson/from-json-value.js +1 -1
  77. package/dist/ejson/from-json-value.js.map +1 -1
  78. package/dist/ejson/helpers/adjust-types-to-json-value.d.ts +1 -1
  79. package/dist/ejson/helpers/adjust-types-to-json-value.js +4 -2
  80. package/dist/ejson/helpers/adjust-types-to-json-value.js.map +1 -1
  81. package/dist/ejson/helpers/from-json-value-helper.d.ts +1 -1
  82. package/dist/ejson/helpers/from-json-value-helper.js +5 -3
  83. package/dist/ejson/helpers/from-json-value-helper.js.map +1 -1
  84. package/dist/ejson/helpers/to-json-value-helper.d.ts +1 -1
  85. package/dist/ejson/helpers/to-json-value-helper.js +3 -1
  86. package/dist/ejson/helpers/to-json-value-helper.js.map +1 -1
  87. package/dist/ejson/index.d.ts +14 -12
  88. package/dist/ejson/index.js +3 -3
  89. package/dist/ejson/index.js.map +1 -1
  90. package/dist/ejson/is-binary.d.ts +1 -1
  91. package/dist/ejson/is-binary.js +1 -1
  92. package/dist/ejson/is-binary.js.map +1 -1
  93. package/dist/ejson/parse.d.ts +1 -1
  94. package/dist/ejson/parse.js +1 -1
  95. package/dist/ejson/parse.js.map +1 -1
  96. package/dist/ejson/stable-stringify.d.ts +1 -6
  97. package/dist/ejson/stable-stringify.js +3 -1
  98. package/dist/ejson/stable-stringify.js.map +1 -1
  99. package/dist/ejson/to-json-value.d.ts +1 -1
  100. package/dist/ejson/to-json-value.js +1 -1
  101. package/dist/ejson/to-json-value.js.map +1 -1
  102. package/dist/ejson/utils.d.ts +15 -13
  103. package/dist/ejson/utils.js +39 -37
  104. package/dist/ejson/utils.js.map +1 -1
  105. package/dist/minimongo/NOTICE.md +30 -0
  106. package/dist/minimongo/README.md +329 -0
  107. package/dist/minimongo/components.d.ts +31 -0
  108. package/dist/minimongo/components.js +53 -0
  109. package/dist/minimongo/components.js.map +1 -0
  110. package/dist/minimongo/contracts.type-test.d.ts +1 -0
  111. package/dist/minimongo/contracts.type-test.js +21 -0
  112. package/dist/minimongo/contracts.type-test.js.map +1 -0
  113. package/dist/minimongo/cursor.d.ts +67 -0
  114. package/dist/minimongo/cursor.js +157 -0
  115. package/dist/minimongo/cursor.js.map +1 -0
  116. package/dist/minimongo/document-store.d.ts +31 -0
  117. package/dist/minimongo/document-store.js +48 -0
  118. package/dist/minimongo/document-store.js.map +1 -0
  119. package/dist/minimongo/errors.d.ts +14 -0
  120. package/dist/minimongo/errors.js +16 -0
  121. package/dist/minimongo/errors.js.map +1 -0
  122. package/dist/minimongo/events.d.ts +20 -0
  123. package/dist/minimongo/events.js +80 -0
  124. package/dist/minimongo/events.js.map +1 -0
  125. package/dist/minimongo/identity.d.ts +8 -0
  126. package/dist/minimongo/identity.js +15 -0
  127. package/dist/minimongo/identity.js.map +1 -0
  128. package/dist/minimongo/immutable.d.ts +6 -0
  129. package/dist/minimongo/immutable.js +17 -0
  130. package/dist/minimongo/immutable.js.map +1 -0
  131. package/dist/minimongo/index.d.ts +7 -0
  132. package/dist/minimongo/index.js +6 -0
  133. package/dist/minimongo/index.js.map +1 -0
  134. package/dist/minimongo/local-collection.d.ts +48 -0
  135. package/dist/minimongo/local-collection.js +129 -0
  136. package/dist/minimongo/local-collection.js.map +1 -0
  137. package/dist/minimongo/matcher.d.ts +27 -0
  138. package/dist/minimongo/matcher.js +457 -0
  139. package/dist/minimongo/matcher.js.map +1 -0
  140. package/dist/minimongo/modifier.d.ts +12 -0
  141. package/dist/minimongo/modifier.js +323 -0
  142. package/dist/minimongo/modifier.js.map +1 -0
  143. package/dist/minimongo/path.d.ts +17 -0
  144. package/dist/minimongo/path.js +126 -0
  145. package/dist/minimongo/path.js.map +1 -0
  146. package/dist/minimongo/projection.d.ts +5 -0
  147. package/dist/minimongo/projection.js +100 -0
  148. package/dist/minimongo/projection.js.map +1 -0
  149. package/dist/minimongo/sorter.d.ts +16 -0
  150. package/dist/minimongo/sorter.js +140 -0
  151. package/dist/minimongo/sorter.js.map +1 -0
  152. package/dist/minimongo/transform.d.ts +4 -0
  153. package/dist/minimongo/transform.js +30 -0
  154. package/dist/minimongo/transform.js.map +1 -0
  155. package/dist/minimongo/types.d.ts +169 -0
  156. package/dist/minimongo/types.js +2 -0
  157. package/dist/minimongo/types.js.map +1 -0
  158. package/dist/minimongo/value-semantics.d.ts +8 -0
  159. package/dist/minimongo/value-semantics.js +156 -0
  160. package/dist/minimongo/value-semantics.js.map +1 -0
  161. package/dist/mongodb/change-streams.js +14 -8
  162. package/dist/mongodb/change-streams.js.map +1 -1
  163. package/dist/mongodb/decorators/collection.js +4 -1
  164. package/dist/mongodb/decorators/collection.js.map +1 -1
  165. package/dist/mongodb/decorators/metadata.js +1 -1
  166. package/dist/mongodb/decorators/metadata.js.map +1 -1
  167. package/dist/mongodb/find-one-or-create.d.ts +2 -2
  168. package/dist/mongodb/find-one-or-create.js +1 -1
  169. package/dist/mongodb/find-one-or-create.js.map +1 -1
  170. package/dist/mongodb/live/engine.js.map +1 -1
  171. package/dist/mongodb/live/source.js +11 -5
  172. package/dist/mongodb/live/source.js.map +1 -1
  173. package/dist/mongodb/live/types.d.ts +1 -1
  174. package/dist/react/components/client-provider.d.ts +3 -2
  175. package/dist/react/components/client-provider.js +1 -1
  176. package/dist/react/components/client-provider.js.map +1 -1
  177. package/dist/react/contracts.type-test.d.ts +1 -0
  178. package/dist/react/contracts.type-test.js +21 -0
  179. package/dist/react/contracts.type-test.js.map +1 -0
  180. package/dist/react/hooks/use-auth.d.ts +5 -1
  181. package/dist/react/hooks/use-auth.js +4 -2
  182. package/dist/react/hooks/use-auth.js.map +1 -1
  183. package/dist/react/hooks/use-caller.d.ts +10 -5
  184. package/dist/react/hooks/use-caller.js +12 -8
  185. package/dist/react/hooks/use-caller.js.map +1 -1
  186. package/dist/react/hooks/use-channel.d.ts +1 -1
  187. package/dist/react/hooks/use-channel.js +1 -1
  188. package/dist/react/hooks/use-channel.js.map +1 -1
  189. package/dist/react/hooks/use-circuit-breaker.d.ts +14 -6
  190. package/dist/react/hooks/use-circuit-breaker.js +5 -2
  191. package/dist/react/hooks/use-circuit-breaker.js.map +1 -1
  192. package/dist/react/hooks/use-client.d.ts +1 -1
  193. package/dist/react/hooks/use-client.js +2 -0
  194. package/dist/react/hooks/use-client.js.map +1 -1
  195. package/dist/react/hooks/use-connection-state.d.ts +4 -4
  196. package/dist/react/hooks/use-connection-state.js +2 -0
  197. package/dist/react/hooks/use-connection-state.js.map +1 -1
  198. package/dist/react/hooks/use-deps-change.d.ts +1 -1
  199. package/dist/react/hooks/use-deps-change.js.map +1 -1
  200. package/dist/react/hooks/use-local-event.d.ts +2 -2
  201. package/dist/react/hooks/use-local-event.js +2 -2
  202. package/dist/react/hooks/use-local-event.js.map +1 -1
  203. package/dist/react/hooks/use-method-refresh.d.ts +24 -15
  204. package/dist/react/hooks/use-method-refresh.js +18 -22
  205. package/dist/react/hooks/use-method-refresh.js.map +1 -1
  206. package/dist/react/hooks/use-method.d.ts +12 -11
  207. package/dist/react/hooks/use-method.js +9 -5
  208. package/dist/react/hooks/use-method.js.map +1 -1
  209. package/dist/react/hooks/use-mongodb-live-publication.js +2 -0
  210. package/dist/react/hooks/use-mongodb-live-publication.js.map +1 -1
  211. package/dist/react/hooks/use-object.d.ts +2 -2
  212. package/dist/react/hooks/use-object.js.map +1 -1
  213. package/dist/react/hooks/use-subscribe.d.ts +1 -2
  214. package/dist/react/hooks/use-subscribe.js +11 -9
  215. package/dist/react/hooks/use-subscribe.js.map +1 -1
  216. package/dist/react/hooks/use-throttled-events.d.ts +1 -1
  217. package/dist/react/hooks/use-throttled-events.js +2 -0
  218. package/dist/react/hooks/use-throttled-events.js.map +1 -1
  219. package/dist/react/hooks/use-token-refresh.js +1 -1
  220. package/dist/react/hooks/use-token-refresh.js.map +1 -1
  221. package/dist/server/client-node.d.ts +17 -10
  222. package/dist/server/client-node.js +16 -13
  223. package/dist/server/client-node.js.map +1 -1
  224. package/dist/server/decorators/register.js +10 -6
  225. package/dist/server/decorators/register.js.map +1 -1
  226. package/dist/server/method.d.ts +1 -1
  227. package/dist/server/method.js +9 -6
  228. package/dist/server/method.js.map +1 -1
  229. package/dist/server/methods.js +2 -1
  230. package/dist/server/methods.js.map +1 -1
  231. package/dist/server/server-channel.d.ts +4 -2
  232. package/dist/server/server-channel.js +33 -20
  233. package/dist/server/server-channel.js.map +1 -1
  234. package/dist/server/server.d.ts +25 -12
  235. package/dist/server/server.js +18 -17
  236. package/dist/server/server.js.map +1 -1
  237. package/dist/server/transports/node-hono-transport.d.ts +4 -4
  238. package/dist/server/transports/node-hono-transport.js +66 -14
  239. package/dist/server/transports/node-hono-transport.js.map +1 -1
  240. package/dist/server/transports/redis-transport.d.ts +5 -4
  241. package/dist/server/transports/redis-transport.js +9 -4
  242. package/dist/server/transports/redis-transport.js.map +1 -1
  243. package/dist/server/transports/websocket-transport.d.ts +1 -1
  244. package/dist/server/transports/websocket-transport.js +6 -1
  245. package/dist/server/transports/websocket-transport.js.map +1 -1
  246. package/dist/server/transports/ws-shared.d.ts +2 -1
  247. package/dist/server/transports/ws-shared.js +4 -1
  248. package/dist/server/transports/ws-shared.js.map +1 -1
  249. package/dist/utils/errors.d.ts +1 -1
  250. package/dist/utils/errors.js.map +1 -1
  251. package/dist/utils/event-emitter.d.ts +1 -1
  252. package/dist/utils/event-emitter.js.map +1 -1
  253. package/dist/utils/events.d.ts +4 -4
  254. package/dist/utils/events.js.map +1 -1
  255. package/dist/utils/helpers.d.ts +4 -4
  256. package/dist/utils/helpers.js +4 -3
  257. package/dist/utils/helpers.js.map +1 -1
  258. package/dist/utils/intercept.d.ts +1 -2
  259. package/dist/utils/intercept.js.map +1 -1
  260. package/dist/utils/iterator.d.ts +6 -8
  261. package/dist/utils/iterator.js +3 -3
  262. package/dist/utils/iterator.js.map +1 -1
  263. package/dist/utils/presentation.d.ts +1 -1
  264. package/dist/utils/presentation.js +2 -0
  265. package/dist/utils/presentation.js.map +1 -1
  266. package/dist/utils/promise.d.ts +5 -5
  267. package/dist/utils/promise.js +2 -2
  268. package/dist/utils/promise.js.map +1 -1
  269. package/package.json +9 -2
@@ -1 +1 @@
1
- {"version":3,"file":"custom-types.js","sourceRoot":"","sources":["../../src/ejson/custom-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"custom-types.js","sourceRoot":"","sources":["../../src/ejson/custom-types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAA"}
@@ -1 +1,4 @@
1
- export declare const equals: (a: any, b: any, options?: any) => boolean;
1
+ export interface EqualsOptions {
2
+ readonly keyOrderSensitive?: boolean;
3
+ }
4
+ export declare const equals: (a: unknown, b: unknown, options?: EqualsOptions) => boolean;
@@ -1,5 +1,5 @@
1
1
  import { EJSON } from './index.js';
2
- import { hasOwn, isFunction, isObject, keysOf } from './utils.js';
2
+ import { hasOwn, isFunction, isObject, isObjectRecord, keysOf } from './utils.js';
3
3
  function areBothNaN(a, b) {
4
4
  return Number.isNaN(a) && Number.isNaN(b);
5
5
  }
@@ -39,9 +39,10 @@ function compareKeysOrderSensitive(a, aKeys, b, bKeys, options) {
39
39
  const ret = aKeys.every(key => {
40
40
  if (i >= bKeys.length)
41
41
  return false;
42
- if (key !== bKeys[i])
42
+ const bKey = bKeys[i];
43
+ if (bKey === undefined || key !== bKey)
43
44
  return false;
44
- if (!EJSON.equals(a[key], b[bKeys[i]], options))
45
+ if (!EJSON.equals(a[key], b[bKey], options))
45
46
  return false;
46
47
  i++;
47
48
  return true;
@@ -106,6 +107,8 @@ export const equals = (a, b, options) => {
106
107
  const customResult = handleCustomTypes(a, b);
107
108
  if (customResult !== null)
108
109
  return customResult;
110
+ if (!isObjectRecord(a) || !isObjectRecord(b))
111
+ return false;
109
112
  const aKeys = keysOf(a);
110
113
  const bKeys = keysOf(b);
111
114
  const keyOrderSensitive = !!(options && options.keyOrderSensitive);
@@ -1 +1 @@
1
- {"version":3,"file":"equals.js","sourceRoot":"","sources":["../../src/ejson/equals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"equals.js","sourceRoot":"","sources":["../../src/ejson/equals.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const fromJSONValue: (item: any) => any;
1
+ export declare const fromJSONValue: (item: unknown) => unknown;
@@ -2,7 +2,7 @@ import { adjustTypesFromJSONValue } from './adjust-types-from-json-value.js';
2
2
  import { fromJSONValueHelper } from './helpers/from-json-value-helper.js';
3
3
  import { EJSON } from './index.js';
4
4
  import { isObject } from './utils.js';
5
- export const fromJSONValue = item => {
5
+ export const fromJSONValue = (item) => {
6
6
  let changed = fromJSONValueHelper(item);
7
7
  if (changed === item && isObject(item)) {
8
8
  changed = EJSON.clone(item);
@@ -1 +1 @@
1
- {"version":3,"file":"from-json-value.js","sourceRoot":"","sources":["../../src/ejson/from-json-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE;IAClC,IAAI,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,wBAAwB,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"from-json-value.js","sourceRoot":"","sources":["../../src/ejson/from-json-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAa,EAAW,EAAE;IACtD,IAAI,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAEvC,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,wBAAwB,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1 +1 @@
1
- export declare const adjustTypesToJSONValue: (obj: any) => any;
1
+ export declare const adjustTypesToJSONValue: (obj: unknown) => unknown;
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * for both arrays and objects, in-place modification.
3
3
  */
4
- import { isInfOrNaN, isObject, keysOf } from '../utils.js';
4
+ import { isInfOrNaN, isObject, isObjectRecord, keysOf } from '../utils.js';
5
5
  import { toJSONValueHelper } from './to-json-value-helper.js';
6
- export const adjustTypesToJSONValue = obj => {
6
+ export const adjustTypesToJSONValue = (obj) => {
7
7
  // Is it an atom that we need to adjust?
8
8
  if (obj === null) {
9
9
  return null;
@@ -17,6 +17,8 @@ export const adjustTypesToJSONValue = obj => {
17
17
  return obj;
18
18
  }
19
19
  // Iterate over array or object structure.
20
+ if (!isObjectRecord(obj))
21
+ return obj;
20
22
  keysOf(obj).forEach(key => {
21
23
  const value = obj[key];
22
24
  if (!isObject(value) && value !== undefined && !isInfOrNaN(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"adjust-types-to-json-value.js","sourceRoot":"","sources":["../../../src/ejson/helpers/adjust-types-to-json-value.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC,EAAE;IAC1C,wCAAwC;IACxC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,OAAM,CAAC,WAAW;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;YAClB,OAAM,CAAC,qBAAqB;QAC9B,CAAC;QACD,wDAAwD;QACxD,2BAA2B;QAC3B,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"adjust-types-to-json-value.js","sourceRoot":"","sources":["../../../src/ejson/helpers/adjust-types-to-json-value.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAY,EAAW,EAAE;IAC9D,wCAAwC;IACxC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAEpC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,OAAM,CAAC,WAAW;QACpB,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;YAClB,OAAM,CAAC,qBAAqB;QAC9B,CAAC;QACD,wDAAwD;QACxD,2BAA2B;QAC3B,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1 +1 @@
1
- export declare const fromJSONValueHelper: (value: any) => any;
1
+ export declare const fromJSONValueHelper: (value: unknown) => unknown;
@@ -5,14 +5,16 @@
5
5
  * EJSON.fromJSONValue
6
6
  */
7
7
  import { builtinConverters } from '../built-in-converters.js';
8
- import { isObject, keysOf } from '../utils.js';
9
- export const fromJSONValueHelper = value => {
10
- if (isObject(value) && value !== null) {
8
+ import { isObjectRecord, keysOf } from '../utils.js';
9
+ export const fromJSONValueHelper = (value) => {
10
+ if (isObjectRecord(value)) {
11
11
  const keys = keysOf(value);
12
12
  if (keys.length <= 2 &&
13
13
  keys.every(k => typeof k === 'string' && k.substr(0, 1) === '$')) {
14
14
  for (let i = 0; i < builtinConverters.length; i++) {
15
15
  const converter = builtinConverters[i];
16
+ if (!converter)
17
+ continue;
16
18
  if (converter.matchJSONValue(value)) {
17
19
  return converter.fromJSONValue(value);
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"from-json-value-helper.js","sourceRoot":"","sources":["../../../src/ejson/helpers/from-json-value-helper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,EAAE;IACzC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,IACE,IAAI,CAAC,MAAM,IAAI,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAChE,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;gBACtC,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"from-json-value-helper.js","sourceRoot":"","sources":["../../../src/ejson/helpers/from-json-value-helper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC7D,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,IACE,IAAI,CAAC,MAAM,IAAI,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAChE,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;gBACtC,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -1 +1 @@
1
- export declare const toJSONValueHelper: (item: any) => any;
1
+ export declare const toJSONValueHelper: (item: unknown) => unknown;
@@ -3,9 +3,11 @@
3
3
  * the item isn't itself replaceable, but maybe some fields in it are)
4
4
  */
5
5
  import { builtinConverters } from '../built-in-converters.js';
6
- export const toJSONValueHelper = item => {
6
+ export const toJSONValueHelper = (item) => {
7
7
  for (let i = 0; i < builtinConverters.length; i++) {
8
8
  const converter = builtinConverters[i];
9
+ if (!converter)
10
+ continue;
9
11
  if (converter.matchObject(item)) {
10
12
  return converter.toJSONValue(item);
11
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"to-json-value-helper.js","sourceRoot":"","sources":["../../../src/ejson/helpers/to-json-value-helper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"to-json-value-helper.js","sourceRoot":"","sources":["../../../src/ejson/helpers/to-json-value-helper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAW,EAAE;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS;YAAE,SAAQ;QACxB,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -1,12 +1,14 @@
1
+ import { type EJSONTypeFactory } from './custom-types.js';
2
+ import { newBinary } from './utils.js';
1
3
  export declare const EJSON: {
2
4
  clone: (rootVal: any) => any;
3
- equals: (a: any, b: any, options?: any) => boolean;
4
- isBinary: (obj: Uint8Array & import("./utils.js").PolyfillableArray) => boolean;
5
- parse: (item: any) => any;
5
+ equals: (a: unknown, b: unknown, options?: import("./equals.js").EqualsOptions) => boolean;
6
+ isBinary: (obj: unknown) => obj is Uint8Array | import("./utils.js").PolyfillableArray;
7
+ parse: (item: unknown) => unknown;
6
8
  stringify: (item: any, options?: import("./stringify.js").StringifyOptions) => string;
7
- fromJSONValue: (item: any) => any;
8
- toJSONValue: (item: any) => any;
9
- newBinary: (len: number) => import("./utils.js").PolyfillableArray | Uint8Array<ArrayBuffer>;
9
+ fromJSONValue: (item: unknown) => unknown;
10
+ toJSONValue: (item: unknown) => unknown;
11
+ newBinary: typeof newBinary;
10
12
  /**
11
13
  * @summary Add a custom datatype to EJSON.
12
14
  * @locus Anywhere
@@ -18,10 +20,10 @@ export declare const EJSON: {
18
20
  * match the serialization performed by your
19
21
  * type's `toJSONValue` method.
20
22
  */
21
- addType(name: string, factory: any): void;
22
- _isCustomType(obj: any): boolean;
23
- _getTypes(isOriginal?: boolean): unknown;
24
- _getConverters(): any;
25
- _adjustTypesToJSONValue: (obj: any) => any;
26
- _adjustTypesFromJSONValue: (obj: any) => any;
23
+ addType(name: string, factory: EJSONTypeFactory): void;
24
+ _isCustomType(obj: unknown): boolean;
25
+ _getTypes(isOriginal?: boolean): Map<string, EJSONTypeFactory> | Record<string, EJSONTypeFactory>;
26
+ _getConverters(): readonly import("./built-in-converters.js").EJSONConverter[];
27
+ _adjustTypesToJSONValue: (obj: unknown) => unknown;
28
+ _adjustTypesFromJSONValue: (obj: unknown) => unknown;
27
29
  };
@@ -9,7 +9,7 @@ import { isBinary } from './is-binary.js';
9
9
  import { parse } from './parse.js';
10
10
  import { stringify } from './stringify.js';
11
11
  import { toJSONValue } from './to-json-value.js';
12
- import { convertMapToObject, isFunction, newBinary } from './utils.js';
12
+ import { convertMapToObject, isFunction, isObjectRecord, newBinary, } from './utils.js';
13
13
  export const EJSON = {
14
14
  clone,
15
15
  equals,
@@ -37,10 +37,10 @@ export const EJSON = {
37
37
  customTypes.set(name, factory);
38
38
  },
39
39
  _isCustomType(obj) {
40
- return (obj &&
40
+ return (isObjectRecord(obj) &&
41
41
  isFunction(obj.toJSONValue) &&
42
42
  isFunction(obj.typeName) &&
43
- customTypes.has(obj.typeName()));
43
+ customTypes.has(String(obj.typeName.call(obj))));
44
44
  },
45
45
  _getTypes(isOriginal = false) {
46
46
  return isOriginal ? customTypes : convertMapToObject(customTypes);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ejson/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK;IACL,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;IACT,aAAa;IACb,WAAW;IACX,SAAS;IAET;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAY,EAAE,OAAO;QAC3B,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAA;QACjD,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,aAAa,CAAC,GAAG;QACf,OAAO,CACL,GAAG;YACH,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YACxB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAChC,CAAA;IACH,CAAC;IAED,SAAS,CAAC,UAAU,GAAG,KAAK;QAC1B,OAAO,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;IAED,cAAc;QACZ,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,uBAAuB,EAAE,sBAAsB;IAC/C,yBAAyB,EAAE,wBAAwB;CACpD,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ejson/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,SAAS,GACV,MAAM,SAAS,CAAA;AAEhB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK;IACL,MAAM;IACN,QAAQ;IACR,KAAK;IACL,SAAS;IACT,aAAa;IACb,WAAW;IACX,SAAS;IAET;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAY,EAAE,OAAyB;QAC7C,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAA;QACjD,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,aAAa,CAAC,GAAY;QACxB,OAAO,CACL,cAAc,CAAC,GAAG,CAAC;YACnB,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YACxB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAChD,CAAA;IACH,CAAC;IAED,SAAS,CAAC,UAAU,GAAG,KAAK;QAC1B,OAAO,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;IAED,cAAc;QACZ,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,uBAAuB,EAAE,sBAAsB;IAC/C,yBAAyB,EAAE,wBAAwB;CACpD,CAAA"}
@@ -1,2 +1,2 @@
1
1
  import type { PolyfillableArray } from './utils.js';
2
- export declare const isBinary: (obj: Uint8Array & PolyfillableArray) => boolean;
2
+ export declare const isBinary: (obj: unknown) => obj is Uint8Array | PolyfillableArray;
@@ -1,5 +1,5 @@
1
1
  export const isBinary = (obj) => {
2
2
  return !!((typeof Uint8Array !== 'undefined' && obj instanceof Uint8Array) ||
3
- (obj && obj.$Uint8ArrayPolyfill));
3
+ (Array.isArray(obj) && obj.$Uint8ArrayPolyfill));
4
4
  };
5
5
  //# sourceMappingURL=is-binary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-binary.js","sourceRoot":"","sources":["../../src/ejson/is-binary.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAmC,EAAE,EAAE;IAC9D,OAAO,CAAC,CAAC,CACP,CAAC,OAAO,UAAU,KAAK,WAAW,IAAI,GAAG,YAAY,UAAU,CAAC;QAChE,CAAC,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CACjC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"is-binary.js","sourceRoot":"","sources":["../../src/ejson/is-binary.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,GAAY,EAC2B,EAAE;IACzC,OAAO,CAAC,CAAC,CACP,CAAC,OAAO,UAAU,KAAK,WAAW,IAAI,GAAG,YAAY,UAAU,CAAC;QAChE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAAyB,CAAC,mBAAmB,CAAC,CACvE,CAAA;AACH,CAAC,CAAA"}
@@ -3,4 +3,4 @@
3
3
  *
4
4
  * @param item
5
5
  */
6
- export declare const parse: (item: any) => any;
6
+ export declare const parse: (item: unknown) => unknown;
@@ -4,7 +4,7 @@ import { EJSON } from './index.js';
4
4
  *
5
5
  * @param item
6
6
  */
7
- export const parse = item => {
7
+ export const parse = (item) => {
8
8
  if (typeof item !== 'string')
9
9
  throw new Error('EJSON.parse argument should be a string');
10
10
  return EJSON.fromJSONValue(JSON.parse(item));
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/ejson/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAE5D,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAA"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/ejson/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAW,EAAE;IAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAE5D,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAA"}
@@ -1,10 +1,5 @@
1
- type JsonPrimitive = boolean | null | number | string;
2
- type JsonValue = JsonPrimitive | JsonValue[] | {
3
- [key: string]: JsonValue;
4
- };
5
1
  /**
6
2
  * Provides deterministic JSON output for EJSON canonical mode without relying
7
3
  * on a CommonJS dependency that breaks source-first browser consumers.
8
4
  */
9
- export declare function stableStringify(value: JsonValue, space?: number | string): string;
10
- export {};
5
+ export declare function stableStringify(value: unknown, space?: number | string): string;
@@ -11,7 +11,9 @@ function sortJsonValue(value) {
11
11
  return Object.keys(value)
12
12
  .sort()
13
13
  .reduce((accumulator, key) => {
14
- accumulator[key] = sortJsonValue(value[key]);
14
+ const child = value[key];
15
+ if (child !== undefined)
16
+ accumulator[key] = sortJsonValue(child);
15
17
  return accumulator;
16
18
  }, {});
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stable-stringify.js","sourceRoot":"","sources":["../../src/ejson/stable-stringify.ts"],"names":[],"mappings":"AAGA,SAAS,aAAa,CAAC,KAAgB;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,KAAgB;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACtB,IAAI,EAAE;SACN,MAAM,CAA+B,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;QACzD,WAAW,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,OAAO,WAAW,CAAA;IACpB,CAAC,EAAE,EAAE,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAgB,EAChB,KAAuB;IAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC"}
1
+ {"version":3,"file":"stable-stringify.js","sourceRoot":"","sources":["../../src/ejson/stable-stringify.ts"],"names":[],"mappings":"AAAA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACtB,IAAI,EAAE;SACN,MAAM,CAA0B,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QAExB,IAAI,KAAK,KAAK,SAAS;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAEhE,OAAO,WAAW,CAAA;IACpB,CAAC,EAAE,EAAE,CAAC,CAAA;AACV,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAc,EACd,KAAuB;IAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC"}
@@ -1 +1 @@
1
- export declare const toJSONValue: (item: any) => any;
1
+ export declare const toJSONValue: (item: unknown) => unknown;
@@ -2,7 +2,7 @@ import { adjustTypesToJSONValue } from './helpers/adjust-types-to-json-value.js'
2
2
  import { toJSONValueHelper } from './helpers/to-json-value-helper.js';
3
3
  import { EJSON } from './index.js';
4
4
  import { isObject } from './utils.js';
5
- export const toJSONValue = item => {
5
+ export const toJSONValue = (item) => {
6
6
  const changed = toJSONValueHelper(item);
7
7
  if (changed !== undefined) {
8
8
  return changed;
@@ -1 +1 @@
1
- {"version":3,"file":"to-json-value.js","sourceRoot":"","sources":["../../src/ejson/to-json-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;IAChC,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"to-json-value.js","sourceRoot":"","sources":["../../src/ejson/to-json-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAa,EAAW,EAAE;IACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1,18 +1,20 @@
1
- export declare const isFunction: (fn: any) => boolean;
2
- export declare const isObject: (fn: any) => boolean;
3
- export declare const keysOf: (obj: any) => string[];
4
- export declare const lengthOf: (obj: any) => number;
5
- export declare const hasOwn: (obj: any, prop: any) => any;
6
- export declare const convertMapToObject: (map: any) => unknown;
7
- export declare const isArguments: (obj: any) => any;
8
- export declare const isInfOrNaN: (obj: any) => boolean;
1
+ export type DynamicFunction = (this: unknown, ...args: unknown[]) => unknown;
2
+ export declare const isFunction: (value: unknown) => value is DynamicFunction;
3
+ export declare const isObject: (value: unknown) => boolean;
4
+ export declare const isObjectRecord: (value: unknown) => value is Record<string, unknown>;
5
+ export declare const keysOf: (value: object) => string[];
6
+ export declare const lengthOf: (value: object) => number;
7
+ export declare const hasOwn: (value: object, property: PropertyKey) => boolean;
8
+ export declare function convertMapToObject<TKey extends PropertyKey, TValue>(map: ReadonlyMap<TKey, TValue>): Record<TKey, TValue>;
9
+ export declare const isArguments: (value: unknown) => value is IArguments;
10
+ export declare const isInfOrNaN: (value: unknown) => boolean;
9
11
  export declare const checkError: {
10
- maxStack: (msgError: any) => boolean;
12
+ maxStack: (message: string) => boolean;
11
13
  };
12
- export declare const handleError: (fn: any) => (...args: any[]) => any;
13
- export declare const quote: (string: any) => string;
14
+ export declare function handleError<TThis, TArguments extends unknown[], TResult>(fn: (this: TThis, ...args: TArguments) => TResult): (this: TThis, ...args: TArguments) => TResult;
15
+ export declare const quote: (value: string) => string;
14
16
  export type PolyfillableArray = Array<number> & {
15
17
  $Uint8ArrayPolyfill?: boolean;
16
18
  };
17
- export declare const newBinary: (len: number) => PolyfillableArray | Uint8Array<ArrayBuffer>;
18
- export declare const isObjectAndNotNull: (obj: any) => boolean;
19
+ export declare function newBinary(length: number): PolyfillableArray | Uint8Array;
20
+ export declare const isObjectAndNotNull: (value: unknown) => value is object;
@@ -1,43 +1,45 @@
1
- export const isFunction = fn => typeof fn === 'function';
2
- export const isObject = fn => typeof fn === 'object';
3
- export const keysOf = obj => Object.keys(obj);
4
- export const lengthOf = obj => Object.keys(obj).length;
5
- export const hasOwn = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
6
- export const convertMapToObject = map => Array.from(map).reduce((acc, [key, value]) => {
7
- // reassign to not create new object
8
- acc[key] = value;
9
- return acc;
10
- }, {});
11
- export const isArguments = obj => obj != null && hasOwn(obj, 'callee');
12
- export const isInfOrNaN = obj => Number.isNaN(obj) || obj === Infinity || obj === -Infinity;
1
+ export const isFunction = (value) => typeof value === 'function';
2
+ export const isObject = (value) => typeof value === 'object';
3
+ export const isObjectRecord = (value) => value !== null && typeof value === 'object';
4
+ export const keysOf = (value) => Object.keys(value);
5
+ export const lengthOf = (value) => Object.keys(value).length;
6
+ export const hasOwn = (value, property) => Object.prototype.hasOwnProperty.call(value, property);
7
+ export function convertMapToObject(map) {
8
+ const result = {};
9
+ for (const [key, value] of map)
10
+ result[key] = value;
11
+ return result;
12
+ }
13
+ export const isArguments = (value) => value !== null && typeof value === 'object' && hasOwn(value, 'callee');
14
+ export const isInfOrNaN = (value) => typeof value === 'number' &&
15
+ (Number.isNaN(value) || value === Infinity || value === -Infinity);
13
16
  export const checkError = {
14
- maxStack: msgError => new RegExp('Maximum call stack size exceeded', 'g').test(msgError),
17
+ maxStack: (message) => new RegExp('Maximum call stack size exceeded', 'g').test(message),
15
18
  };
16
- export const handleError = fn => function (...args) {
17
- try {
18
- return fn.apply(this, args);
19
- }
20
- catch (error) {
21
- const isMaxStack = checkError.maxStack(error.message);
22
- if (isMaxStack) {
23
- throw new Error('Converting circular structure to JSON');
19
+ export function handleError(fn) {
20
+ return function (...args) {
21
+ try {
22
+ return fn.apply(this, args);
24
23
  }
25
- throw error;
26
- }
27
- };
28
- export const quote = string => {
29
- return JSON.stringify(string);
30
- };
31
- export const newBinary = (len) => {
32
- if (typeof Uint8Array === 'undefined' || typeof ArrayBuffer === 'undefined') {
33
- const ret = [];
34
- for (let i = 0; i < len; i++) {
35
- ret.push(0);
24
+ catch (error) {
25
+ if (error instanceof Error &&
26
+ checkError.maxStack(error.message)) {
27
+ throw new Error('Converting circular structure to JSON');
28
+ }
29
+ throw error;
36
30
  }
37
- ret.$Uint8ArrayPolyfill = true;
38
- return ret;
31
+ };
32
+ }
33
+ export const quote = (value) => JSON.stringify(value);
34
+ export function newBinary(length) {
35
+ if (typeof Uint8Array === 'undefined' || typeof ArrayBuffer === 'undefined') {
36
+ const result = [];
37
+ for (let index = 0; index < length; index++)
38
+ result.push(0);
39
+ result.$Uint8ArrayPolyfill = true;
40
+ return result;
39
41
  }
40
- return new Uint8Array(new ArrayBuffer(len));
41
- };
42
- export const isObjectAndNotNull = obj => obj !== null && typeof obj === 'object';
42
+ return new Uint8Array(new ArrayBuffer(length));
43
+ }
44
+ export const isObjectAndNotNull = (value) => value !== null && typeof value === 'object';
43
45
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ejson/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ejson/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ # Meteor Minimongo attribution
2
+
3
+ TypeFerry's Minimongo compatibility implementation derives behavior and some
4
+ algorithmic structure from Meteor's `minimongo`, `mongo-id`, and
5
+ `diff-sequence` packages at commit
6
+ `4e310085974a245837eefec3326e9012edc20309`.
7
+
8
+ Copyright (C) 2011--2026 Meteor Development Group and contributors.
9
+
10
+ Meteor is distributed under the MIT License:
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
13
+ this software and associated documentation files (the "Software"), to deal in
14
+ the Software without restriction, including without limitation the rights to
15
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16
+ of the Software, and to permit persons to whom the Software is furnished to do
17
+ so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+ Upstream source: <https://github.com/meteor/meteor/tree/4e310085974a245837eefec3326e9012edc20309/packages/minimongo>