@ibgib/node-gib 0.0.2

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 (127) hide show
  1. package/.ibgibignore +30 -0
  2. package/CHANGELOG.md +18 -0
  3. package/README.md +16 -0
  4. package/dist/assumptions.respec.d.mts +2 -0
  5. package/dist/assumptions.respec.d.mts.map +1 -0
  6. package/dist/assumptions.respec.mjs +41 -0
  7. package/dist/assumptions.respec.mjs.map +1 -0
  8. package/dist/common/prompt-functions.d.mts +89 -0
  9. package/dist/common/prompt-functions.d.mts.map +1 -0
  10. package/dist/common/prompt-functions.mjs +418 -0
  11. package/dist/common/prompt-functions.mjs.map +1 -0
  12. package/dist/constants.d.mts +3 -0
  13. package/dist/constants.d.mts.map +1 -0
  14. package/dist/constants.mjs +3 -0
  15. package/dist/constants.mjs.map +1 -0
  16. package/dist/foo.d.mts +2 -0
  17. package/dist/foo.d.mts.map +1 -0
  18. package/dist/foo.mjs +19 -0
  19. package/dist/foo.mjs.map +1 -0
  20. package/dist/helpers.d.mts +2 -0
  21. package/dist/helpers.d.mts.map +1 -0
  22. package/dist/helpers.mjs +3 -0
  23. package/dist/helpers.mjs.map +1 -0
  24. package/dist/respec-gib.node.d.mts +2 -0
  25. package/dist/respec-gib.node.d.mts.map +1 -0
  26. package/dist/respec-gib.node.mjs +213 -0
  27. package/dist/respec-gib.node.mjs.map +1 -0
  28. package/dist/spec-helper.node.respec.d.mts +13 -0
  29. package/dist/spec-helper.node.respec.d.mts.map +1 -0
  30. package/dist/spec-helper.node.respec.mjs +50 -0
  31. package/dist/spec-helper.node.respec.mjs.map +1 -0
  32. package/dist/types.d.mts +2 -0
  33. package/dist/types.d.mts.map +1 -0
  34. package/dist/types.mjs +2 -0
  35. package/dist/types.mjs.map +1 -0
  36. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.d.mts +35 -0
  37. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.d.mts.map +1 -0
  38. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs +267 -0
  39. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs.map +1 -0
  40. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts +98 -0
  41. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts.map +1 -0
  42. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs +160 -0
  43. package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs.map +1 -0
  44. package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.d.mts +42 -0
  45. package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.d.mts.map +1 -0
  46. package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs +312 -0
  47. package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs.map +1 -0
  48. package/dist/witness/space/node-filesystem-space/node-filesystem-space-types.d.mts +84 -0
  49. package/dist/witness/space/node-filesystem-space/node-filesystem-space-types.d.mts.map +1 -0
  50. package/dist/witness/space/node-filesystem-space/node-filesystem-space-types.mjs +65 -0
  51. package/dist/witness/space/node-filesystem-space/node-filesystem-space-types.mjs.map +1 -0
  52. package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.d.mts +77 -0
  53. package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.d.mts.map +1 -0
  54. package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.mjs +672 -0
  55. package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.mjs.map +1 -0
  56. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-constants.d.mts +5 -0
  57. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-constants.d.mts.map +1 -0
  58. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-constants.mjs +5 -0
  59. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-constants.mjs.map +1 -0
  60. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-types.d.mts +30 -0
  61. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-types.d.mts.map +1 -0
  62. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-types.mjs +38 -0
  63. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-types.mjs.map +1 -0
  64. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.d.mts +64 -0
  65. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.d.mts.map +1 -0
  66. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.mjs +353 -0
  67. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.mjs.map +1 -0
  68. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.d.mts +2 -0
  69. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.d.mts.map +1 -0
  70. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mjs +52 -0
  71. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mjs.map +1 -0
  72. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.d.mts +2 -0
  73. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.d.mts.map +1 -0
  74. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mjs +53 -0
  75. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mjs.map +1 -0
  76. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.d.mts +2 -0
  77. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.d.mts.map +1 -0
  78. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mjs +59 -0
  79. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mjs.map +1 -0
  80. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.d.mts +2 -0
  81. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.d.mts.map +1 -0
  82. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.mjs +55 -0
  83. package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.mjs.map +1 -0
  84. package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.d.mts +2 -0
  85. package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.d.mts.map +1 -0
  86. package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs +67 -0
  87. package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs.map +1 -0
  88. package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.d.mts +2 -0
  89. package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.d.mts.map +1 -0
  90. package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs +67 -0
  91. package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs.map +1 -0
  92. package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.d.mts +2 -0
  93. package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.d.mts.map +1 -0
  94. package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs +68 -0
  95. package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs.map +1 -0
  96. package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.d.mts +2 -0
  97. package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.d.mts.map +1 -0
  98. package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs +69 -0
  99. package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs.map +1 -0
  100. package/generate-version-file.js +29 -0
  101. package/package.json +41 -0
  102. package/src/assumptions.respec.mts +51 -0
  103. package/src/common/prompt-functions.mts +429 -0
  104. package/src/constants.mts +2 -0
  105. package/src/foo.mts +13 -0
  106. package/src/helpers.mts +5 -0
  107. package/src/respec-gib.node.mts +201 -0
  108. package/src/spec-helper.node.respec.mts +50 -0
  109. package/src/types.mts +0 -0
  110. package/src/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mts +290 -0
  111. package/src/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mts +166 -0
  112. package/src/witness/space/node-filesystem-space/node-filesystem-space-helper.mts +298 -0
  113. package/src/witness/space/node-filesystem-space/node-filesystem-space-types.mts +150 -0
  114. package/src/witness/space/node-filesystem-space/node-filesystem-space-v1.mts +672 -0
  115. package/src/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-constants.mts +6 -0
  116. package/src/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-types.mts +68 -0
  117. package/src/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.mts +403 -0
  118. package/src/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mts +68 -0
  119. package/src/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mts +70 -0
  120. package/src/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mts +72 -0
  121. package/src/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.mts +72 -0
  122. package/src/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mts +87 -0
  123. package/src/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mts +88 -0
  124. package/src/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mts +88 -0
  125. package/src/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mts +90 -0
  126. package/tsconfig.json +17 -0
  127. package/tsconfig.test.json +10 -0
