@instantdb/platform 0.22.99-experimental.add-user-perm-rules.20792844601.1 → 0.22.99

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 (48) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/dist/commonjs/ProgressPromise.js +45 -58
  3. package/dist/commonjs/ProgressPromise.js.map +1 -1
  4. package/dist/commonjs/api.js +366 -412
  5. package/dist/commonjs/api.js.map +1 -1
  6. package/dist/commonjs/migrationUtils.js +16 -4
  7. package/dist/commonjs/migrationUtils.js.map +1 -1
  8. package/dist/commonjs/migrations.js +10 -21
  9. package/dist/commonjs/migrations.js.map +1 -1
  10. package/dist/commonjs/oauth.js +52 -55
  11. package/dist/commonjs/oauth.js.map +1 -1
  12. package/dist/commonjs/oauthCommon.js +2 -0
  13. package/dist/commonjs/oauthCommon.js.map +1 -1
  14. package/dist/commonjs/perms.js +1 -1
  15. package/dist/commonjs/perms.js.map +1 -1
  16. package/dist/commonjs/schema.js +8 -14
  17. package/dist/commonjs/schema.js.map +1 -1
  18. package/dist/commonjs/serverOAuth.js +55 -68
  19. package/dist/commonjs/serverOAuth.js.map +1 -1
  20. package/dist/commonjs/typescript-schema.js +1 -2
  21. package/dist/commonjs/typescript-schema.js.map +1 -1
  22. package/dist/commonjs/util.js +1 -1
  23. package/dist/commonjs/util.js.map +1 -1
  24. package/dist/esm/ProgressPromise.js +45 -58
  25. package/dist/esm/ProgressPromise.js.map +1 -1
  26. package/dist/esm/api.js +366 -412
  27. package/dist/esm/api.js.map +1 -1
  28. package/dist/esm/migrationUtils.js +16 -4
  29. package/dist/esm/migrationUtils.js.map +1 -1
  30. package/dist/esm/migrations.js +10 -21
  31. package/dist/esm/migrations.js.map +1 -1
  32. package/dist/esm/oauth.js +52 -55
  33. package/dist/esm/oauth.js.map +1 -1
  34. package/dist/esm/oauthCommon.js +2 -0
  35. package/dist/esm/oauthCommon.js.map +1 -1
  36. package/dist/esm/perms.js +1 -1
  37. package/dist/esm/perms.js.map +1 -1
  38. package/dist/esm/schema.js +8 -14
  39. package/dist/esm/schema.js.map +1 -1
  40. package/dist/esm/serverOAuth.js +55 -68
  41. package/dist/esm/serverOAuth.js.map +1 -1
  42. package/dist/esm/typescript-schema.js +1 -2
  43. package/dist/esm/typescript-schema.js.map +1 -1
  44. package/dist/esm/util.js +1 -1
  45. package/dist/esm/util.js.map +1 -1
  46. package/dist/standalone/index.js +690 -660
  47. package/dist/standalone/index.umd.cjs +16 -16
  48. package/package.json +3 -3
@@ -1,17 +1,17 @@
1
1
 
2
- > @instantdb/platform@0.22.99-experimental.add-user-perm-rules.20792844601.1 build /home/runner/work/instant/instant/client/packages/platform
2
+ > @instantdb/platform@0.22.99 build /home/runner/work/instant/instant/client/packages/platform
3
3
  > rm -rf dist; npm run build:tshy && npm run build:standalone && npm run check-exports
4
4
 
5
5
  npm warn Unknown env config "verify-deps-before-run". This will stop working in the next major version of npm.
6
6
  npm warn Unknown user config "always-auth". This will stop working in the next major version of npm.
7
7
 
8
- > @instantdb/platform@0.22.99-experimental.add-user-perm-rules.20792844601.1 build:tshy
8
+ > @instantdb/platform@0.22.99 build:tshy
9
9
  > tshy
10
10
 
11
11
  npm warn Unknown env config "verify-deps-before-run". This will stop working in the next major version of npm.
12
12
  npm warn Unknown user config "always-auth". This will stop working in the next major version of npm.
13
13
 
