@flighthq/text-markup 0.5.1-edge.799.62ef0c7 → 0.5.1-edge.911.32a089f
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/README.md +2 -2
- package/dist/contract.d.ts +1 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -0
- package/dist/contract.js.map +1 -1
- package/dist/markupTagRegistry.d.ts +3 -2
- package/dist/markupTagRegistry.d.ts.map +1 -1
- package/dist/markupTagRegistry.js +8 -3
- package/dist/markupTagRegistry.js.map +1 -1
- package/package.json +5 -5
- package/src/markupTagRegistry.test.ts +7 -1
- package/src/textMarkup.test.ts +7 -6
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/text-markup`. The `@
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/text-markup@0.5.1-edge.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/text-markup@0.5.1-edge.911.32a089f](https://github.com/flighthq/flight/tree/32a089f1342d08547fc2359dfd5e8fe9f7e3c12e/packages/text-markup)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/32a089f1342d08547fc2359dfd5e8fe9f7e3c12e/LICENSE.md)
|
package/dist/contract.d.ts
CHANGED
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/contract.js
CHANGED
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { MarkupTagHandler, MarkupTagRegistry } from '@flighthq/types/contract';
|
|
1
|
+
import type { EntityConstruction, MarkupTagHandler, MarkupTagRegistry } from '@flighthq/types/contract';
|
|
2
|
+
export declare function createMarkupTagRegistry(): MarkupTagRegistry;
|
|
2
3
|
/**
|
|
3
4
|
* Creates an empty markup tag registry — the meaning layer `parseTextMarkup` composes over the parse
|
|
4
5
|
* layer. Register handlers with `registerMarkupTag`, or populate the standard `htmlText` dialect with
|
|
5
6
|
* `registerStandardMarkupTags`. The registered set of tag names is the supported dialect; a custom
|
|
6
7
|
* registry that omits the standard tags lets them tree-shake out.
|
|
7
8
|
*/
|
|
8
|
-
export declare function
|
|
9
|
+
export declare function initializeMarkupTagRegistry(out: EntityConstruction<MarkupTagRegistry>): void;
|
|
9
10
|
/**
|
|
10
11
|
* Binds a tag name to its handler. The registry is open and last-write-wins: a user registers their
|
|
11
12
|
* own (vendor-prefixed) tags or overrides a standard one. The name is matched case-insensitively, so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markupTagRegistry.d.ts","sourceRoot":"","sources":["../src/markupTagRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"markupTagRegistry.d.ts","sourceRoot":"","sources":["../src/markupTagRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAGlB,gBAAgB,EAChB,iBAAiB,EAIlB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,uBAAuB,IAAI,iBAAiB,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACxB,IAAI,CAEN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAgB5E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBlE"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { packOpaqueColor } from '@flighthq/color/contract';
|
|
2
|
-
import {
|
|
2
|
+
import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
|
|
3
|
+
export function createMarkupTagRegistry() {
|
|
4
|
+
const out = allocateEntity();
|
|
5
|
+
initializeMarkupTagRegistry(out);
|
|
6
|
+
return finishEntity(out);
|
|
7
|
+
}
|
|
3
8
|
/**
|
|
4
9
|
* Creates an empty markup tag registry — the meaning layer `parseTextMarkup` composes over the parse
|
|
5
10
|
* layer. Register handlers with `registerMarkupTag`, or populate the standard `htmlText` dialect with
|
|
6
11
|
* `registerStandardMarkupTags`. The registered set of tag names is the supported dialect; a custom
|
|
7
12
|
* registry that omits the standard tags lets them tree-shake out.
|
|
8
13
|
*/
|
|
9
|
-
export function
|
|
10
|
-
|
|
14
|
+
export function initializeMarkupTagRegistry(out) {
|
|
15
|
+
out.handlers = new Map();
|
|
11
16
|
}
|
|
12
17
|
/**
|
|
13
18
|
* Binds a tag name to its handler. The registry is open and last-write-wins: a user registers their
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markupTagRegistry.js","sourceRoot":"","sources":["../src/markupTagRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"markupTagRegistry.js","sourceRoot":"","sources":["../src/markupTagRegistry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/text-markup",
|
|
3
|
-
"version": "0.5.1-edge.
|
|
3
|
+
"version": "0.5.1-edge.911.32a089f",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/color": "0.5.1-edge.
|
|
42
|
-
"@flighthq/entity": "0.5.1-edge.
|
|
43
|
-
"@flighthq/textlayout": "0.5.1-edge.
|
|
44
|
-
"@flighthq/types": "0.5.1-edge.
|
|
41
|
+
"@flighthq/color": "0.5.1-edge.911.32a089f",
|
|
42
|
+
"@flighthq/entity": "0.5.1-edge.911.32a089f",
|
|
43
|
+
"@flighthq/textlayout": "0.5.1-edge.911.32a089f",
|
|
44
|
+
"@flighthq/types": "0.5.1-edge.911.32a089f"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"typescript": "^5.3.0"
|
|
@@ -3,6 +3,7 @@ import { describe, expect, it } from 'vitest';
|
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
createMarkupTagRegistry,
|
|
6
|
+
initializeMarkupTagRegistry,
|
|
6
7
|
registerMarkupTag,
|
|
7
8
|
registerStandardMarkupTags,
|
|
8
9
|
resolveMarkupHexColor,
|
|
@@ -34,6 +35,12 @@ describe('createMarkupTagRegistry', () => {
|
|
|
34
35
|
});
|
|
35
36
|
});
|
|
36
37
|
|
|
38
|
+
describe('initializeMarkupTagRegistry', () => {
|
|
39
|
+
it('is the construction initializer of createMarkupTagRegistry', () => {
|
|
40
|
+
expect(typeof initializeMarkupTagRegistry).toBe('function');
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
|
|
37
44
|
describe('registerMarkupTag', () => {
|
|
38
45
|
it('registers a custom tag whose handler contributes format', () => {
|
|
39
46
|
const registry = createMarkupTagRegistry();
|
|
@@ -122,7 +129,6 @@ describe('registerStandardMarkupTags', () => {
|
|
|
122
129
|
expect(formatAt(content, 2)).toEqual({ align: 'center' });
|
|
123
130
|
});
|
|
124
131
|
});
|
|
125
|
-
|
|
126
132
|
describe('resolveMarkupHexColor', () => {
|
|
127
133
|
it('parses #rrggbb, #rgb, and 0xRRGGBB values', () => {
|
|
128
134
|
expect(resolveMarkupHexColor('#ff0000')).toBe(0xff0000ff);
|
package/src/textMarkup.test.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createTextFormatRange } from '@flighthq/textlayout/contract';
|
|
1
2
|
import type { RichTextContent, TextFormat } from '@flighthq/types/contract';
|
|
2
3
|
import { EntityRuntimeKey } from '@flighthq/types/contract';
|
|
3
4
|
import { describe, expect, it } from 'vitest';
|
|
@@ -30,7 +31,7 @@ describe('formatTextMarkup', () => {
|
|
|
30
31
|
it('emits style booleans as their tags', () => {
|
|
31
32
|
const content: RichTextContent = {
|
|
32
33
|
[EntityRuntimeKey]: undefined,
|
|
33
|
-
formatRanges: [{
|
|
34
|
+
formatRanges: [createTextFormatRange({ bold: true, italic: true, strikethrough: true, underline: true }, 0, 4)],
|
|
34
35
|
text: 'text',
|
|
35
36
|
};
|
|
36
37
|
expect(formatTextMarkup(content)).toBe('<b><i><u><s>text</s></u></i></b>');
|
|
@@ -39,7 +40,7 @@ describe('formatTextMarkup', () => {
|
|
|
39
40
|
it('emits font color as a #rrggbb attribute', () => {
|
|
40
41
|
const content: RichTextContent = {
|
|
41
42
|
[EntityRuntimeKey]: undefined,
|
|
42
|
-
formatRanges: [{
|
|
43
|
+
formatRanges: [createTextFormatRange({ color: 0xff0000ff, font: 'Verdana', size: 18 }, 0, 3)],
|
|
43
44
|
text: 'red',
|
|
44
45
|
};
|
|
45
46
|
expect(formatTextMarkup(content)).toBe('<font color="#ff0000" size="18" face="Verdana">red</font>');
|
|
@@ -48,7 +49,7 @@ describe('formatTextMarkup', () => {
|
|
|
48
49
|
it('emits anchors with href and target', () => {
|
|
49
50
|
const content: RichTextContent = {
|
|
50
51
|
[EntityRuntimeKey]: undefined,
|
|
51
|
-
formatRanges: [{
|
|
52
|
+
formatRanges: [createTextFormatRange({ target: '_blank', url: 'https://a.test' }, 0, 4)],
|
|
52
53
|
text: 'link',
|
|
53
54
|
};
|
|
54
55
|
expect(formatTextMarkup(content)).toBe('<a href="https://a.test" target="_blank">link</a>');
|
|
@@ -57,7 +58,7 @@ describe('formatTextMarkup', () => {
|
|
|
57
58
|
it('emits textformat block metrics', () => {
|
|
58
59
|
const content: RichTextContent = {
|
|
59
60
|
[EntityRuntimeKey]: undefined,
|
|
60
|
-
formatRanges: [{
|
|
61
|
+
formatRanges: [createTextFormatRange({ blockIndent: 4, leading: 2, leftMargin: 10, tabStops: [10, 20] }, 0, 1)],
|
|
61
62
|
text: 'x',
|
|
62
63
|
};
|
|
63
64
|
expect(formatTextMarkup(content)).toBe(
|
|
@@ -68,7 +69,7 @@ describe('formatTextMarkup', () => {
|
|
|
68
69
|
it('emits bullets with a list marker type', () => {
|
|
69
70
|
const content: RichTextContent = {
|
|
70
71
|
[EntityRuntimeKey]: undefined,
|
|
71
|
-
formatRanges: [{
|
|
72
|
+
formatRanges: [createTextFormatRange({ bullet: true, listMarker: 'square' }, 0, 4)],
|
|
72
73
|
text: 'item',
|
|
73
74
|
};
|
|
74
75
|
expect(formatTextMarkup(content)).toBe('<li type="square">item</li>');
|
|
@@ -250,7 +251,7 @@ describe('textMarkupRoundTrip', () => {
|
|
|
250
251
|
const once = parseTextMarkup(source);
|
|
251
252
|
const twice = parseTextMarkup(formatTextMarkup(once));
|
|
252
253
|
expect(twice.text).toBe(once.text);
|
|
253
|
-
expect(twice.formatRanges).
|
|
254
|
+
expect(twice.formatRanges).toMatchObject(once.formatRanges);
|
|
254
255
|
}
|
|
255
256
|
});
|
|
256
257
|
});
|