@verbaly/svelte 0.18.0 → 0.20.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.
package/README.md CHANGED
@@ -48,6 +48,12 @@ pnpm add @verbaly/svelte
48
48
  </select>
49
49
  ```
50
50
 
51
+ Or skip the keys entirely — write the source text in place and the compiler extracts it, right in your `.svelte` files (script and markup):
52
+
53
+ ```html
54
+ <h1>{$t`Hello ${name}, you have ${count} messages`}</h1>
55
+ ```
56
+
51
57
  No component tree? The store factories work with any instance:
52
58
 
53
59
  ```ts
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { getContext, setContext } from 'svelte';\nimport type { Readable, Writable } from 'svelte/store';\nimport type { DictionaryInput, Params, TFunction, Verbaly } from 'verbaly';\n\nconst KEY = {};\n\nexport function provideVerbaly<D extends DictionaryInput>(instance: Verbaly<D>): Verbaly<D> {\n setContext(KEY, instance);\n return instance;\n}\n\nexport function useVerbaly<D extends DictionaryInput = DictionaryInput>(): Verbaly<D> {\n const instance = getContext<Verbaly<D> | undefined>(KEY);\n if (!instance) {\n throw new Error('[verbaly] useVerbaly requires provideVerbaly(...) in a parent component');\n }\n return instance;\n}\n\n// store factories also usable without context (app-level singleton)\nexport function tStore<D extends DictionaryInput>(instance: Verbaly<D>): Readable<TFunction<D>> {\n return {\n subscribe(run) {\n run(instance.t);\n return instance.subscribe(() => run(instance.t));\n },\n };\n}\n\nexport function localeStore(instance: Verbaly): Writable<string> {\n return {\n subscribe(run) {\n run(instance.locale);\n return instance.subscribe(() => run(instance.locale));\n },\n set: (locale) => instance.setLocale(locale),\n update: (fn) => instance.setLocale(fn(instance.locale)),\n };\n}\n\nexport function useT<D extends DictionaryInput = DictionaryInput>(): Readable<TFunction<D>> {\n return tStore(useVerbaly<D>());\n}\n\nexport function useLocale(): Writable<string> {\n return localeStore(useVerbaly());\n}\n\nexport type { Params, TFunction, Verbaly };\n"],"mappings":";;AAIA,MAAM,MAAM,CAAC;AAEb,SAAgB,eAA0C,UAAkC;CAC1F,WAAW,KAAK,QAAQ;CACxB,OAAO;AACT;AAEA,SAAgB,aAAsE;CACpF,MAAM,WAAW,WAAmC,GAAG;CACvD,IAAI,CAAC,UACH,MAAM,IAAI,MAAM,yEAAyE;CAE3F,OAAO;AACT;AAGA,SAAgB,OAAkC,UAA8C;CAC9F,OAAO,EACL,UAAU,KAAK;EACb,IAAI,SAAS,CAAC;EACd,OAAO,SAAS,gBAAgB,IAAI,SAAS,CAAC,CAAC;CACjD,EACF;AACF;AAEA,SAAgB,YAAY,UAAqC;CAC/D,OAAO;EACL,UAAU,KAAK;GACb,IAAI,SAAS,MAAM;GACnB,OAAO,SAAS,gBAAgB,IAAI,SAAS,MAAM,CAAC;EACtD;EACA,MAAM,WAAW,SAAS,UAAU,MAAM;EAC1C,SAAS,OAAO,SAAS,UAAU,GAAG,SAAS,MAAM,CAAC;CACxD;AACF;AAEA,SAAgB,OAA4E;CAC1F,OAAO,OAAO,WAAc,CAAC;AAC/B;AAEA,SAAgB,YAA8B;CAC5C,OAAO,YAAY,WAAW,CAAC;AACjC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { getContext, setContext } from 'svelte';\nimport type { Readable, Writable } from 'svelte/store';\nimport type { DictionaryInput, Params, TFunction, Verbaly } from 'verbaly';\n\nconst KEY = {};\n\nexport function provideVerbaly<D extends DictionaryInput>(instance: Verbaly<D>): Verbaly<D> {\n setContext(KEY, instance);\n return instance;\n}\n\nexport function useVerbaly<D extends DictionaryInput = DictionaryInput>(): Verbaly<D> {\n const instance = getContext<Verbaly<D> | undefined>(KEY);\n if (!instance) {\n throw new Error('[verbaly] useVerbaly requires provideVerbaly(...) in a parent component');\n }\n return instance;\n}\n\n// store factories: also usable without context (app-level singleton)\nexport function tStore<D extends DictionaryInput>(instance: Verbaly<D>): Readable<TFunction<D>> {\n return {\n subscribe(run) {\n run(instance.t);\n return instance.subscribe(() => run(instance.t));\n },\n };\n}\n\nexport function localeStore(instance: Verbaly): Writable<string> {\n return {\n subscribe(run) {\n run(instance.locale);\n return instance.subscribe(() => run(instance.locale));\n },\n set: (locale) => instance.setLocale(locale),\n update: (fn) => instance.setLocale(fn(instance.locale)),\n };\n}\n\nexport function useT<D extends DictionaryInput = DictionaryInput>(): Readable<TFunction<D>> {\n return tStore(useVerbaly<D>());\n}\n\nexport function useLocale(): Writable<string> {\n return localeStore(useVerbaly());\n}\n\nexport type { Params, TFunction, Verbaly };\n"],"mappings":";;AAIA,MAAM,MAAM,CAAC;AAEb,SAAgB,eAA0C,UAAkC;CAC1F,WAAW,KAAK,QAAQ;CACxB,OAAO;AACT;AAEA,SAAgB,aAAsE;CACpF,MAAM,WAAW,WAAmC,GAAG;CACvD,IAAI,CAAC,UACH,MAAM,IAAI,MAAM,yEAAyE;CAE3F,OAAO;AACT;AAGA,SAAgB,OAAkC,UAA8C;CAC9F,OAAO,EACL,UAAU,KAAK;EACb,IAAI,SAAS,CAAC;EACd,OAAO,SAAS,gBAAgB,IAAI,SAAS,CAAC,CAAC;CACjD,EACF;AACF;AAEA,SAAgB,YAAY,UAAqC;CAC/D,OAAO;EACL,UAAU,KAAK;GACb,IAAI,SAAS,MAAM;GACnB,OAAO,SAAS,gBAAgB,IAAI,SAAS,MAAM,CAAC;EACtD;EACA,MAAM,WAAW,SAAS,UAAU,MAAM;EAC1C,SAAS,OAAO,SAAS,UAAU,GAAG,SAAS,MAAM,CAAC;CACxD;AACF;AAEA,SAAgB,OAA4E;CAC1F,OAAO,OAAO,WAAc,CAAC;AAC/B;AAEA,SAAgB,YAA8B;CAC5C,OAAO,YAAY,WAAW,CAAC;AACjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verbaly/svelte",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "description": "Svelte bindings for Verbaly — stores over the reactive core.",
5
5
  "keywords": [
6
6
  "i18n",
@@ -45,13 +45,13 @@
45
45
  },
46
46
  "peerDependencies": {
47
47
  "svelte": "^4.0.0 || ^5.0.0",
48
- "verbaly": "^0.18.0"
48
+ "verbaly": "^0.20.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@sveltejs/vite-plugin-svelte": "^7.2.0",
52
52
  "happy-dom": "^20.10.6",
53
53
  "svelte": "^5.56.4",
54
- "verbaly": "0.18.0"
54
+ "verbaly": "0.20.0"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "tsdown && node scripts/copy-svelte.mjs",