@start9labs/start-sdk 0.4.0-beta.20 → 0.4.0-beta.21

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/base/lib/Effects.d.ts +1 -1
  2. package/base/lib/actions/setupActions.d.ts +3 -4
  3. package/base/lib/actions/setupActions.js +17 -4
  4. package/base/lib/actions/setupActions.js.map +1 -1
  5. package/base/lib/dependencies/setupDependencies.d.ts +1 -3
  6. package/base/lib/dependencies/setupDependencies.js +3 -10
  7. package/base/lib/dependencies/setupDependencies.js.map +1 -1
  8. package/base/lib/index.d.ts +1 -0
  9. package/base/lib/index.js +2 -1
  10. package/base/lib/index.js.map +1 -1
  11. package/base/lib/inits/index.d.ts +2 -0
  12. package/base/lib/inits/index.js +19 -0
  13. package/base/lib/inits/index.js.map +1 -0
  14. package/base/lib/inits/setupInit.d.ts +11 -0
  15. package/base/lib/inits/setupInit.js +69 -0
  16. package/base/lib/inits/setupInit.js.map +1 -0
  17. package/base/lib/inits/setupUninit.d.ts +7 -0
  18. package/base/lib/inits/setupUninit.js +14 -0
  19. package/base/lib/inits/setupUninit.js.map +1 -0
  20. package/base/lib/interfaces/setupInterfaces.d.ts +2 -4
  21. package/base/lib/interfaces/setupInterfaces.js +8 -17
  22. package/base/lib/interfaces/setupInterfaces.js.map +1 -1
  23. package/base/lib/osBindings/MainStatus.d.ts +0 -2
  24. package/base/lib/osBindings/PackageDataEntry.d.ts +1 -2
  25. package/base/lib/types.d.ts +7 -26
  26. package/base/lib/types.js.map +1 -1
  27. package/package/lib/StartSdk.d.ts +48 -40
  28. package/package/lib/StartSdk.js +47 -28
  29. package/package/lib/StartSdk.js.map +1 -1
  30. package/package/lib/backup/Backups.d.ts +4 -2
  31. package/package/lib/backup/Backups.js +8 -3
  32. package/package/lib/backup/Backups.js.map +1 -1
  33. package/package/lib/backup/setupBackups.d.ts +5 -2
  34. package/package/lib/backup/setupBackups.js +6 -4
  35. package/package/lib/backup/setupBackups.js.map +1 -1
  36. package/package/lib/index.d.ts +0 -1
  37. package/package/lib/index.js +1 -4
  38. package/package/lib/index.js.map +1 -1
  39. package/package/lib/inits/index.d.ts +2 -3
  40. package/package/lib/inits/index.js +16 -3
  41. package/package/lib/inits/index.js.map +1 -1
  42. package/package/lib/inits/setupInit.d.ts +7 -12
  43. package/package/lib/inits/setupInit.js +22 -43
  44. package/package/lib/inits/setupInit.js.map +1 -1
  45. package/package/lib/inits/setupUninit.d.ts +7 -0
  46. package/package/lib/inits/setupUninit.js +14 -0
  47. package/package/lib/inits/setupUninit.js.map +1 -0
  48. package/package/lib/mainFn/CommandController.d.ts +3 -6
  49. package/package/lib/mainFn/CommandController.js +6 -12
  50. package/package/lib/mainFn/CommandController.js.map +1 -1
  51. package/package/lib/mainFn/Daemon.d.ts +4 -3
  52. package/package/lib/mainFn/Daemon.js +13 -8
  53. package/package/lib/mainFn/Daemon.js.map +1 -1
  54. package/package/lib/mainFn/Daemons.d.ts +3 -2
  55. package/package/lib/mainFn/Daemons.js.map +1 -1
  56. package/package/lib/mainFn/HealthDaemon.js +5 -8
  57. package/package/lib/mainFn/HealthDaemon.js.map +1 -1
  58. package/package/lib/mainFn/Oneshot.js +5 -2
  59. package/package/lib/mainFn/Oneshot.js.map +1 -1
  60. package/package/lib/test/output.js +297 -386
  61. package/package/lib/test/output.js.map +1 -1
  62. package/package/lib/test/output.sdk.d.ts +51 -389
  63. package/package/lib/util/SubContainer.d.ts +96 -33
  64. package/package/lib/util/SubContainer.js +83 -24
  65. package/package/lib/util/SubContainer.js.map +1 -1
  66. package/package/lib/version/VersionGraph.d.ts +20 -5
  67. package/package/lib/version/VersionGraph.js +85 -18
  68. package/package/lib/version/VersionGraph.js.map +1 -1
  69. package/package.json +1 -1