package/.ibgibignore ADDED
@@ -0,0 +1,30 @@
1
+ # start any line with ! to make it an include operation instead of exclude
2
+
3
+ # npm
4
+ node_modules
5
+
6
+ # other folders
7
+ dist
8
+ platforms
9
+ plugins
10
+ www
11
+ .git
12
+ published
13
+
14
+
15
+ # common extensions
16
+ regexp js ^.*\.(tmp|tgz|DS_Store|sw[mnpcod]|log)$
17
+ regexp js ^.*\.tmp\.*$
18
+ regexp js ^.*npm-debug\.log\.*$
19
+
20
+ # js/angular/ionic/etc
21
+ regexp js ^.*\.(idea|ionic|sass-cache|sourcemaps|versions|coverage)$
22
+
23
+ # typescript
24
+ regexp js ^.*\.(tsbuildinfo)$
25
+
26
+ # apps/libraries will be in their own branches
27
+ regexp js ^.*forks/.*$
28
+
29
+ # private
30
+ regexp js ^.*\.(secret|private)(\..+)?$
package/CHANGELOG.md ADDED
@@ -0,0 +1,18 @@
1
+ # @ibgib/node-gib changelog
2
+
3
+ _note: as you implement features/fixes/etc., please document them here under the "Working Version" section. These will be moved to a concrete version number during the next publish._
4
+
5
+ ## Working Version
6
+
7
+ ## 0.0.1
8
+ * initial commit
9
+ * working on node-specific code, with the current use case of getting
10
+ sync between node and browser contexts
11
+ * chore: centralized build orchestration
12
+ * migrated build, clean, and test logic to the root `@ibgib/build-gib` orchestrator.
13
+ * pruned legacy `package.json` scripts and archived them in `docs/ARCHIVE_SCRIPTS.md`.
14
+ * updated `prepare:publish` to use the centralized build engine.
15
+ * documented the new **Monorepo Build Policy** in the README.
16
+ * impl: move `Metaspace_Nodespace`/`NodeFilesystemSpace_V1` here
17
+ * creating separate node-specific lib code, pulling out of core-gib
18
+ in anticipation of building server-specific code.
package/README.md ADDED
@@ -0,0 +1,16 @@
1
+ # node-gib
2
+
3
+ :under_construction:
4
+
5
+ ## Build (Monorepo Policy)
6
+
7
+ > [!IMPORTANT]
8
+ > This project is part of a monorepo. Build and development tasks are centralized in the monorepo root via the `@ibgib/build-gib` orchestrator.
9
+
10
+ ### Development & Build
11
+ Run these from the monorepo root:
12
+ * `npm run build:node-gib` - Performs a full clean and build.
13
+ * `npm run test:node-gib` - Runs the full respec-gib test suite for this library.
14
+
15
+ ### Legacy Scripts
16
+ Individual package scripts have been streamlined to avoid redundancy. Previous scripts are archived in `docs/ARCHIVE_SCRIPTS.md` at the monorepo root.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=assumptions.respec.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assumptions.respec.d.mts","sourceRoot":"","sources":["../src/assumptions.respec.mts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { ifWe, iReckon, respecfully } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
2
+ const maam = `[${import.meta.url}]`, sir = maam;
3
+ /**
4
+ * wrapper that uses crypto.subtle under the hood (i.e. doesn't hash using ts-gib)
5
+ *
6
+ * notes:
7
+ *
8
+ * * i did in fact copy this from ts-gib though, but we're testing simply that the
9
+ * context (node/browser/whatever) has this since it's integral to all things ibgib.
10
+ */
11
+ async function cryptoSubtleHash({ s, algorithm = 'SHA-256', }) {
12
+ let { subtle } = globalThis.crypto;
13
+ if (!s) {
14
+ throw new Error(`[${cryptoSubtleHash.name}] s is required`);
15
+ }
16
+ if (!algorithm) {
17
+ throw new Error(`[${cryptoSubtleHash.name}] algorithm is required`);
18
+ }
19
+ try {
20
+ const msgUint8 = new TextEncoder().encode(s);
21
+ const buffer = await subtle.digest(algorithm, msgUint8);
22
+ const asArray = Array.from(new Uint8Array(buffer));
23
+ return asArray.map(b => b.toString(16).padStart(2, '0')).join('');
24
+ }
25
+ catch (e) {
26
+ console.error(e.message ?? e);
27
+ throw e;
28
+ }
29
+ }
30
+ await respecfully(sir, `non-ts-gib isomorphic crypto hashing`, async () => {
31
+ await ifWe(sir, `should digest simple string consistently using crypto.subtle directly `, async () => {
32
+ let h = await cryptoSubtleHash({ s: '42' });
33
+ iReckon(sir, h).asTo('42').isGonnaBe('73475cb40a568e8da8a045ced110137e159f890ac4da883b6b17dc651b3a8049');
34
+ });
35
+ await ifWe(sir, `should digest simple stringified ibgib consistently using crypto.subtle directly `, async () => {
36
+ let ibgib = { ib: 'ib', gib: 'gib' };
37
+ let h = await cryptoSubtleHash({ s: JSON.stringify(ibgib) }); // doesn't use ts-gib but consistent stringifying json is important
38
+ iReckon(sir, h).asTo('ib^gib').isGonnaBe('cbad0694a257358c044611ea1fa88ace71a01a9b8409d2354d0387d8043f7671');
39
+ });
40
+ });
41
+ //# sourceMappingURL=assumptions.respec.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assumptions.respec.mjs","sourceRoot":"","sources":["../src/assumptions.respec.mts"],"names":[],"mappings":"AAAA,OAAO,EACsB,IAAI,EAElB,OAAO,EAAE,WAAW,EAClC,MAAM,kDAAkD,CAAC;AAC1D,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;AAGhD;;;;;;;GAOG;AACH,KAAK,UAAU,gBAAgB,CAAC,EAC5B,CAAC,EACD,SAAS,GAAG,SAAS,GAIxB;IACG,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,CAAC,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,iBAAiB,CAAC,CAAA;IAAC,CAAC;IACvE,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,yBAAyB,CAAC,CAAA;IAAC,CAAC;IACvF,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED,MAAM,WAAW,CAAC,GAAG,EAAE,sCAAsC,EAAE,KAAK,IAAI,EAAE;IAEtE,MAAM,IAAI,CAAC,GAAG,EAAE,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACjG,IAAI,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kEAAkE,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,GAAG,EAAE,mFAAmF,EAAE,KAAK,IAAI,EAAE;QAC5G,IAAI,KAAK,GAAa,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,mEAAmE;QACjI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,kEAAkE,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
2
+ import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
3
+ /**
4
+ * Wrapper for alerting via atow capacitor modals.
5
+ *
6
+ * @returns FUNCTION that alerts (doesn't actually do the alert)
7
+ */
8
+ export declare function getFnAlert(): ({ title, msg }: {
9
+ title: string;
10
+ msg: string;
11
+ }) => Promise<void>;
12
+ /**
13
+ * Wrapper for prompting via atow capacitor modals.
14
+ *
15
+ * @returns FUNCTION that prompts (doesn't actually do the prompt)
16
+ */
17
+ export declare function getFnPrompt(): ({ title, msg }: {
18
+ title: string;
19
+ msg: string;
20
+ }) => Promise<string | null>;
21
+ /**
22
+ * Wrapper for confirming via commandline/terminal prompt.
23
+ *
24
+ * @returns FUNCTION that prompts (doesn't actually do the prompt)
25
+ */
26
+ export declare function getFnConfirm(): ({ title, msg, okButtonTitle, cancelButtonTitle }: {
27
+ title: string;
28
+ msg: string;
29
+ okButtonTitle?: string;
30
+ cancelButtonTitle?: string;
31
+ }) => Promise<boolean>;
32
+ /**
33
+ * Prompts the user for a password using an ionic capacitor (atow) alert
34
+ * controller with an input of type `'password'`.
35
+ *
36
+ *
37
+ *
38
+ * @returns either the password or null if cancelled
39
+ */
40
+ export declare function getFnPromptPassword(): (title: string, msg: string) => Promise<string | null>;
41
+ /**
42
+ * Creates a function with a single `space` arg. This fn when called shows a
43
+ * modal to create an secret ibgib. If the user chooses to save, then the
44
+ * modal will create the secret ibgib, save the transform result in the
45
+ * given `space` (atow this is the local user space), and return the new
46
+ * secret ibgib.
47
+ */
48
+ export declare function getFn_promptCreateSecretIbGib(): (space: IbGibSpaceAny) => Promise<IbGib_V1 | undefined>;
49
+ /**
50
+ * Creates a function with a single `space` arg. This fn when called shows a
51
+ * modal to create an encryption ibgib. If the user chooses to save, then the
52
+ * modal will create the encryption ibgib, save the transform result in the
53
+ * given `space` (atow this is the local user space), and return the new
54
+ * encryption ibgib.
55
+ */
56
+ export declare function getFn_promptCreateEncryptionIbGib(): (space: IbGibSpaceAny) => Promise<IbGib_V1 | undefined>;
57
+ /**
58
+ * Creates a function with a single `space` arg. This fn when called shows a
59
+ * modal to create an outerspace ibgib. If the user chooses to save, then the
60
+ * modal will create the outerspace ibgib, save the transform result in the
61
+ * given `space` (atow this is the local user space), and return the new
62
+ * outerspace ibgib.
63
+ */
64
+ export declare function getFn_promptCreateOuterSpaceIbGib(): (space: IbGibSpaceAny) => Promise<IbGib_V1 | undefined>;
65
+ /**
66
+ * Creates a function with a single `space` arg. This fn when called shows a
67
+ * modal to mutate a pic ibgib. If the user chooses to save, then the modal will
68
+ * perform the mutation, save the transform result in the given `space`, and
69
+ * return the new pic ibgib.
70
+ */
71
+ /**
72
+ * Creates a function with a single `space` arg. This fn when called shows a
73
+ * modal to mutate a comment ibgib. If the user chooses to save, then the modal will
74
+ * perform the mutation, save the transform result in the given `space`, and
75
+ * return the new comment ibgib.
76
+ */
77
+ /**
78
+ * Creates a function with a single `space` arg. This fn when called shows a
79
+ * modal to create a robbot ibgib. If the user chooses to save, then the modal will
80
+ * perform the mutation, save the transform result in the given `space`, and
81
+ * return the new pic ibgib.
82
+ */
83
+ /**
84
+ * Creates a function with a single `space` arg. This fn when called shows a
85
+ * modal to create a app ibgib. If the user chooses to save, then the modal will
86
+ * perform the mutation, save the transform result in the given `space`, and
87
+ * return the new pic ibgib.
88
+ */
89
+ //# sourceMappingURL=prompt-functions.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-functions.d.mts","sourceRoot":"","sources":["../../src/common/prompt-functions.mts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AA0BrF;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAK9F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxG;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IACxB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAC7C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAmB9G;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2B5F;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,IAC1C,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAsCzD;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,IAE9C,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA+BzD;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,IAE9C,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA+BzD;AAED;;;;;GAKG;AAoCH;;;;;GAKG;AAmCH;;;;;GAKG;AAiCH;;;;;GAKG"}
@@ -0,0 +1,418 @@
1
+ // import { AlertController, } from '@ionic/angular';
2
+ // import { Dialog } from '@capacitor/dialog';
3
+ import * as readline from 'node:readline/promises';
4
+ import { stdin, stdout } from 'node:process';
5
+ import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
6
+ // import { SecretModalFormComponent } from '../modals/secret-modal-form/secret-modal-form.component';
7
+ // import { EncryptionModalFormComponent } from '../modals/encryption-modal-form/encryption-modal-form.component';
8
+ // import { OuterspaceModalFormComponent } from '../modals/outerspace-modal-form/outerspace-modal-form.component';
9
+ // import { UpdatePicModalFormComponent, UpdatePicPromptResult } from '../modals/update-pic-modal-form/update-pic-modal-form.component';
10
+ // import { UpdateCommentModalFormComponent, UpdateCommentPromptResult } from '../modals/update-comment-modal-form/update-comment-modal-form.component';
11
+ // import { EncryptionData_V1 } from '@ibgib/core-gib/dist/common/encrypt/encrypt-types.mjs';
12
+ // import { OuterSpaceIbGib } from '@ibgib/core-gib/dist/witness/space/outer-space/outer-space-types.mjs';
13
+ // import { PicIbGib_V1 } from '@ibgib/core-gib/dist/common/pic/pic-types.mjs';
14
+ // import { RobbotIbGib_V1 } from '@ibgib/core-gib/dist/witness/robbot/robbot-types.mjs';
15
+ // import {
16
+ // RobbotModalFormComponent, RobbotPromptResult
17
+ // } from '@ibgib/core-gib/dist/modals/robbot-modal-form/robbot-modal-form.component';
18
+ // import { AppIbGib_V1 } from '@ibgib/core-gib/dist/witness/app/app-types.mjs';
19
+ // import {
20
+ // AppModalFormComponent, AppPromptResult
21
+ // } from '@ibgib/core-gib/dist../modals/app-modal-form/app-modal-form.component';
22
+ // import { clearDoCancelModalOnBackButton, registerCancelModalOnBackButton } from '@ibgib/core-gib/dist./utils';
23
+ // import { CommentIbGib_V1 } from '@ibgib/core-gib/dist/common/comment/comment-types.mjs';
24
+ // import { SECRET_REL8N_NAME } from '@ibgib/core-gib/dist/common/encrypt/encrypt-constants.mjs';
25
+ import { GLOBAL_LOG_A_LOT } from '../constants.mjs';
26
+ const logalot = GLOBAL_LOG_A_LOT || false;
27
+ /**
28
+ * Wrapper for alerting via atow capacitor modals.
29
+ *
30
+ * @returns FUNCTION that alerts (doesn't actually do the alert)
31
+ */
32
+ export function getFnAlert() {
33
+ return async ({ title, msg }) => {
34
+ // await Dialog.alert({ title, message: msg });
35
+ console.log(`${title}: ${msg}`);
36
+ };
37
+ }
38
+ /**
39
+ * Wrapper for prompting via atow capacitor modals.
40
+ *
41
+ * @returns FUNCTION that prompts (doesn't actually do the prompt)
42
+ */
43
+ export function getFnPrompt() {
44
+ return async ({ title, msg }) => {
45
+ const lc = `[${getFnPrompt.name}]`;
46
+ let answer;
47
+ try {
48
+ if (!msg) {
49
+ throw new Error(`msg required. (E: c39d1656b6b803e11bad46efe15b6823)`);
50
+ }
51
+ const rl = readline.createInterface({ input: stdin, output: stdout });
52
+ try {
53
+ const text = title ? `\n# ${title}:\n\n${msg}\n` : `${msg}\n`;
54
+ answer = await rl.question(text);
55
+ if (logalot) {
56
+ console.log(`${lc} text: ${text}. answer: ${answer} (I: 7f0375b3abd7eba9c75636d31bbca323)`);
57
+ }
58
+ }
59
+ catch (error) {
60
+ throw error;
61
+ }
62
+ finally {
63
+ rl.close();
64
+ }
65
+ }
66
+ catch (error) {
67
+ console.error(`${lc} ${extractErrorMsg(error)}`);
68
+ throw error;
69
+ }
70
+ return answer || answer === '' ? answer : null;
71
+ };
72
+ }
73
+ /**
74
+ * Wrapper for confirming via commandline/terminal prompt.
75
+ *
76
+ * @returns FUNCTION that prompts (doesn't actually do the prompt)
77
+ */
78
+ export function getFnConfirm() {
79
+ return async ({ title, msg, okButtonTitle, cancelButtonTitle }) => {
80
+ okButtonTitle ||= 'yes';
81
+ cancelButtonTitle ||= 'no';
82
+ if (okButtonTitle === cancelButtonTitle) {
83
+ throw new Error(`okButtonTitle (${okButtonTitle}) must be different than cancelButtonTitle (${cancelButtonTitle}) (E: 254e92fed2e99edc362de337e8bf3123)`);
84
+ }
85
+ if (okButtonTitle[0] === cancelButtonTitle[0]) {
86
+ throw new Error(`okButtonTitle (${okButtonTitle}) must start with a different character than cancelButtonTitle (${cancelButtonTitle}) (E: 8bdd34b0d90f479399d911af58df9190)`);
87
+ }
88
+ const promptFn = getFnPrompt();
89
+ let result = null;
90
+ do {
91
+ result = await promptFn({ title, msg: `${msg} (${okButtonTitle}/${cancelButtonTitle})` });
92
+ result = result ? result.toLowerCase() : null;
93
+ } while (!result);
94
+ if (result === okButtonTitle[0].toLowerCase()) {
95
+ result = okButtonTitle;
96
+ }
97
+ return result === okButtonTitle;
98
+ };
99
+ }
100
+ /**
101
+ * Prompts the user for a password using an ionic capacitor (atow) alert
102
+ * controller with an input of type `'password'`.
103
+ *
104
+ *
105
+ *
106
+ * @returns either the password or null if cancelled
107
+ */
108
+ export function getFnPromptPassword() {
109
+ const lc = `[${getFnPromptPassword.name}]`;
110
+ try {
111
+ throw new Error(`not implemented yet. i have added PromptPasswordFunction type in core-gib/core-types (E: 78c7dbb8958f8f353730d0dbb86b5423)`);
112
+ // if (!alertController) { throw new Error('alertController required.'); }
113
+ // let fnPromptPassword = async (title: string, msg: string) => {
114
+ // const alert = await alertController.create({
115
+ // header: title,
116
+ // message: msg,
117
+ // inputs: [
118
+ // { name: 'password', type: 'password', label: 'Password: ', },
119
+ // ],
120
+ // buttons: ['OK', 'Cancel'],
121
+ // });
122
+ // await alert.present();
123
+ // let result = await alert.onDidDismiss();
124
+ // if (result?.data?.values?.password) {
125
+ // return result!.data!.values!.password;
126
+ // } else {
127
+ // return null;
128
+ // }
129
+ // };
130
+ // return fnPromptPassword;
131
+ }
132
+ catch (error) {
133
+ console.error(`${lc} ${extractErrorMsg(error)}`);
134
+ throw error;
135
+ }
136
+ }
137
+ /**
138
+ * Creates a function with a single `space` arg. This fn when called shows a
139
+ * modal to create an secret ibgib. If the user chooses to save, then the
140
+ * modal will create the secret ibgib, save the transform result in the
141
+ * given `space` (atow this is the local user space), and return the new
142
+ * secret ibgib.
143
+ */
144
+ export function getFn_promptCreateSecretIbGib() {
145
+ const lc = `[${getFn_promptCreateSecretIbGib.name}]`;
146
+ return async (space) => {
147
+ throw new Error(`not impl yet (E: 990b79f9b8c2302163cc656deceaf923)`);
148
+ // /** hacked untyped document reference to hack a solution to the back button leaving modals open. */
149
+ // try {
150
+ // const modal = await common.modalController.create({
151
+ // component: SecretModalFormComponent,
152
+ // });
153
+ // // have to register/clear modal for cancelling in case the user
154
+ // // presses the back button while the modal is still visible
155
+ // registerCancelModalOnBackButton(modal);
156
+ // await modal.present();
157
+ // let resModal = await modal.onWillDismiss();
158
+ // // clear the cancel since it dismissed naturally
159
+ // clearDoCancelModalOnBackButton();
160
+ // if (resModal.data) {
161
+ // const resNewSecret = <TransformResult<SecretIbGib_V1>>resModal.data;
162
+ // await common.ibgibs.persistTransformResult({ resTransform: resNewSecret, space });
163
+ // const addr = getIbGibAddr({ ibGib: resNewSecret.newIbGib });
164
+ // if (logalot) { console.log(`${lc} created secret. addr: ${addr}`); }
165
+ // await common.ibgibs.rel8ToSpecialIbGib({
166
+ // type: "secrets",
167
+ // rel8nName: SECRET_REL8N_NAME,
168
+ // ibGibsToRel8: [resNewSecret.newIbGib],
169
+ // space,
170
+ // });
171
+ // return resNewSecret.newIbGib;
172
+ // } else {
173
+ // // didn't create one
174
+ // console.warn(`${lc} didn't create at this time.`);
175
+ // return undefined;
176
+ // }
177
+ // } catch (error) {
178
+ // console.error(`${lc} error: ${extractErrorMsg(error)}`);
179
+ // return undefined;
180
+ // }
181
+ };
182
+ }
183
+ /**
184
+ * Creates a function with a single `space` arg. This fn when called shows a
185
+ * modal to create an encryption ibgib. If the user chooses to save, then the
186
+ * modal will create the encryption ibgib, save the transform result in the
187
+ * given `space` (atow this is the local user space), and return the new
188
+ * encryption ibgib.
189
+ */
190
+ export function getFn_promptCreateEncryptionIbGib(
191
+ // common: CommonService,
192
+ ) {
193
+ throw new Error(`not impl yet (E: 69c7d552de7318a97457363adfd34f23)`);
194
+ // const lc = `[${getFn_promptCreateEncryptionIbGib.name}]`;
195
+ // return async (space: IbGibSpaceAny) => {
196
+ // try {
197
+ // const modal = await common.modalController.create({
198
+ // component: EncryptionModalFormComponent,
199
+ // });
200
+ // // have to register/clear modal for cancelling in case the user
201
+ // // presses the back button while the modal is still visible
202
+ // registerCancelModalOnBackButton(modal);
203
+ // await modal.present();
204
+ // let resModal = await modal.onWillDismiss();
205
+ // // clear the cancel since it dismissed naturally
206
+ // clearDoCancelModalOnBackButton();
207
+ // if (resModal.data) {
208
+ // const resNewEncryption = <TransformResult<IbGib_V1<EncryptionData_V1>>>resModal.data;
209
+ // await common.ibgibs.persistTransformResult({ resTransform: resNewEncryption, space });
210
+ // const addr = getIbGibAddr({ ibGib: resNewEncryption.newIbGib });
211
+ // if (logalot) { console.log(`${lc} created encryption. addr: ${addr}`); }
212
+ // return resNewEncryption.newIbGib;
213
+ // } else {
214
+ // // didn't create one
215
+ // console.warn(`${lc} didn't create at this time.`);
216
+ // return undefined;
217
+ // }
218
+ // } catch (error) {
219
+ // console.error(`${lc} error: ${extractErrorMsg(error)}`);
220
+ // return undefined;
221
+ // }
222
+ // }
223
+ }
224
+ /**
225
+ * Creates a function with a single `space` arg. This fn when called shows a
226
+ * modal to create an outerspace ibgib. If the user chooses to save, then the
227
+ * modal will create the outerspace ibgib, save the transform result in the
228
+ * given `space` (atow this is the local user space), and return the new
229
+ * outerspace ibgib.
230
+ */
231
+ export function getFn_promptCreateOuterSpaceIbGib(
232
+ // common: CommonService,
233
+ ) {
234
+ throw new Error(`not impl yet (E: e48ef8a7b4252cfe795dde791de99523)`);
235
+ // const lc = `[${getFn_promptCreateOuterSpaceIbGib.name}]`;
236
+ // return async (space: IbGibSpaceAny) => {
237
+ // try {
238
+ // const modal = await common.modalController.create({
239
+ // component: OuterspaceModalFormComponent,
240
+ // });
241
+ // // have to register/clear modal for cancelling in case the user
242
+ // // presses the back button while the modal is still visible
243
+ // registerCancelModalOnBackButton(modal);
244
+ // await modal.present();
245
+ // let resModal = await modal.onWillDismiss();
246
+ // // clear the cancel since it dismissed naturally
247
+ // clearDoCancelModalOnBackButton();
248
+ // if (resModal.data) {
249
+ // const resOuterSpace = <TransformResult<OuterSpaceIbGib>>resModal.data;
250
+ // await common.ibgibs.persistTransformResult({ resTransform: resOuterSpace, space });
251
+ // const addr = getIbGibAddr({ ibGib: resOuterSpace.newIbGib });
252
+ // if (logalot) { console.log(`${lc} created outerspace. addr: ${addr}`); }
253
+ // return resOuterSpace.newIbGib;
254
+ // } else {
255
+ // // didn't create one
256
+ // console.warn(`${lc} didn't create outerspace at this time.`);
257
+ // return undefined;
258
+ // }
259
+ // } catch (error) {
260
+ // console.error(`${lc} error: ${extractErrorMsg(error)}`);
261
+ // return undefined;
262
+ // }
263
+ // }
264
+ }
265
+ /**
266
+ * Creates a function with a single `space` arg. This fn when called shows a
267
+ * modal to mutate a pic ibgib. If the user chooses to save, then the modal will
268
+ * perform the mutation, save the transform result in the given `space`, and
269
+ * return the new pic ibgib.
270
+ */
271
+ // export function getFn_promptUpdatePicIbGib(
272
+ // common: CommonService,
273
+ // ): (space: IbGibSpaceAny, picIbGib: PicIbGib_V1) => Promise<UpdatePicPromptResult | undefined> {
274
+ // const lc = `[${getFn_promptUpdatePicIbGib.name}]`;
275
+ // return async (space: IbGibSpaceAny, picIbGib: PicIbGib_V1) => {
276
+ // try {
277
+ // const modal = await common.modalController.create({
278
+ // component: UpdatePicModalFormComponent,
279
+ // componentProps: { picIbGib, space },
280
+ // });
281
+ // // have to register/clear modal for cancelling in case the user
282
+ // // presses the back button while the modal is still visible
283
+ // registerCancelModalOnBackButton(modal);
284
+ // await modal.present();
285
+ // let resModal = await modal.onWillDismiss();
286
+ // // clear the cancel since it dismissed naturally
287
+ // clearDoCancelModalOnBackButton();
288
+ // if (resModal.data) {
289
+ // const result = <UpdatePicPromptResult>resModal.data;
290
+ // const [resCreatePic, _resCreateBin] = result;
291
+ // const addr = getIbGibAddr({ ibGib: resCreatePic.newIbGib });
292
+ // if (logalot) { console.log(`${lc} updated pic. addr: ${addr}`); }
293
+ // return result;
294
+ // } else {
295
+ // // didn't create one
296
+ // console.warn(`${lc} didn't create at this time.`);
297
+ // return undefined;
298
+ // }
299
+ // } catch (error) {
300
+ // console.error(`${lc} error: ${extractErrorMsg(error)}`);
301
+ // return undefined;
302
+ // }
303
+ // }
304
+ // }
305
+ /**
306
+ * Creates a function with a single `space` arg. This fn when called shows a
307
+ * modal to mutate a comment ibgib. If the user chooses to save, then the modal will
308
+ * perform the mutation, save the transform result in the given `space`, and
309
+ * return the new comment ibgib.
310
+ */
311
+ // export function getFn_promptUpdateCommentIbGib(
312
+ // common: CommonService,
313
+ // ): (space: IbGibSpaceAny, commentIbGib: CommentIbGib_V1) => Promise<UpdateCommentPromptResult | undefined> {
314
+ // const lc = `[${getFn_promptUpdateCommentIbGib.name}]`;
315
+ // return async (space: IbGibSpaceAny, commentIbGib: CommentIbGib_V1) => {
316
+ // try {
317
+ // const modal = await common.modalController.create({
318
+ // component: UpdateCommentModalFormComponent,
319
+ // componentProps: { commentIbGib, space },
320
+ // });
321
+ // // have to register/clear modal for cancelling in case the user
322
+ // // presses the back button while the modal is still visible
323
+ // registerCancelModalOnBackButton(modal);
324
+ // await modal.present();
325
+ // let resModal = await modal.onWillDismiss();
326
+ // // clear the cancel since it dismissed naturally
327
+ // clearDoCancelModalOnBackButton();
328
+ // if (resModal.data) {
329
+ // const resCreateComment = <UpdateCommentPromptResult>resModal.data;
330
+ // const addr = getIbGibAddr({ ibGib: resCreateComment.newIbGib });
331
+ // if (logalot) { console.log(`${lc} updated comment. addr: ${addr}`); }
332
+ // return resCreateComment;
333
+ // } else {
334
+ // // didn't create one
335
+ // console.warn(`${lc} didn't create at this time.`);
336
+ // return undefined;
337
+ // }
338
+ // } catch (error) {
339
+ // console.error(`${lc} error: ${extractErrorMsg(error)}`);
340
+ // return undefined;
341
+ // }
342
+ // }
343
+ // }
344
+ /**
345
+ * Creates a function with a single `space` arg. This fn when called shows a
346
+ * modal to create a robbot ibgib. If the user chooses to save, then the modal will
347
+ * perform the mutation, save the transform result in the given `space`, and
348
+ * return the new pic ibgib.
349
+ */
350
+ // export function getFn_promptRobbotIbGib(
351
+ // common: CommonService,
352
+ // ): (space: IbGibSpaceAny, ibGib: RobbotIbGib_V1) => Promise<RobbotPromptResult | undefined> {
353
+ // const lc = `[${getFn_promptRobbotIbGib.name}]`;
354
+ // return async (space: IbGibSpaceAny, ibGib: RobbotIbGib_V1) => {
355
+ // try {
356
+ // const modal = await common.modalController.create({
357
+ // component: RobbotModalFormComponent,
358
+ // componentProps: { ibGib, space },
359
+ // });
360
+ // // have to register/clear modal for cancelling in case the user
361
+ // // presses the back button while the modal is still visible
362
+ // registerCancelModalOnBackButton(modal);
363
+ // await modal.present();
364
+ // let resModal = await modal.onWillDismiss();
365
+ // // clear the cancel since it dismissed naturally
366
+ // clearDoCancelModalOnBackButton();
367
+ // if (resModal.data) {
368
+ // const result = <RobbotPromptResult>resModal.data;
369
+ // return result;
370
+ // } else {
371
+ // // didn't create one
372
+ // console.warn(`${lc} didn't create at this time.`);
373
+ // return undefined;
374
+ // }
375
+ // } catch (error) {
376
+ // console.error(`${lc} error: ${extractErrorMsg(error)}`);
377
+ // return undefined;
378
+ // }
379
+ // }
380
+ // }
381
+ /**
382
+ * Creates a function with a single `space` arg. This fn when called shows a
383
+ * modal to create a app ibgib. If the user chooses to save, then the modal will
384
+ * perform the mutation, save the transform result in the given `space`, and
385
+ * return the new pic ibgib.
386
+ */
387
+ // export function getFn_promptAppIbGib(
388
+ // common: CommonService,
389
+ // ): (space: IbGibSpaceAny, ibGib: AppIbGib_V1) => Promise<AppPromptResult | undefined> {
390
+ // const lc = `[${getFn_promptAppIbGib.name}]`;
391
+ // return async (space: IbGibSpaceAny, ibGib: AppIbGib_V1) => {
392
+ // try {
393
+ // const modal = await common.modalController.create({
394
+ // component: AppModalFormComponent,
395
+ // componentProps: { ibGib, space },
396
+ // });
397
+ // // have to register/clear modal for cancelling in case the user
398
+ // // presses the back button while the modal is still visible
399
+ // registerCancelModalOnBackButton(modal);
400
+ // await modal.present();
401
+ // let resModal = await modal.onWillDismiss();
402
+ // // clear the cancel since it dismissed naturally
403
+ // clearDoCancelModalOnBackButton();
404
+ // if (resModal.data) {
405
+ // const result = <AppPromptResult>resModal.data;
406
+ // return result;
407
+ // } else {
408
+ // // didn't create one
409
+ // console.warn(`${lc} didn't create at this time.`);
410
+ // return undefined;
411
+ // }
412
+ // } catch (error) {
413
+ // console.error(`${lc} error: ${extractErrorMsg(error)}`);
414
+ // return undefined;
415
+ // }
416
+ // }
417
+ // }
418
+ //# sourceMappingURL=prompt-functions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-functions.mjs","sourceRoot":"","sources":["../../src/common/prompt-functions.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const GLOBAL_LOG_A_LOT = false;
2
+ export declare const GLOBAL_TIMER_NAME = "[node^gib timer]";
3
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.mts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,iBAAiB,qBAAqB,CAAC"}