@cluesurf/kink 1.0.8 → 1.2.0

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 (55) hide show
  1. package/code/base/index.ts +223 -0
  2. package/code/index.ts +7 -0
  3. package/code/site/index.ts +92 -0
  4. package/code/site/kink.ts +97 -0
  5. package/code/site/make.ts +17 -0
  6. package/code/site/test.ts +35 -0
  7. package/code/tree/browser.ts +20 -0
  8. package/code/tree/index.ts +1 -0
  9. package/code/tree/make.ts +347 -0
  10. package/code/tree/node.ts +99 -0
  11. package/code/tree/test.ts +51 -0
  12. package/eslint.config.ts +3 -0
  13. package/host/code/base/index.js +138 -0
  14. package/host/code/base/index.js.map +1 -0
  15. package/host/code/index.d.ts +5 -0
  16. package/host/code/index.js +6 -0
  17. package/host/code/index.js.map +1 -0
  18. package/host/code/site/index.d.ts +7 -0
  19. package/host/code/site/index.js +75 -0
  20. package/host/code/site/index.js.map +1 -0
  21. package/host/code/site/kink.d.ts +31 -0
  22. package/host/code/site/kink.js +41 -0
  23. package/host/code/site/kink.js.map +1 -0
  24. package/host/code/site/make.d.ts +1 -0
  25. package/host/code/site/make.js +18 -0
  26. package/host/code/site/make.js.map +1 -0
  27. package/host/code/site/test.d.ts +7 -0
  28. package/host/code/site/test.js +23 -0
  29. package/host/code/site/test.js.map +1 -0
  30. package/host/code/tree/browser.d.ts +6 -0
  31. package/host/code/tree/browser.js +17 -0
  32. package/host/code/tree/browser.js.map +1 -0
  33. package/host/code/tree/index.d.ts +1 -0
  34. package/host/code/tree/index.js +2 -0
  35. package/host/code/tree/index.js.map +1 -0
  36. package/host/code/tree/make.d.ts +30 -0
  37. package/host/code/tree/make.js +271 -0
  38. package/host/code/tree/make.js.map +1 -0
  39. package/host/code/tree/node.d.ts +6 -0
  40. package/host/code/tree/node.js +81 -0
  41. package/host/code/tree/node.js.map +1 -0
  42. package/host/code/tree/test.d.ts +7 -0
  43. package/host/code/tree/test.js +37 -0
  44. package/host/code/tree/test.js.map +1 -0
  45. package/host/test/index.d.ts +2 -0
  46. package/host/test/index.js +11 -0
  47. package/host/test/index.js.map +1 -0
  48. package/host/test/kink.d.ts +11 -0
  49. package/host/test/kink.js +12 -0
  50. package/host/test/kink.js.map +1 -0
  51. package/package.json +21 -10
  52. package/readme.md +6 -0
  53. package/host/index.js +0 -170
  54. package/host/index.js.map +0 -1
  55. /package/host/{index.d.ts → code/base/index.d.ts} +0 -0
