@instantdb/platform 0.22.96-experimental.drewh-ts-target.20761590091.1 → 0.22.96-experimental.surgical.20765817844.1

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 (69) hide show
  1. package/.turbo/turbo-build.log +9 -9
  2. package/dist/commonjs/ProgressPromise.js +58 -45
  3. package/dist/commonjs/ProgressPromise.js.map +1 -1
  4. package/dist/commonjs/api.js +412 -366
  5. package/dist/commonjs/api.js.map +1 -1
  6. package/dist/commonjs/index.d.ts +1 -0
  7. package/dist/commonjs/index.d.ts.map +1 -1
  8. package/dist/commonjs/index.js +9 -1
  9. package/dist/commonjs/index.js.map +1 -1
  10. package/dist/commonjs/migrationUtils.js +4 -16
  11. package/dist/commonjs/migrationUtils.js.map +1 -1
  12. package/dist/commonjs/migrations.js +21 -10
  13. package/dist/commonjs/migrations.js.map +1 -1
  14. package/dist/commonjs/oauth.js +55 -52
  15. package/dist/commonjs/oauth.js.map +1 -1
  16. package/dist/commonjs/oauthCommon.js +0 -2
  17. package/dist/commonjs/oauthCommon.js.map +1 -1
  18. package/dist/commonjs/perms.js +1 -1
  19. package/dist/commonjs/perms.js.map +1 -1
  20. package/dist/commonjs/schema.d.ts.map +1 -1
  21. package/dist/commonjs/schema.js +24 -20
  22. package/dist/commonjs/schema.js.map +1 -1
  23. package/dist/commonjs/schemaCodegen.d.ts +37 -0
  24. package/dist/commonjs/schemaCodegen.d.ts.map +1 -0
  25. package/dist/commonjs/schemaCodegen.js +112 -0
  26. package/dist/commonjs/schemaCodegen.js.map +1 -0
  27. package/dist/commonjs/serverOAuth.js +68 -55
  28. package/dist/commonjs/serverOAuth.js.map +1 -1
  29. package/dist/commonjs/typescript-schema.js +2 -1
  30. package/dist/commonjs/typescript-schema.js.map +1 -1
  31. package/dist/commonjs/util.js +1 -1
  32. package/dist/commonjs/util.js.map +1 -1
  33. package/dist/esm/ProgressPromise.js +58 -45
  34. package/dist/esm/ProgressPromise.js.map +1 -1
  35. package/dist/esm/api.js +412 -366
  36. package/dist/esm/api.js.map +1 -1
  37. package/dist/esm/index.d.ts +1 -0
  38. package/dist/esm/index.d.ts.map +1 -1
  39. package/dist/esm/index.js +1 -0
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/migrationUtils.js +4 -16
  42. package/dist/esm/migrationUtils.js.map +1 -1
  43. package/dist/esm/migrations.js +21 -10
  44. package/dist/esm/migrations.js.map +1 -1
  45. package/dist/esm/oauth.js +55 -52
  46. package/dist/esm/oauth.js.map +1 -1
  47. package/dist/esm/oauthCommon.js +0 -2
  48. package/dist/esm/oauthCommon.js.map +1 -1
  49. package/dist/esm/perms.js +1 -1
  50. package/dist/esm/perms.js.map +1 -1
  51. package/dist/esm/schema.d.ts.map +1 -1
  52. package/dist/esm/schema.js +25 -21
  53. package/dist/esm/schema.js.map +1 -1
  54. package/dist/esm/schemaCodegen.d.ts +37 -0
  55. package/dist/esm/schemaCodegen.d.ts.map +1 -0
  56. package/dist/esm/schemaCodegen.js +103 -0
  57. package/dist/esm/schemaCodegen.js.map +1 -0
  58. package/dist/esm/serverOAuth.js +68 -55
  59. package/dist/esm/serverOAuth.js.map +1 -1
  60. package/dist/esm/typescript-schema.js +2 -1
  61. package/dist/esm/typescript-schema.js.map +1 -1
  62. package/dist/esm/util.js +1 -1
  63. package/dist/esm/util.js.map +1 -1
  64. package/dist/standalone/index.js +1401 -1342
  65. package/dist/standalone/index.umd.cjs +32 -25
  66. package/package.json +3 -3
  67. package/src/index.ts +10 -0
  68. package/src/schema.ts +16 -24
  69. package/src/schemaCodegen.ts +183 -0
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttrsDefs,\n CardinalityKind,\n EntityDef,\n InstantDBAttr,\n InstantDBCheckedDataType,\n InstantDBInferredType,\n InstantSchemaDef,\n LinksDef,\n RoomsDef,\n} from '@instantdb/core';\n\nexport function sortedEntries<T>(o: Record<string, T>): [string, T][] {\n return Object.entries(o).sort(([a], [b]) => a.localeCompare(b));\n}\n\nexport function capitalizeFirstLetter(string: string): string {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport const rels: Record<string, CardinalityKind[]> = {\n 'many-false': ['many', 'many'],\n 'one-true': ['one', 'one'],\n 'many-true': ['many', 'one'],\n 'one-false': ['one', 'many'],\n};\n\nexport function indentLines(s: string, n = 2) {\n if (!s) {\n return s;\n }\n const space = ' '.repeat(n);\n return s\n .split('\\n')\n .map((l) => `${space}${l}`)\n .join('\\n');\n}\n\nexport function joinWithTrailingSep(\n arr: string[],\n sep: string,\n trailingSep: string = sep,\n): string {\n const s = arr.join(sep);\n if (arr.length) {\n return s + trailingSep;\n }\n return s;\n}\n\nexport function inferredType(attr: InstantDBAttr) {\n if (attr.catalog === 'system') {\n return null;\n }\n\n const inferredList = attr['inferred-types'];\n const hasJustOne = inferredList?.length === 1;\n\n if (!hasJustOne) {\n return null;\n }\n\n return inferredList[0];\n}\n\nexport function deriveClientType(\n attr: InstantDBAttr,\n disableTypeInference?: boolean,\n): {\n type: InstantDBCheckedDataType | InstantDBInferredType | 'any';\n origin: 'checked' | 'inferred' | 'unknown';\n} {\n if (attr['checked-data-type']) {\n return { type: attr['checked-data-type'], origin: 'checked' };\n }\n\n const inferred = inferredType(attr);\n\n if (inferred && !disableTypeInference) {\n return { type: inferred, origin: 'inferred' };\n }\n\n return { type: 'any', origin: 'unknown' };\n}\n\nexport function formatKey(key: string) {\n return `\"${key}\"`;\n // It would be nice to generate unquoted keys, but we use JSON.stringify\n // for some things so we can't be consistent with it unless we write our own\n // stringify function. If we do, here's the code for formatting keys:\n // if (/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key)) {\n // return key;\n // }\n // return `\"${key}\"`;\n}\n\nexport type GenericSchemaDef = InstantSchemaDef<\n Record<string, EntityDef<AttrsDefs, any, any>>,\n LinksDef<Record<string, EntityDef<AttrsDefs, any, any>>>,\n RoomsDef\n>;\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttrsDefs,\n CardinalityKind,\n EntityDef,\n InstantDBAttr,\n InstantDBCheckedDataType,\n InstantDBInferredType,\n InstantSchemaDef,\n LinksDef,\n RoomsDef,\n} from '@instantdb/core';\n\nexport function sortedEntries<T>(o: Record<string, T>): [string, T][] {\n return Object.entries(o).sort(([a], [b]) => a.localeCompare(b));\n}\n\nexport function capitalizeFirstLetter(string: string): string {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport const rels: Record<string, CardinalityKind[]> = {\n 'many-false': ['many', 'many'],\n 'one-true': ['one', 'one'],\n 'many-true': ['many', 'one'],\n 'one-false': ['one', 'many'],\n};\n\nexport function indentLines(s: string, n = 2) {\n if (!s) {\n return s;\n }\n const space = ' '.repeat(n);\n return s\n .split('\\n')\n .map((l) => `${space}${l}`)\n .join('\\n');\n}\n\nexport function joinWithTrailingSep(\n arr: string[],\n sep: string,\n trailingSep: string = sep,\n): string {\n const s = arr.join(sep);\n if (arr.length) {\n return s + trailingSep;\n }\n return s;\n}\n\nexport function inferredType(attr: InstantDBAttr) {\n if (attr.catalog === 'system') {\n return null;\n }\n\n const inferredList = attr['inferred-types'];\n const hasJustOne = inferredList?.length === 1;\n\n if (!hasJustOne) {\n return null;\n }\n\n return inferredList[0];\n}\n\nexport function deriveClientType(\n attr: InstantDBAttr,\n disableTypeInference?: boolean,\n): {\n type: InstantDBCheckedDataType | InstantDBInferredType | 'any';\n origin: 'checked' | 'inferred' | 'unknown';\n} {\n if (attr['checked-data-type']) {\n return { type: attr['checked-data-type'], origin: 'checked' };\n }\n\n const inferred = inferredType(attr);\n\n if (inferred && !disableTypeInference) {\n return { type: inferred, origin: 'inferred' };\n }\n\n return { type: 'any', origin: 'unknown' };\n}\n\nexport function formatKey(key: string) {\n return `\"${key}\"`;\n // It would be nice to generate unquoted keys, but we use JSON.stringify\n // for some things so we can't be consistent with it unless we write our own\n // stringify function. If we do, here's the code for formatting keys:\n // if (/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key)) {\n // return key;\n // }\n // return `\"${key}\"`;\n}\n\nexport type GenericSchemaDef = InstantSchemaDef<\n Record<string, EntityDef<AttrsDefs, any, any>>,\n LinksDef<Record<string, EntityDef<AttrsDefs, any, any>>>,\n RoomsDef\n>;\n"]}
@@ -1,62 +1,74 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ 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");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ 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");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _ProgressPromise_observers, _ProgressPromise_result, _ProgressPromise_onNext, _ProgressPromise_onError, _ProgressPromise_onComplete;
1
13
  export class ProgressPromise {
2
- #observers = [];
3
- #result = null;
4
14
  constructor(callbackFn) {
5
- callbackFn(this.#onNext, this.#onComplete, this.#onError);
6
- }
7
- #onNext = (status) => {
8
- if (this.#result) {
9
- return;
10
- }
11
- for (const observer of this.#observers) {
12
- try {
13
- observer.next && observer.next(status);
15
+ _ProgressPromise_observers.set(this, []);
16
+ _ProgressPromise_result.set(this, null);
17
+ _ProgressPromise_onNext.set(this, (status) => {
18
+ if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
19
+ return;
14
20
  }
15
- catch (_e) { }
16
- }
17
- };
18
- #onError = (error) => {
19
- if (this.#result) {
20
- return;
21
- }
22
- this.#result = { type: 'error', error };
23
- for (const observer of this.#observers) {
24
- try {
25
- observer.error && observer.error(error);
21
+ for (const observer of __classPrivateFieldGet(this, _ProgressPromise_observers, "f")) {
22
+ try {
23
+ observer.next && observer.next(status);
24
+ }
25
+ catch (_e) { }
26
26
  }
27
- catch (_e) { }
28
- }
29
- this.#observers = [];
30
- };
31
- #onComplete = (result) => {
32
- if (this.#result) {
33
- return;
34
- }
35
- this.#result = { type: 'complete', result };
36
- for (const observer of this.#observers) {
37
- try {
38
- observer.complete && observer.complete(result);
27
+ });
28
+ _ProgressPromise_onError.set(this, (error) => {
29
+ if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
30
+ return;
39
31
  }
40
- catch (_e) { }
41
- }
42
- this.#observers = [];
43
- };
32
+ __classPrivateFieldSet(this, _ProgressPromise_result, { type: 'error', error }, "f");
33
+ for (const observer of __classPrivateFieldGet(this, _ProgressPromise_observers, "f")) {
34
+ try {
35
+ observer.error && observer.error(error);
36
+ }
37
+ catch (_e) { }
38
+ }
39
+ __classPrivateFieldSet(this, _ProgressPromise_observers, [], "f");
40
+ });
41
+ _ProgressPromise_onComplete.set(this, (result) => {
42
+ if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
43
+ return;
44
+ }
45
+ __classPrivateFieldSet(this, _ProgressPromise_result, { type: 'complete', result }, "f");
46
+ for (const observer of __classPrivateFieldGet(this, _ProgressPromise_observers, "f")) {
47
+ try {
48
+ observer.complete && observer.complete(result);
49
+ }
50
+ catch (_e) { }
51
+ }
52
+ __classPrivateFieldSet(this, _ProgressPromise_observers, [], "f");
53
+ });
54
+ callbackFn(__classPrivateFieldGet(this, _ProgressPromise_onNext, "f"), __classPrivateFieldGet(this, _ProgressPromise_onComplete, "f"), __classPrivateFieldGet(this, _ProgressPromise_onError, "f"));
55
+ }
44
56
  subscribe(observer) {
45
- if (this.#result) {
57
+ if (__classPrivateFieldGet(this, _ProgressPromise_result, "f")) {
46
58
  const ret = { unsubscribe: () => null };
47
- if (this.#result.type === 'error') {
48
- observer.error && observer.error(this.#result.error);
59
+ if (__classPrivateFieldGet(this, _ProgressPromise_result, "f").type === 'error') {
60
+ observer.error && observer.error(__classPrivateFieldGet(this, _ProgressPromise_result, "f").error);
49
61
  return ret;
50
62
  }
51
- else if (this.#result.type === 'complete') {
52
- observer.complete && observer.complete(this.#result.result);
63
+ else if (__classPrivateFieldGet(this, _ProgressPromise_result, "f").type === 'complete') {
64
+ observer.complete && observer.complete(__classPrivateFieldGet(this, _ProgressPromise_result, "f").result);
53
65
  return ret;
54
66
  }
55
67
  }
56
- this.#observers.push(observer);
68
+ __classPrivateFieldGet(this, _ProgressPromise_observers, "f").push(observer);
57
69
  return {
58
70
  unsubscribe: () => {
59
- this.#observers = this.#observers.filter((o) => o !== observer);
71
+ __classPrivateFieldSet(this, _ProgressPromise_observers, __classPrivateFieldGet(this, _ProgressPromise_observers, "f").filter((o) => o !== observer), "f");
60
72
  },
61
73
  };
62
74
  }
@@ -70,4 +82,5 @@ export class ProgressPromise {
70
82
  this.subscribe({ error: () => cb(), complete: () => cb() });
71
83
  }
72
84
  }
85
+ _ProgressPromise_observers = new WeakMap(), _ProgressPromise_result = new WeakMap(), _ProgressPromise_onNext = new WeakMap(), _ProgressPromise_onError = new WeakMap(), _ProgressPromise_onComplete = new WeakMap();
73
86
  //# 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"]}