@ibgib/core-gib 0.0.4
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.
- package/.vscode/core-gib-snippets.code-snippets +189 -0
- package/.vscode/launch.json +24 -0
- package/.vscode/settings.json +56 -0
- package/.vscode/tasks.json +37 -0
- package/CHANGELOG.md +11 -0
- package/README.md +215 -0
- package/dist/common/aws-constants.d.mts +7 -0
- package/dist/common/aws-constants.d.mts.map +1 -0
- package/dist/common/aws-constants.mjs +7 -0
- package/dist/common/aws-constants.mjs.map +1 -0
- package/dist/common/bin/bin-types.d.mts +17 -0
- package/dist/common/bin/bin-types.d.mts.map +1 -0
- package/dist/common/bin/bin-types.mjs +3 -0
- package/dist/common/bin/bin-types.mjs.map +1 -0
- package/dist/common/cache/cache-types.d.mts +57 -0
- package/dist/common/cache/cache-types.d.mts.map +1 -0
- package/dist/common/cache/cache-types.mjs +2 -0
- package/dist/common/cache/cache-types.mjs.map +1 -0
- package/dist/common/comment/comment-constants.d.mts +11 -0
- package/dist/common/comment/comment-constants.d.mts.map +1 -0
- package/dist/common/comment/comment-constants.mjs +11 -0
- package/dist/common/comment/comment-constants.mjs.map +1 -0
- package/dist/common/comment/comment-helper.d.mts +59 -0
- package/dist/common/comment/comment-helper.d.mts.map +1 -0
- package/dist/common/comment/comment-helper.mjs +173 -0
- package/dist/common/comment/comment-helper.mjs.map +1 -0
- package/dist/common/comment/comment-types.d.mts +16 -0
- package/dist/common/comment/comment-types.d.mts.map +1 -0
- package/dist/common/comment/comment-types.mjs +2 -0
- package/dist/common/comment/comment-types.mjs.map +1 -0
- package/dist/common/display/display-helper.d.mts +19 -0
- package/dist/common/display/display-helper.d.mts.map +1 -0
- package/dist/common/display/display-helper.mjs +68 -0
- package/dist/common/display/display-helper.mjs.map +1 -0
- package/dist/common/display/display-types.d.mts +97 -0
- package/dist/common/display/display-types.d.mts.map +1 -0
- package/dist/common/display/display-types.mjs +37 -0
- package/dist/common/display/display-types.mjs.map +1 -0
- package/dist/common/encrypt/encrypt-constants.d.mts +27 -0
- package/dist/common/encrypt/encrypt-constants.d.mts.map +1 -0
- package/dist/common/encrypt/encrypt-constants.mjs +27 -0
- package/dist/common/encrypt/encrypt-constants.mjs.map +1 -0
- package/dist/common/encrypt/encrypt-types.d.mts +116 -0
- package/dist/common/encrypt/encrypt-types.d.mts.map +1 -0
- package/dist/common/encrypt/encrypt-types.mjs +9 -0
- package/dist/common/encrypt/encrypt-types.mjs.map +1 -0
- package/dist/common/error/error-constants.d.mts +9 -0
- package/dist/common/error/error-constants.d.mts.map +1 -0
- package/dist/common/error/error-constants.mjs +9 -0
- package/dist/common/error/error-constants.mjs.map +1 -0
- package/dist/common/error/error-helper.d.mts +43 -0
- package/dist/common/error/error-helper.d.mts.map +1 -0
- package/dist/common/error/error-helper.mjs +167 -0
- package/dist/common/error/error-helper.mjs.map +1 -0
- package/dist/common/error/error-types.d.mts +58 -0
- package/dist/common/error/error-types.d.mts.map +1 -0
- package/dist/common/error/error-types.mjs +2 -0
- package/dist/common/error/error-types.mjs.map +1 -0
- package/dist/common/form/form-helper.d.mts +97 -0
- package/dist/common/form/form-helper.d.mts.map +1 -0
- package/dist/common/form/form-helper.mjs +185 -0
- package/dist/common/form/form-helper.mjs.map +1 -0
- package/dist/common/form/form-items.d.mts +229 -0
- package/dist/common/form/form-items.d.mts.map +1 -0
- package/dist/common/form/form-items.mjs +63 -0
- package/dist/common/form/form-items.mjs.map +1 -0
- package/dist/common/import-export/import-export-types.d.mts +18 -0
- package/dist/common/import-export/import-export-types.d.mts.map +1 -0
- package/dist/common/import-export/import-export-types.mjs +2 -0
- package/dist/common/import-export/import-export-types.mjs.map +1 -0
- package/dist/common/legacy/legacy-types.d.mts +2 -0
- package/dist/common/legacy/legacy-types.d.mts.map +1 -0
- package/dist/common/legacy/legacy-types.mjs +2 -0
- package/dist/common/legacy/legacy-types.mjs.map +1 -0
- package/dist/common/link/link-constants.d.mts +2 -0
- package/dist/common/link/link-constants.d.mts.map +1 -0
- package/dist/common/link/link-constants.mjs +2 -0
- package/dist/common/link/link-constants.mjs.map +1 -0
- package/dist/common/link/link-helper.d.mts +37 -0
- package/dist/common/link/link-helper.d.mts.map +1 -0
- package/dist/common/link/link-helper.mjs +143 -0
- package/dist/common/link/link-helper.mjs.map +1 -0
- package/dist/common/link/link-types.d.mts +14 -0
- package/dist/common/link/link-types.d.mts.map +1 -0
- package/dist/common/link/link-types.mjs +2 -0
- package/dist/common/link/link-types.mjs.map +1 -0
- package/dist/common/other/graph-helper.d.mts +166 -0
- package/dist/common/other/graph-helper.d.mts.map +1 -0
- package/dist/common/other/graph-helper.mjs +710 -0
- package/dist/common/other/graph-helper.mjs.map +1 -0
- package/dist/common/other/ibgib-helper.d.mts +245 -0
- package/dist/common/other/ibgib-helper.d.mts.map +1 -0
- package/dist/common/other/ibgib-helper.mjs +641 -0
- package/dist/common/other/ibgib-helper.mjs.map +1 -0
- package/dist/common/other/other-constants.d.mts +53 -0
- package/dist/common/other/other-constants.d.mts.map +1 -0
- package/dist/common/other/other-constants.mjs +67 -0
- package/dist/common/other/other-constants.mjs.map +1 -0
- package/dist/common/other/other-types.d.mts +166 -0
- package/dist/common/other/other-types.d.mts.map +1 -0
- package/dist/common/other/other-types.mjs +30 -0
- package/dist/common/other/other-types.mjs.map +1 -0
- package/dist/common/other/svg-constants.d.mts +2 -0
- package/dist/common/other/svg-constants.d.mts.map +1 -0
- package/dist/common/other/svg-constants.mjs +2 -0
- package/dist/common/other/svg-constants.mjs.map +1 -0
- package/dist/common/other/svg-helper.d.mts +54 -0
- package/dist/common/other/svg-helper.d.mts.map +1 -0
- package/dist/common/other/svg-helper.mjs +170 -0
- package/dist/common/other/svg-helper.mjs.map +1 -0
- package/dist/common/pic/pic-constants.d.mts +13 -0
- package/dist/common/pic/pic-constants.d.mts.map +1 -0
- package/dist/common/pic/pic-constants.mjs +13 -0
- package/dist/common/pic/pic-constants.mjs.map +1 -0
- package/dist/common/pic/pic-helper.d.mts +70 -0
- package/dist/common/pic/pic-helper.d.mts.map +1 -0
- package/dist/common/pic/pic-helper.mjs +235 -0
- package/dist/common/pic/pic-helper.mjs.map +1 -0
- package/dist/common/pic/pic-types.d.mts +23 -0
- package/dist/common/pic/pic-types.d.mts.map +1 -0
- package/dist/common/pic/pic-types.mjs +2 -0
- package/dist/common/pic/pic-types.mjs.map +1 -0
- package/dist/common/root/root-constants.d.mts +40 -0
- package/dist/common/root/root-constants.d.mts.map +1 -0
- package/dist/common/root/root-constants.mjs +40 -0
- package/dist/common/root/root-constants.mjs.map +1 -0
- package/dist/common/root/root-types.d.mts +9 -0
- package/dist/common/root/root-types.d.mts.map +1 -0
- package/dist/common/root/root-types.mjs +2 -0
- package/dist/common/root/root-types.mjs.map +1 -0
- package/dist/common/tag/tag-constants.d.mts +21 -0
- package/dist/common/tag/tag-constants.d.mts.map +1 -0
- package/dist/common/tag/tag-constants.mjs +28 -0
- package/dist/common/tag/tag-constants.mjs.map +1 -0
- package/dist/common/tag/tag-types.d.mts +14 -0
- package/dist/common/tag/tag-types.d.mts.map +1 -0
- package/dist/common/tag/tag-types.mjs +2 -0
- package/dist/common/tag/tag-types.mjs.map +1 -0
- package/dist/core-constants.d.mts +89 -0
- package/dist/core-constants.d.mts.map +1 -0
- package/dist/core-constants.mjs +484 -0
- package/dist/core-constants.mjs.map +1 -0
- package/dist/core-helper.d.mts +6 -0
- package/dist/core-helper.d.mts.map +1 -0
- package/dist/core-helper.mjs +28 -0
- package/dist/core-helper.mjs.map +1 -0
- package/dist/core-types.d.mts +520 -0
- package/dist/core-types.d.mts.map +1 -0
- package/dist/core-types.mjs +2 -0
- package/dist/core-types.mjs.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -0
- package/dist/witness/app/app-base-v1.d.mts +130 -0
- package/dist/witness/app/app-base-v1.d.mts.map +1 -0
- package/dist/witness/app/app-base-v1.mjs +462 -0
- package/dist/witness/app/app-base-v1.mjs.map +1 -0
- package/dist/witness/app/app-constants.d.mts +10 -0
- package/dist/witness/app/app-constants.d.mts.map +1 -0
- package/dist/witness/app/app-constants.mjs +13 -0
- package/dist/witness/app/app-constants.mjs.map +1 -0
- package/dist/witness/app/app-helper.d.mts +85 -0
- package/dist/witness/app/app-helper.d.mts.map +1 -0
- package/dist/witness/app/app-helper.mjs +258 -0
- package/dist/witness/app/app-helper.mjs.map +1 -0
- package/dist/witness/app/app-types.d.mts +211 -0
- package/dist/witness/app/app-types.d.mts.map +1 -0
- package/dist/witness/app/app-types.mjs +49 -0
- package/dist/witness/app/app-types.mjs.map +1 -0
- package/dist/witness/app/chat-app/chat-app-types.d.mts +18 -0
- package/dist/witness/app/chat-app/chat-app-types.d.mts.map +1 -0
- package/dist/witness/app/chat-app/chat-app-types.mjs +25 -0
- package/dist/witness/app/chat-app/chat-app-types.mjs.map +1 -0
- package/dist/witness/app/flash-app/flash-app-types.d.mts +16 -0
- package/dist/witness/app/flash-app/flash-app-types.d.mts.map +1 -0
- package/dist/witness/app/flash-app/flash-app-types.mjs +23 -0
- package/dist/witness/app/flash-app/flash-app-types.mjs.map +1 -0
- package/dist/witness/app/raw-app/raw-app-types.d.mts +18 -0
- package/dist/witness/app/raw-app/raw-app-types.d.mts.map +1 -0
- package/dist/witness/app/raw-app/raw-app-types.mjs +25 -0
- package/dist/witness/app/raw-app/raw-app-types.mjs.map +1 -0
- package/dist/witness/app/todo-app/todo-app-types.d.ts +33 -0
- package/dist/witness/app/todo-app/todo-app-types.d.ts.map +1 -0
- package/dist/witness/app/todo-app/todo-app-types.js +31 -0
- package/dist/witness/app/todo-app/todo-app-types.js.map +1 -0
- package/dist/witness/robbot/robbot-base-v1.d.ts +432 -0
- package/dist/witness/robbot/robbot-base-v1.d.ts.map +1 -0
- package/dist/witness/robbot/robbot-base-v1.js +1407 -0
- package/dist/witness/robbot/robbot-base-v1.js.map +1 -0
- package/dist/witness/robbot/robbot-constants.d.mts +24 -0
- package/dist/witness/robbot/robbot-constants.d.mts.map +1 -0
- package/dist/witness/robbot/robbot-constants.mjs +24 -0
- package/dist/witness/robbot/robbot-constants.mjs.map +1 -0
- package/dist/witness/robbot/robbot-helper.d.mts +152 -0
- package/dist/witness/robbot/robbot-helper.d.mts.map +1 -0
- package/dist/witness/robbot/robbot-helper.mjs +609 -0
- package/dist/witness/robbot/robbot-helper.mjs.map +1 -0
- package/dist/witness/robbot/robbot-types.d.mts +539 -0
- package/dist/witness/robbot/robbot-types.d.mts.map +1 -0
- package/dist/witness/robbot/robbot-types.mjs +294 -0
- package/dist/witness/robbot/robbot-types.mjs.map +1 -0
- package/dist/witness/space/bootstrap/bootstrap-constants.d.mts +14 -0
- package/dist/witness/space/bootstrap/bootstrap-constants.d.mts.map +1 -0
- package/dist/witness/space/bootstrap/bootstrap-constants.mjs +15 -0
- package/dist/witness/space/bootstrap/bootstrap-constants.mjs.map +1 -0
- package/dist/witness/space/inner-space-v1.d.ts +63 -0
- package/dist/witness/space/inner-space-v1.d.ts.map +1 -0
- package/dist/witness/space/inner-space-v1.js +356 -0
- package/dist/witness/space/inner-space-v1.js.map +1 -0
- package/dist/witness/space/outer-space/outer-space-constants.d.mts +2 -0
- package/dist/witness/space/outer-space/outer-space-constants.d.mts.map +1 -0
- package/dist/witness/space/outer-space/outer-space-constants.mjs +2 -0
- package/dist/witness/space/outer-space/outer-space-constants.mjs.map +1 -0
- package/dist/witness/space/outer-space/outer-space-helper.d.mts +28 -0
- package/dist/witness/space/outer-space/outer-space-helper.d.mts.map +1 -0
- package/dist/witness/space/outer-space/outer-space-helper.mjs +87 -0
- package/dist/witness/space/outer-space/outer-space-helper.mjs.map +1 -0
- package/dist/witness/space/outer-space/outer-space-types.d.mts +548 -0
- package/dist/witness/space/outer-space/outer-space-types.d.mts.map +1 -0
- package/dist/witness/space/outer-space/outer-space-types.mjs +118 -0
- package/dist/witness/space/outer-space/outer-space-types.mjs.map +1 -0
- package/dist/witness/space/space-base-v1.d.mts +147 -0
- package/dist/witness/space/space-base-v1.d.mts.map +1 -0
- package/dist/witness/space/space-base-v1.mjs +350 -0
- package/dist/witness/space/space-base-v1.mjs.map +1 -0
- package/dist/witness/space/space-constants.d.mts +181 -0
- package/dist/witness/space/space-constants.d.mts.map +1 -0
- package/dist/witness/space/space-constants.mjs +192 -0
- package/dist/witness/space/space-constants.mjs.map +1 -0
- package/dist/witness/space/space-helper.d.mts +666 -0
- package/dist/witness/space/space-helper.d.mts.map +1 -0
- package/dist/witness/space/space-helper.mjs +2830 -0
- package/dist/witness/space/space-helper.mjs.map +1 -0
- package/dist/witness/space/space-types.d.mts +422 -0
- package/dist/witness/space/space-types.d.mts.map +1 -0
- package/dist/witness/space/space-types.mjs +52 -0
- package/dist/witness/space/space-types.mjs.map +1 -0
- package/dist/witness/witness-base-v1.d.ts +144 -0
- package/dist/witness/witness-base-v1.d.ts.map +1 -0
- package/dist/witness/witness-base-v1.js +300 -0
- package/dist/witness/witness-base-v1.js.map +1 -0
- package/dist/witness/witness-constants.d.mts +3 -0
- package/dist/witness/witness-constants.d.mts.map +1 -0
- package/dist/witness/witness-constants.mjs +3 -0
- package/dist/witness/witness-constants.mjs.map +1 -0
- package/dist/witness/witness-form-builder.d.mts +45 -0
- package/dist/witness/witness-form-builder.d.mts.map +1 -0
- package/dist/witness/witness-form-builder.mjs +95 -0
- package/dist/witness/witness-form-builder.mjs.map +1 -0
- package/dist/witness/witness-helper.d.mts +89 -0
- package/dist/witness/witness-helper.d.mts.map +1 -0
- package/dist/witness/witness-helper.mjs +229 -0
- package/dist/witness/witness-helper.mjs.map +1 -0
- package/dist/witness/witness-types.d.mts +211 -0
- package/dist/witness/witness-types.d.mts.map +1 -0
- package/dist/witness/witness-types.mjs +2 -0
- package/dist/witness/witness-types.mjs.map +1 -0
- package/jasmine-browser.json +18 -0
- package/jasmine.json +6 -0
- package/package.json +67 -0
- package/src/assumptions.spec.mts +45 -0
- package/src/common/aws-constants.mts +5 -0
- package/src/common/bin/bin-types.mts +17 -0
- package/src/common/cache/cache-types.mts +53 -0
- package/src/common/comment/comment-constants.mts +10 -0
- package/src/common/comment/comment-helper.mts +211 -0
- package/src/common/comment/comment-types.mts +19 -0
- package/src/common/display/display-helper.mts +88 -0
- package/src/common/display/display-types.mts +108 -0
- package/src/common/encrypt/encrypt-constants.mts +28 -0
- package/src/common/encrypt/encrypt-types.mts +130 -0
- package/src/common/error/error-constants.mts +8 -0
- package/src/common/error/error-helper.mts +155 -0
- package/src/common/error/error-types.mts +62 -0
- package/src/common/form/form-helper.mts +253 -0
- package/src/common/form/form-items.mts +236 -0
- package/src/common/import-export/import-export-types.mts +18 -0
- package/src/common/legacy/about-legacy.md +0 -0
- package/src/common/legacy/legacy-types.mts +0 -0
- package/src/common/link/link-constants.mts +1 -0
- package/src/common/link/link-helper.mts +155 -0
- package/src/common/link/link-types.mts +16 -0
- package/src/common/other/graph-helper.mts +853 -0
- package/src/common/other/ibgib-helper.mts +671 -0
- package/src/common/other/other-constants.mts +76 -0
- package/src/common/other/other-types.mts +186 -0
- package/src/common/other/svg-constants.mts +1 -0
- package/src/common/other/svg-helper.mts +238 -0
- package/src/common/pic/pic-constants.mts +13 -0
- package/src/common/pic/pic-helper.mts +295 -0
- package/src/common/pic/pic-types.mts +29 -0
- package/src/common/root/root-constants.mts +41 -0
- package/src/common/root/root-types.mts +8 -0
- package/src/common/tag/tag-constants.mts +34 -0
- package/src/common/tag/tag-types.mts +19 -0
- package/src/core-constants.mts +506 -0
- package/src/core-helper.mts +33 -0
- package/src/core-types.mts +519 -0
- package/src/helper.spec.mts +64 -0
- package/src/index.mts +1 -0
- package/src/witness/app/app-base-v1.mts +584 -0
- package/src/witness/app/app-constants.mts +16 -0
- package/src/witness/app/app-helper.mts +322 -0
- package/src/witness/app/app-types.mts +252 -0
- package/src/witness/app/chat-app/chat-app-types.mts +40 -0
- package/src/witness/app/flash-app/flash-app-types.mts +38 -0
- package/src/witness/app/raw-app/raw-app-types.mts +40 -0
- package/src/witness/app/todo-app/todo-app-types.ts +59 -0
- package/src/witness/robbot/robbot-base-v1.ts +1531 -0
- package/src/witness/robbot/robbot-constants.mts +25 -0
- package/src/witness/robbot/robbot-helper.mts +676 -0
- package/src/witness/robbot/robbot-helper.spec.mts +135 -0
- package/src/witness/robbot/robbot-types.mts +797 -0
- package/src/witness/space/bootstrap/bootstrap-constants.mts +15 -0
- package/src/witness/space/inner-space-v1.ts +372 -0
- package/src/witness/space/outer-space/outer-space-constants.mts +1 -0
- package/src/witness/space/outer-space/outer-space-helper.mts +91 -0
- package/src/witness/space/outer-space/outer-space-types.mts +627 -0
- package/src/witness/space/space-base-v1.mts +414 -0
- package/src/witness/space/space-constants.mts +208 -0
- package/src/witness/space/space-helper.mts +3242 -0
- package/src/witness/space/space-types.mts +476 -0
- package/src/witness/witness-base-v1.ts +325 -0
- package/src/witness/witness-constants.mts +2 -0
- package/src/witness/witness-form-builder.mts +128 -0
- package/src/witness/witness-helper.mts +256 -0
- package/src/witness/witness-types.mts +249 -0
- package/tsconfig.json +15 -0
- package/tsconfig.test.json +10 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/index.mjs';
|
|
2
|
+
import { WitnessBase_V1 } from '../witness-base-v1';
|
|
3
|
+
import { IbGibSpace, IbGibSpaceData, IbGibSpaceOptionsCmd, IbGibSpaceOptionsCmdModifier, IbGibSpaceOptionsData, IbGibSpaceOptionsIbGib, IbGibSpaceOptionsRel8ns, IbGibSpaceRel8ns, IbGibSpaceResultData, IbGibSpaceResultIbGib, IbGibSpaceResultRel8ns } from '../../witness/space/space-types.mjs';
|
|
4
|
+
import { IbGibCacheService } from '../../common/cache/cache-types.mjs';
|
|
5
|
+
export interface IbGibSpaceAny extends SpaceBase_V1<any, any, any, any, any, any, any> {
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class SpaceBase_V1<TIbGib extends IbGib_V1 = IbGib_V1, TOptionsData extends IbGibSpaceOptionsData = IbGibSpaceOptionsData, TOptionsRel8ns extends IbGibSpaceOptionsRel8ns = IbGibSpaceOptionsRel8ns, TOptionsIbGib extends IbGibSpaceOptionsIbGib<TIbGib, TOptionsData, TOptionsRel8ns> = IbGibSpaceOptionsIbGib<TIbGib, TOptionsData, TOptionsRel8ns>, TResultData extends IbGibSpaceResultData = IbGibSpaceResultData, TResultRel8ns extends IbGibSpaceResultRel8ns = IbGibSpaceResultRel8ns, TResultIbGib extends IbGibSpaceResultIbGib<TIbGib, TResultData, TResultRel8ns> = IbGibSpaceResultIbGib<TIbGib, TResultData, TResultRel8ns>, TData extends IbGibSpaceData = IbGibSpaceData, TRel8ns extends IbGibSpaceRel8ns = IbGibSpaceRel8ns> extends WitnessBase_V1<TOptionsData, TOptionsRel8ns, TOptionsIbGib, TResultData, TResultRel8ns, TResultIbGib, TData, TRel8ns> implements IbGibSpace<TIbGib, TOptionsData, TOptionsRel8ns, TOptionsIbGib, TResultData, TResultRel8ns, TResultIbGib, TData, TRel8ns> {
|
|
8
|
+
/**
|
|
9
|
+
* Log context for convenience with logging. (Ignore if you don't want to use this.)
|
|
10
|
+
*/
|
|
11
|
+
protected lc: string;
|
|
12
|
+
/**
|
|
13
|
+
* Optional cache service. hmm...
|
|
14
|
+
*/
|
|
15
|
+
cacheSvc: IbGibCacheService | undefined;
|
|
16
|
+
constructor(initialData?: TData, initialRel8ns?: TRel8ns);
|
|
17
|
+
/**
|
|
18
|
+
* In a Space, we are concerned with getting ibGibs out of and putting ibGibs into a "space".
|
|
19
|
+
*
|
|
20
|
+
* So in this base, we take the incoming arg and divert it multiple ways, depending on our settings.
|
|
21
|
+
*/
|
|
22
|
+
protected witnessImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
23
|
+
protected abstract persistOptsAndResultIbGibs({ arg, result }: {
|
|
24
|
+
arg: TOptionsIbGib;
|
|
25
|
+
result: TResultIbGib;
|
|
26
|
+
}): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Routes the given `cmd` to the correct handling function in the space,
|
|
29
|
+
* and executes that function.
|
|
30
|
+
*
|
|
31
|
+
* Override this if you have custom commands to handle.
|
|
32
|
+
* Check for those first, and if not among them, call this
|
|
33
|
+
* via `super.doCommand(...)`. If cmd is still not found,
|
|
34
|
+
* this will throw.
|
|
35
|
+
*/
|
|
36
|
+
protected routeAndDoCommand<TCmdModifier extends IbGibSpaceOptionsCmdModifier = IbGibSpaceOptionsCmdModifier>({ cmd, cmdModifiers, arg, }: {
|
|
37
|
+
cmd: IbGibSpaceOptionsCmd | string;
|
|
38
|
+
cmdModifiers: (TCmdModifier | string)[];
|
|
39
|
+
arg: TOptionsIbGib;
|
|
40
|
+
}): Promise<TResultIbGib | undefined>;
|
|
41
|
+
protected get(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
42
|
+
protected abstract getImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
43
|
+
protected put(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
44
|
+
protected abstract putImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
45
|
+
protected delete(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
46
|
+
protected deleteImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
47
|
+
/**
|
|
48
|
+
* Get all (public?) addrs in space.
|
|
49
|
+
*
|
|
50
|
+
* @optional method for space.
|
|
51
|
+
*
|
|
52
|
+
* @returns all addresses in space (that it wants to reveal).
|
|
53
|
+
*/
|
|
54
|
+
protected getAddrs(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
55
|
+
protected getAddrsImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
56
|
+
/**
|
|
57
|
+
* Get latest ibGibs for given ibGib addresses.
|
|
58
|
+
*
|
|
59
|
+
* Usually I pass in the tjp address(es) if I have them.
|
|
60
|
+
*
|
|
61
|
+
* @optional method for space.
|
|
62
|
+
*
|
|
63
|
+
* @returns latest ibGibs in timelines for each given ibgib address.
|
|
64
|
+
*/
|
|
65
|
+
protected getLatestIbGibs(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
66
|
+
protected getLatestIbGibsImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
67
|
+
/**
|
|
68
|
+
* Get latest addrs for given ibGib(s)/address(es).
|
|
69
|
+
*
|
|
70
|
+
* Usually I pass in the tjp address(es) if I have them.
|
|
71
|
+
*
|
|
72
|
+
* @optional method for space.
|
|
73
|
+
*
|
|
74
|
+
* @returns latest addrs in timelines for each given ibgib address.
|
|
75
|
+
*/
|
|
76
|
+
protected getLatestAddrs(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
77
|
+
protected getLatestAddrsImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* Get temporal junction point ibgibs for given ibgib(s) or address(es).
|
|
80
|
+
*
|
|
81
|
+
* @optional method for space.
|
|
82
|
+
*
|
|
83
|
+
* @returns tjp ibgib for each given ibgib/address.
|
|
84
|
+
*/
|
|
85
|
+
protected getTjpIbGibs(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
86
|
+
protected getTjpIbGibsImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
87
|
+
/**
|
|
88
|
+
* Get temporal junction point addr(s) for given ibgib(s) or address(es).
|
|
89
|
+
*
|
|
90
|
+
* @optional method for space.
|
|
91
|
+
*
|
|
92
|
+
* @returns tjp addrs in timelines for each given ibgib/address.
|
|
93
|
+
*/
|
|
94
|
+
protected getTjpAddrs(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
95
|
+
protected getTjpAddrsImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
96
|
+
/**
|
|
97
|
+
* Supposed to be a check on either authorization, accessibility, existence...
|
|
98
|
+
*
|
|
99
|
+
* @notimplementedyet
|
|
100
|
+
*/
|
|
101
|
+
protected canGet(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
102
|
+
protected canGetImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
103
|
+
/**
|
|
104
|
+
* Supposed to be a check on either authorization, accessibility, existence...
|
|
105
|
+
*
|
|
106
|
+
* @notimplementedyet
|
|
107
|
+
*/
|
|
108
|
+
protected canPut(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
109
|
+
protected canPutImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
110
|
+
/**
|
|
111
|
+
* Supposed to be a check on either authorization, accessibility, existence...
|
|
112
|
+
*
|
|
113
|
+
* @notimplementedyet
|
|
114
|
+
*/
|
|
115
|
+
protected canDelete(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
116
|
+
protected canDeleteImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
|
|
117
|
+
/**
|
|
118
|
+
* Centralized location for general argument validation for a given witness.
|
|
119
|
+
*
|
|
120
|
+
* In the case of spaces, this is where I usually put my common validation
|
|
121
|
+
* for various cases on cmd+modifier combinations.
|
|
122
|
+
*
|
|
123
|
+
* @returns validation error string, empty if no errors.
|
|
124
|
+
*/
|
|
125
|
+
protected validateWitnessArg(arg: TOptionsIbGib): Promise<string[]>;
|
|
126
|
+
/**
|
|
127
|
+
* builds an arg ibGib.
|
|
128
|
+
*
|
|
129
|
+
* wrapper convenience to avoid long generic calls.
|
|
130
|
+
*/
|
|
131
|
+
argy({ argData, ibMetadata, noTimestamp, ibGibs, }: {
|
|
132
|
+
argData: TOptionsData;
|
|
133
|
+
ibMetadata?: string;
|
|
134
|
+
noTimestamp?: boolean;
|
|
135
|
+
ibGibs?: TIbGib[];
|
|
136
|
+
}): Promise<TOptionsIbGib>;
|
|
137
|
+
/**
|
|
138
|
+
* builds a result ibGib.
|
|
139
|
+
*
|
|
140
|
+
* wrapper convenience to avoid long generic calls.
|
|
141
|
+
*/
|
|
142
|
+
resulty({ resultData, ibGibs, }: {
|
|
143
|
+
resultData: TResultData;
|
|
144
|
+
ibGibs?: TIbGib[];
|
|
145
|
+
}): Promise<TResultIbGib>;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=space-base-v1.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-base-v1.d.mts","sourceRoot":"","sources":["../../../src/witness/space/space-base-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
import { getIbGibAddr } from '@ibgib/ts-gib';
|
|
2
|
+
import { WitnessBase_V1, } from '../witness-base-v1';
|
|
3
|
+
import { IbGibSpaceOptionsCmd } from '../../witness/space/space-types.mjs';
|
|
4
|
+
import { getSpaceResultMetadata } from '../../witness/space/space-helper.mjs';
|
|
5
|
+
import { validateIbGibIntrinsically } from '@ibgib/ts-gib/dist/V1/validate-helper.mjs';
|
|
6
|
+
// import { argy_, resulty_ } from '../witness-helper.mjs';
|
|
7
|
+
import { argy_, resulty_ } from '../../witness/witness-helper.mjs';
|
|
8
|
+
import { GLOBAL_LOG_A_LOT } from '../../core-constants.mjs';
|
|
9
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
10
|
+
export class SpaceBase_V1 extends WitnessBase_V1 {
|
|
11
|
+
// getSpaceIb(classname: string): string {
|
|
12
|
+
// const lc = `${this.lc}[${this.getSpaceIb.name}]`;
|
|
13
|
+
// if (!classname) {
|
|
14
|
+
// classname = this.lc?.replace('[','').replace(']','') || SpaceBase_V1.name+'_descendant';
|
|
15
|
+
// console.warn(`${lc} classname is falsy. Using ${classname}.`);
|
|
16
|
+
// }
|
|
17
|
+
// const name = this.data?.name || IBGIB_SPACE_NAME_DEFAULT;
|
|
18
|
+
// const id = this.data?.uuid || undefined;
|
|
19
|
+
// return `witness space ${classname} ${name} ${id}`;
|
|
20
|
+
// }
|
|
21
|
+
constructor(initialData, initialRel8ns) {
|
|
22
|
+
super(initialData, initialRel8ns);
|
|
23
|
+
/**
|
|
24
|
+
* Log context for convenience with logging. (Ignore if you don't want to use this.)
|
|
25
|
+
*/
|
|
26
|
+
this.lc = `${super.lc}[${SpaceBase_V1.name}]`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* In a Space, we are concerned with getting ibGibs out of and putting ibGibs into a "space".
|
|
30
|
+
*
|
|
31
|
+
* So in this base, we take the incoming arg and divert it multiple ways, depending on our settings.
|
|
32
|
+
*/
|
|
33
|
+
async witnessImpl(arg) {
|
|
34
|
+
const lc = `${this.lc}[${this.witnessImpl.name}]`;
|
|
35
|
+
if (logalot) {
|
|
36
|
+
console.log(`${lc}`);
|
|
37
|
+
}
|
|
38
|
+
// do the thing
|
|
39
|
+
let result = await this.routeAndDoCommand({
|
|
40
|
+
cmd: arg.data.cmd,
|
|
41
|
+
cmdModifiers: arg.data.cmdModifiers ?? [],
|
|
42
|
+
arg,
|
|
43
|
+
});
|
|
44
|
+
// persist the arg and result if we're configured to do so
|
|
45
|
+
// if (result && this.data.persistOptsAndResultIbGibs) {
|
|
46
|
+
// try {
|
|
47
|
+
// await this.persistOptsAndResultIbGibs({arg, result});
|
|
48
|
+
// } catch (error) {
|
|
49
|
+
// const emsg = `${lc} ${error.message}`;
|
|
50
|
+
// console.error(emsg);
|
|
51
|
+
// }
|
|
52
|
+
// }
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Routes the given `cmd` to the correct handling function in the space,
|
|
57
|
+
* and executes that function.
|
|
58
|
+
*
|
|
59
|
+
* Override this if you have custom commands to handle.
|
|
60
|
+
* Check for those first, and if not among them, call this
|
|
61
|
+
* via `super.doCommand(...)`. If cmd is still not found,
|
|
62
|
+
* this will throw.
|
|
63
|
+
*/
|
|
64
|
+
routeAndDoCommand({ cmd, cmdModifiers, arg, }) {
|
|
65
|
+
const lc = `${this.lc}[${this.routeAndDoCommand.name}]`;
|
|
66
|
+
switch (cmd) {
|
|
67
|
+
case IbGibSpaceOptionsCmd.get:
|
|
68
|
+
if ((cmdModifiers ?? []).length === 0) {
|
|
69
|
+
return this.get(arg);
|
|
70
|
+
}
|
|
71
|
+
else if (cmdModifiers.includes('can')) {
|
|
72
|
+
return this.canGet(arg);
|
|
73
|
+
}
|
|
74
|
+
else if (cmdModifiers.includes('latest')) {
|
|
75
|
+
if (cmdModifiers.includes('addrs')) {
|
|
76
|
+
return this.getLatestAddrs(arg);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return this.getLatestIbGibs(arg);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (cmdModifiers.includes('tjps')) {
|
|
83
|
+
if (cmdModifiers.includes('addrs')) {
|
|
84
|
+
return this.getTjpAddrs(arg);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return this.getTjpIbGibs(arg);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (cmdModifiers.includes('addrs')) {
|
|
91
|
+
return this.getAddrs(arg);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return this.get(arg);
|
|
95
|
+
}
|
|
96
|
+
case IbGibSpaceOptionsCmd.put:
|
|
97
|
+
if ((cmdModifiers ?? []).length === 0) {
|
|
98
|
+
return this.put(arg);
|
|
99
|
+
}
|
|
100
|
+
else if (cmdModifiers.includes('can')) {
|
|
101
|
+
return this.canPut(arg);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return this.put(arg);
|
|
105
|
+
}
|
|
106
|
+
case IbGibSpaceOptionsCmd.delete:
|
|
107
|
+
if ((cmdModifiers ?? []).length === 0) {
|
|
108
|
+
return this.delete(arg);
|
|
109
|
+
}
|
|
110
|
+
else if (cmdModifiers.includes('can')) {
|
|
111
|
+
return this.canDelete(arg);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
return this.delete(arg);
|
|
115
|
+
}
|
|
116
|
+
default:
|
|
117
|
+
throw new Error(`${lc} unknown cmd: ${cmd}. cmdModifiers: ${cmdModifiers}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
get(arg) { return this.getImpl(arg); }
|
|
121
|
+
put(arg) { return this.putImpl(arg); }
|
|
122
|
+
delete(arg) { return this.deleteImpl(arg); }
|
|
123
|
+
deleteImpl(arg) {
|
|
124
|
+
const lc = `${this.lc}[${this.deleteImpl.name}]`;
|
|
125
|
+
throw new Error(`${lc} not implemented`);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get all (public?) addrs in space.
|
|
129
|
+
*
|
|
130
|
+
* @optional method for space.
|
|
131
|
+
*
|
|
132
|
+
* @returns all addresses in space (that it wants to reveal).
|
|
133
|
+
*/
|
|
134
|
+
getAddrs(arg) { return this.getAddrsImpl(arg); }
|
|
135
|
+
getAddrsImpl(arg) {
|
|
136
|
+
const lc = `${this.lc}[${this.getAddrsImpl.name}]`;
|
|
137
|
+
throw new Error(`${lc} not implemented`);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get latest ibGibs for given ibGib addresses.
|
|
141
|
+
*
|
|
142
|
+
* Usually I pass in the tjp address(es) if I have them.
|
|
143
|
+
*
|
|
144
|
+
* @optional method for space.
|
|
145
|
+
*
|
|
146
|
+
* @returns latest ibGibs in timelines for each given ibgib address.
|
|
147
|
+
*/
|
|
148
|
+
getLatestIbGibs(arg) { return this.getLatestIbGibsImpl(arg); }
|
|
149
|
+
getLatestIbGibsImpl(arg) {
|
|
150
|
+
const lc = `${this.lc}[${this.getLatestIbGibsImpl.name}]`;
|
|
151
|
+
throw new Error(`${lc} not implemented`);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get latest addrs for given ibGib(s)/address(es).
|
|
155
|
+
*
|
|
156
|
+
* Usually I pass in the tjp address(es) if I have them.
|
|
157
|
+
*
|
|
158
|
+
* @optional method for space.
|
|
159
|
+
*
|
|
160
|
+
* @returns latest addrs in timelines for each given ibgib address.
|
|
161
|
+
*/
|
|
162
|
+
getLatestAddrs(arg) { return this.getLatestAddrsImpl(arg); }
|
|
163
|
+
getLatestAddrsImpl(arg) {
|
|
164
|
+
const lc = `${this.lc}[${this.getLatestAddrsImpl.name}]`;
|
|
165
|
+
throw new Error(`${lc} not implemented`);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get temporal junction point ibgibs for given ibgib(s) or address(es).
|
|
169
|
+
*
|
|
170
|
+
* @optional method for space.
|
|
171
|
+
*
|
|
172
|
+
* @returns tjp ibgib for each given ibgib/address.
|
|
173
|
+
*/
|
|
174
|
+
getTjpIbGibs(arg) { return this.getTjpIbGibsImpl(arg); }
|
|
175
|
+
getTjpIbGibsImpl(arg) {
|
|
176
|
+
const lc = `${this.lc}[${this.getTjpIbGibsImpl.name}]`;
|
|
177
|
+
throw new Error(`${lc} not implemented`);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Get temporal junction point addr(s) for given ibgib(s) or address(es).
|
|
181
|
+
*
|
|
182
|
+
* @optional method for space.
|
|
183
|
+
*
|
|
184
|
+
* @returns tjp addrs in timelines for each given ibgib/address.
|
|
185
|
+
*/
|
|
186
|
+
getTjpAddrs(arg) { return this.getTjpAddrsImpl(arg); }
|
|
187
|
+
getTjpAddrsImpl(arg) {
|
|
188
|
+
const lc = `${this.lc}[${this.getTjpAddrsImpl.name}]`;
|
|
189
|
+
throw new Error(`${lc} not implemented`);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Supposed to be a check on either authorization, accessibility, existence...
|
|
193
|
+
*
|
|
194
|
+
* @notimplementedyet
|
|
195
|
+
*/
|
|
196
|
+
canGet(arg) { return this.canGetImpl(arg); }
|
|
197
|
+
canGetImpl(arg) {
|
|
198
|
+
const lc = `${this.lc}[${this.canGetImpl.name}]`;
|
|
199
|
+
throw new Error(`${lc} not implemented`);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Supposed to be a check on either authorization, accessibility, existence...
|
|
203
|
+
*
|
|
204
|
+
* @notimplementedyet
|
|
205
|
+
*/
|
|
206
|
+
canPut(arg) { return this.canPutImpl(arg); }
|
|
207
|
+
canPutImpl(arg) {
|
|
208
|
+
const lc = `${this.lc}[${this.canPutImpl.name}]`;
|
|
209
|
+
throw new Error(`${lc} not implemented`);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Supposed to be a check on either authorization, accessibility, existence...
|
|
213
|
+
*
|
|
214
|
+
* @notimplementedyet
|
|
215
|
+
*/
|
|
216
|
+
canDelete(arg) { return this.canPutImpl(arg); }
|
|
217
|
+
canDeleteImpl(arg) {
|
|
218
|
+
const lc = `${this.lc}[${this.canDeleteImpl.name}]`;
|
|
219
|
+
throw new Error(`${lc} not implemented`);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Centralized location for general argument validation for a given witness.
|
|
223
|
+
*
|
|
224
|
+
* In the case of spaces, this is where I usually put my common validation
|
|
225
|
+
* for various cases on cmd+modifier combinations.
|
|
226
|
+
*
|
|
227
|
+
* @returns validation error string, empty if no errors.
|
|
228
|
+
*/
|
|
229
|
+
async validateWitnessArg(arg) {
|
|
230
|
+
const lc = `${this.lc}[${this.validateWitnessArg.name}]`;
|
|
231
|
+
let errors = [];
|
|
232
|
+
try {
|
|
233
|
+
errors = await super.validateWitnessArg(arg);
|
|
234
|
+
if (!arg.data) {
|
|
235
|
+
errors.push(`arg.data required (E: 8ee544d7d88a45c6adcbc15838a283a7)`);
|
|
236
|
+
return errors; // <<<< returns immediately
|
|
237
|
+
}
|
|
238
|
+
if (!this.data) {
|
|
239
|
+
errors.push(`this.data required (E: 64f80642d7de44329355d6f907e272c8)`);
|
|
240
|
+
return errors; /* <<<< returns early */
|
|
241
|
+
}
|
|
242
|
+
const { cmd, ibGibAddrs, } = arg.data;
|
|
243
|
+
let cmdModifiers = arg.data.cmdModifiers ?? [];
|
|
244
|
+
const ibGibs = arg.ibGibs;
|
|
245
|
+
if (!cmd) {
|
|
246
|
+
errors.push(`arg.data.cmd required (E: 72a11ee87a0d4896bcacd65a9c0284d9)`);
|
|
247
|
+
}
|
|
248
|
+
if (!Object.values(IbGibSpaceOptionsCmd).includes(cmd)) {
|
|
249
|
+
errors.push(`unknown arg.data.cmd: ${cmd}. (E: 95282ce61e97429f8049e61ec9f14f0b)`);
|
|
250
|
+
}
|
|
251
|
+
const ibGibAddrsLength = ibGibAddrs?.length ?? 0;
|
|
252
|
+
if (cmd === IbGibSpaceOptionsCmd.get &&
|
|
253
|
+
!cmdModifiers?.includes('addrs') && // we allow get addrs to be get ALL addrs
|
|
254
|
+
!cmdModifiers?.includes('latest') &&
|
|
255
|
+
ibGibAddrsLength === 0) {
|
|
256
|
+
errors.push(`ibGibAddrs required when cmd is ${cmd}. (E: ee55a3f60b90423cbe054f27c34ab7d5)`);
|
|
257
|
+
}
|
|
258
|
+
if (cmd === IbGibSpaceOptionsCmd.put) {
|
|
259
|
+
if (logalot) {
|
|
260
|
+
console.log(`${lc} validate put cmd`);
|
|
261
|
+
}
|
|
262
|
+
const ibGibsLength = ibGibs?.length ?? 0;
|
|
263
|
+
if (ibGibsLength === 0) {
|
|
264
|
+
errors.push(`ibGibs required when cmd is ${cmd}. (E: b3a422169f7344a48a1d44e7ad1ba44e)`);
|
|
265
|
+
}
|
|
266
|
+
else if (this.data.validateIbGibAddrsMatchIbGibs) {
|
|
267
|
+
// #region validate ibGib map to ibGibAddrs
|
|
268
|
+
if (logalot) {
|
|
269
|
+
console.log(`${lc} validateIbGibAddrsMatchIbGibs true, so doing so.`);
|
|
270
|
+
}
|
|
271
|
+
// confirm the incoming ibGibs match up with the addresses
|
|
272
|
+
// we have in `ibGibAddrs`.
|
|
273
|
+
if (ibGibsLength !== ibGibAddrsLength) {
|
|
274
|
+
errors.push(`ibGibsLength !== ibGibAddrsLength and this.data.validateIbGibAddrsMatchIbGibs is true. (E: 6c6bf824ab32443aa4d6b8bf4f8113dd)`);
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// lengths match, so validate ibgibs
|
|
278
|
+
if (logalot) {
|
|
279
|
+
console.log(`${lc} validateIbGibAddrsMatchIbGibs, lengths match. validating intrinsically`);
|
|
280
|
+
}
|
|
281
|
+
const ibGibAddrsCopy = ibGibAddrs.concat();
|
|
282
|
+
for (let i = 0; i < ibGibs.length; i++) {
|
|
283
|
+
const ibGib = ibGibs[i];
|
|
284
|
+
const intrinsicErrors = await validateIbGibIntrinsically({ ibGib });
|
|
285
|
+
if (intrinsicErrors?.length ?? 0 > 0) {
|
|
286
|
+
intrinsicErrors.forEach(x => errors.push(x));
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
// intrinsically valid, but ensure the ibGib
|
|
290
|
+
// addr maps 1-to-1 in ibGibAddrs
|
|
291
|
+
const xAddr = getIbGibAddr({ ibGib });
|
|
292
|
+
const xIndex = ibGibAddrsCopy.indexOf(xAddr);
|
|
293
|
+
if (xIndex === -1) {
|
|
294
|
+
errors.push(`ibGibAddrs don't map to calculated ibGib addrs. calculated Addr: (${xAddr}) (E: b21b3a7a74db43e5a8722acc97274646)`);
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
ibGibAddrsCopy.splice(xIndex, 1);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
// #endregion validate ibGib map to ibGibAddrs
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return errors;
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
console.error(`${lc} ${error.message}`);
|
|
310
|
+
throw error;
|
|
311
|
+
}
|
|
312
|
+
finally {
|
|
313
|
+
if (errors?.length > 0) {
|
|
314
|
+
console.error(`${lc} errors: ${errors}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* builds an arg ibGib.
|
|
320
|
+
*
|
|
321
|
+
* wrapper convenience to avoid long generic calls.
|
|
322
|
+
*/
|
|
323
|
+
async argy({ argData, ibMetadata, noTimestamp, ibGibs, }) {
|
|
324
|
+
const arg = await argy_({
|
|
325
|
+
argData,
|
|
326
|
+
ibMetadata,
|
|
327
|
+
noTimestamp
|
|
328
|
+
});
|
|
329
|
+
if (ibGibs) {
|
|
330
|
+
arg.ibGibs = ibGibs;
|
|
331
|
+
}
|
|
332
|
+
return arg;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* builds a result ibGib.
|
|
336
|
+
*
|
|
337
|
+
* wrapper convenience to avoid long generic calls.
|
|
338
|
+
*/
|
|
339
|
+
async resulty({ resultData, ibGibs, }) {
|
|
340
|
+
const result = await resulty_({
|
|
341
|
+
ibMetadata: getSpaceResultMetadata({ space: this }),
|
|
342
|
+
resultData,
|
|
343
|
+
});
|
|
344
|
+
if (ibGibs) {
|
|
345
|
+
result.ibGibs = ibGibs;
|
|
346
|
+
}
|
|
347
|
+
return result;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
//# sourceMappingURL=space-base-v1.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space-base-v1.mjs","sourceRoot":"","sources":["../../../src/witness/space/space-base-v1.mts"],"names":[],"mappings":"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"}
|