@safe-vanity-blockie/core 0.3.0 → 0.4.1
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/dist/blo.d.ts.map +1 -1
- package/dist/blo.js +4 -2
- package/dist/blo.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/miner.d.ts.map +1 -1
- package/dist/templates.d.ts +29 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +54 -0
- package/dist/templates.js.map +1 -1
- package/package.json +2 -2
- package/src/blo.ts +4 -2
- package/src/index.ts +2 -0
- package/src/templates.ts +61 -0
package/dist/blo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blo.d.ts","sourceRoot":"","sources":["../src/blo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAW,MAAM,YAAY,CAAA;AAQxD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAS/D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAIlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAOrD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAQnD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CASlD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAIhG;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAInD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"blo.d.ts","sourceRoot":"","sources":["../src/blo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAW,MAAM,YAAY,CAAA;AAQxD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAS/D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAIlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAOrD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAQnD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CASlD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAIhG;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAInD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CA6BzD"}
|
package/dist/blo.js
CHANGED
|
@@ -72,11 +72,13 @@ export function bloSvg(address, size = 64) {
|
|
|
72
72
|
paths[data[i] - 1] += 'M' + x + square + 'M' + (7 - x) + square;
|
|
73
73
|
}
|
|
74
74
|
const path = (color, d) => '<path fill="hsl(' + color[0] + ' ' + color[1] + '% ' + color[2] + '%)" d="' + d + '"/>';
|
|
75
|
+
const numericSize = Number(size);
|
|
76
|
+
const safeSize = Number.isFinite(numericSize) && numericSize >= 0 ? numericSize : 64;
|
|
75
77
|
return ('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8" shape-rendering="optimizeSpeed" ' +
|
|
76
78
|
'width="' +
|
|
77
|
-
|
|
79
|
+
safeSize +
|
|
78
80
|
'" height="' +
|
|
79
|
-
|
|
81
|
+
safeSize +
|
|
80
82
|
'">' +
|
|
81
83
|
path(b, 'M0,0H8V8H0z') +
|
|
82
84
|
path(c, paths[0]) +
|
package/dist/blo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blo.js","sourceRoot":"","sources":["../src/blo.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"blo.js","sourceRoot":"","sources":["../src/blo.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export { createKeccak256, type Keccak256 } from './keccak.js';
|
|
|
5
5
|
export { type Candidate, compareCandidates, createMiner, Leaderboard, type MineOptions, type MineResult, } from './miner.js';
|
|
6
6
|
export { apportion, colorContrast, compileFace, describeMatch, hslToRgb, isTwoColor, makeScorer, } from './scoring.js';
|
|
7
7
|
export { filterCandidates, formatScore, type SelectReportedResult, scorePercent, selectReported, } from './select.js';
|
|
8
|
-
export { BASE_TARGET, BASE_WEIGHTS, faceWithMouths, getTemplate, MOUTH_BG_WEIGHT, MOUTH_BUDGET, MOUTH_INDICES, MOUTH_STROKE_WEIGHT, MOUTHS, parseFaceSpec, TEMPLATES, } from './templates.js';
|
|
8
|
+
export { BASE_TARGET, BASE_WEIGHTS, faceSpecForTarget, faceWithMouths, getTemplate, MOUTH_BG_WEIGHT, MOUTH_BUDGET, MOUTH_INDICES, MOUTH_STROKE_WEIGHT, MOUTHS, parseFaceSpec, TEMPLATES, targetNameForMouths, } from './templates.js';
|
|
9
9
|
export type { BloImage, CompiledFace, FaceRegion, FaceSpec, FixedCell, Hsl, Palette, RegionAlternative, } from './types.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EACL,KAAK,SAAS,EACd,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,oBAAoB,EACzB,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EACL,KAAK,SAAS,EACd,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,oBAAoB,EACzB,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,SAAS,EACT,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,GAAG,EACH,OAAO,EACP,iBAAiB,GAClB,MAAM,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -5,5 +5,5 @@ export { createKeccak256 } from './keccak.js';
|
|
|
5
5
|
export { compareCandidates, createMiner, Leaderboard, } from './miner.js';
|
|
6
6
|
export { apportion, colorContrast, compileFace, describeMatch, hslToRgb, isTwoColor, makeScorer, } from './scoring.js';
|
|
7
7
|
export { filterCandidates, formatScore, scorePercent, selectReported, } from './select.js';
|
|
8
|
-
export { BASE_TARGET, BASE_WEIGHTS, faceWithMouths, getTemplate, MOUTH_BG_WEIGHT, MOUTH_BUDGET, MOUTH_INDICES, MOUTH_STROKE_WEIGHT, MOUTHS, parseFaceSpec, TEMPLATES, } from './templates.js';
|
|
8
|
+
export { BASE_TARGET, BASE_WEIGHTS, faceSpecForTarget, faceWithMouths, getTemplate, MOUTH_BG_WEIGHT, MOUTH_BUDGET, MOUTH_INDICES, MOUTH_STROKE_WEIGHT, MOUTHS, parseFaceSpec, TEMPLATES, targetNameForMouths, } from './templates.js';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,oBAAoB,EAAsB,MAAM,cAAc,CAAA;AAC5F,OAAO,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,WAAW,GAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,gBAAgB,EAChB,WAAW,EAEX,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,oBAAoB,EAAsB,MAAM,cAAc,CAAA;AAC5F,OAAO,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,WAAW,GAGZ,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,gBAAgB,EAChB,WAAW,EAEX,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,SAAS,EACT,mBAAmB,GACpB,MAAM,gBAAgB,CAAA"}
|
package/dist/miner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miner.d.ts","sourceRoot":"","sources":["../src/miner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,SAAS;IACxB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED,yGAAyG;AACzG,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAMpE;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,IAAI,CAAoB;
|
|
1
|
+
{"version":3,"file":"miner.d.ts","sourceRoot":"","sources":["../src/miner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,SAAS;IACxB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED,yGAAyG;AACzG,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAMpE;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,IAAI,CAAoB;IAEhC,YAAY,QAAQ,EAAE,MAAM,EAK3B;IAED,qFAAqF;IACrF,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CASnC;IAED,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAEnC;IAED,OAAO,IAAI,SAAS,EAAE,CAErB;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IAEzE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,OAAO,GAAG,IAAI,CAAA;CACpE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,SAAS,GACnB;IAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAAA;CAAE,CA+C5C"}
|
package/dist/templates.d.ts
CHANGED
|
@@ -13,6 +13,35 @@ export declare const MOUTHS: readonly RegionAlternative[];
|
|
|
13
13
|
export declare function faceWithMouths(name: string, mouthNames: string[]): FaceSpec;
|
|
14
14
|
export declare const TEMPLATES: Record<string, FaceSpec>;
|
|
15
15
|
export declare function getTemplate(name: string): FaceSpec;
|
|
16
|
+
/**
|
|
17
|
+
* The name a set of accepted expressions is known by, both as a FaceSpec name and as a `--target`
|
|
18
|
+
* value: the builtin `faces` when it is all of them, otherwise the names joined by commas.
|
|
19
|
+
*
|
|
20
|
+
* Commas because that is the one list separator the CLI already has — `--owners 0x..,0x..` — and a
|
|
21
|
+
* second convention for a second list is one more thing to remember at the prompt for no gain.
|
|
22
|
+
*
|
|
23
|
+
* Lives beside TEMPLATES rather than in the app that needs it, because it is one half of a
|
|
24
|
+
* round-trip whose other half is `faceSpecForTarget` below — the app names a selection with this,
|
|
25
|
+
* hands that name to the CLI, and the CLI resolves it back to the same set of expressions. Split
|
|
26
|
+
* across two packages, the two halves would be free to drift apart with nothing failing.
|
|
27
|
+
*
|
|
28
|
+
* Validates nothing: the caller builds the spec from the same names, and `faceWithMouths` is where
|
|
29
|
+
* an unknown one is caught, with the error that lists the expressions.
|
|
30
|
+
*/
|
|
31
|
+
export declare function targetNameForMouths(mouthNames: string[]): string;
|
|
32
|
+
/**
|
|
33
|
+
* A `--target` name: a builtin template, or a comma-separated list of expressions — so
|
|
34
|
+
* `smile,frown` accepts either of those two mouths and nothing else.
|
|
35
|
+
*
|
|
36
|
+
* The list form exists because the builtins name only the two ends of the range, one expression or
|
|
37
|
+
* all five, while the browser app accepts any subset of them. A narrowed selection therefore had no
|
|
38
|
+
* name to be handed to the CLI at all, and the command the app offered for "run this same search
|
|
39
|
+
* natively" quietly searched a wider target than the screen it was copied from.
|
|
40
|
+
*
|
|
41
|
+
* A repeat is deduped rather than rejected: it names the same expression twice, which is not
|
|
42
|
+
* ambiguous, and a second identical alternative is scoring work for no wider target.
|
|
43
|
+
*/
|
|
44
|
+
export declare function faceSpecForTarget(target: string): FaceSpec;
|
|
16
45
|
/** Validates untrusted JSON (a `--target file.json`, or a future web designer export). */
|
|
17
46
|
export declare function parseFaceSpec(input: unknown): FaceSpec;
|
|
18
47
|
//# sourceMappingURL=templates.d.ts.map
|
package/dist/templates.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAa,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpF,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,eAAO,MAAM,mBAAmB,IAAI,CAAA;AACpC,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,iGAAiG;AACjG,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAEzC,CAAA;AAED,mHAAmH;AACnH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAqD,CAAA;AAEhG,eAAO,MAAM,MAAM,EAAE,SAAS,iBAAiB,EAO9C,CAAA;AAiBD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,CAW3E;AAKD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAQ7C,CAAA;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAKlD;AAkBD,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAoEtD"}
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAa,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEpF,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,eAAO,MAAM,mBAAmB,IAAI,CAAA;AACpC,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,iGAAiG;AACjG,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAEzC,CAAA;AAED,mHAAmH;AACnH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAqD,CAAA;AAEhG,eAAO,MAAM,MAAM,EAAE,SAAS,iBAAiB,EAO9C,CAAA;AAiBD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,CAW3E;AAKD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAQ7C,CAAA;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAKlD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAKhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAyB1D;AAkBD,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAoEtD"}
|
package/dist/templates.js
CHANGED
|
@@ -56,6 +56,60 @@ export function getTemplate(name) {
|
|
|
56
56
|
}
|
|
57
57
|
return TEMPLATES[name];
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* The name a set of accepted expressions is known by, both as a FaceSpec name and as a `--target`
|
|
61
|
+
* value: the builtin `faces` when it is all of them, otherwise the names joined by commas.
|
|
62
|
+
*
|
|
63
|
+
* Commas because that is the one list separator the CLI already has — `--owners 0x..,0x..` — and a
|
|
64
|
+
* second convention for a second list is one more thing to remember at the prompt for no gain.
|
|
65
|
+
*
|
|
66
|
+
* Lives beside TEMPLATES rather than in the app that needs it, because it is one half of a
|
|
67
|
+
* round-trip whose other half is `faceSpecForTarget` below — the app names a selection with this,
|
|
68
|
+
* hands that name to the CLI, and the CLI resolves it back to the same set of expressions. Split
|
|
69
|
+
* across two packages, the two halves would be free to drift apart with nothing failing.
|
|
70
|
+
*
|
|
71
|
+
* Validates nothing: the caller builds the spec from the same names, and `faceWithMouths` is where
|
|
72
|
+
* an unknown one is caught, with the error that lists the expressions.
|
|
73
|
+
*/
|
|
74
|
+
export function targetNameForMouths(mouthNames) {
|
|
75
|
+
const unique = [...new Set(mouthNames)];
|
|
76
|
+
const isEveryMouth = unique.length === MOUTHS.length && MOUTHS.every((mouth) => unique.includes(mouth.name));
|
|
77
|
+
return isEveryMouth ? 'faces' : unique.join(',');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A `--target` name: a builtin template, or a comma-separated list of expressions — so
|
|
81
|
+
* `smile,frown` accepts either of those two mouths and nothing else.
|
|
82
|
+
*
|
|
83
|
+
* The list form exists because the builtins name only the two ends of the range, one expression or
|
|
84
|
+
* all five, while the browser app accepts any subset of them. A narrowed selection therefore had no
|
|
85
|
+
* name to be handed to the CLI at all, and the command the app offered for "run this same search
|
|
86
|
+
* natively" quietly searched a wider target than the screen it was copied from.
|
|
87
|
+
*
|
|
88
|
+
* A repeat is deduped rather than rejected: it names the same expression twice, which is not
|
|
89
|
+
* ambiguous, and a second identical alternative is scoring work for no wider target.
|
|
90
|
+
*/
|
|
91
|
+
export function faceSpecForTarget(target) {
|
|
92
|
+
// Same null-prototype reasoning as TEMPLATES: `hasOwn`, so a URL- or argv-supplied
|
|
93
|
+
// "constructor" cannot resolve to an inherited key.
|
|
94
|
+
if (Object.hasOwn(TEMPLATES, target))
|
|
95
|
+
return TEMPLATES[target];
|
|
96
|
+
const known = new Set(MOUTHS.map((mouth) => mouth.name));
|
|
97
|
+
const names = [
|
|
98
|
+
...new Set(target
|
|
99
|
+
.split(',')
|
|
100
|
+
.map((name) => name.trim())
|
|
101
|
+
.filter((name) => name.length > 0)),
|
|
102
|
+
];
|
|
103
|
+
if (names.length === 0 || names.some((name) => !known.has(name))) {
|
|
104
|
+
// One error for every way of getting this wrong, naming both alphabets: a template is a legal
|
|
105
|
+
// target and an expression is a legal list entry, so a value like "faces,smile" is a plausible
|
|
106
|
+
// confusion of the two and neither list alone would explain it. It is also what a `+` between
|
|
107
|
+
// two otherwise valid expressions lands on, which is the whole message a wrong separator needs.
|
|
108
|
+
throw new Error(`unknown target "${target}"; expected a template (${Object.keys(TEMPLATES).join(', ')}) ` +
|
|
109
|
+
`or a comma-separated list of expressions (${MOUTHS.map((mouth) => mouth.name).join(', ')})`);
|
|
110
|
+
}
|
|
111
|
+
return faceWithMouths(targetNameForMouths(names), names);
|
|
112
|
+
}
|
|
59
113
|
/** Guards the `entry as Record<string, unknown>` casts below: a null or primitive entry would
|
|
60
114
|
* otherwise surface as a raw TypeError from the first property read. */
|
|
61
115
|
function requireObject(value, label) {
|
package/dist/templates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@safe-vanity-blockie/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Isomorphic blo identicon, CREATE2 address derivation and mining primitives for Safe vanity blockies",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@noble/hashes": "^2.3.0",
|
|
44
44
|
"blo": "2.0.0",
|
|
45
|
-
"viem": "^2.55.
|
|
45
|
+
"viem": "^2.55.16"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "tsc -p tsconfig.json",
|
package/src/blo.ts
CHANGED
|
@@ -85,12 +85,14 @@ export function bloSvg(address: string, size = 64): string {
|
|
|
85
85
|
}
|
|
86
86
|
const path = (color: Hsl, d: string) =>
|
|
87
87
|
'<path fill="hsl(' + color[0] + ' ' + color[1] + '% ' + color[2] + '%)" d="' + d + '"/>'
|
|
88
|
+
const numericSize = Number(size)
|
|
89
|
+
const safeSize = Number.isFinite(numericSize) && numericSize >= 0 ? numericSize : 64
|
|
88
90
|
return (
|
|
89
91
|
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8" shape-rendering="optimizeSpeed" ' +
|
|
90
92
|
'width="' +
|
|
91
|
-
|
|
93
|
+
safeSize +
|
|
92
94
|
'" height="' +
|
|
93
|
-
|
|
95
|
+
safeSize +
|
|
94
96
|
'">' +
|
|
95
97
|
path(b, 'M0,0H8V8H0z') +
|
|
96
98
|
path(c, paths[0]) +
|
package/src/index.ts
CHANGED
|
@@ -38,6 +38,7 @@ export {
|
|
|
38
38
|
export {
|
|
39
39
|
BASE_TARGET,
|
|
40
40
|
BASE_WEIGHTS,
|
|
41
|
+
faceSpecForTarget,
|
|
41
42
|
faceWithMouths,
|
|
42
43
|
getTemplate,
|
|
43
44
|
MOUTH_BG_WEIGHT,
|
|
@@ -47,6 +48,7 @@ export {
|
|
|
47
48
|
MOUTHS,
|
|
48
49
|
parseFaceSpec,
|
|
49
50
|
TEMPLATES,
|
|
51
|
+
targetNameForMouths,
|
|
50
52
|
} from './templates.js'
|
|
51
53
|
export type {
|
|
52
54
|
BloImage,
|
package/src/templates.ts
CHANGED
|
@@ -75,6 +75,67 @@ export function getTemplate(name: string): FaceSpec {
|
|
|
75
75
|
return TEMPLATES[name]
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
/**
|
|
79
|
+
* The name a set of accepted expressions is known by, both as a FaceSpec name and as a `--target`
|
|
80
|
+
* value: the builtin `faces` when it is all of them, otherwise the names joined by commas.
|
|
81
|
+
*
|
|
82
|
+
* Commas because that is the one list separator the CLI already has — `--owners 0x..,0x..` — and a
|
|
83
|
+
* second convention for a second list is one more thing to remember at the prompt for no gain.
|
|
84
|
+
*
|
|
85
|
+
* Lives beside TEMPLATES rather than in the app that needs it, because it is one half of a
|
|
86
|
+
* round-trip whose other half is `faceSpecForTarget` below — the app names a selection with this,
|
|
87
|
+
* hands that name to the CLI, and the CLI resolves it back to the same set of expressions. Split
|
|
88
|
+
* across two packages, the two halves would be free to drift apart with nothing failing.
|
|
89
|
+
*
|
|
90
|
+
* Validates nothing: the caller builds the spec from the same names, and `faceWithMouths` is where
|
|
91
|
+
* an unknown one is caught, with the error that lists the expressions.
|
|
92
|
+
*/
|
|
93
|
+
export function targetNameForMouths(mouthNames: string[]): string {
|
|
94
|
+
const unique = [...new Set(mouthNames)]
|
|
95
|
+
const isEveryMouth =
|
|
96
|
+
unique.length === MOUTHS.length && MOUTHS.every((mouth) => unique.includes(mouth.name))
|
|
97
|
+
return isEveryMouth ? 'faces' : unique.join(',')
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* A `--target` name: a builtin template, or a comma-separated list of expressions — so
|
|
102
|
+
* `smile,frown` accepts either of those two mouths and nothing else.
|
|
103
|
+
*
|
|
104
|
+
* The list form exists because the builtins name only the two ends of the range, one expression or
|
|
105
|
+
* all five, while the browser app accepts any subset of them. A narrowed selection therefore had no
|
|
106
|
+
* name to be handed to the CLI at all, and the command the app offered for "run this same search
|
|
107
|
+
* natively" quietly searched a wider target than the screen it was copied from.
|
|
108
|
+
*
|
|
109
|
+
* A repeat is deduped rather than rejected: it names the same expression twice, which is not
|
|
110
|
+
* ambiguous, and a second identical alternative is scoring work for no wider target.
|
|
111
|
+
*/
|
|
112
|
+
export function faceSpecForTarget(target: string): FaceSpec {
|
|
113
|
+
// Same null-prototype reasoning as TEMPLATES: `hasOwn`, so a URL- or argv-supplied
|
|
114
|
+
// "constructor" cannot resolve to an inherited key.
|
|
115
|
+
if (Object.hasOwn(TEMPLATES, target)) return TEMPLATES[target]
|
|
116
|
+
|
|
117
|
+
const known = new Set(MOUTHS.map((mouth) => mouth.name))
|
|
118
|
+
const names = [
|
|
119
|
+
...new Set(
|
|
120
|
+
target
|
|
121
|
+
.split(',')
|
|
122
|
+
.map((name) => name.trim())
|
|
123
|
+
.filter((name) => name.length > 0),
|
|
124
|
+
),
|
|
125
|
+
]
|
|
126
|
+
if (names.length === 0 || names.some((name) => !known.has(name))) {
|
|
127
|
+
// One error for every way of getting this wrong, naming both alphabets: a template is a legal
|
|
128
|
+
// target and an expression is a legal list entry, so a value like "faces,smile" is a plausible
|
|
129
|
+
// confusion of the two and neither list alone would explain it. It is also what a `+` between
|
|
130
|
+
// two otherwise valid expressions lands on, which is the whole message a wrong separator needs.
|
|
131
|
+
throw new Error(
|
|
132
|
+
`unknown target "${target}"; expected a template (${Object.keys(TEMPLATES).join(', ')}) ` +
|
|
133
|
+
`or a comma-separated list of expressions (${MOUTHS.map((mouth) => mouth.name).join(', ')})`,
|
|
134
|
+
)
|
|
135
|
+
}
|
|
136
|
+
return faceWithMouths(targetNameForMouths(names), names)
|
|
137
|
+
}
|
|
138
|
+
|
|
78
139
|
/** Guards the `entry as Record<string, unknown>` casts below: a null or primitive entry would
|
|
79
140
|
* otherwise surface as a raw TypeError from the first property read. */
|
|
80
141
|
function requireObject(value: unknown, label: string): Record<string, unknown> {
|