14
- > @instantdb/platform@0.22.99-experimental.add-user-perm-rules.20792844601.1 build:standalone
14
+ > @instantdb/platform@0.22.99 build:standalone
15
15
  > vite build
16
16
 
17
17
  vite v5.4.14 building for production...
@@ -19,17 +19,17 @@ transforming...
19
19
  ✓ 78 modules transformed.
20
20
  rendering chunks...
21
21
  computing gzip size...
22
- dist/standalone/index.umd.cjs 350.79 kB │ gzip: 95.28 kB
23
- dist/standalone/index.js 457.16 kB │ gzip: 107.14 kB
24
- ✓ built in 2.14s
22
+ dist/standalone/index.umd.cjs 350.81 kB │ gzip: 95.26 kB
23
+ dist/standalone/index.js 457.48 kB │ gzip: 107.25 kB
24
+ ✓ built in 2.11s
25
25
  npm warn Unknown env config "verify-deps-before-run". This will stop working in the next major version of npm.
26
26
  npm warn Unknown user config "always-auth". This will stop working in the next major version of npm.
27
27
 
28
- > @instantdb/platform@0.22.99-experimental.add-user-perm-rules.20792844601.1 check-exports
28
+ > @instantdb/platform@0.22.99 check-exports
29
29
  > attw --pack .
30
30
 
31
31
 
32
- @instantdb/platform v0.22.99-experimental.add-user-perm-rules.20792844601.1
32
+ @instantdb/platform v0.22.99
33
33
 
34
34
  Build tools:
35
35
  - @arethetypeswrong/cli@^0.17.4
@@ -1,77 +1,65 @@
1
1
  "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _ProgressPromise_observers, _ProgressPromise_result, _ProgressPromise_onNext, _ProgressPromise_onError, _ProgressPromise_onComplete;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.ProgressPromise = void 0;
