@supabase/realtime-js 2.108.3-canary.2 → 2.109.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 (44) hide show
  1. package/README.md +114 -0
  2. package/dist/main/RealtimeChannel.d.ts +89 -3
  3. package/dist/main/RealtimeChannel.d.ts.map +1 -1
  4. package/dist/main/RealtimeChannel.js +16 -1
  5. package/dist/main/RealtimeChannel.js.map +1 -1
  6. package/dist/main/RealtimePostgresFilterBuilder.d.ts +132 -0
  7. package/dist/main/RealtimePostgresFilterBuilder.d.ts.map +1 -0
  8. package/dist/main/RealtimePostgresFilterBuilder.js +165 -0
  9. package/dist/main/RealtimePostgresFilterBuilder.js.map +1 -0
  10. package/dist/main/index.d.ts +2 -2
  11. package/dist/main/index.d.ts.map +1 -1
  12. package/dist/main/index.js +3 -1
  13. package/dist/main/index.js.map +1 -1
  14. package/dist/main/lib/constants.d.ts +2 -2
  15. package/dist/main/lib/constants.d.ts.map +1 -1
  16. package/dist/main/lib/version.d.ts +1 -1
  17. package/dist/main/lib/version.d.ts.map +1 -1
  18. package/dist/main/lib/version.js +1 -1
  19. package/dist/main/lib/version.js.map +1 -1
  20. package/dist/module/RealtimeChannel.d.ts +89 -3
  21. package/dist/module/RealtimeChannel.d.ts.map +1 -1
  22. package/dist/module/RealtimeChannel.js +13 -0
  23. package/dist/module/RealtimeChannel.js.map +1 -1
  24. package/dist/module/RealtimePostgresFilterBuilder.d.ts +132 -0
  25. package/dist/module/RealtimePostgresFilterBuilder.d.ts.map +1 -0
  26. package/dist/module/RealtimePostgresFilterBuilder.js +160 -0
  27. package/dist/module/RealtimePostgresFilterBuilder.js.map +1 -0
  28. package/dist/module/index.d.ts +2 -2
  29. package/dist/module/index.d.ts.map +1 -1
  30. package/dist/module/index.js +2 -2
  31. package/dist/module/index.js.map +1 -1
  32. package/dist/module/lib/constants.d.ts +2 -2
  33. package/dist/module/lib/constants.d.ts.map +1 -1
  34. package/dist/module/lib/version.d.ts +1 -1
  35. package/dist/module/lib/version.d.ts.map +1 -1
  36. package/dist/module/lib/version.js +1 -1
  37. package/dist/module/lib/version.js.map +1 -1
  38. package/dist/tsconfig.module.tsbuildinfo +1 -1
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +1 -1
  41. package/src/RealtimeChannel.ts +116 -4
  42. package/src/RealtimePostgresFilterBuilder.ts +253 -0
  43. package/src/index.ts +8 -0
  44. package/src/lib/version.ts +1 -1
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Comparison operators accepted in a Postgres Changes `filter` string.
3
+ *
4
+ * These mirror the PostgREST operator surface and are evaluated server-side.
5
+ * Any operator can be negated via {@link RealtimePostgresFilterBuilder.not}
6
+ * (the `not.` prefix).
7
+ *
8
+ * This is the subset of PostgREST's `FilterOperator` (see `postgrest-js`) that
9
+ * Realtime Postgres Changes supports. Containment, range and full-text search
10
+ * operators (`cs`, `cd`, `ov`, range ops, `fts`, …) are intentionally not
11
+ * included because the Realtime server does not evaluate them.
12
+ *
13
+ * - `eq`, `neq`, `lt`, `lte`, `gt`, `gte` — comparison
14
+ * - `in` — membership: `status=in.(active,pending)`
15
+ * - `like`, `ilike` — pattern match (case-sensitive / insensitive): `title=like.%foo%`
16
+ * - `is` — `IS` check against `null` / `true` / `false` / `unknown`: `deleted_at=is.null`
17
+ * - `match`, `imatch` — POSIX regex match (`~` / `~*`)
18
+ * - `isdistinct` — NULL-safe inequality (`IS DISTINCT FROM`)
19
+ */
20
+ export type RealtimePostgresChangesFilterOperator = 'eq' | 'neq' | 'lt' | 'lte' | 'gt' | 'gte' | 'in' | 'like' | 'ilike' | 'is' | 'match' | 'imatch' | 'isdistinct';
21
+ /** Scalar value accepted by a single filter operator. */
22
+ export type RealtimeFilterValue = string | number | boolean | null;
23
+ /** Value accepted by the `is` operator. */
24
+ export type RealtimeIsFilterValue = null | boolean | 'null' | 'true' | 'false' | 'unknown';
25
+ /**
26
+ * Fluent builder for Postgres Changes `filter` strings.
27
+ *
28
+ * Each method appends a single `column=operator.value` condition. Multiple
29
+ * conditions are combined with commas, which the Realtime server applies as an
30
+ * `AND`. Pass an instance straight to `channel.on('postgres_changes', …)` — the
31
+ * SDK serializes it to a string automatically — or call {@link build} to obtain
32
+ * the string yourself.
33
+ *
34
+ * The builder mirrors the `postgrest-js` filter API (`eq`, `neq`, `in`, `like`,
35
+ * `not`, …) for the operators that Realtime supports. Values containing reserved
36
+ * characters (`,`, `(`, `)`, `"`, `\`) — or surrounding whitespace — are
37
+ * automatically double-quoted and escaped the same way PostgREST does, so they
38
+ * survive the server's filter parser; all other values are sent verbatim.
39
+ *
40
+ * The filter is snapshotted when passed to `channel.on(...)`; mutating the
41
+ * builder afterwards does not affect an existing subscription. An empty builder
42
+ * serializes to `''`, which the server treats as "no filter".
43
+ *
44
+ * @example
45
+ * channel.on('postgres_changes', {
46
+ * event: '*',
47
+ * schema: 'public',
48
+ * table: 'users',
49
+ * filter: postgresChangesFilter().eq('id', 1).lt('age', 30), // → 'id=eq.1,age=lt.30'
50
+ * }, (payload) => { ... })
51
+ */
52
+ export declare class RealtimePostgresFilterBuilder {
53
+ private readonly filters;
54
+ private add;
55
+ /** Match rows where `column` equals `value` (`column=eq.value`). */
56
+ eq(column: string, value: RealtimeFilterValue): this;
57
+ /** Match rows where `column` does not equal `value` (`column=neq.value`). */
58
+ neq(column: string, value: RealtimeFilterValue): this;
59
+ /** Match rows where `column` is greater than `value` (`column=gt.value`). */
60
+ gt(column: string, value: RealtimeFilterValue): this;
61
+ /** Match rows where `column` is greater than or equal to `value` (`column=gte.value`). */
62
+ gte(column: string, value: RealtimeFilterValue): this;
63
+ /** Match rows where `column` is less than `value` (`column=lt.value`). */
64
+ lt(column: string, value: RealtimeFilterValue): this;
65
+ /** Match rows where `column` is less than or equal to `value` (`column=lte.value`). */
66
+ lte(column: string, value: RealtimeFilterValue): this;
67
+ /**
68
+ * Match rows where `column` is one of `values` (`column=in.(a,b,c)`).
69
+ * Requires at least one value; duplicates are removed. An element containing a
70
+ * reserved character is double-quoted (`in.("a,b",c)`), so commas inside an
71
+ * element are preserved. `null` is intentionally not accepted (`IN (null)`
72
+ * never matches in SQL) — use `is`/`not('col','is',null)` for null checks.
73
+ */
74
+ in(column: string, values: ReadonlyArray<string | number | boolean>): this;
75
+ /** Match rows where `column` matches the case-sensitive `pattern` (`column=like.pattern`). */
76
+ like(column: string, pattern: string): this;
77
+ /** Match rows where `column` matches the case-insensitive `pattern` (`column=ilike.pattern`). */
78
+ ilike(column: string, pattern: string): this;
79
+ /** Match rows where `column` matches the POSIX regex `pattern` (`column=match.pattern`). */
80
+ match(column: string, pattern: string): this;
81
+ /** Match rows where `column` matches the case-insensitive POSIX regex `pattern` (`column=imatch.pattern`). */
82
+ imatch(column: string, pattern: string): this;
83
+ /**
84
+ * Match rows where `column` `IS` the given value (`column=is.null`).
85
+ * Accepts `null`, a boolean, or the keywords `'null' | 'true' | 'false' | 'unknown'`.
86
+ */
87
+ is(column: string, value: RealtimeIsFilterValue): this;
88
+ /** Match rows where `column` is distinct from `value` (`column=isdistinct.value`). NULL-safe inequality. */
89
+ isDistinct(column: string, value: RealtimeFilterValue): this;
90
+ /**
91
+ * Negate any operator with the `not.` prefix (`column=not.operator.value`).
92
+ * `in` takes an array, `is` takes an `IS` keyword/boolean/null, and every
93
+ * other operator takes a scalar value.
94
+ *
95
+ * @example
96
+ * postgresChangesFilter().not('status', 'in', ['draft', 'archived'])
97
+ * // → status=not.in.(draft,archived)
98
+ * postgresChangesFilter().not('deleted_at', 'is', null)
99
+ * // → deleted_at=not.is.null
100
+ */
101
+ not(column: string, operator: 'in', value: ReadonlyArray<string | number | boolean>): this;
102
+ not(column: string, operator: 'is', value: RealtimeIsFilterValue): this;
103
+ not(column: string, operator: Exclude<RealtimePostgresChangesFilterOperator, 'in' | 'is'>, value: RealtimeFilterValue): this;
104
+ /**
105
+ * Serialize all conditions into the comma-separated (AND) filter string.
106
+ *
107
+ * Conditions are joined by commas, which the server applies as `AND`. A scalar
108
+ * value (or single `in` element) that contains a reserved character — `,`,
109
+ * `(`, `)`, `"`, `\` — or surrounding whitespace is double-quoted and escaped
110
+ * the way PostgREST does, so commas inside a value are preserved rather than
111
+ * read as a condition boundary.
112
+ */
113
+ build(): string;
114
+ /** Alias for {@link build}; lets the builder be used wherever a string is expected. */
115
+ toString(): string;
116
+ }
117
+ /**
118
+ * Create a {@link RealtimePostgresFilterBuilder} for composing a Postgres
119
+ * Changes `filter`. Conditions are combined with `AND`.
120
+ *
121
+ * @example
122
+ * import { postgresChangesFilter } from '@supabase/realtime-js'
123
+ *
124
+ * channel.on('postgres_changes', {
125
+ * event: 'UPDATE',
126
+ * schema: 'public',
127
+ * table: 'orders',
128
+ * filter: postgresChangesFilter().gt('amount', 100).eq('status', 'open'),
129
+ * }, (payload) => { ... })
130
+ */
131
+ export declare const postgresChangesFilter: () => RealtimePostgresFilterBuilder;
132
+ //# sourceMappingURL=RealtimePostgresFilterBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimePostgresFilterBuilder.d.ts","sourceRoot":"","sources":["../../src/RealtimePostgresFilterBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,qCAAqC,GAC7C,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,MAAM,GACN,OAAO,GACP,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,YAAY,CAAA;AAEhB,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAElE,2CAA2C;AAC3C,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAuC1F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC,OAAO,CAAC,GAAG;IAWX,oEAAoE;IACpE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIpD,6EAA6E;IAC7E,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIrD,6EAA6E;IAC7E,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIpD,0FAA0F;IAC1F,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIrD,0EAA0E;IAC1E,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIpD,uFAAuF;IACvF,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAIrD;;;;;;OAMG;IACH,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAI1E,8FAA8F;IAC9F,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,iGAAiG;IACjG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5C,4FAA4F;IAC5F,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5C,8GAA8G;IAC9G,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7C;;;OAGG;IACH,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAItD,4GAA4G;IAC5G,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAI5D;;;;;;;;;;OAUG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAC1F,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI;IACvE,GAAG,CACD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,CAAC,qCAAqC,EAAE,IAAI,GAAG,IAAI,CAAC,EACrE,KAAK,EAAE,mBAAmB,GACzB,IAAI;IASP;;;;;;;;OAQG;IACH,KAAK,IAAI,MAAM;IAIf,uFAAuF;IACvF,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,QAAO,6BACJ,CAAA"}
@@ -0,0 +1,160 @@
1
+ // Reserved characters that force PostgREST-style quoting: `[,()]` (which the
2
+ // server reads as condition/list delimiters) plus `"`/`\` (escaped inside quotes).
3
+ const PostgrestReservedCharsRegexp = /[,()"\\]/;
4
+ const needsQuoting = (value) => PostgrestReservedCharsRegexp.test(value) || value !== value.trim();
5
+ const quote = (value) => `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
6
+ const serializeScalar = (value) => {
7
+ const serialized = value === null ? 'null' : String(value);
8
+ return needsQuoting(serialized) ? quote(serialized) : serialized;
9
+ };
10
+ const serializeIsValue = (value) => value === null ? 'null' : String(value);
11
+ // Builds the `operator.value` portion of a filter (everything after `column=`).
12
+ const serialize = (operator, value) => {
13
+ if (operator === 'in') {
14
+ const values = Array.isArray(value) ? value : [value];
15
+ if (values.length === 0) {
16
+ throw new Error('Realtime `in` filter requires at least one value.');
17
+ }
18
+ const items = Array.from(new Set(values))
19
+ .map((v) => serializeScalar(v))
20
+ .join(',');
21
+ return `in.(${items})`;
22
+ }
23
+ if (operator === 'is') {
24
+ return `is.${serializeIsValue(value)}`;
25
+ }
26
+ return `${operator}.${serializeScalar(value)}`;
27
+ };
28
+ /**
29
+ * Fluent builder for Postgres Changes `filter` strings.
30
+ *
31
+ * Each method appends a single `column=operator.value` condition. Multiple
32
+ * conditions are combined with commas, which the Realtime server applies as an
33
+ * `AND`. Pass an instance straight to `channel.on('postgres_changes', …)` — the
34
+ * SDK serializes it to a string automatically — or call {@link build} to obtain
35
+ * the string yourself.
36
+ *
37
+ * The builder mirrors the `postgrest-js` filter API (`eq`, `neq`, `in`, `like`,
38
+ * `not`, …) for the operators that Realtime supports. Values containing reserved
39
+ * characters (`,`, `(`, `)`, `"`, `\`) — or surrounding whitespace — are
40
+ * automatically double-quoted and escaped the same way PostgREST does, so they
41
+ * survive the server's filter parser; all other values are sent verbatim.
42
+ *
43
+ * The filter is snapshotted when passed to `channel.on(...)`; mutating the
44
+ * builder afterwards does not affect an existing subscription. An empty builder
45
+ * serializes to `''`, which the server treats as "no filter".
46
+ *
47
+ * @example
48
+ * channel.on('postgres_changes', {
49
+ * event: '*',
50
+ * schema: 'public',
51
+ * table: 'users',
52
+ * filter: postgresChangesFilter().eq('id', 1).lt('age', 30), // → 'id=eq.1,age=lt.30'
53
+ * }, (payload) => { ... })
54
+ */
55
+ export class RealtimePostgresFilterBuilder {
56
+ constructor() {
57
+ this.filters = [];
58
+ }
59
+ add(column, operator, value, negate = false) {
60
+ const prefix = negate ? 'not.' : '';
61
+ this.filters.push(`${column}=${prefix}${serialize(operator, value)}`);
62
+ return this;
63
+ }
64
+ /** Match rows where `column` equals `value` (`column=eq.value`). */
65
+ eq(column, value) {
66
+ return this.add(column, 'eq', value);
67
+ }
68
+ /** Match rows where `column` does not equal `value` (`column=neq.value`). */
69
+ neq(column, value) {
70
+ return this.add(column, 'neq', value);
71
+ }
72
+ /** Match rows where `column` is greater than `value` (`column=gt.value`). */
73
+ gt(column, value) {
74
+ return this.add(column, 'gt', value);
75
+ }
76
+ /** Match rows where `column` is greater than or equal to `value` (`column=gte.value`). */
77
+ gte(column, value) {
78
+ return this.add(column, 'gte', value);
79
+ }
80
+ /** Match rows where `column` is less than `value` (`column=lt.value`). */
81
+ lt(column, value) {
82
+ return this.add(column, 'lt', value);
83
+ }
84
+ /** Match rows where `column` is less than or equal to `value` (`column=lte.value`). */
85
+ lte(column, value) {
86
+ return this.add(column, 'lte', value);
87
+ }
88
+ /**
89
+ * Match rows where `column` is one of `values` (`column=in.(a,b,c)`).
90
+ * Requires at least one value; duplicates are removed. An element containing a
91
+ * reserved character is double-quoted (`in.("a,b",c)`), so commas inside an
92
+ * element are preserved. `null` is intentionally not accepted (`IN (null)`
93
+ * never matches in SQL) — use `is`/`not('col','is',null)` for null checks.
94
+ */
95
+ in(column, values) {
96
+ return this.add(column, 'in', values);
97
+ }
98
+ /** Match rows where `column` matches the case-sensitive `pattern` (`column=like.pattern`). */
99
+ like(column, pattern) {
100
+ return this.add(column, 'like', pattern);
101
+ }
102
+ /** Match rows where `column` matches the case-insensitive `pattern` (`column=ilike.pattern`). */
103
+ ilike(column, pattern) {
104
+ return this.add(column, 'ilike', pattern);
105
+ }
106
+ /** Match rows where `column` matches the POSIX regex `pattern` (`column=match.pattern`). */
107
+ match(column, pattern) {
108
+ return this.add(column, 'match', pattern);
109
+ }
110
+ /** Match rows where `column` matches the case-insensitive POSIX regex `pattern` (`column=imatch.pattern`). */
111
+ imatch(column, pattern) {
112
+ return this.add(column, 'imatch', pattern);
113
+ }
114
+ /**
115
+ * Match rows where `column` `IS` the given value (`column=is.null`).
116
+ * Accepts `null`, a boolean, or the keywords `'null' | 'true' | 'false' | 'unknown'`.
117
+ */
118
+ is(column, value) {
119
+ return this.add(column, 'is', value);
120
+ }
121
+ /** Match rows where `column` is distinct from `value` (`column=isdistinct.value`). NULL-safe inequality. */
122
+ isDistinct(column, value) {
123
+ return this.add(column, 'isdistinct', value);
124
+ }
125
+ not(column, operator, value) {
126
+ return this.add(column, operator, value, true);
127
+ }
128
+ /**
129
+ * Serialize all conditions into the comma-separated (AND) filter string.
130
+ *
131
+ * Conditions are joined by commas, which the server applies as `AND`. A scalar
132
+ * value (or single `in` element) that contains a reserved character — `,`,
133
+ * `(`, `)`, `"`, `\` — or surrounding whitespace is double-quoted and escaped
134
+ * the way PostgREST does, so commas inside a value are preserved rather than
135
+ * read as a condition boundary.
136
+ */
137
+ build() {
138
+ return this.filters.join(',');
139
+ }
140
+ /** Alias for {@link build}; lets the builder be used wherever a string is expected. */
141
+ toString() {
142
+ return this.build();
143
+ }
144
+ }
145
+ /**
146
+ * Create a {@link RealtimePostgresFilterBuilder} for composing a Postgres
147
+ * Changes `filter`. Conditions are combined with `AND`.
148
+ *
149
+ * @example
150
+ * import { postgresChangesFilter } from '@supabase/realtime-js'
151
+ *
152
+ * channel.on('postgres_changes', {
153
+ * event: 'UPDATE',
154
+ * schema: 'public',
155
+ * table: 'orders',
156
+ * filter: postgresChangesFilter().gt('amount', 100).eq('status', 'open'),
157
+ * }, (payload) => { ... })
158
+ */
159
+ export const postgresChangesFilter = () => new RealtimePostgresFilterBuilder();
160
+ //# sourceMappingURL=RealtimePostgresFilterBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimePostgresFilterBuilder.js","sourceRoot":"","sources":["../../src/RealtimePostgresFilterBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import RealtimeClient, { RealtimeClientOptions, RealtimeMessage, RealtimeRemoveChannelResponse, WebSocketLikeConstructor } from './RealtimeClient';
2
- import RealtimeChannel, { RealtimeChannelOptions, RealtimeChannelSendResponse, RealtimePostgresChangesFilter, RealtimePostgresChangesPayload, RealtimePostgresInsertPayload, RealtimePostgresUpdatePayload, RealtimePostgresDeletePayload, REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES } from './RealtimeChannel';
2
+ import RealtimeChannel, { RealtimeChannelOptions, RealtimeChannelSendResponse, RealtimePostgresChangesFilter, RealtimePostgresChangesFilterOperator, RealtimePostgresFilterBuilder, postgresChangesFilter, RealtimePostgresChangesPayload, RealtimePostgresInsertPayload, RealtimePostgresUpdatePayload, RealtimePostgresDeletePayload, RealtimeSystemPayload, REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES } from './RealtimeChannel';
3
3
  import RealtimePresence, { RealtimePresenceState, RealtimePresenceJoinPayload, RealtimePresenceLeavePayload, REALTIME_PRESENCE_LISTEN_EVENTS } from './RealtimePresence';
4
4
  import WebSocketFactory, { WebSocketLike } from './lib/websocket-factory';
5
- export { RealtimePresence, RealtimeChannel, RealtimeChannelOptions, RealtimeChannelSendResponse, RealtimeClient, RealtimeClientOptions, RealtimeMessage, RealtimePostgresChangesFilter, RealtimePostgresChangesPayload, RealtimePostgresInsertPayload, RealtimePostgresUpdatePayload, RealtimePostgresDeletePayload, RealtimePresenceJoinPayload, RealtimePresenceLeavePayload, RealtimePresenceState, RealtimeRemoveChannelResponse, REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_PRESENCE_LISTEN_EVENTS, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES, WebSocketFactory, WebSocketLike, WebSocketLikeConstructor, };
5
+ export { RealtimePresence, RealtimeChannel, RealtimeChannelOptions, RealtimeChannelSendResponse, RealtimeClient, RealtimeClientOptions, RealtimeMessage, RealtimePostgresChangesFilter, RealtimePostgresChangesFilterOperator, RealtimePostgresFilterBuilder, postgresChangesFilter, RealtimePostgresChangesPayload, RealtimePostgresInsertPayload, RealtimePostgresUpdatePayload, RealtimePostgresDeletePayload, RealtimeSystemPayload, RealtimePresenceJoinPayload, RealtimePresenceLeavePayload, RealtimePresenceState, RealtimeRemoveChannelResponse, REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_PRESENCE_LISTEN_EVENTS, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES, WebSocketFactory, WebSocketLike, WebSocketLikeConstructor, };
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,EAAE,EACrB,qBAAqB,EACrB,eAAe,EACf,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,eAAe,EAAE,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,gBAAgB,EAAE,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,gBAAgB,EAAE,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,sCAAsC,EACtC,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,wBAAwB,GACzB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,EAAE,EACrB,qBAAqB,EACrB,eAAe,EACf,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,eAAe,EAAE,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,qCAAqC,EACrC,6BAA6B,EAC7B,qBAAqB,EACrB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,gBAAgB,EAAE,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,gBAAgB,EAAE,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,6BAA6B,EAC7B,qCAAqC,EACrC,6BAA6B,EAC7B,qBAAqB,EACrB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,sCAAsC,EACtC,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,wBAAwB,GACzB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import RealtimeClient from './RealtimeClient';
2
- import RealtimeChannel, { REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES, } from './RealtimeChannel';
2
+ import RealtimeChannel, { RealtimePostgresFilterBuilder, postgresChangesFilter, REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES, } from './RealtimeChannel';
3
3
  import RealtimePresence, { REALTIME_PRESENCE_LISTEN_EVENTS, } from './RealtimePresence';
4
4
  import WebSocketFactory from './lib/websocket-factory';
5
- export { RealtimePresence, RealtimeChannel, RealtimeClient, REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_PRESENCE_LISTEN_EVENTS, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES, WebSocketFactory, };
5
+ export { RealtimePresence, RealtimeChannel, RealtimeClient, RealtimePostgresFilterBuilder, postgresChangesFilter, REALTIME_LISTEN_TYPES, REALTIME_POSTGRES_CHANGES_LISTEN_EVENT, REALTIME_PRESENCE_LISTEN_EVENTS, REALTIME_SUBSCRIBE_STATES, REALTIME_CHANNEL_STATES, WebSocketFactory, };
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAKN,MAAM,kBAAkB,CAAA;AACzB,OAAO,eAAe,EAAE,EAQtB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,gBAAgB,EAAE,EAIvB,+BAA+B,GAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,gBAAmC,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EACL,gBAAgB,EAChB,eAAe,EAGf,cAAc,EAYd,qBAAqB,EACrB,sCAAsC,EACtC,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,GAGjB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAKN,MAAM,kBAAkB,CAAA;AACzB,OAAO,eAAe,EAAE,EAKtB,6BAA6B,EAC7B,qBAAqB,EAMrB,qBAAqB,EACrB,sCAAsC,EACtC,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,gBAAgB,EAAE,EAIvB,+BAA+B,GAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,gBAAmC,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EACL,gBAAgB,EAChB,eAAe,EAGf,cAAc,EAKd,6BAA6B,EAC7B,qBAAqB,EAUrB,qBAAqB,EACrB,sCAAsC,EACtC,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,GAGjB,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import type { SocketState, ChannelState, ChannelEvent as PhoenixChannelEvent, Transport, Vsn } from '../phoenix/types';
2
2
  export type { SocketState, ChannelState, Transport };
3
- export declare const DEFAULT_VERSION = "realtime-js/2.108.3-canary.2";
3
+ export declare const DEFAULT_VERSION = "realtime-js/2.109.0";
4
4
  export declare const VSN_1_0_0: Vsn;
5
5
  export declare const VSN_2_0_0: Vsn;
6
6
  export declare const DEFAULT_VSN: Vsn;
7
- export declare const VERSION = "2.108.3-canary.2";
7
+ export declare const VERSION = "2.109.0";
8
8
  export declare const DEFAULT_TIMEOUT = 10000;
9
9
  export declare const WS_CLOSE_NORMAL = 1000;
10
10
  export declare const MAX_PUSH_BUFFER_SIZE = 100;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,IAAI,mBAAmB,EACnC,SAAS,EACT,GAAG,EACJ,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,CAAA;AAEpD,eAAO,MAAM,eAAe,iCAA2B,CAAA;AAEvD,eAAO,MAAM,SAAS,EAAE,GAAa,CAAA;AACrC,eAAO,MAAM,SAAS,EAAE,GAAa,CAAA;AACrC,eAAO,MAAM,WAAW,EAAE,GAAe,CAAA;AAEzC,eAAO,MAAM,OAAO,qBAAU,CAAA;AAE9B,eAAO,MAAM,eAAe,QAAQ,CAAA;AAEpC,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,eAAO,MAAM,aAAa;;;;;CAKhB,CAAA;AAEV,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,cAAc,CAAA;AAE/D,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAA;AAEV,eAAO,MAAM,UAAU;;CAEb,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE1F,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,IAAI,mBAAmB,EACnC,SAAS,EACT,GAAG,EACJ,MAAM,kBAAkB,CAAA;AAEzB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,CAAA;AAEpD,eAAO,MAAM,eAAe,wBAA2B,CAAA;AAEvD,eAAO,MAAM,SAAS,EAAE,GAAa,CAAA;AACrC,eAAO,MAAM,SAAS,EAAE,GAAa,CAAA;AACrC,eAAO,MAAM,WAAW,EAAE,GAAe,CAAA;AAEzC,eAAO,MAAM,OAAO,YAAU,CAAA;AAE9B,eAAO,MAAM,eAAe,QAAQ,CAAA;AAEpC,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,eAAO,MAAM,aAAa;;;;;CAKhB,CAAA;AAEV,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,cAAc,CAAA;AAE/D,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAA;AAEV,eAAO,MAAM,UAAU;;CAEb,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE1F,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "2.108.3-canary.2";
1
+ export declare const version = "2.109.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,qBAAqB,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,YAAY,CAAA"}
@@ -4,5 +4,5 @@
4
4
  // - Debugging and support (identifying which version is running)
5
5
  // - Telemetry and logging (version reporting in errors/analytics)
6
6
  // - Ensuring build artifacts match the published package version
7
- export const version = '2.108.3-canary.2';
7
+ export const version = '2.109.0';
8
8
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,gEAAgE;AAChE,uEAAuE;AACvE,iEAAiE;AACjE,kEAAkE;AAClE,iEAAiE;AACjE,MAAM,CAAC,MAAM,OAAO,GAAG,kBAAkB,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,gEAAgE;AAChE,uEAAuE;AACvE,iEAAiE;AACjE,kEAAkE;AAClE,iEAAiE;AACjE,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA"}