@@ -141,7 +141,7 @@ export type Effects = {
141
141
  }) => Promise<string>;
142
142
  /** sets the version that this service's data has been migrated to */
143
143
  setDataVersion(options: {
144
- version: string;
144
+ version: string | null;
145
145
  }): Promise<null>;
146
146
  /** returns the version that this service's data has been migrated to */
147
147
  getDataVersion(): Promise<string | null>;
@@ -1,6 +1,7 @@
1
1
  import { InputSpec } from "./input/builder";
2
2
  import { ExtractInputSpecType, ExtractPartialInputSpecType } from "./input/builder/inputSpec";
3
3
  import * as T from "../types";
4
+ import { InitScript } from "../inits";
4
5
  export type Run<A extends Record<string, any> | InputSpec<Record<string, any>>> = (options: {
5
6
  effects: T.Effects;
6
7
  input: ExtractInputSpecType<A>;
@@ -33,15 +34,13 @@ export declare class Action<Id extends T.ActionId, InputSpecType extends Record<
33
34
  input: ExtractInputSpecType<InputSpecType>;
34
35
  }): Promise<T.ActionResult | null>;
35
36
  }
36
- export declare class Actions<AllActions extends Record<T.ActionId, Action<T.ActionId, any>>> {
37
+ export declare class Actions<AllActions extends Record<T.ActionId, Action<T.ActionId, any>>> implements InitScript {
37
38
  private readonly actions;
38
39
  private constructor();
39
40
  static of(): Actions<{}>;
40
41
  addAction<A extends Action<T.ActionId, any>>(action: A): Actions<AllActions & {
41
42
  [id in A["id"]]: A;
42
43
  }>;
43
- update(options: {
44
- effects: T.Effects;
45
- }): Promise<null>;
44
+ init(effects: T.Effects): Promise<void>;
46
45
  get<Id extends T.ActionId>(actionId: Id): AllActions[Id];
47
46
  }
@@ -64,12 +64,25 @@ class Actions {
64
64
  addAction(action) {
65
65
  return new Actions({ ...this.actions, [action.id]: action });
66
66
  }
67
- async update(options) {
67
+ async init(effects) {
68
68
  for (let action of Object.values(this.actions)) {
69
- await action.exportMetadata(options);
69
+ const fn = async () => {
70
+ let res = () => { };
71
+ const complete = new Promise((resolve) => {
72
+ res = resolve;
73
+ });
74
+ const e = effects.child(action.id);
75
+ e.constRetry = (0, util_1.once)(() => complete.then(() => fn()).catch(console.error));
76
+ try {
77
+ await action.exportMetadata({ effects: e });
78
+ }
79
+ finally {
80
+ res();
81
+ }
82
+ };
83
+ await fn();
70
84
  }
71
- await options.effects.action.clear({ except: Object.keys(this.actions) });
72
- return null;
85
+ await effects.action.clear({ except: Object.keys(this.actions) });
73
86
  }
74
87
  get(actionId) {
75
88
  return this.actions[actionId];
@@ -1 +1 @@
1
- {"version":3,"file":"setupActions.js","sourceRoot":"","sources":["../../../../base/lib/actions/setupActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupActions.js","sourceRoot":"","sources":["../../../../base/lib/actions/setupActions.ts"],"names":[],"mappings":";;;AAMA,kCAA8B;AAgB9B,SAAS,WAAW,CAClB,OAAmB,EACnB,OAA+B;IAE/B,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;AACH,CAAC;AACD,SAAS,UAAU,CACjB,OAAmB,EACnB,GAAoB;IAEpB,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;AACH,CAAC;AAED,MAAa,MAAM;IAIjB,YACW,EAAM,EACE,UAAqC,EACrC,SAAwB,EACxB,UAAmC,EACnC,KAAyB;QAJjC,OAAE,GAAF,EAAE,CAAI;QACE,eAAU,GAAV,UAAU,CAA2B;QACrC,cAAS,GAAT,SAAS,CAAe;QACxB,eAAU,GAAV,UAAU,CAAyB;QACnC,UAAK,GAAL,KAAK,CAAoB;IACzC,CAAC;IACJ,MAAM,CAAC,SAAS,CAId,EAAM,EACN,QAAqD,EACrD,SAAwB,EACxB,QAAiC,EACjC,GAAuB;QAEvB,OAAO,IAAI,MAAM,CACf,EAAE,EACF,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EACvD,SAAS,EACT,QAAQ,EACR,GAAG,CACJ,CAAA;IACH,CAAC;IACD,MAAM,CAAC,YAAY,CACjB,EAAM,EACN,QAAqD,EACrD,GAAY;QAEZ,OAAO,IAAI,MAAM,CACf,EAAE,EACF,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EACxD,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,IAAI,EAChB,GAAG,CACJ,CAAA;IACH,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,OAEpB;QACC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACrE,YAAY,CAAC,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;YAClD,OAAO,EAAE,YAAY;SACtB,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9D,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,OAA+B;QAC5C,OAAO;YACL,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YACzC,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI;SAChD,CAAA;IACH,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,OAGT;QACC,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAA;IAC5C,CAAC;CACF;AAnED,wBAmEC;AAED,MAAa,OAAO;IAIlB,YAAqC,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IAC5D,MAAM,CAAC,EAAE;QACP,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;IACD,SAAS,CACP,MAAS;QAET,OAAO,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAkB;QAC3B,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;gBACpB,IAAI,GAAG,GAAgC,GAAG,EAAE,GAAE,CAAC,CAAA;gBAC/C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACvC,GAAG,GAAG,OAAO,CAAA;gBACf,CAAC,CAAC,CAAA;gBACF,MAAM,CAAC,GAAc,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC7C,CAAC,CAAC,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC/C,CAAA;gBACD,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;gBAC7C,CAAC;wBAAS,CAAC;oBACT,GAAG,EAAE,CAAA;gBACP,CAAC;YACH,CAAC,CAAA;YACD,MAAM,EAAE,EAAE,CAAA;QACZ,CAAC;QACD,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,GAAG,CAAwB,QAAY;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;CACF;AArCD,0BAqCC"}
@@ -18,7 +18,5 @@ export type CurrentDependenciesResult<Manifest extends T.SDKManifest> = {
18
18
  };
19
19
  export declare function setupDependencies<Manifest extends T.SDKManifest>(fn: (options: {
20
20
  effects: T.Effects;
21
- }) => Promise<CurrentDependenciesResult<Manifest>>): (options: {
22
- effects: T.Effects;
23
- }) => Promise<null>;
21
+ }) => Promise<CurrentDependenciesResult<Manifest>>): (effects: T.Effects) => Promise<null>;
24
22
  export {};
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setupDependencies = setupDependencies;
4
- const util_1 = require("../util");
5
4
  const _checkType = null;
6
5
  function setupDependencies(fn) {
7
- const cell = { updater: async (_) => null };
8
- cell.updater = async (options) => {
9
- const childEffects = options.effects.child("setupDependencies");
10
- childEffects.constRetry = (0, util_1.once)(() => {
11
- cell.updater({ effects: options.effects });
12
- });
13
- const dependencyType = await fn({ effects: childEffects });
14
- return await options.effects.setDependencies({
6
+ return async (effects) => {
7
+ const dependencyType = await fn({ effects });
8
+ return await effects.setDependencies({
15
9
  dependencies: Object.entries(dependencyType)
16
10
  .map(([k, v]) => [k, v])
17
11
  .map(([id, { versionRange, ...x }]) => ({
@@ -21,6 +15,5 @@ function setupDependencies(fn) {
21
15
  })),
22
16
  });
23
17
  };
24
- return cell.updater;
25
18
  }
26
19
  //# sourceMappingURL=setupDependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupDependencies.js","sourceRoot":"","sources":["../../../../base/lib/dependencies/setupDependencies.ts"],"names":[],"mappings":";;AAmCA,8CA2BC;AA7DD,kCAA8B;AAuB9B,MAAM,UAAU,GAGZ,IAAI,CAAA;AAQR,SAAgB,iBAAiB,CAC/B,EAEkD;IAElD,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAyB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACnE,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAA+B,EAAE,EAAE;QACvD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAC/D,YAAY,CAAC,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;QAC1D,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;YAC3C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;iBACzC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAA0B,CAAU,CAAC;iBACzD,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/B,CAAC;gBACC,EAAE;gBACF,GAAG,CAAC;gBACJ,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;aACtC,CAA4B,CAChC;SACJ,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"setupDependencies.js","sourceRoot":"","sources":["../../../../base/lib/dependencies/setupDependencies.ts"],"names":[],"mappings":";;AAmCA,8CAoBC;AA/BD,MAAM,UAAU,GAGZ,IAAI,CAAA;AAQR,SAAgB,iBAAiB,CAC/B,EAEkD;IAElD,OAAO,KAAK,EAAE,OAAkB,EAAE,EAAE;QAClC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5C,OAAO,MAAM,OAAO,CAAC,eAAe,CAAC;YACnC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;iBACzC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAA0B,CAAU,CAAC;iBACzD,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/B,CAAC;gBACC,EAAE;gBACF,GAAG,CAAC;gBACJ,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;aACtC,CAA4B,CAChC;SACJ,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
@@ -6,5 +6,6 @@ export * as IST from "./actions/input/inputSpecTypes";
6
6
  export * as types from "./types";
7
7
  export * as T from "./types";
8
8
  export * as yaml from "yaml";
9
+ export * as inits from "./inits";
9
10
  export * as matches from "ts-matches";
10
11
  export * as utils from "./util";
package/base/lib/index.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.utils = exports.matches = exports.yaml = exports.T = exports.types = exports.IST = exports.ISB = exports.inputSpec = exports.Version = exports.ExtendedVersion = exports.VersionRange = exports.S9pk = void 0;
36
+ exports.utils = exports.matches = exports.inits = exports.yaml = exports.T = exports.types = exports.IST = exports.ISB = exports.inputSpec = exports.Version = exports.ExtendedVersion = exports.VersionRange = exports.S9pk = void 0;
37
37
  var s9pk_1 = require("./s9pk");
38
38
  Object.defineProperty(exports, "S9pk", { enumerable: true, get: function () { return s9pk_1.S9pk; } });
39
39
  var exver_1 = require("./exver");
@@ -46,6 +46,7 @@ exports.IST = __importStar(require("./actions/input/inputSpecTypes"));
46
46
  exports.types = __importStar(require("./types"));
47
47
  exports.T = __importStar(require("./types"));
48
48
  exports.yaml = __importStar(require("yaml"));
49
+ exports.inits = __importStar(require("./inits"));
49
50
  exports.matches = __importStar(require("ts-matches"));
50
51
  exports.utils = __importStar(require("./util"));
51
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../base/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAAgE;AAAvD,qGAAA,YAAY,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,gGAAA,OAAO,OAAA;AAE/C,6DAA4C;AAC5C,+DAA8C;AAC9C,sEAAqD;AACrD,iDAAgC;AAChC,6CAA4B;AAC5B,6CAA4B;AAC5B,sDAAqC;AAErC,gDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../base/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAAgE;AAAvD,qGAAA,YAAY,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,gGAAA,OAAO,OAAA;AAE/C,6DAA4C;AAC5C,+DAA8C;AAC9C,sEAAqD;AACrD,iDAAgC;AAChC,6CAA4B;AAC5B,6CAA4B;AAC5B,iDAAgC;AAChC,sDAAqC;AAErC,gDAA+B"}
@@ -0,0 +1,2 @@
1
+ export * from "./setupInit";
2
+ export * from "./setupUninit";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./setupInit"), exports);
18
+ __exportStar(require("./setupUninit"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/inits/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,gDAA6B"}
@@ -0,0 +1,11 @@
1
+ import * as T from "../../../base/lib/types";
2
+ export type InitKind = "install" | "update" | "restore" | null;
3
+ export type InitFn<Kind extends InitKind = InitKind> = (effects: T.Effects, kind: Kind) => Promise<void | null | undefined>;
4
+ export interface InitScript<Kind extends InitKind = InitKind> {
5
+ init(effects: T.Effects, kind: Kind): Promise<void>;
6
+ }
7
+ export type InitScriptOrFn<Kind extends InitKind = InitKind> = InitScript<Kind> | InitFn<Kind>;
8
+ export declare function setupInit(...inits: InitScriptOrFn[]): T.ExpectedExports.init;
9
+ export declare function setupPostInstall(postInstall: InitScriptOrFn<"install">): InitScript;
10
+ export declare function setupPostUpdate(postUpdate: InitScriptOrFn<"update">): InitScript;
11
+ export declare function setupPostInstallOrUpdate(postInstallOrUpdate: InitScriptOrFn<"install" | "update">): InitScript;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupInit = setupInit;
4
+ exports.setupPostInstall = setupPostInstall;
5
+ exports.setupPostUpdate = setupPostUpdate;
6
+ exports.setupPostInstallOrUpdate = setupPostInstallOrUpdate;
7
+ const util_1 = require("../util");
8
+ function setupInit(...inits) {
9
+ return async (opts) => {
10
+ for (const idx in inits) {
11
+ const init = inits[idx];
12
+ const fn = async () => {
13
+ let res = () => { };
14
+ const complete = new Promise((resolve) => {
15
+ res = resolve;
16
+ });
17
+ const e = opts.effects.child(`init_${idx}`);
18
+ e.constRetry = (0, util_1.once)(() => complete.then(() => fn()).catch(console.error));
19
+ try {
20
+ if ("init" in init)
21
+ await init.init(e, opts.kind);
22
+ else
23
+ await init(e, opts.kind);
24
+ }
25
+ finally {
26
+ res();
27
+ }
28
+ };
29
+ await fn();
30
+ }
31
+ };
32
+ }
33
+ function setupPostInstall(postInstall) {
34
+ return {
35
+ init: async (effects, kind) => {
36
+ if (kind === "install") {
37
+ if ("init" in postInstall)
38
+ await postInstall.init(effects, kind);
39
+ else
40
+ await postInstall(effects, kind);
41
+ }
42
+ },
43
+ };
44
+ }
45
+ function setupPostUpdate(postUpdate) {
46
+ return {
47
+ init: async (effects, kind) => {
48
+ if (kind === "update") {
49
+ if ("init" in postUpdate)
50
+ await postUpdate.init(effects, kind);
51
+ else
52
+ await postUpdate(effects, kind);
53
+ }
54
+ },
55
+ };
56
+ }
57
+ function setupPostInstallOrUpdate(postInstallOrUpdate) {
58
+ return {
59
+ init: async (effects, kind) => {
60
+ if (kind === "install" || kind === "update") {
61
+ if ("init" in postInstallOrUpdate)
62
+ await postInstallOrUpdate.init(effects, kind);
63
+ else
64
+ await postInstallOrUpdate(effects, kind);
65
+ }
66
+ },
67
+ };
68
+ }
69
+ //# sourceMappingURL=setupInit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupInit.js","sourceRoot":"","sources":["../../../../base/lib/inits/setupInit.ts"],"names":[],"mappings":";;AAmBA,8BAuBC;AAED,4CAWC;AAED,0CAWC;AAED,4DAYC;AAhFD,kCAA8B;AAiB9B,SAAgB,SAAS,CAAC,GAAG,KAAuB;IAClD,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;gBACpB,IAAI,GAAG,GAAgC,GAAG,EAAE,GAAE,CAAC,CAAA;gBAC/C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACvC,GAAG,GAAG,OAAO,CAAA;gBACf,CAAC,CAAC,CAAA;gBACF,MAAM,CAAC,GAAc,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;gBACtD,CAAC,CAAC,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAC/C,CAAA;gBACD,IAAI,CAAC;oBACH,IAAI,MAAM,IAAI,IAAI;wBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;;wBAC5C,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/B,CAAC;wBAAS,CAAC;oBACT,GAAG,EAAE,CAAA;gBACP,CAAC;YACH,CAAC,CAAA;YACD,MAAM,EAAE,EAAE,CAAA;QACZ,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,gBAAgB,CAC9B,WAAsC;IAEtC,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,MAAM,IAAI,WAAW;oBAAE,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;;oBAC3D,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAgB,eAAe,CAC7B,UAAoC;IAEpC,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,MAAM,IAAI,UAAU;oBAAE,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;;oBACzD,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAgB,wBAAwB,CACtC,mBAAyD;IAEzD,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5C,IAAI,MAAM,IAAI,mBAAmB;oBAC/B,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;;oBAC1C,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ExtendedVersion, VersionRange } from "../../../base/lib/exver";
2
+ import * as T from "../../../base/lib/types";
3
+ export type UninitFn = (effects: T.Effects, target: VersionRange | ExtendedVersion | null) => Promise<void | null | undefined>;
4
+ export interface UninitScript {
5
+ uninit(effects: T.Effects, target: VersionRange | ExtendedVersion | null): Promise<void>;
6
+ }
7
+ export declare function setupUninit(...uninits: (UninitScript | UninitFn)[]): T.ExpectedExports.uninit;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupUninit = setupUninit;
4
+ function setupUninit(...uninits) {
5
+ return async (opts) => {
6
+ for (const uninit of uninits) {
7
+ if ("uninit" in uninit)
8
+ await uninit.uninit(opts.effects, opts.target);
9
+ else
10
+ await uninit(opts.effects, opts.target);
11
+ }
12
+ };
13
+ }
14
+ //# sourceMappingURL=setupUninit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupUninit.js","sourceRoot":"","sources":["../../../../base/lib/inits/setupUninit.ts"],"names":[],"mappings":";;AAeA,kCASC;AATD,SAAgB,WAAW,CACzB,GAAG,OAAoC;IAEvC,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,QAAQ,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;;gBACjE,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -8,10 +8,8 @@ export type ServiceInterfacesReceipt = Array<T.AddressInfo[] & AddressReceipt>;
8
8
  export type SetServiceInterfaces<Output extends ServiceInterfacesReceipt> = (opts: {
9
9
  effects: T.Effects;
10
10
  }) => Promise<Output>;
11
- export type UpdateServiceInterfaces<Output extends ServiceInterfacesReceipt> = (opts: {
12
- effects: T.Effects;
13
- }) => Promise<Output & UpdateServiceInterfacesReceipt>;
14
- export type SetupServiceInterfaces = <Output extends ServiceInterfacesReceipt>(fn: SetServiceInterfaces<Output>) => UpdateServiceInterfaces<Output>;
11
+ export type UpdateServiceInterfaces = (effects: T.Effects) => Promise<null>;
12
+ export type SetupServiceInterfaces = <Output extends ServiceInterfacesReceipt>(fn: SetServiceInterfaces<Output>) => UpdateServiceInterfaces;
15
13
  export declare const NO_INTERFACE_CHANGES: UpdateServiceInterfacesReceipt;
16
14
  export declare const setupServiceInterfaces: SetupServiceInterfaces;
17
15
  export {};
@@ -1,37 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setupServiceInterfaces = exports.NO_INTERFACE_CHANGES = void 0;
4
- const util_1 = require("../util");
5
4
  exports.NO_INTERFACE_CHANGES = {};
6
5
  const setupServiceInterfaces = (fn) => {
7
- const cell = {
8
- updater: (async (options) => []),
9
- };
10
- cell.updater = (async (options) => {
11
- const childEffects = options.effects.child("setupInterfaces");
12
- childEffects.constRetry = (0, util_1.once)(() => {
13
- cell.updater({ effects: options.effects });
14
- });
6
+ return (async (effects) => {
15
7
  const bindings = [];
16
8
  const interfaces = [];
17
- const res = await fn({
9
+ await fn({
18
10
  effects: {
19
- ...childEffects,
11
+ ...effects,
20
12
  bind: (params) => {
21
13
  bindings.push({ id: params.id, internalPort: params.internalPort });
22
- return childEffects.bind(params);
14
+ return effects.bind(params);
23
15
  },
24
16
  exportServiceInterface: (params) => {
25
17
  interfaces.push(params.id);
26
- return childEffects.exportServiceInterface(params);
18
+ return effects.exportServiceInterface(params);
27
19
  },
28
20
  },
29
21
  });
30
- await options.effects.clearBindings({ except: bindings });
31
- await options.effects.clearServiceInterfaces({ except: interfaces });
32
- return res;
22
+ await effects.clearBindings({ except: bindings });
23
+ await effects.clearServiceInterfaces({ except: interfaces });
24
+ return null;
33
25
  });
34
- return cell.updater;
35
26
  };
36
27
  exports.setupServiceInterfaces = setupServiceInterfaces;
37
28
  //# sourceMappingURL=setupInterfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/setupInterfaces.ts"],"names":[],"mappings":";;;AACA,kCAA8B;AAkBjB,QAAA,oBAAoB,GAAG,EAAoC,CAAA;AACjE,MAAM,sBAAsB,GAA2B,CAG5D,EAAgC,EAChC,EAAE;IACF,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,CAAC,KAAK,EAAE,OAA+B,EAAE,EAAE,CAClD,EAAmB,CAAoC;KAC1D,CAAA;IACD,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,OAA+B,EAAE,EAAE;QACxD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC7D,YAAY,CAAC,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAe,EAAE,CAAA;QAC/B,MAAM,UAAU,GAA2B,EAAE,CAAA;QAC7C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;YACnB,OAAO,EAAE;gBACP,GAAG,YAAY;gBACf,IAAI,EAAE,CAAC,MAAoB,EAAE,EAAE;oBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;oBACnE,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAClC,CAAC;gBACD,sBAAsB,EAAE,CAAC,MAAsC,EAAE,EAAE;oBACjE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAC1B,OAAO,YAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;gBACpD,CAAC;aACF;SACF,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzD,MAAM,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,OAAO,GAAG,CAAA;IACZ,CAAC,CAAoC,CAAA;IACrC,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC,CAAA;AAlCY,QAAA,sBAAsB,0BAkClC"}
1
+ {"version":3,"file":"setupInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/interfaces/setupInterfaces.ts"],"names":[],"mappings":";;;AAgBa,QAAA,oBAAoB,GAAG,EAAoC,CAAA;AACjE,MAAM,sBAAsB,GAA2B,CAG5D,EAAgC,EAChC,EAAE;IACF,OAAO,CAAC,KAAK,EAAE,OAAkB,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAe,EAAE,CAAA;QAC/B,MAAM,UAAU,GAA2B,EAAE,CAAA;QAC7C,MAAM,EAAE,CAAC;YACP,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,IAAI,EAAE,CAAC,MAAoB,EAAE,EAAE;oBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;oBACnE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,sBAAsB,EAAE,CAAC,MAAsC,EAAE,EAAE;oBACjE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAC1B,OAAO,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;gBAC/C,CAAC;aACF;SACF,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjD,MAAM,OAAO,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC,CAA4B,CAAA;AAC/B,CAAC,CAAA;AAzBY,QAAA,sBAAsB,0BAyBlC"}
@@ -10,8 +10,6 @@ export type MainStatus = {
10
10
  main: "stopped";
11
11
  } | {
12
12
  main: "restarting";
13
- } | {
14
- main: "restoring";
15
13
  } | {
16
14
  main: "stopping";
17
15
  } | {
@@ -8,10 +8,9 @@ import type { MainStatus } from "./MainStatus";
8
8
  import type { PackageState } from "./PackageState";
9
9
  import type { ServiceInterface } from "./ServiceInterface";
10
10
  import type { ServiceInterfaceId } from "./ServiceInterfaceId";
11
- import type { Version } from "./Version";
12
11
  export type PackageDataEntry = {
13
12
  stateInfo: PackageState;
14
- dataVersion: Version | null;
13
+ dataVersion: string | null;
15
14
  status: MainStatus;
16
15
  registry: string | null;
17
16
  developerKey: string;
@@ -3,6 +3,7 @@ import { DependencyRequirement, NamedHealthCheckResult, Manifest, ServiceInterfa
3
3
  import { StringObject, ToKebab } from "./util";
4
4
  import { Action, Actions } from "./actions/setupActions";
5
5
  import { Effects } from "./Effects";
6
+ import { ExtendedVersion, VersionRange } from "./exver";
6
7
  export { Effects };
7
8
  export * from "./osBindings";
8
9
  export { SDKManifest } from "./types/ManifestTypes";
@@ -27,10 +28,6 @@ export declare namespace ExpectedExports {
27
28
  type createBackup = (options: {
28
29
  effects: Effects;
29
30
  }) => Promise<unknown>;
30
- /** For restoring service data that was previously backed up using the startOS UI create backup flow. Backup restores are also triggered via the startOS UI, or doing a system restore flow during setup. */
31
- type restoreBackup = (options: {
32
- effects: Effects;
33
- }) => Promise<unknown>;
34
31
  /**
35
32
  * This is the entrypoint for the main container. Used to start up something like the service that the
36
33
  * package represents, like running a bitcoind in a bitcoind-wrapper.
@@ -39,45 +36,29 @@ export declare namespace ExpectedExports {
39
36
  effects: Effects;
40
37
  started(onTerm: () => PromiseLike<void>): PromiseLike<null>;
41
38
  }) => Promise<DaemonBuildable>;
42
- /**
43
- * After a shutdown, if we wanted to do any operations to clean up things, like
44
- * set the action as unavailable or something.
45
- */
46
- type afterShutdown = (options: {
47
- effects: Effects;
48
- }) => Promise<unknown>;
49
39
  /**
50
40
  * Every time a service launches (both on startup, and on install) this function is called before packageInit
51
41
  * Can be used to register callbacks
52
42
  */
53
- type containerInit = (options: {
54
- effects: Effects;
55
- }) => Promise<unknown>;
56
- /**
57
- * Every time a package completes an install, this function is called before the main.
58
- * Can be used to do migration like things.
59
- */
60
- type packageInit = (options: {
43
+ type init = (options: {
61
44
  effects: Effects;
45
+ kind: "install" | "update" | "restore" | null;
62
46
  }) => Promise<unknown>;
63
47
  /** This will be ran during any time a package is uninstalled, for example during a update
64
48
  * this will be called.
65
49
  */
66
- type packageUninit = (options: {
50
+ type uninit = (options: {
67
51
  effects: Effects;
68
- nextVersion: null | string;
52
+ target: ExtendedVersion | VersionRange | null;
69
53
  }) => Promise<unknown>;
70
54
  type manifest = Manifest;
71
55
  type actions = Actions<Record<ActionId, Action<ActionId, any>>>;
72
56
  }
73
57
  export type ABI = {
74
58
  createBackup: ExpectedExports.createBackup;
75
- restoreBackup: ExpectedExports.restoreBackup;
76
59
  main: ExpectedExports.main;
77
- afterShutdown: ExpectedExports.afterShutdown;
78
- containerInit: ExpectedExports.containerInit;
79
- packageInit: ExpectedExports.packageInit;
80
- packageUninit: ExpectedExports.packageUninit;
60
+ init: ExpectedExports.init;
61
+ uninit: ExpectedExports.uninit;
81
62
  manifest: ExpectedExports.manifest;
82
63
  actions: ExpectedExports.actions;
83
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../base/lib/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6MA,4BAEC;AAMD,4BAEC;AAvND,iFAAgE;AAahE,+CAA4B;AAgBf,QAAA,OAAO,GAAY,SAAS,CAAA;AAC5B,QAAA,OAAO,GAAY,SAAS,CAAA;AAC5B,QAAA,UAAU,GAAG,CAAC,CAAC,CAAA;AAI5B,IAAiB,eAAe,CAmD/B;AAnDD,WAAiB,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAA;AAkDZ,CAAC,EAnDgB,eAAe,+BAAf,eAAe,QAmD/B;AAkCD,MAAa,aAAa;IACxB,YAAqB,UAAqB;QAArB,eAAU,GAAV,UAAU,CAAW;IAAG,CAAC;CAC/C;AAFD,sCAEC;AAmFD,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC;AAMD,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../base/lib/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0LA,4BAEC;AAMD,4BAEC;AApMD,iFAAgE;AAchE,+CAA4B;AAgBf,QAAA,OAAO,GAAY,SAAS,CAAA;AAC5B,QAAA,OAAO,GAAY,SAAS,CAAA;AAC5B,QAAA,UAAU,GAAG,CAAC,CAAC,CAAA;AAI5B,IAAiB,eAAe,CAkC/B;AAlCD,WAAiB,eAAe;IAC9B,OAAO,EAAE,CAAC,CAAA;AAiCZ,CAAC,EAlCgB,eAAe,+BAAf,eAAe,QAkC/B;AA+BD,MAAa,aAAa;IACxB,YAAqB,UAAqB;QAArB,eAAU,GAAV,UAAU,CAAW;IAAG,CAAC;CAC/C;AAFD,sCAEC;AAmFD,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC;AAMD,SAAgB,QAAQ,CAAI,KAAQ;IAClC,OAAO,KAAK,CAAA;AACd,CAAC"}