16
4
  class ProgressPromise {
5
+ #observers = [];
6
+ #result = null;
17
7
  constructor(callbackFn) {
18
- _ProgressPromise_observers.set(this, []);
19
- _ProgressPromise_result.set(this, null);
20
- _ProgressPromise_onNext.set(this, (status) => {
21
- if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
22
- return;
23
- }
24
- for (const observer of __classPrivateFieldGet(this, _ProgressPromise_observers, "f")) {
25
- try {
26
- observer.next && observer.next(status);
27
- }
28
- catch (_e) { }
29
- }
30
- });
31
- _ProgressPromise_onError.set(this, (error) => {
32
- if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
33
- return;
34
- }
35
- __classPrivateFieldSet(this, _ProgressPromise_result, { type: 'error', error }, "f");
36
- for (const observer of __classPrivateFieldGet(this, _ProgressPromise_observers, "f")) {
37
- try {
38
- observer.error && observer.error(error);
39
- }
40
- catch (_e) { }
8
+ callbackFn(this.#onNext, this.#onComplete, this.#onError);
9
+ }
10
+ #onNext = (status) => {
11
+ if (this.#result) {
12
+ return;
13
+ }
14
+ for (const observer of this.#observers) {
15
+ try {
16
+ observer.next && observer.next(status);
41
17
  }
42
- __classPrivateFieldSet(this, _ProgressPromise_observers, [], "f");
43
- });
44
- _ProgressPromise_onComplete.set(this, (result) => {
45
- if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
46
- return;
18
+ catch (_e) { }
19
+ }
20
+ };
21
+ #onError = (error) => {
22
+ if (this.#result) {
23
+ return;
24
+ }
25
+ this.#result = { type: 'error', error };
26
+ for (const observer of this.#observers) {
27
+ try {
28
+ observer.error && observer.error(error);
47
29
  }
48
- __classPrivateFieldSet(this, _ProgressPromise_result, { type: 'complete', result }, "f");
49
- for (const observer of __classPrivateFieldGet(this, _ProgressPromise_observers, "f")) {
50
- try {
51
- observer.complete && observer.complete(result);
52
- }
53
- catch (_e) { }
30
+ catch (_e) { }
31
+ }
32
+ this.#observers = [];
33
+ };
34
+ #onComplete = (result) => {
35
+ if (this.#result) {
36
+ return;
37
+ }
38
+ this.#result = { type: 'complete', result };
39
+ for (const observer of this.#observers) {
40
+ try {
41
+ observer.complete && observer.complete(result);
54
42
  }
55
- __classPrivateFieldSet(this, _ProgressPromise_observers, [], "f");
56
- });
57
- callbackFn(__classPrivateFieldGet(this, _ProgressPromise_onNext, "f"), __classPrivateFieldGet(this, _ProgressPromise_onComplete, "f"), __classPrivateFieldGet(this, _ProgressPromise_onError, "f"));
58
- }
43
+ catch (_e) { }
44
+ }
45
+ this.#observers = [];
46
+ };
59
47
  subscribe(observer) {
60
- if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
48
+ if (this.#result) {
61
49
  const ret = { unsubscribe: () => null };
62
- if (__classPrivateFieldGet(this, _ProgressPromise_result, "f").type === 'error') {
63
- observer.error && observer.error(__classPrivateFieldGet(this, _ProgressPromise_result, "f").error);
50
+ if (this.#result.type === 'error') {
51
+ observer.error && observer.error(this.#result.error);
64
52
  return ret;
65
53
  }
66
- else if (__classPrivateFieldGet(this, _ProgressPromise_result, "f").type === 'complete') {
67
- observer.complete && observer.complete(__classPrivateFieldGet(this, _ProgressPromise_result, "f").result);
54
+ else if (this.#result.type === 'complete') {
55
+ observer.complete && observer.complete(this.#result.result);
68
56
  return ret;
69
57
  }
70
58
  }
71
- __classPrivateFieldGet(this, _ProgressPromise_observers, "f").push(observer);
59
+ this.#observers.push(observer);
72
60
  return {
73
61
  unsubscribe: () => {
74
- __classPrivateFieldSet(this, _ProgressPromise_observers, __classPrivateFieldGet(this, _ProgressPromise_observers, "f").filter((o) => o !== observer), "f");
62
+ this.#observers = this.#observers.filter((o) => o !== observer);
75
63
  },
76
64
  };
77
65
  }
@@ -86,5 +74,4 @@ class ProgressPromise {
86
74
  }
87
75
  }
88
76
  exports.ProgressPromise = ProgressPromise;
89
- _ProgressPromise_observers = new WeakMap(), _ProgressPromise_result = new WeakMap(), _ProgressPromise_onNext = new WeakMap(), _ProgressPromise_onError = new WeakMap(), _ProgressPromise_onComplete = new WeakMap();
90
77
  //# sourceMappingURL=ProgressPromise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressPromise.js","sourceRoot":"","sources":["../../src/ProgressPromise.ts"],"names":[],"mappings":"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","sourcesContent":["export type ProgressPromiseSubscription = {\n unsubscribe: () => void;\n};\n\nexport type ProgressPromiseObserver<StatusT, ResultT> = {\n next?: (t: StatusT) => void;\n error?: (error: Error) => void;\n complete?: (t: ResultT) => void;\n};\n\nexport type ProgressPromiseConstructor<StatusT, ResultT> = (\n progress: (status: StatusT) => void,\n resolve: (result: ResultT) => void,\n reject: (error: Error) => void,\n) => void;\n\nexport class ProgressPromise<StatusT, ResultT> {\n #observers: ProgressPromiseObserver<StatusT, ResultT>[] = [];\n #result:\n | null\n | { type: 'error'; error: Error }\n | { type: 'complete'; result: ResultT } = null;\n\n constructor(callbackFn: ProgressPromiseConstructor<StatusT, ResultT>) {\n callbackFn(this.#onNext, this.#onComplete, this.#onError);\n }\n\n #onNext = (status: StatusT) => {\n if (this.#result) {\n return;\n }\n for (const observer of this.#observers) {\n try {\n observer.next && observer.next(status);\n } catch (_e) {}\n }\n };\n\n #onError = (error: Error) => {\n if (this.#result) {\n return;\n }\n this.#result = { type: 'error', error };\n for (const observer of this.#observers) {\n try {\n observer.error && observer.error(error);\n } catch (_e) {}\n }\n this.#observers = [];\n };\n\n #onComplete = (result: ResultT) => {\n if (this.#result) {\n return;\n }\n this.#result = { type: 'complete', result };\n for (const observer of this.#observers) {\n try {\n observer.complete && observer.complete(result);\n } catch (_e) {}\n }\n this.#observers = [];\n };\n\n subscribe(\n observer: ProgressPromiseObserver<StatusT, ResultT>,\n ): ProgressPromiseSubscription {\n if (this.#result) {\n const ret = { unsubscribe: () => null };\n if (this.#result.type === 'error') {\n observer.error && observer.error(this.#result.error);\n return ret;\n } else if (this.#result.type === 'complete') {\n observer.complete && observer.complete(this.#result.result);\n return ret;\n }\n }\n this.#observers.push(observer);\n return {\n unsubscribe: () => {\n this.#observers = this.#observers.filter((o) => o !== observer);\n },\n };\n }\n\n then(resolve: (result: ResultT) => void, reject: (error: Error) => void) {\n this.subscribe({ error: reject, complete: resolve });\n }\n\n catch(cb: (error: Error) => void) {\n this.subscribe({ error: cb });\n }\n\n finally(cb: () => void) {\n this.subscribe({ error: () => cb(), complete: () => cb() });\n }\n}\n"]}
1
+ {"version":3,"file":"ProgressPromise.js","sourceRoot":"","sources":["../../src/ProgressPromise.ts"],"names":[],"mappings":"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","sourcesContent":["export type ProgressPromiseSubscription = {\n unsubscribe: () => void;\n};\n\nexport type ProgressPromiseObserver<StatusT, ResultT> = {\n next?: (t: StatusT) => void;\n error?: (error: Error) => void;\n complete?: (t: ResultT) => void;\n};\n\nexport type ProgressPromiseConstructor<StatusT, ResultT> = (\n progress: (status: StatusT) => void,\n resolve: (result: ResultT) => void,\n reject: (error: Error) => void,\n) => void;\n\nexport class ProgressPromise<StatusT, ResultT> {\n #observers: ProgressPromiseObserver<StatusT, ResultT>[] = [];\n #result:\n | null\n | { type: 'error'; error: Error }\n | { type: 'complete'; result: ResultT } = null;\n\n constructor(callbackFn: ProgressPromiseConstructor<StatusT, ResultT>) {\n callbackFn(this.#onNext, this.#onComplete, this.#onError);\n }\n\n #onNext = (status: StatusT) => {\n if (this.#result) {\n return;\n }\n for (const observer of this.#observers) {\n try {\n observer.next && observer.next(status);\n } catch (_e) {}\n }\n };\n\n #onError = (error: Error) => {\n if (this.#result) {\n return;\n }\n this.#result = { type: 'error', error };\n for (const observer of this.#observers) {\n try {\n observer.error && observer.error(error);\n } catch (_e) {}\n }\n this.#observers = [];\n };\n\n #onComplete = (result: ResultT) => {\n if (this.#result) {\n return;\n }\n this.#result = { type: 'complete', result };\n for (const observer of this.#observers) {\n try {\n observer.complete && observer.complete(result);\n } catch (_e) {}\n }\n this.#observers = [];\n };\n\n subscribe(\n observer: ProgressPromiseObserver<StatusT, ResultT>,\n ): ProgressPromiseSubscription {\n if (this.#result) {\n const ret = { unsubscribe: () => null };\n if (this.#result.type === 'error') {\n observer.error && observer.error(this.#result.error);\n return ret;\n } else if (this.#result.type === 'complete') {\n observer.complete && observer.complete(this.#result.result);\n return ret;\n }\n }\n this.#observers.push(observer);\n return {\n unsubscribe: () => {\n this.#observers = this.#observers.filter((o) => o !== observer);\n },\n };\n }\n\n then(resolve: (result: ResultT) => void, reject: (error: Error) => void) {\n this.subscribe({ error: reject, complete: resolve });\n }\n\n catch(cb: (error: Error) => void) {\n this.subscribe({ error: cb });\n }\n\n finally(cb: () => void) {\n this.subscribe({ error: () => cb(), complete: () => cb() });\n }\n}\n"]}