@vielzeug/illusionist 2.3.1 → 2.3.2

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 (44) hide show
  1. package/dist/_helpers/boolean.cjs +1 -1
  2. package/dist/_helpers/boolean.cjs.map +1 -1
  3. package/dist/_helpers/boolean.d.ts.map +1 -1
  4. package/dist/_helpers/boolean.js +4 -3
  5. package/dist/_helpers/boolean.js.map +1 -1
  6. package/dist/_helpers/float.cjs +1 -1
  7. package/dist/_helpers/float.cjs.map +1 -1
  8. package/dist/_helpers/float.d.ts.map +1 -1
  9. package/dist/_helpers/float.js +6 -7
  10. package/dist/_helpers/float.js.map +1 -1
  11. package/dist/_helpers/next-float.cjs +2 -0
  12. package/dist/_helpers/next-float.cjs.map +1 -0
  13. package/dist/_helpers/next-float.d.ts +4 -0
  14. package/dist/_helpers/next-float.d.ts.map +1 -0
  15. package/dist/_helpers/next-float.js +8 -0
  16. package/dist/_helpers/next-float.js.map +1 -0
  17. package/dist/_helpers/string.cjs +1 -1
  18. package/dist/_helpers/string.cjs.map +1 -1
  19. package/dist/_helpers/string.d.ts +1 -1
  20. package/dist/_helpers/string.d.ts.map +1 -1
  21. package/dist/_helpers/string.js +18 -27
  22. package/dist/_helpers/string.js.map +1 -1
  23. package/dist/finance/finance.cjs +1 -1
  24. package/dist/finance/finance.cjs.map +1 -1
  25. package/dist/finance/finance.js +4 -4
  26. package/dist/finance/finance.js.map +1 -1
  27. package/dist/illusionist.cjs +2 -2
  28. package/dist/illusionist.cjs.map +1 -1
  29. package/dist/illusionist.iife.js +2 -2
  30. package/dist/illusionist.iife.js.map +1 -1
  31. package/dist/illusionist.js +2 -2
  32. package/dist/illusionist.js.map +1 -1
  33. package/dist/internet/internet.cjs +1 -1
  34. package/dist/internet/internet.cjs.map +1 -1
  35. package/dist/internet/internet.js +9 -9
  36. package/dist/internet/internet.js.map +1 -1
  37. package/dist/location/location.cjs +1 -1
  38. package/dist/location/location.cjs.map +1 -1
  39. package/dist/location/location.d.ts.map +1 -1
  40. package/dist/location/location.js +31 -30
  41. package/dist/location/location.js.map +1 -1
  42. package/package.json +3 -3
  43. package/dist/_dev.d.ts +0 -2
  44. package/dist/_dev.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- const e=require("../_virtual/_rolldown/runtime.cjs"),t=require("../_helpers/float.cjs"),n=require("../_helpers/string.cjs");var r=e.__exportAll({city:()=>a,country:()=>u,latitude:()=>d,longitude:()=>f,nearbyGPSCoordinate:()=>p,state:()=>l,street:()=>o,streetAddress:()=>s,zipCode:()=>c});function i(e){return e.locale.location}function a(e){return n.pick(i(e).cities,e.source)}function o(e){return n.pick(i(e).streets,e.source)}function s(e){return`${Math.floor(t.float(1,1e3,e.source))} ${o(e)}`}function c(e){return i(e).zipPattern.replace(/#/g,()=>String(Math.floor((e.source.next()??0)*10)))}function l(e){return n.pick(i(e).states,e.source)}function u(e){return n.pick(i(e).countries,e.source)}function d(e){return t.float(-90,90,e.source)}function f(e){return t.float(-180,180,e.source)}function p(e,n){let r=n??{lat:d(e),lng:f(e)};return{lat:t.float(r.lat-1,r.lat+1,e.source),lng:t.float(r.lng-1,r.lng+1,e.source)}}exports.city=a,exports.country=u,exports.latitude=d,Object.defineProperty(exports,"location_exports",{enumerable:!0,get:function(){return r}}),exports.longitude=f,exports.nearbyGPSCoordinate=p,exports.state=l,exports.street=o,exports.streetAddress=s,exports.zipCode=c;
1
+ const e=require("../_virtual/_rolldown/runtime.cjs"),t=require("../_helpers/next-float.cjs"),n=require("../_helpers/float.cjs"),r=require("../_helpers/string.cjs");var i=e.__exportAll({city:()=>o,country:()=>d,latitude:()=>f,longitude:()=>p,nearbyGPSCoordinate:()=>m,state:()=>u,street:()=>s,streetAddress:()=>c,zipCode:()=>l});function a(e){return e.locale.location}function o(e){return r.pick(a(e).cities,e.source)}function s(e){return r.pick(a(e).streets,e.source)}function c(e){return`${Math.floor(n.float(1,1e3,e.source))} ${s(e)}`}function l(e){return a(e).zipPattern.replace(/#/g,()=>String(Math.floor(t.nextFloat(e.source)*10)))}function u(e){return r.pick(a(e).states,e.source)}function d(e){return r.pick(a(e).countries,e.source)}function f(e){return n.float(-90,90,e.source)}function p(e){return n.float(-180,180,e.source)}function m(e,t){let r=t??{lat:f(e),lng:p(e)};return{lat:n.float(r.lat-1,r.lat+1,e.source),lng:n.float(r.lng-1,r.lng+1,e.source)}}exports.city=o,exports.country=d,exports.latitude=f,Object.defineProperty(exports,"location_exports",{enumerable:!0,get:function(){return i}}),exports.longitude=p,exports.nearbyGPSCoordinate=m,exports.state=u,exports.street=s,exports.streetAddress=c,exports.zipCode=l;
2
2
  //# sourceMappingURL=location.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"location.cjs","names":[],"sources":["../../src/location/location.ts"],"sourcesContent":["import { float } from '../_helpers/float';\nimport { pick } from '../_helpers/string';\nimport type { IllusionistContext, LocationLocaleData } from '../types';\n\nfunction data(ctx: IllusionistContext): LocationLocaleData {\n return ctx.locale.location;\n}\n\n/** A geographic coordinate pair. */\nexport type Coordinate = {\n lat: number;\n lng: number;\n};\n\n/** Picks a random city from the locale dataset. */\nexport function city(ctx: IllusionistContext): string {\n return pick(data(ctx).cities, ctx.source)!;\n}\n\n/** Picks a random street from the locale dataset. */\nexport function street(ctx: IllusionistContext): string {\n return pick(data(ctx).streets, ctx.source)!;\n}\n\n/** Builds a street address: a house number (1-999) followed by a street name. */\nexport function streetAddress(ctx: IllusionistContext): string {\n const houseNumber = Math.floor(float(1, 1000, ctx.source));\n return `${houseNumber} ${street(ctx)}`;\n}\n\n/** Generates a ZIP/postal code matching the locale's pattern (`#` = digit, other chars preserved). */\nexport function zipCode(ctx: IllusionistContext): string {\n const pattern = data(ctx).zipPattern;\n\n return pattern.replace(/#/g, () => String(Math.floor((ctx.source.next() ?? 0) * 10)));\n}\n\n/** Picks a random state/region from the locale dataset. */\nexport function state(ctx: IllusionistContext): string {\n return pick(data(ctx).states, ctx.source)!;\n}\n\n/** Picks a random country from the locale dataset. */\nexport function country(ctx: IllusionistContext): string {\n return pick(data(ctx).countries, ctx.source)!;\n}\n\n/** Generates a random latitude in the range [-90, 90]. */\nexport function latitude(ctx: IllusionistContext): number {\n return float(-90, 90, ctx.source);\n}\n\n/** Generates a random longitude in the range [-180, 180]. */\nexport function longitude(ctx: IllusionistContext): number {\n return float(-180, 180, ctx.source);\n}\n\n/**\n * Returns a coordinate within ~1 degree of the reference point.\n * When no reference is provided, a random coordinate is used.\n */\nexport function nearbyGPSCoordinate(ctx: IllusionistContext, ref?: Coordinate): Coordinate {\n const base = ref ?? { lat: latitude(ctx), lng: longitude(ctx) };\n return {\n lat: float(base.lat - 1, base.lat + 1, ctx.source),\n lng: float(base.lng - 1, base.lng + 1, ctx.source),\n };\n}\n"],"mappings":"gSAIA,SAAS,EAAK,EAA6C,CACzD,OAAO,EAAI,OAAO,QACpB,CASA,SAAgB,EAAK,EAAiC,CACpD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,OAAQ,EAAI,MAAM,CAC1C,CAGA,SAAgB,EAAO,EAAiC,CACtD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,QAAS,EAAI,MAAM,CAC3C,CAGA,SAAgB,EAAc,EAAiC,CAE7D,MAAO,GADa,KAAK,MAAM,EAAA,MAAM,EAAG,IAAM,EAAI,MAAM,CAC9C,EAAY,GAAG,EAAO,CAAG,GACrC,CAGA,SAAgB,EAAQ,EAAiC,CAGvD,OAFgB,EAAK,CAAG,CAAC,CAAC,WAEX,QAAQ,SAAY,OAAO,KAAK,OAAO,EAAI,OAAO,KAAK,GAAK,GAAK,EAAE,CAAC,CAAC,CACtF,CAGA,SAAgB,EAAM,EAAiC,CACrD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,OAAQ,EAAI,MAAM,CAC1C,CAGA,SAAgB,EAAQ,EAAiC,CACvD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,UAAW,EAAI,MAAM,CAC7C,CAGA,SAAgB,EAAS,EAAiC,CACxD,OAAO,EAAA,MAAM,IAAK,GAAI,EAAI,MAAM,CAClC,CAGA,SAAgB,EAAU,EAAiC,CACzD,OAAO,EAAA,MAAM,KAAM,IAAK,EAAI,MAAM,CACpC,CAMA,SAAgB,EAAoB,EAAyB,EAA8B,CACzF,IAAM,EAAO,GAAO,CAAE,IAAK,EAAS,CAAG,EAAG,IAAK,EAAU,CAAG,CAAE,EAC9D,MAAO,CACL,IAAK,EAAA,MAAM,EAAK,IAAM,EAAG,EAAK,IAAM,EAAG,EAAI,MAAM,EACjD,IAAK,EAAA,MAAM,EAAK,IAAM,EAAG,EAAK,IAAM,EAAG,EAAI,MAAM,CACnD,CACF"}
1
+ {"version":3,"file":"location.cjs","names":[],"sources":["../../src/location/location.ts"],"sourcesContent":["import { float } from '../_helpers/float';\nimport { nextFloat } from '../_helpers/next-float';\nimport { pick } from '../_helpers/string';\nimport type { IllusionistContext, LocationLocaleData } from '../types';\n\nfunction data(ctx: IllusionistContext): LocationLocaleData {\n return ctx.locale.location;\n}\n\n/** A geographic coordinate pair. */\nexport type Coordinate = {\n lat: number;\n lng: number;\n};\n\n/** Picks a random city from the locale dataset. */\nexport function city(ctx: IllusionistContext): string {\n return pick(data(ctx).cities, ctx.source)!;\n}\n\n/** Picks a random street from the locale dataset. */\nexport function street(ctx: IllusionistContext): string {\n return pick(data(ctx).streets, ctx.source)!;\n}\n\n/** Builds a street address: a house number (1-999) followed by a street name. */\nexport function streetAddress(ctx: IllusionistContext): string {\n const houseNumber = Math.floor(float(1, 1000, ctx.source));\n return `${houseNumber} ${street(ctx)}`;\n}\n\n/** Generates a ZIP/postal code matching the locale's pattern (`#` = digit, other chars preserved). */\nexport function zipCode(ctx: IllusionistContext): string {\n const pattern = data(ctx).zipPattern;\n\n return pattern.replace(/#/g, () => String(Math.floor(nextFloat(ctx.source) * 10)));\n}\n\n/** Picks a random state/region from the locale dataset. */\nexport function state(ctx: IllusionistContext): string {\n return pick(data(ctx).states, ctx.source)!;\n}\n\n/** Picks a random country from the locale dataset. */\nexport function country(ctx: IllusionistContext): string {\n return pick(data(ctx).countries, ctx.source)!;\n}\n\n/** Generates a random latitude in the range [-90, 90]. */\nexport function latitude(ctx: IllusionistContext): number {\n return float(-90, 90, ctx.source);\n}\n\n/** Generates a random longitude in the range [-180, 180]. */\nexport function longitude(ctx: IllusionistContext): number {\n return float(-180, 180, ctx.source);\n}\n\n/**\n * Returns a coordinate within ~1 degree of the reference point.\n * When no reference is provided, a random coordinate is used.\n */\nexport function nearbyGPSCoordinate(ctx: IllusionistContext, ref?: Coordinate): Coordinate {\n const base = ref ?? { lat: latitude(ctx), lng: longitude(ctx) };\n return {\n lat: float(base.lat - 1, base.lat + 1, ctx.source),\n lng: float(base.lng - 1, base.lng + 1, ctx.source),\n };\n}\n"],"mappings":"wUAKA,SAAS,EAAK,EAA6C,CACzD,OAAO,EAAI,OAAO,QACpB,CASA,SAAgB,EAAK,EAAiC,CACpD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,OAAQ,EAAI,MAAM,CAC1C,CAGA,SAAgB,EAAO,EAAiC,CACtD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,QAAS,EAAI,MAAM,CAC3C,CAGA,SAAgB,EAAc,EAAiC,CAE7D,MAAO,GADa,KAAK,MAAM,EAAA,MAAM,EAAG,IAAM,EAAI,MAAM,CAC9C,EAAY,GAAG,EAAO,CAAG,GACrC,CAGA,SAAgB,EAAQ,EAAiC,CAGvD,OAFgB,EAAK,CAAG,CAAC,CAAC,WAEX,QAAQ,SAAY,OAAO,KAAK,MAAM,EAAA,UAAU,EAAI,MAAM,EAAI,EAAE,CAAC,CAAC,CACnF,CAGA,SAAgB,EAAM,EAAiC,CACrD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,OAAQ,EAAI,MAAM,CAC1C,CAGA,SAAgB,EAAQ,EAAiC,CACvD,OAAO,EAAA,KAAK,EAAK,CAAG,CAAC,CAAC,UAAW,EAAI,MAAM,CAC7C,CAGA,SAAgB,EAAS,EAAiC,CACxD,OAAO,EAAA,MAAM,IAAK,GAAI,EAAI,MAAM,CAClC,CAGA,SAAgB,EAAU,EAAiC,CACzD,OAAO,EAAA,MAAM,KAAM,IAAK,EAAI,MAAM,CACpC,CAMA,SAAgB,EAAoB,EAAyB,EAA8B,CACzF,IAAM,EAAO,GAAO,CAAE,IAAK,EAAS,CAAG,EAAG,IAAK,EAAU,CAAG,CAAE,EAC9D,MAAO,CACL,IAAK,EAAA,MAAM,EAAK,IAAM,EAAG,EAAK,IAAM,EAAG,EAAI,MAAM,EACjD,IAAK,EAAA,MAAM,EAAK,IAAM,EAAG,EAAK,IAAM,EAAG,EAAI,MAAM,CACnD,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/location/location.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,UAAU,CAAC;AAMvE,oCAAoC;AACpC,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,IAAI,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEpD;AAED,qDAAqD;AACrD,wBAAgB,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEtD;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAG7D;AAED,sGAAsG;AACtG,wBAAgB,OAAO,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAIvD;AAED,2DAA2D;AAC3D,wBAAgB,KAAK,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAErD;AAED,sDAAsD;AACtD,wBAAgB,OAAO,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEvD;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAExD;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,CAMzF"}
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/location/location.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAsB,MAAM,UAAU,CAAC;AAMvE,oCAAoC;AACpC,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,IAAI,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEpD;AAED,qDAAqD;AACrD,wBAAgB,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEtD;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAG7D;AAED,sGAAsG;AACtG,wBAAgB,OAAO,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAIvD;AAED,2DAA2D;AAC3D,wBAAgB,KAAK,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAErD;AAED,sDAAsD;AACtD,wBAAgB,OAAO,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEvD;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAExD;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,CAMzF"}
@@ -1,56 +1,57 @@
1
1
  import { __exportAll as e } from "../_virtual/_rolldown/runtime.js";
2
- import { float as t } from "../_helpers/float.js";
3
- import { pick as n } from "../_helpers/string.js";
2
+ import { nextFloat as t } from "../_helpers/next-float.js";
3
+ import { float as n } from "../_helpers/float.js";
4
+ import { pick as r } from "../_helpers/string.js";
4
5
  //#region src/location/location.ts
5
- var r = /* @__PURE__ */ e({
6
- city: () => a,
7
- country: () => u,
8
- latitude: () => d,
9
- longitude: () => f,
10
- nearbyGPSCoordinate: () => p,
11
- state: () => l,
12
- street: () => o,
13
- streetAddress: () => s,
14
- zipCode: () => c
6
+ var i = /* @__PURE__ */ e({
7
+ city: () => o,
8
+ country: () => d,
9
+ latitude: () => f,
10
+ longitude: () => p,
11
+ nearbyGPSCoordinate: () => m,
12
+ state: () => u,
13
+ street: () => s,
14
+ streetAddress: () => c,
15
+ zipCode: () => l
15
16
  });
16
- function i(e) {
17
- return e.locale.location;
18
- }
19
17
  function a(e) {
20
- return n(i(e).cities, e.source);
18
+ return e.locale.location;
21
19
  }
22
20
  function o(e) {
23
- return n(i(e).streets, e.source);
21
+ return r(a(e).cities, e.source);
24
22
  }
25
23
  function s(e) {
26
- return `${Math.floor(t(1, 1e3, e.source))} ${o(e)}`;
24
+ return r(a(e).streets, e.source);
27
25
  }
28
26
  function c(e) {
29
- return i(e).zipPattern.replace(/#/g, () => String(Math.floor((e.source.next() ?? 0) * 10)));
27
+ return `${Math.floor(n(1, 1e3, e.source))} ${s(e)}`;
30
28
  }
31
29
  function l(e) {
32
- return n(i(e).states, e.source);
30
+ return a(e).zipPattern.replace(/#/g, () => String(Math.floor(t(e.source) * 10)));
33
31
  }
34
32
  function u(e) {
35
- return n(i(e).countries, e.source);
33
+ return r(a(e).states, e.source);
36
34
  }
37
35
  function d(e) {
38
- return t(-90, 90, e.source);
36
+ return r(a(e).countries, e.source);
39
37
  }
40
38
  function f(e) {
41
- return t(-180, 180, e.source);
39
+ return n(-90, 90, e.source);
40
+ }
41
+ function p(e) {
42
+ return n(-180, 180, e.source);
42
43
  }
43
- function p(e, n) {
44
- let r = n ?? {
45
- lat: d(e),
46
- lng: f(e)
44
+ function m(e, t) {
45
+ let r = t ?? {
46
+ lat: f(e),
47
+ lng: p(e)
47
48
  };
48
49
  return {
49
- lat: t(r.lat - 1, r.lat + 1, e.source),
50
- lng: t(r.lng - 1, r.lng + 1, e.source)
50
+ lat: n(r.lat - 1, r.lat + 1, e.source),
51
+ lng: n(r.lng - 1, r.lng + 1, e.source)
51
52
  };
52
53
  }
53
54
  //#endregion
54
- export { a as city, u as country, d as latitude, r as location_exports, f as longitude, p as nearbyGPSCoordinate, l as state, o as street, s as streetAddress, c as zipCode };
55
+ export { o as city, d as country, f as latitude, i as location_exports, p as longitude, m as nearbyGPSCoordinate, u as state, s as street, c as streetAddress, l as zipCode };
55
56
 
56
57
  //# sourceMappingURL=location.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","names":[],"sources":["../../src/location/location.ts"],"sourcesContent":["import { float } from '../_helpers/float';\nimport { pick } from '../_helpers/string';\nimport type { IllusionistContext, LocationLocaleData } from '../types';\n\nfunction data(ctx: IllusionistContext): LocationLocaleData {\n return ctx.locale.location;\n}\n\n/** A geographic coordinate pair. */\nexport type Coordinate = {\n lat: number;\n lng: number;\n};\n\n/** Picks a random city from the locale dataset. */\nexport function city(ctx: IllusionistContext): string {\n return pick(data(ctx).cities, ctx.source)!;\n}\n\n/** Picks a random street from the locale dataset. */\nexport function street(ctx: IllusionistContext): string {\n return pick(data(ctx).streets, ctx.source)!;\n}\n\n/** Builds a street address: a house number (1-999) followed by a street name. */\nexport function streetAddress(ctx: IllusionistContext): string {\n const houseNumber = Math.floor(float(1, 1000, ctx.source));\n return `${houseNumber} ${street(ctx)}`;\n}\n\n/** Generates a ZIP/postal code matching the locale's pattern (`#` = digit, other chars preserved). */\nexport function zipCode(ctx: IllusionistContext): string {\n const pattern = data(ctx).zipPattern;\n\n return pattern.replace(/#/g, () => String(Math.floor((ctx.source.next() ?? 0) * 10)));\n}\n\n/** Picks a random state/region from the locale dataset. */\nexport function state(ctx: IllusionistContext): string {\n return pick(data(ctx).states, ctx.source)!;\n}\n\n/** Picks a random country from the locale dataset. */\nexport function country(ctx: IllusionistContext): string {\n return pick(data(ctx).countries, ctx.source)!;\n}\n\n/** Generates a random latitude in the range [-90, 90]. */\nexport function latitude(ctx: IllusionistContext): number {\n return float(-90, 90, ctx.source);\n}\n\n/** Generates a random longitude in the range [-180, 180]. */\nexport function longitude(ctx: IllusionistContext): number {\n return float(-180, 180, ctx.source);\n}\n\n/**\n * Returns a coordinate within ~1 degree of the reference point.\n * When no reference is provided, a random coordinate is used.\n */\nexport function nearbyGPSCoordinate(ctx: IllusionistContext, ref?: Coordinate): Coordinate {\n const base = ref ?? { lat: latitude(ctx), lng: longitude(ctx) };\n return {\n lat: float(base.lat - 1, base.lat + 1, ctx.source),\n lng: float(base.lng - 1, base.lng + 1, ctx.source),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA,SAAS,EAAK,GAA6C;CACzD,OAAO,EAAI,OAAO;AACpB;AASA,SAAgB,EAAK,GAAiC;CACpD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,QAAQ,EAAI,MAAM;AAC1C;AAGA,SAAgB,EAAO,GAAiC;CACtD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,SAAS,EAAI,MAAM;AAC3C;AAGA,SAAgB,EAAc,GAAiC;CAE7D,OAAO,GADa,KAAK,MAAM,EAAM,GAAG,KAAM,EAAI,MAAM,CAC9C,EAAY,GAAG,EAAO,CAAG;AACrC;AAGA,SAAgB,EAAQ,GAAiC;CAGvD,OAFgB,EAAK,CAAG,CAAC,CAAC,WAEX,QAAQ,YAAY,OAAO,KAAK,OAAO,EAAI,OAAO,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;AACtF;AAGA,SAAgB,EAAM,GAAiC;CACrD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,QAAQ,EAAI,MAAM;AAC1C;AAGA,SAAgB,EAAQ,GAAiC;CACvD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,WAAW,EAAI,MAAM;AAC7C;AAGA,SAAgB,EAAS,GAAiC;CACxD,OAAO,EAAM,KAAK,IAAI,EAAI,MAAM;AAClC;AAGA,SAAgB,EAAU,GAAiC;CACzD,OAAO,EAAM,MAAM,KAAK,EAAI,MAAM;AACpC;AAMA,SAAgB,EAAoB,GAAyB,GAA8B;CACzF,IAAM,IAAO,KAAO;EAAE,KAAK,EAAS,CAAG;EAAG,KAAK,EAAU,CAAG;CAAE;CAC9D,OAAO;EACL,KAAK,EAAM,EAAK,MAAM,GAAG,EAAK,MAAM,GAAG,EAAI,MAAM;EACjD,KAAK,EAAM,EAAK,MAAM,GAAG,EAAK,MAAM,GAAG,EAAI,MAAM;CACnD;AACF"}
1
+ {"version":3,"file":"location.js","names":[],"sources":["../../src/location/location.ts"],"sourcesContent":["import { float } from '../_helpers/float';\nimport { nextFloat } from '../_helpers/next-float';\nimport { pick } from '../_helpers/string';\nimport type { IllusionistContext, LocationLocaleData } from '../types';\n\nfunction data(ctx: IllusionistContext): LocationLocaleData {\n return ctx.locale.location;\n}\n\n/** A geographic coordinate pair. */\nexport type Coordinate = {\n lat: number;\n lng: number;\n};\n\n/** Picks a random city from the locale dataset. */\nexport function city(ctx: IllusionistContext): string {\n return pick(data(ctx).cities, ctx.source)!;\n}\n\n/** Picks a random street from the locale dataset. */\nexport function street(ctx: IllusionistContext): string {\n return pick(data(ctx).streets, ctx.source)!;\n}\n\n/** Builds a street address: a house number (1-999) followed by a street name. */\nexport function streetAddress(ctx: IllusionistContext): string {\n const houseNumber = Math.floor(float(1, 1000, ctx.source));\n return `${houseNumber} ${street(ctx)}`;\n}\n\n/** Generates a ZIP/postal code matching the locale's pattern (`#` = digit, other chars preserved). */\nexport function zipCode(ctx: IllusionistContext): string {\n const pattern = data(ctx).zipPattern;\n\n return pattern.replace(/#/g, () => String(Math.floor(nextFloat(ctx.source) * 10)));\n}\n\n/** Picks a random state/region from the locale dataset. */\nexport function state(ctx: IllusionistContext): string {\n return pick(data(ctx).states, ctx.source)!;\n}\n\n/** Picks a random country from the locale dataset. */\nexport function country(ctx: IllusionistContext): string {\n return pick(data(ctx).countries, ctx.source)!;\n}\n\n/** Generates a random latitude in the range [-90, 90]. */\nexport function latitude(ctx: IllusionistContext): number {\n return float(-90, 90, ctx.source);\n}\n\n/** Generates a random longitude in the range [-180, 180]. */\nexport function longitude(ctx: IllusionistContext): number {\n return float(-180, 180, ctx.source);\n}\n\n/**\n * Returns a coordinate within ~1 degree of the reference point.\n * When no reference is provided, a random coordinate is used.\n */\nexport function nearbyGPSCoordinate(ctx: IllusionistContext, ref?: Coordinate): Coordinate {\n const base = ref ?? { lat: latitude(ctx), lng: longitude(ctx) };\n return {\n lat: float(base.lat - 1, base.lat + 1, ctx.source),\n lng: float(base.lng - 1, base.lng + 1, ctx.source),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAKA,SAAS,EAAK,GAA6C;CACzD,OAAO,EAAI,OAAO;AACpB;AASA,SAAgB,EAAK,GAAiC;CACpD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,QAAQ,EAAI,MAAM;AAC1C;AAGA,SAAgB,EAAO,GAAiC;CACtD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,SAAS,EAAI,MAAM;AAC3C;AAGA,SAAgB,EAAc,GAAiC;CAE7D,OAAO,GADa,KAAK,MAAM,EAAM,GAAG,KAAM,EAAI,MAAM,CAC9C,EAAY,GAAG,EAAO,CAAG;AACrC;AAGA,SAAgB,EAAQ,GAAiC;CAGvD,OAFgB,EAAK,CAAG,CAAC,CAAC,WAEX,QAAQ,YAAY,OAAO,KAAK,MAAM,EAAU,EAAI,MAAM,IAAI,EAAE,CAAC,CAAC;AACnF;AAGA,SAAgB,EAAM,GAAiC;CACrD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,QAAQ,EAAI,MAAM;AAC1C;AAGA,SAAgB,EAAQ,GAAiC;CACvD,OAAO,EAAK,EAAK,CAAG,CAAC,CAAC,WAAW,EAAI,MAAM;AAC7C;AAGA,SAAgB,EAAS,GAAiC;CACxD,OAAO,EAAM,KAAK,IAAI,EAAI,MAAM;AAClC;AAGA,SAAgB,EAAU,GAAiC;CACzD,OAAO,EAAM,MAAM,KAAK,EAAI,MAAM;AACpC;AAMA,SAAgB,EAAoB,GAAyB,GAA8B;CACzF,IAAM,IAAO,KAAO;EAAE,KAAK,EAAS,CAAG;EAAG,KAAK,EAAU,CAAG;CAAE;CAC9D,OAAO;EACL,KAAK,EAAM,EAAK,MAAM,GAAG,EAAK,MAAM,GAAG,EAAI,MAAM;EACjD,KAAK,EAAM,EAAK,MAAM,GAAG,EAAK,MAAM,GAAG,EAAI,MAAM;CACnD;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vielzeug/illusionist",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
4
4
  "description": "Typed, deterministic, locale-aware fake data generator with seeded PRNG",
5
5
  "repository": {
6
6
  "type": "git",
@@ -143,8 +143,8 @@
143
143
  },
144
144
  "dependencies": {
145
145
  "@vielzeug/arsenal": "2.1.0",
146
- "@vielzeug/coins": "2.1.1",
147
- "@vielzeug/tempo": "2.1.2"
146
+ "@vielzeug/coins": "2.2.0",
147
+ "@vielzeug/tempo": "2.2.0"
148
148
  },
149
149
  "devDependencies": {
150
150
  "@types/node": "^26.2.0",
package/dist/_dev.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=_dev.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_dev.d.ts","sourceRoot":"","sources":["../src/_dev.ts"],"names":[],"mappings":""}