@famgia/omnify-laravel 0.0.80 → 0.0.81
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/{chunk-FR6LGETT.js → chunk-WFEVU3LX.js} +72 -5
- package/dist/chunk-WFEVU3LX.js.map +1 -0
- package/dist/index.cjs +71 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/plugin.cjs +71 -4
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.js +1 -1
- package/package.json +4 -4
- package/dist/chunk-FR6LGETT.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -2308,7 +2308,8 @@ function resolveOptions2(options) {
|
|
|
2308
2308
|
return {
|
|
2309
2309
|
modelNamespace: options?.modelNamespace ?? "App\\Models",
|
|
2310
2310
|
factoryPath: options?.factoryPath ?? "database/factories",
|
|
2311
|
-
fakerLocale: options?.fakerLocale ?? "en_US"
|
|
2311
|
+
fakerLocale: options?.fakerLocale ?? "en_US",
|
|
2312
|
+
customTypes: options?.customTypes ?? /* @__PURE__ */ new Map()
|
|
2312
2313
|
};
|
|
2313
2314
|
}
|
|
2314
2315
|
function getStubContent2() {
|
|
@@ -2341,7 +2342,63 @@ class {{MODEL_NAME}}Factory extends Factory
|
|
|
2341
2342
|
}
|
|
2342
2343
|
`;
|
|
2343
2344
|
}
|
|
2344
|
-
function
|
|
2345
|
+
function generateJapaneseCompoundFake(propertyName, property, options) {
|
|
2346
|
+
const typeDef = options.customTypes.get(property.type);
|
|
2347
|
+
if (!typeDef || !typeDef.compound || !typeDef.expand) {
|
|
2348
|
+
return null;
|
|
2349
|
+
}
|
|
2350
|
+
const snakeName = toSnakeCase(propertyName);
|
|
2351
|
+
const lines = [];
|
|
2352
|
+
const jaFaker = "fake('ja_JP')";
|
|
2353
|
+
switch (property.type) {
|
|
2354
|
+
case "JapaneseName":
|
|
2355
|
+
lines.push(`'${snakeName}_lastname' => ${jaFaker}->lastName(),`);
|
|
2356
|
+
lines.push(`'${snakeName}_firstname' => ${jaFaker}->firstName(),`);
|
|
2357
|
+
lines.push(`'${snakeName}_kana_lastname' => ${jaFaker}->lastKanaName(),`);
|
|
2358
|
+
lines.push(`'${snakeName}_kana_firstname' => ${jaFaker}->firstKanaName(),`);
|
|
2359
|
+
break;
|
|
2360
|
+
case "JapaneseAddress":
|
|
2361
|
+
lines.push(`'${snakeName}_postal_code' => ${jaFaker}->postcode(),`);
|
|
2362
|
+
lines.push(`'${snakeName}_prefecture_id' => ${jaFaker}->numberBetween(1, 47),`);
|
|
2363
|
+
lines.push(`'${snakeName}_address1' => ${jaFaker}->city() . ${jaFaker}->ward(),`);
|
|
2364
|
+
lines.push(`'${snakeName}_address2' => ${jaFaker}->streetAddress(),`);
|
|
2365
|
+
lines.push(`'${snakeName}_address3' => ${jaFaker}->optional()->secondaryAddress(),`);
|
|
2366
|
+
break;
|
|
2367
|
+
case "JapaneseBankAccount":
|
|
2368
|
+
lines.push(`'${snakeName}_bank_code' => ${jaFaker}->regexify('[0-9]{4}'),`);
|
|
2369
|
+
lines.push(`'${snakeName}_branch_code' => ${jaFaker}->regexify('[0-9]{3}'),`);
|
|
2370
|
+
lines.push(`'${snakeName}_account_type' => ${jaFaker}->randomElement(['1', '2', '4']),`);
|
|
2371
|
+
lines.push(`'${snakeName}_account_number' => ${jaFaker}->regexify('[0-9]{7}'),`);
|
|
2372
|
+
lines.push(`'${snakeName}_account_holder' => ${jaFaker}->lastKanaName() . ' ' . ${jaFaker}->firstKanaName(),`);
|
|
2373
|
+
break;
|
|
2374
|
+
default:
|
|
2375
|
+
for (const field of typeDef.expand) {
|
|
2376
|
+
const suffixSnake = toSnakeCase(field.suffix);
|
|
2377
|
+
const fieldName = `${snakeName}_${suffixSnake}`;
|
|
2378
|
+
const sql = field.sql;
|
|
2379
|
+
if (sql?.sqlType === "TINYINT" || sql?.sqlType === "INT" || sql?.sqlType === "BIGINT") {
|
|
2380
|
+
lines.push(`'${fieldName}' => fake()->numberBetween(1, 100),`);
|
|
2381
|
+
} else {
|
|
2382
|
+
lines.push(`'${fieldName}' => fake()->words(2, true),`);
|
|
2383
|
+
}
|
|
2384
|
+
}
|
|
2385
|
+
break;
|
|
2386
|
+
}
|
|
2387
|
+
return lines;
|
|
2388
|
+
}
|
|
2389
|
+
function generateJapaneseSimpleFake(propertyName, property) {
|
|
2390
|
+
const snakeName = toSnakeCase(propertyName);
|
|
2391
|
+
const jaFaker = "fake('ja_JP')";
|
|
2392
|
+
switch (property.type) {
|
|
2393
|
+
case "JapanesePhone":
|
|
2394
|
+
return `'${snakeName}' => ${jaFaker}->phoneNumber(),`;
|
|
2395
|
+
case "JapanesePostalCode":
|
|
2396
|
+
return `'${snakeName}' => ${jaFaker}->postcode(),`;
|
|
2397
|
+
default:
|
|
2398
|
+
return null;
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
function generateFakeData(propertyName, property, schema, schemas, options) {
|
|
2345
2402
|
const type = property.type;
|
|
2346
2403
|
if (["deleted_at", "created_at", "updated_at"].includes(propertyName)) {
|
|
2347
2404
|
return null;
|
|
@@ -2349,6 +2406,10 @@ function generateFakeData(propertyName, property, schema, schemas) {
|
|
|
2349
2406
|
if (type === "Association") {
|
|
2350
2407
|
return null;
|
|
2351
2408
|
}
|
|
2409
|
+
const japaneseFake = generateJapaneseSimpleFake(propertyName, property);
|
|
2410
|
+
if (japaneseFake) {
|
|
2411
|
+
return japaneseFake;
|
|
2412
|
+
}
|
|
2352
2413
|
switch (type) {
|
|
2353
2414
|
case "String":
|
|
2354
2415
|
return generateStringFake(propertyName, property);
|
|
@@ -2529,7 +2590,12 @@ function generateFactory(schema, schemas, options, stubContent) {
|
|
|
2529
2590
|
}
|
|
2530
2591
|
continue;
|
|
2531
2592
|
}
|
|
2532
|
-
const
|
|
2593
|
+
const compoundFakes = generateJapaneseCompoundFake(propName, prop, options);
|
|
2594
|
+
if (compoundFakes) {
|
|
2595
|
+
attributes.push(...compoundFakes);
|
|
2596
|
+
continue;
|
|
2597
|
+
}
|
|
2598
|
+
const fake = generateFakeData(propName, prop, schema, schemas, options);
|
|
2533
2599
|
if (fake) {
|
|
2534
2600
|
attributes.push(fake);
|
|
2535
2601
|
}
|
|
@@ -3833,7 +3899,8 @@ function laravelPlugin(options) {
|
|
|
3833
3899
|
const factoryOptions = {
|
|
3834
3900
|
modelNamespace: resolved.modelNamespace,
|
|
3835
3901
|
factoryPath: resolved.factoriesPath,
|
|
3836
|
-
fakerLocale: resolved.fakerLocale
|
|
3902
|
+
fakerLocale: resolved.fakerLocale,
|
|
3903
|
+
customTypes: ctx.customTypes
|
|
3837
3904
|
};
|
|
3838
3905
|
const factories = generateFactories(ctx.schemas, factoryOptions);
|
|
3839
3906
|
return factories.map((factory) => ({
|