@livestore/utils 0.3.0-dev.42 → 0.3.0-dev.44

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.
package/src/index.ts CHANGED
@@ -16,7 +16,6 @@ export { default as prettyBytes } from 'pretty-bytes'
16
16
  import type * as otel from '@opentelemetry/api'
17
17
  import type { Types } from 'effect'
18
18
 
19
- import { isDevEnv } from './env.js'
20
19
  import { objectToString } from './misc.js'
21
20
 
22
21
  export type Prettify<T> = T extends infer U ? { [K in keyof U]: Prettify<U[K]> } : never
@@ -92,15 +91,6 @@ export function casesHandled(unexpectedCase: never): never {
92
91
  throw new Error(`A case was not handled for value: ${truncate(objectToString(unexpectedCase), 1000)}`)
93
92
  }
94
93
 
95
- export const shouldNeverHappen = (msg?: string, ...args: any[]): never => {
96
- console.error(msg, ...args)
97
- if (isDevEnv()) {
98
- debugger
99
- }
100
-
101
- throw new Error(`This should never happen: ${msg}`)
102
- }
103
-
104
94
  export const assertNever = (failIfFalse: boolean, msg?: string): void => {
105
95
  if (failIfFalse === false) {
106
96
  debugger
package/src/misc.ts CHANGED
@@ -1,3 +1,22 @@
1
+ export const isDevEnv = () => {
2
+ if (typeof process !== 'undefined' && process.env !== undefined) {
3
+ return process.env.NODE_ENV !== 'production'
4
+ }
5
+
6
+ // TODO re-enable the full guard code once `import.meta` is supported in Expo
7
+ // if (import.meta !== undefined && import.meta.env !== undefined) {
8
+ if (import.meta.env !== undefined) {
9
+ return import.meta.env.DEV
10
+ }
11
+
12
+ // @ts-expect-error Only exists in Expo / RN
13
+ if (typeof globalThis !== 'undefined' && globalThis.__DEV__) {
14
+ return true
15
+ }
16
+
17
+ return false
18
+ }
19
+
1
20
  export const objectToString = (error: any): string => {
2
21
  const str = error?.toString()
3
22
  if (str !== '[object Object]') return str
@@ -27,3 +46,12 @@ export const tryAsFunctionAndNew = <TArg, TResult>(
27
46
 
28
47
  export const envTruish = (env: string | undefined) =>
29
48
  env !== undefined && env.toLowerCase() !== 'false' && env.toLowerCase() !== '0'
49
+
50
+ export const shouldNeverHappen = (msg?: string, ...args: any[]): never => {
51
+ console.error(msg, ...args)
52
+ if (isDevEnv()) {
53
+ debugger
54
+ }
55
+
56
+ throw new Error(`This should never happen: ${msg}`)
57
+ }