@@ -0,0 +1,75 @@
1
+ import Kink, { KinkList } from '../base';
2
+ import { z } from 'zod';
3
+ import kink, { host } from './kink';
4
+ export function isZodError(input) {
5
+ return Boolean(
6
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
7
+ input && !input.success && 'error' in input);
8
+ }
9
+ export function loadKink(error) {
10
+ const kink = loadKinkList(error);
11
+ if (kink instanceof KinkList) {
12
+ if (kink?.list.length === 1) {
13
+ return kink.list[0];
14
+ }
15
+ }
16
+ return kink;
17
+ }
18
+ export function loadKinkList(error) {
19
+ if (error instanceof z.ZodError) {
20
+ return loadZodErrorJSON(error);
21
+ }
22
+ else {
23
+ if (error instanceof KinkList) {
24
+ error.list.forEach(error => {
25
+ Kink.saveFill(error);
26
+ });
27
+ return error;
28
+ }
29
+ else if (error instanceof Kink) {
30
+ Kink.saveFill(error);
31
+ return error;
32
+ }
33
+ else if (error instanceof Error) {
34
+ return Kink.makeBase(error, { siteCode: 500 });
35
+ }
36
+ else {
37
+ return Kink.makeBase(new Error(error), {
38
+ siteCode: 500,
39
+ });
40
+ }
41
+ }
42
+ }
43
+ export function loadZodErrorJSON(error) {
44
+ return new KinkList(error.issues.map(error => {
45
+ // ZodInvalidTypeIssue | ZodInvalidLiteralIssue | ZodUnrecognizedKeysIssue | ZodInvalidUnionIssue | ZodInvalidUnionDiscriminatorIssue | ZodInvalidEnumValueIssue | ZodInvalidArgumentsIssue | ZodInvalidReturnTypeIssue | ZodInvalidDateIssue | ZodInvalidStringIssue | ZodTooSmallIssue | ZodTooBigIssue | ZodInvalidIntersectionTypesIssue | ZodNotMultipleOfIssue | ZodNotFiniteIssue | ZodCustomIssue;
46
+ switch (error.code) {
47
+ case z.ZodIssueCode.invalid_type:
48
+ return kink('form_fail', {
49
+ have: error.received,
50
+ link: error.path.map(String),
51
+ message: error.message,
52
+ need: error.expected,
53
+ }, 406);
54
+ case z.ZodIssueCode.unrecognized_keys:
55
+ return kink('form_link_fail', {
56
+ link: error.path,
57
+ list: error.keys,
58
+ message: error.message,
59
+ }, 406);
60
+ default: {
61
+ const kink = new Kink({
62
+ code: Kink.makeCode(host, 0),
63
+ form: 'z.ZodError',
64
+ host: host,
65
+ note: error.message,
66
+ time: Kink.makeTime(Date.now()),
67
+ });
68
+ kink.siteCode = 406;
69
+ return kink;
70
+ }
71
+ }
72
+ }));
73
+ }
74
+ export { default } from './make';
75
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../code/site/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import Kink from '../../code/base';
2
+ export declare const host = "@cluesurf/kink";
3
+ type BaseZodError = {
4
+ link: Array<string | number>;
5
+ message: string;
6
+ };
7
+ type Base = {
8
+ call_fail: {
9
+ take: {};
10
+ };
11
+ call_time_meet: {
12
+ take: {
13
+ link: string;
14
+ };
15
+ };
16
+ form_fail: {
17
+ take: BaseZodError & {
18
+ have: string;
19
+ link: Array<string>;
20
+ need: string;
21
+ };
22
+ };
23
+ form_link_fail: {
24
+ take: BaseZodError & {
25
+ list: Array<string>;
26
+ };
27
+ };
28
+ };
29
+ type Name = keyof Base;
30
+ export default function makeBase<N extends Name>(form: N, link?: Base[N]['take'], siteCode?: number): Kink;
31
+ export {};
@@ -0,0 +1,41 @@
1
+ import Kink from '../../code/base';
2
+ export const host = '@cluesurf/kink';
3
+ let CODE_INDEX = 1;
4
+ const CODE = {
5
+ call_fail: CODE_INDEX++,
6
+ call_time_meet: CODE_INDEX++,
7
+ form_fail: CODE_INDEX++,
8
+ form_link_fail: CODE_INDEX++,
9
+ };
10
+ Kink.code(host, (code) => code.toString(16).padStart(4, '0'));
11
+ Kink.base(host, 'call_time_meet', (take) => ({
12
+ code: CODE.call_time_meet,
13
+ link: take.link,
14
+ note: 'Request timeout.',
15
+ }));
16
+ Kink.base(host, 'call_fail', () => ({
17
+ code: CODE.call_fail,
18
+ note: 'System unable to make request currently.',
19
+ }));
20
+ Kink.base(host, 'form_fail', (take) => ({
21
+ code: CODE.form_fail,
22
+ have: take.have,
23
+ hint: take.message,
24
+ link: take.link,
25
+ need: take.need,
26
+ note: 'Invalid link type.',
27
+ }));
28
+ // https://github.com/colinhacks/zod/blob/master/ERROR_HANDLING.md
29
+ Kink.base(host, 'form_link_fail', (take) => ({
30
+ code: CODE.form_link_fail,
31
+ hint: take.message,
32
+ link: take.link,
33
+ list: take.list,
34
+ note: 'Unrecognized keys in object.',
35
+ }));
36
+ export default function makeBase(form, link, siteCode) {
37
+ const kink = Kink.make(host, form, link);
38
+ kink.siteCode = siteCode;
39
+ return kink;
40
+ }
41
+ //# sourceMappingURL=kink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kink.js","sourceRoot":"","sources":["../../../code/site/kink.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAE9B,MAAM,CAAC,MAAM,IAAI,GAAG,gBAAgB,CAAA;AAsCpC,IAAI,UAAU,GAAG,CAAC,CAAA;AAElB,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,UAAU,EAAE;IACvB,cAAc,EAAE,UAAU,EAAE;IAC5B,SAAS,EAAE,UAAU,EAAE;IACvB,cAAc,EAAE,UAAU,EAAE;CAC7B,CAAA;AAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAErE,IAAI,CAAC,IAAI,CACP,IAAI,EACJ,gBAAgB,EAChB,CAAC,IAAoC,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,IAAI,CAAC,cAAc;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,kBAAkB;CACzB,CAAC,CACH,CAAA;AAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC,SAAS;IACpB,IAAI,EAAE,0CAA0C;CACjD,CAAC,CAAC,CAAA;AAEH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,IAA+B,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,EAAE,IAAI,CAAC,SAAS;IACpB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,IAAI,CAAC,OAAO;IAClB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,oBAAoB;CAC3B,CAAC,CAAC,CAAA;AAEH,kEAAkE;AAClE,IAAI,CAAC,IAAI,CACP,IAAI,EACJ,gBAAgB,EAChB,CAAC,IAAoC,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,IAAI,CAAC,cAAc;IACzB,IAAI,EAAE,IAAI,CAAC,OAAO;IAClB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,8BAA8B;CACrC,CAAC,CACH,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,IAAO,EACP,IAAsB,EACtB,QAAiB;IAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACxB,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ export default function makeSiteKinkText(error: any): string;
@@ -0,0 +1,18 @@
1
+ import { KinkList } from '../base';
2
+ import { loadKink } from '.';
3
+ import { makeKinkText } from '../tree';
4
+ export default function makeSiteKinkText(error) {
5
+ const kink = loadKink(error);
6
+ const text = [];
7
+ if (kink instanceof KinkList) {
8
+ text.push(makeKinkText(kink));
9
+ kink.list.forEach(kink => {
10
+ text.push(makeKinkText(kink));
11
+ });
12
+ }
13
+ else if (kink) {
14
+ text.push(makeKinkText(kink));
15
+ }
16
+ return text.join('\n');
17
+ }
18
+ //# sourceMappingURL=make.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make.js","sourceRoot":"","sources":["../../../code/site/make.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAU;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,MAAM,IAAI,GAAkB,EAAE,CAAA;IAC9B,IAAI,IAAI,YAAY,QAAQ,EAAE;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;KACH;SAAM,IAAI,IAAI,EAAE;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;KAC9B;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import Kink from '../../code/base';
2
+ type Base = {
3
+ syntax_error: {};
4
+ };
5
+ type Name = keyof Base;
6
+ export default function kink<N extends Name>(form: N, link?: Base[N]): Kink;
7
+ export {};
@@ -0,0 +1,23 @@
1
+ import Kink from '../../code/base';
2
+ import fs from 'fs';
3
+ import makeSiteKinkText from '.';
4
+ const host = '@cluesurf/kink';
5
+ Kink.base(host, 'syntax_error', () => ({
6
+ code: 1,
7
+ note: 'Syntax error',
8
+ }));
9
+ Kink.code(host, (code) => code.toString(16).padStart(4, '0'));
10
+ export default function kink(form, link) {
11
+ return Kink.make(host, form, link);
12
+ }
13
+ // https://nodejs.org/api/errors.html
14
+ process.on('uncaughtException', err => {
15
+ console.log(makeSiteKinkText(err));
16
+ });
17
+ setTimeout(() => {
18
+ throw kink('syntax_error');
19
+ });
20
+ setTimeout(() => {
21
+ fs.readFileSync('.');
22
+ });
23
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../code/site/test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,gBAAgB,MAAM,GAAG,CAAA;AAEhC,MAAM,IAAI,GAAG,gBAAgB,CAAA;AAQ7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC,CAAA;AAEH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAErE,MAAM,CAAC,OAAO,UAAU,IAAI,CAAiB,IAAO,EAAE,IAAc;IAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,qCAAqC;AACrC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE;IACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;AACpC,CAAC,CAAC,CAAA;AAEF,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,IAAI,CAAC,cAAc,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import Kink from '../../code/base';
2
+ import makeText from './make';
3
+ export * from './make';
4
+ export declare function makeBaseKinkText(kink: Error): string;
5
+ export declare function makeKinkText(kink: Kink): string;
6
+ export { makeText };
@@ -0,0 +1,17 @@
1
+ import Kink from '../../code/base';
2
+ import makeText from './make';
3
+ export * from './make';
4
+ export function makeBaseKinkText(kink) {
5
+ return makeText({ ...Kink.makeBase(kink), list: [] });
6
+ }
7
+ export function makeKinkText(kink) {
8
+ return makeText({
9
+ code: kink.code,
10
+ host: kink.host,
11
+ list: kink.stack?.split('\n') ?? [],
12
+ note: kink.note,
13
+ time: kink.time,
14
+ });
15
+ }
16
+ export { makeText };
17
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../code/tree/browser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,QAAQ,MAAM,QAAQ,CAAA;AAE7B,cAAc,QAAQ,CAAA;AAEtB,MAAM,UAAU,gBAAgB,CAAC,IAAW;IAC1C,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,OAAO,QAAQ,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './node';
@@ -0,0 +1,2 @@
1
+ export * from './node';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../code/tree/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,30 @@
1
+ export type HostLinkHook = (file: string, line: number, rise: number) => [string, number | undefined, number | undefined];
2
+ export type LineListLink = {
3
+ code?: number;
4
+ file: string;
5
+ line?: number;
6
+ task?: string;
7
+ };
8
+ export type MakeText = {
9
+ code: string;
10
+ hook?: HostLinkHook;
11
+ host: string;
12
+ link?: Record<string, unknown>;
13
+ list: Array<string>;
14
+ note: string;
15
+ time: string;
16
+ };
17
+ export declare const TIME_FORM = "yyyy/MM/dd @ hh:mm:ss.SSSaaa";
18
+ export declare function makeLinkList(list: Array<string>, hook?: HostLinkHook): {
19
+ linkList: LineListLink[];
20
+ note: string[];
21
+ };
22
+ /**
23
+ * This you pass it a stack trace and it will render the error text.
24
+ */
25
+ declare const makeText: ({ host, code, note, link, list, time, hook, }: MakeText) => string;
26
+ export default makeText;
27
+ export { makeKinkText, makeBaseKinkText } from './node';
28
+ export declare const makeTextHead: (note: string, code: string, host: string, time: string) => string[];
29
+ export declare function readListLine(text: string, hook?: HostLinkHook): LineListLink | undefined;
30
+ export declare function readListLineFile(text: string, hook?: HostLinkHook): LineListLink;
@@ -0,0 +1,271 @@
1
+ // @ts-ignore
2
+ import { text as tint } from '@cluesurf/show';
3
+ export const TIME_FORM = 'yyyy/MM/dd @ hh:mm:ss.SSSaaa';
4
+ export function makeLinkList(list, hook) {
5
+ const noteLine = [];
6
+ const linkList = [];
7
+ let find = false;
8
+ let i = list.length - 1;
9
+ while (i >= 0) {
10
+ const line = list[i--];
11
+ if (!find && line?.startsWith(' at ')) {
12
+ const link = readListLine(line.slice(' at '.length), hook);
13
+ if (link) {
14
+ linkList.push(link);
15
+ }
16
+ }
17
+ else if (line) {
18
+ find = true;
19
+ noteLine.push(line);
20
+ }
21
+ }
22
+ return { linkList: linkList.reverse(), note: noteLine };
23
+ }
24
+ /**
25
+ * This you pass it a stack trace and it will render the error text.
26
+ */
27
+ const makeText = ({ host, code, note, link = {}, list, time, hook, }) => {
28
+ const textList = [];
29
+ const W = { tone: 'white' };
30
+ const WB = { tone: 'whiteBright' };
31
+ const B = { tone: 'blue' };
32
+ const M = { tone: 'magenta' };
33
+ const MB = { bold: true, tone: 'cyan' };
34
+ const G = { tone: 'green' };
35
+ const H = { tone: 'blackBright' };
36
+ textList.push(...makeTextHead(note, code, host, time));
37
+ textList.push(...makeLinkHash(link, 1));
38
+ const { linkList } = makeLinkList(list, hook);
39
+ linkList.forEach(link => {
40
+ let head = [];
41
+ if (link.line) {
42
+ head.push(link.line);
43
+ }
44
+ if (link.code) {
45
+ head.push(link.code);
46
+ }
47
+ const headText = head.length ? ':' + head.join(':') : '';
48
+ const siteText = tint('site <', H);
49
+ const fileText = tint(`${link.file}${headText}`, WB);
50
+ textList.push(` ${siteText}${fileText}${tint('>', H)}`);
51
+ if (link.task) {
52
+ const callText = ' ' + tint(`call <`, H);
53
+ const taskText = tint(link.task, W);
54
+ textList.push(`${callText}${taskText}${tint('>', H)}`);
55
+ }
56
+ });
57
+ return textList.join('\n');
58
+ function makeLinkHash(link, move) {
59
+ const textList = [];
60
+ const moveText = makeTextMove(move);
61
+ for (const name in link) {
62
+ const bond = link[name];
63
+ if (bond === undefined) {
64
+ textList.push(...makeLinkVoid(name, move));
65
+ }
66
+ else if (bond === null) {
67
+ textList.push(...makeLinkNull(name, move));
68
+ }
69
+ else if (typeof bond === 'boolean') {
70
+ textList.push(...makeLinkWave(name, bond, move));
71
+ }
72
+ else if (typeof bond === 'string') {
73
+ textList.push(...makeLinkText(name, bond, move));
74
+ }
75
+ else if (typeof bond === 'number') {
76
+ textList.push(...makeLinkSize(name, bond, move));
77
+ }
78
+ else if (Array.isArray(bond)) {
79
+ bond.forEach(bond => {
80
+ textList.push(...makeLinkBond(name, bond, move));
81
+ });
82
+ }
83
+ else if (typeof bond === 'object') {
84
+ let base = true;
85
+ for (const bondName in bond) {
86
+ const bind = bond[bondName];
87
+ if (base) {
88
+ base = false;
89
+ if (bind === undefined) {
90
+ textList.push(...makeLinkVoid(name, move));
91
+ }
92
+ else if (bind === null) {
93
+ textList.push(...makeLinkNull(name, move));
94
+ }
95
+ else if (typeof bind === 'boolean') {
96
+ textList.push(...makeLinkWave(name, bind, move));
97
+ }
98
+ else if (typeof bind === 'string') {
99
+ textList.push(...makeLinkText(name, bind, move));
100
+ }
101
+ else if (typeof bind === 'number') {
102
+ textList.push(...makeLinkSize(name, bind, move));
103
+ }
104
+ else if (Array.isArray(bind)) {
105
+ textList.push(`${moveText}${tint(`bind ${name}`, H)}`);
106
+ bind.forEach(bind => {
107
+ textList.push(...makeLinkBond(bondName, bind, move + 1));
108
+ });
109
+ }
110
+ else if (typeof bind === 'object') {
111
+ textList.push(`${moveText}${tint(`bind ${name}`, H)}`);
112
+ textList.push(...makeLinkBond(bondName, bind, move + 1));
113
+ }
114
+ }
115
+ else {
116
+ if (bind === undefined) {
117
+ textList.push(...makeLinkVoid(bondName, move + 1));
118
+ }
119
+ else if (bind === null) {
120
+ textList.push(...makeLinkNull(bondName, move + 1));
121
+ }
122
+ else if (typeof bind === 'boolean') {
123
+ textList.push(...makeLinkWave(bondName, bind, move + 1));
124
+ }
125
+ else if (typeof bind === 'string') {
126
+ textList.push(...makeLinkText(bondName, bind, move + 1));
127
+ }
128
+ else if (typeof bind === 'number') {
129
+ textList.push(...makeLinkSize(bondName, bind, move + 1));
130
+ }
131
+ else if (Array.isArray(bind)) {
132
+ bind.forEach(bind => {
133
+ textList.push(...makeLinkBond(bondName, bind, move + 1));
134
+ });
135
+ }
136
+ else if (typeof bind === 'object') {
137
+ textList.push(...makeLinkBond(bondName, bind, move + 1));
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
143
+ return textList;
144
+ }
145
+ function makeLinkBond(name, bond, move) {
146
+ const textList = [];
147
+ if (bond === undefined) {
148
+ textList.push(...makeLinkVoid(name, move));
149
+ }
150
+ else if (bond === null) {
151
+ textList.push(...makeLinkNull(name, move));
152
+ }
153
+ else if (typeof bond === 'boolean') {
154
+ textList.push(...makeLinkWave(name, bond, move));
155
+ }
156
+ else if (typeof bond === 'string') {
157
+ textList.push(...makeLinkText(name, bond, move));
158
+ }
159
+ else if (typeof bond === 'number') {
160
+ textList.push(...makeLinkSize(name, bond, move));
161
+ }
162
+ else if (typeof bond === 'object') {
163
+ const moveText = makeTextMove(move);
164
+ textList.push(`${moveText}${tint(`bind ${name}`, H)}`);
165
+ textList.push(...makeLinkHash(bond, move + 1));
166
+ }
167
+ return textList;
168
+ }
169
+ function makeLinkVoid(name, move) {
170
+ const textList = [];
171
+ // const moveText = makeTextMove(move)
172
+ // textList.push(
173
+ // `${moveText}${tint(`${name} <`, H)}${tint('void', B)}${tint(
174
+ // `>`,
175
+ // H,
176
+ // )}`,
177
+ // )
178
+ return textList;
179
+ }
180
+ function makeLinkNull(name, move) {
181
+ const textList = [];
182
+ const moveText = makeTextMove(move);
183
+ textList.push(`${moveText}${tint(`bind`, H)} ${tint(name, W)}${tint(`,`, H)} ${tint('null', MB)}`);
184
+ return textList;
185
+ }
186
+ function makeLinkSize(name, bond, move) {
187
+ const textList = [];
188
+ const moveText = makeTextMove(move);
189
+ textList.push(`${moveText}${tint(`bind`, H)} ${tint(name, W)}${tint(`,`, H)} ${tint(String(bond), G)}`);
190
+ return textList;
191
+ }
192
+ function makeLinkWave(name, bond, move) {
193
+ const textList = [];
194
+ const moveText = makeTextMove(move);
195
+ textList.push(`${moveText}${tint(`bind`, H)} ${tint(name, W)}${tint(`,`, H)} ${tint(String(bond), B)}`);
196
+ return textList;
197
+ }
198
+ function makeLinkText(name, bond, move) {
199
+ const textList = [];
200
+ const moveText = makeTextMove(move);
201
+ if (bond.match(/\n/)) {
202
+ textList.push(`${moveText}${tint(`bind`, H)} ${tint(name, W)}${tint(`, <`, H)}`);
203
+ bond.split(/\n/).forEach(line => {
204
+ const moveNest = move + 1;
205
+ const moveNestText = makeTextMove(moveNest);
206
+ textList.push(`${moveNestText}${tint(line, M)}`);
207
+ });
208
+ textList.push(`${moveText}${tint(`>`, H)}`);
209
+ }
210
+ else {
211
+ textList.push(`${moveText}${tint(`bind`, H)} ${tint(name, W)}${tint(`, <`, H)}${tint(bond, M)}${tint(`>`, H)}`);
212
+ }
213
+ return textList;
214
+ }
215
+ };
216
+ export default makeText;
217
+ // Export node implementation by default for now
218
+ // Dynamic resolution will be handled by package.json exports field when using @cluesurf/kink/system
219
+ export { makeKinkText, makeBaseKinkText } from './node';
220
+ export const makeTextHead = (note, code, host, time) => {
221
+ const list = [];
222
+ const R = { tone: 'red' };
223
+ const RB = { bold: true, tone: 'red' };
224
+ const W = { tone: 'white' };
225
+ const H = { tone: 'blackBright' };
226
+ const C = { tone: 'cyan' };
227
+ list.push(tint(`kink`, R) +
228
+ ' ' +
229
+ tint('<', H) +
230
+ tint(`${note}`, RB) +
231
+ tint('>', H));
232
+ list.push(' ' + tint(`time <`, H) + tint(`${time}`, W) + tint('>,', H));
233
+ list.push(' ' + tint(`code <`, H) + tint(`${code}`, C) + tint(`>`, H));
234
+ list.push(' ' + tint(`host `, H) + tint(`${host}`, H));
235
+ return list;
236
+ };
237
+ export function readListLine(text, hook) {
238
+ const [a, b] = text.trim().split(/\s+/);
239
+ if (a && !b) {
240
+ return readListLineFile(a, hook);
241
+ }
242
+ else if (a && b) {
243
+ return {
244
+ ...readListLineFile(b, hook),
245
+ task: a,
246
+ };
247
+ }
248
+ }
249
+ export function readListLineFile(text, hook) {
250
+ const list = text.replace(/[\(\)]/g, '').split(':');
251
+ const code = list.pop();
252
+ let codeMark = code ? parseInt(code, 10) : undefined;
253
+ const line = list.pop();
254
+ let lineMark = line ? parseInt(line, 10) : undefined;
255
+ let file = list.join(':');
256
+ if (hook &&
257
+ typeof lineMark === 'number' &&
258
+ typeof codeMark === 'number') {
259
+ ;
260
+ [file, lineMark, codeMark] = hook(file, lineMark, codeMark);
261
+ }
262
+ return {
263
+ code: codeMark,
264
+ file,
265
+ line: lineMark,
266
+ };
267
+ }
268
+ function makeTextMove(move) {
269
+ return new Array(move + 1).join(' ');
270
+ }
271
+ //# sourceMappingURL=make.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make.js","sourceRoot":"","sources":["../../../code/tree/make.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import Kink from '../../code/base';
2
+ import makeText from './make';
3
+ export * from './make';
4
+ export declare function makeBaseKinkText(kink: Error): string;
5
+ export declare function makeKinkText(kink: Kink): string;
6
+ export { makeText };