Skip to content

Commit fef0a28

Browse files
authored
Merge pull request #12 from link-foundation/issue-11-c74c0836aeba
Finalize repository renaming to lino-objects-codec
2 parents 512ea8a + 5bd6f4d commit fef0a28

File tree

15 files changed

+62
-62
lines changed

15 files changed

+62
-62
lines changed

PARSER_BUG.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,14 @@ The JavaScript implementation of `links-notation` correctly parses the nested se
133133

134134
## Impact
135135

136-
This bug prevents the `link-notation-objects-codec` library from properly encoding/decoding mutually-referential dict structures using the inline self-reference format. It limits the library to either:
136+
This bug prevents the `lino-objects-codec` library from properly encoding/decoding mutually-referential dict structures using the inline self-reference format. It limits the library to either:
137137
1. Using the multi-line workaround (separate top-level definitions)
138138
2. Only supporting list-based circular references (which work because they don't nest definitions in pairs)
139139

140140
## References
141141

142-
- Issue: https://github.com/link-foundation/link-notation-objects-codec/issues/5
143-
- Pull Request: https://github.com/link-foundation/link-notation-objects-codec/pull/6
142+
- Issue: https://github.com/link-foundation/lino-objects-codec/issues/5
143+
- Pull Request: https://github.com/link-foundation/lino-objects-codec/pull/6
144144
- Links Notation Specification: https://github.com/link-foundation/links-notation
145145

146146
## Requested Action

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# link-notation-objects-codec
1+
# lino-objects-codec
22

3-
[![Tests](https://github.com/link-foundation/link-notation-objects-codec/actions/workflows/test.yml/badge.svg)](https://github.com/link-foundation/link-notation-objects-codec/actions/workflows/test.yml)
4-
[![Python Version](https://img.shields.io/pypi/pyversions/link-notation-objects-codec.svg)](https://pypi.org/project/link-notation-objects-codec/)
3+
[![Tests](https://github.com/link-foundation/lino-objects-codec/actions/workflows/test.yml/badge.svg)](https://github.com/link-foundation/lino-objects-codec/actions/workflows/test.yml)
4+
[![Python Version](https://img.shields.io/pypi/pyversions/lino-objects-codec.svg)](https://pypi.org/project/lino-objects-codec/)
55

66
Universal serialization library to encode/decode objects to/from Links Notation format. Available in both **Python** and **JavaScript** with identical functionality and API design.
77

@@ -34,7 +34,7 @@ Both implementations share the same design philosophy and provide feature parity
3434
### Python
3535

3636
```bash
37-
pip install link-notation-objects-codec
37+
pip install lino-objects-codec
3838
```
3939

4040
```python
@@ -50,11 +50,11 @@ assert decoded == data
5050
### JavaScript
5151

5252
```bash
53-
npm install link-notation-objects-codec
53+
npm install lino-objects-codec
5454
```
5555

5656
```javascript
57-
import { encode, decode } from 'link-notation-objects-codec';
57+
import { encode, decode } from 'lino-objects-codec';
5858

5959
// Encode and decode
6060
const data = { name: 'Alice', age: 30, active: true };
@@ -106,7 +106,7 @@ assert decoded[3] is decoded # Reference preserved
106106

107107
**JavaScript:**
108108
```javascript
109-
import { encode, decode } from 'link-notation-objects-codec';
109+
import { encode, decode } from 'lino-objects-codec';
110110

111111
// Self-referencing array
112112
const arr = [1, 2, 3];
@@ -199,10 +199,10 @@ This project is licensed under the Unlicense - see the [LICENSE](LICENSE) file f
199199

200200
## Links
201201

202-
- [GitHub Repository](https://github.com/link-foundation/link-notation-objects-codec)
202+
- [GitHub Repository](https://github.com/link-foundation/lino-objects-codec)
203203
- [Links Notation Specification](https://github.com/link-foundation/links-notation)
204-
- [PyPI Package](https://pypi.org/project/link-notation-objects-codec/) (Python)
205-
- [npm Package](https://www.npmjs.com/package/link-notation-objects-codec/) (JavaScript)
204+
- [PyPI Package](https://pypi.org/project/lino-objects-codec/) (Python)
205+
- [npm Package](https://www.npmjs.com/package/lino-objects-codec/) (JavaScript)
206206

207207
## Acknowledgments
208208

experiments/ANALYSIS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
## Issue Summary
44

5-
Issue #7 requests that `link-notation-objects-codec` supports all features from two reference implementations:
5+
Issue #7 requests that `lino-objects-codec` supports all features from two reference implementations:
66
1. [lino.lib.mjs](https://github.com/konard/follow/blob/main/lino.lib.mjs) - LinksNotationManager for intermediate application data storage
77
2. [qa-database.mjs](https://github.com/konard/hh-job-application-automation/blob/main/src/qa-database.mjs) - Q&A Database
88

9-
The goal is to make `link-notation-objects-codec` a drop-in replacement.
9+
The goal is to make `lino-objects-codec` a drop-in replacement.
1010

1111
## Current State Analysis
1212

@@ -75,7 +75,7 @@ The reference implementations include **application-level features** that should
7575

7676
## Architectural Decision
7777

78-
### The Right Scope for link-notation-objects-codec
78+
### The Right Scope for lino-objects-codec
7979

8080
A codec library should provide:
8181
1.**Encoding/Decoding** - Core transformation between formats
@@ -110,7 +110,7 @@ A codec library should NOT provide:
110110
### Example: Building LinksNotationManager-like Features
111111

112112
```javascript
113-
import { jsonToLino, linoToJson, formatAsLino } from 'link-notation-objects-codec';
113+
import { jsonToLino, linoToJson, formatAsLino } from 'lino-objects-codec';
114114
import fs from 'fs/promises';
115115
import path from 'path';
116116
import os from 'os';
@@ -143,8 +143,8 @@ class MyLinksNotationManager {
143143
### Example: Building Q&A Database
144144

145145
```javascript
146-
import { escapeReference, unescapeReference } from 'link-notation-objects-codec/format';
147-
import { findBestMatch } from 'link-notation-objects-codec/fuzzy-match';
146+
import { escapeReference, unescapeReference } from 'lino-objects-codec/format';
147+
import { findBestMatch } from 'lino-objects-codec/fuzzy-match';
148148
import fs from 'fs/promises';
149149

150150
async function readQADatabase(filePath) {

experiments/feature-comparison.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Feature Comparison: link-notation-objects-codec vs Reference Implementations
1+
# Feature Comparison: lino-objects-codec vs Reference Implementations
22

33
## Reference Implementations
44

@@ -50,7 +50,7 @@ Location: https://github.com/konard/hh-job-application-automation/blob/main/src/
5050
- `keywordSimilarityCaseSensitive()` - Case-sensitive keyword similarity
5151
- `findBestMatch()` - Find best matching entry with fuzzy matching
5252

53-
## Current Implementation (link-notation-objects-codec)
53+
## Current Implementation (lino-objects-codec)
5454

5555
### JavaScript (js/src/)
5656

@@ -86,7 +86,7 @@ Location: https://github.com/konard/hh-job-application-automation/blob/main/src/
8686

8787
## Gap Analysis
8888

89-
### Missing Features in link-notation-objects-codec
89+
### Missing Features in lino-objects-codec
9090

9191
From **lino.lib.mjs**:
9292
1.`parse()` - Extract values from Links Notation input
@@ -142,7 +142,7 @@ The reference implementations include **high-level features** that are **applica
142142

143143
## Recommendation
144144

145-
The current `link-notation-objects-codec` library **already provides ALL the core utilities** needed to build the higher-level applications like `LinksNotationManager` and `qa-database`.
145+
The current `lino-objects-codec` library **already provides ALL the core utilities** needed to build the higher-level applications like `LinksNotationManager` and `qa-database`.
146146

147147
**The missing features are intentionally NOT included** because they are:
148148
1. Application-specific (file I/O, Q&A database, locking)
@@ -154,7 +154,7 @@ The current `link-notation-objects-codec` library **already provides ALL the cor
154154
### What the issue actually asks for
155155

156156
Looking at issue #7:
157-
> "So we need to support all features of these, so our `link-notation-objects-codec` can be a drop in replacement for both places."
157+
> "So we need to support all features of these, so our `lino-objects-codec` can be a drop in replacement for both places."
158158
159159
This means we need to ensure that our core utilities are **compatible** and can be used to build the same high-level features, NOT that we need to include all the application-specific code.
160160

js/README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# link-notation-objects-codec (JavaScript)
1+
# lino-objects-codec (JavaScript)
22

33
A JavaScript library for working with Links Notation format. This library provides:
44
- Universal serialization/deserialization for JavaScript objects with circular reference support
@@ -27,26 +27,26 @@ These tools enable easy implementation of higher-level features like:
2727
## Installation
2828

2929
```bash
30-
npm install link-notation-objects-codec
30+
npm install lino-objects-codec
3131
```
3232

3333
Or with other package managers:
3434

3535
```bash
3636
# Bun
37-
bun add link-notation-objects-codec
37+
bun add lino-objects-codec
3838

3939
# Yarn
40-
yarn add link-notation-objects-codec
40+
yarn add lino-objects-codec
4141

4242
# pnpm
43-
pnpm add link-notation-objects-codec
43+
pnpm add lino-objects-codec
4444
```
4545

4646
## Quick Start
4747

4848
```javascript
49-
import { encode, decode } from 'link-notation-objects-codec';
49+
import { encode, decode } from 'lino-objects-codec';
5050

5151
// Encode basic types
5252
const encoded = encode({ obj: { name: 'Alice', age: 30, active: true } } } });
@@ -68,7 +68,7 @@ console.log(JSON.stringify(decoded) === JSON.stringify({ name: 'Alice', age: 30,
6868
### Basic Types
6969

7070
```javascript
71-
import { encode, decode } from 'link-notation-objects-codec';
71+
import { encode, decode } from 'lino-objects-codec';
7272

7373
// null and undefined
7474
console.log(decode({ notation: encode({ obj: null } }))); // null
@@ -97,7 +97,7 @@ console.log(decode({ notation: encode({ obj: 'multi\nline\nstring' } }))); // 'm
9797
### Collections
9898
9999
```javascript
100-
import { encode, decode } from 'link-notation-objects-codec';
100+
import { encode, decode } from 'lino-objects-codec';
101101

102102
// Arrays
103103
const data = [1, 2, 3, 'hello', true, null];
@@ -134,7 +134,7 @@ console.log(JSON.stringify(decode({ notation: encode({ obj: complexData } }))) =
134134
The library automatically handles circular references and shared objects:
135135
136136
```javascript
137-
import { encode, decode } from 'link-notation-objects-codec';
137+
import { encode, decode } from 'lino-objects-codec';
138138

139139
// Self-referencing array
140140
const arr = [1, 2, 3];
@@ -172,7 +172,7 @@ console.log(decoded4.children[0].parent === decoded4); // true
172172
Convert between JSON and Links Notation format:
173173
174174
```javascript
175-
import { jsonToLino, linoToJson, escapeReference } from 'link-notation-objects-codec';
175+
import { jsonToLino, linoToJson, escapeReference } from 'lino-objects-codec';
176176

177177
// Convert JSON to Links Notation
178178
const data = { name: 'Alice', age: 30 };
@@ -204,7 +204,7 @@ import {
204204
findAllMatches,
205205
extractKeywords,
206206
normalizeQuestion,
207-
} from 'link-notation-objects-codec';
207+
} from 'lino-objects-codec';
208208

209209
// Calculate edit distance
210210
const distance = levenshteinDistance({ a: 'hello', b: 'hallo' }); // 1
@@ -285,7 +285,7 @@ Decode Links Notation format to a JavaScript object.
285285
The main codec class that performs encoding and decoding. The module-level `encode({ obj: )` and `decode({ notation: } })` functions use a shared instance of this class.
286286
287287
```javascript
288-
import { ObjectCodec } from 'link-notation-objects-codec';
288+
import { ObjectCodec } from 'lino-objects-codec';
289289

290290
const codec = new ObjectCodec();
291291
const encoded = codec.encode({ data: [1, 2, 3] });
@@ -452,8 +452,8 @@ Find all matches above a threshold, sorted by score.
452452
453453
```bash
454454
# Clone the repository
455-
git clone https://github.com/link-foundation/link-notation-objects-codec.git
456-
cd link-notation-objects-codec/js
455+
git clone https://github.com/link-foundation/lino-objects-codec.git
456+
cd lino-objects-codec/js
457457

458458
# Install dependencies
459459
npm install
@@ -487,9 +487,9 @@ This project is licensed under the Unlicense - see the [LICENSE](../LICENSE) fil
487487
488488
## Links
489489
490-
- [GitHub Repository](https://github.com/link-foundation/link-notation-objects-codec)
490+
- [GitHub Repository](https://github.com/link-foundation/lino-objects-codec)
491491
- [Links Notation Specification](https://github.com/link-foundation/links-notation)
492-
- [npm Package](https://www.npmjs.com/package/link-notation-objects-codec/)
492+
- [npm Package](https://www.npmjs.com/package/lino-objects-codec/)
493493
- [Python Implementation](../python/)
494494
495495
## Acknowledgments

js/examples/basic_usage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Basic usage examples for link-notation-objects-codec.
2+
* Basic usage examples for lino-objects-codec.
33
*/
44

55
import { encode, decode } from '../src/index.js';

js/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "link-notation-objects-codec",
2+
"name": "lino-objects-codec",
33
"version": "0.1.0",
44
"description": "A library to encode/decode objects to/from links notation",
55
"type": "module",
@@ -22,7 +22,7 @@
2222
"license": "Unlicense",
2323
"repository": {
2424
"type": "git",
25-
"url": "https://github.com/link-foundation/link-notation-objects-codec.git"
25+
"url": "https://github.com/link-foundation/lino-objects-codec.git"
2626
},
2727
"dependencies": {
2828
"links-notation": "^0.11.0"

js/src/format.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* - LinksNotationManager (from https://github.com/konard/follow/blob/main/lino.lib.mjs)
99
* - Q&A database (from https://github.com/konard/hh-job-application-automation/blob/main/src/qa-database.mjs)
1010
*
11-
* @module link-notation-objects-codec/format
11+
* @module lino-objects-codec/format
1212
*/
1313

1414
import { Parser as LinoParser } from 'links-notation';

js/src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Link Notation Objects Codec - Universal serializer/deserializer for JavaScript objects.
2+
* Lino Objects Codec - Universal serializer/deserializer for JavaScript objects.
33
*
44
* This library provides:
55
* - Typed serialization/deserialization of JavaScript objects to/from Links Notation format
@@ -11,7 +11,7 @@
1111
* - LinksNotationManager (from https://github.com/konard/follow/blob/main/lino.lib.mjs)
1212
* - Q&A database (from https://github.com/konard/hh-job-application-automation/blob/main/src/qa-database.mjs)
1313
*
14-
* @module link-notation-objects-codec
14+
* @module lino-objects-codec
1515
*/
1616

1717
// Typed object codec (preserves types with markers like (int 42), (str base64))

0 commit comments

Comments
 (0)