@ibgib/core-gib 0.0.89 → 0.0.90

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.
@@ -16,6 +16,4 @@ export declare const DEFAULT_TAG_ICON = "pricetag-outline";
16
16
  * Default description when creating a tag.
17
17
  */
18
18
  export declare const DEFAULT_TAG_DESCRIPTION = "This is a tag used for organizing data.";
19
- export declare const TAG_TEXT_REGEXP: RegExp;
20
- export declare const TAG_TEXT_REGEXP_DESCRIPTION = "tag text must start and end with an alphanumeric, and can contain a hyphen, question mark, dot or space.";
21
19
  //# sourceMappingURL=tag-constants.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag-constants.d.mts","sourceRoot":"","sources":["../../../src/common/tag/tag-constants.mts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD;;GAEG;AACH,eAAO,MAAM,uBAAuB,4CAA4C,CAAC;AAEjF,eAAO,MAAM,eAAe,QAAgC,CAAC;AAC7D,eAAO,MAAM,2BAA2B,6GAA6G,CAAC"}
1
+ {"version":3,"file":"tag-constants.d.mts","sourceRoot":"","sources":["../../../src/common/tag/tag-constants.mts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD;;GAEG;AACH,eAAO,MAAM,uBAAuB,4CAA4C,CAAC"}
@@ -23,6 +23,6 @@ export const DEFAULT_TAG_ICON = 'pricetag-outline';
23
23
  * Default description when creating a tag.
24
24
  */
25
25
  export const DEFAULT_TAG_DESCRIPTION = 'This is a tag used for organizing data.';
26
- export const TAG_TEXT_REGEXP = /^\w[\w .\-?!]{1,30}[\w.?!]$/;
27
- export const TAG_TEXT_REGEXP_DESCRIPTION = `tag text must start and end with an alphanumeric, and can contain a hyphen, question mark, dot or space.`;
26
+ // export const TAG_TEXT_REGEXP = /^\w[\w .\-?!]{1,30}[\w.?!]$/;
27
+ // export const TAG_TEXT_REGEXP_DESCRIPTION = `tag text must start and end with an alphanumeric, and can contain a hyphen, question mark, dot or space.`;
28
28
  //# sourceMappingURL=tag-constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag-constants.mjs","sourceRoot":"","sources":["../../../src/common/tag/tag-constants.mts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sDAAsD;AACtD,+DAA+D;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAG1C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,GAAG;CACN,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yCAAyC,CAAC;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAC7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,0GAA0G,CAAC"}
1
+ {"version":3,"file":"tag-constants.mjs","sourceRoot":"","sources":["../../../src/common/tag/tag-constants.mts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sDAAsD;AACtD,+DAA+D;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAG1C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,GAAG;CACN,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yCAAyC,CAAC;AAEjF,gEAAgE;AAChE,yJAAyJ"}
@@ -0,0 +1,39 @@
1
+ import { IbGibAddr } from "@ibgib/ts-gib/dist/types.mjs";
2
+ import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
3
+ import { TagIbGib_V1 } from "./tag-types.mjs";
4
+ import { MetaspaceService } from "../../witness/space/metaspace/metaspace-types.mjs";
5
+ import { IbGibSpaceAny } from "../../witness/space/space-base-v1.mjs";
6
+ /**
7
+ * relates an ibgib provided by {@link ibGib} or {@link addr} to the latest
8
+ * version of the given {@link tagIbGib}.
9
+ *
10
+ * persists this result in the same {@link space} and registers the newly
11
+ * created tag ibgib via the {@link metaspace}.
12
+ *
13
+ * @returns new tag ibgib that has the ibgib related to it
14
+ * @see {@link TAGGED_REL8N_NAME}
15
+ */
16
+ export declare function rel8ToTag({ ibGib, addr, tagIbGib, metaspace, space, }: {
17
+ /**
18
+ * the ibgib that we're relating to the tag. can also provide just the
19
+ * {@link addr}.
20
+ */
21
+ ibGib?: IbGib_V1;
22
+ /**
23
+ * the ibgib addr that we're relating to the tag.
24
+ */
25
+ addr?: IbGibAddr;
26
+ /**
27
+ * the tag that we're relating to
28
+ */
29
+ tagIbGib: TagIbGib_V1;
30
+ /**
31
+ * it's meta
32
+ */
33
+ metaspace: MetaspaceService;
34
+ /**
35
+ * space in which the tag exists on the tags special ibgib index
36
+ */
37
+ space: IbGibSpaceAny;
38
+ }): Promise<TagIbGib_V1>;
39
+ //# sourceMappingURL=tag-helper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-helper.d.mts","sourceRoot":"","sources":["../../../src/common/tag/tag-helper.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAK3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAItE;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,GACR,EAAE;IACC;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,gBAAgB,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CAkCvB"}
@@ -0,0 +1,55 @@
1
+ import { extractErrorMsg } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
2
+ import { getIbGibAddr } from "@ibgib/ts-gib/dist/helper.mjs";
3
+ import { rel8 } from "@ibgib/ts-gib/dist/V1/transforms/rel8.mjs";
4
+ import { GLOBAL_LOG_A_LOT } from "../../core-constants.mjs";
5
+ import { TAGGED_REL8N_NAME } from "./tag-constants.mjs";
6
+ const logalot = GLOBAL_LOG_A_LOT;
7
+ /**
8
+ * relates an ibgib provided by {@link ibGib} or {@link addr} to the latest
9
+ * version of the given {@link tagIbGib}.
10
+ *
11
+ * persists this result in the same {@link space} and registers the newly
12
+ * created tag ibgib via the {@link metaspace}.
13
+ *
14
+ * @returns new tag ibgib that has the ibgib related to it
15
+ * @see {@link TAGGED_REL8N_NAME}
16
+ */
17
+ export async function rel8ToTag({ ibGib, addr, tagIbGib, metaspace, space, }) {
18
+ const lc = `[${rel8ToTag.name}]`;
19
+ try {
20
+ if (logalot) {
21
+ console.log(`${lc} starting... (I: b1fd25ec28bce8f1916b4ab55f48a724)`);
22
+ }
23
+ if (addr && ibGib && addr !== getIbGibAddr({ ibGib })) {
24
+ throw new Error(`both addr (${addr}) and ibGib (${getIbGibAddr({ ibGib })}) are provided but addr does not match addr of ibGib. (E: f2c14234a78c917fb9f587beaee89324)`);
25
+ }
26
+ if (!addr && !ibGib) {
27
+ throw new Error(`either addr or ibGib required (E: 3d580f8ecc251a0c81c7ea8bc3d38524)`);
28
+ }
29
+ addr ?? (addr = getIbGibAddr({ ibGib }));
30
+ const latestTagAddr = await metaspace.getLatestAddr({ addr, ibGib, space });
31
+ if (latestTagAddr !== getIbGibAddr({ ibGib: tagIbGib })) {
32
+ let resGetLatestTag = await metaspace.get({ addr: latestTagAddr, space });
33
+ if (!resGetLatestTag.success || resGetLatestTag.ibGibs?.length !== 1) {
34
+ throw new Error(`could not get latest tag (${latestTagAddr}) from space (${space.ib}). error: ${resGetLatestTag.errorMsg ?? '[unknown error (E: a4e31c98398b417db8f617f98a5f2741)]'} (E: 73c085d81efdab0e7b8939222ec07524)`);
35
+ }
36
+ tagIbGib = resGetLatestTag.ibGibs.at(0);
37
+ }
38
+ const rel8nsToAddByAddr = { [TAGGED_REL8N_NAME]: [addr] };
39
+ const resRel8ToTag = await rel8({ src: tagIbGib, rel8nsToAddByAddr, dna: true, nCounter: true });
40
+ const newTagIbGib = resRel8ToTag.newIbGib;
41
+ await metaspace.persistTransformResult({ resTransform: resRel8ToTag, space });
42
+ await metaspace.registerNewIbGib({ ibGib: newTagIbGib, space });
43
+ return newTagIbGib;
44
+ }
45
+ catch (error) {
46
+ console.error(`${lc} ${extractErrorMsg(error)}`);
47
+ throw error;
48
+ }
49
+ finally {
50
+ if (logalot) {
51
+ console.log(`${lc} complete.`);
52
+ }
53
+ }
54
+ }
55
+ //# sourceMappingURL=tag-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-helper.mjs","sourceRoot":"","sources":["../../../src/common/tag/tag-helper.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,GAuBR;IACG,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;IACjC,IAAI,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;QAAC,CAAC;QAExF,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,gBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,6FAA6F,CAAC,CAAC;QAAC,CAAC;QAEnO,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAAC,CAAC;QAChH,IAAI,KAAJ,IAAI,GAAK,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC;QAEjC,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,aAAa,KAAK,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACtD,IAAI,eAAe,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,iBAAiB,KAAK,CAAC,EAAE,aAAa,eAAe,CAAC,QAAQ,IAAI,uDAAuD,wCAAwC,CAAC,CAAC;YACjO,CAAC;YACD,QAAQ,GAAG,eAAe,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC,CAAiB,CAAC;QAC7D,CAAC;QAED,MAAM,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,YAAY,GACd,MAAM,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAuB,CAAC;QAEzD,MAAM,SAAS,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,SAAS,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhE,OAAO,WAAW,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;IAChB,CAAC;YAAS,CAAC;QACP,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;IACpD,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/core-gib",
3
- "version": "0.0.89",
3
+ "version": "0.0.90",
4
4
  "description": "ibgib core functionality, including base architecture for witnesses, spaces, apps, robbots, etc., as well as shared utility functions. Node v19+ needed for heavily-used isomorphic webcrypto hashing consumed in both node and browsers.",
5
5
  "funding": {
6
6
  "type": "individual",
@@ -30,5 +30,5 @@ export const DEFAULT_TAG_ICON = 'pricetag-outline';
30
30
  */
31
31
  export const DEFAULT_TAG_DESCRIPTION = 'This is a tag used for organizing data.';
32
32
 
33
- export const TAG_TEXT_REGEXP = /^\w[\w .\-?!]{1,30}[\w.?!]$/;
34
- export const TAG_TEXT_REGEXP_DESCRIPTION = `tag text must start and end with an alphanumeric, and can contain a hyphen, question mark, dot or space.`;
33
+ // export const TAG_TEXT_REGEXP = /^\w[\w .\-?!]{1,30}[\w.?!]$/;
34
+ // export const TAG_TEXT_REGEXP_DESCRIPTION = `tag text must start and end with an alphanumeric, and can contain a hyphen, question mark, dot or space.`;
@@ -0,0 +1,87 @@
1
+ import { extractErrorMsg } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
2
+ import { IbGibAddr } from "@ibgib/ts-gib/dist/types.mjs";
3
+ import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
4
+ import { getIbGibAddr } from "@ibgib/ts-gib/dist/helper.mjs";
5
+ import { rel8 } from "@ibgib/ts-gib/dist/V1/transforms/rel8.mjs";
6
+
7
+ import { GLOBAL_LOG_A_LOT } from "../../core-constants.mjs";
8
+ import { TagIbGib_V1 } from "./tag-types.mjs";
9
+ import { TAGGED_REL8N_NAME } from "./tag-constants.mjs";
10
+ import { MetaspaceService } from "../../witness/space/metaspace/metaspace-types.mjs";
11
+ import { IbGibSpaceAny } from "../../witness/space/space-base-v1.mjs";
12
+
13
+ const logalot = GLOBAL_LOG_A_LOT;
14
+
15
+ /**
16
+ * relates an ibgib provided by {@link ibGib} or {@link addr} to the latest
17
+ * version of the given {@link tagIbGib}.
18
+ *
19
+ * persists this result in the same {@link space} and registers the newly
20
+ * created tag ibgib via the {@link metaspace}.
21
+ *
22
+ * @returns new tag ibgib that has the ibgib related to it
23
+ * @see {@link TAGGED_REL8N_NAME}
24
+ */
25
+ export async function rel8ToTag({
26
+ ibGib,
27
+ addr,
28
+ tagIbGib,
29
+ metaspace,
30
+ space,
31
+ }: {
32
+ /**
33
+ * the ibgib that we're relating to the tag. can also provide just the
34
+ * {@link addr}.
35
+ */
36
+ ibGib?: IbGib_V1,
37
+ /**
38
+ * the ibgib addr that we're relating to the tag.
39
+ */
40
+ addr?: IbGibAddr,
41
+ /**
42
+ * the tag that we're relating to
43
+ */
44
+ tagIbGib: TagIbGib_V1,
45
+ /**
46
+ * it's meta
47
+ */
48
+ metaspace: MetaspaceService,
49
+ /**
50
+ * space in which the tag exists on the tags special ibgib index
51
+ */
52
+ space: IbGibSpaceAny,
53
+ }): Promise<TagIbGib_V1> {
54
+ const lc = `[${rel8ToTag.name}]`;
55
+ try {
56
+ if (logalot) { console.log(`${lc} starting... (I: b1fd25ec28bce8f1916b4ab55f48a724)`); }
57
+
58
+ if (addr && ibGib && addr !== getIbGibAddr({ ibGib })) { throw new Error(`both addr (${addr}) and ibGib (${getIbGibAddr({ ibGib })}) are provided but addr does not match addr of ibGib. (E: f2c14234a78c917fb9f587beaee89324)`); }
59
+
60
+ if (!addr && !ibGib) { throw new Error(`either addr or ibGib required (E: 3d580f8ecc251a0c81c7ea8bc3d38524)`); }
61
+ addr ??= getIbGibAddr({ ibGib });
62
+
63
+ const latestTagAddr = await metaspace.getLatestAddr({ addr, ibGib, space });
64
+ if (latestTagAddr !== getIbGibAddr({ ibGib: tagIbGib })) {
65
+ let resGetLatestTag = await metaspace.get({ addr: latestTagAddr, space });
66
+ if (!resGetLatestTag.success || resGetLatestTag.ibGibs?.length !== 1) {
67
+ throw new Error(`could not get latest tag (${latestTagAddr}) from space (${space.ib}). error: ${resGetLatestTag.errorMsg ?? '[unknown error (E: a4e31c98398b417db8f617f98a5f2741)]'} (E: 73c085d81efdab0e7b8939222ec07524)`);
68
+ }
69
+ tagIbGib = resGetLatestTag.ibGibs!.at(0)! as TagIbGib_V1;
70
+ }
71
+
72
+ const rel8nsToAddByAddr = { [TAGGED_REL8N_NAME]: [addr] };
73
+ const resRel8ToTag =
74
+ await rel8({ src: tagIbGib, rel8nsToAddByAddr, dna: true, nCounter: true });
75
+ const newTagIbGib = resRel8ToTag.newIbGib as TagIbGib_V1;
76
+
77
+ await metaspace.persistTransformResult({ resTransform: resRel8ToTag, space });
78
+ await metaspace.registerNewIbGib({ ibGib: newTagIbGib, space });
79
+
80
+ return newTagIbGib;
81
+ } catch (error) {
82
+ console.error(`${lc} ${extractErrorMsg(error)}`);
83
+ throw error;
84
+ } finally {
85
+ if (logalot) { console.log(`${lc} complete.`); }
86
+ }
87
+ }